AUDITORIA ELEITORAL — REPRODUÇÃO OFFLINE

1. Descompacte pacote.zip em uma pasta nova.
2. Instale PHP CLI 8.2 ou posterior, com as extensões JSON e hash.
   Não são necessários Composer, CakePHP, banco de dados ou acesso à rede.
3. Nessa pasta execute:

   php reproduzir.php

O processo retorna 0 apenas se os hashes do pacote, o inventário, as decisões
por seção e os somatórios forem reproduzidos exatamente. Retorno 1 indica
divergência; retorno 2 indica ambiente incompatível. Preserve toda a saída.
Uma reprodução bem-sucedida pode reproduzir achados reais: consulte as
classificações, não interprete o código 0 como ausência de divergências.

ARQUIVOS
- auditoria.pdf: método, escopo, resultados, conclusões limitadas e referências.
- achados-*.pdf: todos os achados, em volumes de no máximo 50 ocorrências.
- auditoria.json: resumo fixo, versões, escopo e contagens.
- metodologia.json: descrição versionada dos métodos e limites.
- inventario.csv: todas as seções do escopo no corte, inclusive pendentes.
- casos.jsonl: seções com manifesto, índice e histórico preservados no corte.
- observacoes.jsonl: resultados completos da releitura, com trilhas de extração.
- achados.jsonl: todas as divergências, pendências e limitações identificadas.
- lacunas.jsonl: ausências de evidências na captura do pacote, se houver.
- runs/: manifestos originais e observações anteriores preservadas.
- objects/: bytes observados dos arquivos, inclusive quando divergentes.
- historico/: relatórios de hash anteriores, quando existentes.
- lib/: cópia exata do código usado para a reprodução.
- referencias/: mapeamento do aplicativo oficial utilizado pelo leitor.
- SHA256SUMS: hashes SHA-256 dos arquivos do pacote; pode ser conferido também
  com sha256sum -c SHA256SUMS em sistemas que ofereçam esse comando.

O nome de objects/ é o digest esperado no descritor da captura. Se a cópia
observada já estava adulterada, seus bytes são preservados nesse caminho para
reproduzir a divergência. O SHA256SUMS contém o digest REAL desses bytes
observados; a diferença para o digest esperado permanece no achado.

Os BUs .dat deste método são decodificados como ASN.1: não são descompactados
como ZIP. A descompactação ZIP desta instrução se refere somente ao pacote
de reprodução preparado pelo nosso aplicativo.

Copie o hash do ZIP apresentado no portal para um meio independente antes
de descompactar. Checksums internos detectam alterações acidentais, mas não
autenticam um pacote cujo conteúdo e lista de hashes foram trocados juntos.
O relatório não possui assinatura de perito nem carimbo de tempo independente.
As assinaturas criptográficas das urnas e a conciliação conclusiva da eleição
permanecem pendentes conforme as limitações indicadas no documento.
