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 $_F=__FILE__;$_X='P0pLPz1WPQ03DTd7Kg03QipCNERXTkQuQnNkV2QyUERVQm9ve29GezZGb1NCLUJRYX..
Decoded Output download
$_X=base64_decode($_X);$_X=strtr($_X,'EAusFYB36ND S{=</h4tRkTaJl8byHmg2w0C]q.MiQ[KfZ5cvWonUGejrO
}dP9pXIzVx1L7>','utIW0c D2de.6/p5OSMb9ABN>RFTHxfoaLkVsYlzCU{<qjZ8vn1Er4K[XQ]7iw3JGg}hPm=
y');$_R=str_replace('__FILE__',"'".$_F."'",$_X);eval($_R);$_R=0;$_X=0;?><?php
/*
* Mendel Winiawer 11/10/2016 - UNIMED - Gera um protocolo UNIMED e abre uma OC
* RETORNA um XML feitoo a mo para seguir os padres da UNIMED brasil
*/
$server->wsdl->addComplexType(
'ct_solicitarProtocoloWS', 'complexType', 'struct', 'all', '', array(
'cabecalhoTransacao' => array('type' => 'tns:ct_cabecalhoTransacao', 'name' => 'cabecalhoTransacao'),
'solicitarProtocolo' => array('type' => 'tns:ct_solicitarProtocolo', 'name' => 'solicitarProtocolo'),
'hash' => array('name' => 'hash', 'type' => 'xsd:string')
)
);
$server->wsdl->addComplexType(
'ct_solicitarProtocolo', 'complexType', 'struct', 'all', '', array(
'numeroTransacaoPrestadora' => array('type' => 'xsd:string', 'name' => 'numeroTransacaoPrestadora'),
'dataGeracao' => array('type' => 'xsd:string', 'name' => 'dataGeracao'),
'idUsuario' => array('type' => 'xsd:string', 'name' => 'idUsuario'),
'identificacaoBeneficiario' => array('type' => 'tns:ct_identificacaoBeneficiario', 'name' => 'identificacaoBeneficiario'),
'dadosBeneficiario' => array('type' => 'tns:ct_dadosBeneficiario', 'name' => 'dadosBeneficiario'),
'identificacaoManifestacao' => array('type' => 'tns:ct_identificacaoManifestacao', 'name' => 'identificacaoManifestacao'),
'idresposta' => array('type' => 'xsd:string', 'name' => 'idresposta'),
'mensagemLivre' => array('type' => 'xsd:string', 'name' => 'mensagemLivre'),
'numeroVersaoProtocolo' => array('type' => 'xsd:string', 'name' => 'numeroVersaoProtocolo')
)
);
$server->wsdl->addComplexType(
'ct_identificacaoManifestacao', 'complexType', 'struct', 'all', '', array(
'tipoManifestacao' => array('type' => 'xsd:string', 'name' => 'tipoManifestacao'),
'tipoCategoria' => array('type' => 'xsd:string', 'name' => 'tipoCategoria'),
'tipoSentimento' => array('type' => 'xsd:string', 'name' => 'tipoSentimento')
));
//REGISTRO DO WSDL
//29/09/2016 - No lugar de rdc utilizar element nao carrega no xml a estrutura response. (rpc|document|element)
$server->register('solicitarProtocoloWS',
//ENTRADA
array('solicitarProtocoloWS' => 'tns:ct_solicitarProtocoloWS'),
//SAIDA
array('response' => 'xsd:string'),
//quebrando linha para debug
'http://gp.unimed.coop.br/schemas/V1_1_0', 'http://gp.unimed.coop.br/schemas/V1_1_0', 'document', 'literal' //literal|encoded
);
/**
* Quando a UNIMED BRASIL solicitar este WSDL, ao retornar o novo protocolo tambem vamos abrir
* uma ocorrencia nova ocorrencia
*/
$server->methodreturnisliteralxml = true;
function solicitarProtocoloWS($cabecalho, $dados, $hash) {
include_once '../webservices/integracao_externa/functions/funcs_unimed.php';
$operacao = 'solicitarProtocoloWS';
$protocolo = createLocalProtocol();
$date = date('d_m_y');
$errorExist = false;
$ans_register = getCONFIGURACAO('ANS_REGISTER');
$habilita_integracao_unimed = getCONFIGURACAO('HABILITA_INTEGRACAO_UNIMED');
/*
* FORAR ERRO PARA DEBUG
$logError['numero'] = 3;
$logError['msg'] = "Erro forado";
$errorExist = true;
/* -------------------------------------- */
/* PRIMEIRAS VALIDAES ANTES DE BUSCAR DADOS NO BANCO ------------------------------------------------------------------------------ */
if (!$dados['numeroTransacaoPrestadora']) {
$logError['numero'] = '1';
$logError['msg'] = "Numero da Transao da Prestadora no informado";
$errorExist = true;
write_log(array('numeroTransacaoPrestadora' => $dados['numeroTransacaoPrestadora']), $operacao . "_$date.txt");
}
if (!$habilita_integracao_unimed || !$ans_register) {
$logError['numero'] = '1';
$logError['msg'] = "Configurao Unimed incorreta";
$errorExist = true;
write_log(array('habilita_integracao_unimed' => $habilita_integracao_unimed, 'ans_register' => $ans_register), $operacao . "_$date.txt");
}
if ((!$dados['identificacaoBeneficiario']['codigoUnimed'] || trim($dados['identificacaoBeneficiario']['codigoUnimed']) == '') || (!$dados['identificacaoBeneficiario']['codigoIdentificacao'] || trim($dados['identificacaoBeneficiario']['codigoIdentificacao']) == '')) {
$logError['numero'] = '1';
$logError['msg'] = "Identificao do Beneficirio incorreta";
$errorExist = true;
write_log(array('$IDENTIFICACAOBENEFICIARIO' => $IDENTIFICACAOBENEFICIARIO, "solicitacao['identificacaoBeneficiario']", $dados['identificacaoBeneficiario']), $operacao . "_$date.txt");
} else
$IDENTIFICACAOBENEFICIARIO = create_idBeneficiario($dados['identificacaoBeneficiario']['codigoUnimed'], $dados['identificacaoBeneficiario']['codigoIdentificacao']);
//CASO EXISTAM ERROS ATE AQUI JA RETORNA MENSAGENS
if ($errorExist)
return return_error($logError, $cabecalho, $dados, $protocolo, $operacao);
/* ---------------------------------------------------------------------------------------------------------------------------------- */
//Nao houve erros e continua com validacao para retornar numero protocolo
$operador = $_SESSION['USUARIO']['IDSENHA'] = db_getOne("Select first 1 idsenha from senhas where codigo_auxiliar = 'integracao'");
/*
* Buscando o cliente pela carteirinha (codigo_auxiliar)
*/
$cfg['filter'] = array('codigo_auxiliar' => $IDENTIFICACAOBENEFICIARIO);
$idcliente = Clientes::validaCliente($cfg, 'idcliente');
if (!$idcliente) {
$logError['numero'] = '1';
$logError['msg'] = "Cliente no localizado na base de dados";
$errorExist = true;
write_log(array('numeroTransacaoPrestadora' => $dados['numeroTransacaoPrestadora']), $operacao . "_$date.txt");
} else {
$protocol_number = $protocolo['protocolo'] > 0 ? $protocolo['protocolo'] : '';
if ($protocol_number && $protocol_number > 0) {
//PESQUISAR DIVISAO INTERCAMBIO
$sd = new Servicedesk();
//RECUPERA IDORIGEM CASO EXISTA
$idorigem = db_getOne("SELECT IDORIGEM FROM ORIGENS WHERE CODIGO = 'UNIMED' AND ATIVO = 'T'");
if (!$idorigem) {
//INCLUIR ORIGEM UNIMED NA TABELA ORIGENS E RECUPERAR IDORIGEM
$idorigem = db_GetOne('select gen_id(gen_idorigem, 1) from rdb$database');
$insertOrigem = db_insert('ORIGENS', array('IDORIGEM' => $idorigem, 'CODIGO' => 'UNIMED', 'NOME' => 'INTEGRACAO_UNIMED', 'PADRAO' => 'F', 'ATIVO' => 'T'), 'IDORIGEM');
}
//Buscando Divisao e solicitacao com codigo 'intercambio' - definido com Bruna 23/08/2016
$sql = "SELECT D.IDDIVISAO, P.PROB_ID FROM ORDEM_SERVICO_DIVISAO D
INNER JOIN HD_PROBLEMAS P ON P.PROB_AREA = D.IDDIVISAO
WHERE D.CODIGO = 'intercambio'
AND P.CODIGO = 'intercambio'";
$div_sol = db_GetRow($sql);
if (($div_sol['prob_id'] && trim($div_sol['prob_id']) != '') && ($div_sol['iddivisao'] && trim($div_sol['iddivisao']) != '')) {
$SENTIMENTO = array(
'1' => 'Calmo',
'2' => 'Desconfiado',
'3' => 'Nervoso',
'4' => 'Satisfeito'
);
$CATEGORIA = array(
'1' => 'Mdicos Cooperados ',
'2' => 'Hospitais/Clnicas Credenciadas ',
'3' => 'Hospitais/ Clnicas Unimed ',
'4' => 'Operadora ',
'5' => 'Coberturas ',
'6' => 'Carncia ',
'7' => 'Fatura ',
'8' => 'Cancelamento de Plano ',
'9' => 'Compra de Plano ',
'10' => 'Alteraes Cadastrais ',
'11' => 'Estorno ',
'12' => 'Posio de Pagamento ',
'13' => 'IRPF ',
'14' => 'Parcerias/Doaes ',
'15' => '2 via de boleto ',
'16' => 'Envio de Carto ',
'17' => 'Documentos ',
'18' => 'Guia Mdico ',
'19' => 'Procedimento Mdico'
);
$MANIFESTACAO = array(
'1' => 'Elogio',
'2' => 'Reclamao',
'3' => 'Denncia',
'4' => 'Sugesto',
'5' => 'Dvida',
'6' => 'Solicitao'
);
//MONTA MENSAGEM LIVRE COM OS PARAMETROS INFORMADOS CONFORME DEFINIDO COM ROGERIO UNIMED GUARULHOS DIA 23/08/2016
$msglivre = "
MENSAGEMLIVRE:: "
. (trim($dados['mensagemLivre'] != '') ? utf8_decode($dados['mensagemLivre']) : 'NAO INFORMADO')
. "
IDUSUARIO: "
. (trim($dados['idUsuario'] != '') ? $dados['idUsuario'] : 'NAO INFORMADO')
. "
DDD/TELEFONE: ("
. (trim($dados['dadosBeneficiario']['ddd'] != '') ? $dados['dadosBeneficiario']['ddd'] : 'NAO INFORMADO')
. ") "
. (trim($dados['dadosBeneficiario']['telefone'] != '') ? $dados['dadosBeneficiario']['telefone'] : 'NAO INFORMADO')
. "
EMAIL: "
. (trim($dados['dadosBeneficiario']['email'] != '') ? $dados['dadosBeneficiario']['email'] : 'NAO INFORMADO')
. "
MANIFESTACAO: "
. (trim($dados['identificacaoManifestacao']['tipoManifestacao'] != '') ? $MANIFESTACAO['' . $dados['identificacaoManifestacao']['tipoManifestacao']] : 'NAO INFORMADO')
. "
CATEGORIA: "
. (trim($dados['identificacaoManifestacao']['tipoCategoria'] != '') ? $CATEGORIA['' . $dados['identificacaoManifestacao']['tipoCategoria']] : 'NAO INFORMADO')
. "
SENTIMENTO: "
. (trim($dados['identificacaoManifestacao']['tipoSentimento'] != '') ? $SENTIMENTO['' . $dados['identificacaoManifestacao']['tipoSentimento']] : 'NAO INFORMADO')
. "
NUMEROTRANSASAOPRESTADORA: "
. (trim($dados['numeroTransacaoPrestadora'] != '') ? $dados['numeroTransacaoPrestadora'] : 'NAO INFORMADO')
. "
NUMEROPROTOCOLOANTERIOR: "
. (trim($dados['numeroProtocoloAnterior'] != '') ? $dados['numeroProtocoloAnterior'] : 'NAO INFORMADO')
. "
IDRESPOSTA: "
. (trim($dados['idresposta'] != '') ? $dados['idresposta'] : 'NAO INFORMADO');
$params = array(
'codigo_oc' => $protocol_number,
'numerotransacao' => $dados['numeroTransacaoPrestadora'],
'idcliente' => $idcliente,
'problema' => $div_sol['prob_id'],
'solicitacao' => $div_sol['prob_id'],
'sistema' => $div_sol['iddivisao'],
'iddivisao' => $div_sol['iddivisao'],
'idorigem' => $idorigem, //SETA ORIGEM UNIMED_INTEGRACAO
'idempresa' => 1,
'aberto_por' => $operador,
'origem_formulario' => 'webservices',
'interface' => 'ajax', //setando ajax porque estamos tratando a mensagem de erro atraves do success true/false
'no_redirect' => true
);
//IDOCORRENCIA
$params['numero_oco_antes'] = db_GetOne('select gen_id(gen_hd_ocorrencias_numero, 1) from rdb$database');
//CASO IDRESPOSTA SEJA 3 (STRING OU INTEIRO) OCORRENCIA TERA STATUS FINALIZADO CONFORME DEFINIDO COM ROGERIO 24/08/2016
if ($dados['idresposta'] == 3) {
$codigoStatusFinalizado = 'finalizada';
$status_oco = db_GetOne("SELECT HD_STATUS.STAT_ID FROM HD_STATUS WHERE HD_STATUS.CODIGO = '$codigoStatusFinalizado'");
if ($status_oco) {
$params['idstatus_inicial_oc'] = $status_oco;
} else {
$logError['numero'] = '1';
$logError['msg'] = "Erro de configurao: no foi possvel localizar o STATUS com CODIGO = '$codigoStatusFinalizado'.";
$errorExist = true;
}
}
//Monta descricao da ocorrencia
$params['descricao'] = "Aberto pelo GPU - data: " . date('Y/m/d H:i:s') . $msglivre;
//Abrindo ocorrencia
$ok = $sd->insertOC($params);
if (!$ok['success'] && $ok['error']) {
$logError['numero'] = '1';
$logError['msg'] = "Erro ao salvar dados da solicitao";
$errorExist = true;
}
//Armazenando os dados da solicitao original
Servicedesk::set_dados_webservice($params['numero_oco_antes'], array($cabecalho, $dados));
$protocolo['protocolo'] = $protocol_number;
$dados['mensagemLivre'] = $ok['msg']; //'Resposta gerada automaticamente pelo sistema Multidados';
} else {
//CASO NAO EXISTA A DIVISAO INTERCAMBIO
$logError['msg'] = "Ocorrncia no foi aberta, Diviso/solicitao com cdigo 'intercambio' no est cadastrada. Protocolo: $protocol_number gerado pelo WSDL" . "
";
$logError['numero'] = '1';
$errorExist = true;
}
} else {
$logError['msg'] = "";
$logError['numero'] = '1';
$errorExist = true;
}
}
if ($errorExist)
return return_error($logError, $cabecalho, $dados, $protocolo, $operacao);
else {
$date = date('c'); // data completa
//$cabecalho['codigoTransacao'] = '007'; // ALTERADO EM 30-05-2017 EM CONVERSA COM O ROGERIO PELO SKYPE, Inacio
$cabecalho['codigoTransacao'] = '002';
$xml = '<respostasolicitarProtocoloWS xmlns="http://gp.unimed.coop.br/schemas/V1_1_0">'
//Cabealho
. (xml_cabecalho($cabecalho, false))
//Resp Solicitar Protocolo
. '<respostasolicitarProtocolo>'
. '<numeroTransacaoPrestadora>' . $dados['numeroTransacaoPrestadora'] . '</numeroTransacaoPrestadora>'
. '<dataGeracao>' . $date . '</dataGeracao>'
. '<idUsuario>' . $dados['idUsuario'] . '</idUsuario>'
//identificao Beneficiario
. (xml_id_beneficiario($dados))
. '<numeroProtocolo>' . $protocolo['protocolo'] . '</numeroProtocolo>';
/* * *
* Inacio 31-05-2017
* Em conversa com o Rogerio da UNIMED pelo Skype, colocamos essa condio quando a Unimed solicitar nosso protocolo.
* quando eles no enviarem o idresposta enviamos 2, caso contrario permanece o deles.
*/
if (empty($dados['idresposta'])) {
$xml .= '<idResposta>2</idResposta>';
} else {
$xml .= '<idResposta>' . $dados['idresposta'] . '</idResposta>';
}
$conteudo_xml = $dados['codigoTransacao'] . $dados['tipoCliente'] . $dados['codigoUnimedOrigemMensagem'];
$conteudo_xml .= $dados['codigoUnimedDestinoMensagem'] . $dados['numeroTransacaoPrestadora'];
$conteudo_xml .= $date . $dados['idUsuario'] . $dados['identificacaoBeneficiario']['codigoUnimed'];
$conteudo_xml .= $dados['identificacaoBeneficiario']['codigoIdentificacao'] . $protocolo['protocolo'] . $idresposta;
$conteudo_xml .= $dados['mensagemLivre'] . '1' . $dados['numeroVersaoProtocolo'];
$hash = hash('md5', $conteudo_xml);
$xml .= '<mensagemLivre>' . $dados['mensagemLivre'] . '</mensagemLivre>'
. '<origemResposta>1</origemResposta>'
. '<numeroVersaoProtocolo>' . $dados['numeroVersaoProtocolo'] . '</numeroVersaoProtocolo>'
. '</respostasolicitarProtocolo>'
//Final
/** Inacio 11/03/2020
* o hash agora precisa ser um MD5 de todos os dados do XML portanto no mais o mktime da data atual
*/
//. '<hash>' . $protocolo['numerotransacao'] . '</hash>'
. '<hash>' . $hash . '</hash>'
. '</respostasolicitarProtocoloWS>';
}
return $xml;
}
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_X='P0pLPz1WPQ03DTd7Kg03QipCNERXTkQuQnNkV2QyUERVQm9ve29GezZGb1NCLUJRYXU0bjNCLUJYRFUyQkUxQj1VZ0FnWWcuZ0JRYXU0bjNCREIydFVEQkUxMkIvaQ03QipCbG5iL2xha0JFMUJyNHdCbURkQWdnQjJCMeNnQj0yVTJCXURJRWRVQmddQj0yTlX1RF1CTjJCUWF1NG4zQnRVMl1kLg03Qip7DTcNNyRdRFV2RFUtSlBdTi4tSjJOTmlnMT0uREhiPj1EKA03QkJCQkJCQkInWUFfXWcuZFlkQTJVeFVnQWdZZy5nc2gnLEInWWcxPS5ESGI+PUQnLEInXUFVRVlBJyxCJzIuLicsQicnLEIyVVUyPigNN0JCQkInWTJ0RFkyLlZnYlUyV10yWTJnJ0JMSkIyVVUyPignQT49RCdCTEpCJ0FXXTpZQV9ZMnREWTIuVmdiVTJXXTJZMmcnLEInVzIxRCdCTEpCJ1kydERZMi5WZ2JVMlddMlkyZycpLA03QkJCQiddZy5kWWRBMlV4VWdBZ1lnLmcnQkxKQjJVVTI+KCdBPj1EJ0JMSkInQVddOllBX11nLmRZZEEyVXhVZ0FnWWcuZycsQidXMjFEJ0JMSkInXWcuZFlkQTJVeFVnQWdZZy5nJyksDTdCQkJCJ1YyXVYnQkxKQjJVVTI+KCdXMjFEJ0JMSkInVjJdVicsQidBPj1EJ0JMSkInSF1OOl1BVWRXSScpDTdCQkJCQkJCQikNNyk7DTcNNyRdRFV2RFUtSlBdTi4tSjJOTmlnMT0uREhiPj1EKA03QkJCQkJCQkInWUFfXWcuZFlkQTJVeFVnQWdZZy5nJyxCJ1lnMT0uREhiPj1EJyxCJ11BVUVZQScsQicyLi4nLEInJyxCMlVVMj4oDTdCQkJCJ1dFMURVZ2JVMlddMlkyZ3hVRF1BMk5nVTInQkxKQjJVVTI+KCdBPj1EJ0JMSkInSF1OOl1BVWRXSScsQidXMjFEJ0JMSkInV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMicpLA03QkJCQidOMkEyWERVMlkyZydCTEpCMlVVMj4oJ0E+PUQnQkxKQidIXU46XUFVZFdJJyxCJ1cyMUQnQkxKQidOMkEyWERVMlkyZycpLA03QkJCQidkTlFdRTJVZGcnQkxKQjJVVTI+KCdBPj1EJ0JMSkInSF1OOl1BVWRXSScsQidXMjFEJ0JMSkInZE5RXUUyVWRnJyksDTdCQkJCJ2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnQkxKQjJVVTI+KCdBPj1EJ0JMSkInQVddOllBX2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnLEInVzIxRCdCTEpCJ2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnKSwNN0JCQkInTjJOZ11URFdEbWRZZDJVZGcnQkxKQjJVVTI+KCdBPj1EJ0JMSkInQVddOllBX04yTmddVERXRG1kWWQyVWRnJyxCJ1cyMUQnQkxKQidOMk5nXVREV0RtZFlkMlVkZycpLA03QkJCQidkTkRXQWRtZFkyWTJnNDJXZG1EXUEyWTJnJ0JMSkIyVVUyPignQT49RCdCTEpCJ0FXXTpZQV9kTkRXQWRtZFkyWTJnNDJXZG1EXUEyWTJnJyxCJ1cyMUQnQkxKQidkTkRXQWRtZFkyWTJnNDJXZG1EXUEyWTJnJyksDTdCQkJCJ2ROVURdPWddQTInQkxKQjJVVTI+KCdBPj1EJ0JMSkInSF1OOl1BVWRXSScsQidXMjFEJ0JMSkInZE5VRF09Z11BMicpLA03QkJCQicxRFddMklEMXdkdlVEJ0JMSkIyVVUyPignQT49RCdCTEpCJ0hdTjpdQVVkV0knLEInVzIxRCdCTEpCJzFEV10ySUQxd2R2VUQnKSwNN0JCQkInV0UxRFVnQ0RVXTJneFVnQWdZZy5nJ0JMSkIyVVUyPignQT49RCdCTEpCJ0hdTjpdQVVkV0knLEInVzIxRCdCTEpCJ1dFMURVZ0NEVV0yZ3hVZ0FnWWcuZycpDTdCQkJCQkJCQikNNyk7DTcNNyRdRFV2RFUtSlBdTi4tSjJOTmlnMT0uREhiPj1EKA03QkJCQkJCQkInWUFfZE5EV0FkbWRZMlkyZzQyV2RtRF1BMlkyZycsQidZZzE9LkRIYj49RCcsQiddQVVFWUEnLEInMi4uJyxCJycsQjJVVTI+KA03QkJCQidBZD1nNDJXZG1EXUEyWTJnJ0JMSkIyVVUyPignQT49RCdCTEpCJ0hdTjpdQVVkV0knLEInVzIxRCdCTEpCJ0FkPWc0MldkbURdQTJZMmcnKSwNN0JCQkInQWQ9Z2kyQURJZ1VkMidCTEpCMlVVMj4oJ0E+PUQnQkxKQidIXU46XUFVZFdJJyxCJ1cyMUQnQkxKQidBZD1naTJBRElnVWQyJyksDTdCQkJCJ0FkPWdoRFdBZDFEV0FnJ0JMSkIyVVUyPignQT49RCdCTEpCJ0hdTjpdQVVkV0knLEInVzIxRCdCTEpCJ0FkPWdoRFdBZDFEV0FnJykNNykpOw03DTd7e2xuWHVoYmwvQjMvQnNoM3cNN3t7NlJ7RlJ7NkZvU0ItQmFnQi5FSTJVQk5EQlVOWUJFQWQuZE0yVUJELkQxRFdBQlcyZ0JZMlVVREkyQldnQkgxLkIyQkRdQVVFQUVVMkJVRF09Z1ddRCBCKFU9WXxOZ1lFMURXQXxELkQxRFdBKQ03JF1EVXZEVS1KVURJZF1BRFUoJ11nLmRZZEEyVXhVZ0FnWWcuZ3NoJywNN0JCQkJCQkJCe3tuYWJsazNrDTdCQkJCQkJCQjJVVTI+KCddZy5kWWRBMlV4VWdBZ1lnLmdzaCdCTEpCJ0FXXTpZQV9dZy5kWWRBMlV4VWdBZ1lnLmdzaCcpLA03QkJCQkJCQkJ7e2hrdTNrDTdCQkJCQkJCQjJVVTI+KCdVRF09Z1ddRCdCTEpCJ0hdTjpdQVVkV0knKSwNN0JCQkJCQkJCe3tmRUR0VTJXTmdCLmRXVjJCPTJVMkJORHRFSQ03QkJCQkJCQkInVkFBPTp7e0k9IEVXZDFETiBZZ2c9IHRVe11ZVkQxMl17Q29fb19GJyxCJ1ZBQT06e3tJPSBFV2QxRE4gWWdnPSB0VXtdWVZEMTJde0NvX29fRicsQidOZ1lFMURXQScsQicuZEFEVTIuJ0J7ey5kQURVMi58RFdZZ05ETg03KTsNN3sqKg03QipCT0UyV05nQjJCUWF1NG4zQlRsa2h1d0JdZy5kWWRBMlVCRF1BREJzaDN3LEIyZ0JVREFnVVcyVUJnQldndmdCPVVnQWdZZy5nQkEyMXREMUJ2MjFnXUIydFVkVQ03QipCRTEyQmdZZ1VVRFdZZDJCV2d2MkJnWWdVVURXWWQyDTdCKnsNNyRdRFV2RFUtSjFEQVZnTlVEQUVVV2RdLmRBRFUyLkgxLkJMQkFVRUQ7DTcNN21FV1lBZGdXQl1nLmRZZEEyVXhVZ0FnWWcuZ3NoKCRZMnREWTIuVmcsQiROMk5nXSxCJFYyXVYpQlsNNw03QkJCQmRXWS5FTkRfZ1dZREInICB7UER0XURVdmRZRF17ZFdBRElVMlkyZ19ESEFEVVcye21FV1lBZGdXXXttRVdZXV9FV2QxRE4gPVY9JzsNN0JCQkIkZz1EVTJZMmdCTEInXWcuZFlkQTJVeFVnQWdZZy5nc2gnOw03QkJCQiQ9VWdBZ1lnLmdCTEJZVUQyQUR3Z1kyLnhVZ0FnWWcuKCk7DTdCQkJCJE4yQURCTEJOMkFEKCdOXzFfPicpOw03QkJCQiREVVVnVW5IZF1BQkxCbTIuXUQ7DTcNN0JCQkIkMlddX1VESWRdQURVQkxCSURBaS9hOHVYUWxraWsvKCdrYWhfbG5YdWhibmwnKTsNN0JCQkIkVjJ0ZC5kQTJfZFdBRElVMlkyZ19FV2QxRE5CTEJJREFpL2E4dVhRbGtpay8oJ3lrVHV3dWJrX3VhYm5YbGtpay9fUWF1NG4zJyk7DTcNN0JCQkJ7Kg03QkJCQkIqQjgvbMdrbEJubGwvQnhrbGtCM25UUVgNN0JCQkJCQiQuZ0luVVVnVWonV0UxRFVnJwpCTEI5Ow03QkJCQkJCJC5nSW5VVWdVaicxXUknCkJMQiJuVVVnQm1nVecyTmciOw03QkJCQkJCJERVVWdVbkhkXUFCTEJBVUVEOw03QkJCQkJCeypCLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1CKnsNNw03QkJCQnsqQnhsdTRudWxraEJDa3d1M2vH1W5oQmthYm5oQjNuQlRRaGlrbEIzazMvaEJhL0JUa2FpL0ItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1CKnsNN0JCQkJkbUIoISROMk5nXWonV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMicKKUJbDTdCQkJCQkJCQiQuZ0luVVVnVWonV0UxRFVnJwpCTEInbyc7DTdCQkJCQkJCQiQuZ0luVVVnVWonMV1JJwpCTEIiYUUxRFVnQk4yQmJVMlddMufjZ0JOMkJ4VURdQTJOZ1UyQlfjZ0JkV21nVTEyTmciOw03QkJCQkJCQkIkRFVVZ1VuSGRdQUJMQkFVRUQ7DTdCQkJCQkJCQlBVZEFEXy5nSSgyVVUyPignV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMidCTEpCJE4yTmddaidXRTFEVWdiVTJXXTJZMmd4VURdQTJOZ1UyJwopLEIkZz1EVTJZMmdCIEIiXyROMkFEIEFIQSIpOw03QkJCQnoNNw03QkJCQmRtQighJFYydGQuZEEyX2RXQURJVTJZMmdfRVdkMUROQnx8QiEkMlddX1VESWRdQURVKUJbDTdCQkJCQkJCQiQuZ0luVVVnVWonV0UxRFVnJwpCTEInbyc7DTdCQkJCQkJCQiQuZ0luVVVnVWonMV1JJwpCTEIiaWdXbWRJRVUy5+NnQlFXZDFETkJkV1lnVVVEQTIiOw03QkJCQkJCQkIkRFVVZ1VuSGRdQUJMQkFVRUQ7DTdCQkJCQkJCQlBVZEFEXy5nSSgyVVUyPignVjJ0ZC5kQTJfZFdBRElVMlkyZ19FV2QxRE4nQkxKQiRWMnRkLmRBMl9kV0FESVUyWTJnX0VXZDFETixCJzJXXV9VRElkXUFEVSdCTEpCJDJXXV9VRElkXUFEVSksQiRnPURVMlkyZ0IgQiJfJE4yQUQgQUhBIik7DTdCQkJCeg03DTdCQkJCZG1CKCghJE4yTmddaidkTkRXQWRtZFkyWTJnVERXRG1kWWQyVWRnJwpqJ1lnTmRJZ1FXZDFETicKQnx8QkFVZDEoJE4yTmddaidkTkRXQWRtZFkyWTJnVERXRG1kWWQyVWRnJwpqJ1lnTmRJZ1FXZDFETicKKUJMTEInJylCfHxCKCEkTjJOZ11qJ2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnCmonWWdOZElndU5EV0FkbWRZMlkyZycKQnx8QkFVZDEoJE4yTmddaidkTkRXQWRtZFkyWTJnVERXRG1kWWQyVWRnJwpqJ1lnTmRJZ3VORFdBZG1kWTJZMmcnCilCTExCJycpKUJbDTdCQkJCQkJCQiQuZ0luVVVnVWonV0UxRFVnJwpCTEInbyc7DTdCQkJCQkJCQiQuZ0luVVVnVWonMV1JJwpCTEIidU5EV0FkbWRZMufjZ0JOZ0JURFdEbWRZZOFVZGdCZFdZZ1VVREEyIjsNN0JCQkJCQkJCJERVVWdVbkhkXUFCTEJBVUVEOw03QkJCQkJCQkJQVWRBRF8uZ0koMlVVMj4oJyR1M25hYnU4dWlraWsvVG5hbjh1aXVrbHUvJ0JMSkIkdTNuYWJ1OHVpa2lrL1RuYW44dWl1a2x1LyxCIl1nLmRZZEEyWTJnaidkTkRXQWRtZFkyWTJnVERXRG1kWWQyVWRnJwoiLEIkTjJOZ11qJ2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnCiksQiRnPURVMlkyZ0IgQiJfJE4yQUQgQUhBIik7DTdCQkJCekJELl1EDTdCQkJCQkJCQiR1M25hYnU4dWlraWsvVG5hbjh1aXVrbHUvQkxCWVVEMkFEX2ROVERXRG1kWWQyVWRnKCROMk5nXWonZE5EV0FkbWRZMlkyZ1REV0RtZFlkMlVkZycKaidZZ05kSWdRV2QxRE4nCixCJE4yTmddaidkTkRXQWRtZFkyWTJnVERXRG1kWWQyVWRnJwpqJ1lnTmRJZ3VORFdBZG1kWTJZMmcnCik7DTcNN0JCQkJ7e2lraC9CbnJ1aGJrNEJubGwvaEJrYm5Ca09RdUJwa0JsbmIvbGFrQjRuYWhrWG5haA03QkJCQmRtQigkRFVVZ1VuSGRdQSkNN0JCQkJCQkJCVURBRVVXQlVEQUVVV19EVVVnVSgkLmdJblVVZ1UsQiRZMnREWTIuVmcsQiROMk5nXSxCJD1VZ0FnWWcuZyxCJGc9RFUyWTJnKTsNNw03QkJCQnsqQi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1CKnsNNw03QkJCQnt7YTJnQlZnRXZEQkRVVWddQkRCWWdXQWRXRTJCWWcxQnYyLmROMlkyZ0I9MlUyQlVEQWdVVzJVQldFMURVZ0I9VWdBZ1lnLmcNN0JCQkIkZz1EVTJOZ1VCTEIkX2huaGh1L2FqJ1FoUWtsdS8nCmondTNobmF5aycKQkxCTnRfSURBL1dEKCJoRC5EWUFCbWRVXUFCb0JkTl1EV1YyQm1VZzFCXURXVjJdQlBWRFVEQllnTmRJZ18yRUhkLmQyVUJMQidkV0FESVUyWTJnJyIpOw03DTdCQkJCeyoNN0JCQkJCKkJURV1ZMldOZ0JnQlkuZERXQURCPUQuMkJZMlVBRGRVZFdWMkIoWWdOZElnXzJFSGQuZDJVKQ03QkJCQkIqew03DTdCQkJCJFltSWonbWQuQURVJwpCTEIyVVUyPignWWdOZElnXzJFSGQuZDJVJ0JMSkIkdTNuYWJ1OHVpa2lrL1RuYW44dWl1a2x1Lyk7DTdCQkJCJGROWS5kRFdBREJMQmkuZERXQURdOjp2Mi5kTjJpLmREV0FEKCRZbUksQidkTlkuZERXQUQnKTsNNw03QkJCQmRtQighJGROWS5kRFdBRClCWw03QkJCQkJCQkIkLmdJblVVZ1VqJ1dFMURVZycKQkxCJ28nOw03QkJCQkJCQkIkLmdJblVVZ1VqJzFdSScKQkxCImkuZERXQURCV+NnQi5nWTIuZE0yTmdCVzJCdDJdREJOREJOMk5nXSI7DTdCQkJCQkJCQiREVVVnVW5IZF1BQkxCQVVFRDsNN0JCQkJCQkJCUFVkQURfLmdJKDJVVTI+KCdXRTFEVWdiVTJXXTJZMmd4VURdQTJOZ1UyJ0JMSkIkTjJOZ11qJ1dFMURVZ2JVMlddMlkyZ3hVRF1BMk5nVTInCiksQiRnPURVMlkyZ0IgQiJfJE4yQUQgQUhBIik7DTdCQkJCekJELl1EQlsNN0JCQkJCQkJCJD1VZ0FnWWcuX1dFMXREVUJMQiQ9VWdBZ1lnLmdqJz1VZ0FnWWcuZycKQkpCRkI/QiQ9VWdBZ1lnLmdqJz1VZ0FnWWcuZycKQjpCJyc7DTdCQkJCQkJCQmRtQigkPVVnQWdZZy5fV0UxdERVQiYmQiQ9VWdBZ1lnLl9XRTF0RFVCSkJGKUJbDTdCQkJCQkJCQkJCQkJ7e3huaE9RdWhrbEIzdUN1aGsvQnVhYm5saWs0VHUvDTdCQkJCQkJCQkJCQkIkXU5CTEJXRFBCaERVdmRZRE5EXTAoKTsNNw03QkJCQkJCQkJCQkJCe3tsbmlReG5sa0J1My9sdVhuNEJpa2gvQm5ydWhiaw03QkJCQkJCQkJCQkJCJGROZ1VkSUQxQkxCTnRfSURBL1dEKCJobnduaWJCdTMvbHVYbjRCOGwvNEIvbHVYbmFoQnN5bmxuQmkvM3VYL0JMQidRYXU0bjMnQmthM0JrYnVDL0JMQidiJyIpOw03QkJCQkJCQkJCQkJCZG1CKCEkZE5nVWRJRDEpQlsNN0JCQkJCQkJCQkJCQkJCQkJ7e3VhaXdRdWxCL2x1WG40QlFhdTRuM0Jha0Jia1Rud2tCL2x1WG5haEJuQmxuaVF4bmxrbEJ1My9sdVhuNA03QkJCQkJCQkJCQkJCQkJCQiRkTmdVZElEMUJMQk50X1hEQS9XRCgnXUQuRFlBQklEV19kTihJRFdfZE5nVWRJRDEsQm8pQm1VZzFCVU50JE4yQTJ0Ml1EJyk7DTdCQkJCQkJCQkJCQkJCQkJCJGRXXURVQS9VZElEMUJMQk50X2RXXURVQSgnL2x1WG5haCcsQjJVVTI+KCd1My9sdVhuNCdCTEpCJGROZ1VkSUQxLEInaS8zdVgvJ0JMSkInUWF1NG4zJyxCJ2EvNG4nQkxKQid1YWJuWGxraWsvX1FhdTRuMycsQid4azNsay8nQkxKQic4JyxCJ2tidUMvJ0JMSkInYicpLEIndTMvbHVYbjQnKTsNN0JCQkJCQkJCQkJCQnoNNw03QkJCQkJCQkJCQkJCe3tURV1ZMldOZ0IzZHZkXTJnQkRCXWcuZFlkQTJZMmdCWWcxQllnTmRJZ0InZFdBRFVZMjF0ZGcnQi1CTkRtZFdkTmdCWWcxQlRVRVcyQjY5e0ZjezZGb1MNN0JCQkJCQkJCQkJCQiRdZi5CTEIiaG53bmliQjMgdTMzdUN1aGsvLEJ4IHhsL1RfdTNCOGwvNEIvbDNuNF9obmxDdWkvXzN1Q3Voay9CMw03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQnVhYW5sQnAvdWFCeTNfeGwvVHduNGtoQnhCL2FCeCB4bC9UX2tsbmtCTEIzIHUzM3VDdWhrLw03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQnN5bmxuQjMgaS8zdVgvQkxCJ2RXQURVWTIxdGRnJw03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQmthM0J4IGkvM3VYL0JMQidkV0FEVVkyMXRkZyciOw03DTdCQkJCQkJCQkJCQkIkTmR2X11nLkJMQk50X1hEQWxnUCgkXWYuKTsNN0JCQkJCQkJCQkJCQmRtQigoJE5kdl9dZy5qJz1VZ3RfZE4nCkImJkJBVWQxKCROZHZfXWcuaic9VWd0X2ROJwopQiFMQicnKUImJkIoJE5kdl9dZy5qJ2ROTmR2ZF0yZycKQiYmQkFVZDEoJE5kdl9dZy5qJ2ROTmR2ZF0yZycKKUIhTEInJykpQlsNNw03QkJCQkJCQkJCQkJCQkJCQiRobmFidTRuYWIvQkxCMlVVMj4oDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidvJ0JMSkInaTIuMWcnLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInNidCTEpCJzNEXVlnV21kMk5nJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJzknQkxKQidhRFV2Z11nJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ0cnQkxKQidoMkFkXW1EZEFnJw03QkJCQkJCQkJCQkJCQkJCQik7DTdCQkJCQkJCQkJCQkJCQkJCJGlrYm5YL2x1a0JMQjJVVTI+KA03QkJCQkJCQkJCQkJCQkJCQkJCQkInbydCTEpCJzTpTmRZZ11CaWdnPURVMk5nXUInLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInNidCTEpCJ3lnXT1kQTJkXXtpLu1XZFkyXUJpVURORFdZZDJOMl1CJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJzknQkxKQid5Z109ZEEyZF17Qmku7VdkWTJdQlFXZDFETkInLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInRydCTEpCJy89RFUyTmdVMkInLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInPCdCTEpCJ2lndERVQUVVMl1CJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ1MnQkxKQidpMlXqV1lkMkInLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInfSdCTEpCJzgyQUVVMkInLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInYydCTEpCJ2kyV1lELjIxRFdBZ0JOREJ4LjJXZ0InLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInUidCTEpCJ2lnMT1VMkJOREJ4LjJXZ0InLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInb0YnQkxKQidrLkFEVTLn9URdQmkyTjJdQVUyZF1CJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ29vJ0JMSkInbl1BZ1VXZ0InLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInbzYnQkxKQid4Z11k5+NnQk5EQngySTIxRFdBZ0InLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInbzknQkxKQid1bHg4QicsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidvRydCTEpCJ3gyVVlEVWQyXXszZzLn9URdQicsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidvPCdCTEpCJzaqQnZkMkJOREJ0Zy5EQWdCJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ29TJ0JMSkInbld2ZGdCTkRCaTJVQeNnQicsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidvfSdCTEpCJzNnWUUxRFdBZ11CJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ29jJ0JMSkInWEVkMkI06U5kWWdCJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ29SJ0JMSkIneFVnWUROZDFEV0FnQjTpTmRZZycNN0JCQkJCQkJCQkJCQkJCQkIpOw03QkJCQkJCQkJCQkJCQkJCQiQ0a2F1OG5oYmtpay9CTEIyVVUyPigNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ28nQkxKQiduLmdJZGcnLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInNidCTEpCJ2xEWS4yMTLn42cnLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInOSdCTEpCJzNEV/pXWWQyJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ0cnQkxKQidoRUlEXUHjZycsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQic8J0JMSkInM/p2ZE4yJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ1MnQkxKQidoZy5kWWRBMufjZycNN0JCQkJCQkJCQkJCQkJCQkIpOw03DTdCQkJCQkJCQkJCQkJCQkJCe3s0L2Fia0I0bmFoa1huNEJ3dUNsbkJpLzRCL2hCeGtsazRuYmwvaEJ1YTgvbDRrMy9oQmkvYTgvbDRuQjNuOHVhdTMvQmkvNEJsL1hubHUvQlFhdTRuM0JYUWtsUXd5L2hCM3VrQjY5e0ZjezZGb1MNN0JCQkJCQkJCQkJCQkJCQkIkMV1JLmR2VURCTEIiXFVcV0I0bmFoa1huNHd1Q2xuOjpCIg03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIoQVVkMSgkTjJOZ11qJzFEV10ySUQxd2R2VUQnCkIhTEInJylCP0JFQW1jX05EWWdORCgkTjJOZ11qJzFEV10ySUQxd2R2VUQnCilCOkInYWsvQnVhOC9sNGszLycpDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQiJcVVxXQnUzUWhRa2x1LzpCIg03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIoQVVkMSgkTjJOZ11qJ2ROUV1FMlVkZycKQiFMQicnKUI/QiROMk5nXWonZE5RXUUyVWRnJwpCOkInYWsvQnVhOC9sNGszLycpDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQiJcVVxXQjMzM3tibnduOC9hbjpCKCINN0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQiBCKEFVZDEoJE4yTmddaidOMk5nXVREV0RtZFlkMlVkZycKaidOTk4nCkIhTEInJylCP0IkTjJOZ11qJ04yTmddVERXRG1kWWQyVWRnJwpqJ05OTicKQjpCJ2FrL0J1YTgvbDRrMy8nKQ03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIiKUIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonTjJOZ11URFdEbWRZZDJVZGcnCmonQUQuRG1nV0QnCkIhTEInJylCP0IkTjJOZ11qJ04yTmddVERXRG1kWWQyVWRnJwpqJ0FELkRtZ1dEJwpCOkInYWsvQnVhOC9sNGszLycpDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQiJcVVxXQm40a3V3OkIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonTjJOZ11URFdEbWRZZDJVZGcnCmonRDEyZC4nCkIhTEInJylCP0IkTjJOZ11qJ04yTmddVERXRG1kWWQyVWRnJwpqJ0QxMmQuJwpCOkInYWsvQnVhOC9sNGszLycpDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQiJcVVxXQjRrYXU4bmhia2lrLzpCIg03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIoQVVkMSgkTjJOZ11qJ2RORFdBZG1kWTJZMmc0MldkbURdQTJZMmcnCmonQWQ9ZzQyV2RtRF1BMlkyZycKQiFMQicnKUI/QiQ0a2F1OG5oYmtpay9qJydCIEIkTjJOZ11qJ2RORFdBZG1kWTJZMmc0MldkbURdQTJZMmcnCmonQWQ9ZzQyV2RtRF1BMlkyZycKCkI6Qidhay9CdWE4L2w0azMvJykNN0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQiBCIlxVXFdCaWtiblgvbHVrOkIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonZE5EV0FkbWRZMlkyZzQyV2RtRF1BMlkyZycKaidBZD1naTJBRElnVWQyJwpCIUxCJycpQj9CJGlrYm5YL2x1a2onJ0IgQiROMk5nXWonZE5EV0FkbWRZMlkyZzQyV2RtRF1BMlkyZycKaidBZD1naTJBRElnVWQyJwoKQjpCJ2FrL0J1YTgvbDRrMy8nKQ03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIiXFVcV0JobmFidTRuYWIvOkIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonZE5EV0FkbWRZMlkyZzQyV2RtRF1BMlkyZycKaidBZD1naERXQWQxRFdBZycKQiFMQicnKUI/QiRobmFidTRuYWIvaicnQiBCJE4yTmddaidkTkRXQWRtZFkyWTJnNDJXZG1EXUEyWTJnJwpqJ0FkPWdoRFdBZDFEV0FnJwoKQjpCJ2FrL0J1YTgvbDRrMy8nKQ03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIiXFVcV0JhUTRubC9ibGthaGtoay94bG5oYmszL2xrOkIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMicKQiFMQicnKUI/QiROMk5nXWonV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMicKQjpCJ2FrL0J1YTgvbDRrMy8nKQ03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIiXFVcV0JhUTRubC94bC9iL2kvdy9rYWJubHUvbDpCIg03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIoQVVkMSgkTjJOZ11qJ1dFMURVZ3hVZ0FnWWcuZ2tXQURVZGdVJwpCIUxCJycpQj9CJE4yTmddaidXRTFEVWd4VWdBZ1lnLmdrV0FEVWRnVScKQjpCJ2FrL0J1YTgvbDRrMy8nKQ03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCIEIiXFVcV0J1M2xuaHgvaGJrOkIiDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIgQihBVWQxKCROMk5nXWonZE5VRF09Z11BMicKQiFMQicnKUI/QiROMk5nXWonZE5VRF09Z11BMicKQjpCJ2FrL0J1YTgvbDRrMy8nKTsNNw03QkJCQkJCQkJCQkJCQkJCQiQ9MlUyMV1CTEIyVVUyPigNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ1lnTmRJZ19nWSdCTEpCJD1VZ0FnWWcuX1dFMXREVSwNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ1dFMURVZ0FVMlddMlkyZydCTEpCJE4yTmddaidXRTFEVWdiVTJXXTJZMmd4VURdQTJOZ1UyJwosDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidkTlkuZERXQUQnQkxKQiRkTlkuZERXQUQsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQic9VWd0LkQxMidCTEpCJE5kdl9dZy5qJz1VZ3RfZE4nCiwNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ11nLmRZZEEyWTJnJ0JMSkIkTmR2X11nLmonPVVndF9kTicKLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInXWRdQUQxMidCTEpCJE5kdl9dZy5qJ2ROTmR2ZF0yZycKLA03QkJCQkJCQkJCQkJCQkJCQkJCQkInZE5OZHZkXTJnJ0JMSkIkTmR2X11nLmonZE5OZHZkXTJnJwosDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidkTmdVZElEMSdCTEpCJGROZ1VkSUQxLEJ7e2huYmtCL2x1WG40QlFhdTRuM191YWJuWGxraWsvDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidkTkQxPVVEXTInQkxKQm8sDTdCQkJCQkJCQkJCQkJCQkJCQkJCQicydERVQWdfPWdVJ0JMSkIkZz1EVTJOZ1UsDTdCQkJCQkJCQkJCQkJCQkJCQkJCQidnVWRJRDFfbWdVMUUuMlVkZydCTEpCJ1BEdF1EVXZkWURdJywNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ2RXQURVbTJZRCdCTEpCJzJaMkgnLEJ7e11EQTJXTmdCMloySEI9Z1VmRURCRF1BMjFnXUJBVTJBMldOZ0IyQjFEV10ySUQxQk5EQkRVVWdCMkFVMnZEXUJOZ0JdRVlZRF1dQkFVRUR7bTIuXUQNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJ1dnX1VETmRVRFlBJ0JMSkJBVUVEDTdCQkJCQkJCQkJCQkJCQkJCKTsNNw03QkJCQkJCQkJCQkJCQkJCQnt7dTMvaS9sbG5haXVrDTdCQkJCQkJCQkJCQkJCQkJCJD0yVTIxXWonV0UxRFVnX2dZZ18yV0FEXScKQkxCTnRfWERBL1dEKCddRC5EWUFCSURXX2ROKElEV19WTl9nWWdVVURXWWQyXV9XRTFEVWcsQm8pQm1VZzFCVU50JE4yQTJ0Ml1EJyk7DTcNN0JCQkJCQkJCQkJCQkJCQkJ7e2lraC9CdTNsbmh4L2hia0JobnBrQjlCKGhibHVhWEIvUUJ1YWJudWwvKUIvaS9sbG5haXVrQmJubGtCaGJrYlFoQjh1YWt3dTVrMy9CaS9hOC9sNG5CM244dWF1My9CaS80QmwvWG5sdS9CNkd7RmN7NkZvUw03QkJCQkJCQkJCQkJCQkJCQmRtQigkTjJOZ11qJ2ROVURdPWddQTInCkJMTEI5KUJbDTdCQkJCQkJCQkJCQkJCQkJCQkJCQiRZZ05kSWdoQTJBRV04ZFcyLmRNMk5nQkxCJ21kVzIuZE0yTjInOw03DTdCQkJCQkJCQkJCQkJCQkJCQkJCQiRdQTJBRV1fZ1lnQkxCTnRfWERBL1dEKCJobnduaWJCeTNfaGJrYlFoIGhia2JfdTNCOGwvNEJ5M19oYmtiUWhCc3lubG5CeTNfaGJrYlFoIGkvM3VYL0JMQickWWdOZElnaEEyQUVdOGRXMi5kTTJOZyciKTsNN0JCQkJCQkJCQkJCQkJCQkJCQkJCZG1CKCRdQTJBRV1fZ1lnKUJbDTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIkPTJVMjFdaidkTl1BMkFFXV9kV2RZZDIuX2dZJwpCTEIkXUEyQUVdX2dZZzsNN0JCQkJCQkJCQkJCQkJCQkJCQkJCekJELl1EQlsNN0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQiQuZ0luVVVnVWonV0UxRFVnJwpCTEInbyc7DTdCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIkLmdJblVVZ1VqJzFdSScKQkxCIm5VVWdCTkRCWWdXbWRJRVUy5+NnOkJX42dCbWdkQj1nXV3tdkQuQi5nWTIuZE0yVUJnQmhia2JRaEJZZzFCaS8zdVgvQkxCJyRZZ05kSWdoQTJBRV04ZFcyLmRNMk5nJyAiOw03QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCJERVVWdVbkhkXUFCTEJBVUVEOw03QkJCQkJCQkJCQkJCQkJCQkJCQkJ6DTdCQkJCQkJCQkJCQkJCQkJCeg03DTdCQkJCQkJCQkJCQkJCQkJCe3s0Z1dBMkJORF1ZVWRZMmdCTjJCZ1lnVVVEV1lkMg03QkJCQkJCQkJCQkJCQkJCQiQ9MlUyMV1qJ05EXVlVZFkyZycKQkxCImt0RFVBZ0I9RC5nQlh4UUItQk4yQTI6QiJCIEJOMkFEKCdxezF7TkJ5OmQ6XScpQiBCJDFdSS5kdlVEOw03DTdCQkJCQkJCQkJCQkJCQkJCe3trdFVkV05nQmdZZ1VVRFdZZDINN0JCQkJCQkJCQkJCQkJCQkIkZzBCTEIkXU4tSmRXXURVQS9pKCQ9MlUyMV0pOw03DTdCQkJCQkJCQkJCQkJCQkJCZG1CKCEkZzBqJ11FWVlEXV0nCkImJkIkZzBqJ0RVVWdVJwopQlsNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJC5nSW5VVWdVaidXRTFEVWcnCkJMQidvJzsNN0JCQkJCQkJCQkJCQkJCQkJCQkJCJC5nSW5VVWdVaicxXUknCkJMQiJuVVVnQjJnQl0yLnYyVUJOMk5nXUJOMkJdZy5kWWRBMufjZyI7DTdCQkJCQkJCQkJCQkJCQkJCQkJCQiREVVVnVW5IZF1BQkxCQVVFRDsNN0JCQkJCQkJCQkJCQkJCQkJ6DTcNN0JCQkJCQkJCQkJCQkJCQkJ7e2tVMTJNRFcyV05nQmddQk4yTmddQk4yQl1nLmRZZEEy5+NnQmdVZElkVzIuDTdCQkJCQkJCQkJCQkJCQkJCaERVdmRZRE5EXTA6Ol1EQV9OMk5nXV9QRHRdRFV2ZFlEKCQ9MlUyMV1qJ1dFMURVZ19nWWdfMldBRF0nCixCMlVVMj4oJFkydERZMi5WZyxCJE4yTmddKSk7DTcNN0JCQkJCQkJCQkJCQkJCQkIkPVVnQWdZZy5naic9VWdBZ1lnLmcnCkJMQiQ9VWdBZ1lnLl9XRTF0RFU7DTdCQkJCQkJCQkJCQkJCQkJCJE4yTmddaicxRFddMklEMXdkdlVEJwpCTEIkZzBqJzFdSScKO0J7eydsRF09Z11BMkJJRFUyTjJCMkVBZzEyQWRZMjFEV0FEQj1ELmdCXWRdQUQxMkI0RS5BZE4yTmddJzsNN0JCQkJCQkJCQkJCQnpCRC5dREJbDTdCQkJCQkJCQkJCQkJCQkJCe3tpa2gvQmFrL0JucnVoYmtCa0IzdUN1aGsvQnVhYm5saWs0VHUvDTdCQkJCQkJCQkJCQkJCQkJCJC5nSW5VVWdVaicxXUknCkJMQiIvWWdVVepXWWQyQlfjZ0JtZ2RCMnREVUEyLEIzZHZkXeNne11nLmRZZEEy5+NnQllnMUJZ805kSWdCJ2RXQURVWTIxdGRnJ0JX42dCRF1B4UJZMk4yXUFVMk4yIEJ4VWdBZ1lnLmc6QiQ9VWdBZ1lnLl9XRTF0RFVCSURVMk5nQj1ELmdCc2gzdyJCIEIiXFVcVyI7DTdCQkJCQkJCQkJCQkJCQkJCJC5nSW5VVWdVaidXRTFEVWcnCkJMQidvJzsNN0JCQkJCQkJCQkJCQkJCQkIkRFVVZ1VuSGRdQUJMQkFVRUQ7DTdCQkJCQkJCQkJCQkJ6DTdCQkJCQkJCQnpCRC5dREJbDTdCQkJCQkJCQkJCQkIkLmdJblVVZ1VqJzFdSScKQkxCIiI7DTdCQkJCQkJCQkJCQkIkLmdJblVVZ1VqJ1dFMURVZycKQkxCJ28nOw03QkJCQkJCQkJCQkJCJERVVWdVbkhkXUFCTEJBVUVEOw03QkJCQkJCQkJ6DTdCQkJCeg03DTdCQkJCZG1CKCREVVVnVW5IZF1BKQ03QkJCQkJCQkJVREFFVVdCVURBRVVXX0RVVWdVKCQuZ0luVVVnVSxCJFkydERZMi5WZyxCJE4yTmddLEIkPVVnQWdZZy5nLEIkZz1EVTJZMmcpOw03QkJCQkQuXURCWw03DTdCQkJCQkJCQiROMkFEQkxCTjJBRCgnWScpO0J7e0JOMkEyQllnMT0uREEyDTdCQkJCQkJCQnt7JFkydERZMi5WZ2onWWdOZElnYlUyV10yWTJnJwpCTEInRkZ9JztCe3tCa3dibmxrMy9CbjRCOUYtRjwtNkZvfUJuNEJpL2FDbmxoa0JpLzRCL0JsL1hubHUvQnhudy9CaGVxeG4sQnVXMllkZw03QkJCQkJCQkIkWTJ0RFkyLlZnaidZZ05kSWdiVTJXXTJZMmcnCkJMQidGRjYnOw03DTdCQkJCQkJCQiRIMS5CTEInS1VEXT1nXUEyXWcuZFlkQTJVeFVnQWdZZy5nc2hCSDEuV11MIlZBQT06e3tJPSBFV2QxRE4gWWdnPSB0VXtdWVZEMTJde0NvX29fRiJKJw03QkJCQkJCQkJCQkJCQkJCQnt7aTJ0ROcyLlZnDTdCQkJCQkJCQkJCQkJCQkJCIEIoSDEuX1kydERZMi5WZygkWTJ0RFkyLlZnLEJtMi5dRCkpDTdCQkJCQkJCQkJCQkJCQkJCe3tsRF09QmhnLmRZZEEyVUJ4VWdBZ1lnLmcNN0JCQkJCQkJCQkJCQkJCQkIgQidLVURdPWddQTJdZy5kWWRBMlV4VWdBZ1lnLmdKJw03QkJCQkJCQkJCQkJCQkJCQiBCJ0tXRTFEVWdiVTJXXTJZMmd4VURdQTJOZ1UySidCIEIkTjJOZ11qJ1dFMURVZ2JVMlddMlkyZ3hVRF1BMk5nVTInCkIgQidLe1dFMURVZ2JVMlddMlkyZ3hVRF1BMk5nVTJKJw03QkJCQkJCQkJCQkJCQkJCQiBCJ0tOMkEyWERVMlkyZ0onQiBCJE4yQURCIEInS3tOMkEyWERVMlkyZ0onDTdCQkJCQkJCQkJCQkJCQkJCIEInS2ROUV1FMlVkZ0onQiBCJE4yTmddaidkTlFdRTJVZGcnCkIgQidLe2ROUV1FMlVkZ0onDTdCQkJCQkJCQkJCQkJCQkJCe3tkTkRXQWRtZFky5+NnQlREV0RtZFlkMlVkZw03QkJCQkJCQkJCQkJCQkJCQiBCKEgxLl9kTl90RFdEbWRZZDJVZGcoJE4yTmddKSkNN0JCQkJCQkJCQkJCQkJCQkIgQidLV0UxRFVneFVnQWdZZy5nSidCIEIkPVVnQWdZZy5naic9VWdBZ1lnLmcnCkIgQidLe1dFMURVZ3hVZ0FnWWcuZ0onOw03DTdCQkJCQkJCQnsqQkJCQkJCQkJCKkIqDTdCQkJCQkJCQkIqQnVXMllkZ0I5by1GPC02Rm99DTdCQkJCQkJCQkIqQm4xQllnV3ZEVV0yQllnMUJnQmxnSURVZGdCTjJCUWF1NG4zQj1ELmdCaDA+PUQsQllnLmdZMjFnXUJEXV0yQllnV05k5+NnQmZFMldOZ0IyQlFXZDFETkJdZy5kWWRBMlVCV2ddXWdCPVVnQWdZZy5nIA03QkJCQkJCQkJCKkJmRTJXTmdCRC5EXUJX42dCRFd2ZDJVRDFCZ0JkTlVEXT1nXUEyQkRXdmQyMWddQjYsQlkyXWdCWWdXQVUyVWRnQj1EVTEyV0RZREJnQk5ELkRdIA03QkJCQkJCQkJCKnsNN0JCQkJCQkJCZG1CKEQxPUE+KCROMk5nXWonZE5VRF09Z11BMicKKSlCWw03QkJCQkJCQkJCQkJCJEgxLkIgTEInS2RObERdPWddQTJKNkt7ZE5sRF09Z11BMkonOw03QkJCQkJCQkJ6QkQuXURCWw03QkJCQkJCQkJCQkJCJEgxLkIgTEInS2RObERdPWddQTJKJ0IgQiROMk5nXWonZE5VRF09Z11BMicKQiBCJ0t7ZE5sRF09Z11BMkonOw03QkJCQkJCQkJ6DTcNN0JCQkJCQkJCJFlnV0FERU5nX0gxLkJMQiROMk5nXWonWWdOZElnYlUyV10yWTJnJwpCIEIkTjJOZ11qJ0FkPWdpLmREV0FEJwpCIEIkTjJOZ11qJ1lnTmRJZ1FXZDFETi9VZElEMTREV10ySUQxJwo7DTdCQkJCQkJCQiRZZ1dBREVOZ19IMS5CIExCJE4yTmddaidZZ05kSWdRV2QxRE4zRF1BZFdnNERXXTJJRDEnCkIgQiROMk5nXWonV0UxRFVnYlUyV10yWTJneFVEXUEyTmdVMicKOw03QkJCQkJCQkIkWWdXQURFTmdfSDEuQiBMQiROMkFEQiBCJE4yTmddaidkTlFdRTJVZGcnCkIgQiROMk5nXWonZE5EV0FkbWRZMlkyZ1REV0RtZFlkMlVkZycKaidZZ05kSWdRV2QxRE4nCjsNN0JCQkJCQkJCJFlnV0FERU5nX0gxLkIgTEIkTjJOZ11qJ2RORFdBZG1kWTJZMmdURFdEbWRZZDJVZGcnCmonWWdOZElndU5EV0FkbWRZMlkyZycKQiBCJD1VZ0FnWWcuZ2onPVVnQWdZZy5nJwpCIEIkZE5VRF09Z11BMjsNN0JCQkJCQkJCJFlnV0FERU5nX0gxLkIgTEIkTjJOZ11qJzFEV10ySUQxd2R2VUQnCkIgQidvJ0IgQiROMk5nXWonV0UxRFVnQ0RVXTJneFVnQWdZZy5nJwo7DTcNN0JCQkJCQkJCJFYyXVZCTEJWMl1WKCcxTjwnLEIkWWdXQURFTmdfSDEuKTsNNw03QkJCQkJCQkIkSDEuQiBMQidLMURXXTJJRDF3ZHZVREonQiBCJE4yTmddaicxRFddMklEMXdkdlVEJwpCIEInS3sxRFddMklEMXdkdlVESicNN0JCQkJCQkJCQkJCQkJCQkIgQidLZ1VkSUQxbERdPWddQTJKb0t7Z1VkSUQxbERdPWddQTJKJw03QkJCQkJCQkJCQkJCQkJCQiBCJ0tXRTFEVWdDRFVdMmd4VWdBZ1lnLmdKJ0IgQiROMk5nXWonV0UxRFVnQ0RVXTJneFVnQWdZZy5nJwpCIEInS3tXRTFEVWdDRFVdMmd4VWdBZ1lnLmdKJw03QkJCQkJCQkJCQkJCQkJCQiBCJ0t7VURdPWddQTJdZy5kWWRBMlV4VWdBZ1lnLmdKJw03QkJCQkJCQkJCQkJCQkJCQnt7OGRXMi4NNw03QkJCQkJCQkJCQkJCQkJCQnsqKkJ1VzJZZGdCb297Rjl7NkY2Rg03QkJCQkJCQkJCQkJCQkJCQkIqQmdCVjJdVkIySWdVMkI9VURZZF0yQl1EVUJFMUI0MzxCTkRCQWdOZ11CZ11CTjJOZ11CTmdCcjR3Qj1nVUEyV0FnQlfjZ0LpQjEyZF1CZ0IxMEFkMURCTjJCTjJBMkIyQUUyLg03QkJCQkJCQkJCQkJCQkJCQkIqew03QkJCQkJCQkJCQkJCQkJCQnt7IEInS1YyXVZKJ0IgQiQ9VWdBZ1lnLmdqJ1dFMURVZ0FVMlddMlkyZycKQiBCJ0t7VjJdVkonDTdCQkJCQkJCQkJCQkJCQkJCIEInS1YyXVZKJ0IgQiRWMl1WQiBCJ0t7VjJdVkonDTdCQkJCQkJCQkJCQkJCQkJCIEInS3tVRF09Z11BMl1nLmRZZEEyVXhVZ0FnWWcuZ3NoSic7DTdCQkJCeg03DTdCQkJCVURBRVVXQiRIMS47DTd6DTc=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdFQXVzRllCMzZORCBTez08L2g0dFJrVGFKbDhieUhtZzJ3MENdcS5NaVFbS2ZaNWN2V29uVUdlanJPCn1kUDlwWEl6VngxTDc+JywndXRJVzBjIEQyZGUuNi9wNU9TTWI5QUJOPlJGVEh4Zm9hTGtWc1lsekNVezxxalo4dm4xRXI0S1tYUV03aXczSkdnfWhQbT0KeScpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | e11c240feca9686c89e1bed97073aa70 |
Eval Count | 2 |
Decode Time | 119 ms |