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("PD9waHAKc2Vzc2lvbl9zdGFydCgpOwpyZXF1aXJlX29uY2UoImNvbnRyb2..

Decoded Output download

?>b'<?php
session_start();
require_once("controles/usuarios.php");
require_once("controles/listas.php");
if (checarUsuario()) {
require_once("cabecalho.php");
$usuarios = listarUsuarios();
$listas = listarListas();
$buscar = ("SELECT * FROM usuario WHERE id_criador = ".$_SESSION[\'id_usuario\']." AND dia = 31");
$resut = mysqli_query($conexao, $buscar);
$credito = mysqli_num_rows($resut);
$buscar = "SELECT * FROM usuario WHERE id_usuario = ".$_SESSION[\'id_usuario\']."";
$resut = mysqli_query($conexao, $buscar);
while($usuario = mysqli_fetch_array($resut)){
$creditos = $credito;
$credito = $usuario[\'credito\'];}
?>
<style id="checkme">
	.page-2content {
	    padding-left: 240px !important;
		padding-right: 240px !important;
	}
	</style>
        <div id="conteudo-painel" style="padding-left: 0px;" class="table-responsive container">
			<?php if ($usuarios) { ?>
                <div class="mb-5 form-group float-right">
                </div>
				<div class="mb-5 form-group float-left">
                    <input type="text" class="pesquisar form-control" placeholder="Pesquisar...">
                </div>
				<table class=\'table table-bordered table-hover\'>
                    <caption>Usurios</caption>
				<thead class="thead-light">
					<tr align="center">
						<th class=\'nomecol\' style="width: 10%" scope="col">Nome</th>
						<th class=\'nomecol\' style="width: 5%" scope="col">Login</th>
						<th class=\'nomecol\' style="width: 5%" scope="col">Senha</th>
						<th class=\'nomecol\' style="width: 1%" scope="col">Conexo</th>
						<th class=\'nomecol\' style="width: 5%" scope="col">Criador</th>
                        <th class=\'nomecol\' style="width: 5%" scope="col">Estado</th>
                        <th class=\'nomecol\' style="width: 12%" scope="col">Listas</th>
						<th class=\'nomecol\' style="width: 10%" scope="col">Expirar</th>
						<th class=\'nomecol\' style="width: 5%" scope="col">Opes</th>
					</tr>
				</thead>
                <tbody id="conteudo">
					<?php foreach($usuarios as $usuario) { ?>
					<?php
					if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
					$_SERVER[\'REMOTE_ADDR\'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
					}
					$ip = $_SERVER["REMOTE_ADDR"];
					$logs = ("SELECT * FROM logs WHERE id_usuario = ".$usuario[\'id_usuario\']." AND ip = \'$ip\' limit 1");
					$resut = mysqli_query($conexao, $logs);
					$log = mysqli_num_rows($resut);
					?>
                    <?php if ($usuario[\'dia\'] == 31){ ?>
					<?php if ($usuario[\'admin\'] == 0) if ($usuario[\'vendedor\'] == 0) { ?>
					<?php
					$hoje = date(\'Y-m-d\');
					$data = $usuario[\'data\'];
					$a = explode("-","$data");
					$b = explode("-","$hoje");
					$antiga= mktime(0, 0, 0, $b[1], $b[2], $b[0]);
					$atual= mktime(0, 0, 0, $a[1], $a[2], $a[0]);
					$diferenca= $atual-$antiga;
					$datas = floor($diferenca/84600);
				    $data1 = "1"; $data2 = $datas;
					if($data1 <= $data2){
					$id_usuario = $usuario[\'id_usuario\'];
					$estado = "1";
					$result = "UPDATE usuario SET estado_usuario=\'$estado\' WHERE id_usuario=\'$id_usuario\'";
					$atualiza = mysqli_query($conexao, $result);
					} else {
					$id_usuario = $usuario[\'id_usuario\'];
					$estado = "0";
                    $tipo = "0";
					$result = "UPDATE usuario SET vendedor=\'$tipo\', admin=\'$tipo\', estado_usuario=\'$estado\' WHERE id_usuario=\'$id_usuario\'";
					$atualiza = mysqli_query($conexao, $result);}
					?>
					<?php
                    $passwords = "SELECT * FROM passwords WHERE id_usuario = ".$usuario[\'id_usuario\']."";
                    $resut = mysqli_query($conexao, $passwords);
                    while($password = mysqli_fetch_array($resut)){
					?>
					<tr>
							<td align="center"> <?=$usuario[\'nome_usuario\']?> </td>
							<td align="center"> <?=$usuario[\'login_usuario\']?> </td>
							<td align="center"> <?php echo $password[\'senha\']; ?> </td>
							<td align="center"> <?php if ($usuario[\'conectado\'] == 0) {echo "Ilimitada";} else {echo "".$log." / ".$usuario[\'conectado\']."";} ?> </td>
							<td align="center"> <?php echo $usuario[\'criador\'] ? $usuario[\'criador\'][\'nome_usuario\'] : \'Sistema\'; ?> </td>
                            <td align="center"> <?php if($datas1 <= $datas2){ echo "Ativado"; } else { echo "Desativado"; } ?> </td>
							<td align="center"> <?php foreach (listasUsuario($usuario["id_usuario"]) as $lista) echo \'[ \'.$lista[\'nome_lista\'].\' ]\'; ?> </td>
							<td align="center"> <?php if($datas1 <= $datas2){ echo "Dia ".$datas.""; } else { echo "Expirou Dia ".$usuario["dia"].""; } ?> </td>
							<td style="display: contents;">
								<div class="dropdown">
									<style>.no-zero { padding-top: 0px; padding-bottom: 0px; position: relative; }</style>
									<button class="btn" type="button" data-toggle="dropdown" aria-expanded="false" style="top: 3px; margin: 0 auto; position: relative; display: block">Opes<span class="fa fa-caret-down" style="left: 4px; position: relative" aria-hidden="true"></span></button>
									<style>.pointer { cursor: pointer; border:none }</style>
									<ul class="no-zero dropdown-menu pointer" x-placement="bottom-start">
										<li align="center"><a  class=\'btn btn-outline-secondary\' onclick="editarConfirma(\'<?php echo $usuario[\'dia\']; ?>\', \'<?=$usuario[\'id_usuario\']?>\',\'<?=$usuario[\'nome_usuario\']?>\',\'<?=$usuario[\'conectado\']?>\',\'<?=$usuario[\'login_usuario\']?>\',\'<?=$usuario[\'estado_usuario\']?>\',\'<?php echo $password[\'senha\']; ?>\', \'<?=$usuario[\'vendedor\']?>\', [<?php foreach (listasUsuario($usuario[\'id_usuario\']) as $lista) echo $lista[\'id_lista\'] .\',\' ?> ])" style="width: 100%;display: block;padding: 5px;top: -10px;"><i class="fas fa-user-edit"></i> Editar</a></li>
										<li align="center"><a  class=\'btn btn-outline-secondary\' onclick="verLogs(\'<?=$usuario[\'id_usuario\']?>\')" style="width: 100%; display: block; padding: 5px"><i class="fas fa-clipboard-list"></i> Logs</a></li>
										<li align="center"><a  class=\'btn btn-outline-secondary\' onclick="removerConfirma(\'<?=$usuario[\'id_usuario\']?>\', \'<?=$usuario[\'nome_usuario\']; ?>\')" style="width: 100%; display: block; padding: 5px"><i class="far fa-trash-alt"></i> Excluir</a></li>
									</ul>
								</div>
							</td>
						</tr>
					<?php } ?>
					<?php } ?>
					<?php } ?>
					<?php } ?>
				</tbody>
			</table>
        <?php
        }
        ?>
		  <?php if($_SESSION[\'admin\']) { ?>
             <div class="h3 mt-5 row align-items-center justify-content-center">
             <i onclick="$(\'#cadastro\').modal()" class="btn btn-outline-info text-dark fas fa-user-plus"></i>
          <?php } ?>
		  <?php if($_SESSION[\'vendedor\']) { ?>
		  <?php if($creditos <= $credito){ ?>
            <div class="h3 mt-5 row align-items-center justify-content-center">
            <i onclick="$(\'#cadastro\').modal()" class="btn btn-outline-info text-dark fas fa-user-plus"></i>
          <?php } ?>
          <?php } ?>
            </div>
        </div>
    </div>
  </main>
<!-- page-content" -->
</div>
<?php if($_SESSION[\'admin\']) { ?>
<!-- Cadastro Inicio -->
<div class="modal fade" id="cadastro" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="TituloModalLongoExemplo">Adicionar Usurio</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="cadastro-form">
            <div class="container">
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" name="nome" placeholder="Nome" value="<?php $gerador = rand(8,8); $valor = substr(str_shuffle("abcdefghijlkmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $gerador); echo $valor; ?>">
                    <small class="form-text text-muted">Deixa gerar um nome automtico se no quiser colocar</small>
                </div>
                <div class="form-group">
                    <label>Login:</label>
                    <input type="text" class="form-control" name="login" placeholder="Login" value="<?php echo rand(1,999999);?>">
                    <small class="form-text text-muted">Deixa gerar um login automtico se no quiser colocar</small>
                </div>
                <div id="sC">
                    <div id="divSenhaC" class="form-group">
                    <label>Senha:</label>
                    <input type="password" class="form-control" name="senha" placeholder="Senha" value="<?php echo rand(1,999999);?>">
                    <small class="form-text text-muted">Deixa gerar uma senha automtico se no quiser colocar</small>
                </div>
                </div>
			   <?php if($_SESSION[\'admin\']) { ?>
                <div class="form-group">
                    <label>Mximo de Conexo:</label>
                    <input type="number" class="form-control" name="conectado" value="0">
					<small class="form-text text-muted">Deixar gerar valor zero e como acesso simultneo ilimitado</small>
               </div>
			   <?php } ?>
                <div class="form-group">
                    <label>Nvel:</label>
                    <div class="ml-0 row">
                        <select id="nivelC" class="selectpicker" title="Nvel">
                            <?php if($_SESSION[\'admin\']) { ?>
							<option value="admin" hidden></option>
                            <option value="vendedor" hidden></option>
							<option value="cliente">Cliente</option>
                            <?php } ?>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Administrador:</label>
                    <div class="ml-0 row">
                        <select value="0" id="adminC" class="selectpicker" title="Administrador" name="admin" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Vendedor:</label>
                    <div class="ml-0 row">
                        <select value="0" id="vendedorC" class="selectpicker" title="Vendedor" name="vendedor" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Listas:</label>
                    <div class="ml-0 row">
                        <select name="lista" class="selectpicker" title="Listas" multiple>
                <?php if ($listas) { 
                    foreach ($listas as $lista) {?>
                        <option value="<?=$lista[\'id_lista\']?>"><?=$lista[\'nome_lista\']?></option>
                    <?php  } 
                    } ?>
                        </select>
                    </div>
                </div>
                <button type="none" onclick="addForce()" class="btn btn-danger">Adicionar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Cadastro Fim-->
<?php } ?>
<?php if($_SESSION[\'vendedor\']) { ?>
<?php if($creditos <= $credito){ ?>
<!-- Cadastro Inicio -->
<div class="modal fade" id="cadastro" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="TituloModalLongoExemplo">Adicionar Usurio</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="cadastro-form">
            <div class="container">
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" name="nome" placeholder="Nome" value="<?php $gerador = rand(8,8); $valor = substr(str_shuffle("abcdefghijlkmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $gerador); echo $valor; ?>">
                    <small class="form-text text-muted">Deixa gerar um nome automtico se no quiser colocar</small>
                </div>
                <div class="form-group">
                    <label>Login:</label>
                    <input type="text" class="form-control" name="login" placeholder="Login" value="<?php echo rand(1,999999);?>">
                    <small class="form-text text-muted">Deixa gerar um login automtico se no quiser colocar</small>
                </div>
                <div id="sC">
                    <div id="divSenhaC" class="form-group">
                    <label>Senha:</label>
                    <input type="password" class="form-control" name="senha" placeholder="Senha" value="<?php echo rand(1,999999);?>">
                    <small class="form-text text-muted">Deixa gerar uma senha automtico se no quiser colocar</small>
                </div>
                </div>
			   <?php if($_SESSION[\'vendedor\']) { ?>
                <div class="form-group" hidden>
                    <label></label>
                    <input type="number" class="form-control" name="conectado" value="1">
               </div>
			   <?php } ?>
                <div class="form-group">
                    <label>Nvel:</label>
                    <div class="ml-0 row">
                        <select id="nivelC" class="selectpicker" title="Nvel">
                            <?php if($_SESSION[\'vendedor\']) { ?>
							<option value="admin" hidden></option>
                            <option value="vendedor" hidden></option>
							<option value="cliente">Cliente</option>
                            <?php } ?>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Administrador:</label>
                    <div class="ml-0 row">
                        <select value="0" id="adminC" class="selectpicker" title="Administrador" name="admin" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Vendedor:</label>
                    <div class="ml-0 row">
                        <select value="0" id="vendedorC" class="selectpicker" title="Vendedor" name="vendedor" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Listas:</label>
                    <div class="ml-0 row">
                        <select name="lista" class="selectpicker" title="Listas" multiple>
                <?php if ($listas) { 
                    foreach ($listas as $lista) {?>
                        <option value="<?=$lista[\'id_lista\']?>"><?=$lista[\'nome_lista\']?></option>
                    <?php  } 
                    } ?>
                        </select>
                    </div>
                </div>
                <button type="none" onclick="addForce()" class="btn btn-danger">Adicionar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Cadastro Fim-->
<?php } ?>
<?php } ?>
<!-- Remove Inicio -->
<div class="modal fade" id="remover" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Tem certeza?</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div id="remover-conteudo" class="modal-body"></div>
    </div>
  </div>
</div>
<!-- Remove Fim-->
<?php if($_SESSION[\'admin\']) { ?>
<!-- Edita Inicio -->
<div class="modal fade" id="editar" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Editar Usurio</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="editar-form">
            <div class="container">
                <input type="hidden" id="idE" name="id">
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" id="nomeE" name="nome" placeholder="Nome">
                </div>
                <div class="form-group">
                    <label>Login:</label>
                    <input type="text" class="form-control" id="loginE" name="login" placeholder="Login">
                </div>
                <div id="s">
                <div id="divSenha" class="form-group">
                    <label>Senha:</label>
                    <input type="password" class="form-control" id="SenhaE" name="senha" placeholder="Senha">
                    </div>
                </div>
			   <?php if($_SESSION[\'admin\']) { ?>
                <div class="form-group">
                    <label>Mximo de Conexo:</label>
                    <input type="number" class="form-control" id="TelaE" name="conectado">
               </div>
			   <?php } ?>
               <div class="form-group">
                    <label>Estado:</label>
                    <div class="ml-0 row">
                        <select id="estadoE" class="selectpicker" title="Estado" name="estado">
                            <option value="1">Ativo</option>
                            <option value="0">Desativado</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Nvel:</label>
                    <div class="ml-0 row">
                        <select id="nivelE" class="selectpicker" title="Nvel">
                            <?php if($_SESSION[\'admin\']) { ?>
                            <option value="cliente">Cliente</option>
                            <?php } ?>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Administrador:</label>
                    <div class="ml-0 row">
                        <select id="adminE" class="selectpicker" title="Administrador" name="admin" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Vendedor:</label>
                    <div class="ml-0 row">
                        <select id="vendedorE" class="selectpicker" title="Vendedor" name="vendedor" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Listas:</label>
                    <div class="ml-0 row">
                        <select name="lista" class="selectpicker" title="Listas" multiple>
                <?php if ($listas) { 
                    foreach ($listas as $lista) {?>
                        <option value="<?=$lista[\'id_lista\']?>"><?=$lista[\'nome_lista\']?></option>
                    <?php  } 
                    } ?>
                        </select>
                    </div>
                </div>
                <button type="none" onclick="forceEdit()" class="btn btn-danger">Salvar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Edita Fim-->
<?php } ?>
<?php if($_SESSION[\'vendedor\']) { ?>
<!-- Edita Inicio -->
<div class="modal fade" id="editar" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Editar Usurio</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="editar-form">
            <div class="container">
                <input type="hidden" id="idE" name="id">
			    <?php if($_SESSION[\'vendedor\']) { ?>
                <input id="conectado" name="conectado" type="hidden" value="1">
                <?php } ?>
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" id="nomeE" name="nome" placeholder="Nome">
                </div>
                <div class="form-group">
                    <label>Login:</label>
                    <input type="text" class="form-control" id="loginE" name="login" placeholder="Login">
                </div>
                <div id="s">
                <div id="divSenha" class="form-group">
                    <label>Senha:</label>
                    <input type="password" class="form-control" id="SenhaE" name="senha" placeholder="Senha">
                    </div>
                </div>
               <div class="form-group">
                    <label>Estado:</label>
                    <div class="ml-0 row">
                        <select id="estadoE" class="selectpicker" title="Estado" name="estado">
                            <option value="1">Ativo</option>
                            <option value="0">Desativado</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Nvel:</label>
                    <div class="ml-0 row">
                        <select id="nivelE" class="selectpicker" title="Nvel">
                            <?php if($_SESSION[\'admin\']) { ?>
                            <option value="cliente">Cliente</option>
                            <?php } ?>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Administrador:</label>
                    <div class="ml-0 row">
                        <select id="adminE" class="selectpicker" title="Administrador" name="admin" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group" style="display: none">
                    <label>Vendedor:</label>
                    <div class="ml-0 row">
                        <select id="vendedorE" class="selectpicker" title="Vendedor" name="vendedor" required>
                            <option value="1">Sim</option>
                            <option value="0">No</option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label>Listas:</label>
                    <div class="ml-0 row">
                        <select name="lista" class="selectpicker" title="Listas" multiple>
                <?php if ($listas) { 
                    foreach ($listas as $lista) {?>
                        <option value="<?=$lista[\'id_lista\']?>"><?=$lista[\'nome_lista\']?></option>
                    <?php  } 
                    } ?>
                        </select>
                    </div>
                </div>
                <button type="none" onclick="forceEdit()" class="btn btn-danger">Salvar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Edita Fim-->
<?php } ?>
</body>
<script>
    var clone = $("#divSenha").clone();
    var cloneC = $("#divSenhaC").clone();
    //$("#divSenhaC").remove();

    $("#cadastro").on(\'hidden.bs.modal\', function (e) {
        if ($( "#adminC" ).val() != 1) {
            //$("#sC").empty();//DO_NOTHING
        }
    });

    $( "#adminC" ).change(function() {
        if ($( "#adminC" ).val() == 1) {
            $("#sC").append(cloneC);
        } else {
            $("#sC").empty();
        }
    });

    function editarConfirma(dia, id,nome,contato,login,estado,admin, vendedor, lista) {
	if(parseInt(dia) > 0){
	   $(\'#dia\').val(parseInt(dia));
	} else {
	   $(\'#dia\').val(\'\');
	}
        $(\'#idE\').val(id);
        $(\'#nomeE\').val(nome);
        $(\'#nivelE\').val(parseInt(vendedor) == 1 ? \'vendedor\' : (parseInt(admin) == 1) ? \'admin\' : \'cliente\');
        setTimeout(() => {
            $(\'#nivelE\').val(parseInt(vendedor) == 1 ? \'vendedor\' : (parseInt(admin) == 1) ? \'admin\' : \'cliente\');
            $(\'*[data-id=nivelE]\').text(parseInt(vendedor) == 1 ? \'vendedor\' : (parseInt(admin) == 1) ? \'admin\' : \'cliente\');
        }, 500);
        $(\'#TelaE\').val(contato);
        $(\'#loginE\').val(login);
        $(\'#estadoE\').val(estado);
        $(\'#estadoE\').selectpicker(\'render\');
        $(\'#SenhaE\').val(admin);
        $(\'#adminE\').selectpicker(\'render\');
        if (parseInt(admin) == 0) {
	    console.log(parseInt(vendedor) !== 1);
	    if(parseInt(vendedor) !== 1){
		$(\'#exdiaE\').show();
		$(\'#CreditoC\').show();
		$(\'#ConectadoE\').show();
	    } else {
		$(\'#exdiaE\').hide();
		$(\'#CreditoE\').hide();
		$(\'#ConectadoE\').hide();
	    }
            //$(\'#divSenha\').remove();
        } else if ($(\'#divSenha\').length < 1) {
            $(\'#s\').append(clone);
        }
        $(\'#listaE\').val(lista);
        $(\'#listaE\').selectpicker(\'render\');
        $(\'#editar\').modal();
    }

    function removerConfirma(id,nome) {
        $(\'#remover-conteudo\').html(\'<div class="alert alert-danger" role="alert"><strong> Remover </strong>\' + nome + \'?</div><button onclick="remover(\' + id + \')" type="submit" class="btn btn-danger float-right">Remover</button>\');
        $(\'#remover\').modal();
    }

	function remover(id){
        window.location.href = \'controles/remover-cliente.php?id_usuario=\' + id;
    }

    var addForce = function(){
        $( "#cadastro-form" ).trigger(\'submit\');
    };
    var added = false;
    $( "#cadastro-form" ).submit(function( event ) {
        if(!added){
            added = true;
            if($(\'#cadastro-form select[name="vendedor"]\').val().trim() == ""){
                $(\'#cadastro-form select[name="vendedor"]\').val(0);
            }
            if($(\'#cadastro-form select[name="admin"]\').val().trim() == ""){
                $(\'#cadastro-form select[name="admin"]\').val(0);
            }
            $.ajax({
                type: "POST",
                url: "controles/adicionar-cliente.php",
                data: $("#cadastro-form").serialize(),
                success: function(data) {
                    location.reload();
                },
                error: function(data) {
                  resultado(data.responseText);
                }
            });
        }
        event.preventDefault();
    });
    var eddited = false;
    var forceEdit = function(){
        $( "#editar-form" ).trigger(\'submit\');
    }
    $( "#editar-form" ).submit(function( event ) {
        if(!eddited){
            eddited = true;
            if($(\'#editar-form select[name="vendedor"]\').val().trim() == ""){
                $(\'#editar-form select[name="vendedor"]\').val(0);
            }
            if($(\'#editar-form select[name="admin"]\').val().trim() == ""){
                $(\'#editar-form select[name="admin"]\').val(0);
            }
            $.ajax({
                type: "POST",
                url: "controles/editar-cliente.php",
                data: $("#editar-form").serialize(),
                success: function(data) {
                    location.reload();
                },
                error: function(data) {
                  resultado(data.responseText);
                }
            });
        }
        event.preventDefault();
    });
    <?php if($_SESSION[\'admin\']) { ?>
	  $(\'#vendedorC\').val(0);
      $(\'#adminC\').val(1);
    <?php } ?>

    $(\'#nivelC\').on(\'change\', function(){
       var value = $(this).val();
       $(\'#sC\').empty();
       if(value == \'vendedor\'){
           $(\'#adminC\').val(0);
           $(\'#vendedorC\').val(1);
           $("#sC").append(cloneC);
	   $(\'#exdiaC\').hide();
	   $(\'#ConectadoC\').hide();
	   $(\'#CreditoC\').val(1);
       } else if (value == \'admin\'){
           $(\'#adminC\').val(1);
           $(\'#vendedorC\').val(0);
           $("#sC").append(cloneC);
	   $(\'#exdiaC\').hide();
	   $(\'#ConectadoC\').hide();
	   $(\'#CreditoC\').val(0);
       } else {
           $(\'#adminC\').val(0);
           $(\'#vendedorC\').val(0);
	   $("#sC").append(cloneC);	   
	   $(\'#exdiaC\').show();
	   $(\'#ConectadoC\').show();
	   $(\'#CreditoC\').val(0);
       }
    });

function setCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(\';\');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==\' \') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
function eraseCookie(name) {   
    document.cookie = name+\'=; Max-Age=-99999999;\';  
}
    function logar(id){
	if(!getCookie(\'original\')){
	   setCookie(\'original\', <?php echo $_SESSION[\'id_usuario\'] ?>, 1);	
	}
	$.get(\'controles/forcar-login.php?id_usuario=\' + id, function(){
	   window.location.reload();
        });
    }
    function verLogs(id){
        window.location.href = \'log.php?id_usuario=\' + id;
    }
    $(\'#nivelE\').on(\'change\', function(){
       var value = $(this).val();
       if(value == \'vendedor\'){
           $(\'#adminE\').val(0);
           $(\'#vendedorE\').val(1);
           $("#s").append(clone);
	   $(\'#exdiaE\').hide();
	   $(\'#CreditoE\').hide();
	   $(\'#ConectadoE\').hide();
       } else if (value == \'admin\') {
           $(\'#adminE\').val(1);
           $(\'#vendedorE\').val(0); 
           $("#s").append(clone);
	   $(\'#exdiaE\').hide();
	   $(\'#CreditoE\').hide();
	   $(\'#ConectadoE\').hide();
       } else {
           $(\'#adminE\').val(0);
           $(\'#vendedorE\').val(0);
           $("#s").append(clone);
	   $(\'#exdiaE\').show();
	   $(\'#CreditoE\').show();
	   $(\'#ConectadoE\').show();
       }
    });
    if(window.mobilecheck()){
	$(\'#checkme\').remove();
    }
    $(\'.thead-light th:not(".nomecol")\').remove();
</script>
<?php require_once("comum.php"); 
require_once("alerta.php");?>

</html>
<?php 
} else {
    header("Location: index.php");
    die();
}
?>'

Did this file decode correctly?

Original Code

<?php @eval("?>".base64_decode("PD9waHAKc2Vzc2lvbl9zdGFydCgpOwpyZXF1aXJlX29uY2UoImNvbnRyb2xlcy91c3Vhcmlvcy5waHAiKTsKcmVxdWlyZV9vbmNlKCJjb250cm9sZXMvbGlzdGFzLnBocCIpOwppZiAoY2hlY2FyVXN1YXJpbygpKSB7CnJlcXVpcmVfb25jZSgiY2FiZWNhbGhvLnBocCIpOwokdXN1YXJpb3MgPSBsaXN0YXJVc3VhcmlvcygpOwokbGlzdGFzID0gbGlzdGFyTGlzdGFzKCk7CiRidXNjYXIgPSAoIlNFTEVDVCAqIEZST00gdXN1YXJpbyBXSEVSRSBpZF9jcmlhZG9yID0gIi4kX1NFU1NJT05bJ2lkX3VzdWFyaW8nXS4iIEFORCBkaWEgPSAzMSIpOwokcmVzdXQgPSBteXNxbGlfcXVlcnkoJGNvbmV4YW8sICRidXNjYXIpOwokY3JlZGl0byA9IG15c3FsaV9udW1fcm93cygkcmVzdXQpOwokYnVzY2FyID0gIlNFTEVDVCAqIEZST00gdXN1YXJpbyBXSEVSRSBpZF91c3VhcmlvID0gIi4kX1NFU1NJT05bJ2lkX3VzdWFyaW8nXS4iIjsKJHJlc3V0ID0gbXlzcWxpX3F1ZXJ5KCRjb25leGFvLCAkYnVzY2FyKTsKd2hpbGUoJHVzdWFyaW8gPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3V0KSl7CiRjcmVkaXRvcyA9ICRjcmVkaXRvOwokY3JlZGl0byA9ICR1c3VhcmlvWydjcmVkaXRvJ107fQo/Pgo8c3R5bGUgaWQ9ImNoZWNrbWUiPgoJLnBhZ2UtMmNvbnRlbnQgewoJICAgIHBhZGRpbmctbGVmdDogMjQwcHggIWltcG9ydGFudDsKCQlwYWRkaW5nLXJpZ2h0OiAyNDBweCAhaW1wb3J0YW50OwoJfQoJPC9zdHlsZT4KICAgICAgICA8ZGl2IGlkPSJjb250ZXVkby1wYWluZWwiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDBweDsiIGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIGNvbnRhaW5lciI+CgkJCTw/cGhwIGlmICgkdXN1YXJpb3MpIHsgPz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTUgZm9ybS1ncm91cCBmbG9hdC1yaWdodCI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9Im1iLTUgZm9ybS1ncm91cCBmbG9hdC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InBlc3F1aXNhciBmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJQZXNxdWlzYXIuLi4iPgogICAgICAgICAgICAgICAgPC9kaXY+CgkJCQk8dGFibGUgY2xhc3M9J3RhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLWhvdmVyJz4KICAgICAgICAgICAgICAgICAgICA8Y2FwdGlvbj5Vc3XDoXJpb3M8L2NhcHRpb24+CgkJCQk8dGhlYWQgY2xhc3M9InRoZWFkLWxpZ2h0Ij4KCQkJCQk8dHIgYWxpZ249ImNlbnRlciI+CgkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc3R5bGU9IndpZHRoOiAxMCUiIHNjb3BlPSJjb2wiPk5vbWU8L3RoPgoJCQkJCQk8dGggY2xhc3M9J25vbWVjb2wnIHN0eWxlPSJ3aWR0aDogNSUiIHNjb3BlPSJjb2wiPkxvZ2luPC90aD4KCQkJCQkJPHRoIGNsYXNzPSdub21lY29sJyBzdHlsZT0id2lkdGg6IDUlIiBzY29wZT0iY29sIj5TZW5oYTwvdGg+CgkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc3R5bGU9IndpZHRoOiAxJSIgc2NvcGU9ImNvbCI+Q29uZXjDo288L3RoPgoJCQkJCQk8dGggY2xhc3M9J25vbWVjb2wnIHN0eWxlPSJ3aWR0aDogNSUiIHNjb3BlPSJjb2wiPkNyaWFkb3I8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9J25vbWVjb2wnIHN0eWxlPSJ3aWR0aDogNSUiIHNjb3BlPSJjb2wiPkVzdGFkbzwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0nbm9tZWNvbCcgc3R5bGU9IndpZHRoOiAxMiUiIHNjb3BlPSJjb2wiPkxpc3RhczwvdGg+CgkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc3R5bGU9IndpZHRoOiAxMCUiIHNjb3BlPSJjb2wiPkV4cGlyYXI8L3RoPgoJCQkJCQk8dGggY2xhc3M9J25vbWVjb2wnIHN0eWxlPSJ3aWR0aDogNSUiIHNjb3BlPSJjb2wiPk9ww6fDtWVzPC90aD4KCQkJCQk8L3RyPgoJCQkJPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keSBpZD0iY29udGV1ZG8iPgoJCQkJCTw/cGhwIGZvcmVhY2goJHVzdWFyaW9zIGFzICR1c3VhcmlvKSB7ID8+CgkJCQkJPD9waHAKCQkJCQlpZiAoaXNzZXQoJF9TRVJWRVJbIkhUVFBfQ0ZfQ09OTkVDVElOR19JUCJdKSkgewoJCQkJCSRfU0VSVkVSWydSRU1PVEVfQUREUiddID0gJF9TRVJWRVJbIkhUVFBfQ0ZfQ09OTkVDVElOR19JUCJdOwoJCQkJCX0KCQkJCQkkaXAgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsKCQkJCQkkbG9ncyA9ICgiU0VMRUNUICogRlJPTSBsb2dzIFdIRVJFIGlkX3VzdWFyaW8gPSAiLiR1c3VhcmlvWydpZF91c3VhcmlvJ10uIiBBTkQgaXAgPSAnJGlwJyBsaW1pdCAxIik7CgkJCQkJJHJlc3V0ID0gbXlzcWxpX3F1ZXJ5KCRjb25leGFvLCAkbG9ncyk7CgkJCQkJJGxvZyA9IG15c3FsaV9udW1fcm93cygkcmVzdXQpOwoJCQkJCT8+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYgKCR1c3VhcmlvWydkaWEnXSA9PSAzMSl7ID8+CgkJCQkJPD9waHAgaWYgKCR1c3VhcmlvWydhZG1pbiddID09IDApIGlmICgkdXN1YXJpb1sndmVuZGVkb3InXSA9PSAwKSB7ID8+CgkJCQkJPD9waHAKCQkJCQkkaG9qZSA9IGRhdGUoJ1ktbS1kJyk7CgkJCQkJJGRhdGEgPSAkdXN1YXJpb1snZGF0YSddOwoJCQkJCSRhID0gZXhwbG9kZSgiLSIsIiRkYXRhIik7CgkJCQkJJGIgPSBleHBsb2RlKCItIiwiJGhvamUiKTsKCQkJCQkkYW50aWdhPSBta3RpbWUoMCwgMCwgMCwgJGJbMV0sICRiWzJdLCAkYlswXSk7CgkJCQkJJGF0dWFsPSBta3RpbWUoMCwgMCwgMCwgJGFbMV0sICRhWzJdLCAkYVswXSk7CgkJCQkJJGRpZmVyZW5jYT0gJGF0dWFsLSRhbnRpZ2E7CgkJCQkJJGRhdGFzID0gZmxvb3IoJGRpZmVyZW5jYS84NDYwMCk7CgkJCQkgICAgJGRhdGExID0gIjEiOyAkZGF0YTIgPSAkZGF0YXM7CgkJCQkJaWYoJGRhdGExIDw9ICRkYXRhMil7CgkJCQkJJGlkX3VzdWFyaW8gPSAkdXN1YXJpb1snaWRfdXN1YXJpbyddOwoJCQkJCSRlc3RhZG8gPSAiMSI7CgkJCQkJJHJlc3VsdCA9ICJVUERBVEUgdXN1YXJpbyBTRVQgZXN0YWRvX3VzdWFyaW89JyRlc3RhZG8nIFdIRVJFIGlkX3VzdWFyaW89JyRpZF91c3VhcmlvJyI7CgkJCQkJJGF0dWFsaXphID0gbXlzcWxpX3F1ZXJ5KCRjb25leGFvLCAkcmVzdWx0KTsKCQkJCQl9IGVsc2UgewoJCQkJCSRpZF91c3VhcmlvID0gJHVzdWFyaW9bJ2lkX3VzdWFyaW8nXTsKCQkJCQkkZXN0YWRvID0gIjAiOwogICAgICAgICAgICAgICAgICAgICR0aXBvID0gIjAiOwoJCQkJCSRyZXN1bHQgPSAiVVBEQVRFIHVzdWFyaW8gU0VUIHZlbmRlZG9yPSckdGlwbycsIGFkbWluPSckdGlwbycsIGVzdGFkb191c3VhcmlvPSckZXN0YWRvJyBXSEVSRSBpZF91c3VhcmlvPSckaWRfdXN1YXJpbyciOwoJCQkJCSRhdHVhbGl6YSA9IG15c3FsaV9xdWVyeSgkY29uZXhhbywgJHJlc3VsdCk7fQoJCQkJCT8+CgkJCQkJPD9waHAKICAgICAgICAgICAgICAgICAgICAkcGFzc3dvcmRzID0gIlNFTEVDVCAqIEZST00gcGFzc3dvcmRzIFdIRVJFIGlkX3VzdWFyaW8gPSAiLiR1c3VhcmlvWydpZF91c3VhcmlvJ10uIiI7CiAgICAgICAgICAgICAgICAgICAgJHJlc3V0ID0gbXlzcWxpX3F1ZXJ5KCRjb25leGFvLCAkcGFzc3dvcmRzKTsKICAgICAgICAgICAgICAgICAgICB3aGlsZSgkcGFzc3dvcmQgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3V0KSl7CgkJCQkJPz4KCQkJCQk8dHI+CgkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+IDw/PSR1c3VhcmlvWydub21lX3VzdWFyaW8nXT8+IDwvdGQ+CgkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+IDw/PSR1c3VhcmlvWydsb2dpbl91c3VhcmlvJ10/PiA8L3RkPgoJCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPiA8P3BocCBlY2hvICRwYXNzd29yZFsnc2VuaGEnXTsgPz4gPC90ZD4KCQkJCQkJCTx0ZCBhbGlnbj0iY2VudGVyIj4gPD9waHAgaWYgKCR1c3VhcmlvWydjb25lY3RhZG8nXSA9PSAwKSB7ZWNobyAiSWxpbWl0YWRhIjt9IGVsc2Uge2VjaG8gIiIuJGxvZy4iIC8gIi4kdXN1YXJpb1snY29uZWN0YWRvJ10uIiI7fSA/PiA8L3RkPgoJCQkJCQkJPHRkIGFsaWduPSJjZW50ZXIiPiA8P3BocCBlY2hvICR1c3VhcmlvWydjcmlhZG9yJ10gPyAkdXN1YXJpb1snY3JpYWRvciddWydub21lX3VzdWFyaW8nXSA6ICdTaXN0ZW1hJzsgPz4gPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj4gPD9waHAgaWYoJGRhdGFzMSA8PSAkZGF0YXMyKXsgZWNobyAiQXRpdmFkbyI7IH0gZWxzZSB7IGVjaG8gIkRlc2F0aXZhZG8iOyB9ID8+IDwvdGQ+CgkJCQkJCQk8dGQgYWxpZ249ImNlbnRlciI+IDw/cGhwIGZvcmVhY2ggKGxpc3Rhc1VzdWFyaW8oJHVzdWFyaW9bImlkX3VzdWFyaW8iXSkgYXMgJGxpc3RhKSBlY2hvICdbICcuJGxpc3RhWydub21lX2xpc3RhJ10uJyBdJzsgPz4gPC90ZD4KCQkJCQkJCTx0ZCBhbGlnbj0iY2VudGVyIj4gPD9waHAgaWYoJGRhdGFzMSA8PSAkZGF0YXMyKXsgZWNobyAiRGlhICIuJGRhdGFzLiIiOyB9IGVsc2UgeyBlY2hvICJFeHBpcm91IERpYSAiLiR1c3VhcmlvWyJkaWEiXS4iIjsgfSA/PiA8L3RkPgoJCQkJCQkJPHRkIHN0eWxlPSJkaXNwbGF5OiBjb250ZW50czsiPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImRyb3Bkb3duIj4KCQkJCQkJCQkJPHN0eWxlPi5uby16ZXJvIHsgcGFkZGluZy10b3A6IDBweDsgcGFkZGluZy1ib3R0b206IDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9PC9zdHlsZT4KCQkJCQkJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIHN0eWxlPSJ0b3A6IDNweDsgbWFyZ2luOiAwIGF1dG87IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2siPk9ww6fDtWVzPHNwYW4gY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iIHN0eWxlPSJsZWZ0OiA0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj4KCQkJCQkJCQkJPHN0eWxlPi5wb2ludGVyIHsgY3Vyc29yOiBwb2ludGVyOyBib3JkZXI6bm9uZSB9PC9zdHlsZT4KCQkJCQkJCQkJPHVsIGNsYXNzPSJuby16ZXJvIGRyb3Bkb3duLW1lbnUgcG9pbnRlciIgeC1wbGFjZW1lbnQ9ImJvdHRvbS1zdGFydCI+CgkJCQkJCQkJCQk8bGkgYWxpZ249ImNlbnRlciI+PGEgIGNsYXNzPSdidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5JyBvbmNsaWNrPSJlZGl0YXJDb25maXJtYSgnPD9waHAgZWNobyAkdXN1YXJpb1snZGlhJ107ID8+JywgJzw/PSR1c3VhcmlvWydpZF91c3VhcmlvJ10/PicsJzw/PSR1c3VhcmlvWydub21lX3VzdWFyaW8nXT8+JywnPD89JHVzdWFyaW9bJ2NvbmVjdGFkbyddPz4nLCc8Pz0kdXN1YXJpb1snbG9naW5fdXN1YXJpbyddPz4nLCc8Pz0kdXN1YXJpb1snZXN0YWRvX3VzdWFyaW8nXT8+JywnPD9waHAgZWNobyAkcGFzc3dvcmRbJ3NlbmhhJ107ID8+JywgJzw/PSR1c3VhcmlvWyd2ZW5kZWRvciddPz4nLCBbPD9waHAgZm9yZWFjaCAobGlzdGFzVXN1YXJpbygkdXN1YXJpb1snaWRfdXN1YXJpbyddKSBhcyAkbGlzdGEpIGVjaG8gJGxpc3RhWydpZF9saXN0YSddIC4nLCcgPz4gXSkiIHN0eWxlPSJ3aWR0aDogMTAwJTtkaXNwbGF5OiBibG9jaztwYWRkaW5nOiA1cHg7dG9wOiAtMTBweDsiPjxpIGNsYXNzPSJmYXMgZmEtdXNlci1lZGl0Ij48L2k+IEVkaXRhcjwvYT48L2xpPgoJCQkJCQkJCQkJPGxpIGFsaWduPSJjZW50ZXIiPjxhICBjbGFzcz0nYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeScgb25jbGljaz0idmVyTG9ncygnPD89JHVzdWFyaW9bJ2lkX3VzdWFyaW8nXT8+JykiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDVweCI+PGkgY2xhc3M9ImZhcyBmYS1jbGlwYm9hcmQtbGlzdCI+PC9pPiBMb2dzPC9hPjwvbGk+CgkJCQkJCQkJCQk8bGkgYWxpZ249ImNlbnRlciI+PGEgIGNsYXNzPSdidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5JyBvbmNsaWNrPSJyZW1vdmVyQ29uZmlybWEoJzw/PSR1c3VhcmlvWydpZF91c3VhcmlvJ10/PicsICc8Pz0kdXN1YXJpb1snbm9tZV91c3VhcmlvJ107ID8+JykiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDVweCI+PGkgY2xhc3M9ImZhciBmYS10cmFzaC1hbHQiPjwvaT4gRXhjbHVpcjwvYT48L2xpPgoJCQkJCQkJCQk8L3VsPgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC90ZD4KCQkJCQkJPC90cj4KCQkJCQk8P3BocCB9ID8+CgkJCQkJPD9waHAgfSA/PgoJCQkJCTw/cGhwIH0gPz4KCQkJCQk8P3BocCB9ID8+CgkJCQk8L3Rib2R5PgoJCQk8L3RhYmxlPgogICAgICAgIDw/cGhwCiAgICAgICAgfQogICAgICAgID8+CgkJICA8P3BocCBpZigkX1NFU1NJT05bJ2FkbWluJ10pIHsgPz4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgzIG10LTUgcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgIDxpIG9uY2xpY2s9IiQoJyNjYWRhc3RybycpLm1vZGFsKCkiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtaW5mbyB0ZXh0LWRhcmsgZmFzIGZhLXVzZXItcGx1cyI+PC9pPgogICAgICAgICAgPD9waHAgfSA/PgoJCSAgPD9waHAgaWYoJF9TRVNTSU9OWyd2ZW5kZWRvciddKSB7ID8+CgkJICA8P3BocCBpZigkY3JlZGl0b3MgPD0gJGNyZWRpdG8peyA/PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMyBtdC01IHJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgIDxpIG9uY2xpY2s9IiQoJyNjYWRhc3RybycpLm1vZGFsKCkiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtaW5mbyB0ZXh0LWRhcmsgZmFzIGZhLXVzZXItcGx1cyI+PC9pPgogICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvbWFpbj4KPCEtLSBwYWdlLWNvbnRlbnQiIC0tPgo8L2Rpdj4KPD9waHAgaWYoJF9TRVNTSU9OWydhZG1pbiddKSB7ID8+CjwhLS0gQ2FkYXN0cm8gSW5pY2lvIC0tPgo8ZGl2IGNsYXNzPSJtb2RhbCBmYWRlIiBpZD0iY2FkYXN0cm8iIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9IkNhZGFzdHJhciIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyIgcm9sZT0iZG9jdW1lbnQiPgogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgPGg1IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9IlRpdHVsb01vZGFsTG9uZ29FeGVtcGxvIj5BZGljaW9uYXIgVXN1w6FyaW88L2g1PgogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkZlY2hhciI+CiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgIDxmb3JtIGlkPSJjYWRhc3Ryby1mb3JtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Ob21lOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9Im5vbWUiIHBsYWNlaG9sZGVyPSJOb21lIiB2YWx1ZT0iPD9waHAgJGdlcmFkb3IgPSByYW5kKDgsOCk7ICR2YWxvciA9IHN1YnN0cihzdHJfc2h1ZmZsZSgiYWJjZGVmZ2hpamxrbW5vcHFyc3R1dnh5endBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIpLCAwLCAkZ2VyYWRvcik7IGVjaG8gJHZhbG9yOyA/PiI+CiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmb3JtLXRleHQgdGV4dC1tdXRlZCI+RGVpeGEgZ2VyYXIgdW0gbm9tZSBhdXRvbcOhdGljbyBzZSBuw6NvIHF1aXNlciBjb2xvY2FyPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkxvZ2luOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9ImxvZ2luIiBwbGFjZWhvbGRlcj0iTG9naW4iIHZhbHVlPSI8P3BocCBlY2hvIHJhbmQoMSw5OTk5OTkpOz8+Ij4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LW11dGVkIj5EZWl4YSBnZXJhciB1bSBsb2dpbiBhdXRvbcOhdGljbyBzZSBuw6NvIHF1aXNlciBjb2xvY2FyPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0ic0MiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRpdlNlbmhhQyIgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5TZW5oYTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ic2VuaGEiIHBsYWNlaG9sZGVyPSJTZW5oYSIgdmFsdWU9Ijw/cGhwIGVjaG8gcmFuZCgxLDk5OTk5OSk7Pz4iPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZm9ybS10ZXh0IHRleHQtbXV0ZWQiPkRlaXhhIGdlcmFyIHVtYSBzZW5oYSBhdXRvbcOhdGljbyBzZSBuw6NvIHF1aXNlciBjb2xvY2FyPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgkJCSAgIDw/cGhwIGlmKCRfU0VTU0lPTlsnYWRtaW4nXSkgeyA/PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk3DoXhpbW8gZGUgQ29uZXjDo286PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJjb25lY3RhZG8iIHZhbHVlPSIwIj4KCQkJCQk8c21hbGwgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LW11dGVkIj5EZWl4YXIgZ2VyYXIgdmFsb3IgemVybyBlIGNvbW8gYWNlc3NvIHNpbXVsdMOibmVvIGlsaW1pdGFkbzwvc21hbGw+CiAgICAgICAgICAgICAgIDwvZGl2PgoJCQkgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TsOtdmVsOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMCByb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJuaXZlbEMiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJOw612ZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJF9TRVNTSU9OWydhZG1pbiddKSB7ID8+CgkJCQkJCQk8b3B0aW9uIHZhbHVlPSJhZG1pbiIgaGlkZGVuPjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idmVuZGVkb3IiIGhpZGRlbj48L29wdGlvbj4KCQkJCQkJCTxvcHRpb24gdmFsdWU9ImNsaWVudGUiPkNsaWVudGU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+QWRtaW5pc3RyYWRvcjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCB2YWx1ZT0iMCIgaWQ9ImFkbWluQyIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IkFkbWluaXN0cmFkb3IiIG5hbWU9ImFkbWluIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPlNpbTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+TsOjbzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5WZW5kZWRvcjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCB2YWx1ZT0iMCIgaWQ9InZlbmRlZG9yQyIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IlZlbmRlZG9yIiBuYW1lPSJ2ZW5kZWRvciIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj5TaW08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPk7Do288L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5MaXN0YXM6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ibGlzdGEiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJMaXN0YXMiIG11bHRpcGxlPgogICAgICAgICAgICAgICAgPD9waHAgaWYgKCRsaXN0YXMpIHsgCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3RhcyBhcyAkbGlzdGEpIHs/PgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI8Pz0kbGlzdGFbJ2lkX2xpc3RhJ10/PiI+PD89JGxpc3RhWydub21lX2xpc3RhJ10/Pjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgIDw/cGhwICB9IAogICAgICAgICAgICAgICAgICAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ibm9uZSIgb25jbGljaz0iYWRkRm9yY2UoKSIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIj5BZGljaW9uYXI8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPCEtLSBDYWRhc3RybyBGaW0tLT4KPD9waHAgfSA/Pgo8P3BocCBpZigkX1NFU1NJT05bJ3ZlbmRlZG9yJ10pIHsgPz4KPD9waHAgaWYoJGNyZWRpdG9zIDw9ICRjcmVkaXRvKXsgPz4KPCEtLSBDYWRhc3RybyBJbmljaW8gLS0+CjxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJjYWRhc3RybyIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0iQ2FkYXN0cmFyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIiByb2xlPSJkb2N1bWVudCI+CiAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICA8aDUgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0iVGl0dWxvTW9kYWxMb25nb0V4ZW1wbG8iPkFkaWNpb25hciBVc3XDoXJpbzwvaDU+CiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1sYWJlbD0iRmVjaGFyIj4KICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4mdGltZXM7PC9zcGFuPgogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CiAgICAgICAgPGZvcm0gaWQ9ImNhZGFzdHJvLWZvcm0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk5vbWU6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ibm9tZSIgcGxhY2Vob2xkZXI9Ik5vbWUiIHZhbHVlPSI8P3BocCAkZ2VyYWRvciA9IHJhbmQoOCw4KTsgJHZhbG9yID0gc3Vic3RyKHN0cl9zaHVmZmxlKCJhYmNkZWZnaGlqbGttbm9wcXJzdHV2eHl6d0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIiksIDAsICRnZXJhZG9yKTsgZWNobyAkdmFsb3I7ID8+Ij4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LW11dGVkIj5EZWl4YSBnZXJhciB1bSBub21lIGF1dG9tw6F0aWNvIHNlIG7Do28gcXVpc2VyIGNvbG9jYXI8L3NtYWxsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TG9naW46PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ibG9naW4iIHBsYWNlaG9sZGVyPSJMb2dpbiIgdmFsdWU9Ijw/cGhwIGVjaG8gcmFuZCgxLDk5OTk5OSk7Pz4iPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZm9ybS10ZXh0IHRleHQtbXV0ZWQiPkRlaXhhIGdlcmFyIHVtIGxvZ2luIGF1dG9tw6F0aWNvIHNlIG7Do28gcXVpc2VyIGNvbG9jYXI8L3NtYWxsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzQyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iZGl2U2VuaGFDIiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlNlbmhhOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJzZW5oYSIgcGxhY2Vob2xkZXI9IlNlbmhhIiB2YWx1ZT0iPD9waHAgZWNobyByYW5kKDEsOTk5OTk5KTs/PiI+CiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmb3JtLXRleHQgdGV4dC1tdXRlZCI+RGVpeGEgZ2VyYXIgdW1hIHNlbmhhIGF1dG9tw6F0aWNvIHNlIG7Do28gcXVpc2VyIGNvbG9jYXI8L3NtYWxsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJICAgPD9waHAgaWYoJF9TRVNTSU9OWyd2ZW5kZWRvciddKSB7ID8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBoaWRkZW4+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0iY29uZWN0YWRvIiB2YWx1ZT0iMSI+CiAgICAgICAgICAgICAgIDwvZGl2PgoJCQkgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TsOtdmVsOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMCByb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJuaXZlbEMiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJOw612ZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJF9TRVNTSU9OWyd2ZW5kZWRvciddKSB7ID8+CgkJCQkJCQk8b3B0aW9uIHZhbHVlPSJhZG1pbiIgaGlkZGVuPjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idmVuZGVkb3IiIGhpZGRlbj48L29wdGlvbj4KCQkJCQkJCTxvcHRpb24gdmFsdWU9ImNsaWVudGUiPkNsaWVudGU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+QWRtaW5pc3RyYWRvcjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCB2YWx1ZT0iMCIgaWQ9ImFkbWluQyIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IkFkbWluaXN0cmFkb3IiIG5hbWU9ImFkbWluIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPlNpbTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+TsOjbzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5WZW5kZWRvcjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCB2YWx1ZT0iMCIgaWQ9InZlbmRlZG9yQyIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IlZlbmRlZG9yIiBuYW1lPSJ2ZW5kZWRvciIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj5TaW08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPk7Do288L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5MaXN0YXM6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ibGlzdGEiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJMaXN0YXMiIG11bHRpcGxlPgogICAgICAgICAgICAgICAgPD9waHAgaWYgKCRsaXN0YXMpIHsgCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3RhcyBhcyAkbGlzdGEpIHs/PgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI8Pz0kbGlzdGFbJ2lkX2xpc3RhJ10/PiI+PD89JGxpc3RhWydub21lX2xpc3RhJ10/Pjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgIDw/cGhwICB9IAogICAgICAgICAgICAgICAgICAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ibm9uZSIgb25jbGljaz0iYWRkRm9yY2UoKSIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIj5BZGljaW9uYXI8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPCEtLSBDYWRhc3RybyBGaW0tLT4KPD9waHAgfSA/Pgo8P3BocCB9ID8+CjwhLS0gUmVtb3ZlIEluaWNpbyAtLT4KPGRpdiBjbGFzcz0ibW9kYWwgZmFkZSIgaWQ9InJlbW92ZXIiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9IkNhZGFzdHJhciIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyIgcm9sZT0iZG9jdW1lbnQiPgogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgPGg1IGNsYXNzPSJtb2RhbC10aXRsZSI+VGVtIGNlcnRlemE/PC9oNT4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWxhYmVsPSJGZWNoYXIiPgogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJyZW1vdmVyLWNvbnRldWRvIiBjbGFzcz0ibW9kYWwtYm9keSI+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwhLS0gUmVtb3ZlIEZpbS0tPgo8P3BocCBpZigkX1NFU1NJT05bJ2FkbWluJ10pIHsgPz4KPCEtLSBFZGl0YSBJbmljaW8gLS0+CjxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJlZGl0YXIiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9IkNhZGFzdHJhciIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyIgcm9sZT0iZG9jdW1lbnQiPgogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgPGg1IGNsYXNzPSJtb2RhbC10aXRsZSI+RWRpdGFyIFVzdcOhcmlvPC9oNT4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWxhYmVsPSJGZWNoYXIiPgogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KICAgICAgICA8Zm9ybSBpZD0iZWRpdGFyLWZvcm0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImlkRSIgbmFtZT0iaWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk5vbWU6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9Im5vbWVFIiBuYW1lPSJub21lIiBwbGFjZWhvbGRlcj0iTm9tZSI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Mb2dpbjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0ibG9naW5FIiBuYW1lPSJsb2dpbiIgcGxhY2Vob2xkZXI9IkxvZ2luIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icyI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkaXZTZW5oYSIgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5TZW5oYTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9IlNlbmhhRSIgbmFtZT0ic2VuaGEiIHBsYWNlaG9sZGVyPSJTZW5oYSI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCQkJICAgPD9waHAgaWYoJF9TRVNTSU9OWydhZG1pbiddKSB7ID8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TcOheGltbyBkZSBDb25leMOjbzo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJUZWxhRSIgbmFtZT0iY29uZWN0YWRvIj4KICAgICAgICAgICAgICAgPC9kaXY+CgkJCSAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkVzdGFkbzo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0iZXN0YWRvRSIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IkVzdGFkbyIgbmFtZT0iZXN0YWRvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPkF0aXZvPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIwIj5EZXNhdGl2YWRvPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TsOtdmVsOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMCByb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJuaXZlbEUiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJOw612ZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgaWYoJF9TRVNTSU9OWydhZG1pbiddKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjbGllbnRlIj5DbGllbnRlPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkFkbWluaXN0cmFkb3I6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9ImFkbWluRSIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IkFkbWluaXN0cmFkb3IiIG5hbWU9ImFkbWluIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPlNpbTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+TsOjbzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5WZW5kZWRvcjo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0idmVuZGVkb3JFIiBjbGFzcz0ic2VsZWN0cGlja2VyIiB0aXRsZT0iVmVuZGVkb3IiIG5hbWU9InZlbmRlZG9yIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiPlNpbTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+TsOjbzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkxpc3Rhczo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJsaXN0YSIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9Ikxpc3RhcyIgbXVsdGlwbGU+CiAgICAgICAgICAgICAgICA8P3BocCBpZiAoJGxpc3RhcykgeyAKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkbGlzdGFzIGFzICRsaXN0YSkgez8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ijw/PSRsaXN0YVsnaWRfbGlzdGEnXT8+Ij48Pz0kbGlzdGFbJ25vbWVfbGlzdGEnXT8+PC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgIH0gCiAgICAgICAgICAgICAgICAgICAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJub25lIiBvbmNsaWNrPSJmb3JjZUVkaXQoKSIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIj5TYWx2YXI8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPCEtLSBFZGl0YSBGaW0tLT4KPD9waHAgfSA/Pgo8P3BocCBpZigkX1NFU1NJT05bJ3ZlbmRlZG9yJ10pIHsgPz4KPCEtLSBFZGl0YSBJbmljaW8gLS0+CjxkaXYgY2xhc3M9Im1vZGFsIGZhZGUiIGlkPSJlZGl0YXIiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9IkNhZGFzdHJhciIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyIgcm9sZT0iZG9jdW1lbnQiPgogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgPGg1IGNsYXNzPSJtb2RhbC10aXRsZSI+RWRpdGFyIFVzdcOhcmlvPC9oNT4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWxhYmVsPSJGZWNoYXIiPgogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+CiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KICAgICAgICA8Zm9ybSBpZD0iZWRpdGFyLWZvcm0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImlkRSIgbmFtZT0iaWQiPgoJCQkgICAgPD9waHAgaWYoJF9TRVNTSU9OWyd2ZW5kZWRvciddKSB7ID8+CiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9ImNvbmVjdGFkbyIgbmFtZT0iY29uZWN0YWRvIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSIxIj4KICAgICAgICAgICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Ob21lOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJub21lRSIgbmFtZT0ibm9tZSIgcGxhY2Vob2xkZXI9Ik5vbWUiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+TG9naW46PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImxvZ2luRSIgbmFtZT0ibG9naW4iIHBsYWNlaG9sZGVyPSJMb2dpbiI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9InMiPgogICAgICAgICAgICAgICAgPGRpdiBpZD0iZGl2U2VuaGEiIGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+U2VuaGE6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJTZW5oYUUiIG5hbWU9InNlbmhhIiBwbGFjZWhvbGRlcj0iU2VuaGEiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Fc3RhZG86PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9ImVzdGFkb0UiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJFc3RhZG8iIG5hbWU9ImVzdGFkbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj5BdGl2bzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+RGVzYXRpdmFkbzwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk7DrXZlbDo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0ibml2ZWxFIiBjbGFzcz0ic2VsZWN0cGlja2VyIiB0aXRsZT0iTsOtdmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKCRfU0VTU0lPTlsnYWRtaW4nXSkgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iY2xpZW50ZSI+Q2xpZW50ZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA/PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5BZG1pbmlzdHJhZG9yOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMCByb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJhZG1pbkUiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJBZG1pbmlzdHJhZG9yIiBuYW1lPSJhZG1pbiIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj5TaW08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPk7Do288L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+VmVuZGVkb3I6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9InZlbmRlZG9yRSIgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IlZlbmRlZG9yIiBuYW1lPSJ2ZW5kZWRvciIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxIj5TaW08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAiPk7Do288L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5MaXN0YXM6PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ibGlzdGEiIGNsYXNzPSJzZWxlY3RwaWNrZXIiIHRpdGxlPSJMaXN0YXMiIG11bHRpcGxlPgogICAgICAgICAgICAgICAgPD9waHAgaWYgKCRsaXN0YXMpIHsgCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxpc3RhcyBhcyAkbGlzdGEpIHs/PgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI8Pz0kbGlzdGFbJ2lkX2xpc3RhJ10/PiI+PD89JGxpc3RhWydub21lX2xpc3RhJ10/Pjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgIDw/cGhwICB9IAogICAgICAgICAgICAgICAgICAgIH0gPz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ibm9uZSIgb25jbGljaz0iZm9yY2VFZGl0KCkiIGNsYXNzPSJidG4gYnRuLWRhbmdlciI+U2FsdmFyPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZm9ybT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwhLS0gRWRpdGEgRmltLS0+Cjw/cGhwIH0gPz4KPC9ib2R5Pgo8c2NyaXB0PgogICAgdmFyIGNsb25lID0gJCgiI2RpdlNlbmhhIikuY2xvbmUoKTsKICAgIHZhciBjbG9uZUMgPSAkKCIjZGl2U2VuaGFDIikuY2xvbmUoKTsKICAgIC8vJCgiI2RpdlNlbmhhQyIpLnJlbW92ZSgpOwoKICAgICQoIiNjYWRhc3RybyIpLm9uKCdoaWRkZW4uYnMubW9kYWwnLCBmdW5jdGlvbiAoZSkgewogICAgICAgIGlmICgkKCAiI2FkbWluQyIgKS52YWwoKSAhPSAxKSB7CiAgICAgICAgICAgIC8vJCgiI3NDIikuZW1wdHkoKTsvL0RPX05PVEhJTkcKICAgICAgICB9CiAgICB9KTsKCiAgICAkKCAiI2FkbWluQyIgKS5jaGFuZ2UoZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKCQoICIjYWRtaW5DIiApLnZhbCgpID09IDEpIHsKICAgICAgICAgICAgJCgiI3NDIikuYXBwZW5kKGNsb25lQyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCgiI3NDIikuZW1wdHkoKTsKICAgICAgICB9CiAgICB9KTsKCiAgICBmdW5jdGlvbiBlZGl0YXJDb25maXJtYShkaWEsIGlkLG5vbWUsY29udGF0byxsb2dpbixlc3RhZG8sYWRtaW4sIHZlbmRlZG9yLCBsaXN0YSkgewoJaWYocGFyc2VJbnQoZGlhKSA+IDApewoJICAgJCgnI2RpYScpLnZhbChwYXJzZUludChkaWEpKTsKCX0gZWxzZSB7CgkgICAkKCcjZGlhJykudmFsKCcnKTsKCX0KICAgICAgICAkKCcjaWRFJykudmFsKGlkKTsKICAgICAgICAkKCcjbm9tZUUnKS52YWwobm9tZSk7CiAgICAgICAgJCgnI25pdmVsRScpLnZhbChwYXJzZUludCh2ZW5kZWRvcikgPT0gMSA/ICd2ZW5kZWRvcicgOiAocGFyc2VJbnQoYWRtaW4pID09IDEpID8gJ2FkbWluJyA6ICdjbGllbnRlJyk7CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICQoJyNuaXZlbEUnKS52YWwocGFyc2VJbnQodmVuZGVkb3IpID09IDEgPyAndmVuZGVkb3InIDogKHBhcnNlSW50KGFkbWluKSA9PSAxKSA/ICdhZG1pbicgOiAnY2xpZW50ZScpOwogICAgICAgICAgICAkKCcqW2RhdGEtaWQ9bml2ZWxFXScpLnRleHQocGFyc2VJbnQodmVuZGVkb3IpID09IDEgPyAndmVuZGVkb3InIDogKHBhcnNlSW50KGFkbWluKSA9PSAxKSA/ICdhZG1pbicgOiAnY2xpZW50ZScpOwogICAgICAgIH0sIDUwMCk7CiAgICAgICAgJCgnI1RlbGFFJykudmFsKGNvbnRhdG8pOwogICAgICAgICQoJyNsb2dpbkUnKS52YWwobG9naW4pOwogICAgICAgICQoJyNlc3RhZG9FJykudmFsKGVzdGFkbyk7CiAgICAgICAgJCgnI2VzdGFkb0UnKS5zZWxlY3RwaWNrZXIoJ3JlbmRlcicpOwogICAgICAgICQoJyNTZW5oYUUnKS52YWwoYWRtaW4pOwogICAgICAgICQoJyNhZG1pbkUnKS5zZWxlY3RwaWNrZXIoJ3JlbmRlcicpOwogICAgICAgIGlmIChwYXJzZUludChhZG1pbikgPT0gMCkgewoJICAgIGNvbnNvbGUubG9nKHBhcnNlSW50KHZlbmRlZG9yKSAhPT0gMSk7CgkgICAgaWYocGFyc2VJbnQodmVuZGVkb3IpICE9PSAxKXsKCQkkKCcjZXhkaWFFJykuc2hvdygpOwoJCSQoJyNDcmVkaXRvQycpLnNob3coKTsKCQkkKCcjQ29uZWN0YWRvRScpLnNob3coKTsKCSAgICB9IGVsc2UgewoJCSQoJyNleGRpYUUnKS5oaWRlKCk7CgkJJCgnI0NyZWRpdG9FJykuaGlkZSgpOwoJCSQoJyNDb25lY3RhZG9FJykuaGlkZSgpOwoJICAgIH0KICAgICAgICAgICAgLy8kKCcjZGl2U2VuaGEnKS5yZW1vdmUoKTsKICAgICAgICB9IGVsc2UgaWYgKCQoJyNkaXZTZW5oYScpLmxlbmd0aCA8IDEpIHsKICAgICAgICAgICAgJCgnI3MnKS5hcHBlbmQoY2xvbmUpOwogICAgICAgIH0KICAgICAgICAkKCcjbGlzdGFFJykudmFsKGxpc3RhKTsKICAgICAgICAkKCcjbGlzdGFFJykuc2VsZWN0cGlja2VyKCdyZW5kZXInKTsKICAgICAgICAkKCcjZWRpdGFyJykubW9kYWwoKTsKICAgIH0KCiAgICBmdW5jdGlvbiByZW1vdmVyQ29uZmlybWEoaWQsbm9tZSkgewogICAgICAgICQoJyNyZW1vdmVyLWNvbnRldWRvJykuaHRtbCgnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIiByb2xlPSJhbGVydCI+PHN0cm9uZz4gUmVtb3ZlciA8L3N0cm9uZz4nICsgbm9tZSArICc/PC9kaXY+PGJ1dHRvbiBvbmNsaWNrPSJyZW1vdmVyKCcgKyBpZCArICcpIiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4gYnRuLWRhbmdlciBmbG9hdC1yaWdodCI+UmVtb3ZlcjwvYnV0dG9uPicpOwogICAgICAgICQoJyNyZW1vdmVyJykubW9kYWwoKTsKICAgIH0KCglmdW5jdGlvbiByZW1vdmVyKGlkKXsKICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdjb250cm9sZXMvcmVtb3Zlci1jbGllbnRlLnBocD9pZF91c3VhcmlvPScgKyBpZDsKICAgIH0KCiAgICB2YXIgYWRkRm9yY2UgPSBmdW5jdGlvbigpewogICAgICAgICQoICIjY2FkYXN0cm8tZm9ybSIgKS50cmlnZ2VyKCdzdWJtaXQnKTsKICAgIH07CiAgICB2YXIgYWRkZWQgPSBmYWxzZTsKICAgICQoICIjY2FkYXN0cm8tZm9ybSIgKS5zdWJtaXQoZnVuY3Rpb24oIGV2ZW50ICkgewogICAgICAgIGlmKCFhZGRlZCl7CiAgICAgICAgICAgIGFkZGVkID0gdHJ1ZTsKICAgICAgICAgICAgaWYoJCgnI2NhZGFzdHJvLWZvcm0gc2VsZWN0W25hbWU9InZlbmRlZG9yIl0nKS52YWwoKS50cmltKCkgPT0gIiIpewogICAgICAgICAgICAgICAgJCgnI2NhZGFzdHJvLWZvcm0gc2VsZWN0W25hbWU9InZlbmRlZG9yIl0nKS52YWwoMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoJCgnI2NhZGFzdHJvLWZvcm0gc2VsZWN0W25hbWU9ImFkbWluIl0nKS52YWwoKS50cmltKCkgPT0gIiIpewogICAgICAgICAgICAgICAgJCgnI2NhZGFzdHJvLWZvcm0gc2VsZWN0W25hbWU9ImFkbWluIl0nKS52YWwoMCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKICAgICAgICAgICAgICAgIHVybDogImNvbnRyb2xlcy9hZGljaW9uYXItY2xpZW50ZS5waHAiLAogICAgICAgICAgICAgICAgZGF0YTogJCgiI2NhZGFzdHJvLWZvcm0iKS5zZXJpYWxpemUoKSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICByZXN1bHRhZG8oZGF0YS5yZXNwb25zZVRleHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgIH0pOwogICAgdmFyIGVkZGl0ZWQgPSBmYWxzZTsKICAgIHZhciBmb3JjZUVkaXQgPSBmdW5jdGlvbigpewogICAgICAgICQoICIjZWRpdGFyLWZvcm0iICkudHJpZ2dlcignc3VibWl0Jyk7CiAgICB9CiAgICAkKCAiI2VkaXRhci1mb3JtIiApLnN1Ym1pdChmdW5jdGlvbiggZXZlbnQgKSB7CiAgICAgICAgaWYoIWVkZGl0ZWQpewogICAgICAgICAgICBlZGRpdGVkID0gdHJ1ZTsKICAgICAgICAgICAgaWYoJCgnI2VkaXRhci1mb3JtIHNlbGVjdFtuYW1lPSJ2ZW5kZWRvciJdJykudmFsKCkudHJpbSgpID09ICIiKXsKICAgICAgICAgICAgICAgICQoJyNlZGl0YXItZm9ybSBzZWxlY3RbbmFtZT0idmVuZGVkb3IiXScpLnZhbCgwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZigkKCcjZWRpdGFyLWZvcm0gc2VsZWN0W25hbWU9ImFkbWluIl0nKS52YWwoKS50cmltKCkgPT0gIiIpewogICAgICAgICAgICAgICAgJCgnI2VkaXRhci1mb3JtIHNlbGVjdFtuYW1lPSJhZG1pbiJdJykudmFsKDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsCiAgICAgICAgICAgICAgICB1cmw6ICJjb250cm9sZXMvZWRpdGFyLWNsaWVudGUucGhwIiwKICAgICAgICAgICAgICAgIGRhdGE6ICQoIiNlZGl0YXItZm9ybSIpLnNlcmlhbGl6ZSgpLAogICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgIHJlc3VsdGFkbyhkYXRhLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSk7CiAgICA8P3BocCBpZigkX1NFU1NJT05bJ2FkbWluJ10pIHsgPz4KCSAgJCgnI3ZlbmRlZG9yQycpLnZhbCgwKTsKICAgICAgJCgnI2FkbWluQycpLnZhbCgxKTsKICAgIDw/cGhwIH0gPz4KCiAgICAkKCcjbml2ZWxDJykub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCl7CiAgICAgICB2YXIgdmFsdWUgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgJCgnI3NDJykuZW1wdHkoKTsKICAgICAgIGlmKHZhbHVlID09ICd2ZW5kZWRvcicpewogICAgICAgICAgICQoJyNhZG1pbkMnKS52YWwoMCk7CiAgICAgICAgICAgJCgnI3ZlbmRlZG9yQycpLnZhbCgxKTsKICAgICAgICAgICAkKCIjc0MiKS5hcHBlbmQoY2xvbmVDKTsKCSAgICQoJyNleGRpYUMnKS5oaWRlKCk7CgkgICAkKCcjQ29uZWN0YWRvQycpLmhpZGUoKTsKCSAgICQoJyNDcmVkaXRvQycpLnZhbCgxKTsKICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gJ2FkbWluJyl7CiAgICAgICAgICAgJCgnI2FkbWluQycpLnZhbCgxKTsKICAgICAgICAgICAkKCcjdmVuZGVkb3JDJykudmFsKDApOwogICAgICAgICAgICQoIiNzQyIpLmFwcGVuZChjbG9uZUMpOwoJICAgJCgnI2V4ZGlhQycpLmhpZGUoKTsKCSAgICQoJyNDb25lY3RhZG9DJykuaGlkZSgpOwoJICAgJCgnI0NyZWRpdG9DJykudmFsKDApOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgICAkKCcjYWRtaW5DJykudmFsKDApOwogICAgICAgICAgICQoJyN2ZW5kZWRvckMnKS52YWwoMCk7CgkgICAkKCIjc0MiKS5hcHBlbmQoY2xvbmVDKTsJICAgCgkgICAkKCcjZXhkaWFDJykuc2hvdygpOwoJICAgJCgnI0NvbmVjdGFkb0MnKS5zaG93KCk7CgkgICAkKCcjQ3JlZGl0b0MnKS52YWwoMCk7CiAgICAgICB9CiAgICB9KTsKCmZ1bmN0aW9uIHNldENvb2tpZShuYW1lLHZhbHVlLGRheXMpIHsKICAgIHZhciBleHBpcmVzID0gIiI7CiAgICBpZiAoZGF5cykgewogICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoKTsKICAgICAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyAoZGF5cyoyNCo2MCo2MCoxMDAwKSk7CiAgICAgICAgZXhwaXJlcyA9ICI7IGV4cGlyZXM9IiArIGRhdGUudG9VVENTdHJpbmcoKTsKICAgIH0KICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAiPSIgKyAodmFsdWUgfHwgIiIpICArIGV4cGlyZXMgKyAiOyBwYXRoPS8iOwp9CmZ1bmN0aW9uIGdldENvb2tpZShuYW1lKSB7CiAgICB2YXIgbmFtZUVRID0gbmFtZSArICI9IjsKICAgIHZhciBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpOwogICAgZm9yKHZhciBpPTA7aSA8IGNhLmxlbmd0aDtpKyspIHsKICAgICAgICB2YXIgYyA9IGNhW2ldOwogICAgICAgIHdoaWxlIChjLmNoYXJBdCgwKT09JyAnKSBjID0gYy5zdWJzdHJpbmcoMSxjLmxlbmd0aCk7CiAgICAgICAgaWYgKGMuaW5kZXhPZihuYW1lRVEpID09IDApIHJldHVybiBjLnN1YnN0cmluZyhuYW1lRVEubGVuZ3RoLGMubGVuZ3RoKTsKICAgIH0KICAgIHJldHVybiBudWxsOwp9CmZ1bmN0aW9uIGVyYXNlQ29va2llKG5hbWUpIHsgICAKICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUrJz07IE1heC1BZ2U9LTk5OTk5OTk5Oyc7ICAKfQogICAgZnVuY3Rpb24gbG9nYXIoaWQpewoJaWYoIWdldENvb2tpZSgnb3JpZ2luYWwnKSl7CgkgICBzZXRDb29raWUoJ29yaWdpbmFsJywgPD9waHAgZWNobyAkX1NFU1NJT05bJ2lkX3VzdWFyaW8nXSA/PiwgMSk7CQoJfQoJJC5nZXQoJ2NvbnRyb2xlcy9mb3JjYXItbG9naW4ucGhwP2lkX3VzdWFyaW89JyArIGlkLCBmdW5jdGlvbigpewoJICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgIH0pOwogICAgfQogICAgZnVuY3Rpb24gdmVyTG9ncyhpZCl7CiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnbG9nLnBocD9pZF91c3VhcmlvPScgKyBpZDsKICAgIH0KICAgICQoJyNuaXZlbEUnKS5vbignY2hhbmdlJywgZnVuY3Rpb24oKXsKICAgICAgIHZhciB2YWx1ZSA9ICQodGhpcykudmFsKCk7CiAgICAgICBpZih2YWx1ZSA9PSAndmVuZGVkb3InKXsKICAgICAgICAgICAkKCcjYWRtaW5FJykudmFsKDApOwogICAgICAgICAgICQoJyN2ZW5kZWRvckUnKS52YWwoMSk7CiAgICAgICAgICAgJCgiI3MiKS5hcHBlbmQoY2xvbmUpOwoJICAgJCgnI2V4ZGlhRScpLmhpZGUoKTsKCSAgICQoJyNDcmVkaXRvRScpLmhpZGUoKTsKCSAgICQoJyNDb25lY3RhZG9FJykuaGlkZSgpOwogICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSAnYWRtaW4nKSB7CiAgICAgICAgICAgJCgnI2FkbWluRScpLnZhbCgxKTsKICAgICAgICAgICAkKCcjdmVuZGVkb3JFJykudmFsKDApOyAKICAgICAgICAgICAkKCIjcyIpLmFwcGVuZChjbG9uZSk7CgkgICAkKCcjZXhkaWFFJykuaGlkZSgpOwoJICAgJCgnI0NyZWRpdG9FJykuaGlkZSgpOwoJICAgJCgnI0NvbmVjdGFkb0UnKS5oaWRlKCk7CiAgICAgICB9IGVsc2UgewogICAgICAgICAgICQoJyNhZG1pbkUnKS52YWwoMCk7CiAgICAgICAgICAgJCgnI3ZlbmRlZG9yRScpLnZhbCgwKTsKICAgICAgICAgICAkKCIjcyIpLmFwcGVuZChjbG9uZSk7CgkgICAkKCcjZXhkaWFFJykuc2hvdygpOwoJICAgJCgnI0NyZWRpdG9FJykuc2hvdygpOwoJICAgJCgnI0NvbmVjdGFkb0UnKS5zaG93KCk7CiAgICAgICB9CiAgICB9KTsKICAgIGlmKHdpbmRvdy5tb2JpbGVjaGVjaygpKXsKCSQoJyNjaGVja21lJykucmVtb3ZlKCk7CiAgICB9CiAgICAkKCcudGhlYWQtbGlnaHQgdGg6bm90KCIubm9tZWNvbCIpJykucmVtb3ZlKCk7Cjwvc2NyaXB0Pgo8P3BocCByZXF1aXJlX29uY2UoImNvbXVtLnBocCIpOyAKcmVxdWlyZV9vbmNlKCJhbGVydGEucGhwIik7Pz4KCjwvaHRtbD4KPD9waHAgCn0gZWxzZSB7CiAgICBoZWFkZXIoIkxvY2F0aW9uOiBpbmRleC5waHAiKTsKICAgIGRpZSgpOwp9Cj8+"));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program

Function Calls

base64_decode 1

Variables

None

Stats

MD5 3f9eaea45a0e08fd442e93426896b00f
Eval Count 1
Decode Time 143 ms