1 Carteira Nacional de Habilitação(CNH)

1.1 O Que è a CNH?

  • A CNH é a sigla de Carteira Nacional de Habilitação, documento obrigatório para conduzir um veículos automotores e elétricos no território nacional.
  • Segundo o CTB - Lei nº9.503/1997, para poder ter a CNH são requisito obrigatórios (Artigo 140):
    • Ser Penalmente Imputável, ou seja, alguém que responda pelos seus atos perante a Lei;
    • Saber Ler e Escrever, ou seja, não depende de grau de escolaridade, basta ser alfabetizado;
    • Ter 18 anos Completo;
    • Possuir Documento de Identificação: podendo ser qualquer documento de identificação emitido por Órgão Público que tenha fé pública (RG/ Carteira de Trabalho, Passaporte, ect.);
    • Possuir Cadastro de Pessoa Física (CPF);
    • Ter Cursado a Carga Horária e Ser Aprovado em todos os Teste do Processo de habilitação:
      • Aula Teórica de 45 horas;
      • Aula Prática de Direção Veicular de 20 horas;
      • Exame de Aptidão Físico;
      • Exame Psicotécnico;
      • Prova Teórica;
      • Prova Prática de Direção Veicular;
    • Fazer o Cadastro Biométrico em um DETRAN

1.1.1 É Possível Tirar a CNH antes dos 18 anos?

  • No Brasil não é possível tirar a CNH antes dos 18 anos.

  • Porém, existem Projetos de Lei que sugerem alterar essa regra. Um deles é o PL nº3973/2019, que pretende alterar o Código de Trânsito Brasileiro para autorizar a emissão de Permissão para Dirigir (PPD) a partir dos dezesseis anos de idade.

  • Tenho 16 anos de idade e já sou emancipado. Posso tirar minha CNH? A resposta é NÃO

    • A legislação diz que o candidato tem que ser Penalmente Imputável, e a maioridade que se adquire quando com a emancipação não é uma Maioridade Penal, mas uma Maioridade Civil.
    • Nesse caso, mesmo sendo civilmente maior de idade, a pessoa não é penalmente maior de idade, e por este motivo não é penalmente imputável.

1.2 Quais os Tipos de CNH?

Existem vários tipos de CNH em vigor no Brasil com destaque para os ultimos 4 modelos que estavam e/ou estão em vigor.

1.2.1 Mudanças Siginificantes na CNH

1.2.1.1 Primeira Mudança

  • Apresentada com novas cores e itens para dificultar a falsificação, o modelo apresentado atendia à nova Resolução nº598/2016 do Contran e foi a primeira das modificações apresentadas.

  • Em maio 2017, a CNH recebeu um sistema de código que permitia ser lido por câmeras de celular, o QR Code. A medida atendi à Resolução n°668/2017, na qual consta que a CNH deverá, a partir de fevereiro de 2018, possuir códigos de barras bidimensionais, gerados a partir de algoritmo específico, de propriedade do Denatran, armazenando todas as informações contidas no documento.

1.2.1.2 Segunda Mudança

  • A nova CNH 2018 é chamada de Carteira Nacional de Habilitação Eletrônica, ou CNH-e. Ela está regulamentada pela Portaria Nº 184/2017 do Denatran.

1.2.1.3 Terceira Mudança

  • No dia 13 de dezembro de 2021, o Conselho Nacional de Trânsito (Contran) publicou a Resolução do CONTRAN nº886/2021., que apresenta a nova Carteira Nacional de Habilitação (CNH).

  • O modelo vai entrar em vigor a partir de 1º de junho de 2022 e substituirá a atual carteira. Porém, a troca não será obrigatória e ocorrerá apenas para novas emissões.

  • A CNH atualizada adota novo visual e continua com o QR Code. Outro detalhe é uma Tabela com os Veículos que o motorista pode conduzir. A Carteira Nacional de Habilitação poderá ser expedida de forma física ou digital.

1.2.1.4 Resumo

  • Estas mudanças permitem, portanto, que o agente de fiscalização de trânsito ou qualquer pessoa, ao fazer a leitura do código, tenha acesso aos dados do motorista, além daqueles apresentados pelo documento de papel.

  • Isto irá ajudar em caso de falsificações em que a foto, por exemplo, for modificada na CNH.

1.3 Quais as Categorias da CNH?

De acordo com o CTB (Artigo 143), as categorias da CNH são:

  • Categoria A : Condutor de veículo motorizado de duas ou três rodas, com ou sem carro lateral, com mais que 50 de cilindrada;
  • Categoria B : Condutor de veículos de quatro rodas, com até 3,5 toneladas de peso bruto total e capacidade para até oito passageiros, além do motorista – nessa categoria ainda é permitido acoplar reboques e semirreboques, desde que não ultrapasse o peso ou lotação máximos.
  • Categoria C : Nessa categoria, os motoristas podem dirigir todos os tipos de automóveis da categoria B, e também os veículos de carga, com mais de 3,5 toneladas de peso bruto total, como caminhões, tratores, máquinas agrícolas e de movimentação de carga.
  • Categoria D : Com a carteira D, é possível dirigir veículos para o transporte de passageiros que acomodam mais de 8 passageiros. Aqui, entram os ônibus, micro-ônibus e vans além dos permitidos nas categorias B e C.
  • Categoria E : O condutor com a CNH da categoria E pode conduzir todos os veículos inclusos nos tipos B, C e D, além de veículos com unidades acopladas que excedam 6 toneladas, como as carretas e caminhões com reboques e semirreboques articulados.

1.4 Regras de Manter a CNH Dentro da Lei?

  • Não ultrapassar o limite de pontos estipulados (20/30/40);
  • Não tomar Multas Auto Suspensivas (2 a 8 meses) tais como:
    • Andar de Motocicleta Sem Capacete;
    • Recusar a Fazer o Teste do Etilômetro ou qualquer outro exame clínico;
    • Dirigir acima de 50% da Velocidade Permitida;

2 Processo de Renovação da CNH

2.1 O Que é a Renovação da CNH?

  • Renovação da CNH consiste no processo de solicitação de uma nova carteira nacional de habilitação para os motoristas do estado de moradia do condutor;
  • O procedimento de Renovação deve ser realizado obrigatoriamente, quando a CNH:
    • Estiver perto de Vencer;
    • Estiver Vencida a mais de 30 dias;
    • Quando Precisa Incluir novas informações no Campo Observação tais como exemplo;
      • EAR (Exerce Atividade Remunerada);
      • A (Obrigatório uso de lentes corretivas);
      • B (Obrigatório uso de próteses auditivas);
      • C (Obrigatório uso de acelerador à esquerda);
    • Quando Precisa Incluir os Cursos Especializados e Obrigatórias conforme a Resolução Nº 789/2020:
      • CETE (Curso de Transporte de Escolares);
      • CETCP (Curso de Transporte Coletivo de Passageiros);
      • CETVE (Curso de Transporte de Veículos de Emergência);
      • CETPP (Curso de Transporte de Produtos Perigosos);
      • CETCI (Curso de Transporte de Carga Indivisível);
      • CEMTX (Curso de Transporte Remunerado de Passageiros -Mototaxista);
      • CEMTF (Curso de Transporte Remunerado de Mercadorias- Motofrete);
    • Vale ressaltar que o motorista ainda pode usar a CNH vencida, caso o documento não tenha ultrapassado 30 dias após a data de vencimento;

2.2 Quem Precisa Realizar a Renovação da CNH?

  • Todos os motoristas com CNH emitidas nos 26 Estados e Distrito Federal devem renovar o documento quando necessário, com validade em âmbito Nacional.
  • E o ano de 2021 trouxe novidades para o processo de renovação da CNH – a Lei 14.071/2020 que entrou em vigor a partir de 12 de abril, alterou pontos importantes.

2.3 Prazo de Validade do Exame de Renovação da CNH

Com a alteração no Código de Trânsito Brasileiro (CTB) Lei 14.071/2020, o exame de aptidão física e mental deve ser feito agora de acordo com os seguintes prazos:

  • A cada 10 anos, para condutores com Idade de 18 a 50 anos;
  • A cada 5 anos, para condutores com Idade de 51 a 70 anos;
  • A cada 3 anos, para condutores com Idade de 71 anos em diante.

Esses são os prazos padrões estabelecidos pelo CTB, contudo o médico pode Reduzir a Validade do Exame Médico, de acordo com as condições físicas e mentais do motorista.

2.4 Onde Realizar a Renovação da CNH

A renovação da CNH pode ser feita de três maneiras:

  • Pela internet (a partir do site do Detran-Pa);
  • Utilizando o aplicativo do Detran-Pa;
  • Presencialmente, indo até aos Centro de Formação de Codnutores (CFC) ou unidades de atendimento do Detran-Pa.

2.4.1 Renovação via Internet

  • Acesse o site do DETRAN-PA (www.detran.pa.gov.br), clique em “CONDUTORES”> solicitar renovação da carteira de Motorista;
  • Clique no Botão “Solicitar”;
  • Informe seu CPF e solicite sua renovação da CNH;
  • Será gerado um Boleto de Renovação da CNH. Basta pagá-lo no Banco credenciado(Banpará);
  • Realize a Captura das suas Digitais (BIOMETRIA), registre uma Foto e faça uma assinatura digital;
  • Basta agendar o Exame de Renovação da CNH;
  • Agende Também os Exames Psicotécnicos e/ou Toxicológicos, caso necessário;
  • Faça os exames.

2.4.2 Renovação via Unidade de Atendimento do DETRAN-PA

  • Dirija-se até uma unidade de atendimento do Detran na sua região;
  • Agende um Horário para atendimento, o procedimento pode ser feito pelo site do Detran-Pa;
  • Apresente Documento Oficial com foto e CPF. São válidos os seguintes documentos:
    • CNH com foto;
    • RG (emitidas em até 10 anos);
    • Carteira de Trabalho (CT);
    • Previdência Social (CTPS);
    • Carteira de Órgãos ou Conselho de Classe (OAB, CRM, CREA, etc.);
    • Certificado Militar (reservista);
    • Passaporte (emitido no Brasil);
    • Policia Militar;
    • Corpo de Bombeiros;
    • Comando Militar (Aeronáutica/Exército/Marinha);
  • Leve um Comprovante de Endereço;
  • Solicite a renovação da CNH;
  • Será gerado um Boleto de Renovação da CNH. Basta pagá-lo no Banco credenciado(Banpará);
  • Realize a Captura das suas Digitais (BIOMETRIA), registre uma Foto e faça uma assinatura digital;
  • Basta agendar o Exame de Renovação da CNH;
  • Agende Também os exames de EAR (Exerce Atividade Remunerada) e/ou Toxicológico, caso necessário;
  • Faça os exames.

2.5 Quais os Valores pra Renovação da CNH?

De acordo com a Lei de Taxas do Detran-Pa Lei nº9.158/2021), o valor de renovação da CNH é de:

  • R$ 85,70 são para a emissão do papel moeda da CNH;
  • R$ 65,75 são para o exame de aptidão física e mental;
  • R$ 106,30 são para o exame de avaliação psicológica, apenas quando solicitado pelo médico ou quando o motorista exerce atividade remunerada com o veículo;
  • R$ 150,00 são para o exame toxicológico, quando nas categorias C, D ou E em laboratórios credenciados pelo Denatran; QUAL.

2.6 Quais os Problemas em Não Renovar a CNH

  • Renovação da CNH é um compromisso a todos os motorista e é obrigatório para conduzir veículos automotores em qualquer Estado do Brasil.
  • E não estar em dias a CNH, gera consequências negativas estabelecidas pelo (CBT - Lei nº9.503/1997) artigo 162:
    • Dirigir um veículo com a CNH Vencida a mais de 30 dias corresponde à uma Infração Gravíssima, cabendo uma multa no valor de R$293,47 e Sete Pontos no prontuário do condutor.
  • Medida Administrativa com Recolhimento da CNH e Retenção do Veículo até que apresente um condutor habilitado para dirigi-lo;

2.7 Perdi o Prazo pra Renovar a CNH

  • Deixei de renovar da CNH por um prazo de Até 4 anos e 11 meses, fique tranquilo, ainda há tempo de regularizar, utilizando uma das opções explicadas anteriormente.
  • Se a CNH estiver vencida Há + de 5 anos, será necessário passar por um Curso de Atualização de 15 horas-aula, como previsto na Resolução Nº 789/2020.
LS0tDQp0aXRsZTogIlJlbm92YcOnw6NvIGRlIENOSDogdW0gR3VpYSBQcsOhdGljbyINCmF1dGhvcjoNCi0gbmFtZTogTcOBUklPIERJRUdPIFJPQ0hBIFZBTEVOVEUNCiAgYWZmaWxpYXRpb246IERFVFJBTi1QQQ0KICBlbWFpbDogbWFyaW8udmFsZW50ZUBkZXRyYW4ucGEuZ292LmJyDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGhpZ2hsaWdodDogdGV4dG1hdGUNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIHRvYzogeWVzDQogICAgdG9jX2RlcHRoOiA2DQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICAgIHNtb290aF9zY3JvbGw6IHllcw0KICAgIGtlZXBfbWQ6IHllcw0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6ICc2Jw0KaW5zdGl0dXRlOg0KYWJzdHJhY3Q6ICIgRXN0ZSByZWxhdMOzcmlvIGZvaSBwbGFuZWphZG8gcGFyYSBnZXJhciBpbmZvcm1hw6fDtWVzIGUgY29udHJpYnVpciBwYXJhIHVtIG1lbGhvciBwbGFuZWphbWVudG8gZSBvcmllbnRhw6fDo28gdMOpY25pY2Egc29icmUgbyBwYXNzbyBhIHBhc3NvIG5vIHByb2Nlc3NvIGRlIHJlbm92YcOnw6NvIGRhIENhcnRlaXJhIE5hY2lvbmFsIGRlIEhhYmlsaXRhw6fDo28oQ05IKSwgY29tIGJhc2VzIGVtIHJlc29sdcOnw7VlcyBkbyBDT05UUkFOLCBhcyBhdHVhbGl6YcOnw6NvZXMgcXVlbSB0cm91eGVyYW0gYSBMZWkgbsK6IDE0LjA3MSwgb3MgbW9kZWxvcyBkZSBzdXNwZW5zw6NvIGRvIERpcmVpdG8gZGUgRGlyaWdpciwgZSBvcyBhcnRpZ29zIGNvbXBsZW1lbnRhcmVzIGRvIENUQi4iDQotLS0NCg0KYGBgez1odG1sfQ0KPHN0eWxlPg0KYm9keXt0ZXh0LWFsaWduOiBqdXN0aWZ5fQ0KPC9zdHlsZT4NCmBgYA0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQojICoqQ2FydGVpcmEgTmFjaW9uYWwgZGUgSGFiaWxpdGHDp8OjbyhDTkgpKioNCg0KIyMgKipPIFF1ZSDDqCBhIENOSD8qKg0KDQotICAgQSBDTkggw6kgYSBzaWdsYSBkZSBDYXJ0ZWlyYSBOYWNpb25hbCBkZSBIYWJpbGl0YcOnw6NvLCBkb2N1bWVudG8gb2JyaWdhdMOzcmlvIHBhcmEgY29uZHV6aXIgdW0gdmXDrWN1bG9zIGF1dG9tb3RvcmVzIGUgZWzDqXRyaWNvcyBubyB0ZXJyaXTDs3JpbyBuYWNpb25hbC4NCi0gICBTZWd1bmRvIG8gQ1RCIC0gWyoqTGVpIG7CujkuNTAzLzE5OTcqKl0oaHR0cDovL3d3dy5wbGFuYWx0by5nb3YuYnIvY2NpdmlsXzAzL2xlaXMvbDk1MDNjb21waWxhZG8uaHRtKSwgcGFyYSBwb2RlciB0ZXIgYSBDTkggc8OjbyByZXF1aXNpdG8gb2JyaWdhdMOzcmlvcyAoKipBcnRpZ28gMTQwKiopOg0KICAgIC0gICAqKlNlciBQZW5hbG1lbnRlIEltcHV0w6F2ZWwqKiwgb3Ugc2VqYSwgYWxndcOpbSBxdWUgcmVzcG9uZGEgcGVsb3Mgc2V1cyBhdG9zIHBlcmFudGUgYSBMZWk7DQogICAgLSAgICoqU2FiZXIgTGVyIGUgRXNjcmV2ZXIqKiwgb3Ugc2VqYSwgbsOjbyBkZXBlbmRlIGRlIGdyYXUgZGUgZXNjb2xhcmlkYWRlLCBiYXN0YSBzZXIgYWxmYWJldGl6YWRvOw0KICAgIC0gICAqKlRlciAxOCBhbm9zIENvbXBsZXRvKio7DQogICAgLSAgICoqUG9zc3VpciBEb2N1bWVudG8gZGUgSWRlbnRpZmljYcOnw6NvKio6IHBvZGVuZG8gc2VyIHF1YWxxdWVyIGRvY3VtZW50byBkZSBpZGVudGlmaWNhw6fDo28gZW1pdGlkbyBwb3Igw5NyZ8OjbyBQw7pibGljbyBxdWUgdGVuaGEgZsOpIHDDumJsaWNhIChSRy8gQ2FydGVpcmEgZGUgVHJhYmFsaG8sIFBhc3NhcG9ydGUsIGVjdC4pOw0KICAgIC0gICAqKlBvc3N1aXIgQ2FkYXN0cm8gZGUgUGVzc29hIEbDrXNpY2EqKiAoQ1BGKTsNCiAgICAtICAgKipUZXIgQ3Vyc2FkbyBhIENhcmdhIEhvcsOhcmlhIGUgU2VyIEFwcm92YWRvKiogZW0gdG9kb3Mgb3MgVGVzdGUgZG8gUHJvY2Vzc28gZGUgaGFiaWxpdGHDp8OjbzoNCiAgICAgICAgLSAgIEF1bGEgVGXDs3JpY2EgZGUgNDUgaG9yYXM7DQogICAgICAgIC0gICBBdWxhIFByw6F0aWNhIGRlIERpcmXDp8OjbyBWZWljdWxhciBkZSAyMCBob3JhczsNCiAgICAgICAgLSAgIEV4YW1lIGRlIEFwdGlkw6NvIEbDrXNpY287DQogICAgICAgIC0gICBFeGFtZSBQc2ljb3TDqWNuaWNvOw0KICAgICAgICAtICAgUHJvdmEgVGXDs3JpY2E7DQogICAgICAgIC0gICBQcm92YSBQcsOhdGljYSBkZSBEaXJlw6fDo28gVmVpY3VsYXI7DQogICAgLSAgICoqRmF6ZXIgbyBDYWRhc3RybyBCaW9tw6l0cmljbyBlbSB1bSBERVRSQU4qKg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjIyAqKsOJIFBvc3PDrXZlbCBUaXJhciBhIENOSCBhbnRlcyBkb3MgMTggYW5vcz8qKg0KDQotICAgTm8gQnJhc2lsIG7Do28gw6kgcG9zc8OtdmVsIHRpcmFyIGEgQ05IIGFudGVzIGRvcyAxOCBhbm9zLg0KDQotICAgUG9yw6ltLCBleGlzdGVtIFByb2pldG9zIGRlIExlaSBxdWUgc3VnZXJlbSBhbHRlcmFyIGVzc2EgcmVncmEuIFVtIGRlbGVzIMOpIG8gWyoqUEwgbsK6Mzk3My8yMDE5KipdKGh0dHBzOi8vd3d3MjUuc2VuYWRvLmxlZy5ici93ZWIvYXRpdmlkYWRlL21hdGVyaWFzLy0vbWF0ZXJpYS8xMzc2NzQpLCBxdWUgcHJldGVuZGUgYWx0ZXJhciBvIEPDs2RpZ28gZGUgVHLDom5zaXRvIEJyYXNpbGVpcm8gcGFyYSBhdXRvcml6YXIgYSBlbWlzc8OjbyBkZSBQZXJtaXNzw6NvIHBhcmEgRGlyaWdpciAoUFBEKSBhIHBhcnRpciBkb3MgZGV6ZXNzZWlzIGFub3MgZGUgaWRhZGUuDQoNCi0gICBUZW5obyAxNiBhbm9zIGRlIGlkYWRlIGUgasOhIHNvdSBlbWFuY2lwYWRvLiBQb3NzbyB0aXJhciBtaW5oYSBDTkg/IEEgcmVzcG9zdGEgw6kgKipOw4NPKioNCg0KICAgIC0gICBBIGxlZ2lzbGHDp8OjbyBkaXogcXVlIG8gY2FuZGlkYXRvIHRlbSBxdWUgc2VyICoqUGVuYWxtZW50ZSBJbXB1dMOhdmVsKiosIGUgYSBtYWlvcmlkYWRlIHF1ZSBzZSBhZHF1aXJlIHF1YW5kbyBjb20gYSBlbWFuY2lwYcOnw6NvIG7Do28gw6kgdW1hICoqTWFpb3JpZGFkZSBQZW5hbCoqLCBtYXMgdW1hICoqTWFpb3JpZGFkZSBDaXZpbCoqLg0KICAgIC0gICBOZXNzZSBjYXNvLCBtZXNtbyBzZW5kbyBjaXZpbG1lbnRlIG1haW9yIGRlIGlkYWRlLCBhIHBlc3NvYSBuw6NvIMOpIHBlbmFsbWVudGUgbWFpb3IgZGUgaWRhZGUsIGUgcG9yIGVzdGUgbW90aXZvIG7Do28gw6kgcGVuYWxtZW50ZSBpbXB1dMOhdmVsLg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjICoqUXVhaXMgb3MgVGlwb3MgZGUgQ05IKio/DQoNCkV4aXN0ZW0gdsOhcmlvcyB0aXBvcyBkZSBDTkggZW0gdmlnb3Igbm8gQnJhc2lsIGNvbSBkZXN0YXF1ZSBwYXJhIG9zIHVsdGltb3MgNCBtb2RlbG9zIHF1ZSBlc3RhdmFtIGUvb3UgZXN0w6NvIGVtIHZpZ29yLg0KDQotICAgTW9kZWxvIEVtaXRpZG8gZGUgMzAgZGUgbWFyw6dvIGRlIDIwMDYgYXTDqSBkZXplbWJybyBkZSAyMDE2Ow0KICAgIC0gICBbKipSZXNvbHXDp8OjbyBkbyBDT05UUkFOIG7CujE5Mi8yMDA2KiouXShodHRwOi8vd3d3LnNnYy5nb2lhcy5nb3YuYnIvdXBsb2FkL2FycXVpdm9zLzIwMTMtMTEvcmVzb2x1Y2FvXzE5Ml8wNi5wZGYpDQotICAgTW9kZWxvIEVtaXRpZG8gZGUgamFuZWlybyBkZSAyMDE3IGF0w6kganVuaG8gZGUgMjAxOTsNCiAgICAtICAgWyoqUmVzb2x1w6fDo28gZG8gQ09OVFJBTiBuwro1OTgvMjAxNioqLl0oaHR0cHM6Ly93d3cuZ292LmJyL2luZnJhZXN0cnV0dXJhL3B0LWJyL2Fzc3VudG9zL3RyYW5zaXRvL2NvbnRldWRvLWNvbnRyYW4vcmVzb2x1Y29lcy9yZXNvbHVjYW81OTgyMDE2Mi5wZGYpDQotICAgTW9kZWxvIEVtaXRpZG8gYSBwYXJ0aXIgZGUganVsaG8gZGUgMjAxOS4NCiAgICAtICAgWyoqUmVzb2x1w6fDo28gZG8gQ09OVFJBTiBuwro3NzUvMjAxOSoqLl0oaHR0cHM6Ly93d3cuZ292LmJyL2luZnJhZXN0cnV0dXJhL3B0LWJyL2Fzc3VudG9zL3RyYW5zaXRvL2NvbnRldWRvLWNvbnRyYW4vcmVzb2x1Y29lcy9yZXNvbHVjYW83NzUyMDE5LnBkZikNCi0gICBNb2RlbG8gRW1pdGlkbyBhIHBhcnRpciBkZSBkZXplbWJybyBkZSAyMDIxLg0KICAgIC0gICBbKipSZXNvbHXDp8OjbyBkbyBDT05UUkFOIG7Cujg4Ni8yMDIxKiouXShodHRwczovL3d3dy5nb3YuYnIvaW5mcmFlc3RydXR1cmEvcHQtYnIvYXNzdW50b3MvdHJhbnNpdG8vY29udGV1ZG8tY29udHJhbi9yZXNvbHVjb2VzL1Jlc29sdWNhbzg4NjIwMjEucGRmKQ0KDQojIyMgKipNdWRhbsOnYXMgU2lnaW5pZmljYW50ZXMgbmEgQ05IKioNCg0KIyMjIyAqKlByaW1laXJhIE11ZGFuw6dhKioNCg0KLSAgIEFwcmVzZW50YWRhIGNvbSBub3ZhcyBjb3JlcyBlIGl0ZW5zIHBhcmEgZGlmaWN1bHRhciBhIGZhbHNpZmljYcOnw6NvLCBvIG1vZGVsbyBhcHJlc2VudGFkbyBhdGVuZGlhIMOgIG5vdmEgWyoqUmVzb2x1w6fDo28gbsK6NTk4LzIwMTYqKl0oaHR0cDovL2FudGlnby5pbmZyYWVzdHJ1dHVyYS5nb3YuYnIvaW1hZ2VzL1Jlc29sdWNvZXMvUmVzb2x1Y2FvNTk4MjAxNjIucGRmKSBkbyBDb250cmFuIGUgZm9pIGEgcHJpbWVpcmEgZGFzIG1vZGlmaWNhw6fDtWVzIGFwcmVzZW50YWRhcy4NCg0KLSAgIEVtIG1haW8gMjAxNywgYSBDTkggcmVjZWJldSB1bSBzaXN0ZW1hIGRlIGPDs2RpZ28gcXVlIHBlcm1pdGlhIHNlciBsaWRvIHBvciBjw6JtZXJhcyBkZSBjZWx1bGFyLCBvICoqUVIgQ29kZSoqLiBBIG1lZGlkYSBhdGVuZGkgw6AgWyoqUmVzb2x1w6fDo28gbsKwNjY4LzIwMTcqKl0oaHR0cHM6Ly93d3cuZ292LmJyL2luZnJhZXN0cnV0dXJhL3B0LWJyL2Fzc3VudG9zL3RyYW5zaXRvL2NvbnRldWRvLWNvbnRyYW4vcmVzb2x1Y29lcy9yZXNvbHVjYW82NjgyMDE3LnBkZiksIG5hIHF1YWwgY29uc3RhIHF1ZSBhIENOSCBkZXZlcsOhLCBhIHBhcnRpciBkZSBmZXZlcmVpcm8gZGUgMjAxOCwgcG9zc3VpciBjw7NkaWdvcyBkZSBiYXJyYXMgYmlkaW1lbnNpb25haXMsIGdlcmFkb3MgYSBwYXJ0aXIgZGUgYWxnb3JpdG1vIGVzcGVjw61maWNvLCBkZSBwcm9wcmllZGFkZSBkbyBEZW5hdHJhbiwgYXJtYXplbmFuZG8gdG9kYXMgYXMgaW5mb3JtYcOnw7VlcyBjb250aWRhcyBubyBkb2N1bWVudG8uDQoNCiMjIyMgKipTZWd1bmRhIE11ZGFuw6dhKioNCg0KLSAgIEEgbm92YSBDTkggMjAxOCDDqSBjaGFtYWRhIGRlICoqQ2FydGVpcmEgTmFjaW9uYWwgZGUgSGFiaWxpdGHDp8OjbyBFbGV0csO0bmljYSoqLCBvdSAqKkNOSC1lKiouIEVsYSBlc3TDoSByZWd1bGFtZW50YWRhIHBlbGEgWyoqUG9ydGFyaWEgTsK6IDE4NC8yMDE3KipdKGh0dHBzOi8vd3d3Lmdvdi5ici9pbmZyYWVzdHJ1dHVyYS9wdC1ici9hc3N1bnRvcy90cmFuc2l0by9hcnF1aXZvcy1zZW5hdHJhbi9wb3J0YXJpYXMvMjAxNy9wb3J0YXJpYTE4NDIwMTcucGRmKSBkbyBEZW5hdHJhbi4NCg0KIyMjIyAqKlRlcmNlaXJhIE11ZGFuw6dhKioNCg0KLSAgIE5vIGRpYSAxMyBkZSBkZXplbWJybyBkZSAyMDIxLCBvIENvbnNlbGhvIE5hY2lvbmFsIGRlIFRyw6Juc2l0byAoQ29udHJhbikgcHVibGljb3UgYSBbKipSZXNvbHXDp8OjbyBkbyBDT05UUkFOIG7Cujg4Ni8yMDIxKiouXShodHRwczovL3d3dy5nb3YuYnIvaW5mcmFlc3RydXR1cmEvcHQtYnIvYXNzdW50b3MvdHJhbnNpdG8vY29udGV1ZG8tY29udHJhbi9yZXNvbHVjb2VzL1Jlc29sdWNhbzg4NjIwMjEucGRmKSwgcXVlIGFwcmVzZW50YSBhIG5vdmEgQ2FydGVpcmEgTmFjaW9uYWwgZGUgSGFiaWxpdGHDp8OjbyAoQ05IKS4NCg0KLSAgIE8gbW9kZWxvIHZhaSBlbnRyYXIgZW0gdmlnb3IgYSBwYXJ0aXIgZGUgMcK6IGRlIGp1bmhvIGRlIDIwMjIgZSBzdWJzdGl0dWlyw6EgYSBhdHVhbCBjYXJ0ZWlyYS4gUG9yw6ltLCBhIHRyb2NhIG7Do28gc2Vyw6Egb2JyaWdhdMOzcmlhIGUgb2NvcnJlcsOhIGFwZW5hcyBwYXJhIG5vdmFzIGVtaXNzw7Vlcy4NCg0KLSAgIEEgQ05IIGF0dWFsaXphZGEgYWRvdGEgbm92byB2aXN1YWwgZSBjb250aW51YSBjb20gbyAqKlFSIENvZGUqKi4gT3V0cm8gZGV0YWxoZSDDqSB1bWEgKipUYWJlbGEgY29tIG9zIFZlw61jdWxvcyoqIHF1ZSBvIG1vdG9yaXN0YSBwb2RlIGNvbmR1emlyLiBBIENhcnRlaXJhIE5hY2lvbmFsIGRlIEhhYmlsaXRhw6fDo28gcG9kZXLDoSBzZXIgZXhwZWRpZGEgZGUgZm9ybWEgZsOtc2ljYSBvdSBkaWdpdGFsLg0KDQojIyMjICoqUmVzdW1vKioNCg0KLSAgIEVzdGFzIG11ZGFuw6dhcyBwZXJtaXRlbSwgcG9ydGFudG8sIHF1ZSBvIGFnZW50ZSBkZSBmaXNjYWxpemHDp8OjbyBkZSB0csOibnNpdG8gb3UgcXVhbHF1ZXIgcGVzc29hLCBhbyBmYXplciBhIGxlaXR1cmEgZG8gY8OzZGlnbywgdGVuaGEgYWNlc3NvIGFvcyBkYWRvcyBkbyBtb3RvcmlzdGEsIGFsw6ltIGRhcXVlbGVzIGFwcmVzZW50YWRvcyBwZWxvIGRvY3VtZW50byBkZSBwYXBlbC4NCg0KLSAgIElzdG8gaXLDoSBhanVkYXIgZW0gY2FzbyBkZSBmYWxzaWZpY2HDp8O1ZXMgZW0gcXVlIGEgZm90bywgcG9yIGV4ZW1wbG8sIGZvciBtb2RpZmljYWRhIG5hIENOSC4NCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQojIyAqKlF1YWlzIGFzIENhdGVnb3JpYXMgZGEgQ05IKio/DQoNCkRlIGFjb3JkbyBjb20gbyBDVEIgKCoqQXJ0aWdvIDE0MyoqKSwgYXMgY2F0ZWdvcmlhcyBkYSBDTkggc8OjbzoNCg0KLSAgICoqQ2F0ZWdvcmlhIEEqKiA6IENvbmR1dG9yIGRlIHZlw61jdWxvIG1vdG9yaXphZG8gZGUgZHVhcyBvdSB0csOqcyByb2RhcywgY29tIG91IHNlbSBjYXJybyBsYXRlcmFsLCBjb20gbWFpcyBxdWUgNTAgZGUgY2lsaW5kcmFkYTsNCi0gICAqKkNhdGVnb3JpYSBCKiogOiBDb25kdXRvciBkZSB2ZcOtY3Vsb3MgZGUgcXVhdHJvIHJvZGFzLCBjb20gYXTDqSAzLDUgdG9uZWxhZGFzIGRlIHBlc28gYnJ1dG8gdG90YWwgZSBjYXBhY2lkYWRlIHBhcmEgYXTDqSBvaXRvIHBhc3NhZ2Vpcm9zLCBhbMOpbSBkbyBtb3RvcmlzdGEgLS0gbmVzc2EgY2F0ZWdvcmlhIGFpbmRhIMOpIHBlcm1pdGlkbyBhY29wbGFyIHJlYm9xdWVzIGUgc2VtaXJyZWJvcXVlcywgZGVzZGUgcXVlIG7Do28gdWx0cmFwYXNzZSBvIHBlc28gb3UgbG90YcOnw6NvIG3DoXhpbW9zLg0KLSAgICoqQ2F0ZWdvcmlhIEMqKiA6IE5lc3NhIGNhdGVnb3JpYSwgb3MgbW90b3Jpc3RhcyBwb2RlbSBkaXJpZ2lyIHRvZG9zIG9zIHRpcG9zIGRlIGF1dG9tw7N2ZWlzIGRhIGNhdGVnb3JpYSBCLCBlIHRhbWLDqW0gb3MgdmXDrWN1bG9zIGRlIGNhcmdhLCBjb20gbWFpcyBkZSAzLDUgdG9uZWxhZGFzIGRlIHBlc28gYnJ1dG8gdG90YWwsIGNvbW8gY2FtaW5ow7VlcywgdHJhdG9yZXMsIG3DoXF1aW5hcyBhZ3LDrWNvbGFzIGUgZGUgbW92aW1lbnRhw6fDo28gZGUgY2FyZ2EuDQotICAgKipDYXRlZ29yaWEgRCoqIDogQ29tIGEgY2FydGVpcmEgRCwgw6kgcG9zc8OtdmVsIGRpcmlnaXIgdmXDrWN1bG9zIHBhcmEgbyB0cmFuc3BvcnRlIGRlIHBhc3NhZ2Vpcm9zIHF1ZSBhY29tb2RhbSBtYWlzIGRlIDggcGFzc2FnZWlyb3MuIEFxdWksIGVudHJhbSBvcyDDtG5pYnVzLCBtaWNyby3DtG5pYnVzIGUgdmFucyBhbMOpbSBkb3MgcGVybWl0aWRvcyBuYXMgY2F0ZWdvcmlhcyBCIGUgQy4NCi0gICAqKkNhdGVnb3JpYSBFKiogOiBPIGNvbmR1dG9yIGNvbSBhIENOSCBkYSBjYXRlZ29yaWEgRSBwb2RlIGNvbmR1emlyIHRvZG9zIG9zIHZlw61jdWxvcyBpbmNsdXNvcyBub3MgdGlwb3MgQiwgQyBlIEQsIGFsw6ltIGRlIHZlw61jdWxvcyBjb20gdW5pZGFkZXMgYWNvcGxhZGFzIHF1ZSBleGNlZGFtIDYgdG9uZWxhZGFzLCBjb21vIGFzIGNhcnJldGFzIGUgY2FtaW5ow7VlcyBjb20gcmVib3F1ZXMgZSBzZW1pcnJlYm9xdWVzIGFydGljdWxhZG9zLg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjICoqUmVncmFzIGRlIE1hbnRlciBhIENOSCBEZW50cm8gZGEgTGVpPyoqDQoNCi0gICBOw6NvIHVsdHJhcGFzc2FyIG8gbGltaXRlIGRlIHBvbnRvcyBlc3RpcHVsYWRvcyAoMjAvMzAvNDApOw0KLSAgIE7Do28gdG9tYXIgTXVsdGFzIEF1dG8gU3VzcGVuc2l2YXMgKDIgYSA4IG1lc2VzKSB0YWlzIGNvbW86DQogICAgLSAgIEFuZGFyIGRlIE1vdG9jaWNsZXRhIFNlbSBDYXBhY2V0ZTsNCiAgICAtICAgUmVjdXNhciBhIEZhemVyIG8gVGVzdGUgZG8gRXRpbMO0bWV0cm8gb3UgcXVhbHF1ZXIgb3V0cm8gZXhhbWUgY2zDrW5pY287DQogICAgLSAgIERpcmlnaXIgYWNpbWEgZGUgNTAlIGRhIFZlbG9jaWRhZGUgUGVybWl0aWRhOw0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMgKipQcm9jZXNzbyBkZSBSZW5vdmHDp8OjbyBkYSBDTkgqKg0KDQojIyAqKk8gUXVlIMOpIGEgUmVub3Zhw6fDo28gZGEgQ05IPyoqDQoNCi0gICBSZW5vdmHDp8OjbyBkYSBDTkggY29uc2lzdGUgbm8gcHJvY2Vzc28gZGUgc29saWNpdGHDp8OjbyBkZSB1bWEgbm92YSBjYXJ0ZWlyYSBuYWNpb25hbCBkZSBoYWJpbGl0YcOnw6NvIHBhcmEgb3MgbW90b3Jpc3RhcyBkbyBlc3RhZG8gZGUgbW9yYWRpYSBkbyBjb25kdXRvcjsNCi0gICBPIHByb2NlZGltZW50byBkZSBSZW5vdmHDp8OjbyBkZXZlIHNlciByZWFsaXphZG8gb2JyaWdhdG9yaWFtZW50ZSwgcXVhbmRvIGEgQ05IOg0KICAgIC0gICBFc3RpdmVyIHBlcnRvIGRlIFZlbmNlcjsNCiAgICAtICAgRXN0aXZlciBWZW5jaWRhIGEgbWFpcyBkZSAzMCBkaWFzOw0KICAgIC0gICBRdWFuZG8gUHJlY2lzYSBJbmNsdWlyIG5vdmFzIGluZm9ybWHDp8O1ZXMgbm8gKipDYW1wbyBPYnNlcnZhw6fDo28qKiB0YWlzIGNvbW8gZXhlbXBsbzsNCiAgICAgICAgLSAgICoqRUFSKiogKEV4ZXJjZSBBdGl2aWRhZGUgUmVtdW5lcmFkYSk7DQogICAgICAgIC0gICAqKkEqKiAoT2JyaWdhdMOzcmlvIHVzbyBkZSBsZW50ZXMgY29ycmV0aXZhcyk7DQogICAgICAgIC0gICAqKkIqKiAoT2JyaWdhdMOzcmlvIHVzbyBkZSBwcsOzdGVzZXMgYXVkaXRpdmFzKTsNCiAgICAgICAgLSAgICoqQyoqIChPYnJpZ2F0w7NyaW8gdXNvIGRlIGFjZWxlcmFkb3Igw6AgZXNxdWVyZGEpOw0KICAgIC0gICBRdWFuZG8gUHJlY2lzYSBJbmNsdWlyIG9zIEN1cnNvcyBFc3BlY2lhbGl6YWRvcyBlIE9icmlnYXTDs3JpYXMgY29uZm9ybWUgYSBbKipSZXNvbHXDp8OjbyBOwrogNzg5LzIwMjAqKl0oaHR0cHM6Ly93d3cuaW4uZ292LmJyL2VuL3dlYi9kb3UvLS9yZXNvbHVjYW8tbi03ODktZGUtMTgtZGUtanVuaG8tZGUtMjAyMC0yNjMxODU2NDgpOg0KICAgICAgICAtICAgKipDRVRFKiogKEN1cnNvIGRlIFRyYW5zcG9ydGUgZGUgRXNjb2xhcmVzKTsNCiAgICAgICAgLSAgICoqQ0VUQ1AqKiAoQ3Vyc28gZGUgVHJhbnNwb3J0ZSBDb2xldGl2byBkZSBQYXNzYWdlaXJvcyk7DQogICAgICAgIC0gICAqKkNFVFZFKiogKEN1cnNvIGRlIFRyYW5zcG9ydGUgZGUgVmXDrWN1bG9zIGRlIEVtZXJnw6puY2lhKTsNCiAgICAgICAgLSAgICoqQ0VUUFAqKiAoQ3Vyc28gZGUgVHJhbnNwb3J0ZSBkZSBQcm9kdXRvcyBQZXJpZ29zb3MpOw0KICAgICAgICAtICAgKipDRVRDSSoqIChDdXJzbyBkZSBUcmFuc3BvcnRlIGRlIENhcmdhIEluZGl2aXPDrXZlbCk7DQogICAgICAgIC0gICAqKkNFTVRYKiogKEN1cnNvIGRlIFRyYW5zcG9ydGUgUmVtdW5lcmFkbyBkZSBQYXNzYWdlaXJvcyAtKipNb3RvdGF4aXN0YSoqKTsNCiAgICAgICAgLSAgICoqQ0VNVEYqKiAoQ3Vyc28gZGUgVHJhbnNwb3J0ZSBSZW11bmVyYWRvIGRlIE1lcmNhZG9yaWFzLSAqKk1vdG9mcmV0ZSoqKTsNCiAgICAtICAgVmFsZSByZXNzYWx0YXIgcXVlIG8gbW90b3Jpc3RhIGFpbmRhIHBvZGUgdXNhciBhIENOSCB2ZW5jaWRhLCBjYXNvIG8gZG9jdW1lbnRvIG7Do28gdGVuaGEgdWx0cmFwYXNzYWRvIDMwIGRpYXMgYXDDs3MgYSBkYXRhIGRlIHZlbmNpbWVudG87DQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg0KIyMgKipRdWVtIFByZWNpc2EgUmVhbGl6YXIgYSBSZW5vdmHDp8OjbyBkYSBDTkg/KioNCg0KLSAgIFRvZG9zIG9zIG1vdG9yaXN0YXMgY29tIENOSCBlbWl0aWRhcyBub3MgMjYgRXN0YWRvcyBlIERpc3RyaXRvIEZlZGVyYWwgZGV2ZW0gcmVub3ZhciBvIGRvY3VtZW50byBxdWFuZG8gbmVjZXNzw6FyaW8sIGNvbSB2YWxpZGFkZSBlbSDDom1iaXRvIE5hY2lvbmFsLg0KLSAgIEUgbyBhbm8gZGUgMjAyMSB0cm91eGUgbm92aWRhZGVzIHBhcmEgbyBwcm9jZXNzbyBkZSByZW5vdmHDp8OjbyBkYSBDTkggLS0gYSBbKipMZWkgMTQuMDcxLzIwMjAqKl0oaHR0cDovL3d3dy5wbGFuYWx0by5nb3YuYnIvY2NpdmlsXzAzL19hdG8yMDE5LTIwMjIvMjAyMC9sZWkvbDE0MDcxLmh0bSkgcXVlIGVudHJvdSBlbSB2aWdvciBhIHBhcnRpciBkZSAxMiBkZSBhYnJpbCwgYWx0ZXJvdSBwb250b3MgaW1wb3J0YW50ZXMuDQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg0KIyMgKipQcmF6byBkZSBWYWxpZGFkZSBkbyBFeGFtZSBkZSBSZW5vdmHDp8OjbyBkYSBDTkgqKg0KDQpDb20gYSBhbHRlcmHDp8OjbyBubyBDw7NkaWdvIGRlIFRyw6Juc2l0byBCcmFzaWxlaXJvIChDVEIpIFsqKkxlaSAxNC4wNzEvMjAyMCoqXShodHRwOi8vd3d3LnBsYW5hbHRvLmdvdi5ici9jY2l2aWxfMDMvX2F0bzIwMTktMjAyMi8yMDIwL2xlaS9sMTQwNzEuaHRtKSwgbyBleGFtZSBkZSBhcHRpZMOjbyBmw61zaWNhIGUgbWVudGFsIGRldmUgc2VyIGZlaXRvIGFnb3JhIGRlIGFjb3JkbyBjb20gb3Mgc2VndWludGVzIHByYXpvczoNCg0KLSAgIEEgY2FkYSAqKjEwIGFub3MqKiwgcGFyYSBjb25kdXRvcmVzIGNvbSBJZGFkZSBkZSAqKjE4IGEgNTAgYW5vcyoqOw0KLSAgIEEgY2FkYSAqKjUgYW5vcyoqLCBwYXJhIGNvbmR1dG9yZXMgY29tIElkYWRlIGRlICoqNTEgYSA3MCBhbm9zKio7DQotICAgQSBjYWRhICoqMyBhbm9zKiosIHBhcmEgY29uZHV0b3JlcyBjb20gSWRhZGUgZGUgKio3MSBhbm9zIGVtIGRpYW50ZSoqLg0KDQpFc3NlcyBzw6NvIG9zIHByYXpvcyBwYWRyw7VlcyBlc3RhYmVsZWNpZG9zIHBlbG8gQ1RCLCBjb250dWRvIG8gbcOpZGljbyBwb2RlIFJlZHV6aXIgYSBWYWxpZGFkZSBkbyBFeGFtZSBNw6lkaWNvLCBkZSBhY29yZG8gY29tIGFzIGNvbmRpw6fDtWVzIGbDrXNpY2FzIGUgbWVudGFpcyBkbyBtb3RvcmlzdGEuDQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg0KIyMgKipPbmRlIFJlYWxpemFyIGEgUmVub3Zhw6fDo28gZGEgQ05IKioNCg0KQSByZW5vdmHDp8OjbyBkYSBDTkggcG9kZSBzZXIgZmVpdGEgZGUgdHLDqnMgbWFuZWlyYXM6DQoNCi0gICBQZWxhIGludGVybmV0IChhIHBhcnRpciBkbyBzaXRlIGRvIERldHJhbi1QYSk7DQotICAgVXRpbGl6YW5kbyBvIGFwbGljYXRpdm8gZG8gRGV0cmFuLVBhOw0KLSAgIFByZXNlbmNpYWxtZW50ZSwgaW5kbyBhdMOpIGFvcyBDZW50cm8gZGUgRm9ybWHDp8OjbyBkZSBDb2RudXRvcmVzIChDRkMpIG91IHVuaWRhZGVzIGRlIGF0ZW5kaW1lbnRvIGRvIERldHJhbi1QYS4NCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQojIyMgKipSZW5vdmHDp8OjbyB2aWEgSW50ZXJuZXQqKg0KDQotICAgQWNlc3NlIG8gc2l0ZSBkbyBERVRSQU4tUEEgKHd3dy5kZXRyYW4ucGEuZ292LmJyKSwgY2xpcXVlIGVtICIqKkNPTkRVVE9SRVMqKiJcPiBzb2xpY2l0YXIgcmVub3Zhw6fDo28gZGEgY2FydGVpcmEgZGUgTW90b3Jpc3RhOw0KLSAgIENsaXF1ZSBubyBCb3TDo28gIioqU29saWNpdGFyKioiOw0KLSAgIEluZm9ybWUgc2V1ICoqQ1BGKiogZSBzb2xpY2l0ZSBzdWEgcmVub3Zhw6fDo28gZGEgQ05IOw0KLSAgIFNlcsOhIGdlcmFkbyB1bSAqKkJvbGV0byoqIGRlIFJlbm92YcOnw6NvIGRhIENOSC4gQmFzdGEgcGFnw6EtbG8gbm8gQmFuY28gY3JlZGVuY2lhZG8oKipCYW5wYXLDoSoqKTsNCi0gICBSZWFsaXplIGEgQ2FwdHVyYSBkYXMgc3VhcyBEaWdpdGFpcyAoKipCSU9NRVRSSUEqKiksIHJlZ2lzdHJlIHVtYSBGb3RvIGUgZmHDp2EgdW1hIGFzc2luYXR1cmEgZGlnaXRhbDsNCi0gICBCYXN0YSBhZ2VuZGFyIG8gKipFeGFtZSBkZSBSZW5vdmHDp8OjbyBkYSBDTkgqKjsNCi0gICBBZ2VuZGUgVGFtYsOpbSBvcyAqKkV4YW1lcyBQc2ljb3TDqWNuaWNvcyBlL291IFRveGljb2zDs2dpY29zKiosIGNhc28gbmVjZXNzw6FyaW87DQotICAgRmHDp2Egb3MgZXhhbWVzLg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjIyAqKlJlbm92YcOnw6NvIHZpYSBVbmlkYWRlIGRlIEF0ZW5kaW1lbnRvIGRvIERFVFJBTi1QQSoqDQoNCi0gICBEaXJpamEtc2UgYXTDqSB1bWEgdW5pZGFkZSBkZSBhdGVuZGltZW50byBkbyBEZXRyYW4gbmEgc3VhIHJlZ2nDo287DQotICAgQWdlbmRlIHVtIEhvcsOhcmlvIHBhcmEgYXRlbmRpbWVudG8sIG8gcHJvY2VkaW1lbnRvIHBvZGUgc2VyIGZlaXRvIHBlbG8gc2l0ZSBkbyBEZXRyYW4tUGE7DQotICAgQXByZXNlbnRlICoqRG9jdW1lbnRvIE9maWNpYWwgY29tIGZvdG8qKiBlICoqQ1BGKiouIFPDo28gdsOhbGlkb3Mgb3Mgc2VndWludGVzIGRvY3VtZW50b3M6DQogICAgLSAgICoqQ05IKiogY29tIGZvdG87DQogICAgLSAgICoqUkcqKiAoZW1pdGlkYXMgZW0gYXTDqSAxMCBhbm9zKTsNCiAgICAtICAgKipDYXJ0ZWlyYSBkZSBUcmFiYWxobyoqIChDVCk7DQogICAgLSAgICoqUHJldmlkw6puY2lhIFNvY2lhbCoqIChDVFBTKTsNCiAgICAtICAgKipDYXJ0ZWlyYSBkZSDDk3Jnw6NvcyBvdSBDb25zZWxobyBkZSBDbGFzc2UqKiAoT0FCLCBDUk0sIENSRUEsIGV0Yy4pOw0KICAgIC0gICAqKkNlcnRpZmljYWRvIE1pbGl0YXIqKiAocmVzZXJ2aXN0YSk7DQogICAgLSAgICoqUGFzc2Fwb3J0ZSoqIChlbWl0aWRvIG5vIEJyYXNpbCk7DQogICAgLSAgICoqUG9saWNpYSBNaWxpdGFyKio7DQogICAgLSAgICoqQ29ycG8gZGUgQm9tYmVpcm9zKio7DQogICAgLSAgICoqQ29tYW5kbyBNaWxpdGFyKiogKEFlcm9uw6F1dGljYS9FeMOpcmNpdG8vTWFyaW5oYSk7DQotICAgTGV2ZSB1bSBDb21wcm92YW50ZSBkZSBFbmRlcmXDp287DQotICAgU29saWNpdGUgYSByZW5vdmHDp8OjbyBkYSBDTkg7DQotICAgU2Vyw6EgZ2VyYWRvIHVtIEJvbGV0byBkZSBSZW5vdmHDp8OjbyBkYSBDTkguIEJhc3RhIHBhZ8OhLWxvIG5vIEJhbmNvIGNyZWRlbmNpYWRvKEJhbnBhcsOhKTsNCi0gICBSZWFsaXplIGEgQ2FwdHVyYSBkYXMgc3VhcyBEaWdpdGFpcyAoQklPTUVUUklBKSwgcmVnaXN0cmUgdW1hIEZvdG8gZSBmYcOnYSB1bWEgYXNzaW5hdHVyYSBkaWdpdGFsOw0KLSAgIEJhc3RhIGFnZW5kYXIgbyBFeGFtZSBkZSBSZW5vdmHDp8OjbyBkYSBDTkg7DQotICAgQWdlbmRlIFRhbWLDqW0gb3MgZXhhbWVzIGRlIEVBUiAoRXhlcmNlIEF0aXZpZGFkZSBSZW11bmVyYWRhKSBlL291IFRveGljb2zDs2dpY28sIGNhc28gbmVjZXNzw6FyaW87DQotICAgRmHDp2Egb3MgZXhhbWVzLg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjICoqUXVhaXMgb3MgVmFsb3JlcyBwcmEgUmVub3Zhw6fDo28gZGEgQ05IPyoqDQoNCkRlIGFjb3JkbyBjb20gYSBMZWkgZGUgVGF4YXMgZG8gRGV0cmFuLVBhIFsqKkxlaSBuwro5LjE1OC8yMDIxKiopXShodHRwczovL3d3dy5sZWdpc3dlYi5jb20uYnIvbGVnaXNsYWNhby8/aWQ9NDA3NjIwKSwgbyB2YWxvciBkZSByZW5vdmHDp8OjbyBkYSBDTkggw6kgZGU6DQoNCi0gICAqKlJcJCA4NSw3MCoqIHPDo28gcGFyYSBhIGVtaXNzw6NvIGRvIHBhcGVsIG1vZWRhIGRhIENOSDsNCi0gICAqKlJcJCA2NSw3NSoqIHPDo28gcGFyYSBvIGV4YW1lIGRlIGFwdGlkw6NvIGbDrXNpY2EgZSBtZW50YWw7DQotICAgKipSXCQgMTA2LDMwKiogc8OjbyBwYXJhIG8gZXhhbWUgZGUgYXZhbGlhw6fDo28gcHNpY29sw7NnaWNhLCBhcGVuYXMgcXVhbmRvIHNvbGljaXRhZG8gcGVsbyBtw6lkaWNvIG91IHF1YW5kbyBvIG1vdG9yaXN0YSBleGVyY2UgYXRpdmlkYWRlIHJlbXVuZXJhZGEgY29tIG8gdmXDrWN1bG87DQotICAgKipSXCQgMTUwLDAwKiogc8OjbyBwYXJhIG8gZXhhbWUgdG94aWNvbMOzZ2ljbywgcXVhbmRvIG5hcyBjYXRlZ29yaWFzICoqQywgRCBvdSBFKiogZW0gbGFib3JhdMOzcmlvcyBjcmVkZW5jaWFkb3MgcGVsbyBEZW5hdHJhbjsgUVVBTC4NCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQojIyAqKlF1YWlzIG9zIFByb2JsZW1hcyBlbSBOw6NvIFJlbm92YXIgYSBDTkgqKg0KDQotICAgUmVub3Zhw6fDo28gZGEgQ05IIMOpIHVtIGNvbXByb21pc3NvIGEgdG9kb3Mgb3MgbW90b3Jpc3RhIGUgw6kgb2JyaWdhdMOzcmlvIHBhcmEgY29uZHV6aXIgdmXDrWN1bG9zIGF1dG9tb3RvcmVzIGVtIHF1YWxxdWVyIEVzdGFkbyBkbyBCcmFzaWwuDQotICAgRSBuw6NvIGVzdGFyIGVtIGRpYXMgYSBDTkgsIGdlcmEgY29uc2VxdcOqbmNpYXMgbmVnYXRpdmFzIGVzdGFiZWxlY2lkYXMgcGVsbyAoQ0JUIC0gWyoqTGVpIG7CujkuNTAzLzE5OTcqKl0oaHR0cDovL3d3dy5wbGFuYWx0by5nb3YuYnIvY2NpdmlsXzAzL2xlaXMvbDk1MDNjb21waWxhZG8uaHRtKSkgKiphcnRpZ28gMTYyKio6DQogICAgLSAgIERpcmlnaXIgdW0gdmXDrWN1bG8gY29tIGEgQ05IICoqVmVuY2lkYSBhIG1haXMgZGUgMzAgZGlhcyoqIGNvcnJlc3BvbmRlIMOgIHVtYSAqKkluZnJhw6fDo28gR3JhdsOtc3NpbWEqKiwgY2FiZW5kbyB1bWEgbXVsdGEgbm8gdmFsb3IgZGUgKipSXCQyOTMsNDcqKiBlICoqU2V0ZSBQb250b3MqKiBubyBwcm9udHXDoXJpbyBkbyBjb25kdXRvci4NCi0gICBNZWRpZGEgQWRtaW5pc3RyYXRpdmEgY29tICoqUmVjb2xoaW1lbnRvIGRhIENOSCoqIGUgKipSZXRlbsOnw6NvIGRvIFZlw61jdWxvKiogYXTDqSBxdWUgYXByZXNlbnRlIHVtIGNvbmR1dG9yIGhhYmlsaXRhZG8gcGFyYSBkaXJpZ2ktbG87DQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg0KIyMgKipQZXJkaSBvIFByYXpvIHByYSBSZW5vdmFyIGEgQ05IKioNCg0KLSAgIERlaXhlaSBkZSByZW5vdmFyIGRhIENOSCBwb3IgdW0gcHJhem8gZGUgKipBdMOpIDQgYW5vcyBlIDExIG1lc2VzKiosIGZpcXVlIHRyYW5xdWlsbywgYWluZGEgaMOhIHRlbXBvIGRlIHJlZ3VsYXJpemFyLCB1dGlsaXphbmRvIHVtYSBkYXMgb3DDp8O1ZXMgZXhwbGljYWRhcyBhbnRlcmlvcm1lbnRlLg0KLSAgIFNlIGEgQ05IIGVzdGl2ZXIgdmVuY2lkYSBIw6EgKiorIGRlIDUgYW5vcyoqLCBzZXLDoSBuZWNlc3PDoXJpbyBwYXNzYXIgcG9yIHVtIEN1cnNvIGRlIEF0dWFsaXphw6fDo28gZGUgMTUgaG9yYXMtYXVsYSwgY29tbyBwcmV2aXN0byBuYSBbKipSZXNvbHXDp8OjbyBOwrogNzg5LzIwMjAqKl0oaHR0cHM6Ly93d3cuaW4uZ292LmJyL2VuL3dlYi9kb3UvLS9yZXNvbHVjYW8tbi03ODktZGUtMTgtZGUtanVuaG8tZGUtMjAyMC0yNjMxODU2NDgpLg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K