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

Variables

None

Stats

MD5 8e034596223645a230057b720e9ebb75
Eval Count 1
Decode Time 108 ms