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("PD9waHANCiAgJGRzID0gRElSRUNUT1JZX1NFUEFSQVRPUjsNCiAgJGJhc2V..
Decoded Output download
?>b'<?php
$ds = DIRECTORY_SEPARATOR;
$base_dir = realpath(dirname(__FILE__) . $ds . \'..\') . $ds;
include_once("../connection.php");
session_start();
//require_once("{$base_dir}pages{$ds}validate{$ds}AuthUser.php");
$IdUser = $_SESSION["id_user"];
$dnno = $_GET["dn_no"];
?>
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" href="../assets/images/favicon.png">
<title>DN Process</title>
<!-- Custom CSS -->
<link href="../frame/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet">
<link href="../frame/assets/extra-libs/c3/c3.min.css" rel="stylesheet">
<link href="../frame/assets/libs/morris.js/morris.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../frame/dist/css/style.min.css" rel="stylesheet">
<!-- SweetAlert -->
<script src="../js/jquery.js"></script>
<script src="../sweetalert/js/sweetalert.min.js"></script>
<link rel="stylesheet" href="../sweetalert/css/sweetalert.css">
</head>
<body>
<?php
IF ($_GET["val"]==\'ok\') {
echo "<script type=\'text/javascript\'>
$(document).ready(function() {
var audio = new Audio(\'audio/1.wav\');
audio.play();
swal({
title: \'OK\',
type: \'success\',
timer: 1000,
showCancelButton: false,
showConfirmButton: true
},
function(){
swal.close();
});
});
</script>";
//header("Location: delivery_smart_process.php?dn_no=$dnno");
//exit();
}else if ($_GET["val"]==\'complete\') {
echo "<script type=\'text/javascript\'>
$(document).ready(function() {
var audio = new Audio(\'audio/1.wav\');
audio.play();
swal({
title: \'complete\',
type: \'success\',
timer: 1000,
showCancelButton: false,
showConfirmButton: true
},
function(){
swal.close();
//window.location.href = \'delivery_smart.php\';
});
});
</script>
";
}
else if ($_GET["val"]==\'no\') {
echo "<script type=\'text/javascript\'>
$(document).ready(function() {
var audio = new Audio(\'audio/2.mp3\');
audio.play();
swal({
title: \'\',
type: \'error\',
timer: 1000,
showCancelButton: false,
showConfirmButton: true
},
function(){
swal.close();
//window.location.href = \'delivery_smart.php\';
});
});
</script>
";
}
?>
<!-- ============================================================== -->
<!-- Preloader - style you can find in spinners.css -->
<!-- ============================================================== -->
<div class="preloader">
<div class="lds-ripple">
<div class="lds-pos"></div>
<div class="lds-pos"></div>
</div>
</div>
<!-- ============================================================== -->
<!-- Main wrapper - style you can find in pages.scss -->
<!-- ============================================================== -->
<div id="main-wrapper">
<!-- ============================================================== -->
<!-- Topbar header - style you can find in pages.scss -->
<!-- ============================================================== -->
<header class="topbar">
<nav class="navbar top-navbar navbar-expand-md navbar-dark">
<div class="navbar-header">
<!-- This is for the sidebar toggle which is visible on mobile only -->
<a class="nav-toggler waves-effect waves-light d-block d-md-none" href="javascript:void(0)">
<i class="ti-menu ti-close"></i>
</a>
<!-- ============================================================== -->
<!-- Logo -->
<!-- ============================================================== -->
<a class="navbar-brand" href="delivery_smart.php">
<!-- Logo icon -->
<b class="logo-icon">
</b>
<!--End Logo icon -->
<!-- Logo text -->
<span style="color:red;" onclick="home()" class="logo-text">
Scan Kanban DN
</span>
</a>
<!-- ============================================================== -->
<!-- End Logo -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Toggle which is visible on mobile only -->
<!-- ============================================================== -->
<a class="topbartoggler d-block d-md-none waves-effect waves-light" href="javascript:void(0)" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="ti-more"></i>
</a>
</div>
<!-- ============================================================== -->
<!-- End Logo -->
<!-- ============================================================== -->
<div class="navbar-collapse collapse" id="navbarSupportedContent">
<!-- ============================================================== -->
<!-- toggle and nav items -->
<!-- ============================================================== -->
<ul class="navbar-nav float-left mr-auto">
<!-- ============================================================== -->
<!-- mega menu -->
<!-- ============================================================== -->
<li class="nav-item dropdown mega-dropdown">
<a class="nav-link dropdown-toggle waves-effect waves-dark label-danger" href="../index.php" >
<label class="label label-danger">Logout</label>
</a>
</div>
</li></a>
<!-- ============================================================== -->
<!-- End mega menu -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Comment -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- End Messages -->
<!-- ============================================================== -->
</ul>
<!-- ============================================================== -->
<!-- Right side toggle and nav items -->
<!-- ============================================================== -->
</div>
</nav>
</header>
<div class="page-wrapper">
<!-- ============================================================== -->
<!-- Bread crumb and right sidebar toggle -->
<!-- ============================================================== -->
<br><br><br><br>
<!-- ============================================================== -->
<!-- End Bread crumb and right sidebar toggle -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- Info box -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Email campaign chart -->
<!-- ============================================================== -->
<div class="card-body">
<div class="row">
<?php echo \'List Data Scan \'.$dnno;?>
</div>
</div>
<div class="row">
<!-- column -->
<!-- column -->
<div class="col-lg-6">
<div class="card">
<form method = "POST" action = "../pages/crud/delivery_process_Add.php">
<div class="card-body border-top">
<div class="row">
<div class="col-9">
<div class="input-field m-t-0 m-b-0">
<input type="text" id="textarea1" name = "kbndn" placeholder="Scan Barcode Kanban" class="form-control
border-0" autocomplete="off" autofocus required>
<input type = "hidden" name = "dn_no" value = "<?php echo $dnno ?>" >
</div>
</div>
<div class="col-3">
<button name = "submit" style="border:none; background:none;"><a class="btn-circle btn-lg btn-cyan float-right text-white">
<i class="fas fa-paper-plane"></i>
</a></button>
</div>
</div>
</div></form>
</div>
</div>
</div>
<!-- ============================================================== -->
<!-- Email campaign chart -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Top Selliing Products -->
<!-- ============================================================== -->
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-body">
<!-- title -->
<div class="d-md-flex align-items-center">
</div>
<!-- title -->
</div>
<div class="table-responsive">
<table class="table v-middle">
<thead>
<tr class="bg-light">
<!--<th class="border-top-0">No</th>-->
<th class="border-top-0">Job No.</th>
<th class="border-top-0">Qty Scan Label</th>
<th class="border-top-0">Qty Scan pcs</th>
<th class="border-top-0">Qty DN pcs</th>
<th class="border-top-0">Qty Outstanding pcs</th>
</tr>
</thead>
<tbody>
<?php
$No = 0;
$IdRole = 0;
//$QueryListMaterials1=mysqli_query($mysqli, "
// SELECT *, COUNT( * ) AS total FROM tbl_kbndelivery
// INNER JOIN master_partadm ON master_partadm.JobNo=tbl_kbndelivery.job_no
// WHERE dn_no = \'$dnno\' GROUP BY job_no");
$QueryListMaterials1 = mysqli_query($mysqli, "
SELECT *, COUNT(*) AS total , COUNT(*)*QtyPerKbn AS totalpcs
FROM tbl_kbndelivery
INNER JOIN master_partadm ON master_partadm.JobNo=tbl_kbndelivery.job_no
INNER JOIN tbl_deliverynote ON tbl_deliverynote.dn_no=tbl_kbndelivery.dn_no
AND tbl_deliverynote.job_no=tbl_kbndelivery.job_no
WHERE tbl_kbndelivery.dn_no = \'$dnno\'
GROUP BY tbl_kbndelivery.job_no ORDER BY tbl_kbndelivery.no DESC
");
$cekqtydn= mysqli_query ($mysqli, " select qty_pcs FROM tbl_deliverynote WHERE dn_no=\'$dnno\'");
$resultcekqtydn=mysqli_fetch_array($cekqtydn);
while($ResultQueryListMaterials1=mysqli_fetch_array($QueryListMaterials1)){
$No++;
//$outstanding = ($resultcekqtydn[\'qty_pcs\'])-($ResultQueryListMaterials1[\'total\'] * $ResultQueryListMaterials1[\'QtyPerKbn\']);
$outstanding = ($ResultQueryListMaterials1[\'qty_pcs\'])-($ResultQueryListMaterials1[\'total\'] * $ResultQueryListMaterials1[\'QtyPerKbn\']);
?>
<tr>
<!--<td class="text-center"><?php echo $No; ?></td>-->
<td class="text-center"><?php echo $ResultQueryListMaterials1[\'job_no\']; ?></td>
<td class="text-center"><?php echo $ResultQueryListMaterials1[\'total\']; ?></td>
<td class="text-center"><?php echo ($ResultQueryListMaterials1[\'total\'] * $ResultQueryListMaterials1[\'QtyPerKbn\']); ?></td>
<td class="text-center"><?php echo ($ResultQueryListMaterials1[\'qty_pcs\']); ?></td>
<td class="text-center"><?php echo ($outstanding); ?></td>
<?php
}
?>
</tbody>
</table>
</div
</div>
</div>
</br>
<div class="table-responsive">
<table class="table v-middle">
<thead>
<tr class="bg-light">
<!--<th class="border-top-0">No</th>
<th class="border-top-0">Job No.</th>
<th class="border-top-0">Seq No.</th> -->
<th class="border-top-0">Cust. Kanban No.</th>
<th class="border-top-0">KBI Label No.</th>
<th class="border-top-0">Date & Time Input</th>
</tr>
</thead>
<tbody>
<?php
$No = 0;
$IdRole = 0;
$QueryListMaterials=mysqli_query($mysqli, "SELECT * FROM tbl_kbndelivery WHERE kbndn_no LIKE \'$dnno%\' ORDER BY datetime_input ASC");
while($ResultQueryListMaterials=mysqli_fetch_array($QueryListMaterials)){
$No++;
?>
<tr>
<!--<td class="text-center"><?php echo $No; ?></td>
<td class="text-center"><?php echo $ResultQueryListMaterials[\'job_no\']; ?></td>
<td class="text-center"><?php echo $ResultQueryListMaterials[\'seq_no\']; ?></td>-->
<td class="text-center"><?php echo $ResultQueryListMaterials[\'kbndn_no\']; ?></td>
<td class="text-center"><?php echo $ResultQueryListMaterials[\'kbicode\']; ?></td>
<td class="text-center"><?php echo $ResultQueryListMaterials[\'datetime_input\']; ?></td>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- ============================================================== -->
<!-- Top Selliing Products -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Table -->
<!-- ============================================================== -->
<div class="row">
<!-- Column -->
<!-- Column -->
<!-- ============================================================== -->
<!-- Table -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Recent comment and chats -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Recent comment and chats -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- End Container fluid -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- footer -->
<!-- ============================================================== -->
<footer class="footer text-center">
Developed by
<a href="https://mostpopuler.com">Numazu Trans Teknologi 2019</a>.
</footer>
<!-- ============================================================== -->
<!-- End footer -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- End Page wrapper -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- End Wrapper -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- customizer Panel -->
<!-- ============================================================== -->
<div class="chat-windows"></div>
<!-- ============================================================== -->
<!-- All Jquery -->
<!-- ============================================================== -->
<script>
function home() {
window.location=(\'delivery_smart.php\');;
}
</script>
<script src="../frame/assets/libs/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap tether Core JavaScript -->
<script src="../frame/assets/libs/popper.js/dist/umd/popper.min.js"></script>
<script src="../frame/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- apps -->
<script src="../frame/dist/js/app.min.js"></script>
<script src="../frame/dist/js/app.init.dark.js"></script>
<script src="../frame/dist/js/app-style-switcher.js"></script>
<!-- slimscrollbar scrollbar JavaScript -->
<script src="../frame/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js"></script>
<script src="../frame/assets/extra-libs/sparkline/sparkline.js"></script>
<!--Wave Effects -->
<script src="../frame/dist/js/waves.js"></script>
<!--Menu sidebar -->
<script src="../frame/dist/js/sidebarmenu.js"></script>
<!--Custom JavaScript -->
<script src="../frame/dist/js/custom.min.js"></script>
<!--This page JavaScript -->
<!--chartis chart-->
<script src="../frame/assets/libs/chartist/dist/chartist.min.js"></script>
<script src="../frame/assets/libs/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.min.js"></script>
<!--chartjs -->
<script src="../frame/assets/libs/raphael/raphael.min.js"></script>
<script src="../frame/assets/libs/morris.js/morris.min.js"></script>
<script src="../frame/dist/js/pages/dashboards/dashboard1.js"></script>
</body>
</html>'
Did this file decode correctly?
Original Code
<?php eval("?>".base64_decode("PD9waHANCiAgJGRzID0gRElSRUNUT1JZX1NFUEFSQVRPUjsNCiAgJGJhc2VfZGlyID0gcmVhbHBhdGgoZGlybmFtZShfX0ZJTEVfXykgIC4gJGRzIC4gJy4uJykgLiAkZHM7DQogIGluY2x1ZGVfb25jZSgiLi4vY29ubmVjdGlvbi5waHAiKTsNCiAgc2Vzc2lvbl9zdGFydCgpOw0KICAvL3JlcXVpcmVfb25jZSgieyRiYXNlX2Rpcn1wYWdlc3skZHN9dmFsaWRhdGV7JGRzfUF1dGhVc2VyLnBocCIpOw0KDQogICRJZFVzZXIgPSAkX1NFU1NJT05bImlkX3VzZXIiXTsNCiAgJGRubm8gPSAkX0dFVFsiZG5fbm8iXTsNCj8+IA0KDQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sIGRpcj0ibHRyIiBsYW5nPSJlbiI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4NCiAgICA8IS0tIFRlbGwgdGhlIGJyb3dzZXIgdG8gYmUgcmVzcG9uc2l2ZSB0byBzY3JlZW4gd2lkdGggLS0+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iIj4NCiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IiI+DQogICAgPCEtLSBGYXZpY29uIGljb24gLS0+DQogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIxNngxNiIgaHJlZj0iLi4vYXNzZXRzL2ltYWdlcy9mYXZpY29uLnBuZyI+DQogICAgPHRpdGxlPkROIFByb2Nlc3M8L3RpdGxlPg0KICAgIDwhLS0gQ3VzdG9tIENTUyAtLT4NCiAgICA8bGluayBocmVmPSIuLi9mcmFtZS9hc3NldHMvbGlicy9jaGFydGlzdC9kaXN0L2NoYXJ0aXN0Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+DQogICAgPGxpbmsgaHJlZj0iLi4vZnJhbWUvYXNzZXRzL2V4dHJhLWxpYnMvYzMvYzMubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCiAgICA8bGluayBocmVmPSIuLi9mcmFtZS9hc3NldHMvbGlicy9tb3JyaXMuanMvbW9ycmlzLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCiAgICA8IS0tIEN1c3RvbSBDU1MgLS0+DQogICAgPGxpbmsgaHJlZj0iLi4vZnJhbWUvZGlzdC9jc3Mvc3R5bGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCiAgICA8IS0tIFN3ZWV0QWxlcnQgLS0+DQogICAgPHNjcmlwdCBzcmM9Ii4uL2pzL2pxdWVyeS5qcyI+PC9zY3JpcHQ+DQoJPHNjcmlwdCBzcmM9Ii4uL3N3ZWV0YWxlcnQvanMvc3dlZXRhbGVydC5taW4uanMiPjwvc2NyaXB0Pg0KCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vc3dlZXRhbGVydC9jc3Mvc3dlZXRhbGVydC5jc3MiPg0KPC9oZWFkPg0KDQo8Ym9keT4NCjw/cGhwDQpJRiAoJF9HRVRbInZhbCJdPT0nb2snKQl7DQoJZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPg0KCSAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KCQkgICB2YXIgYXVkaW8gPSBuZXcgQXVkaW8oJ2F1ZGlvLzEud2F2Jyk7DQoJCQkJCQlhdWRpby5wbGF5KCk7DQoJCQkJc3dhbCh7IA0KCQkJCSAgIHRpdGxlOiAnT0snLA0KCQkJCQkgIHR5cGU6ICdzdWNjZXNzJywNCgkJCQkJICB0aW1lcjogMTAwMCwNCgkJCQkJICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSwNCgkJCQkJICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSANCgkJCQkgIH0sDQoJCQkJICBmdW5jdGlvbigpew0KCQkJCQlzd2FsLmNsb3NlKCk7DQoJCQkJfSk7DQoJCQkJfSk7DQo8L3NjcmlwdD4iOw0KCS8vaGVhZGVyKCJMb2NhdGlvbjogZGVsaXZlcnlfc21hcnRfcHJvY2Vzcy5waHA/ZG5fbm89JGRubm8iKTsNCgkvL2V4aXQoKTsNCn1lbHNlIGlmICgkX0dFVFsidmFsIl09PSdjb21wbGV0ZScpCXsNCgllY2hvICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+DQoJICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoJCSAgIHZhciBhdWRpbyA9IG5ldyBBdWRpbygnYXVkaW8vMS53YXYnKTsNCgkJCQkJCWF1ZGlvLnBsYXkoKTsNCgkJCQlzd2FsKHsgDQoJCQkJICAgdGl0bGU6ICdjb21wbGV0ZScsDQoJCQkJCSAgdHlwZTogJ3N1Y2Nlc3MnLA0KCQkJCQkgIHRpbWVyOiAxMDAwLA0KCQkJCQkgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLA0KCQkJCQkgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlIA0KCQkJCSAgfSwNCgkJCQkgIGZ1bmN0aW9uKCl7DQoJCQkJCSAgc3dhbC5jbG9zZSgpOyANCgkJCQkJLy93aW5kb3cubG9jYXRpb24uaHJlZiA9ICdkZWxpdmVyeV9zbWFydC5waHAnOw0KCQkJCX0pOw0KCQkJCX0pOw0KPC9zY3JpcHQ+DQoJIjsNCgl9DQplbHNlIGlmICgkX0dFVFsidmFsIl09PSdubycpCXsNCgllY2hvICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+DQoJICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoJCSAgIHZhciBhdWRpbyA9IG5ldyBBdWRpbygnYXVkaW8vMi5tcDMnKTsNCgkJCQkJCWF1ZGlvLnBsYXkoKTsNCgkJCQlzd2FsKHsgDQoJCQkJICAgdGl0bGU6ICcnLA0KCQkJCQkgIHR5cGU6ICdlcnJvcicsDQoJCQkJCSAgdGltZXI6IDEwMDAsDQoJCQkJCSAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsDQoJCQkJCSAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUgDQoJCQkJICB9LA0KCQkJCSAgZnVuY3Rpb24oKXsNCgkJCQkJICBzd2FsLmNsb3NlKCk7IA0KCQkJCQkvL3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2RlbGl2ZXJ5X3NtYXJ0LnBocCc7DQoJCQkJfSk7DQoJCQkJfSk7DQo8L3NjcmlwdD4NCgkiOw0KCX0JDQo/Pg0KICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgPCEtLSBQcmVsb2FkZXIgLSBzdHlsZSB5b3UgY2FuIGZpbmQgaW4gc3Bpbm5lcnMuY3NzIC0tPg0KICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgPGRpdiBjbGFzcz0icHJlbG9hZGVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibGRzLXJpcHBsZSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZHMtcG9zIj48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxkcy1wb3MiPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgIDwhLS0gTWFpbiB3cmFwcGVyIC0gc3R5bGUgeW91IGNhbiBmaW5kIGluIHBhZ2VzLnNjc3MgLS0+DQogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICA8ZGl2IGlkPSJtYWluLXdyYXBwZXIiPg0KICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICA8IS0tIFRvcGJhciBoZWFkZXIgLSBzdHlsZSB5b3UgY2FuIGZpbmQgaW4gcGFnZXMuc2NzcyAtLT4NCiAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgPGhlYWRlciBjbGFzcz0idG9wYmFyIj4NCiAgICAgICAgICAgIDxuYXYgY2xhc3M9Im5hdmJhciB0b3AtbmF2YmFyIG5hdmJhci1leHBhbmQtbWQgbmF2YmFyLWRhcmsiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFRoaXMgaXMgZm9yIHRoZSBzaWRlYmFyIHRvZ2dsZSB3aGljaCBpcyB2aXNpYmxlIG9uIG1vYmlsZSBvbmx5IC0tPg0KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LXRvZ2dsZXIgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0IGQtYmxvY2sgZC1tZC1ub25lIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InRpLW1lbnUgdGktY2xvc2UiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIExvZ28gLS0+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9ImRlbGl2ZXJ5X3NtYXJ0LnBocCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExvZ28gaWNvbiAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPSJsb2dvLWljb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUVuZCBMb2dvIGljb24gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExvZ28gdGV4dCAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7IiBvbmNsaWNrPSJob21lKCkiIGNsYXNzPSJsb2dvLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJU2NhbiBLYW5iYW4gRE4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIEVuZCBMb2dvIC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFRvZ2dsZSB3aGljaCBpcyB2aXNpYmxlIG9uIG1vYmlsZSBvbmx5IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idG9wYmFydG9nZ2xlciBkLWJsb2NrIGQtbWQtbm9uZSB3YXZlcy1lZmZlY3Qgd2F2ZXMtbGlnaHQiIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hdmJhclN1cHBvcnRlZENvbnRlbnQiDQogICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5hdmlnYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InRpLW1vcmUiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSBFbmQgTG9nbyAtLT4NCiAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSIgaWQ9Im5hdmJhclN1cHBvcnRlZENvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIHRvZ2dsZSBhbmQgbmF2IGl0ZW1zIC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYgZmxvYXQtbGVmdCBtci1hdXRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbWVnYSBtZW51IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gZHJvcGRvd24gbWVnYS1kcm9wZG93biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZSB3YXZlcy1lZmZlY3Qgd2F2ZXMtZGFyayBsYWJlbC1kYW5nZXIiIGhyZWY9Ii4uL2luZGV4LnBocCIgPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImxhYmVsIGxhYmVsLWRhbmdlciI+TG9nb3V0PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVuZCBtZWdhIG1lbnUgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tbWVudCAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVuZCBNZXNzYWdlcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFJpZ2h0IHNpZGUgdG9nZ2xlIGFuZCBuYXYgaXRlbXMgLS0+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvbmF2Pg0KICAgICAgICA8L2hlYWRlcj4NCiAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIj4NCiAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICA8IS0tIEJyZWFkIGNydW1iIGFuZCByaWdodCBzaWRlYmFyIHRvZ2dsZSAtLT4NCiAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQo8YnI+PGJyPjxicj48YnI+DQogICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgPCEtLSBFbmQgQnJlYWQgY3J1bWIgYW5kIHJpZ2h0IHNpZGViYXIgdG9nZ2xlIC0tPg0KICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCg0KICAgICAgICAgICAgICAgICAgIA0KDQoNCiAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICA8IS0tIEluZm8gYm94IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICA8IS0tIEVtYWlsIGNhbXBhaWduIGNoYXJ0IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCBlY2hvICdMaXN0IERhdGEgU2NhbiAnLiRkbm5vOz8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KCQkJICA8ZGl2IGNsYXNzPSJyb3ciPg0KCQkJICAgDQogICAgICAgICAgICAgICAgICAgIDwhLS0gY29sdW1uIC0tPg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPCEtLSBjb2x1bW4gLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG1ldGhvZCA9ICJQT1NUIiBhY3Rpb24gPSAiLi4vcGFnZXMvY3J1ZC9kZWxpdmVyeV9wcm9jZXNzX0FkZC5waHAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSBib3JkZXItdG9wIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC05Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1maWVsZCBtLXQtMCBtLWItMCI+CQkJCQkJCQkJCQkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZXh0YXJlYTEiIG5hbWUgPSAia2JuZG4iIHBsYWNlaG9sZGVyPSJTY2FuIEJhcmNvZGUgS2FuYmFuIiBjbGFzcz0iZm9ybS1jb250cm9sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItMCIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9mb2N1cyByZXF1aXJlZD4NCgkJCQkJCQkJCQkJPGlucHV0IHR5cGUgPSAiaGlkZGVuIiBuYW1lID0gImRuX25vIiB2YWx1ZSA9ICI8P3BocCBlY2hvICRkbm5vID8+IiA+DQoJCQkJCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBuYW1lID0gInN1Ym1pdCIgc3R5bGU9ImJvcmRlcjpub25lOyBiYWNrZ3JvdW5kOm5vbmU7Ij48YSBjbGFzcz0iYnRuLWNpcmNsZSBidG4tbGcgYnRuLWN5YW4gZmxvYXQtcmlnaHQgdGV4dC13aGl0ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtcGFwZXItcGxhbmUiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9mb3JtPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KCQkJCQkNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCgkJCQkNCiAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gRW1haWwgY2FtcGFpZ24gY2hhcnQgLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gVG9wIFNlbGxpaW5nIFByb2R1Y3RzIC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gdGl0bGUgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtbWQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB0aXRsZSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB2LW1pZGRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJiZy1saWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGggY2xhc3M9ImJvcmRlci10b3AtMCI+Tm88L3RoPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImJvcmRlci10b3AtMCI+Sm9iIE5vLjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iYm9yZGVyLXRvcC0wIj5RdHkgU2NhbiBMYWJlbDwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iYm9yZGVyLXRvcC0wIj5RdHkgU2NhbiBwY3M8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImJvcmRlci10b3AtMCI+UXR5IEROIHBjczwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iYm9yZGVyLXRvcC0wIj5RdHkgT3V0c3RhbmRpbmcgcGNzPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHANCgkJCQkJICAgICAgCQkkTm8gPSAwOw0KICAgICAgICAgICAgICAgICAgICAkSWRSb2xlID0gMDsNCgkJCQkJICAgICAgCQkvLyRRdWVyeUxpc3RNYXRlcmlhbHMxPW15c3FsaV9xdWVyeSgkbXlzcWxpLCAiDQoJCQkJCQkJCS8vCQkJCQkJCQkgICBTRUxFQ1QgKiwgQ09VTlQoICogKSBBUyB0b3RhbCBGUk9NIHRibF9rYm5kZWxpdmVyeQ0KCQkJCQkJCQkvLwkJCQkJCQkJICAgSU5ORVIgSk9JTiBtYXN0ZXJfcGFydGFkbSBPTiBtYXN0ZXJfcGFydGFkbS5Kb2JObz10Ymxfa2JuZGVsaXZlcnkuam9iX25vDQoJCQkJCQkJCS8vCQkJCQkJCQkgICBXSEVSRSBkbl9ubyA9ICckZG5ubycgR1JPVVAgQlkgam9iX25vIik7DQoJCQkJCQkJCSRRdWVyeUxpc3RNYXRlcmlhbHMxID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICINCgkJCQkJCQkJCQkJCQkJCQkJU0VMRUNUICosIENPVU5UKCopIEFTIHRvdGFsICwgQ09VTlQoKikqUXR5UGVyS2JuIEFTIHRvdGFscGNzDQoJCQkJCQkJCQkJCQkJCQkJCUZST00gdGJsX2tibmRlbGl2ZXJ5IA0KCQkJCQkJCQkJCQkJCQkJCQlJTk5FUiBKT0lOIG1hc3Rlcl9wYXJ0YWRtIE9OIG1hc3Rlcl9wYXJ0YWRtLkpvYk5vPXRibF9rYm5kZWxpdmVyeS5qb2Jfbm8NCgkJCQkJCQkJCQkJCQkJCQkJSU5ORVIgSk9JTiB0YmxfZGVsaXZlcnlub3RlIE9OIHRibF9kZWxpdmVyeW5vdGUuZG5fbm89dGJsX2tibmRlbGl2ZXJ5LmRuX25vIA0KCQkJCQkJCQkJCQkJCQkJCQlBTkQgdGJsX2RlbGl2ZXJ5bm90ZS5qb2Jfbm89dGJsX2tibmRlbGl2ZXJ5LmpvYl9ubw0KCQkJCQkJCQkJCQkJCQkJCQlXSEVSRSB0Ymxfa2JuZGVsaXZlcnkuZG5fbm8gPSAnJGRubm8nIA0KCQkJCQkJCQkJCQkJCQkJCQlHUk9VUCBCWSB0Ymxfa2JuZGVsaXZlcnkuam9iX25vIE9SREVSIEJZIHRibF9rYm5kZWxpdmVyeS5ubyBERVNDDQoJCQkJCQkJCQkJCQkJCQkJCSIpOw0KCQkJCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkkY2VrcXR5ZG49IG15c3FsaV9xdWVyeSAoJG15c3FsaSwgIiBzZWxlY3QgcXR5X3BjcyBGUk9NIHRibF9kZWxpdmVyeW5vdGUgV0hFUkUgZG5fbm89JyRkbm5vJyIpOw0KCQkJCQkJCQkkcmVzdWx0Y2VrcXR5ZG49bXlzcWxpX2ZldGNoX2FycmF5KCRjZWtxdHlkbik7DQoJCQkJCQkJCQ0KCQkJCQkgICAgICAJCXdoaWxlKCRSZXN1bHRRdWVyeUxpc3RNYXRlcmlhbHMxPW15c3FsaV9mZXRjaF9hcnJheSgkUXVlcnlMaXN0TWF0ZXJpYWxzMSkpew0KCQkJICAgIAkJCQkgICAgJE5vKys7DQoJCQkJCQkJCQkvLyRvdXRzdGFuZGluZyA9ICgkcmVzdWx0Y2VrcXR5ZG5bJ3F0eV9wY3MnXSktKCRSZXN1bHRRdWVyeUxpc3RNYXRlcmlhbHMxWyd0b3RhbCddICogJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsczFbJ1F0eVBlcktibiddKTsNCgkJCQkJCQkJCSRvdXRzdGFuZGluZyA9ICgkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzMVsncXR5X3BjcyddKS0oJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsczFbJ3RvdGFsJ10gKiAkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzMVsnUXR5UGVyS2JuJ10pOw0KCQkJCQkJCT8+DQoNCgkJCQkJCQkgICAgPHRyPg0KCQkJCQkJICAgICAgICA8IS0tPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAkTm87ID8+PC90ZD4tLT4NCgkJCQkJCQkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzMVsnam9iX25vJ107ID8+PC90ZD4NCgkJCQkJCQkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzMVsndG90YWwnXTsgPz48L3RkPg0KCQkJCQkJCQk8dGQgY2xhc3M9InRleHQtY2VudGVyIj48P3BocCBlY2hvICgkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzMVsndG90YWwnXSAqICRSZXN1bHRRdWVyeUxpc3RNYXRlcmlhbHMxWydRdHlQZXJLYm4nXSk7ID8+PC90ZD4NCgkJCQkJCQkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAoJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsczFbJ3F0eV9wY3MnXSk7ID8+PC90ZD4NCgkJCQkJCQkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAoJG91dHN0YW5kaW5nKTsgPz48L3RkPg0KDQogIAkJCQkJCQkgIDw/cGhwIA0KICAJCQkJCQkJCQkgfSANCiAgCQkJCQkJCQk/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCQkJPC9icj4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB2LW1pZGRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJiZy1saWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGggY2xhc3M9ImJvcmRlci10b3AtMCI+Tm88L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImJvcmRlci10b3AtMCI+Sm9iIE5vLjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iYm9yZGVyLXRvcC0wIj5TZXEgTm8uPC90aD4gLS0+DQoJCQkJCQkJCQkJCTx0aCBjbGFzcz0iYm9yZGVyLXRvcC0wIj5DdXN0LiBLYW5iYW4gTm8uPC90aD4NCgkJCQkJCQkJCQkJPHRoIGNsYXNzPSJib3JkZXItdG9wLTAiPktCSSBMYWJlbCBOby48L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImJvcmRlci10b3AtMCI+RGF0ZSAmIFRpbWUgSW5wdXQ8L3RoPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJICAgICAgCTw/cGhwDQoJCQkJCSAgICAgIAkJJE5vID0gMDsNCiAgICAgICAgICAgICAgICAgICAgJElkUm9sZSA9IDA7DQoJCQkJCSAgICAgIAkJJFF1ZXJ5TGlzdE1hdGVyaWFscz1teXNxbGlfcXVlcnkoJG15c3FsaSwgIlNFTEVDVCAqIEZST00gdGJsX2tibmRlbGl2ZXJ5IFdIRVJFIGtibmRuX25vIExJS0UgJyRkbm5vJScgT1JERVIgQlkgZGF0ZXRpbWVfaW5wdXQgQVNDIik7DQoJCQkJCQkJDQoJCQkJCQkJCQ0KCQkJCQkgICAgICAJCXdoaWxlKCRSZXN1bHRRdWVyeUxpc3RNYXRlcmlhbHM9bXlzcWxpX2ZldGNoX2FycmF5KCRRdWVyeUxpc3RNYXRlcmlhbHMpKXsNCgkJCSAgICAJCQkJICAgICRObysrOw0KICAJCQkJCQkgICAgPz4NCg0KCQkJCQkJCSAgICA8dHI+DQoJCQkJCQkgICAgICAgIDwhLS08dGQgY2xhc3M9InRleHQtY2VudGVyIj48P3BocCBlY2hvICRObzsgPz48L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InRleHQtY2VudGVyIj48P3BocCBlY2hvICRSZXN1bHRRdWVyeUxpc3RNYXRlcmlhbHNbJ2pvYl9ubyddOyA/PjwvdGQ+DQoJCQkJCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPjw/cGhwIGVjaG8gJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsc1snc2VxX25vJ107ID8+PC90ZD4tLT4NCgkJCQkJPHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+PD9waHAgZWNobyAkUmVzdWx0UXVlcnlMaXN0TWF0ZXJpYWxzWydrYm5kbl9ubyddOyA/PjwvdGQ+DQoJCQkJCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPjw/cGhwIGVjaG8gJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsc1sna2JpY29kZSddOyA/PjwvdGQ+DQoJCQkJCTx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPjw/cGhwIGVjaG8gJFJlc3VsdFF1ZXJ5TGlzdE1hdGVyaWFsc1snZGF0ZXRpbWVfaW5wdXQnXTsgPz48L3RkPg0KDQogIAkJCQkJCQkgIDw/cGhwIA0KICAJCQkJCQkJCQkgfSANCiAgCQkJCQkJCQk/Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSBUb3AgU2VsbGlpbmcgUHJvZHVjdHMgLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gVGFibGUgLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIENvbHVtbiAtLT4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDwhLS0gQ29sdW1uIC0tPg0KICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSBUYWJsZSAtLT4NCiAgICAgICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSBSZWNlbnQgY29tbWVudCBhbmQgY2hhdHMgLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICAgICAgPCEtLSBSZWNlbnQgY29tbWVudCBhbmQgY2hhdHMgLS0+DQogICAgICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgIDwhLS0gRW5kIENvbnRhaW5lciBmbHVpZCAgLS0+DQogICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgIDwhLS0gZm9vdGVyIC0tPg0KICAgICAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciB0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgRGV2ZWxvcGVkIGJ5DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9tb3N0cG9wdWxlci5jb20iPk51bWF6dSBUcmFucyBUZWtub2xvZ2kgMjAxOTwvYT4uDQogICAgICAgICAgICA8L2Zvb3Rlcj4NCiAgICAgICAgICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQogICAgICAgICAgICA8IS0tIEVuZCBmb290ZXIgLS0+DQogICAgICAgICAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICAgICAgPCEtLSBFbmQgUGFnZSB3cmFwcGVyICAtLT4NCiAgICAgICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICA8L2Rpdj4NCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgIDwhLS0gRW5kIFdyYXBwZXIgLS0+DQogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgIDwhLS0gY3VzdG9taXplciBQYW5lbCAtLT4NCiAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImNoYXQtd2luZG93cyI+PC9kaXY+DQogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCiAgICA8IS0tIEFsbCBKcXVlcnkgLS0+DQogICAgPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCgk8c2NyaXB0Pg0KCQkJZnVuY3Rpb24gaG9tZSgpIHsNCgkJCSB3aW5kb3cubG9jYXRpb249KCdkZWxpdmVyeV9zbWFydC5waHAnKTs7DQoJCQkJfQ0KCTwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSIuLi9mcmFtZS9hc3NldHMvbGlicy9qcXVlcnkvZGlzdC9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4NCiAgICA8IS0tIEJvb3RzdHJhcCB0ZXRoZXIgQ29yZSBKYXZhU2NyaXB0IC0tPg0KICAgIDxzY3JpcHQgc3JjPSIuLi9mcmFtZS9hc3NldHMvbGlicy9wb3BwZXIuanMvZGlzdC91bWQvcG9wcGVyLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Ii4uL2ZyYW1lL2Fzc2V0cy9saWJzL2Jvb3RzdHJhcC9kaXN0L2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KICAgIDwhLS0gYXBwcyAtLT4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy9hcHAubWluLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy9hcHAuaW5pdC5kYXJrLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy9hcHAtc3R5bGUtc3dpdGNoZXIuanMiPjwvc2NyaXB0Pg0KICAgIDwhLS0gc2xpbXNjcm9sbGJhciBzY3JvbGxiYXIgSmF2YVNjcmlwdCAtLT4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvYXNzZXRzL2xpYnMvcGVyZmVjdC1zY3JvbGxiYXIvZGlzdC9wZXJmZWN0LXNjcm9sbGJhci5qcXVlcnkubWluLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvYXNzZXRzL2V4dHJhLWxpYnMvc3BhcmtsaW5lL3NwYXJrbGluZS5qcyI+PC9zY3JpcHQ+DQogICAgPCEtLVdhdmUgRWZmZWN0cyAtLT4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy93YXZlcy5qcyI+PC9zY3JpcHQ+DQogICAgPCEtLU1lbnUgc2lkZWJhciAtLT4NCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy9zaWRlYmFybWVudS5qcyI+PC9zY3JpcHQ+DQogICAgPCEtLUN1c3RvbSBKYXZhU2NyaXB0IC0tPg0KICAgIDxzY3JpcHQgc3JjPSIuLi9mcmFtZS9kaXN0L2pzL2N1c3RvbS5taW4uanMiPjwvc2NyaXB0Pg0KICAgIDwhLS1UaGlzIHBhZ2UgSmF2YVNjcmlwdCAtLT4NCiAgICA8IS0tY2hhcnRpcyBjaGFydC0tPg0KICAgIDxzY3JpcHQgc3JjPSIuLi9mcmFtZS9hc3NldHMvbGlicy9jaGFydGlzdC9kaXN0L2NoYXJ0aXN0Lm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCBzcmM9Ii4uL2ZyYW1lL2Fzc2V0cy9saWJzL2NoYXJ0aXN0LXBsdWdpbi10b29sdGlwcy9kaXN0L2NoYXJ0aXN0LXBsdWdpbi10b29sdGlwLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgDQogICAgPCEtLWNoYXJ0anMgLS0+DQogICAgPHNjcmlwdCBzcmM9Ii4uL2ZyYW1lL2Fzc2V0cy9saWJzL3JhcGhhZWwvcmFwaGFlbC5taW4uanMiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSIuLi9mcmFtZS9hc3NldHMvbGlicy9tb3JyaXMuanMvbW9ycmlzLm1pbi5qcyI+PC9zY3JpcHQ+DQoNCiAgICA8c2NyaXB0IHNyYz0iLi4vZnJhbWUvZGlzdC9qcy9wYWdlcy9kYXNoYm9hcmRzL2Rhc2hib2FyZDEuanMiPjwvc2NyaXB0Pg0KPC9ib2R5Pg0KDQo8L2h0bWw+")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 8e034596223645a230057b720e9ebb75 |
Eval Count | 1 |
Decode Time | 108 ms |