From 27d5fe95a66520687318ebb6e34c256412f6a5c0 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 14:57:07 +0200 Subject: [PATCH 01/41] style: format readme --- README.md | 103 ++++++++++++++++++++++++------------------------------ 1 file changed, 46 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 635b4d7..12d710e 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,9 @@ --- PaperCrypt is a Go-based command-line tool designed to enhance the security of your sensitive data through the -generation of printable backup documents. -These documents, referred to as "PaperCrypt" Documents, combine the robust +generation of printable backup documents. These documents, referred to as "PaperCrypt" Documents, combine the robust encryption capabilities of the [OpenPGP](https://gopenpgp.org/) -with the resilience and simplicity of a physical hardcopy. -This ensures the confidentiality and integrity of your data, +with the resilience and simplicity of a physical hardcopy. This ensures the confidentiality and integrity of your data, while also providing a physical backup that 's not susceptible to digital threats. > Please note that to decrypt the data from a PaperCrypt Document, you will need the original passphrase used during the @@ -34,10 +32,10 @@ while also providing a physical backup that 's not susceptible to digital threat - **Data Integrity**: To verify the integrity of the data, PaperCrypt embeds checksums within the encrypted data section of its documents. This ensures that the data remains unaltered during backup and restoration processes. -- **Offline Security**: By generating printable backup documents, PaperCrypt offers an offline solution to - safeguard your sensitive data against online threats, as well as an option to store your data in an off-site - location. This provides a layer of security, as it ensures that your data remains safe and accessible even in the - event of a catastrophic failure, malicious attack, or natural disaster. +- **Offline Security**: By generating printable backup documents, PaperCrypt offers an offline solution to safeguard + your sensitive data against online threats, as well as an option to store your data in an off-site location. This + provides a layer of security, as it ensures that your data remains safe and accessible even in the event of a + catastrophic failure, malicious attack, or natural disaster. ## Version Compatibility @@ -46,7 +44,8 @@ PaperCrypt v3 introduces a new container format (version 3). Note the following - PaperCrypt v3 only decodes v3 documents. - v1 and v2 can be decoded by PaperCrypt v2. -It is recommended to use the exact same version of PaperCrypt to decode a document that was used to encode it. That version is indicated on the document itself. +It is recommended to use the exact same version of PaperCrypt to decode a document that was used to encode it. That +version is indicated on the document itself. ## Installation @@ -67,8 +66,8 @@ brew install --cask papercrypt #### Scoop (Windows) -Make sure you have [scoop](https://scoop.sh/) installed, -alongside `git` (`scoop install git`) to be able to add the bucket. +Make sure you have [scoop](https://scoop.sh/) installed, alongside `git` (`scoop install git`) to be able to add the +bucket. ```bash scoop bucket add tmuniversal https://github.com/tmuniversal/scoop-bucket.git @@ -124,8 +123,8 @@ You can also run PaperCrypt using Docker, with the following command: docker run --rm -it -v $(pwd):/data ghcr.io/tmuniversal/papercrypt:latest ``` -With `-v $(pwd):/data` mounting the current working directory as `/data` in the container, -allowing the container to read and write to host storage. +With `-v $(pwd):/data` mounting the current working directory as `/data` in the container, allowing the container to +read and write to host storage. On Windows, the command is slightly different: @@ -138,8 +137,8 @@ Note that `-t` is required so that the program can prompt for a passphrase. ### Verifying artifacts First, you'll need to download the archive and signature file (`.sig`) for your version from -the [releases page](https://github.com/TMUniversal/papercrypt/releases), pay attention to the -version (`papercrypt version`), your OS and architecture. You will also need the public key ([`cosign.pub`]). +the [releases page](https://github.com/TMUniversal/papercrypt/releases), pay attention to the version +(`papercrypt version`), your OS and architecture. You will also need the public key ([`cosign.pub`]). The pre-built binaries are signed through [`cosign`](https://github.com/sigstore/cosign#installation). @@ -166,20 +165,18 @@ cosign verify-blob \ General notes: - `--in` and `--out` can be omitted, in which case `stdin` and `stdout` are used. -- This means `papercrypt decode --in - --out - < qr.txt > data.json` is equivalent - to `papercrypt decode < qr.txt > data.json` +- This means `papercrypt decode --in - --out - < qr.txt > data.json` is equivalent to + `papercrypt decode < qr.txt > data.json` - Commands, as well as their flags, can be abbreviated to their shortest unique prefix: - - `papercrypt generate` can be abbreviated to `papercrypt g` -- that is `papercrypt generate --in data.json --out output.pdf` can be abbreviated - to `papercrypt g -i data.json -o output.pdf` + - `papercrypt generate` can be abbreviated to `papercrypt g` +- that is `papercrypt generate --in data.json --out output.pdf` can be abbreviated to + `papercrypt g -i data.json -o output.pdf` ### Generating a key phrase -A 24 word mnemonic phrase is suitable for real-world use, -but you can use any string of words or characters. +A 24 word mnemonic phrase is suitable for real-world use, but you can use any string of words or characters. -Generate one with your tool of choice, -you can run: +Generate one with your tool of choice, you can run: ```bash papercrypt generate-key --words 24 --out mnemonic.txt @@ -191,9 +188,8 @@ to generate a 24 word mnemonic phrase. #### The passphrase sheet -PaperCrypt is able to generate a printable _Phrase Sheet_, -which is a two-page document containing 135 words from the EFF large word list, -chosen with a seeded random number generator. +PaperCrypt is able to generate a printable _Phrase Sheet_, which is a two-page document containing 135 words from the +EFF large word list, chosen with a seeded random number generator. If no seed is passed to the command, one will be generated using the system's entropy source. @@ -203,9 +199,9 @@ If no seed is passed to the command, one will be generated using the system's en papercrypt phrase-sheet --out phrase-sheet.pdf ExampleAbcA= ``` -Here, `ExampleAbcA=` is the base64-encoded seed, which is used to generate the word list. -The seed will is also present on the generated PDF document, -so you can regenerate the same word list later, even if you allowed the seed to be chosen at random. +Here, `ExampleAbcA=` is the base64-encoded seed, which is used to generate the word list. The seed will is also present +on the generated PDF document, so you can regenerate the same word list later, even if you allowed the seed to be chosen +at random. Using the phrase sheet, you can select a number of words from to form your mnemonic phrase. @@ -234,8 +230,7 @@ papercrypt generate --in data.json --out output.pdf to generate the file containing your data, and the decryption instructions. -The program then asks you for an encryption key, -for which you can use your mnemonic phrase from earlier. +The program then asks you for an encryption key, for which you can use your mnemonic phrase from earlier. > You can also pass the data through `stdin`, simply omit the `--in` flag. > The caveat is that, when on Windows, you can't be prompted for your passphrase, @@ -249,11 +244,10 @@ Please see the [examples](examples) directory for the generated PDF files. ### Restoring a PaperCrypt document -To restore your data from a PaperCrypt document, -you must first re-construct the document from the printed copy. -This can be done either by saving the QR code as an image file, -and [passing it to the command-line](#using-the-qr-code), -or by copy-pasting the text from the printed document (would have to run [OCR](https://www.adobe.com/acrobat/guides/what-is-ocr.html "optical character recognition")). +To restore your data from a PaperCrypt document, you must first re-construct the document from the printed copy. This +can be done either by saving the QR code as an image file, and [passing it to the command-line](#using-the-qr-code), or +by copy-pasting the text from the printed document (would have to +run [OCR](https://www.adobe.com/acrobat/guides/what-is-ocr.html "optical character recognition")). #### Using the QR code @@ -268,9 +262,8 @@ papercrypt scan --in 2d.png --out data.txt
QR-Code Data Format (Click to expand) -The QR code uses a custom data format to fit as much information as possible into the QR code, -while keeping the metadata intact. -This format is not designed to be human-readable. +The QR code uses a custom data format to fit as much information as possible into the QR code, while keeping the +metadata intact. This format is not designed to be human-readable. **Encoding pipeline:** @@ -278,14 +271,11 @@ This format is not designed to be human-readable. MarshalBinary → PC envelope (Base45, gzip if smaller) → QR code ``` -The envelope wraps the Base45-encoded payload with a CRC-32 integrity check. -The envelope header is the magic `PC` followed by the info field and the -envelope version, each encoded as a single base36 character (`0-9A-Z`, -alphabet `0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`). The info character -carries the envelope type in its least significant bit, the content -encoding type in the next two bits (base45 = `1`), and the content -compression type in the fourth bit (`1` = gzip). The payload is -gzip-compressed only when that makes it smaller: +The envelope wraps the Base45-encoded payload with a CRC-32 integrity check. The envelope header is the magic `PC` +followed by the info field and the envelope version, each encoded as a single base36 character (`0-9A-Z`, alphabet +`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`). The info character carries the envelope type in its least significant bit, the +content encoding type in the next two bits (base45 = `1`), and the content compression type in the fourth bit (`1` = +gzip). The payload is gzip-compressed only when that makes it smaller: ```text PC + base36(info) + base36(version) + base45(CRC-32 of payload) + base45(payload) @@ -294,7 +284,7 @@ PC + base36(info) + base36(version) + base45(CRC-32 of payload) + base45(payload **Binary container wire format** (produced by `MarshalBinary`): | Offset | Size | Field | -| ------ | ---- | ---------------------------------------------- | +|--------|------|------------------------------------------------| | 0 | 2 | Magic: `PC` | | 2 | 1 | Container format version (`05`) | | 3 | 3 | Program Version (major, minor, patch as uint8) | @@ -379,21 +369,20 @@ papercrypt decode -i data.txt -o data.json -P "super-secret-key" ## Contributing Contributions to PaperCrypt are welcomed and encouraged! If you have suggestions for improvements, bug fixes, or new -features, please feel free to submit a pull request. -Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more information. +features, please feel free to submit a pull request. Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more information. ## License -PaperCrypt is licensed under the terms of the GNU Affero General Public License, version 3.0 or -later ([GNU AGPL-3.0-or-later](LICENSE)). +PaperCrypt is licensed under the terms of the GNU Affero General Public License, version 3.0 or later +([GNU AGPL-3.0-or-later](LICENSE)). [![License Logo](https://www.gnu.org/graphics/agplv3-with-text-162x68.png)](https://www.gnu.org/licenses/agpl-3.0.en.html) ## Acknowledgments -PaperCrypt is developed leveraging the power of Go and a suite of dependable open source libraries. -We extend our gratitude to the developers behind -[GopenPGP](https://github.com/ProtonMail/gopenpgp), [GoFPDF](https://github.com/jung-kurt/gofpdf), -and other foundational components. +PaperCrypt is developed leveraging the power of Go and a suite of dependable open source libraries. We extend our +gratitude to the developers behind +[GopenPGP](https://github.com/ProtonMail/gopenpgp), [GoFPDF](https://github.com/jung-kurt/gofpdf), and other +foundational components. [`cosign.pub`]: https://github.com/TMUniversal/papercrypt/blob/main/cosign.pub From 397e23eafe02e61055750d2e355d897c85c890b4 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 14:59:18 +0200 Subject: [PATCH 02/41] refactor: move packages out of internal/ --- AGENTS.md | 48 ++++++++++++------- cmd/decode.go | 4 +- cmd/generate.go | 4 +- cmd/generate_key.go | 10 ++-- cmd/phrase_sheet.go | 4 +- cmd/root.go | 2 +- cmd/scan_code.go | 8 ++-- .../codematrix => codematrix}/codematrix.go | 0 .../codematrix_test.go | 2 +- {internal/codematrix => codematrix}/decode.go | 0 {internal/codematrix => codematrix}/encode.go | 0 {internal/crc24 => crc24}/crc.go | 0 {internal/crc24 => crc24}/crc24.go | 0 {internal/crc24 => crc24}/crc_test.go | 0 .../file_format => file_format}/container.go | 4 +- .../container_binary.go | 0 .../container_binary_test.go | 2 +- .../container_decode.go | 0 .../container_envelope.go | 2 +- .../container_json.go | 0 .../container_pdf.go | 10 ++-- .../container_text.go | 4 +- .../envelope/compression.go | 0 .../envelope/encoder.go | 0 .../envelope/envelope.go | 0 .../envelope/envelope_test.go | 0 .../envelope/header.go | 0 .../format_version.go | 0 .../file_format => file_format}/serial.go | 0 .../file_format => file_format}/serialize.go | 16 +++---- .../serialize_test.go | 0 papercrypt.go | 2 +- {internal/pdf => pdf}/generator.go | 0 {internal/pdf => pdf}/mode_pgp.go | 0 {internal/pdf => pdf}/mode_raw.go | 0 {internal/pdf => pdf}/pdf.go | 0 .../phrase_sheet.go | 2 +- {internal/terminal => terminal}/outputs.go | 0 .../terminal => terminal}/read_password.go | 0 .../read_password_unix.go | 0 .../read_password_windows.go | 0 {internal/terminal => terminal}/styles.go | 0 42 files changed, 69 insertions(+), 55 deletions(-) rename {internal/codematrix => codematrix}/codematrix.go (100%) rename {internal/codematrix => codematrix}/codematrix_test.go (98%) rename {internal/codematrix => codematrix}/decode.go (100%) rename {internal/codematrix => codematrix}/encode.go (100%) rename {internal/crc24 => crc24}/crc.go (100%) rename {internal/crc24 => crc24}/crc24.go (100%) rename {internal/crc24 => crc24}/crc_test.go (100%) rename {internal/file_format => file_format}/container.go (97%) rename {internal/file_format => file_format}/container_binary.go (100%) rename {internal/file_format => file_format}/container_binary_test.go (99%) rename {internal/file_format => file_format}/container_decode.go (100%) rename {internal/file_format => file_format}/container_envelope.go (95%) rename {internal/file_format => file_format}/container_json.go (100%) rename {internal/file_format => file_format}/container_pdf.go (92%) rename {internal/file_format => file_format}/container_text.go (98%) rename {internal/file_format => file_format}/envelope/compression.go (100%) rename {internal/file_format => file_format}/envelope/encoder.go (100%) rename {internal/file_format => file_format}/envelope/envelope.go (100%) rename {internal/file_format => file_format}/envelope/envelope_test.go (100%) rename {internal/file_format => file_format}/envelope/header.go (100%) rename {internal/file_format => file_format}/format_version.go (100%) rename {internal/file_format => file_format}/serial.go (100%) rename {internal/file_format => file_format}/serialize.go (94%) rename {internal/file_format => file_format}/serialize_test.go (100%) rename {internal/pdf => pdf}/generator.go (100%) rename {internal/pdf => pdf}/mode_pgp.go (100%) rename {internal/pdf => pdf}/mode_raw.go (100%) rename {internal/pdf => pdf}/pdf.go (100%) rename {internal/phrase_sheet => phrase_sheet}/phrase_sheet.go (99%) rename {internal/terminal => terminal}/outputs.go (100%) rename {internal/terminal => terminal}/read_password.go (100%) rename {internal/terminal => terminal}/read_password_unix.go (100%) rename {internal/terminal => terminal}/read_password_windows.go (100%) rename {internal/terminal => terminal}/styles.go (100%) diff --git a/AGENTS.md b/AGENTS.md index 36d1c70..77b614d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,38 +11,52 @@ Use `task` for all verification; do not substitute raw `go test`/`go vet` for th - `task build` - `task test` — vet + unit + e2e + raw + cleanup (CI parity) - `task test:unit` — `-short -race -coverpkg=./...`; tune via `TEST_OPTIONS`, `SOURCE_FILES`, `TEST_PATTERN` - - Focused: `task test:unit SOURCE_FILES=./internal/file_format/envelope/... TEST_PATTERN=TestGzipCompressorRejectsOversizedOutput` + - Focused: + `task test:unit SOURCE_FILES=./internal/file_format/envelope/... TEST_PATTERN=TestGzipCompressorRejectsOversizedOutput` - `task test:unit:full` — same without `-short` - `task ci` (setup + build + test), `task test:fuzz`, `task cover`, `task reltest` - E2E requires `pdftoppm` (macOS: `brew install poppler`); `task test` flows a PDF through pdftoppm → `scan` → `decode`. -Pre-commit hook: `task dev` installs `.git/hooks/pre-commit` (runs `gofumpt` + `golangci-lint run --new --fix`). Not installed by default. +Pre-commit hook: `task dev` installs `.git/hooks/pre-commit` (runs `gofumpt` + `golangci-lint run --new --fix`). Not +installed by default. ## Style -- Comments: `why` only, never restate what code does. The revive config deliberately drops `exported`/`package-comments` doc rules so "what" comments can be removed. +- Comments: `why` only, never restate what code does. The revive config deliberately drops `exported`/`package-comments` + doc rules so "what" comments can be removed. - Every `.go` file carries the AGPL license header — copy from a neighboring file for new files. - Lint rules that fail in surprising ways: - - revive `redefines-builtin-id` is ON — no params/vars named `max`, `min`, `any`, etc. - - revive `error-strings` is ON — error messages start lowercase, no trailing punctuation. - - `golines` is a formatter with a short line budget and will not auto-wrap long literals — wrap long `errors.New`/`fmt.Errorf` args manually (see the `ErrDecompressedSizeExceeded` var block). - - forbidigo bans `ioutil.*`; depguard bans `github.com/pkg/errors` (use stdlib `errors`). - - tagliatelle requires snake_case yaml/json tags. - - gosec `G304` is excluded only for `internal/filesystem.go` and `cmd/decode_test.go`. + - revive `redefines-builtin-id` is ON — no params/vars named `max`, `min`, `any`, etc. + - revive `error-strings` is ON — error messages start lowercase, no trailing punctuation. + - `golines` is a formatter with a short line budget and will not auto-wrap long literals — wrap long `errors.New`/ + `fmt.Errorf` args manually (see the `ErrDecompressedSizeExceeded` var block). + - forbidigo bans `ioutil.*`; depguard bans `github.com/pkg/errors` (use stdlib `errors`). + - tagliatelle requires snake_case yaml/json tags. + - gosec `G304` is excluded only for `internal/filesystem.go` and `cmd/decode_test.go`. ## Architecture -- Entrypoint `papercrypt.go` sets go-embedded assets (fonts, LICENSE, EFF word list, THIRD_PARTY.md) onto `cmd` package pointers, then calls `cmd.Execute()`. -- `internal/file_format`: binary container wire format v5 — magic `PC`, format version byte `05` (`CurrentBinaryFormatVersion`; decode rejects any other byte). Table in README. `container_envelope.go` bridges the QR envelope to the container; `container_decode.go` reverses the pipeline. -- `internal/file_format/envelope`: `Wrap`/`Unwrap` with an injectable `ContentEncoder` (currently Base45), gzip only when it shrinks the payload. Header = `PC` + base36(info) + base36(version) + base45(CRC-32) + base45(payload) — documented in README; keep in sync. -- Decompression capped at 1 GiB (`maxDecompressedSize`); `scan --unlimited` disables it. On a cap hit, `envelope.ErrDecompressedSizeExceeded` fires and scan appends a `use --unlimited` hint. -- `internal/codematrix` = QR encode (boombuler/barcode) / decode (gozxing); `internal/pdf` = gofpdf with embedded Noto Sans/Inconsolata. +- Entrypoint `papercrypt.go` sets go-embedded assets (fonts, LICENSE, EFF word list, THIRD_PARTY.md) onto `cmd` package + pointers, then calls `cmd.Execute()`. +- `file_format`: binary container wire format v5 — magic `PC`, format version byte `05` (`CurrentBinaryFormatVersion`; + decode rejects any other byte). Table in README. `container_envelope.go` bridges the QR envelope to the container; + `container_decode.go` reverses the pipeline. +- `file_format/envelope`: `Wrap`/`Unwrap` with an injectable `ContentEncoder` (currently Base45), gzip only when it + shrinks the payload. Header = `PC` + base36 (info) + base36 (version) + base45 (CRC-32) + base45 (payload) — + documented in README; keep in sync. +- Decompression capped at 1 GiB (`maxDecompressedSize`); `scan --unlimited` disables it. On a cap hit, + `envelope.ErrDecompressedSizeExceeded` fires and scan appends a `use --unlimited` hint. +- `codematrix` = QR encode (boombuler/barcode) / decode (gozxing); `pdf` = gofpdf with embedded Noto Sans/Inconsolata. ## Tracked artifacts -- `examples/*.pdf` are committed; regenerate via `task docs:examples` (requires `pdfcpu`) after envelope/container format changes. The checked-in PDFs predate the base36 envelope header and carry old-format QRs. -- `coverage.txt`, `dist/`, `bin/`, `manpages/`, `completions/` are generated; `task clean` removes them. `task test` leaves no residue. +- `examples/*.pdf` are committed; regenerate via `task docs:examples` (requires `pdfcpu`) after envelope/container + format changes. The checked-in PDFs predate the base36 envelope header and carry old-format QRs. +- `coverage.txt`, `dist/`, `bin/`, `manpages/`, `completions/` are generated; `task clean` removes them. `task test` + leaves no residue. ## Compatibility -- Software major v3 decodes only v3 documents (README); distinct from the container wire format byte above (`05`). Keep envelope/container wire formats backward compatible within the branch; the base36 header alphabet and the 1 GiB cap are recent changes. +- Software major v3 decodes only v3 documents (README); distinct from the container wire format byte above (`05`). Keep + envelope/container wire formats backward compatible within the branch; the base36 header alphabet and the 1 GiB cap + are recent changes. diff --git a/cmd/decode.go b/cmd/decode.go index 8140616..6311a93 100644 --- a/cmd/decode.go +++ b/cmd/decode.go @@ -26,9 +26,9 @@ import ( "github.com/caarlos0/log" "github.com/spf13/cobra" + "github.com/tmuniversal/papercrypt/v3/file_format" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/file_format" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/terminal" ) var ( diff --git a/cmd/generate.go b/cmd/generate.go index 1547982..cef2b78 100644 --- a/cmd/generate.go +++ b/cmd/generate.go @@ -30,9 +30,9 @@ import ( "github.com/ProtonMail/gopenpgp/v3/crypto" "github.com/caarlos0/log" "github.com/spf13/cobra" + "github.com/tmuniversal/papercrypt/v3/file_format" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/file_format" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/terminal" ) var ( diff --git a/cmd/generate_key.go b/cmd/generate_key.go index 08396e3..a36f9d5 100644 --- a/cmd/generate_key.go +++ b/cmd/generate_key.go @@ -31,8 +31,8 @@ import ( "github.com/caarlos0/log" "github.com/spf13/cobra" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/phrase_sheet" - terminal2 "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/phrase_sheet" + "github.com/tmuniversal/papercrypt/v3/terminal" ) var words int @@ -45,7 +45,7 @@ var ( const wordListURL = "https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt" -var wordListURLFormatted = terminal2.URL(wordListURL) +var wordListURLFormatted = terminal.URL(wordListURL) var generateKeyCmd = &cobra.Command{ Aliases: []string{"key", "gen", "k"}, @@ -79,7 +79,7 @@ which can be found here: %s.`, wordString := strings.Join(keyPhrase, " ") if outFile == os.Stdout { - wordString = terminal2.Bold(wordString) + wordString = terminal.Bold(wordString) } n, err := outFile.WriteString(wordString) @@ -91,7 +91,7 @@ which can be found here: %s.`, _, _ = fmt.Fprintln(outFile) } - terminal2.PrintWrittenSizeToDebug(n, outFile) + terminal.PrintWrittenSizeToDebug(n, outFile) return nil }, } diff --git a/cmd/phrase_sheet.go b/cmd/phrase_sheet.go index cf745b6..8509c54 100644 --- a/cmd/phrase_sheet.go +++ b/cmd/phrase_sheet.go @@ -32,8 +32,8 @@ import ( "github.com/caarlos0/log" "github.com/spf13/cobra" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/phrase_sheet" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/phrase_sheet" + "github.com/tmuniversal/papercrypt/v3/terminal" ) const ( diff --git a/cmd/root.go b/cmd/root.go index 7e0b8cf..72fe249 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -25,7 +25,7 @@ import ( "github.com/caarlos0/log" "github.com/spf13/cobra" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/terminal" ) var ( diff --git a/cmd/scan_code.go b/cmd/scan_code.go index 366e228..5ccef62 100644 --- a/cmd/scan_code.go +++ b/cmd/scan_code.go @@ -29,11 +29,11 @@ import ( "github.com/caarlos0/log" "github.com/spf13/cobra" + "github.com/tmuniversal/papercrypt/v3/codematrix" + "github.com/tmuniversal/papercrypt/v3/file_format" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/codematrix" - "github.com/tmuniversal/papercrypt/v3/internal/file_format" - "github.com/tmuniversal/papercrypt/v3/internal/file_format/envelope" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/terminal" ) var ( diff --git a/internal/codematrix/codematrix.go b/codematrix/codematrix.go similarity index 100% rename from internal/codematrix/codematrix.go rename to codematrix/codematrix.go diff --git a/internal/codematrix/codematrix_test.go b/codematrix/codematrix_test.go similarity index 98% rename from internal/codematrix/codematrix_test.go rename to codematrix/codematrix_test.go index 29d3eee..51dec43 100644 --- a/internal/codematrix/codematrix_test.go +++ b/codematrix/codematrix_test.go @@ -27,7 +27,7 @@ import ( "strings" "testing" - "github.com/tmuniversal/papercrypt/v3/internal/file_format/envelope" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) func TestRoundtrip(t *testing.T) { diff --git a/internal/codematrix/decode.go b/codematrix/decode.go similarity index 100% rename from internal/codematrix/decode.go rename to codematrix/decode.go diff --git a/internal/codematrix/encode.go b/codematrix/encode.go similarity index 100% rename from internal/codematrix/encode.go rename to codematrix/encode.go diff --git a/internal/crc24/crc.go b/crc24/crc.go similarity index 100% rename from internal/crc24/crc.go rename to crc24/crc.go diff --git a/internal/crc24/crc24.go b/crc24/crc24.go similarity index 100% rename from internal/crc24/crc24.go rename to crc24/crc24.go diff --git a/internal/crc24/crc_test.go b/crc24/crc_test.go similarity index 100% rename from internal/crc24/crc_test.go rename to crc24/crc_test.go diff --git a/internal/file_format/container.go b/file_format/container.go similarity index 97% rename from internal/file_format/container.go rename to file_format/container.go index 2fc4b19..284ee07 100644 --- a/internal/file_format/container.go +++ b/file_format/container.go @@ -28,7 +28,7 @@ import ( ) const ( - BytesPerLine = 24 + DefaultBytesPerLine = 24 ) const ( @@ -96,7 +96,7 @@ func (p *PaperCrypt) GetBinarySerialized() (string, error) { return "", errors.New("no data to serialize") } - return SerializeBinary(&p.Data, BytesPerLine), nil + return SerializeBinary(&p.Data, DefaultBytesPerLine), nil } func (p *PaperCrypt) GetDataLength() int { diff --git a/internal/file_format/container_binary.go b/file_format/container_binary.go similarity index 100% rename from internal/file_format/container_binary.go rename to file_format/container_binary.go diff --git a/internal/file_format/container_binary_test.go b/file_format/container_binary_test.go similarity index 99% rename from internal/file_format/container_binary_test.go rename to file_format/container_binary_test.go index b92c3fb..5da7a89 100644 --- a/internal/file_format/container_binary_test.go +++ b/file_format/container_binary_test.go @@ -27,7 +27,7 @@ import ( "testing" "time" - "github.com/tmuniversal/papercrypt/v3/internal/file_format/envelope" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) func TestBinaryRoundtrip(t *testing.T) { diff --git a/internal/file_format/container_decode.go b/file_format/container_decode.go similarity index 100% rename from internal/file_format/container_decode.go rename to file_format/container_decode.go diff --git a/internal/file_format/container_envelope.go b/file_format/container_envelope.go similarity index 95% rename from internal/file_format/container_envelope.go rename to file_format/container_envelope.go index 529b245..ff1a392 100644 --- a/internal/file_format/container_envelope.go +++ b/file_format/container_envelope.go @@ -24,7 +24,7 @@ import ( "errors" "strings" - "github.com/tmuniversal/papercrypt/v3/internal/file_format/envelope" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) func UnmarshalEnvelope(data string, opts ...envelope.CompressorOption) (*PaperCrypt, error) { diff --git a/internal/file_format/container_json.go b/file_format/container_json.go similarity index 100% rename from internal/file_format/container_json.go rename to file_format/container_json.go diff --git a/internal/file_format/container_pdf.go b/file_format/container_pdf.go similarity index 92% rename from internal/file_format/container_pdf.go rename to file_format/container_pdf.go index 2951574..01d0133 100644 --- a/internal/file_format/container_pdf.go +++ b/file_format/container_pdf.go @@ -29,10 +29,10 @@ import ( "github.com/makiuchi-d/gozxing" "github.com/makiuchi-d/gozxing/datamatrix" - "github.com/tmuniversal/papercrypt/v3/internal/codematrix" - "github.com/tmuniversal/papercrypt/v3/internal/crc24" - "github.com/tmuniversal/papercrypt/v3/internal/file_format/envelope" - "github.com/tmuniversal/papercrypt/v3/internal/pdf" + "github.com/tmuniversal/papercrypt/v3/codematrix" + "github.com/tmuniversal/papercrypt/v3/crc24" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" + "github.com/tmuniversal/papercrypt/v3/pdf" ) // GetPDF returns the binary representation of the paper crypt @@ -73,7 +73,7 @@ func (p *PaperCrypt) GetPDF(no2D bool, lowerCaseEncoding bool) ([]byte, error) { DataQRImage: qrImage, DataMatrixImage: dm.Bytes(), TextParts: parts, - BytesPerLine: BytesPerLine, + BytesPerLine: DefaultBytesPerLine, CRC24Polynomial: crc24.CRC24Polynomial, CRC24Initial: crc24.CRC24Initial, } diff --git a/internal/file_format/container_text.go b/file_format/container_text.go similarity index 98% rename from internal/file_format/container_text.go rename to file_format/container_text.go index e16be38..6e9a37f 100644 --- a/internal/file_format/container_text.go +++ b/file_format/container_text.go @@ -33,9 +33,9 @@ import ( "github.com/ProtonMail/gopenpgp/v3/crypto" "github.com/caarlos0/log" + "github.com/tmuniversal/papercrypt/v3/crc24" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/crc24" - "github.com/tmuniversal/papercrypt/v3/internal/terminal" + "github.com/tmuniversal/papercrypt/v3/terminal" ) func (p *PaperCrypt) GetText(lowerCaseEncoding bool) ([]byte, error) { diff --git a/internal/file_format/envelope/compression.go b/file_format/envelope/compression.go similarity index 100% rename from internal/file_format/envelope/compression.go rename to file_format/envelope/compression.go diff --git a/internal/file_format/envelope/encoder.go b/file_format/envelope/encoder.go similarity index 100% rename from internal/file_format/envelope/encoder.go rename to file_format/envelope/encoder.go diff --git a/internal/file_format/envelope/envelope.go b/file_format/envelope/envelope.go similarity index 100% rename from internal/file_format/envelope/envelope.go rename to file_format/envelope/envelope.go diff --git a/internal/file_format/envelope/envelope_test.go b/file_format/envelope/envelope_test.go similarity index 100% rename from internal/file_format/envelope/envelope_test.go rename to file_format/envelope/envelope_test.go diff --git a/internal/file_format/envelope/header.go b/file_format/envelope/header.go similarity index 100% rename from internal/file_format/envelope/header.go rename to file_format/envelope/header.go diff --git a/internal/file_format/format_version.go b/file_format/format_version.go similarity index 100% rename from internal/file_format/format_version.go rename to file_format/format_version.go diff --git a/internal/file_format/serial.go b/file_format/serial.go similarity index 100% rename from internal/file_format/serial.go rename to file_format/serial.go diff --git a/internal/file_format/serialize.go b/file_format/serialize.go similarity index 94% rename from internal/file_format/serialize.go rename to file_format/serialize.go index 519020a..aa6c327 100644 --- a/internal/file_format/serialize.go +++ b/file_format/serialize.go @@ -30,7 +30,7 @@ import ( "strings" "github.com/ccoveille/go-safecast/v2" - "github.com/tmuniversal/papercrypt/v3/internal/crc24" + crc25 "github.com/tmuniversal/papercrypt/v3/crc24" ) type lineData struct { @@ -81,13 +81,13 @@ func SerializeBinary(data *[]byte, bytesPerLine int) string { line += fmt.Sprintf("%02X ", (*data)[i+j]) } - lineCRC24 := crc24.Checksum(dataLine) + lineCRC24 := crc25.Checksum(dataLine) line += fmt.Sprintf("%06X\n", lineCRC24) dataBlock = append(dataBlock, []byte(line)...) } - dataCRC24 := crc24.Checksum(*data) + dataCRC24 := crc25.Checksum(*data) finalLineNumber := max(int(lines+1), min(1, int(lines))) dataBlock = append(dataBlock, fmt.Appendf(nil, "%d: %06X\n", finalLineNumber, dataCRC24)...) @@ -132,7 +132,7 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { // as lineParts contains sub-arrays of encoded bytes, the length of lineParts is equal to the number of bytes in the line + 1 (for the checksum) // a line must never contain no data, this a line must contain at least two parts, one byte and the checksum // (the last line, containing only the block checksum, is already handled above) - if len(lineParts) > BytesPerLine+1 || len(lineParts) < 2 { + if len(lineParts) > DefaultBytesPerLine+1 || len(lineParts) < 2 { return nil, fmt.Errorf("unexpected line length: line %s: %s", lineNumber, parts[1]) } @@ -161,13 +161,13 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { CRC24: checksumData, } - if crc24.ValidateCRC24(lineData.Data, lineData.CRC24) { + if crc25.ValidateCRC24(lineData.Data, lineData.CRC24) { result = append(result, lineData) } else { return nil, fmt.Errorf( "invalid line checksum: line %d has checksum %06X, expected %06X", lineData.LineNumber, - crc24.Checksum(lineData.Data), + crc25.Checksum(lineData.Data), lineData.CRC24, ) } @@ -210,11 +210,11 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { resultData = append(resultData, line.Data...) } - if !crc24.ValidateCRC24(resultData, blockCrc) { + if !crc25.ValidateCRC24(resultData, blockCrc) { return nil, fmt.Errorf( "invalid block checksum: expected %06X, found %06X (%d bytes)", blockCrc, - crc24.Checksum(resultData), + crc25.Checksum(resultData), len(resultData), ) } diff --git a/internal/file_format/serialize_test.go b/file_format/serialize_test.go similarity index 100% rename from internal/file_format/serialize_test.go rename to file_format/serialize_test.go diff --git a/papercrypt.go b/papercrypt.go index 611f420..c048282 100644 --- a/papercrypt.go +++ b/papercrypt.go @@ -30,7 +30,7 @@ import ( "github.com/charmbracelet/colorprofile" "github.com/tmuniversal/papercrypt/v3/cmd" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/pdf" + "github.com/tmuniversal/papercrypt/v3/pdf" ) // LicenseText is the license of the application as a string diff --git a/internal/pdf/generator.go b/pdf/generator.go similarity index 100% rename from internal/pdf/generator.go rename to pdf/generator.go diff --git a/internal/pdf/mode_pgp.go b/pdf/mode_pgp.go similarity index 100% rename from internal/pdf/mode_pgp.go rename to pdf/mode_pgp.go diff --git a/internal/pdf/mode_raw.go b/pdf/mode_raw.go similarity index 100% rename from internal/pdf/mode_raw.go rename to pdf/mode_raw.go diff --git a/internal/pdf/pdf.go b/pdf/pdf.go similarity index 100% rename from internal/pdf/pdf.go rename to pdf/pdf.go diff --git a/internal/phrase_sheet/phrase_sheet.go b/phrase_sheet/phrase_sheet.go similarity index 99% rename from internal/phrase_sheet/phrase_sheet.go rename to phrase_sheet/phrase_sheet.go index fa5a705..1e94b0c 100644 --- a/internal/phrase_sheet/phrase_sheet.go +++ b/phrase_sheet/phrase_sheet.go @@ -36,7 +36,7 @@ import ( "github.com/makiuchi-d/gozxing" "github.com/makiuchi-d/gozxing/datamatrix" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/internal/pdf" + "github.com/tmuniversal/papercrypt/v3/pdf" ) // GenerateFromSeed uses a seeded, non-cryptographic PRNG so the sheet is diff --git a/internal/terminal/outputs.go b/terminal/outputs.go similarity index 100% rename from internal/terminal/outputs.go rename to terminal/outputs.go diff --git a/internal/terminal/read_password.go b/terminal/read_password.go similarity index 100% rename from internal/terminal/read_password.go rename to terminal/read_password.go diff --git a/internal/terminal/read_password_unix.go b/terminal/read_password_unix.go similarity index 100% rename from internal/terminal/read_password_unix.go rename to terminal/read_password_unix.go diff --git a/internal/terminal/read_password_windows.go b/terminal/read_password_windows.go similarity index 100% rename from internal/terminal/read_password_windows.go rename to terminal/read_password_windows.go diff --git a/internal/terminal/styles.go b/terminal/styles.go similarity index 100% rename from internal/terminal/styles.go rename to terminal/styles.go From 3373428935492e1a17d96d50c2946aaa07823810 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:00:19 +0200 Subject: [PATCH 03/41] chore: update lint exclusions --- .golangci.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index be1dd00..b9c98a4 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -47,10 +47,8 @@ linters: - path: "cmd/scan_code.go" linters: - tagliatelle - - path: "internal/phrase_sheet.go" # this should be entirely fine, since the seed is generated with crypto/rand - text: "G404.*" - - path: "internal/phrase_sheet/phrase_sheet.go" + - path: "phrase_sheet/phrase_sheet.go" text: "G404.*" - # disable file inclusion via variable (gosec) here, it is a test file path: "cmd/decode_test.go" From b4912bc814f990d4fc8a20b270c5e6dc3ca59ba2 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:03:31 +0200 Subject: [PATCH 04/41] refactor: fix import name accidentally incremented by goland --- file_format/serialize.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/file_format/serialize.go b/file_format/serialize.go index aa6c327..299f803 100644 --- a/file_format/serialize.go +++ b/file_format/serialize.go @@ -30,7 +30,7 @@ import ( "strings" "github.com/ccoveille/go-safecast/v2" - crc25 "github.com/tmuniversal/papercrypt/v3/crc24" + "github.com/tmuniversal/papercrypt/v3/crc24" ) type lineData struct { @@ -81,13 +81,13 @@ func SerializeBinary(data *[]byte, bytesPerLine int) string { line += fmt.Sprintf("%02X ", (*data)[i+j]) } - lineCRC24 := crc25.Checksum(dataLine) + lineCRC24 := crc24.Checksum(dataLine) line += fmt.Sprintf("%06X\n", lineCRC24) dataBlock = append(dataBlock, []byte(line)...) } - dataCRC24 := crc25.Checksum(*data) + dataCRC24 := crc24.Checksum(*data) finalLineNumber := max(int(lines+1), min(1, int(lines))) dataBlock = append(dataBlock, fmt.Appendf(nil, "%d: %06X\n", finalLineNumber, dataCRC24)...) @@ -161,13 +161,13 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { CRC24: checksumData, } - if crc25.ValidateCRC24(lineData.Data, lineData.CRC24) { + if crc24.ValidateCRC24(lineData.Data, lineData.CRC24) { result = append(result, lineData) } else { return nil, fmt.Errorf( "invalid line checksum: line %d has checksum %06X, expected %06X", lineData.LineNumber, - crc25.Checksum(lineData.Data), + crc24.Checksum(lineData.Data), lineData.CRC24, ) } @@ -210,11 +210,11 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { resultData = append(resultData, line.Data...) } - if !crc25.ValidateCRC24(resultData, blockCrc) { + if !crc24.ValidateCRC24(resultData, blockCrc) { return nil, fmt.Errorf( "invalid block checksum: expected %06X, found %06X (%d bytes)", blockCrc, - crc25.Checksum(resultData), + crc24.Checksum(resultData), len(resultData), ) } From 8e9590495fe055b49290eb6f0b60b52557e57541 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:31:23 +0200 Subject: [PATCH 05/41] refactor(file_format): split model and binary wire format into focused files Move the PaperCrypt struct and constructor into document.go, the header constants and errors into header.go, and the format enums into version.go. Split the v5 binary container into binary.go (magic/version/helpers), binary_marshal.go, and binary_unmarshal.go. --- file_format/binary.go | 64 +++++ file_format/binary_marshal.go | 102 ++++++++ file_format/binary_unmarshal.go | 117 +++++++++ file_format/container.go | 72 +----- file_format/container_binary.go | 231 ------------------ file_format/document.go | 64 +++++ file_format/header.go | 52 ++++ file_format/{format_version.go => version.go} | 0 8 files changed, 402 insertions(+), 300 deletions(-) create mode 100644 file_format/binary.go create mode 100644 file_format/binary_marshal.go create mode 100644 file_format/binary_unmarshal.go delete mode 100644 file_format/container_binary.go create mode 100644 file_format/document.go create mode 100644 file_format/header.go rename file_format/{format_version.go => version.go} (100%) diff --git a/file_format/binary.go b/file_format/binary.go new file mode 100644 index 0000000..0ada1e2 --- /dev/null +++ b/file_format/binary.go @@ -0,0 +1,64 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "errors" + "fmt" + "strings" +) + +// BinaryMagic is the 2-byte identifier for the binary container format. +var BinaryMagic = [2]byte{'P', 'C'} + +// CurrentBinaryFormatVersion is the container format version of the binary +// container recorded in the byte following BinaryMagic. Bumped whenever the +// binary wire format changes; readers reject any other value. +const CurrentBinaryFormatVersion = 5 + +// BinaryHeaderSize is the fixed magic prefix of the binary container, +// comprising the 2-byte BinaryMagic and the single container format version byte. +const BinaryHeaderSize = 3 + +var ( + // ErrBinaryInvalidMagic indicates the binary container header does not match BinaryMagic. + ErrBinaryInvalidMagic = errors.New("binary: invalid magic") + // ErrBinaryUnsupportedVersion indicates the binary container uses an unsupported container format version. + ErrBinaryUnsupportedVersion = errors.New("binary: unsupported container format version") + // ErrBinaryTruncated indicates the binary data is shorter than the declared format. + ErrBinaryTruncated = errors.New("binary: truncated data") +) + +// parseVersion extracts major, minor, patch from a version string like "v3.1.2". +// Returns 0,0,0 for unparseable strings. +func parseVersion(v string) (major, minor, patch uint8) { + v = strings.TrimPrefix(v, "v") + var maj, mi, pat int + if _, err := fmt.Sscanf(v, "%d.%d.%d", &maj, &mi, &pat); err != nil { + return 0, 0, 0 + } + return uint8(maj), uint8(mi), uint8(pat) //nolint:gosec // version components fit in uint8 +} + +// formatVersion returns "M.m.p" from three uint8 components. +func formatVersion(major, minor, patch uint8) string { + return fmt.Sprintf("%d.%d.%d", major, minor, patch) +} diff --git a/file_format/binary_marshal.go b/file_format/binary_marshal.go new file mode 100644 index 0000000..f0d1197 --- /dev/null +++ b/file_format/binary_marshal.go @@ -0,0 +1,102 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "crypto/sha256" + "encoding/binary" + "errors" + "fmt" +) + +// MarshalBinary serializes the PaperCrypt struct to the compact binary format. +// +// Wire format: +// +// [2]byte magic — "PC" +// [1]byte format — container format version +// [3]byte version — major, minor, patch (uint8 each) +// [1]byte format — 0=PGP, 1=Raw +// var serial — 1-byte length prefix + UTF-8 +// var purpose — 1-byte length prefix + UTF-8 +// var comment — 1-byte length prefix + UTF-8 +// [8]byte createdAt — Unix timestamp in nanoseconds, big-endian +// [32]byte dataSHA256 +// var data — remaining bytes +func MarshalBinary(p *PaperCrypt) ([]byte, error) { + if p == nil { + return nil, errors.New("binary: nil PaperCrypt") + } + + serialBytes := []byte(p.SerialNumber) + purposeBytes := []byte(p.Purpose) + commentBytes := []byte(p.Comment) + + if len(serialBytes) > 255 { + return nil, fmt.Errorf("binary: serial number too long (%d > 255)", len(serialBytes)) + } + if len(purposeBytes) > 255 { + return nil, fmt.Errorf("binary: purpose too long (%d > 255)", len(purposeBytes)) + } + if len(commentBytes) > 255 { + return nil, fmt.Errorf("binary: comment too long (%d > 255)", len(commentBytes)) + } + + major, minor, patch := parseVersion(p.Version) + + size := BinaryHeaderSize + + 3 + // version + 1 + // format + 1 + len(serialBytes) + + 1 + len(purposeBytes) + + 1 + len(commentBytes) + + 8 + // createdAt + 32 + // dataSHA256 + len(p.Data) + + out := make([]byte, 0, size) + + out = append(out, BinaryMagic[:]...) + out = append(out, CurrentBinaryFormatVersion) + out = append(out, major, minor, patch) + out = append(out, byte(p.DataFormat)) + + out = append(out, byte(len(serialBytes))) //nolint:gosec // length is validated <= 255 above + out = append(out, serialBytes...) + out = append(out, byte(len(purposeBytes))) //nolint:gosec // length is validated <= 255 above + out = append(out, purposeBytes...) + out = append(out, byte(len(commentBytes))) //nolint:gosec // length is validated <= 255 above + out = append(out, commentBytes...) + + var ts [8]byte + tsVal := uint64(p.CreatedAt.UnixNano()) //nolint:gosec // Unix timestamps fit in uint64 + binary.BigEndian.PutUint64(ts[:], tsVal) + out = append(out, ts[:]...) + + if p.DataSHA256 == ([32]byte{}) { + p.DataSHA256 = sha256.Sum256(p.Data) + } + out = append(out, p.DataSHA256[:]...) + + out = append(out, p.Data...) + + return out, nil +} diff --git a/file_format/binary_unmarshal.go b/file_format/binary_unmarshal.go new file mode 100644 index 0000000..02112ce --- /dev/null +++ b/file_format/binary_unmarshal.go @@ -0,0 +1,117 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "encoding/binary" + "fmt" + "io" + "time" +) + +// UnmarshalBinary parses a binary container into a PaperCrypt struct. +func UnmarshalBinary(data []byte) (*PaperCrypt, error) { + if len(data) < BinaryHeaderSize { + return nil, ErrBinaryTruncated + } + + if [2]byte(data[0:2]) != BinaryMagic { + return nil, ErrBinaryInvalidMagic + } + + if data[2] != CurrentBinaryFormatVersion { + return nil, fmt.Errorf("%w: %d", ErrBinaryUnsupportedVersion, data[2]) + } + + r := data[BinaryHeaderSize:] + p := &PaperCrypt{} + + if len(r) < 3 { + return nil, ErrBinaryTruncated + } + p.Version = formatVersion(r[0], r[1], r[2]) + r = r[3:] + + if len(r) < 1 { + return nil, ErrBinaryTruncated + } + p.DataFormat = PaperCryptDataFormat(r[0]) + r = r[1:] + + if len(r) < 1 { + return nil, ErrBinaryTruncated + } + serialLen := int(r[0]) + r = r[1:] + if len(r) < serialLen { + return nil, ErrBinaryTruncated + } + p.SerialNumber = string(r[:serialLen]) + r = r[serialLen:] + + if len(r) < 1 { + return nil, ErrBinaryTruncated + } + purposeLen := int(r[0]) + r = r[1:] + if len(r) < purposeLen { + return nil, ErrBinaryTruncated + } + p.Purpose = string(r[:purposeLen]) + r = r[purposeLen:] + + if len(r) < 1 { + return nil, ErrBinaryTruncated + } + commentLen := int(r[0]) + r = r[1:] + if len(r) < commentLen { + return nil, ErrBinaryTruncated + } + p.Comment = string(r[:commentLen]) + r = r[commentLen:] + + if len(r) < 8 { + return nil, ErrBinaryTruncated + } + tsVal := binary.BigEndian.Uint64(r[:8]) + p.CreatedAt = time.Unix(0, int64(tsVal)) //nolint:gosec // Unix timestamps are non-negative + r = r[8:] + + if len(r) < 32 { + return nil, ErrBinaryTruncated + } + copy(p.DataSHA256[:], r[:32]) + r = r[32:] + + p.Data = r + + return p, nil +} + +// UnmarshalBinaryFromReader reads a binary container from r and returns it. +func UnmarshalBinaryFromReader(r io.Reader) (*PaperCrypt, error) { + data, err := io.ReadAll(r) + if err != nil { + return nil, fmt.Errorf("binary: read: %w", err) + } + return UnmarshalBinary(data) +} diff --git a/file_format/container.go b/file_format/container.go index 284ee07..f7f56fc 100644 --- a/file_format/container.go +++ b/file_format/container.go @@ -20,72 +20,10 @@ package file_format -import ( - "crypto/sha256" - "errors" - "fmt" - "time" -) +import "errors" -const ( - DefaultBytesPerLine = 24 -) - -const ( - HeaderFieldVersion = "PaperCrypt Version" - HeaderFieldSerial = "Content Serial" - HeaderFieldPurpose = "Purpose" - HeaderFieldComment = "Comment" - HeaderFieldDate = "Date" - HeaderFieldDataFormat = "Data Format" - HeaderFieldContentLength = "Content Length" - HeaderFieldSHA256 = "Content SHA-256" - HeaderFieldHeaderCRC32 = "Header CRC-32" -) - -var ( - errorParsingHeader = errors.New("error parsing header") - errorParsingBody = errors.New("error parsing body") - errorValidationFailure = errors.New("validation failure") -) - -type PaperCrypt struct { - Version string `json:"v"` - DataFormat PaperCryptDataFormat `json:"f"` - SerialNumber string `json:"sn"` - Purpose string `json:"p"` - Comment string `json:"cm"` - CreatedAt time.Time `json:"ct"` - DataSHA256 [32]byte `json:"-"` - - // Data is either ASCII armored OpenPGP data (DataFormat PGP, gzipped - // before encryption) or raw bytes (DataFormat Raw). Either way, the - // payload is gzipped after processing. - Data []byte `json:"d"` -} - -func NewPaperCrypt( - version string, - data []byte, - serialNumber string, - purpose string, - comment string, - createdAt time.Time, - format PaperCryptDataFormat, -) *PaperCrypt { - dataSHA256 := sha256.Sum256(data) - - return &PaperCrypt{ - Version: version, - Data: data, - SerialNumber: serialNumber, - Purpose: purpose, - Comment: comment, - CreatedAt: createdAt, - DataSHA256: dataSHA256, - DataFormat: format, - } -} +// Deprecated: method adapters kept until external callers move to the +// package-level functions. func (p *PaperCrypt) GetBinarySerialized() (string, error) { if p.Data == nil { @@ -102,7 +40,3 @@ func (p *PaperCrypt) GetBinarySerialized() (string, error) { func (p *PaperCrypt) GetDataLength() int { return len(p.Data) } - -func newFieldNotPresentError(field string) error { - return fmt.Errorf("`%s` not present in header", field) -} diff --git a/file_format/container_binary.go b/file_format/container_binary.go deleted file mode 100644 index 80d489f..0000000 --- a/file_format/container_binary.go +++ /dev/null @@ -1,231 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -import ( - "crypto/sha256" - "encoding/binary" - "errors" - "fmt" - "io" - "strings" - "time" -) - -// BinaryMagic is the 2-byte identifier for the binary container format. -var BinaryMagic = [2]byte{'P', 'C'} - -// CurrentBinaryFormatVersion is the container format version of the binary -// container recorded in the byte following BinaryMagic. Bumped whenever the -// binary wire format changes; readers reject any other value. -const CurrentBinaryFormatVersion = 5 - -// BinaryHeaderSize is the fixed magic prefix of the binary container, -// comprising the 2-byte BinaryMagic and the single container format version byte. -const BinaryHeaderSize = 3 - -var ( - // ErrBinaryInvalidMagic indicates the binary container header does not match BinaryMagic. - ErrBinaryInvalidMagic = errors.New("binary: invalid magic") - // ErrBinaryUnsupportedVersion indicates the binary container uses an unsupported container format version. - ErrBinaryUnsupportedVersion = errors.New("binary: unsupported container format version") - // ErrBinaryTruncated indicates the binary data is shorter than the declared format. - ErrBinaryTruncated = errors.New("binary: truncated data") -) - -// parseVersion extracts major, minor, patch from a version string like "v3.1.2". -// Returns 0,0,0 for unparseable strings. -func parseVersion(v string) (major, minor, patch uint8) { - v = strings.TrimPrefix(v, "v") - var maj, mi, pat int - if _, err := fmt.Sscanf(v, "%d.%d.%d", &maj, &mi, &pat); err != nil { - return 0, 0, 0 - } - return uint8(maj), uint8(mi), uint8(pat) //nolint:gosec // version components fit in uint8 -} - -// formatVersion returns "M.m.p" from three uint8 components. -func formatVersion(major, minor, patch uint8) string { - return fmt.Sprintf("%d.%d.%d", major, minor, patch) -} - -// MarshalBinary serializes the PaperCrypt struct to the compact binary format. -// -// Wire format: -// -// [2]byte magic — "PC" -// [1]byte format — container format version -// [3]byte version — major, minor, patch (uint8 each) -// [1]byte format — 0=PGP, 1=Raw -// var serial — 1-byte length prefix + UTF-8 -// var purpose — 1-byte length prefix + UTF-8 -// var comment — 1-byte length prefix + UTF-8 -// [8]byte createdAt — Unix timestamp in nanoseconds, big-endian -// [32]byte dataSHA256 -// var data — remaining bytes -func MarshalBinary(p *PaperCrypt) ([]byte, error) { - if p == nil { - return nil, errors.New("binary: nil PaperCrypt") - } - - serialBytes := []byte(p.SerialNumber) - purposeBytes := []byte(p.Purpose) - commentBytes := []byte(p.Comment) - - if len(serialBytes) > 255 { - return nil, fmt.Errorf("binary: serial number too long (%d > 255)", len(serialBytes)) - } - if len(purposeBytes) > 255 { - return nil, fmt.Errorf("binary: purpose too long (%d > 255)", len(purposeBytes)) - } - if len(commentBytes) > 255 { - return nil, fmt.Errorf("binary: comment too long (%d > 255)", len(commentBytes)) - } - - major, minor, patch := parseVersion(p.Version) - - size := BinaryHeaderSize + - 3 + // version - 1 + // format - 1 + len(serialBytes) + - 1 + len(purposeBytes) + - 1 + len(commentBytes) + - 8 + // createdAt - 32 + // dataSHA256 - len(p.Data) - - out := make([]byte, 0, size) - - out = append(out, BinaryMagic[:]...) - out = append(out, CurrentBinaryFormatVersion) - out = append(out, major, minor, patch) - out = append(out, byte(p.DataFormat)) - - out = append(out, byte(len(serialBytes))) //nolint:gosec // length is validated <= 255 above - out = append(out, serialBytes...) - out = append(out, byte(len(purposeBytes))) //nolint:gosec // length is validated <= 255 above - out = append(out, purposeBytes...) - out = append(out, byte(len(commentBytes))) //nolint:gosec // length is validated <= 255 above - out = append(out, commentBytes...) - - var ts [8]byte - tsVal := uint64(p.CreatedAt.UnixNano()) //nolint:gosec // Unix timestamps fit in uint64 - binary.BigEndian.PutUint64(ts[:], tsVal) - out = append(out, ts[:]...) - - if p.DataSHA256 == ([32]byte{}) { - p.DataSHA256 = sha256.Sum256(p.Data) - } - out = append(out, p.DataSHA256[:]...) - - out = append(out, p.Data...) - - return out, nil -} - -// UnmarshalBinary parses a binary container into a PaperCrypt struct. -func UnmarshalBinary(data []byte) (*PaperCrypt, error) { - if len(data) < BinaryHeaderSize { - return nil, ErrBinaryTruncated - } - - if [2]byte(data[0:2]) != BinaryMagic { - return nil, ErrBinaryInvalidMagic - } - - if data[2] != CurrentBinaryFormatVersion { - return nil, fmt.Errorf("%w: %d", ErrBinaryUnsupportedVersion, data[2]) - } - - r := data[BinaryHeaderSize:] - p := &PaperCrypt{} - - if len(r) < 3 { - return nil, ErrBinaryTruncated - } - p.Version = formatVersion(r[0], r[1], r[2]) - r = r[3:] - - if len(r) < 1 { - return nil, ErrBinaryTruncated - } - p.DataFormat = PaperCryptDataFormat(r[0]) - r = r[1:] - - if len(r) < 1 { - return nil, ErrBinaryTruncated - } - serialLen := int(r[0]) - r = r[1:] - if len(r) < serialLen { - return nil, ErrBinaryTruncated - } - p.SerialNumber = string(r[:serialLen]) - r = r[serialLen:] - - if len(r) < 1 { - return nil, ErrBinaryTruncated - } - purposeLen := int(r[0]) - r = r[1:] - if len(r) < purposeLen { - return nil, ErrBinaryTruncated - } - p.Purpose = string(r[:purposeLen]) - r = r[purposeLen:] - - if len(r) < 1 { - return nil, ErrBinaryTruncated - } - commentLen := int(r[0]) - r = r[1:] - if len(r) < commentLen { - return nil, ErrBinaryTruncated - } - p.Comment = string(r[:commentLen]) - r = r[commentLen:] - - if len(r) < 8 { - return nil, ErrBinaryTruncated - } - tsVal := binary.BigEndian.Uint64(r[:8]) - p.CreatedAt = time.Unix(0, int64(tsVal)) //nolint:gosec // Unix timestamps are non-negative - r = r[8:] - - if len(r) < 32 { - return nil, ErrBinaryTruncated - } - copy(p.DataSHA256[:], r[:32]) - r = r[32:] - - p.Data = r - - return p, nil -} - -// UnmarshalBinaryFromReader reads a binary container from r and returns it. -func UnmarshalBinaryFromReader(r io.Reader) (*PaperCrypt, error) { - data, err := io.ReadAll(r) - if err != nil { - return nil, fmt.Errorf("binary: read: %w", err) - } - return UnmarshalBinary(data) -} diff --git a/file_format/document.go b/file_format/document.go new file mode 100644 index 0000000..3f79fe7 --- /dev/null +++ b/file_format/document.go @@ -0,0 +1,64 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "crypto/sha256" + "time" +) + +type PaperCrypt struct { + Version string `json:"v"` + DataFormat PaperCryptDataFormat `json:"f"` + SerialNumber string `json:"sn"` + Purpose string `json:"p"` + Comment string `json:"cm"` + CreatedAt time.Time `json:"ct"` + DataSHA256 [32]byte `json:"-"` + + // Data is either ASCII armored OpenPGP data (DataFormat PGP, gzipped + // before encryption) or raw bytes (DataFormat Raw). Either way, the + // payload is gzipped after processing. + Data []byte `json:"d"` +} + +func NewPaperCrypt( + version string, + data []byte, + serialNumber string, + purpose string, + comment string, + createdAt time.Time, + format PaperCryptDataFormat, +) *PaperCrypt { + dataSHA256 := sha256.Sum256(data) + + return &PaperCrypt{ + Version: version, + Data: data, + SerialNumber: serialNumber, + Purpose: purpose, + Comment: comment, + CreatedAt: createdAt, + DataSHA256: dataSHA256, + DataFormat: format, + } +} diff --git a/file_format/header.go b/file_format/header.go new file mode 100644 index 0000000..9d6636e --- /dev/null +++ b/file_format/header.go @@ -0,0 +1,52 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "errors" + "fmt" +) + +const ( + DefaultBytesPerLine = 24 +) + +const ( + HeaderFieldVersion = "PaperCrypt Version" + HeaderFieldSerial = "Content Serial" + HeaderFieldPurpose = "Purpose" + HeaderFieldComment = "Comment" + HeaderFieldDate = "Date" + HeaderFieldDataFormat = "Data Format" + HeaderFieldContentLength = "Content Length" + HeaderFieldSHA256 = "Content SHA-256" + HeaderFieldHeaderCRC32 = "Header CRC-32" +) + +var ( + errorParsingHeader = errors.New("error parsing header") + errorParsingBody = errors.New("error parsing body") + errorValidationFailure = errors.New("validation failure") +) + +func newFieldNotPresentError(field string) error { + return fmt.Errorf("`%s` not present in header", field) +} diff --git a/file_format/format_version.go b/file_format/version.go similarity index 100% rename from file_format/format_version.go rename to file_format/version.go From 0349b7dc5a95a681c6a78bfd72afa36ea2197e73 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:34:36 +0200 Subject: [PATCH 06/41] refactor(file_format): split text container into parse and serialize files Move header parsing (TextToHeaderMap, SplitTextHeaderAndBody, shared splitHeaderBody, ParseHexUint32) into text_parse.go and the serialized hex-line format plus GetText/MarshalBinaryForText into text_serialize.go. GetText and GetBinarySerialized become package functions; the old methods turn into deprecation adapters. scan migrates to file_format.GetText. --- cmd/scan_code.go | 2 +- file_format/container.go | 12 +-- file_format/container_text.go | 81 +--------------- file_format/text_parse.go | 97 +++++++++++++++++++ .../{serialize.go => text_serialize.go} | 75 ++++++++++---- 5 files changed, 159 insertions(+), 108 deletions(-) create mode 100644 file_format/text_parse.go rename file_format/{serialize.go => text_serialize.go} (82%) diff --git a/cmd/scan_code.go b/cmd/scan_code.go index 5ccef62..058955c 100644 --- a/cmd/scan_code.go +++ b/cmd/scan_code.go @@ -131,7 +131,7 @@ The resulting data can be read by this command, by supplying the --from-binary f return err } - output, err := pc.GetText(false) + output, err := file_format.GetText(pc, false) if err != nil { return errors.Join(errors.New("error reserializing data as PaperCrypt text"), err) } diff --git a/file_format/container.go b/file_format/container.go index f7f56fc..4c9e6f2 100644 --- a/file_format/container.go +++ b/file_format/container.go @@ -20,21 +20,11 @@ package file_format -import "errors" - // Deprecated: method adapters kept until external callers move to the // package-level functions. func (p *PaperCrypt) GetBinarySerialized() (string, error) { - if p.Data == nil { - return "", errors.New("no data to serialize") - } - - if len(p.Data) == 0 { - return "", errors.New("no data to serialize") - } - - return SerializeBinary(&p.Data, DefaultBytesPerLine), nil + return MarshalBinaryForText(p) } func (p *PaperCrypt) GetDataLength() int { diff --git a/file_format/container_text.go b/file_format/container_text.go index 6e9a37f..c0d8495 100644 --- a/file_format/container_text.go +++ b/file_format/container_text.go @@ -38,86 +38,9 @@ import ( "github.com/tmuniversal/papercrypt/v3/terminal" ) +// Deprecated: use the package-level GetText function instead. func (p *PaperCrypt) GetText(lowerCaseEncoding bool) ([]byte, error) { - header := fmt.Sprintf( - `%s: %s -%s: %s -%s: %s -%s: %s -%s: %s -%s: %s -%s: %d -%s: %s`, - HeaderFieldVersion, - p.Version, - HeaderFieldSerial, - p.SerialNumber, - HeaderFieldPurpose, - p.Purpose, - HeaderFieldComment, - p.Comment, - HeaderFieldDate, - p.CreatedAt.Format(internal.TimeStampFormatLong), - HeaderFieldDataFormat, - p.DataFormat, - HeaderFieldContentLength, - p.GetDataLength(), - HeaderFieldSHA256, - base64.StdEncoding.EncodeToString(p.DataSHA256[:])) - - headerCRC32 := crc32.ChecksumIEEE([]byte(header)) - - serializedData, err := p.GetBinarySerialized() - if err != nil { - return nil, errors.Join(errors.New("failed to get serialized data"), err) - } - if lowerCaseEncoding { - serializedData = strings.ToLower(serializedData) - } - - return fmt.Appendf(nil, `%s -%s: %08x - - -%s -`, - header, - HeaderFieldHeaderCRC32, - headerCRC32, - serializedData), nil -} - -// TextToHeaderMap expects "Key: Value" header lines; the "# " prefix is stripped from keys. -func TextToHeaderMap(text []byte) (map[string]string, error) { - headers := make(map[string]string) - - headerLines := bytes.Split(text, []byte("\n")) - for _, headerLine := range headerLines { - headerLineSplit := bytes.SplitN(headerLine, []byte(": "), 2) - if len(headerLineSplit) != 2 { - return nil, errors.Join( - errorParsingHeader, - fmt.Errorf("error parsing header line: %s", headerLine), - ) - } - - key := string(headerLineSplit[0]) - key = strings.TrimPrefix(key, "# ") - - headers[key] = string(headerLineSplit[1]) - } - - return headers, nil -} - -func SplitTextHeaderAndBody(data []byte) ([]byte, []byte, error) { - dataSplit := bytes.SplitN(data, []byte("\n\n\n"), 2) - if len(dataSplit) != 2 { - return nil, nil, errors.New( - "header not discernible, header and content should be separated by two empty lines", - ) - } - return dataSplit[0], dataSplit[1], nil + return GetText(p, lowerCaseEncoding) } func DeserializeText( diff --git a/file_format/text_parse.go b/file_format/text_parse.go new file mode 100644 index 0000000..adcda82 --- /dev/null +++ b/file_format/text_parse.go @@ -0,0 +1,97 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "bytes" + "errors" + "fmt" + "strings" +) + +// TextToHeaderMap expects "Key: Value" header lines; the "# " prefix is stripped from keys. +func TextToHeaderMap(text []byte) (map[string]string, error) { + headers := make(map[string]string) + + headerLines := bytes.Split(text, []byte("\n")) + for _, headerLine := range headerLines { + headerLineSplit := bytes.SplitN(headerLine, []byte(": "), 2) + if len(headerLineSplit) != 2 { + return nil, errors.Join( + errorParsingHeader, + fmt.Errorf("error parsing header line: %s", headerLine), + ) + } + + key := string(headerLineSplit[0]) + key = strings.TrimPrefix(key, "# ") + + headers[key] = string(headerLineSplit[1]) + } + + return headers, nil +} + +// splitHeaderBody splits text at the two empty lines separating the +// header section from the serialized body, returning text unchanged as the +// header when the separator is absent. +func splitHeaderBody(text []byte) (header, body []byte) { + parts := bytes.SplitN(text, []byte("\n\n\n"), 2) + if len(parts) != 2 { + return text, nil + } + return parts[0], parts[1] +} + +func SplitTextHeaderAndBody(data []byte) ([]byte, []byte, error) { + header, body := splitHeaderBody(data) + if body == nil { + return nil, nil, errors.New( + "header not discernible, header and content should be separated by two empty lines", + ) + } + return header, body, nil +} + +// ParseHexUint32 parses a uint32 number from a string of hexadecimal characters +func ParseHexUint32(hex string) (uint32, error) { + h := strings.ToLower(hex) + h = strings.ReplaceAll(h, "0x", "") + h = strings.ReplaceAll(h, " ", "") + + var n uint32 + _, err := fmt.Sscanf(h, "%x", &n) + if err != nil { + return 0, errors.Join(errors.New("error parsing hexadecimal value"), err) + } + + // check input against output serialization, taking care to avoid leading zeros + nStr := fmt.Sprintf("%x", n) + hNoLeadingZeros := strings.TrimLeft(h, "0") + if hNoLeadingZeros == "" { + hNoLeadingZeros = "0" + } + if nStr != hNoLeadingZeros { + return n, fmt.Errorf("invalid hexadecimal value: %s", hex) + } + + return n, nil +} diff --git a/file_format/serialize.go b/file_format/text_serialize.go similarity index 82% rename from file_format/serialize.go rename to file_format/text_serialize.go index 299f803..22f5528 100644 --- a/file_format/serialize.go +++ b/file_format/text_serialize.go @@ -26,11 +26,13 @@ import ( "encoding/hex" "errors" "fmt" + "hash/crc32" "math" "strings" "github.com/ccoveille/go-safecast/v2" "github.com/tmuniversal/papercrypt/v3/crc24" + "github.com/tmuniversal/papercrypt/v3/internal" ) type lineData struct { @@ -222,29 +224,68 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { return resultData, nil } -// ParseHexUint32 parses a uint32 number from a string of hexadecimal characters -func ParseHexUint32(hex string) (uint32, error) { - h := strings.ToLower(hex) - h = strings.ReplaceAll(h, "0x", "") - h = strings.ReplaceAll(h, " ", "") +// MarshalBinaryForText returns the binary data formatted for restoration, +// hex lines with line numbers and a per-line CRC-24. +func MarshalBinaryForText(p *PaperCrypt) (string, error) { + if p.Data == nil { + return "", errors.New("no data to serialize") + } - var n uint32 - _, err := fmt.Sscanf(h, "%x", &n) - if err != nil { - return 0, errors.Join(errors.New("error parsing hexadecimal value"), err) + if len(p.Data) == 0 { + return "", errors.New("no data to serialize") } - // check input against output serialization, taking care to avoid leading zeros - nStr := fmt.Sprintf("%x", n) - hNoLeadingZeros := strings.TrimLeft(h, "0") - if hNoLeadingZeros == "" { - hNoLeadingZeros = "0" + return SerializeBinary(&p.Data, DefaultBytesPerLine), nil +} + +// GetText renders the human-readable text container for p. +func GetText(p *PaperCrypt, lowerCaseEncoding bool) ([]byte, error) { + header := fmt.Sprintf( + `%s: %s +%s: %s +%s: %s +%s: %s +%s: %s +%s: %s +%s: %d +%s: %s`, + HeaderFieldVersion, + p.Version, + HeaderFieldSerial, + p.SerialNumber, + HeaderFieldPurpose, + p.Purpose, + HeaderFieldComment, + p.Comment, + HeaderFieldDate, + p.CreatedAt.Format(internal.TimeStampFormatLong), + HeaderFieldDataFormat, + p.DataFormat, + HeaderFieldContentLength, + len(p.Data), + HeaderFieldSHA256, + base64.StdEncoding.EncodeToString(p.DataSHA256[:])) + + headerCRC32 := crc32.ChecksumIEEE([]byte(header)) + + serializedData, err := MarshalBinaryForText(p) + if err != nil { + return nil, errors.Join(errors.New("failed to get serialized data"), err) } - if nStr != hNoLeadingZeros { - return n, fmt.Errorf("invalid hexadecimal value: %s", hex) + if lowerCaseEncoding { + serializedData = strings.ToLower(serializedData) } - return n, nil + return fmt.Appendf(nil, `%s +%s: %08x + + +%s +`, + header, + HeaderFieldHeaderCRC32, + headerCRC32, + serializedData), nil } // BytesFromBase64 decodes a base64 string using base64.StdEncoding to a byte slice From 092751ede7614ede6b7c9cc5c4ef37b084f3a5dc Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:35:14 +0200 Subject: [PATCH 07/41] refactor(file_format): extract data format handlers and DecodeData A private formatHandler map owns the per-format plaintext recovery (pgp: gzip + PGP decrypt, raw: passthrough), looked up via getHandler. DecodeData drives it; the Decode method becomes a deprecation adapter. decode moves to file_format.DecodeData. --- cmd/decode.go | 2 +- file_format/container_decode.go | 44 +---------------- file_format/decode.go | 32 +++++++++++++ file_format/format_handler.go | 83 +++++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+), 43 deletions(-) create mode 100644 file_format/decode.go create mode 100644 file_format/format_handler.go diff --git a/cmd/decode.go b/cmd/decode.go index 6311a93..7719c18 100644 --- a/cmd/decode.go +++ b/cmd/decode.go @@ -120,7 +120,7 @@ The data should be read from a file or stdin, you will be required to provide a return errors.Join(errors.New("error deserializing PaperCrypt document"), err) } - decoded, err = pc.Decode(passphraseBytes) + decoded, err = file_format.DecodeData(pc, passphraseBytes) if err != nil { return errors.Join(errors.New("error decrypting data"), err) } diff --git a/file_format/container_decode.go b/file_format/container_decode.go index 9817837..466486b 100644 --- a/file_format/container_decode.go +++ b/file_format/container_decode.go @@ -20,47 +20,7 @@ package file_format -import ( - "bytes" - "compress/gzip" - "errors" - - "github.com/ProtonMail/gopenpgp/v3/crypto" -) - -// Decode decodes and, if the data was encrypted with PaperCrypt (data format is PaperCryptDataFormatPGP), -// decrypts the data, returning the original binary data. +// Deprecated: use the package-level DecodeData function instead. func (p *PaperCrypt) Decode(passphrase []byte) ([]byte, error) { - data := p.Data - if p.DataFormat == PaperCryptDataFormatPGP { - gzipReader, err := gzip.NewReader(bytes.NewReader(p.Data)) - if err != nil { - return nil, errors.Join(errors.New("error creating gzip reader"), err) - } - - decompressed := new(bytes.Buffer) - if _, err := decompressed.ReadFrom(gzipReader); err != nil { - return nil, errors.Join(errors.New("error reading from gzip reader"), err) - } - if err := gzipReader.Close(); err != nil { - return nil, errors.Join(errors.New("error closing gzip reader"), err) - } - - pgpMessage := crypto.NewPGPMessage(decompressed.Bytes()) - - pgp := crypto.PGP() - decHandle, err := pgp.Decryption().Password(passphrase).New() - if err != nil { - return nil, errors.Join(errors.New("error creating decryption handle"), err) - } - - decrypted, err := decHandle.Decrypt(pgpMessage.Bytes(), crypto.Bytes) - if err != nil { - return nil, errors.Join(errors.New("error decrypting data"), err) - } - - return decrypted.Bytes(), nil - } - - return data, nil + return DecodeData(p, passphrase) } diff --git a/file_format/decode.go b/file_format/decode.go new file mode 100644 index 0000000..992e710 --- /dev/null +++ b/file_format/decode.go @@ -0,0 +1,32 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +// DecodeData decodes and, if the data was encrypted with PaperCrypt (data +// format is PaperCryptDataFormatPGP), decrypts the data, returning the +// original binary data. +func DecodeData(p *PaperCrypt, passphrase []byte) ([]byte, error) { + handler, err := getHandler(p.DataFormat) + if err != nil { + return nil, err + } + return handler.process(p.Data, passphrase) +} diff --git a/file_format/format_handler.go b/file_format/format_handler.go new file mode 100644 index 0000000..62a4971 --- /dev/null +++ b/file_format/format_handler.go @@ -0,0 +1,83 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "bytes" + "compress/gzip" + "errors" + "fmt" + + "github.com/ProtonMail/gopenpgp/v3/crypto" +) + +// formatHandler turns the binary Data stored in a PaperCrypt document back +// into plaintext. Each supported PaperCryptDataFormat gets one. +type formatHandler struct { + process func(data, passphrase []byte) ([]byte, error) +} + +var formatHandlers = map[PaperCryptDataFormat]formatHandler{ + PaperCryptDataFormatPGP: {process: processPGPData}, + PaperCryptDataFormatRaw: {process: processRawData}, +} + +func getHandler(format PaperCryptDataFormat) (formatHandler, error) { + handler, ok := formatHandlers[format] + if !ok { + return formatHandler{}, fmt.Errorf("unsupported data format %v", format) + } + return handler, nil +} + +func processRawData(data, _ []byte) ([]byte, error) { + return data, nil +} + +func processPGPData(data, passphrase []byte) ([]byte, error) { + gzipReader, err := gzip.NewReader(bytes.NewReader(data)) + if err != nil { + return nil, errors.Join(errors.New("error creating gzip reader"), err) + } + + decompressed := new(bytes.Buffer) + if _, err := decompressed.ReadFrom(gzipReader); err != nil { + return nil, errors.Join(errors.New("error reading from gzip reader"), err) + } + if err := gzipReader.Close(); err != nil { + return nil, errors.Join(errors.New("error closing gzip reader"), err) + } + + pgpMessage := crypto.NewPGPMessage(decompressed.Bytes()) + + pgp := crypto.PGP() + decryptionHandler, err := pgp.Decryption().Password(passphrase).New() + if err != nil { + return nil, errors.Join(errors.New("error creating decryption handler"), err) + } + + decrypted, err := decryptionHandler.Decrypt(pgpMessage.Bytes(), crypto.Bytes) + if err != nil { + return nil, errors.Join(errors.New("error decrypting data"), err) + } + + return decrypted.Bytes(), nil +} From 8a143acc5dd971f800127452ec236325544e1de0 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:37:30 +0200 Subject: [PATCH 08/41] refactor(file_format): decompose text deserialization into validation steps DeserializeText now runs a fixed pipeline over Parse/validate helpers (text_validate.go: version, header CRC-32, data format, content length, SHA-256) and lives in text_deserialize.go. JSON marshal/unmarshal moves to json.go and the envelope-to-binary UnmarshalEnvelope bridge to binary_unmarshal.go. --- file_format/binary_unmarshal.go | 33 ++++ file_format/container_envelope.go | 55 ------ file_format/container_text.go | 209 --------------------- file_format/{container_json.go => json.go} | 0 file_format/text_deserialize.go | 120 ++++++++++++ file_format/text_validate.go | 185 ++++++++++++++++++ 6 files changed, 338 insertions(+), 264 deletions(-) delete mode 100644 file_format/container_envelope.go rename file_format/{container_json.go => json.go} (100%) create mode 100644 file_format/text_deserialize.go create mode 100644 file_format/text_validate.go diff --git a/file_format/binary_unmarshal.go b/file_format/binary_unmarshal.go index 02112ce..68901ac 100644 --- a/file_format/binary_unmarshal.go +++ b/file_format/binary_unmarshal.go @@ -22,9 +22,13 @@ package file_format import ( "encoding/binary" + "errors" "fmt" "io" + "strings" "time" + + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) // UnmarshalBinary parses a binary container into a PaperCrypt struct. @@ -115,3 +119,32 @@ func UnmarshalBinaryFromReader(r io.Reader) (*PaperCrypt, error) { } return UnmarshalBinary(data) } + +// UnmarshalEnvelope decodes an envelope-wrapped binary container into a +// PaperCrypt struct. +func UnmarshalEnvelope(data string, opts ...envelope.CompressorOption) (*PaperCrypt, error) { + if !strings.HasPrefix(data, envelope.Magic) { + return nil, errors.New("unsupported format: expected PC envelope") + } + + hdr, _, err := envelope.ParseHeader(data) + if err != nil { + return nil, errors.Join(errors.New("error parsing envelope header"), err) + } + + enc, err := envelope.NewEncoder(hdr.Encoding) + if err != nil { + return nil, err + } + + content, err := envelope.Unwrap(data, enc, opts...) + if err != nil { + return nil, errors.Join(errors.New("error unwrapping envelope"), err) + } + + pc, err := UnmarshalBinary(content) + if err != nil { + return nil, errors.Join(errors.New("error deserializing binary container"), err) + } + return pc, nil +} diff --git a/file_format/container_envelope.go b/file_format/container_envelope.go deleted file mode 100644 index ff1a392..0000000 --- a/file_format/container_envelope.go +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -import ( - "errors" - "strings" - - "github.com/tmuniversal/papercrypt/v3/file_format/envelope" -) - -func UnmarshalEnvelope(data string, opts ...envelope.CompressorOption) (*PaperCrypt, error) { - if !strings.HasPrefix(data, envelope.Magic) { - return nil, errors.New("unsupported format: expected PC envelope") - } - - hdr, _, err := envelope.ParseHeader(data) - if err != nil { - return nil, errors.Join(errors.New("error parsing envelope header"), err) - } - - enc, err := envelope.NewEncoder(hdr.Encoding) - if err != nil { - return nil, err - } - - content, err := envelope.Unwrap(data, enc, opts...) - if err != nil { - return nil, errors.Join(errors.New("error unwrapping envelope"), err) - } - - pc, err := UnmarshalBinary(content) - if err != nil { - return nil, errors.Join(errors.New("error deserializing binary container"), err) - } - return pc, nil -} diff --git a/file_format/container_text.go b/file_format/container_text.go index c0d8495..82a854d 100644 --- a/file_format/container_text.go +++ b/file_format/container_text.go @@ -20,216 +20,7 @@ package file_format -import ( - "bytes" - "crypto/sha256" - "encoding/base64" - "encoding/json" - "errors" - "fmt" - "hash/crc32" - "strings" - "time" - - "github.com/ProtonMail/gopenpgp/v3/crypto" - "github.com/caarlos0/log" - "github.com/tmuniversal/papercrypt/v3/crc24" - "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/terminal" -) - // Deprecated: use the package-level GetText function instead. func (p *PaperCrypt) GetText(lowerCaseEncoding bool) ([]byte, error) { return GetText(p, lowerCaseEncoding) } - -func DeserializeText( - data []byte, - ignoreVersionMismatch bool, - ignoreChecksumMismatch bool, -) (*PaperCrypt, error) { - paperCryptFileContents := internal.NormalizeLineEndings(data) - - headersSection, bodySection, err := SplitTextHeaderAndBody(paperCryptFileContents) - if err != nil { - return nil, errors.Join(errorParsingHeader, err) - } - - headers, err := TextToHeaderMap(headersSection) - if err != nil { - return nil, errors.Join(errorParsingHeader, err) - } - - log.WithField("headers", headers).Debug("Read headers") - - versionLine, ok := headers[HeaderFieldVersion] - if !ok { - if !ignoreVersionMismatch { - return nil, errors.Join(errorParsingHeader, newFieldNotPresentError(HeaderFieldVersion)) - } - - log.Warn(terminal.Warning("PaperCrypt Version not present in header.")) - } - - majorVersion := PaperCryptContainerVersionFromString(versionLine) - if !ignoreVersionMismatch && - (majorVersion != PaperCryptContainerVersionMajor3 && majorVersion != PaperCryptContainerVersionDevel) { - return nil, errors.Join( - errorParsingHeader, - fmt.Errorf("unsupported PaperCrypt version '%s'", versionLine), - ) - } - - { - headerCrc, ok := headers[HeaderFieldHeaderCRC32] - if !ok { - if !ignoreChecksumMismatch { - return nil, errors.Join( - errorParsingHeader, - newFieldNotPresentError(HeaderFieldHeaderCRC32), - ) - } - - log.Warn(terminal.Warning("Header CRC-32 not present in header")) - } - - headerCrc = strings.ToLower(headerCrc) - headerCrc = strings.ReplaceAll(headerCrc, "0x", "") - headerCrc = strings.ReplaceAll(headerCrc, " ", "") - headerCrc32, err := ParseHexUint32(headerCrc) - if err != nil { - return nil, errors.Join(errorParsingHeader, errors.New("invalid CRC-32 format"), err) - } - - headerWithoutCrc := bytes.ReplaceAll(headersSection, []byte("# "), []byte{}) - headerWithoutCrc = bytes.ReplaceAll( - headerWithoutCrc, - []byte("\n"+HeaderFieldHeaderCRC32+": "+headers[HeaderFieldHeaderCRC32]), - []byte{}, - ) - - if !crc24.ValidateCRC32(headerWithoutCrc, headerCrc32) { - if !ignoreChecksumMismatch { - return nil, errors.Join( - errorParsingHeader, - errorValidationFailure, - errors.New( - "header CRC-32 mismatch: expected "+headers[HeaderFieldHeaderCRC32]+", got "+fmt.Sprintf( - "%x", - crc32.ChecksumIEEE(headerWithoutCrc), - ), - ), - ) - } - - log.Warn(terminal.Warning("Header CRC-32 mismatch!")) - } - } - - var dataFormat PaperCryptDataFormat - { - dataFormatString, ok := headers[HeaderFieldDataFormat] - if !ok { - return nil, errors.Join( - errorParsingHeader, - newFieldNotPresentError(HeaderFieldDataFormat), - ) - } - - log.Debugf("Data Format: %s", dataFormatString) - - dataFormat = PaperCryptDataFormatFromString(dataFormatString) - } - - var pgpMessage *crypto.PGPMessage - var body []byte - body, err = DeserializeBinary(&bodySection) - if err != nil { - return nil, errors.Join(errorParsingBody, err) - } - - switch dataFormat { - case PaperCryptDataFormatPGP: - pgpMessage = crypto.NewPGPMessage(body) - body = pgpMessage.Bytes() - case PaperCryptDataFormatRaw: - // do nothing - default: - return nil, errors.Join(errorParsingBody, errors.New("unsupported data format")) - } - - bodyLength, ok := headers[HeaderFieldContentLength] - if !ok { - return nil, errors.Join(errorParsingBody, newFieldNotPresentError(HeaderFieldContentLength)) - } - - if fmt.Sprint(len(body)) != bodyLength { - return nil, errors.Join( - errorValidationFailure, - fmt.Errorf( - "`%s` mismatch: expected %s, got %d", - HeaderFieldContentLength, - bodyLength, - len(body), - ), - ) - } - - bodySha256, ok := headers[HeaderFieldSHA256] - if !ok { - return nil, errors.Join(errorParsingBody, newFieldNotPresentError(HeaderFieldSHA256)) - } - - bodySha256Bytes, err := BytesFromBase64(bodySha256) - if err != nil { - return nil, errors.Join(errorParsingBody, err) - } - - actualSha256 := sha256.Sum256(body) - if !bytes.Equal(actualSha256[:], bodySha256Bytes) { - if !ignoreChecksumMismatch { - return nil, errors.Join( - errorValidationFailure, - fmt.Errorf( - "`%s` mismatch: expected %s, found %s (content length %d)", - HeaderFieldSHA256, - bodySha256, - base64.StdEncoding.EncodeToString(actualSha256[:]), - len(body), - ), - ) - } - - log.Warn(terminal.Warning("Content SHA-256 mismatch!")) - } - - headerDate, ok := headers[HeaderFieldDate] - if !ok { - log.Warn(terminal.Warning("Date not present in header!")) - } - - timestamp, err := time.Parse(internal.TimeStampFormatLong, headerDate) - if err != nil { - return nil, errors.Join(errors.New("invalid date format"), err) - } - - // we don't need to pass the checksums, as they are already verified - // and will just be recalculated - paperCrypt := NewPaperCrypt( - versionLine, - body, - headers[HeaderFieldSerial], - headers[HeaderFieldPurpose], - headers[HeaderFieldComment], - timestamp, - dataFormat, - ) - - _, err = json.MarshalIndent(paperCrypt, "", " ") - if err != nil { - return nil, errors.Join(errors.New("error encoding JSON"), err) - } - log.WithField("json", paperCrypt).Debug("Serialized PaperCrypt document") - - return paperCrypt, nil -} diff --git a/file_format/container_json.go b/file_format/json.go similarity index 100% rename from file_format/container_json.go rename to file_format/json.go diff --git a/file_format/text_deserialize.go b/file_format/text_deserialize.go new file mode 100644 index 0000000..b4c45d7 --- /dev/null +++ b/file_format/text_deserialize.go @@ -0,0 +1,120 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "encoding/json" + "errors" + "time" + + "github.com/ProtonMail/gopenpgp/v3/crypto" + "github.com/caarlos0/log" + "github.com/tmuniversal/papercrypt/v3/internal" + "github.com/tmuniversal/papercrypt/v3/terminal" +) + +// DeserializeText parses a human-readable PaperCrypt text document back into +// a PaperCrypt struct, validating the header (version, CRC-32, data format) +// and the body (content length and SHA-256). +func DeserializeText( + data []byte, + ignoreVersionMismatch bool, + ignoreChecksumMismatch bool, +) (*PaperCrypt, error) { + paperCryptFileContents := internal.NormalizeLineEndings(data) + + headersSection, bodySection, err := SplitTextHeaderAndBody(paperCryptFileContents) + if err != nil { + return nil, errors.Join(errorParsingHeader, err) + } + + headers, err := TextToHeaderMap(headersSection) + if err != nil { + return nil, errors.Join(errorParsingHeader, err) + } + + log.WithField("headers", headers).Debug("Read headers") + + versionLine, err := validateVersion(headers, ignoreVersionMismatch) + if err != nil { + return nil, err + } + + if err := validateHeaderCRC32(headers, headersSection, ignoreChecksumMismatch); err != nil { + return nil, err + } + + dataFormat, err := validateDataFormat(headers) + if err != nil { + return nil, err + } + + body, err := DeserializeBinary(&bodySection) + if err != nil { + return nil, errors.Join(errorParsingBody, err) + } + + switch dataFormat { + case PaperCryptDataFormatPGP: + body = crypto.NewPGPMessage(body).Bytes() + case PaperCryptDataFormatRaw: + // raw data is stored as-is + default: + return nil, errors.Join(errorParsingBody, errors.New("unsupported data format")) + } + + if err := validateContentLength(body, headers); err != nil { + return nil, err + } + + if err := validateSHA256(body, headers, ignoreChecksumMismatch); err != nil { + return nil, err + } + + headerDate, ok := headers[HeaderFieldDate] + if !ok { + log.Warn(terminal.Warning("Date not present in header!")) + } + + timestamp, err := time.Parse(internal.TimeStampFormatLong, headerDate) + if err != nil { + return nil, errors.Join(errors.New("invalid date format"), err) + } + + // checksums are already verified and recalculated by NewPaperCrypt + paperCrypt := NewPaperCrypt( + versionLine, + body, + headers[HeaderFieldSerial], + headers[HeaderFieldPurpose], + headers[HeaderFieldComment], + timestamp, + dataFormat, + ) + + _, err = json.MarshalIndent(paperCrypt, "", " ") + if err != nil { + return nil, errors.Join(errors.New("error encoding JSON"), err) + } + log.WithField("json", paperCrypt).Debug("Serialized PaperCrypt document") + + return paperCrypt, nil +} diff --git a/file_format/text_validate.go b/file_format/text_validate.go new file mode 100644 index 0000000..7127c9c --- /dev/null +++ b/file_format/text_validate.go @@ -0,0 +1,185 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "bytes" + "crypto/sha256" + "encoding/base64" + "errors" + "fmt" + "hash/crc32" + "strings" + + "github.com/caarlos0/log" + "github.com/tmuniversal/papercrypt/v3/crc24" + "github.com/tmuniversal/papercrypt/v3/terminal" +) + +// validateVersion checks the version header field and that it is a supported +// PaperCrypt major version, returning the value for the document. +func validateVersion(headers map[string]string, ignoreVersionMismatch bool) (string, error) { + versionLine, ok := headers[HeaderFieldVersion] + if !ok { + if !ignoreVersionMismatch { + return "", errors.Join(errorParsingHeader, newFieldNotPresentError(HeaderFieldVersion)) + } + + log.Warn(terminal.Warning("PaperCrypt Version not present in header.")) + } + + majorVersion := PaperCryptContainerVersionFromString(versionLine) + if !ignoreVersionMismatch && + (majorVersion != PaperCryptContainerVersionMajor3 && majorVersion != PaperCryptContainerVersionDevel) { + return "", errors.Join( + errorParsingHeader, + fmt.Errorf("unsupported PaperCrypt version '%s'", versionLine), + ) + } + + return versionLine, nil +} + +// validateHeaderCRC32 verifies the header CRC-32 signature against the +// header section, sans the CRC-32 line itself. +func validateHeaderCRC32( + headers map[string]string, + headersSection []byte, + ignoreChecksumMismatch bool, +) error { + headerCrc, ok := headers[HeaderFieldHeaderCRC32] + if !ok { + if !ignoreChecksumMismatch { + return errors.Join( + errorParsingHeader, + newFieldNotPresentError(HeaderFieldHeaderCRC32), + ) + } + + log.Warn(terminal.Warning("Header CRC-32 not present in header")) + } + + headerCrc = strings.ToLower(headerCrc) + headerCrc = strings.ReplaceAll(headerCrc, "0x", "") + headerCrc = strings.ReplaceAll(headerCrc, " ", "") + headerCrc32, err := ParseHexUint32(headerCrc) + if err != nil { + return errors.Join(errorParsingHeader, errors.New("invalid CRC-32 format"), err) + } + + headerWithoutCrc := bytes.ReplaceAll(headersSection, []byte("# "), []byte{}) + headerWithoutCrc = bytes.ReplaceAll( + headerWithoutCrc, + []byte("\n"+HeaderFieldHeaderCRC32+": "+headers[HeaderFieldHeaderCRC32]), + []byte{}, + ) + + if !crc24.ValidateCRC32(headerWithoutCrc, headerCrc32) { + if !ignoreChecksumMismatch { + return errors.Join( + errorParsingHeader, + errorValidationFailure, + errors.New( + "header CRC-32 mismatch: expected "+headers[HeaderFieldHeaderCRC32]+", got "+fmt.Sprintf( + "%x", + crc32.ChecksumIEEE(headerWithoutCrc), + ), + ), + ) + } + + log.Warn(terminal.Warning("Header CRC-32 mismatch!")) + } + + return nil +} + +// validateDataFormat reads the data format header field, returning the enum value. +func validateDataFormat(headers map[string]string) (PaperCryptDataFormat, error) { + dataFormatString, ok := headers[HeaderFieldDataFormat] + if !ok { + return 0, errors.Join( + errorParsingHeader, + newFieldNotPresentError(HeaderFieldDataFormat), + ) + } + + log.Debugf("Data Format: %s", dataFormatString) + + return PaperCryptDataFormatFromString(dataFormatString), nil +} + +// validateContentLength checks that the deserialized body length matches the +// content length header field. +func validateContentLength(body []byte, headers map[string]string) error { + bodyLength, ok := headers[HeaderFieldContentLength] + if !ok { + return errors.Join(errorParsingBody, newFieldNotPresentError(HeaderFieldContentLength)) + } + + if fmt.Sprint(len(body)) != bodyLength { + return errors.Join( + errorValidationFailure, + fmt.Errorf( + "`%s` mismatch: expected %s, got %d", + HeaderFieldContentLength, + bodyLength, + len(body), + ), + ) + } + + return nil +} + +// validateSHA256 checks the deserialized body against the content SHA-256 +// header field. +func validateSHA256(body []byte, headers map[string]string, ignoreChecksumMismatch bool) error { + bodySha256, ok := headers[HeaderFieldSHA256] + if !ok { + return errors.Join(errorParsingBody, newFieldNotPresentError(HeaderFieldSHA256)) + } + + bodySha256Bytes, err := BytesFromBase64(bodySha256) + if err != nil { + return errors.Join(errorParsingBody, err) + } + + actualSha256 := sha256.Sum256(body) + if !bytes.Equal(actualSha256[:], bodySha256Bytes) { + if !ignoreChecksumMismatch { + return errors.Join( + errorValidationFailure, + fmt.Errorf( + "`%s` mismatch: expected %s, found %s (content length %d)", + HeaderFieldSHA256, + bodySha256, + base64.StdEncoding.EncodeToString(actualSha256[:]), + len(body), + ), + ) + } + + log.Warn(terminal.Warning("Content SHA-256 mismatch!")) + } + + return nil +} From 0563d2f7629bbe2c79c9216865c8634a1badb130 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:40:16 +0200 Subject: [PATCH 09/41] refactor(file_format): extract PDF generation into package functions GetPDF becomes a package function composing GetText, GenerateQR (moved to pdf_qr.go) and GenerateDataMatrix (pdf_datamatrix.go); pdfMode moves with it. The method on PaperCrypt is now a deprecation adapter and generate calls file_format.GetPDF directly. --- cmd/generate.go | 2 +- file_format/container_pdf.go | 110 +--------------------------------- file_format/pdf_datamatrix.go | 45 ++++++++++++++ file_format/pdf_generate.go | 85 ++++++++++++++++++++++++++ file_format/pdf_qr.go | 45 ++++++++++++++ 5 files changed, 178 insertions(+), 109 deletions(-) create mode 100644 file_format/pdf_datamatrix.go create mode 100644 file_format/pdf_generate.go create mode 100644 file_format/pdf_qr.go diff --git a/cmd/generate.go b/cmd/generate.go index cef2b78..3275aed 100644 --- a/cmd/generate.go +++ b/cmd/generate.go @@ -170,7 +170,7 @@ encrypted data.`, var text []byte - text, err = crypt.GetPDF(noQR, lowerCasedBase16) + text, err = file_format.GetPDF(crypt, noQR, lowerCasedBase16) if err != nil { return errors.Join(errors.New("error generating PDF"), err) } diff --git a/file_format/container_pdf.go b/file_format/container_pdf.go index 01d0133..2fd5d79 100644 --- a/file_format/container_pdf.go +++ b/file_format/container_pdf.go @@ -20,113 +20,7 @@ package file_format -import ( - "bytes" - "errors" - "fmt" - "image/png" - "strings" - - "github.com/makiuchi-d/gozxing" - "github.com/makiuchi-d/gozxing/datamatrix" - "github.com/tmuniversal/papercrypt/v3/codematrix" - "github.com/tmuniversal/papercrypt/v3/crc24" - "github.com/tmuniversal/papercrypt/v3/file_format/envelope" - "github.com/tmuniversal/papercrypt/v3/pdf" -) - -// GetPDF returns the binary representation of the paper crypt -// The PDF will be generated to include some basic information about papercrypt, -// some metadata, optionally a 2D-Code, and the encrypted data. +// Deprecated: use the package-level GetPDF function instead. func (p *PaperCrypt) GetPDF(no2D bool, lowerCaseEncoding bool) ([]byte, error) { - text, err := p.GetText(lowerCaseEncoding) - if err != nil { - return nil, fmt.Errorf("error getting text content: %s", err) - } - - // split at 2 empty lines, to get the header and the data - parts := strings.Split(string(text), "\n\n\n") - if len(parts) != 2 { - return nil, fmt.Errorf("error splitting text content into header and data") - } - - data2D, err := p.encodeDataQR(no2D) - if err != nil { - return nil, err - } - - dm, err := p.generateDataMatrix() - if err != nil { - return nil, err - } - - var qrImage []byte - if data2D != nil { - qrImage = data2D.Bytes() - } - - cfg := pdf.Config{ - HasQR: !no2D, - SheetSerial: p.SerialNumber, - CreatedAt: p.CreatedAt, - Purpose: p.Purpose, - DataQRImage: qrImage, - DataMatrixImage: dm.Bytes(), - TextParts: parts, - BytesPerLine: DefaultBytesPerLine, - CRC24Polynomial: crc24.CRC24Polynomial, - CRC24Initial: crc24.CRC24Initial, - } - - return pdf.New(pdfMode(p, no2D)).Render(cfg) -} - -// pdfMode returns the recovery-sheet mode matching the data format and whether a QR code is printed. -func pdfMode(p *PaperCrypt, no2D bool) pdf.Mode { - switch { - case p.DataFormat == PaperCryptDataFormatRaw && no2D: - return pdf.ModeRawNoQR - case p.DataFormat == PaperCryptDataFormatRaw: - return pdf.ModeRawQR - case no2D: - return pdf.ModePGPNoQR - default: - return pdf.ModePGPQR - } -} - -func (p *PaperCrypt) encodeDataQR(no2D bool) (*bytes.Buffer, error) { - if no2D { - return nil, nil - } - - qrBin, err := MarshalBinary(p) - if err != nil { - return nil, errors.Join(errors.New("error marshalling PaperCrypt to binary"), err) - } - - qrData := envelope.Wrap(qrBin, envelope.Base45Encoder{}) - - pngBytes, err := codematrix.EncodePNG(qrData) - if err != nil { - return nil, err - } - - buf := new(bytes.Buffer) - buf.Write(pngBytes) - return buf, nil -} - -func (p *PaperCrypt) generateDataMatrix() (*bytes.Buffer, error) { - enc := datamatrix.NewDataMatrixWriter() - code, err := enc.Encode(p.SerialNumber, gozxing.BarcodeFormat_DATA_MATRIX, 384, 384, nil) - if err != nil { - return nil, errors.Join(errors.New("error generating Data Matrix code"), err) - } - - buf := new(bytes.Buffer) - if err := png.Encode(buf, code); err != nil { - return nil, errors.Join(errors.New("error generating Data Matrix code PNG"), err) - } - return buf, nil + return GetPDF(p, no2D, lowerCaseEncoding) } diff --git a/file_format/pdf_datamatrix.go b/file_format/pdf_datamatrix.go new file mode 100644 index 0000000..c58559a --- /dev/null +++ b/file_format/pdf_datamatrix.go @@ -0,0 +1,45 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "bytes" + "errors" + "image/png" + + "github.com/makiuchi-d/gozxing" + "github.com/makiuchi-d/gozxing/datamatrix" +) + +// GenerateDataMatrix renders a Data Matrix code of the given serial as PNG. +func GenerateDataMatrix(serial string) ([]byte, error) { + enc := datamatrix.NewDataMatrixWriter() + code, err := enc.Encode(serial, gozxing.BarcodeFormat_DATA_MATRIX, 384, 384, nil) + if err != nil { + return nil, errors.Join(errors.New("error generating Data Matrix code"), err) + } + + buf := new(bytes.Buffer) + if err := png.Encode(buf, code); err != nil { + return nil, errors.Join(errors.New("error generating Data Matrix code PNG"), err) + } + return buf.Bytes(), nil +} diff --git a/file_format/pdf_generate.go b/file_format/pdf_generate.go new file mode 100644 index 0000000..66d857b --- /dev/null +++ b/file_format/pdf_generate.go @@ -0,0 +1,85 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "fmt" + + "github.com/tmuniversal/papercrypt/v3/crc24" + "github.com/tmuniversal/papercrypt/v3/pdf" +) + +// GetPDF renders the PaperCrypt document as a printable PDF, combining the +// human-readable text, the QR code (unless no2D) carrying the full binary +// container and the Data Matrix serial label. +func GetPDF(p *PaperCrypt, no2D bool, lowerCaseEncoding bool) ([]byte, error) { + text, err := GetText(p, lowerCaseEncoding) + if err != nil { + return nil, fmt.Errorf("error getting text content: %s", err) + } + + header, data := splitHeaderBody(text) + if data == nil { + return nil, fmt.Errorf("error splitting text content into header and data") + } + + var qrImage []byte + if !no2D { + qrImage, err = GenerateQR(p) + if err != nil { + return nil, err + } + } + + dm, err := GenerateDataMatrix(p.SerialNumber) + if err != nil { + return nil, err + } + + cfg := pdf.Config{ + HasQR: !no2D, + SheetSerial: p.SerialNumber, + CreatedAt: p.CreatedAt, + Purpose: p.Purpose, + DataQRImage: qrImage, + DataMatrixImage: dm, + TextParts: []string{string(header), string(data)}, + BytesPerLine: DefaultBytesPerLine, + CRC24Polynomial: crc24.CRC24Polynomial, + CRC24Initial: crc24.CRC24Initial, + } + + return pdf.New(pdfMode(p, no2D)).Render(cfg) +} + +// pdfMode picks the sheet layout for the document's data format. +func pdfMode(p *PaperCrypt, no2D bool) pdf.Mode { + switch { + case p.DataFormat == PaperCryptDataFormatRaw && no2D: + return pdf.ModeRawNoQR + case p.DataFormat == PaperCryptDataFormatRaw: + return pdf.ModeRawQR + case no2D: + return pdf.ModePGPNoQR + default: + return pdf.ModePGPQR + } +} diff --git a/file_format/pdf_qr.go b/file_format/pdf_qr.go new file mode 100644 index 0000000..69a587c --- /dev/null +++ b/file_format/pdf_qr.go @@ -0,0 +1,45 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2023-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "errors" + + "github.com/tmuniversal/papercrypt/v3/codematrix" + "github.com/tmuniversal/papercrypt/v3/file_format/envelope" +) + +// GenerateQR renders the QR code carrying the envelope-wrapped binary +// container of the document. +func GenerateQR(p *PaperCrypt) ([]byte, error) { + qrBin, err := MarshalBinary(p) + if err != nil { + return nil, errors.Join(errors.New("error marshalling PaperCrypt to binary"), err) + } + + qrData := envelope.Wrap(qrBin, envelope.Base45Encoder{}) + + qrImage, err := codematrix.EncodePNG(qrData) + if err != nil { + return nil, errors.Join(errors.New("error generating QR code"), err) + } + return qrImage, nil +} From 2dc624cacb745646416db35d1bd09c95e4bf4ccf Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:48:12 +0200 Subject: [PATCH 10/41] perf(file_format): streamline hex serialization and line parsing SerializeBinary encodes hex pairs through a lookup table with a single pre-sized buffer, writing line numbers via strconv instead of fmt. The final line number, CRC digits and per-line layout are byte-identical. DeserializeBinary parses line numbers with strconv, decodes hex tokens in place and sorts with a stable sort, dropping go-safecast. --- file_format/text_serialize.go | 147 +++++++++++++++++----------------- 1 file changed, 75 insertions(+), 72 deletions(-) diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 22f5528..06d4249 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -28,13 +28,16 @@ import ( "fmt" "hash/crc32" "math" + "sort" + "strconv" "strings" - "github.com/ccoveille/go-safecast/v2" "github.com/tmuniversal/papercrypt/v3/crc24" "github.com/tmuniversal/papercrypt/v3/internal" ) +const hexDigits = "0123456789ABCDEF" + type lineData struct { LineNumber uint32 Data []byte @@ -60,38 +63,46 @@ func SerializeBinary(data *[]byte, bytesPerLine int) string { lines := math.Ceil(float64(len(*data)) / float64(bytesPerLine)) lineNumberDigits := int(math.Floor(math.Log10(lines + 1))) - dataBlock := make([]byte, 0, len(*data)+int(lines)*(lineNumberDigits+1)+1) + // two hex digits plus a space per byte, line-number prefixes, CRCs and newlines + dataBlock := make([]byte, 0, len(*data)*3+int(lines)*15+8) for i := 0; i < len(*data); i += bytesPerLine { lineNumber := (i / bytesPerLine) + 1 lineNumberPadding := lineNumberDigits - int(math.Floor(math.Log10(float64(lineNumber)))) - line := fmt.Sprintf( - "%s%d: ", - string(bytes.Repeat([]byte{' '}, lineNumberPadding)), - lineNumber, - ) - - dataLine := make([]byte, 0, bytesPerLine) + dataBlock = append(dataBlock, bytes.Repeat([]byte{' '}, lineNumberPadding)...) + dataBlock = strconv.AppendInt(dataBlock, int64(lineNumber), 10) + dataBlock = append(dataBlock, ':', ' ') - for j := 0; j < bytesPerLine; j++ { - if i+j >= len(*data) { - break - } - - dataLine = append(dataLine, (*data)[i+j]) - line += fmt.Sprintf("%02X ", (*data)[i+j]) + dataLine := (*data)[i:min(len(*data), i+bytesPerLine)] + for _, b := range dataLine { + dataBlock = append(dataBlock, hexDigits[b>>4], hexDigits[b&0x0f], ' ') } lineCRC24 := crc24.Checksum(dataLine) - line += fmt.Sprintf("%06X\n", lineCRC24) - - dataBlock = append(dataBlock, []byte(line)...) + dataBlock = append(dataBlock, + hexDigits[lineCRC24>>20&0x0f], + hexDigits[lineCRC24>>16&0x0f], + hexDigits[lineCRC24>>12&0x0f], + hexDigits[lineCRC24>>8&0x0f], + hexDigits[lineCRC24>>4&0x0f], + hexDigits[lineCRC24&0x0f], + '\n', + ) } dataCRC24 := crc24.Checksum(*data) finalLineNumber := max(int(lines+1), min(1, int(lines))) - dataBlock = append(dataBlock, fmt.Appendf(nil, "%d: %06X\n", finalLineNumber, dataCRC24)...) + dataBlock = strconv.AppendInt(dataBlock, int64(finalLineNumber), 10) + dataBlock = append(dataBlock, ':', ' ', + hexDigits[dataCRC24>>20&0x0f], + hexDigits[dataCRC24>>16&0x0f], + hexDigits[dataCRC24>>12&0x0f], + hexDigits[dataCRC24>>8&0x0f], + hexDigits[dataCRC24>>4&0x0f], + hexDigits[dataCRC24&0x0f], + '\n', + ) return string(dataBlock) } @@ -99,91 +110,87 @@ func SerializeBinary(data *[]byte, bytesPerLine int) string { // DeserializeBinary deserializes bytes from human-readable archive format encoded by SerializeBinary func DeserializeBinary(data *[]byte) ([]byte, error) { rawLines := bytes.Split(*data, []byte{'\n'}) - lines := make([][]byte, 0) - + lines := make([][]byte, 0, len(rawLines)) for _, line := range rawLines { if len(line) > 0 { lines = append(lines, line) } } - result := make([]lineData, 0) + result := make([]lineData, 0, len(lines)) blockCrc := uint32(0) - for _, line := range lines { - parts := bytes.SplitN(line, []byte(": "), 2) - if len(parts) != 2 { + for lineIdx := 0; lineIdx < len(lines); lineIdx++ { + line := lines[lineIdx] + sep := bytes.Index(line, []byte(": ")) + if sep < 0 { return nil, fmt.Errorf("invalid line format: %s", line) } - lineNumber := strings.ReplaceAll(string(parts[0]), " ", "") - lineNumber = strings.ReplaceAll(lineNumber, "\t", "") + lineNumber := line[:sep] + lineNumber = bytes.ReplaceAll(lineNumber, []byte(" "), nil) + lineNumber = bytes.ReplaceAll(lineNumber, []byte("\t"), nil) + + lineNum, err := strconv.ParseUint(string(lineNumber), 10, 32) + if err != nil { + return nil, fmt.Errorf("invalid line number: %s", lineNumber) + } - if lineNumber == fmt.Sprint(len(lines)) { - // last line, contains CRC24 of data - var err error - blockCrc, err = ParseHexUint32(string(parts[1])) + // last line, contains the CRC24 of the data block + if int64(lineNum) == int64(len(lines)) { + blockCrc, err = ParseHexUint32(string(line[sep+2:])) if err != nil { - return nil, fmt.Errorf("error parsing block CRC24: %s", parts[1]) + return nil, fmt.Errorf("error parsing block CRC24: %s", line[sep+2:]) } continue } - lineParts := bytes.Split(parts[1], []byte(" ")) + lineParts := bytes.Split(line[sep+2:], []byte(" ")) // as lineParts contains sub-arrays of encoded bytes, the length of lineParts is equal to the number of bytes in the line + 1 (for the checksum) // a line must never contain no data, this a line must contain at least two parts, one byte and the checksum // (the last line, containing only the block checksum, is already handled above) if len(lineParts) > DefaultBytesPerLine+1 || len(lineParts) < 2 { - return nil, fmt.Errorf("unexpected line length: line %s: %s", lineNumber, parts[1]) + return nil, fmt.Errorf("unexpected line length: line %d: %s", lineNum, line[sep+2:]) } - bytesHex := bytes.Join(lineParts[0:len(lineParts)-1], []byte("")) - checksumHex := lineParts[len(lineParts)-1] + hexBytes := make([]byte, 0, len(line)-sep-2) + for _, hb := range lineParts[:len(lineParts)-1] { + hexBytes = append(hexBytes, hb...) + } - bytesData, err := hex.DecodeString(string(bytesHex)) - if err != nil { + decoded := make([]byte, len(hexBytes)/2) + if _, err := hex.Decode(decoded, hexBytes); err != nil { return nil, err } + checksumHex := lineParts[len(lineParts)-1] checksumData, err := ParseHexUint32(string(checksumHex)) if err != nil { return nil, fmt.Errorf("error parsing line checksum: %s", checksumHex) } - var lineNum uint32 - _, err = fmt.Sscanf(lineNumber, "%d", &lineNum) - if err != nil { - return nil, err - } - - lineData := lineData{ - LineNumber: lineNum, - Data: bytesData, + lineEntry := lineData{ + LineNumber: uint32(lineNum), + Data: decoded, CRC24: checksumData, } - if crc24.ValidateCRC24(lineData.Data, lineData.CRC24) { - result = append(result, lineData) + if crc24.ValidateCRC24(lineEntry.Data, lineEntry.CRC24) { + result = append(result, lineEntry) } else { return nil, fmt.Errorf( "invalid line checksum: line %d has checksum %06X, expected %06X", - lineData.LineNumber, - crc24.Checksum(lineData.Data), - lineData.CRC24, + lineEntry.LineNumber, + crc24.Checksum(lineEntry.Data), + lineEntry.CRC24, ) } } - for i := 0; i < len(result); i++ { - for j := i + 1; j < len(result); j++ { - if result[i].LineNumber > result[j].LineNumber { - tmp := result[i] - result[i] = result[j] - result[j] = tmp - } - } - } + sort.SliceStable(result, func(i, j int) bool { + return result[i].LineNumber < result[j].LineNumber + }) // Ensure that lines are consecutive, starting at 1: as we sorted the // lines, we can just check the first and last line. @@ -196,18 +203,14 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { } // this also ensures that we have all lines, as the last line number must equal the number of lines - var resultLength uint32 - var err error - resultLength, err = safecast.Convert[uint32, int](len(result)) - if err != nil { - return nil, err - } - - if result[len(result)-1].LineNumber != resultLength { - return nil, fmt.Errorf("invalid last line number: %d", result[len(result)-1].LineNumber) + if int64(result[len(result)-1].LineNumber) != int64(len(result)) { + return nil, fmt.Errorf( + "invalid last line number: %d", + result[len(result)-1].LineNumber, + ) } - var resultData []byte + resultData := make([]byte, 0, len(result)*DefaultBytesPerLine) for _, line := range result { resultData = append(resultData, line.Data...) } From 72b1ca912632f08fe831a23b96f113fc17ad4f7a Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:49:51 +0200 Subject: [PATCH 11/41] refactor(file_format): drop deprecated container method adapters GetBinarySerialized, GetDataLength, GetText, GetPDF and Decode methods are gone; every caller now uses the package-level functions. AGENTS.md file map updated to the new layout. --- AGENTS.md | 5 +++-- file_format/container.go | 32 -------------------------------- file_format/container_decode.go | 26 -------------------------- file_format/container_pdf.go | 26 -------------------------- file_format/container_text.go | 26 -------------------------- 5 files changed, 3 insertions(+), 112 deletions(-) delete mode 100644 file_format/container.go delete mode 100644 file_format/container_decode.go delete mode 100644 file_format/container_pdf.go delete mode 100644 file_format/container_text.go diff --git a/AGENTS.md b/AGENTS.md index 77b614d..2741c35 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -39,8 +39,9 @@ installed by default. - Entrypoint `papercrypt.go` sets go-embedded assets (fonts, LICENSE, EFF word list, THIRD_PARTY.md) onto `cmd` package pointers, then calls `cmd.Execute()`. - `file_format`: binary container wire format v5 — magic `PC`, format version byte `05` (`CurrentBinaryFormatVersion`; - decode rejects any other byte). Table in README. `container_envelope.go` bridges the QR envelope to the container; - `container_decode.go` reverses the pipeline. + decode rejects any other byte). Table in README. Package-level functions (`MarshalBinary`, `UnmarshalBinary`, + `UnmarshalEnvelope`, `SerializeBinary`, `DeserializeBinary`, `DeserializeText`, `DecodeData`, `GetText`, `GetPDF`) + drive the pipeline; split across `binary_*`, `text_*`, `pdf_*`, `json.go`, `decode.go` and `format_handler.go`. - `file_format/envelope`: `Wrap`/`Unwrap` with an injectable `ContentEncoder` (currently Base45), gzip only when it shrinks the payload. Header = `PC` + base36 (info) + base36 (version) + base45 (CRC-32) + base45 (payload) — documented in README; keep in sync. diff --git a/file_format/container.go b/file_format/container.go deleted file mode 100644 index 4c9e6f2..0000000 --- a/file_format/container.go +++ /dev/null @@ -1,32 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2023-2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -// Deprecated: method adapters kept until external callers move to the -// package-level functions. - -func (p *PaperCrypt) GetBinarySerialized() (string, error) { - return MarshalBinaryForText(p) -} - -func (p *PaperCrypt) GetDataLength() int { - return len(p.Data) -} diff --git a/file_format/container_decode.go b/file_format/container_decode.go deleted file mode 100644 index 466486b..0000000 --- a/file_format/container_decode.go +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2023-2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -// Deprecated: use the package-level DecodeData function instead. -func (p *PaperCrypt) Decode(passphrase []byte) ([]byte, error) { - return DecodeData(p, passphrase) -} diff --git a/file_format/container_pdf.go b/file_format/container_pdf.go deleted file mode 100644 index 2fd5d79..0000000 --- a/file_format/container_pdf.go +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2023-2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -// Deprecated: use the package-level GetPDF function instead. -func (p *PaperCrypt) GetPDF(no2D bool, lowerCaseEncoding bool) ([]byte, error) { - return GetPDF(p, no2D, lowerCaseEncoding) -} diff --git a/file_format/container_text.go b/file_format/container_text.go deleted file mode 100644 index 82a854d..0000000 --- a/file_format/container_text.go +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file is part of PaperCrypt. - * - * PaperCrypt lets you prepare encrypted messages for printing on paper. - * Copyright (C) 2023-2026 TMUniversal . - * - * PaperCrypt is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package file_format - -// Deprecated: use the package-level GetText function instead. -func (p *PaperCrypt) GetText(lowerCaseEncoding bool) ([]byte, error) { - return GetText(p, lowerCaseEncoding) -} From 1db3b895774b3965729dde080b5ae84e0b8a05c3 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:51:42 +0200 Subject: [PATCH 12/41] chore: drop unused go-safecast dependency go mod tidy removes github.com/ccoveille/go-safecast/v2 now that the last call site (a uint32 narrowing guard) is gone; THIRD_PARTY.md regenerated via task docs:third_party. --- THIRD_PARTY.md | 31 ------------------------------- go.mod | 1 - go.sum | 2 -- 3 files changed, 34 deletions(-) diff --git a/THIRD_PARTY.md b/THIRD_PARTY.md index bd48b4f..bd01a69 100644 --- a/THIRD_PARTY.md +++ b/THIRD_PARTY.md @@ -220,37 +220,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` -## github.com/ccoveille/go-safecast/v2 - -* Name: github.com/ccoveille/go-safecast/v2 -* Version: v2.0.1 -* License: [MIT](https://github.com/ccoveille/go-safecast/blob/v2.0.1/LICENSE) - -```md -MIT License - -Copyright (c) 2024 ccoVeille - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -``` - ## github.com/charmbracelet/colorprofile * Name: github.com/charmbracelet/colorprofile diff --git a/go.mod b/go.mod index 1ac2b2f..6c77a45 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( github.com/boombuler/barcode v1.1.0 github.com/caarlos0/go-version v0.2.2 github.com/caarlos0/log v0.6.2 - github.com/ccoveille/go-safecast/v2 v2.0.1 github.com/charmbracelet/colorprofile v0.4.3 github.com/dasio/base45 v1.0.1 github.com/jung-kurt/gofpdf/v2 v2.17.3 diff --git a/go.sum b/go.sum index 0db3bef..7bec979 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,6 @@ github.com/caarlos0/go-version v0.2.2 h1:5r+nlrg4H2wOVwWjqRqRRIRbZ7ytRmjC9xoMIP0 github.com/caarlos0/go-version v0.2.2/go.mod h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944= github.com/caarlos0/log v0.6.2 h1:ZeP1TBAEiF0XF6VoJze/KNKeRqsQ0frHuDLhtNDvRys= github.com/caarlos0/log v0.6.2/go.mod h1:y47Oq2WDdjL12pPSjdCZlIKtgF6SOMss88kSWTxXZBc= -github.com/ccoveille/go-safecast/v2 v2.0.1 h1:2+mIu3gXtwmWelBia2kkxfB8eP4orTHDH7ClSlWkd6I= -github.com/ccoveille/go-safecast/v2 v2.0.1/go.mod h1:JIYA4CAR33blIDuE6fSwCp2sz1oOBahXnvmdBhOAABs= github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q= github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q= github.com/charmbracelet/ultraviolet v0.0.0-20260812204455-68fa937c71be h1:qEvkJy1sjJXP+yf8IH2o13NV+Rh4nIUHjaLNJ+pWxpI= From 89a3497627b0853281c4432c38aa73556673ab0c Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:21:30 +0200 Subject: [PATCH 13/41] docs: fix focused test path in AGENTS.md --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 2741c35..60a7cd7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,7 +12,7 @@ Use `task` for all verification; do not substitute raw `go test`/`go vet` for th - `task test` — vet + unit + e2e + raw + cleanup (CI parity) - `task test:unit` — `-short -race -coverpkg=./...`; tune via `TEST_OPTIONS`, `SOURCE_FILES`, `TEST_PATTERN` - Focused: - `task test:unit SOURCE_FILES=./internal/file_format/envelope/... TEST_PATTERN=TestGzipCompressorRejectsOversizedOutput` + `task test:unit SOURCE_FILES=./file_format/envelope/... TEST_PATTERN=TestGzipCompressorRejectsOversizedOutput` - `task test:unit:full` — same without `-short` - `task ci` (setup + build + test), `task test:fuzz`, `task cover`, `task reltest` - E2E requires `pdftoppm` (macOS: `brew install poppler`); `task test` flows a PDF through pdftoppm → `scan` → `decode`. From 25cd7a7d424ccdd0716fe6977f009174c0c74ab4 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:30:00 +0200 Subject: [PATCH 14/41] fix(file_format): reject unrepresentable versions on binary marshal ParseVersion replaces the lossy parseVersion that silently collapsed unparseable strings and wrapped components outside the 0-255 wire range, so MarshalBinary no longer writes altered version metadata. generate canonicalizes an unparseable GitVersion (devel builds) to 0.0.0, which the text format treats as devel anyway. --- cmd/generate.go | 8 ++++- file_format/binary.go | 25 ++++++++++---- file_format/binary_marshal.go | 5 ++- file_format/container_binary_test.go | 50 +++++++++++++++++++++++----- 4 files changed, 71 insertions(+), 17 deletions(-) diff --git a/cmd/generate.go b/cmd/generate.go index 3275aed..a1c6c05 100644 --- a/cmd/generate.go +++ b/cmd/generate.go @@ -158,8 +158,14 @@ encrypted data.`, if rawData { format = file_format.PaperCryptDataFormatRaw } + version := internal.VersionInfo.GitVersion + if _, _, _, err := file_format.ParseVersion(version); err != nil { + // devel builds carry no serializable version; 0.0.0 is how the + // text format marks a development document (major 0 == devel). + version = "0.0.0" + } crypt := file_format.NewPaperCrypt( - internal.VersionInfo.GitVersion, + version, data, serialNumber, purpose, diff --git a/file_format/binary.go b/file_format/binary.go index 0ada1e2..0b67ba8 100644 --- a/file_format/binary.go +++ b/file_format/binary.go @@ -47,15 +47,26 @@ var ( ErrBinaryTruncated = errors.New("binary: truncated data") ) -// parseVersion extracts major, minor, patch from a version string like "v3.1.2". -// Returns 0,0,0 for unparseable strings. -func parseVersion(v string) (major, minor, patch uint8) { - v = strings.TrimPrefix(v, "v") +// ParseVersion extracts major, minor, patch from a version string like "v3.1.2". +// It errors when the string does not parse or any component falls outside the +// 0–255 range representable in the binary wire format, so serialization cannot +// silently rewrite version metadata. +func ParseVersion(v string) (major, minor, patch uint8, err error) { + trimmed := strings.TrimPrefix(v, "v") var maj, mi, pat int - if _, err := fmt.Sscanf(v, "%d.%d.%d", &maj, &mi, &pat); err != nil { - return 0, 0, 0 + if _, err := fmt.Sscanf(trimmed, "%d.%d.%d", &maj, &mi, &pat); err != nil { + return 0, 0, 0, fmt.Errorf("unparseable version %q", v) } - return uint8(maj), uint8(mi), uint8(pat) //nolint:gosec // version components fit in uint8 + if maj < 0 || maj > 255 { + return 0, 0, 0, fmt.Errorf("major %d out of range", maj) + } + if mi < 0 || mi > 255 { + return 0, 0, 0, fmt.Errorf("minor %d out of range", mi) + } + if pat < 0 || pat > 255 { + return 0, 0, 0, fmt.Errorf("patch %d out of range", pat) + } + return uint8(maj), uint8(mi), uint8(pat), nil } // formatVersion returns "M.m.p" from three uint8 components. diff --git a/file_format/binary_marshal.go b/file_format/binary_marshal.go index f0d1197..cf4f582 100644 --- a/file_format/binary_marshal.go +++ b/file_format/binary_marshal.go @@ -60,7 +60,10 @@ func MarshalBinary(p *PaperCrypt) ([]byte, error) { return nil, fmt.Errorf("binary: comment too long (%d > 255)", len(commentBytes)) } - major, minor, patch := parseVersion(p.Version) + major, minor, patch, err := ParseVersion(p.Version) + if err != nil { + return nil, fmt.Errorf("binary: invalid version: %w", err) + } size := BinaryHeaderSize + 3 + // version diff --git a/file_format/container_binary_test.go b/file_format/container_binary_test.go index 5da7a89..c93e294 100644 --- a/file_format/container_binary_test.go +++ b/file_format/container_binary_test.go @@ -278,7 +278,7 @@ func FuzzBinaryRoundtrip(f *testing.F) { } func TestParseVersion(t *testing.T) { - tests := []struct { + valid := []struct { input string wantMaj, wantMin, wantPat uint8 }{ @@ -286,17 +286,24 @@ func TestParseVersion(t *testing.T) { {"3.1.2", 3, 1, 2}, {"v0.0.0", 0, 0, 0}, {"v255.255.255", 255, 255, 255}, - {"devel", 0, 0, 0}, - {"", 0, 0, 0}, - {"v1.2", 0, 0, 0}, } - for _, tt := range tests { - maj, mi, pat := parseVersion(tt.input) + for _, tt := range valid { + maj, mi, pat, err := ParseVersion(tt.input) + if err != nil { + t.Errorf("ParseVersion(%q): unexpected error %v", tt.input, err) + } if maj != tt.wantMaj || mi != tt.wantMin || pat != tt.wantPat { - t.Errorf("parseVersion(%q) = %d.%d.%d, want %d.%d.%d", + t.Errorf("ParseVersion(%q) = %d.%d.%d, want %d.%d.%d", tt.input, maj, mi, pat, tt.wantMaj, tt.wantMin, tt.wantPat) } } + + invalid := []string{"devel", "", "v1.2", "1.2", "300.0.0", "1.300.0", "1.0.300", "-1.0.0"} + for _, input := range invalid { + if _, _, _, err := ParseVersion(input); err == nil { + t.Errorf("ParseVersion(%q): expected error", input) + } + } } func TestFormatVersion(t *testing.T) { @@ -308,10 +315,37 @@ func TestFormatVersion(t *testing.T) { func TestParseFormatRoundtrip(t *testing.T) { for _, v := range []string{"1.0.0", "3.1.2", "0.0.0", "255.255.255"} { - maj, mi, pat := parseVersion(v) + maj, mi, pat, err := ParseVersion(v) + if err != nil { + t.Fatalf("ParseVersion(%q): %v", v, err) + } got := formatVersion(maj, mi, pat) if got != v { t.Errorf("roundtrip %q: parse -> format = %q", v, got) } } } + +func TestMarshalBinaryVersionValidation(t *testing.T) { + base := &PaperCrypt{ + DataFormat: PaperCryptDataFormatRaw, + CreatedAt: time.Now(), + Data: []byte("x"), + } + + for _, v := range []string{"3.1.2", "v3.0.0", "0.0.0", "255.255.255"} { + pc := *base + pc.Version = v + if _, err := MarshalBinary(&pc); err != nil { + t.Errorf("MarshalBinary with version %q: unexpected error %v", v, err) + } + } + + for _, v := range []string{"devel", "", "1.2", "abc", "300.0.0", "1.300.0", "1.0.300"} { + pc := *base + pc.Version = v + if _, err := MarshalBinary(&pc); err == nil { + t.Errorf("MarshalBinary with version %q: expected error", v) + } + } +} From 77429b151f6bd27e43d4f063fe351c500e8ff02a Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:33:13 +0200 Subject: [PATCH 15/41] fix(file_format): guard DecodeData against nil document Match MarshalBinary's nil-document behavior instead of panicking on p.DataFormat. --- file_format/container_binary_test.go | 6 ++++++ file_format/decode.go | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/file_format/container_binary_test.go b/file_format/container_binary_test.go index c93e294..87fd1fc 100644 --- a/file_format/container_binary_test.go +++ b/file_format/container_binary_test.go @@ -349,3 +349,9 @@ func TestMarshalBinaryVersionValidation(t *testing.T) { } } } + +func TestDecodeDataNilDocument(t *testing.T) { + if _, err := DecodeData(nil, nil); err == nil { + t.Error("DecodeData(nil): expected error") + } +} diff --git a/file_format/decode.go b/file_format/decode.go index 992e710..23d1563 100644 --- a/file_format/decode.go +++ b/file_format/decode.go @@ -20,10 +20,15 @@ package file_format +import "errors" + // DecodeData decodes and, if the data was encrypted with PaperCrypt (data // format is PaperCryptDataFormatPGP), decrypts the data, returning the // original binary data. func DecodeData(p *PaperCrypt, passphrase []byte) ([]byte, error) { + if p == nil { + return nil, errors.New("decode: nil PaperCrypt") + } handler, err := getHandler(p.DataFormat) if err != nil { return nil, err From a039d000f9cee159c320851f0ac38ded961daa0b Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:44:28 +0200 Subject: [PATCH 16/41] refactor: share the gzip size cap via internal/decompression Single owner for the 1 GiB decompression limit previously duplicated between the envelope unwrap and the container payload expansion. internal/decompression.ReadAll centralizes the cap, default, and ErrSizeExceeded sentinel; both envelope and the PGP handler now use it, and a new decode --unlimited flag disables it, matching scan. --- AGENTS.md | 6 +- cmd/decode.go | 9 ++- file_format/decode.go | 21 +++++- file_format/envelope/compression.go | 28 ++------ file_format/envelope/envelope.go | 6 +- file_format/format_handler.go | 16 +++-- file_format/format_handler_test.go | 76 ++++++++++++++++++++ internal/decompression/decompression.go | 59 +++++++++++++++ internal/decompression/decompression_test.go | 58 +++++++++++++++ 9 files changed, 242 insertions(+), 37 deletions(-) create mode 100644 file_format/format_handler_test.go create mode 100644 internal/decompression/decompression.go create mode 100644 internal/decompression/decompression_test.go diff --git a/AGENTS.md b/AGENTS.md index 60a7cd7..32a3322 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -45,8 +45,10 @@ installed by default. - `file_format/envelope`: `Wrap`/`Unwrap` with an injectable `ContentEncoder` (currently Base45), gzip only when it shrinks the payload. Header = `PC` + base36 (info) + base36 (version) + base45 (CRC-32) + base45 (payload) — documented in README; keep in sync. -- Decompression capped at 1 GiB (`maxDecompressedSize`); `scan --unlimited` disables it. On a cap hit, - `envelope.ErrDecompressedSizeExceeded` fires and scan appends a `use --unlimited` hint. +- Decompression capped at 1 GiB by the single shared owner `internal/decompression` (cap constant `MaxSize`, sentinel + `ErrSizeExceeded`); the cap applies to both the envelope unwrap and the container payload expansion, and the + `scan --unlimited` and `decode --unlimited` flags disable it. Envelope re-exports the sentinel as + `envelope.ErrDecompressedSizeExceeded`; scan appends a `use --unlimited` hint on a cap hit. - `codematrix` = QR encode (boombuler/barcode) / decode (gozxing); `pdf` = gofpdf with embedded Noto Sans/Inconsolata. ## Tracked artifacts diff --git a/cmd/decode.go b/cmd/decode.go index 7719c18..1eca50b 100644 --- a/cmd/decode.go +++ b/cmd/decode.go @@ -34,6 +34,7 @@ import ( var ( ignoreVersionMismatch bool ignoreChecksumMismatch bool + decodeUnlimited bool ) var decodeCmd = &cobra.Command{ @@ -120,7 +121,11 @@ The data should be read from a file or stdin, you will be required to provide a return errors.Join(errors.New("error deserializing PaperCrypt document"), err) } - decoded, err = file_format.DecodeData(pc, passphraseBytes) + var decodeOptions []file_format.DecodeOption + if decodeUnlimited { + decodeOptions = append(decodeOptions, file_format.WithNoDecompressionLimit()) + } + decoded, err = file_format.DecodeData(pc, passphraseBytes, decodeOptions...) if err != nil { return errors.Join(errors.New("error decrypting data"), err) } @@ -145,6 +150,8 @@ func init() { BoolVar(&ignoreVersionMismatch, "ignore-version-mismatch", false, "Ignore version mismatch and continue anyway") decodeCmd.Flags(). BoolVar(&ignoreChecksumMismatch, "ignore-header-checksum-mismatch", false, "Ignore header checksum mismatches and continue anyway") + decodeCmd.Flags(). + BoolVar(&decodeUnlimited, "unlimited", false, "Ignore the decompressed size limit when decoding the payload") decodeCmd.Flags(). StringVarP(&passphrase, "passphrase", "P", "", "Passphrase to use for encryption (not recommended, will be prompted for if not provided)") diff --git a/file_format/decode.go b/file_format/decode.go index 23d1563..7c366e2 100644 --- a/file_format/decode.go +++ b/file_format/decode.go @@ -22,16 +22,33 @@ package file_format import "errors" +// DecodeOption configures DecodeData. +type DecodeOption func(*decodeOptions) + +type decodeOptions struct { + maxDecompressedSize int +} + +// WithNoDecompressionLimit disables the cap on the gzip-expanded container +// payload, which otherwise defaults to internal/decompression.MaxSize. +func WithNoDecompressionLimit() DecodeOption { + return func(o *decodeOptions) { o.maxDecompressedSize = -1 } +} + // DecodeData decodes and, if the data was encrypted with PaperCrypt (data // format is PaperCryptDataFormatPGP), decrypts the data, returning the // original binary data. -func DecodeData(p *PaperCrypt, passphrase []byte) ([]byte, error) { +func DecodeData(p *PaperCrypt, passphrase []byte, opts ...DecodeOption) ([]byte, error) { if p == nil { return nil, errors.New("decode: nil PaperCrypt") } + var o decodeOptions + for _, opt := range opts { + opt(&o) + } handler, err := getHandler(p.DataFormat) if err != nil { return nil, err } - return handler.process(p.Data, passphrase) + return handler.process(o.maxDecompressedSize, p.Data, passphrase) } diff --git a/file_format/envelope/compression.go b/file_format/envelope/compression.go index 3b718c0..af38a7a 100644 --- a/file_format/envelope/compression.go +++ b/file_format/envelope/compression.go @@ -4,7 +4,8 @@ import ( "bytes" "compress/gzip" "fmt" - "io" + + "github.com/tmuniversal/papercrypt/v3/internal/decompression" ) type CompressionType uint8 @@ -84,10 +85,6 @@ type GzipCompressor struct { maxDecompressedSize int } -// maxDecompressedSize caps GzipCompressor.Decompress output, guarding -// against decompression bombs. -const maxDecompressedSize = 1 << 30 // 1 GiB - func (GzipCompressor) Compress(data []byte) ([]byte, error) { var buf bytes.Buffer gz, err := gzip.NewWriterLevel(&buf, gzip.BestCompression) @@ -109,30 +106,15 @@ func (c GzipCompressor) Decompress(data []byte) ([]byte, error) { return nil, fmt.Errorf("envelope: creating gzip reader: %w", err) } - limit := c.maxDecompressedSize - if limit == 0 { - limit = maxDecompressedSize - } - - in := io.Reader(gz) - if limit >= 0 { - in = io.LimitReader(gz, int64(limit)+1) - } - - out, err := io.ReadAll(in) + // the decompressed-size cap lives in internal/decompression; a zero + // config value means the package-wide default, a negative one is unlimited + out, err := decompression.ReadAll(gz, c.maxDecompressedSize) if err != nil { return nil, fmt.Errorf("envelope: reading gzip data: %w", err) } if err := gz.Close(); err != nil { return nil, fmt.Errorf("envelope: closing gzip reader: %w", err) } - if limit >= 0 && len(out) > limit { - return nil, fmt.Errorf( - "%w: exceeds %d bytes", - ErrDecompressedSizeExceeded, - limit, - ) - } return out, nil } diff --git a/file_format/envelope/envelope.go b/file_format/envelope/envelope.go index 9f0c8a5..38336ea 100644 --- a/file_format/envelope/envelope.go +++ b/file_format/envelope/envelope.go @@ -41,15 +41,15 @@ import ( "errors" "fmt" "hash/crc32" + + "github.com/tmuniversal/papercrypt/v3/internal/decompression" ) var ( ErrCRCMismatch = errors.New("envelope: CRC-32 mismatch") ErrPayloadTooShort = errors.New("envelope: payload too short") ErrDecode = errors.New("envelope: decode error") - ErrDecompressedSizeExceeded = errors.New( - "envelope: decompressed content exceeds the size limit", - ) + ErrDecompressedSizeExceeded = decompression.ErrSizeExceeded ) // Wrap compresses with gzip only when it makes the payload strictly smaller. diff --git a/file_format/format_handler.go b/file_format/format_handler.go index 62a4971..c4f7e78 100644 --- a/file_format/format_handler.go +++ b/file_format/format_handler.go @@ -27,12 +27,13 @@ import ( "fmt" "github.com/ProtonMail/gopenpgp/v3/crypto" + "github.com/tmuniversal/papercrypt/v3/internal/decompression" ) // formatHandler turns the binary Data stored in a PaperCrypt document back // into plaintext. Each supported PaperCryptDataFormat gets one. type formatHandler struct { - process func(data, passphrase []byte) ([]byte, error) + process func(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) } var formatHandlers = map[PaperCryptDataFormat]formatHandler{ @@ -48,25 +49,28 @@ func getHandler(format PaperCryptDataFormat) (formatHandler, error) { return handler, nil } -func processRawData(data, _ []byte) ([]byte, error) { +func processRawData(_ int, data, _ []byte) ([]byte, error) { return data, nil } -func processPGPData(data, passphrase []byte) ([]byte, error) { +// processPGPData expands the gzip-compressed payload and decrypts it. The +// expansion cap lives in internal/decompression; a zero maxDecompressedSize +// means the package default, a negative one is unlimited. +func processPGPData(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) { gzipReader, err := gzip.NewReader(bytes.NewReader(data)) if err != nil { return nil, errors.Join(errors.New("error creating gzip reader"), err) } - decompressed := new(bytes.Buffer) - if _, err := decompressed.ReadFrom(gzipReader); err != nil { + decompressed, err := decompression.ReadAll(gzipReader, maxDecompressedSize) + if err != nil { return nil, errors.Join(errors.New("error reading from gzip reader"), err) } if err := gzipReader.Close(); err != nil { return nil, errors.Join(errors.New("error closing gzip reader"), err) } - pgpMessage := crypto.NewPGPMessage(decompressed.Bytes()) + pgpMessage := crypto.NewPGPMessage(decompressed) pgp := crypto.PGP() decryptionHandler, err := pgp.Decryption().Password(passphrase).New() diff --git a/file_format/format_handler_test.go b/file_format/format_handler_test.go new file mode 100644 index 0000000..df5f29f --- /dev/null +++ b/file_format/format_handler_test.go @@ -0,0 +1,76 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "bytes" + "compress/gzip" + "errors" + "strings" + "testing" + + "github.com/tmuniversal/papercrypt/v3/internal/decompression" +) + +func TestProcessPGPDataRejectsOversizedDecompression(t *testing.T) { + data := gzipped(t, make([]byte, 2*1024)) + + _, err := processPGPData(1024, data, nil) + if !errors.Is(err, decompression.ErrSizeExceeded) { + t.Fatalf("expected ErrSizeExceeded, got %v", err) + } +} + +func TestProcessPGPDataUnlimited(t *testing.T) { + data := gzipped(t, make([]byte, 2*1024)) + + if _, err := processPGPData(-1, data, nil); err == nil { + t.Fatal("unexpected success") + } else if errors.Is(err, decompression.ErrSizeExceeded) { + t.Fatalf("size-limit error raised despite unlimited mode: %v", err) + } +} + +func TestProcessPGPDataAcceptsWithinLimit(t *testing.T) { + data := gzipped(t, make([]byte, 512)) + + if _, err := processPGPData(1024, data, nil); err == nil { + t.Fatal("unexpected success") + } else if strings.Contains(err.Error(), "size limit") { + t.Fatalf("size-limit error raised within the limit: %v", err) + } +} + +func gzipped(t *testing.T, payload []byte) []byte { + t.Helper() + var buf bytes.Buffer + gz, err := gzip.NewWriterLevel(&buf, gzip.BestCompression) + if err != nil { + t.Fatal(err) + } + if _, err := gz.Write(payload); err != nil { + t.Fatal(err) + } + if err := gz.Close(); err != nil { + t.Fatal(err) + } + return buf.Bytes() +} diff --git a/internal/decompression/decompression.go b/internal/decompression/decompression.go new file mode 100644 index 0000000..d6e56ed --- /dev/null +++ b/internal/decompression/decompression.go @@ -0,0 +1,59 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +// Package decompression is the single owner of the gzip-expansion size cap +// shared by every layer that inflates untrusted input. +package decompression + +import ( + "errors" + "fmt" + "io" +) + +// MaxSize is the module-wide default cap on gzip-expanded output, guarding +// against decompression bombs. +const MaxSize = 1 << 30 // 1 GiB + +// ErrSizeExceeded is returned when gzip-expanded output exceeds the cap. +var ErrSizeExceeded = errors.New("decompressed data exceeds the size limit") + +// ReadAll reads all of r, rejecting output above limit bytes with +// ErrSizeExceeded. A negative limit disables the cap; zero uses MaxSize. +func ReadAll(r io.Reader, limit int) ([]byte, error) { + limitBytes := limit + if limitBytes == 0 { + limitBytes = MaxSize + } + + in := r + if limitBytes > 0 { + in = io.LimitReader(in, int64(limitBytes)+1) + } + + out, err := io.ReadAll(in) + if err != nil { + return nil, err + } + if limitBytes > 0 && len(out) > limitBytes { + return nil, fmt.Errorf("%w: exceeds %d bytes", ErrSizeExceeded, limitBytes) + } + return out, nil +} diff --git a/internal/decompression/decompression_test.go b/internal/decompression/decompression_test.go new file mode 100644 index 0000000..b2a912d --- /dev/null +++ b/internal/decompression/decompression_test.go @@ -0,0 +1,58 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package decompression + +import ( + "bytes" + "errors" + "io" + "testing" +) + +func TestReadAllRejectsOversizedOutput(t *testing.T) { + in := bytes.NewReader(bytes.Repeat([]byte("x"), 16)) + if _, err := ReadAll(in, 8); !errors.Is(err, ErrSizeExceeded) { + t.Fatalf("expected ErrSizeExceeded, got %v", err) + } +} + +func TestReadAllWithinLimit(t *testing.T) { + in := bytes.NewReader(bytes.Repeat([]byte("x"), 8)) + out, err := ReadAll(in, 8) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if len(out) != 8 { + t.Fatalf("got %d bytes, want 8", len(out)) + } +} + +func TestReadAllErrorFromUnderlyingReader(t *testing.T) { + if _, err := ReadAll(errReader{}, 8); err == nil || errors.Is(err, ErrSizeExceeded) { + t.Fatalf("expected underlying error, got %v", err) + } +} + +type errReader struct{} + +func (errReader) Read([]byte) (int, error) { + return 0, io.ErrUnexpectedEOF +} From 39a2e21be2213623891adc026b1ab9331dfa01dd Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:50:32 +0200 Subject: [PATCH 17/41] chore: drop restating comments and align unlimited flag name Remove doc comments that merely restate what the code does; rename the scan and decode decompression-bypass flags to --unlimited-gzip-payload and update the cap-hit hint accordingly. --- AGENTS.md | 4 ++-- cmd/decode.go | 2 +- cmd/scan_code.go | 6 ++++-- file_format/decode.go | 3 --- file_format/envelope/compression.go | 2 -- file_format/format_handler.go | 3 --- internal/decompression/decompression.go | 7 ------- 7 files changed, 7 insertions(+), 20 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 32a3322..9a3f2ce 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -47,8 +47,8 @@ installed by default. documented in README; keep in sync. - Decompression capped at 1 GiB by the single shared owner `internal/decompression` (cap constant `MaxSize`, sentinel `ErrSizeExceeded`); the cap applies to both the envelope unwrap and the container payload expansion, and the - `scan --unlimited` and `decode --unlimited` flags disable it. Envelope re-exports the sentinel as - `envelope.ErrDecompressedSizeExceeded`; scan appends a `use --unlimited` hint on a cap hit. + `scan --unlimited-gzip-payload` and `decode --unlimited-gzip-payload` flags disable it. Envelope re-exports the sentinel as + `envelope.ErrDecompressedSizeExceeded`; scan appends a `use --unlimited-gzip-payload` hint on a cap hit. - `codematrix` = QR encode (boombuler/barcode) / decode (gozxing); `pdf` = gofpdf with embedded Noto Sans/Inconsolata. ## Tracked artifacts diff --git a/cmd/decode.go b/cmd/decode.go index 1eca50b..bdce271 100644 --- a/cmd/decode.go +++ b/cmd/decode.go @@ -151,7 +151,7 @@ func init() { decodeCmd.Flags(). BoolVar(&ignoreChecksumMismatch, "ignore-header-checksum-mismatch", false, "Ignore header checksum mismatches and continue anyway") decodeCmd.Flags(). - BoolVar(&decodeUnlimited, "unlimited", false, "Ignore the decompressed size limit when decoding the payload") + BoolVar(&decodeUnlimited, "unlimited-gzip-payload", false, "Ignore the decompressed size limit for the gzip payload") decodeCmd.Flags(). StringVarP(&passphrase, "passphrase", "P", "", "Passphrase to use for encryption (not recommended, will be prompted for if not provided)") diff --git a/cmd/scan_code.go b/cmd/scan_code.go index 058955c..7f437dd 100644 --- a/cmd/scan_code.go +++ b/cmd/scan_code.go @@ -125,7 +125,9 @@ The resulting data can be read by this command, by supplying the --from-binary f if errors.Is(err, envelope.ErrDecompressedSizeExceeded) { return errors.Join( err, - errors.New("use --unlimited to ignore the decompressed size limit"), + errors.New( + "use --unlimited-gzip-payload to ignore the decompressed size limit", + ), ) } return err @@ -154,5 +156,5 @@ func init() { scanCmd.Flags(). BoolVarP(&qrCmdToBinary, "to-binary", "b", false, "Write envelope string output instead of plaintext") scanCmd.Flags(). - BoolVar(&qrCmdUnlimited, "unlimited", false, "Ignore the decompressed size limit when unwrapping the envelope") + BoolVar(&qrCmdUnlimited, "unlimited-gzip-payload", false, "Ignore the decompressed size limit for the gzip payload") } diff --git a/file_format/decode.go b/file_format/decode.go index 7c366e2..7ecd881 100644 --- a/file_format/decode.go +++ b/file_format/decode.go @@ -22,15 +22,12 @@ package file_format import "errors" -// DecodeOption configures DecodeData. type DecodeOption func(*decodeOptions) type decodeOptions struct { maxDecompressedSize int } -// WithNoDecompressionLimit disables the cap on the gzip-expanded container -// payload, which otherwise defaults to internal/decompression.MaxSize. func WithNoDecompressionLimit() DecodeOption { return func(o *decodeOptions) { o.maxDecompressedSize = -1 } } diff --git a/file_format/envelope/compression.go b/file_format/envelope/compression.go index af38a7a..ede1999 100644 --- a/file_format/envelope/compression.go +++ b/file_format/envelope/compression.go @@ -106,8 +106,6 @@ func (c GzipCompressor) Decompress(data []byte) ([]byte, error) { return nil, fmt.Errorf("envelope: creating gzip reader: %w", err) } - // the decompressed-size cap lives in internal/decompression; a zero - // config value means the package-wide default, a negative one is unlimited out, err := decompression.ReadAll(gz, c.maxDecompressedSize) if err != nil { return nil, fmt.Errorf("envelope: reading gzip data: %w", err) diff --git a/file_format/format_handler.go b/file_format/format_handler.go index c4f7e78..f0a03fa 100644 --- a/file_format/format_handler.go +++ b/file_format/format_handler.go @@ -53,9 +53,6 @@ func processRawData(_ int, data, _ []byte) ([]byte, error) { return data, nil } -// processPGPData expands the gzip-compressed payload and decrypts it. The -// expansion cap lives in internal/decompression; a zero maxDecompressedSize -// means the package default, a negative one is unlimited. func processPGPData(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) { gzipReader, err := gzip.NewReader(bytes.NewReader(data)) if err != nil { diff --git a/internal/decompression/decompression.go b/internal/decompression/decompression.go index d6e56ed..3c05696 100644 --- a/internal/decompression/decompression.go +++ b/internal/decompression/decompression.go @@ -18,8 +18,6 @@ * along with this program. If not, see . */ -// Package decompression is the single owner of the gzip-expansion size cap -// shared by every layer that inflates untrusted input. package decompression import ( @@ -28,15 +26,10 @@ import ( "io" ) -// MaxSize is the module-wide default cap on gzip-expanded output, guarding -// against decompression bombs. const MaxSize = 1 << 30 // 1 GiB -// ErrSizeExceeded is returned when gzip-expanded output exceeds the cap. var ErrSizeExceeded = errors.New("decompressed data exceeds the size limit") -// ReadAll reads all of r, rejecting output above limit bytes with -// ErrSizeExceeded. A negative limit disables the cap; zero uses MaxSize. func ReadAll(r io.Reader, limit int) ([]byte, error) { limitBytes := limit if limitBytes == 0 { From fbb655724b68f973330e7d0343cfd9015db510f2 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:56:15 +0200 Subject: [PATCH 18/41] chore(file_format): drop what-comments, keep rationale Remove doc comments that restate what functions do; retain wire-format specs, invariants, and backward-compatibility rationale. --- file_format/binary.go | 21 +++++---------------- file_format/binary_unmarshal.go | 4 ---- file_format/decode.go | 3 --- file_format/format_handler.go | 2 -- file_format/json.go | 3 --- file_format/pdf_datamatrix.go | 1 - file_format/pdf_generate.go | 4 ---- file_format/pdf_qr.go | 2 -- file_format/text_deserialize.go | 3 --- file_format/text_parse.go | 2 -- file_format/text_serialize.go | 12 +++--------- file_format/text_validate.go | 9 --------- file_format/version.go | 14 +------------- 13 files changed, 9 insertions(+), 71 deletions(-) diff --git a/file_format/binary.go b/file_format/binary.go index 0b67ba8..c841484 100644 --- a/file_format/binary.go +++ b/file_format/binary.go @@ -26,31 +26,21 @@ import ( "strings" ) -// BinaryMagic is the 2-byte identifier for the binary container format. var BinaryMagic = [2]byte{'P', 'C'} -// CurrentBinaryFormatVersion is the container format version of the binary -// container recorded in the byte following BinaryMagic. Bumped whenever the -// binary wire format changes; readers reject any other value. +// Bumped whenever the binary wire format changes; readers reject any other value. const CurrentBinaryFormatVersion = 5 -// BinaryHeaderSize is the fixed magic prefix of the binary container, -// comprising the 2-byte BinaryMagic and the single container format version byte. const BinaryHeaderSize = 3 var ( - // ErrBinaryInvalidMagic indicates the binary container header does not match BinaryMagic. - ErrBinaryInvalidMagic = errors.New("binary: invalid magic") - // ErrBinaryUnsupportedVersion indicates the binary container uses an unsupported container format version. + ErrBinaryInvalidMagic = errors.New("binary: invalid magic") ErrBinaryUnsupportedVersion = errors.New("binary: unsupported container format version") - // ErrBinaryTruncated indicates the binary data is shorter than the declared format. - ErrBinaryTruncated = errors.New("binary: truncated data") + ErrBinaryTruncated = errors.New("binary: truncated data") ) -// ParseVersion extracts major, minor, patch from a version string like "v3.1.2". -// It errors when the string does not parse or any component falls outside the -// 0–255 range representable in the binary wire format, so serialization cannot -// silently rewrite version metadata. +// Components must fit the uint8 wire fields, so serialization can't silently +// rewrite version metadata. func ParseVersion(v string) (major, minor, patch uint8, err error) { trimmed := strings.TrimPrefix(v, "v") var maj, mi, pat int @@ -69,7 +59,6 @@ func ParseVersion(v string) (major, minor, patch uint8, err error) { return uint8(maj), uint8(mi), uint8(pat), nil } -// formatVersion returns "M.m.p" from three uint8 components. func formatVersion(major, minor, patch uint8) string { return fmt.Sprintf("%d.%d.%d", major, minor, patch) } diff --git a/file_format/binary_unmarshal.go b/file_format/binary_unmarshal.go index 68901ac..e3f02b7 100644 --- a/file_format/binary_unmarshal.go +++ b/file_format/binary_unmarshal.go @@ -31,7 +31,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) -// UnmarshalBinary parses a binary container into a PaperCrypt struct. func UnmarshalBinary(data []byte) (*PaperCrypt, error) { if len(data) < BinaryHeaderSize { return nil, ErrBinaryTruncated @@ -111,7 +110,6 @@ func UnmarshalBinary(data []byte) (*PaperCrypt, error) { return p, nil } -// UnmarshalBinaryFromReader reads a binary container from r and returns it. func UnmarshalBinaryFromReader(r io.Reader) (*PaperCrypt, error) { data, err := io.ReadAll(r) if err != nil { @@ -120,8 +118,6 @@ func UnmarshalBinaryFromReader(r io.Reader) (*PaperCrypt, error) { return UnmarshalBinary(data) } -// UnmarshalEnvelope decodes an envelope-wrapped binary container into a -// PaperCrypt struct. func UnmarshalEnvelope(data string, opts ...envelope.CompressorOption) (*PaperCrypt, error) { if !strings.HasPrefix(data, envelope.Magic) { return nil, errors.New("unsupported format: expected PC envelope") diff --git a/file_format/decode.go b/file_format/decode.go index 7ecd881..22f86df 100644 --- a/file_format/decode.go +++ b/file_format/decode.go @@ -32,9 +32,6 @@ func WithNoDecompressionLimit() DecodeOption { return func(o *decodeOptions) { o.maxDecompressedSize = -1 } } -// DecodeData decodes and, if the data was encrypted with PaperCrypt (data -// format is PaperCryptDataFormatPGP), decrypts the data, returning the -// original binary data. func DecodeData(p *PaperCrypt, passphrase []byte, opts ...DecodeOption) ([]byte, error) { if p == nil { return nil, errors.New("decode: nil PaperCrypt") diff --git a/file_format/format_handler.go b/file_format/format_handler.go index f0a03fa..d4355ed 100644 --- a/file_format/format_handler.go +++ b/file_format/format_handler.go @@ -30,8 +30,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/internal/decompression" ) -// formatHandler turns the binary Data stored in a PaperCrypt document back -// into plaintext. Each supported PaperCryptDataFormat gets one. type formatHandler struct { process func(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) } diff --git a/file_format/json.go b/file_format/json.go index 93d833e..1f4bf5d 100644 --- a/file_format/json.go +++ b/file_format/json.go @@ -29,7 +29,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/internal" ) -// JSONPaperCrypt is the JSON representation of PaperCrypt with base64 encoded hashes. type JSONPaperCrypt struct { Version string `json:"v"` DataFormat string `json:"f"` @@ -41,7 +40,6 @@ type JSONPaperCrypt struct { Data []byte `json:"d"` } -// MarshalJSON implements the json.Marshaler interface for PaperCrypt. func (p *PaperCrypt) MarshalJSON() ([]byte, error) { jpc := JSONPaperCrypt{ Version: p.Version, @@ -56,7 +54,6 @@ func (p *PaperCrypt) MarshalJSON() ([]byte, error) { return json.Marshal(jpc) } -// UnmarshalJSON implements the json.Unmarshaler interface for PaperCrypt. func (p *PaperCrypt) UnmarshalJSON(data []byte) error { var jpc JSONPaperCrypt if err := json.Unmarshal(data, &jpc); err != nil { diff --git a/file_format/pdf_datamatrix.go b/file_format/pdf_datamatrix.go index c58559a..6ac5f60 100644 --- a/file_format/pdf_datamatrix.go +++ b/file_format/pdf_datamatrix.go @@ -29,7 +29,6 @@ import ( "github.com/makiuchi-d/gozxing/datamatrix" ) -// GenerateDataMatrix renders a Data Matrix code of the given serial as PNG. func GenerateDataMatrix(serial string) ([]byte, error) { enc := datamatrix.NewDataMatrixWriter() code, err := enc.Encode(serial, gozxing.BarcodeFormat_DATA_MATRIX, 384, 384, nil) diff --git a/file_format/pdf_generate.go b/file_format/pdf_generate.go index 66d857b..8748a66 100644 --- a/file_format/pdf_generate.go +++ b/file_format/pdf_generate.go @@ -27,9 +27,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/pdf" ) -// GetPDF renders the PaperCrypt document as a printable PDF, combining the -// human-readable text, the QR code (unless no2D) carrying the full binary -// container and the Data Matrix serial label. func GetPDF(p *PaperCrypt, no2D bool, lowerCaseEncoding bool) ([]byte, error) { text, err := GetText(p, lowerCaseEncoding) if err != nil { @@ -70,7 +67,6 @@ func GetPDF(p *PaperCrypt, no2D bool, lowerCaseEncoding bool) ([]byte, error) { return pdf.New(pdfMode(p, no2D)).Render(cfg) } -// pdfMode picks the sheet layout for the document's data format. func pdfMode(p *PaperCrypt, no2D bool) pdf.Mode { switch { case p.DataFormat == PaperCryptDataFormatRaw && no2D: diff --git a/file_format/pdf_qr.go b/file_format/pdf_qr.go index 69a587c..48f87d8 100644 --- a/file_format/pdf_qr.go +++ b/file_format/pdf_qr.go @@ -27,8 +27,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/file_format/envelope" ) -// GenerateQR renders the QR code carrying the envelope-wrapped binary -// container of the document. func GenerateQR(p *PaperCrypt) ([]byte, error) { qrBin, err := MarshalBinary(p) if err != nil { diff --git a/file_format/text_deserialize.go b/file_format/text_deserialize.go index b4c45d7..c90b708 100644 --- a/file_format/text_deserialize.go +++ b/file_format/text_deserialize.go @@ -31,9 +31,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/terminal" ) -// DeserializeText parses a human-readable PaperCrypt text document back into -// a PaperCrypt struct, validating the header (version, CRC-32, data format) -// and the body (content length and SHA-256). func DeserializeText( data []byte, ignoreVersionMismatch bool, diff --git a/file_format/text_parse.go b/file_format/text_parse.go index adcda82..7a1b6e3 100644 --- a/file_format/text_parse.go +++ b/file_format/text_parse.go @@ -27,7 +27,6 @@ import ( "strings" ) -// TextToHeaderMap expects "Key: Value" header lines; the "# " prefix is stripped from keys. func TextToHeaderMap(text []byte) (map[string]string, error) { headers := make(map[string]string) @@ -71,7 +70,6 @@ func SplitTextHeaderAndBody(data []byte) ([]byte, []byte, error) { return header, body, nil } -// ParseHexUint32 parses a uint32 number from a string of hexadecimal characters func ParseHexUint32(hex string) (uint32, error) { h := strings.ToLower(hex) h = strings.ReplaceAll(h, "0x", "") diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 06d4249..78dcba9 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -44,10 +44,9 @@ type lineData struct { CRC24 uint32 } -// SerializeBinary returns the encrypted binary data, -// formatted for restoration -// lines will hold 22 bytes of data, prefaces by the line number, followed by the CRC-24 of the line, -// bytes are printed as two base16 (hex) digits, separated by a space. +// Lines hold 22 bytes of data, prefaced by the line number, followed by the +// CRC-24 of the line; bytes are printed as two base16 (hex) digits, separated +// by a space. The last line carries the block CRC-24. // Example: // // 1: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 @@ -107,7 +106,6 @@ func SerializeBinary(data *[]byte, bytesPerLine int) string { return string(dataBlock) } -// DeserializeBinary deserializes bytes from human-readable archive format encoded by SerializeBinary func DeserializeBinary(data *[]byte) ([]byte, error) { rawLines := bytes.Split(*data, []byte{'\n'}) lines := make([][]byte, 0, len(rawLines)) @@ -227,8 +225,6 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { return resultData, nil } -// MarshalBinaryForText returns the binary data formatted for restoration, -// hex lines with line numbers and a per-line CRC-24. func MarshalBinaryForText(p *PaperCrypt) (string, error) { if p.Data == nil { return "", errors.New("no data to serialize") @@ -241,7 +237,6 @@ func MarshalBinaryForText(p *PaperCrypt) (string, error) { return SerializeBinary(&p.Data, DefaultBytesPerLine), nil } -// GetText renders the human-readable text container for p. func GetText(p *PaperCrypt, lowerCaseEncoding bool) ([]byte, error) { header := fmt.Sprintf( `%s: %s @@ -291,7 +286,6 @@ func GetText(p *PaperCrypt, lowerCaseEncoding bool) ([]byte, error) { serializedData), nil } -// BytesFromBase64 decodes a base64 string using base64.StdEncoding to a byte slice func BytesFromBase64(data string) ([]byte, error) { return base64.StdEncoding.DecodeString(data) } diff --git a/file_format/text_validate.go b/file_format/text_validate.go index 7127c9c..088cca2 100644 --- a/file_format/text_validate.go +++ b/file_format/text_validate.go @@ -34,8 +34,6 @@ import ( "github.com/tmuniversal/papercrypt/v3/terminal" ) -// validateVersion checks the version header field and that it is a supported -// PaperCrypt major version, returning the value for the document. func validateVersion(headers map[string]string, ignoreVersionMismatch bool) (string, error) { versionLine, ok := headers[HeaderFieldVersion] if !ok { @@ -58,8 +56,6 @@ func validateVersion(headers map[string]string, ignoreVersionMismatch bool) (str return versionLine, nil } -// validateHeaderCRC32 verifies the header CRC-32 signature against the -// header section, sans the CRC-32 line itself. func validateHeaderCRC32( headers map[string]string, headersSection []byte, @@ -112,7 +108,6 @@ func validateHeaderCRC32( return nil } -// validateDataFormat reads the data format header field, returning the enum value. func validateDataFormat(headers map[string]string) (PaperCryptDataFormat, error) { dataFormatString, ok := headers[HeaderFieldDataFormat] if !ok { @@ -127,8 +122,6 @@ func validateDataFormat(headers map[string]string) (PaperCryptDataFormat, error) return PaperCryptDataFormatFromString(dataFormatString), nil } -// validateContentLength checks that the deserialized body length matches the -// content length header field. func validateContentLength(body []byte, headers map[string]string) error { bodyLength, ok := headers[HeaderFieldContentLength] if !ok { @@ -150,8 +143,6 @@ func validateContentLength(body []byte, headers map[string]string) error { return nil } -// validateSHA256 checks the deserialized body against the content SHA-256 -// header field. func validateSHA256(body []byte, headers map[string]string, ignoreChecksumMismatch bool) error { bodySha256, ok := headers[HeaderFieldSHA256] if !ok { diff --git a/file_format/version.go b/file_format/version.go index 826c54a..3bff809 100644 --- a/file_format/version.go +++ b/file_format/version.go @@ -26,17 +26,13 @@ import ( "github.com/caarlos0/log" ) -// PaperCryptDataFormat is an enum (uint8) of supported container formats type PaperCryptDataFormat uint8 const ( - // PaperCryptDataFormatPGP marks that a container holds data enclosed in a PGP container PaperCryptDataFormatPGP PaperCryptDataFormat = 0 - // PaperCryptDataFormatRaw represents that the data encoded in the container is raw, i.e. has not been encrypted by papercrypt PaperCryptDataFormatRaw PaperCryptDataFormat = 1 ) -// String serializes the enum value to a string deserializable by PaperCryptDataFormatFromString func (f PaperCryptDataFormat) String() string { switch f { case PaperCryptDataFormatPGP: @@ -48,7 +44,6 @@ func (f PaperCryptDataFormat) String() string { } } -// PaperCryptDataFormatFromString parses a container data format as a string, returning the corresponding enum value func PaperCryptDataFormatFromString(s string) PaperCryptDataFormat { switch s { case "PGP": @@ -60,25 +55,19 @@ func PaperCryptDataFormatFromString(s string) PaperCryptDataFormat { } } -// PaperCryptContainerVersion is an enum (uint32) of versions of the container format type PaperCryptContainerVersion uint32 const ( - // PaperCryptContainerVersionUnknown represents any unknown version, which may be newer, or come from parsing invalid input PaperCryptContainerVersionUnknown PaperCryptContainerVersion = 0 // PaperCryptContainerVersionMajor1 container format from PaperCryptV1, used for backwards compatibility PaperCryptContainerVersionMajor1 PaperCryptContainerVersion = 1 - // PaperCryptContainerVersionMajor2 container format for PaperCrypt PaperCryptContainerVersionMajor2 PaperCryptContainerVersion = 2 - // PaperCryptContainerVersionMajor3 container format for PaperCrypt PaperCryptContainerVersionMajor3 PaperCryptContainerVersion = 3 - // PaperCryptContainerVersionDevel is used instead of a set version number for development builds - PaperCryptContainerVersionDevel PaperCryptContainerVersion = PaperCryptContainerVersion( + PaperCryptContainerVersionDevel PaperCryptContainerVersion = PaperCryptContainerVersion( 0xFFFFFFFF, ) ) -// String serializes the PaperCryptContainerVersion to a string of either a number corresponding to the major version, "devel" for a development build, or "unknown" func (v PaperCryptContainerVersion) String() string { switch v { case PaperCryptContainerVersionMajor1: @@ -94,7 +83,6 @@ func (v PaperCryptContainerVersion) String() string { } } -// PaperCryptContainerVersionFromString parses a version string to discover the major version of this software func PaperCryptContainerVersionFromString(s string) PaperCryptContainerVersion { major := strings.TrimPrefix(s, "v") major = strings.Split(major, ".")[0] From 9087af2cadf7dc83b05c7e2dc88eb9e945a715a2 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:02:46 +0200 Subject: [PATCH 19/41] refactor(file_format): rename handler process to decode formatHandler.decode plus decodePGPData/decodeRawData say what they do, removing the need for the stripped what-comments. --- file_format/decode.go | 2 +- file_format/format_handler.go | 10 +++++----- file_format/format_handler_test.go | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/file_format/decode.go b/file_format/decode.go index 22f86df..4852efa 100644 --- a/file_format/decode.go +++ b/file_format/decode.go @@ -44,5 +44,5 @@ func DecodeData(p *PaperCrypt, passphrase []byte, opts ...DecodeOption) ([]byte, if err != nil { return nil, err } - return handler.process(o.maxDecompressedSize, p.Data, passphrase) + return handler.decode(o.maxDecompressedSize, p.Data, passphrase) } diff --git a/file_format/format_handler.go b/file_format/format_handler.go index d4355ed..d6680a5 100644 --- a/file_format/format_handler.go +++ b/file_format/format_handler.go @@ -31,12 +31,12 @@ import ( ) type formatHandler struct { - process func(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) + decode func(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) } var formatHandlers = map[PaperCryptDataFormat]formatHandler{ - PaperCryptDataFormatPGP: {process: processPGPData}, - PaperCryptDataFormatRaw: {process: processRawData}, + PaperCryptDataFormatPGP: {decode: decodePGPData}, + PaperCryptDataFormatRaw: {decode: decodeRawData}, } func getHandler(format PaperCryptDataFormat) (formatHandler, error) { @@ -47,11 +47,11 @@ func getHandler(format PaperCryptDataFormat) (formatHandler, error) { return handler, nil } -func processRawData(_ int, data, _ []byte) ([]byte, error) { +func decodeRawData(_ int, data, _ []byte) ([]byte, error) { return data, nil } -func processPGPData(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) { +func decodePGPData(maxDecompressedSize int, data, passphrase []byte) ([]byte, error) { gzipReader, err := gzip.NewReader(bytes.NewReader(data)) if err != nil { return nil, errors.Join(errors.New("error creating gzip reader"), err) diff --git a/file_format/format_handler_test.go b/file_format/format_handler_test.go index df5f29f..adeb3a6 100644 --- a/file_format/format_handler_test.go +++ b/file_format/format_handler_test.go @@ -33,7 +33,7 @@ import ( func TestProcessPGPDataRejectsOversizedDecompression(t *testing.T) { data := gzipped(t, make([]byte, 2*1024)) - _, err := processPGPData(1024, data, nil) + _, err := decodePGPData(1024, data, nil) if !errors.Is(err, decompression.ErrSizeExceeded) { t.Fatalf("expected ErrSizeExceeded, got %v", err) } @@ -42,7 +42,7 @@ func TestProcessPGPDataRejectsOversizedDecompression(t *testing.T) { func TestProcessPGPDataUnlimited(t *testing.T) { data := gzipped(t, make([]byte, 2*1024)) - if _, err := processPGPData(-1, data, nil); err == nil { + if _, err := decodePGPData(-1, data, nil); err == nil { t.Fatal("unexpected success") } else if errors.Is(err, decompression.ErrSizeExceeded) { t.Fatalf("size-limit error raised despite unlimited mode: %v", err) @@ -52,7 +52,7 @@ func TestProcessPGPDataUnlimited(t *testing.T) { func TestProcessPGPDataAcceptsWithinLimit(t *testing.T) { data := gzipped(t, make([]byte, 512)) - if _, err := processPGPData(1024, data, nil); err == nil { + if _, err := decodePGPData(1024, data, nil); err == nil { t.Fatal("unexpected success") } else if strings.Contains(err.Error(), "size limit") { t.Fatalf("size-limit error raised within the limit: %v", err) From 3b62146a20c6d48cdea2635a88c865efcec739b3 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:08:53 +0200 Subject: [PATCH 20/41] refactor(file_format): drop discarded json.MarshalIndent in DeserializeText The result was thrown away, so the call did nothing useful; remove it and the now-unused encoding/json import. --- file_format/text_deserialize.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/file_format/text_deserialize.go b/file_format/text_deserialize.go index c90b708..f1d2d27 100644 --- a/file_format/text_deserialize.go +++ b/file_format/text_deserialize.go @@ -21,7 +21,6 @@ package file_format import ( - "encoding/json" "errors" "time" @@ -107,11 +106,5 @@ func DeserializeText( dataFormat, ) - _, err = json.MarshalIndent(paperCrypt, "", " ") - if err != nil { - return nil, errors.Join(errors.New("error encoding JSON"), err) - } - log.WithField("json", paperCrypt).Debug("Serialized PaperCrypt document") - return paperCrypt, nil } From c23cc1577cf5abaafbc01ea00d32d3bef64b2704 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:13:49 +0200 Subject: [PATCH 21/41] refactor(file_format): use strconv.ParseUint in ParseHexUint32 Drops the strip/scan/round-trip dance for a size 32 hex parse, allowing leading zeros while rejecting repeated 0x prefixes and trailing garbage. Adds regression tests for both. --- file_format/serialize_test.go | 18 ++++++++++++++++++ file_format/text_parse.go | 22 +++++----------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/file_format/serialize_test.go b/file_format/serialize_test.go index d140ba0..8c43ac4 100644 --- a/file_format/serialize_test.go +++ b/file_format/serialize_test.go @@ -65,6 +65,24 @@ func TestParseHexUint32(t *testing.T) { t.Errorf("ParseHexUint32 should not fail with hex number without prefix") } }) + + t.Run("parse hex with leading zeros", func(t *testing.T) { + parsed, err := ParseHexUint32("0x001f") + if err != nil { + t.Errorf("ParseHexUint32 failed with error %s", err) + } + if parsed != 31 { + t.Errorf("Parsed value was incorrect, got: %d, want: %d.", parsed, 31) + } + }) + + t.Run("reject repeated prefix and trailing garbage", func(t *testing.T) { + for _, hex := range []string{"0x0x1f", "1fg"} { + if _, err := ParseHexUint32(hex); err == nil { + t.Errorf("ParseHexUint32 should fail with %q", hex) + } + } + }) } func TestBytesFromBase64(t *testing.T) { diff --git a/file_format/text_parse.go b/file_format/text_parse.go index 7a1b6e3..392c4ed 100644 --- a/file_format/text_parse.go +++ b/file_format/text_parse.go @@ -24,6 +24,7 @@ import ( "bytes" "errors" "fmt" + "strconv" "strings" ) @@ -71,25 +72,12 @@ func SplitTextHeaderAndBody(data []byte) ([]byte, []byte, error) { } func ParseHexUint32(hex string) (uint32, error) { - h := strings.ToLower(hex) - h = strings.ReplaceAll(h, "0x", "") - h = strings.ReplaceAll(h, " ", "") + s := strings.TrimPrefix(strings.ToLower(hex), "0x") + s = strings.ReplaceAll(s, " ", "") - var n uint32 - _, err := fmt.Sscanf(h, "%x", &n) + n, err := strconv.ParseUint(s, 16, 32) if err != nil { return 0, errors.Join(errors.New("error parsing hexadecimal value"), err) } - - // check input against output serialization, taking care to avoid leading zeros - nStr := fmt.Sprintf("%x", n) - hNoLeadingZeros := strings.TrimLeft(h, "0") - if hNoLeadingZeros == "" { - hNoLeadingZeros = "0" - } - if nStr != hNoLeadingZeros { - return n, fmt.Errorf("invalid hexadecimal value: %s", hex) - } - - return n, nil + return uint32(n), nil } From c0e395b6c778e9b06cab29209d7a2f30eca6672e Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:18:08 +0200 Subject: [PATCH 22/41] docs(file_format): fix SerializeBinary bytes-per-line doc and example Comment claimed 22 but DefaultBytesPerLine is 24; update text and the example line to match the value MarshalBinaryForText passes in. --- file_format/text_serialize.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 78dcba9..0f307e1 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -44,18 +44,16 @@ type lineData struct { CRC24 uint32 } -// Lines hold 22 bytes of data, prefaced by the line number, followed by the -// CRC-24 of the line; bytes are printed as two base16 (hex) digits, separated -// by a space. The last line carries the block CRC-24. +// Lines hold DefaultBytesPerLine bytes of data, prefaced by the line +// number, followed by the CRC-24 of the line; bytes are printed as two base16 +// (hex) digits, separated by a space. The last line carries the block CRC-24. // Example: // -// 1: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 +// 1: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 // 2: ... -// -// 10: ... -// ... -// n-1: ... -// n: +// ... +// n-1: ... +// n: // // See [example.pdf](example.pdf) for an example. func SerializeBinary(data *[]byte, bytesPerLine int) string { From 54bba370a2dc633c7548f33dd6bdb8a6825838f2 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:25:53 +0200 Subject: [PATCH 23/41] fix(file_format): accept any SerializeBinary width in DeserializeBinary Infer the per-line byte width from the parsed data lines instead of hardcoding DefaultBytesPerLine, so documents produced with a caller-selected bytesPerLine deserialize. Non-final lines must stay a consistent width; the final data line holds the remainder. Adds round-trip and inconsistency regression tests. --- file_format/serialize_test.go | 30 ++++++++++++++++++++++++++++++ file_format/text_serialize.go | 20 +++++++++++++++----- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/file_format/serialize_test.go b/file_format/serialize_test.go index 8c43ac4..5573661 100644 --- a/file_format/serialize_test.go +++ b/file_format/serialize_test.go @@ -614,4 +614,34 @@ func TestDeserializeBinary(t *testing.T) { t.Errorf("DeserializeBinary should not fail with lines swapped") } }) + + t.Run("deserialize with non-default bytes per line", func(t *testing.T) { + payload := []byte("hello world, this is some data 0123456789") + serialized := []byte(SerializeBinary(&payload, 4)) + res, err := DeserializeBinary(&serialized) + if err != nil { + t.Fatalf("DeserializeBinary failed with error %s", err) + } + if !bytes.Equal(res, payload) { + t.Errorf("round trip mismatch, got: %x, want: %x", res, payload) + } + }) + + t.Run("reject inconsistent line lengths", func(t *testing.T) { + payload := []byte("abcdefghijklmnopqrstuvwxyz012345") + s := SerializeBinary(&payload, 8) + b := []byte(s) // widen the first data line by one extra byte pair (hex "EE") + widened := bytes.Replace( + b, + []byte("61 62 63 64 65 66 67 68 "), + []byte("61 62 63 64 65 66 67 68 EE "), + 1, + ) + if bytes.Equal(widened, b) { + t.Fatalf("failed to construct inconsistent-length fixture") + } + if _, err := DeserializeBinary(&widened); err == nil { + t.Errorf("DeserializeBinary should fail with inconsistent line lengths") + } + }) } diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 0f307e1..853182d 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -116,6 +116,7 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { result := make([]lineData, 0, len(lines)) blockCrc := uint32(0) + lineBytes := 0 for lineIdx := 0; lineIdx < len(lines); lineIdx++ { line := lines[lineIdx] @@ -143,12 +144,21 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { } lineParts := bytes.Split(line[sep+2:], []byte(" ")) - // as lineParts contains sub-arrays of encoded bytes, the length of lineParts is equal to the number of bytes in the line + 1 (for the checksum) - // a line must never contain no data, this a line must contain at least two parts, one byte and the checksum - // (the last line, containing only the block checksum, is already handled above) - if len(lineParts) > DefaultBytesPerLine+1 || len(lineParts) < 2 { + + if n := len(lineParts) - 1; n < 1 || (lineBytes != 0 && n > lineBytes) { return nil, fmt.Errorf("unexpected line length: line %d: %s", lineNum, line[sep+2:]) } + if int64(lineNum) < int64(len(lines)-1) { + if lineBytes == 0 { + lineBytes = len(lineParts) - 1 + } else if len(lineParts)-1 != lineBytes { + return nil, fmt.Errorf( + "inconsistent line length: line %d: %s", + lineNum, + line[sep+2:], + ) + } + } hexBytes := make([]byte, 0, len(line)-sep-2) for _, hb := range lineParts[:len(lineParts)-1] { @@ -206,7 +216,7 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { ) } - resultData := make([]byte, 0, len(result)*DefaultBytesPerLine) + resultData := make([]byte, 0, len(result)*lineBytes) for _, line := range result { resultData = append(resultData, line.Data...) } From 3e21504e6949fc1c4749e186fecbce5dde993dae Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:34:35 +0200 Subject: [PATCH 24/41] fix(file_format): treat absent CRC and date headers as required-field errors A missing HeaderFieldHeaderCRC32 previously slipped past ignoreChecksumMismatch into ParseHexUint32(""), and a missing HeaderFieldDate reached time.Parse(""). Both headers are required, so deserialize fails with a not-present error instead of warning and parsing an empty value. The ignore flag now applies only to present-but-mismatched checksum values. --- file_format/text_deserialize.go | 3 +-- file_format/text_validate.go | 12 ++++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/file_format/text_deserialize.go b/file_format/text_deserialize.go index f1d2d27..7647635 100644 --- a/file_format/text_deserialize.go +++ b/file_format/text_deserialize.go @@ -27,7 +27,6 @@ import ( "github.com/ProtonMail/gopenpgp/v3/crypto" "github.com/caarlos0/log" "github.com/tmuniversal/papercrypt/v3/internal" - "github.com/tmuniversal/papercrypt/v3/terminal" ) func DeserializeText( @@ -87,7 +86,7 @@ func DeserializeText( headerDate, ok := headers[HeaderFieldDate] if !ok { - log.Warn(terminal.Warning("Date not present in header!")) + return nil, errors.Join(errorParsingHeader, newFieldNotPresentError(HeaderFieldDate)) } timestamp, err := time.Parse(internal.TimeStampFormatLong, headerDate) diff --git a/file_format/text_validate.go b/file_format/text_validate.go index 088cca2..6915e65 100644 --- a/file_format/text_validate.go +++ b/file_format/text_validate.go @@ -63,14 +63,10 @@ func validateHeaderCRC32( ) error { headerCrc, ok := headers[HeaderFieldHeaderCRC32] if !ok { - if !ignoreChecksumMismatch { - return errors.Join( - errorParsingHeader, - newFieldNotPresentError(HeaderFieldHeaderCRC32), - ) - } - - log.Warn(terminal.Warning("Header CRC-32 not present in header")) + return errors.Join( + errorParsingHeader, + newFieldNotPresentError(HeaderFieldHeaderCRC32), + ) } headerCrc = strings.ToLower(headerCrc) From a798e088c45ef6857a8076276cb39d3ecc397aac Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:36:28 +0200 Subject: [PATCH 25/41] docs: fix typo in phrase-sheet seed description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 12d710e..61d41f9 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ If no seed is passed to the command, one will be generated using the system's en papercrypt phrase-sheet --out phrase-sheet.pdf ExampleAbcA= ``` -Here, `ExampleAbcA=` is the base64-encoded seed, which is used to generate the word list. The seed will is also present +Here, `ExampleAbcA=` is the base64-encoded seed, which is used to generate the word list. The seed is also present on the generated PDF document, so you can regenerate the same word list later, even if you allowed the seed to be chosen at random. From 8987f9a05f1f31bb05e04a029a356efb0f6bb990 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:38:10 +0200 Subject: [PATCH 26/41] docs: annotate encoding-pipeline fence as text --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 61d41f9..ee71e0b 100644 --- a/README.md +++ b/README.md @@ -267,7 +267,7 @@ metadata intact. This format is not designed to be human-readable. **Encoding pipeline:** -``` +```text MarshalBinary → PC envelope (Base45, gzip if smaller) → QR code ``` @@ -298,7 +298,7 @@ PC + base36(info) + base36(version) + base45(CRC-32 of payload) + base45(payload **Decoding pipeline** (reverses encoding): -``` +```text QR code → PC envelope unwrap → Base45 decode → gzip decompress (if marked) → UnmarshalBinary ``` @@ -313,7 +313,7 @@ Once you have the text from the printed document, which should look something like this: -``` +```text # PaperCrypt Version: 3.0.0 # Content Serial: EIPESR # Purpose: Example Sheet From 655730dbde998a2aec5562584db7260a074d2f64 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:39:55 +0200 Subject: [PATCH 27/41] fix(file_format): nil-guard GetText before dereferencing p --- file_format/text_serialize.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 853182d..478b88d 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -246,6 +246,10 @@ func MarshalBinaryForText(p *PaperCrypt) (string, error) { } func GetText(p *PaperCrypt, lowerCaseEncoding bool) ([]byte, error) { + if p == nil { + return nil, errors.New("cannot get text for nil PaperCrypt") + } + header := fmt.Sprintf( `%s: %s %s: %s From 27590f8435c355c3bcac4cd9eccb55afe3c2cf53 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:43:35 +0200 Subject: [PATCH 28/41] refactor(crc24): drop redundant ValidateCRC32 wrapper The wrapper just compared against crc32.ChecksumIEEE; callers now use the stdlib directly. Adds a doc comment to the retained ValidateCRC24. --- crc24/crc.go | 9 +-------- crc24/crc_test.go | 34 ---------------------------------- file_format/text_validate.go | 3 +-- 3 files changed, 2 insertions(+), 44 deletions(-) diff --git a/crc24/crc.go b/crc24/crc.go index 78b1b94..0d5dbcd 100644 --- a/crc24/crc.go +++ b/crc24/crc.go @@ -20,19 +20,12 @@ package crc24 -import ( - "hash/crc32" -) - const ( CRC24Polynomial = polynomial CRC24Initial = initial ) +// ValidateCRC24 reports whether checksum is the CRC-24 of data. func ValidateCRC24(data []byte, checksum uint32) bool { return Validate(data, checksum) } - -func ValidateCRC32(data []byte, checksum uint32) bool { - return crc32.ChecksumIEEE(data) == checksum -} diff --git a/crc24/crc_test.go b/crc24/crc_test.go index 774221c..bc868f8 100644 --- a/crc24/crc_test.go +++ b/crc24/crc_test.go @@ -88,37 +88,3 @@ func TestBoth(t *testing.T) { t.Errorf("Expected checksum validation to be true, but got false.") } } - -func TestValidateCRC32(t *testing.T) { - data := []byte{ - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x50, - 0x47, - 0x50, - 0x20, - 0x4d, - 0x45, - 0x53, - 0x53, - 0x41, - 0x47, - 0x45, - } - checksum := uint32(0x59f08912) - - assert.True( - t, - ValidateCRC32(data, checksum), - "Expected checksum validation to pass for pre-determined valid checksum, but got false.", - ) -} diff --git a/file_format/text_validate.go b/file_format/text_validate.go index 6915e65..1ee702e 100644 --- a/file_format/text_validate.go +++ b/file_format/text_validate.go @@ -30,7 +30,6 @@ import ( "strings" "github.com/caarlos0/log" - "github.com/tmuniversal/papercrypt/v3/crc24" "github.com/tmuniversal/papercrypt/v3/terminal" ) @@ -84,7 +83,7 @@ func validateHeaderCRC32( []byte{}, ) - if !crc24.ValidateCRC32(headerWithoutCrc, headerCrc32) { + if crc32.ChecksumIEEE(headerWithoutCrc) != headerCrc32 { if !ignoreChecksumMismatch { return errors.Join( errorParsingHeader, From c688fcd2832c497b9e476e2db81f8165a5bb0f86 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:43:38 +0200 Subject: [PATCH 29/41] fix(decompression): avoid LimitReader overflow at max int limit int64(limit)+1 overflowed to a negative value when limit was the max int, which io.LimitReader treats as unlimited. Only bump by one for limits below MaxInt64. --- internal/decompression/decompression.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/decompression/decompression.go b/internal/decompression/decompression.go index 3c05696..151b84a 100644 --- a/internal/decompression/decompression.go +++ b/internal/decompression/decompression.go @@ -24,6 +24,7 @@ import ( "errors" "fmt" "io" + "math" ) const MaxSize = 1 << 30 // 1 GiB @@ -38,7 +39,11 @@ func ReadAll(r io.Reader, limit int) ([]byte, error) { in := r if limitBytes > 0 { - in = io.LimitReader(in, int64(limitBytes)+1) + n := int64(limitBytes) + if n < math.MaxInt64 { + n++ + } + in = io.LimitReader(in, n) } out, err := io.ReadAll(in) From 8ed2f865d31770573fe3bbc3fa86810aeba6ebeb Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:44:36 +0200 Subject: [PATCH 30/41] fix(envelope): reject reserved header bits in ParseHeader infoIdx beyond 0x0f encoded reserved bits that the field masks silently discarded; reject them instead of decoding a truncated header. Adds the standard AGPL header. --- file_format/envelope/header.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/file_format/envelope/header.go b/file_format/envelope/header.go index eeb3b57..8beaab9 100644 --- a/file_format/envelope/header.go +++ b/file_format/envelope/header.go @@ -1,3 +1,23 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + package envelope import ( @@ -59,6 +79,9 @@ func ParseHeader(data string) (Header, string, error) { if infoIdx == -1 { return hdr, "", fmt.Errorf("%w: invalid header character %q", ErrInvalidVersion, rest[0]) } + if infoIdx > 0x0f { + return hdr, "", fmt.Errorf("%w: reserved header bits set %q", ErrInvalidVersion, rest[0]) + } info := uint8(infoIdx) //nolint:gosec // index is valid alphabet position hdr.Type = HeaderType(info & 1) hdr.Encoding = EncodingType((info >> 1) & 0b11) From e950a3a608f80a23f28da35037febbc65b920f8f Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:44:40 +0200 Subject: [PATCH 31/41] docs(envelope): note EncodingTypeRaw is reserved Removing it and promoting Base45 to value 0 would change the wire header, so document the raw value as intentionally reserved instead. Adds the standard AGPL header. --- file_format/envelope/encoder.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/file_format/envelope/encoder.go b/file_format/envelope/encoder.go index 001f750..4d53bff 100644 --- a/file_format/envelope/encoder.go +++ b/file_format/envelope/encoder.go @@ -1,3 +1,23 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + package envelope import ( @@ -9,6 +29,9 @@ import ( type EncodingType uint8 const ( + // EncodingTypeRaw is reserved for a future raw encoder; no encoder + // currently registers it, and it must remain value 0 to keep the wire + // header stable. EncodingTypeRaw EncodingType = iota EncodingTypeBase45 ) From 3bacb62fd6d85e213c8f37114d4bfed1025ce64d Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:44:42 +0200 Subject: [PATCH 32/41] licensing(envelope): add AGPL header to compression.go --- file_format/envelope/compression.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/file_format/envelope/compression.go b/file_format/envelope/compression.go index ede1999..b865ccf 100644 --- a/file_format/envelope/compression.go +++ b/file_format/envelope/compression.go @@ -1,3 +1,23 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2024-2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + package envelope import ( From f30573696aa83e7e4a787fae58072da5b3130af7 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:48:23 +0200 Subject: [PATCH 33/41] fix(file_format): never underflow serial buffer before slicing Per-number base32 chunks could end short when a 64-bit value was zero, making buf.String()[:length] panic. Encode length random bytes directly so the output always contains at least length characters. Adds a length and alphabet regression test. --- file_format/serial.go | 27 +++++++------------- file_format/serial_test.go | 50 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 file_format/serial_test.go diff --git a/file_format/serial.go b/file_format/serial.go index 3e61b8e..668d4d1 100644 --- a/file_format/serial.go +++ b/file_format/serial.go @@ -25,32 +25,23 @@ import ( "crypto/rand" "encoding/base32" "errors" - "math" - "math/big" ) func GenerateSerial(length uint8) (string, error) { - numbers := make([]*big.Int, length) - - for i := uint8(0); i < length; i++ { - randInt, err := rand.Int(rand.Reader, big.NewInt(math.MaxInt64)) - if err != nil { - return "", errors.Join(errors.New("error generating random bytes"), err) - } - - numbers[i] = randInt + // Encode length random bytes: base32 yields >= length characters for any + // nonzero length, so the trailing slice never runs off the end even if a + // byte is zero. + random := make([]byte, length) + if _, err := rand.Read(random); err != nil { + return "", errors.Join(errors.New("error generating random bytes"), err) } buf := new(bytes.Buffer) encoder := base32.NewEncoder(base32.StdEncoding, buf) - for _, number := range numbers { - _, err := encoder.Write(number.Bytes()) - if err != nil { - return "", errors.Join(errors.New("error encoding bytes"), err) - } + if _, err := encoder.Write(random); err != nil { + return "", errors.Join(errors.New("error encoding bytes"), err) } - err := encoder.Close() - if err != nil { + if err := encoder.Close(); err != nil { return "", errors.Join(errors.New("error closing base64 encoder"), err) } diff --git a/file_format/serial_test.go b/file_format/serial_test.go new file mode 100644 index 0000000..80554ab --- /dev/null +++ b/file_format/serial_test.go @@ -0,0 +1,50 @@ +/* + * This file is part of PaperCrypt. + * + * PaperCrypt lets you prepare encrypted messages for printing on paper. + * Copyright (C) 2026 TMUniversal . + * + * PaperCrypt is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package file_format + +import ( + "strings" + "testing" +) + +func TestGenerateSerialLength(t *testing.T) { + const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" + for _, length := range []uint8{1, 3, 6, 12} { + serial, err := GenerateSerial(length) + if err != nil { + t.Fatalf("GenerateSerial(%d) failed with error %s", length, err) + } + if len(serial) != int(length) { + t.Errorf( + "GenerateSerial(%d) returned %d characters, want %d", + length, + len(serial), + length, + ) + } + for _, r := range serial { + if !strings.ContainsRune(alphabet, r) { + t.Errorf("GenerateSerial(%d) returned non-base32 character %q", length, r) + break + } + } + } +} From db9eaf49cc606706b54556b50515e5f169b301c7 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:48:46 +0200 Subject: [PATCH 34/41] refactor(file_format): add PaperCryptDataFormatUnknown sentinel Expose the 0xFF unknown-format cast literal as a named constant so callers can compare against a symbol. --- file_format/version.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/file_format/version.go b/file_format/version.go index 3bff809..7ce439d 100644 --- a/file_format/version.go +++ b/file_format/version.go @@ -29,8 +29,9 @@ import ( type PaperCryptDataFormat uint8 const ( - PaperCryptDataFormatPGP PaperCryptDataFormat = 0 - PaperCryptDataFormatRaw PaperCryptDataFormat = 1 + PaperCryptDataFormatPGP PaperCryptDataFormat = 0 + PaperCryptDataFormatRaw PaperCryptDataFormat = 1 + PaperCryptDataFormatUnknown PaperCryptDataFormat = 0xFF ) func (f PaperCryptDataFormat) String() string { @@ -51,7 +52,7 @@ func PaperCryptDataFormatFromString(s string) PaperCryptDataFormat { case "Raw": return PaperCryptDataFormatRaw default: - return PaperCryptDataFormat(0xFF) + return PaperCryptDataFormatUnknown } } From 756c63a6b2af29d88e150ad426cf4cf44ecc8ce1 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:57:13 +0200 Subject: [PATCH 35/41] test(file_format): tighten DeserializeBinary subtests Assert the expected value when parsing unprefixed FF, upgrade deserialize failures to t.Fatalf so nil results are never diffed, and fix the invalid-line-numbers subtest message. Adds serialize/deserialize round-trip coverage for single- and multi-line payloads plus empty-input rejection. --- file_format/serialize_test.go | 38 ++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/file_format/serialize_test.go b/file_format/serialize_test.go index 5573661..965581a 100644 --- a/file_format/serialize_test.go +++ b/file_format/serialize_test.go @@ -60,9 +60,12 @@ func TestParseHexUint32(t *testing.T) { t.Run("parse hex number without prefix", func(t *testing.T) { hex := "FF" - _, err := ParseHexUint32(hex) + parsed, err := ParseHexUint32(hex) if err != nil { - t.Errorf("ParseHexUint32 should not fail with hex number without prefix") + t.Fatalf("ParseHexUint32 should not fail with hex number without prefix") + } + if parsed != 0xFF { + t.Errorf("Parsed value was incorrect, got: %d, want: %d.", parsed, 0xFF) } }) @@ -137,7 +140,7 @@ func TestDeserializeBinary(t *testing.T) { data := []byte(correctFile) _, err := DeserializeBinary(&data) if err != nil { - t.Errorf("DeserializeBinary failed with error %s", err) + t.Fatalf("DeserializeBinary failed with error %s", err) } }) @@ -145,7 +148,7 @@ func TestDeserializeBinary(t *testing.T) { data := []byte(correctFile) res, err := DeserializeBinary(&data) if err != nil { - t.Errorf("DeserializeBinary failed with error %s", err) + t.Fatalf("DeserializeBinary failed with error %s", err) } expected := []byte{ @@ -586,7 +589,7 @@ func TestDeserializeBinary(t *testing.T) { 18: 22DF5F`) _, err := DeserializeBinary(&data) if err == nil { - t.Errorf("DeserializeBinary should fail with invalid base16") + t.Errorf("DeserializeBinary should fail with invalid line numbers") } }) @@ -644,4 +647,29 @@ func TestDeserializeBinary(t *testing.T) { t.Errorf("DeserializeBinary should fail with inconsistent line lengths") } }) + + t.Run("round trip", func(t *testing.T) { + payloads := [][]byte{ + {0xFF}, + []byte("17: short line"), + []byte("hello world, this is some data 0123456789"), + } + for _, payload := range payloads { + serialized := []byte(SerializeBinary(&payload, 24)) + res, err := DeserializeBinary(&serialized) + if err != nil { + t.Fatalf("DeserializeBinary failed with error %s", err) + } + if !bytes.Equal(res, payload) { + t.Errorf("round trip mismatch, got: %x, want: %x", res, payload) + } + } + }) + + t.Run("reject empty input", func(t *testing.T) { + empty := []byte{} + if _, err := DeserializeBinary(&empty); err == nil { + t.Errorf("DeserializeBinary should fail with no data lines") + } + }) } From ae92a174db41a9c6d45e69aa8d99007d55a10fab Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:14:44 +0200 Subject: [PATCH 36/41] fix(terminal): close tty on all paths and drop duplicate prompt The /dev/tty handle leaked whenever ReadPassword failed, since close only ran on the success path; deferring the close covers every return. Sensitive Prompt pre-printed a second 'Passphrase:' that duplicated promptui's label on terminals; the preceding log.Info already announces the prompt. Drops the behavior-restating comments in both platform files. --- terminal/read_password.go | 2 -- terminal/read_password_unix.go | 7 +------ terminal/read_password_windows.go | 1 - 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/terminal/read_password.go b/terminal/read_password.go index 98d1c5b..8a69f75 100644 --- a/terminal/read_password.go +++ b/terminal/read_password.go @@ -26,8 +26,6 @@ import ( ) func SensitivePrompt() ([]byte, error) { - _, _ = fmt.Fprint(os.Stderr, "Passphrase: ") - p, e := readTtyLine() _, _ = fmt.Fprint(os.Stderr, "\n") diff --git a/terminal/read_password_unix.go b/terminal/read_password_unix.go index b0cf512..40bb5d3 100644 --- a/terminal/read_password_unix.go +++ b/terminal/read_password_unix.go @@ -32,7 +32,6 @@ import ( ) func readTtyLinePlatform() ([]byte, error) { - // if stdin is a terminal, use it with promptui if term.IsTerminal(syscall.Stdin) { prompt := promptui.Prompt{ Label: "Passphrase (hidden)", @@ -48,11 +47,11 @@ func readTtyLinePlatform() ([]byte, error) { return []byte(result), nil } - // otherwise, try /dev/tty tty, err := os.Open("/dev/tty") if err != nil { return nil, errors.Join(errors.New("could not open /dev/tty"), err) } + defer tty.Close() //nolint:errcheck // close error on a read-only fd is not actionable password, err := term.ReadPassword(int(tty.Fd())) if err != nil { @@ -63,9 +62,5 @@ func readTtyLinePlatform() ([]byte, error) { return nil, errors.New("could not read password from /dev/tty") } - if err = tty.Close(); err != nil { - return nil, errors.Join(errors.New("could not close /dev/tty"), err) - } - return password, nil } diff --git a/terminal/read_password_windows.go b/terminal/read_password_windows.go index fbf43fb..1c91de0 100644 --- a/terminal/read_password_windows.go +++ b/terminal/read_password_windows.go @@ -32,7 +32,6 @@ import ( ) func readTtyLinePlatform() ([]byte, error) { - // if stdin is a terminal, use it with promptui if term.IsTerminal(int(syscall.Stdin)) { prompt := promptui.Prompt{ Label: "Passphrase", From 7019a01943af1af6c38c510efabc03fc10839469 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:18:02 +0200 Subject: [PATCH 37/41] docs: regenerate examples Signed-off-by: Universal Studio <10200399+TMUniversal@users.noreply.github.com> --- examples/lowercase.pdf | Bin 462133 -> 461557 bytes examples/no_code.pdf | Bin 57242 -> 57069 bytes examples/output.pdf | Bin 462361 -> 461031 bytes examples/phrase.pdf | Bin 50641 -> 50644 bytes examples/raw.pdf | Bin 454841 -> 454898 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/lowercase.pdf b/examples/lowercase.pdf index f9a9d6c19dd404d1c69b25810e7239f8dfe5615f..c60b82ed0adb2d2715618de3ed7a51a8fd5c92f0 100644 GIT binary patch delta 72157 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 Hev$oOlHX7q delta 71953 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 UTo(ys^)z}3)*ml~H8A17aPixPB%zQ& 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ˈ~uWqC6WAe*^)OCab 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

m^8 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 delta 28609 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 Lfk8r1665~>mPBJz diff --git a/examples/output.pdf b/examples/output.pdf index 1bac984511d7c2844d047922a4854c91edec25d2..48f92a996846881e46f4f65bfee7f84dc64d67cb 100644 GIT binary patch delta 71747 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 From d90854357387c6dc37f0d67dda280dd6e99b6c95 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:28:57 +0200 Subject: [PATCH 39/41] fix(file_format): correct base32 label in serial error message The encoder is base32, not base64; the misleading label hampered debugging the rare close-failure path. --- file_format/serial.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file_format/serial.go b/file_format/serial.go index 668d4d1..438bdf5 100644 --- a/file_format/serial.go +++ b/file_format/serial.go @@ -42,7 +42,7 @@ func GenerateSerial(length uint8) (string, error) { return "", errors.Join(errors.New("error encoding bytes"), err) } if err := encoder.Close(); err != nil { - return "", errors.Join(errors.New("error closing base64 encoder"), err) + return "", errors.Join(errors.New("error closing base32 encoder"), err) } return buf.String()[:length], nil From 987472497cc7ab638f6b577c86e32f6a9cc746a7 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:29:02 +0200 Subject: [PATCH 40/41] fix(terminal): prompt before /dev/tty password read term.ReadPassword prints nothing, leaving a silent hang when stdin is piped and the /dev/tty fallback is used. Matches the previous duplicate prompt removal: the message only appears on the path that lacks promptui's own label. --- terminal/read_password_unix.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/terminal/read_password_unix.go b/terminal/read_password_unix.go index 40bb5d3..4fa3d03 100644 --- a/terminal/read_password_unix.go +++ b/terminal/read_password_unix.go @@ -24,6 +24,7 @@ package terminal import ( "errors" + "fmt" "os" "syscall" @@ -53,6 +54,10 @@ func readTtyLinePlatform() ([]byte, error) { } defer tty.Close() //nolint:errcheck // close error on a read-only fd is not actionable + // term.ReadPassword prints nothing, so announce input here where promptui + // is not used; the terminal path above already shows its own label. + _, _ = fmt.Fprint(os.Stderr, "Passphrase: ") + password, err := term.ReadPassword(int(tty.Fd())) if err != nil { return nil, errors.Join(errors.New("could not read password from /dev/tty"), From 2bf3616002009b4a6f9c59721df5bb1c601b53f9 Mon Sep 17 00:00:00 2001 From: Universal Studio <10200399+TMUniversal@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:36:06 +0200 Subject: [PATCH 41/41] fix(file_format): verify every data line number is consecutive The endpoint checks admitted a duplicate-plus-gap sequence like 1,1,3 because the first line was 1 and the last matched the row count. Check each sorted position instead, rejecting gaps and duplicates before the block CRC. Regression-test with identical lines so only the ordering check can fail it. --- file_format/serialize_test.go | 14 ++++++++++++++ file_format/text_serialize.go | 22 ++++++++++------------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/file_format/serialize_test.go b/file_format/serialize_test.go index 965581a..d896f9e 100644 --- a/file_format/serialize_test.go +++ b/file_format/serialize_test.go @@ -648,6 +648,20 @@ func TestDeserializeBinary(t *testing.T) { } }) + t.Run("reject duplicate and gap in line numbers", func(t *testing.T) { + // identical data lines keep the block CRC valid after renumbering, + // so only the line-number ordering check can catch this + payload := bytes.Repeat([]byte{0x66}, 72) + s := SerializeBinary(&payload, 24) + b := bytes.Replace([]byte(s), []byte("2: "), []byte("1: "), 1) + if bytes.Contains([]byte(s), []byte("2: ")) && bytes.Equal(b, []byte(s)) { + t.Fatalf("failed to renumber the second data line") + } + if _, err := DeserializeBinary(&b); err == nil { + t.Errorf("DeserializeBinary should fail with duplicate and gap in line numbers") + } + }) + t.Run("round trip", func(t *testing.T) { payloads := [][]byte{ {0xFF}, diff --git a/file_format/text_serialize.go b/file_format/text_serialize.go index 478b88d..28386dc 100644 --- a/file_format/text_serialize.go +++ b/file_format/text_serialize.go @@ -198,22 +198,20 @@ func DeserializeBinary(data *[]byte) ([]byte, error) { return result[i].LineNumber < result[j].LineNumber }) - // Ensure that lines are consecutive, starting at 1: as we sorted the - // lines, we can just check the first and last line. + // lines are 1-based and consecutive; the endpoint checks alone admit a + // duplicate-plus-gap like 1,1,3, so verify every sorted position. if len(result) == 0 { return nil, errors.New("no lines found") } - if result[0].LineNumber != 1 { - return nil, fmt.Errorf("invalid first line number: %d", result[0].LineNumber) - } - - // this also ensures that we have all lines, as the last line number must equal the number of lines - if int64(result[len(result)-1].LineNumber) != int64(len(result)) { - return nil, fmt.Errorf( - "invalid last line number: %d", - result[len(result)-1].LineNumber, - ) + for i, line := range result { + if line.LineNumber != uint32(i+1) { + return nil, fmt.Errorf( + "invalid line number: line %d at position %d", + line.LineNumber, + i+1, + ) + } } resultData := make([]byte, 0, len(result)*lineBytes)

4w=RerYxHP; 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 delta 71457 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 Dxc*?_ diff --git a/examples/phrase.pdf b/examples/phrase.pdf index 3dc9b352967774819815bd203b6de22e6489d9fe..5a9f99f4a0aee3133c42a98c29163fa12a2afeed 100644 GIT binary patch delta 5878 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 diff --git a/examples/raw.pdf b/examples/raw.pdf index 63ce43b1c4f16ebc74abe1a602e1ec7e67b335b2..0c63dbdc79c96be204bbc6a859b1b0eacdb39994 100644 GIT binary patch delta 61945 zcmZ5`19Trv6mQtHF&m?eZQD*7J85j28{7Zbw(T^w?Z$3wy?hVnz4PYmIkPjfcW~!o z?(DC18~1t}H#Qhx;NydJbaF7(w}y2CuSk(}TpPw10!)3vT@x(&RrCD@nK%oi2;4{I zRN`ynMt^`HlY&KJB$<$laB?JQlr+f5S8XqvU$+7pytK`q>SjmDuIpx{ENS@> zyOGMojav1w7W{fIkpuU19U3`;3?h-bf zHVb6!<=vuKt~>k|a+xZQ7yXaxiaE#$}Mz z6flYef2kNNYh{}0v=vb);(sr69_0GAW1luFld2xip*nbL{!9(+i3hW3|2L5rzn2^j zgI3QT&rQee0Kgt<(PmR(OCSkXL6z1W!vGHB{1NqmK9t5YyyrTS72k z*TipblE#T=$AnE2(aP<2U$lR5s%mzI!2!^ocUg+3GzN{d>*55*xiU>N-IhA#V>L*C z|H(L$I{7X-M_k$v$JD!DJK)4l1>?R)tk7DpTji`LsMzn00v!Uu?BwouN{#ER-eVhpWuYB#jj%p3Jexmf0*JO%H6n- zQyB8vAV42x>+Oj%%sdN|%G9Pu{+8>`S6~t7Pi)DC*DC0CkKdVp&3?J*YD(XjPw@D5 zZnp|APH!JzS8z9E6>{r|4dnL!=-XBz?#lNJJoX|B8Wi4h;qb-Z;l5rYdii^f|B+oj zWujSFyVs~K8|}kyh3S_O|NN4ylhA)7StnVsW2Nqr{gR+F#&vc0g5f}`<}Fv$??V~2 z7hJfvX5D`oGMJ(~Q+Mbr#V5Naai8G-tu3L&&eqHaKCAOve51rLp| zX^7K1gm0r`9h1~@qWUnkIzs$;9w zTo;^e`2h>jDLI{Xz>bNK0Vkal|GgMSHa{!sUzB&Q{E(n^YZKnZ{gSP3eG-YZLtYaF z1cS8p-gw8&Bz)_jn76CJ{195cp{hK2XB-#qpeVy;dItsE;gFJHk)ztUQ&wK;qXsjf z{MfuaKqjb>AEl5VgcB(j$u?NRPA-OPIG-rN)RV-Z;ifn4lqN-Gu6XTaA_L1gmBykK zIMO?D%`Dj&SI209t85q*Ef{5Tf^qTmCxeq3eam5lGn^gjJ?6*O6j8Z>Q_>I>EKGOf|98i5RTRNyhKx zifGQ}LKGGr`IB9l!3Jk}DXG>OcM(q<%TLQ}Jy^-Yc0PPzJ?#V9I&=%|-G47PB{C7l ztY&4d`?Wv^J;i3iwG$03weoY4n#*Ku9G1Px8tu7d?25HVM=Fzo?5eLX7~zCijzbxq z!1MYIu4~1wS0K~k`@seyCyUY#SkY|K=8BXhg{v&i2W{qqWQ$oiVM>kX=z`HyjofILN)=}4rz^9gC64yh;Gs+d+Yiq}YsKd(6B zP8{b}4#V>I=MB{g+o1F4drZ??`;7}R`r(Lev%dkQ(sk95%N@!GcjZ3tG`>5!fO!~dAt?A3oA3_w4? za~KYY+qmzU+HmgDW@SHS{<-MbMo513H|!yn=ed>-R^Pmd*5bRO{iw&~rPRP*|FWTV z5ShAgsdW1k$5*^?dPwm-5}R3H?6*`s%00Q#!Vzjk8&{ZQab7(2Dh5W~3}cxRZo|Zh zPt|wwZmRq!#uF)P_~t0ON^y*)XMko-Sii-rPaL+Wcl(zSY`AhhE1JR{7a?|@#2x1X zvdkmb{YjeoP!wJ_>4$MtQLz6&+%a0e%E^Wx1=-OVH^q)Q%3sZVqXy?&=XKUf$eC)} z5a)!%rZmEn@j>t~LFigI2@})_kL0rnZB=%$4s@bBn`B-?r!et4%!nDrQeZ}=Q)ru0 z?}bBc%asgaX;=D;lkT*G0k7Hj;iSF>vn-=0$*VgH1+!2!y5$r?6iK-I+O;*<%eONH zbYB>NN|g}pC+Ph>&b?9_{`e84imse98*-KLbzdF%38HQ8AH^+}%YuDOXG*5r!SH&- zh`A~Ey+II7D@hqz>!gHwD*#*hA!H(@JJNzAE2PeGYYF30wQSO2W$aLjg8q#I&mG|j z*)w;hh!+pNR7f(=;(B{MloeT+7N<5TPQ6|^GTi#{`A(*Ulyv^dCi1SbBF;8no zmfiP@_UvxFkjIY)gRiRthATI^?5zPAoYhir;nN2rgoZLHC`o~gVE}Y$90R)VOJrCT z-5R^Xbh%B*Qk8QnXMYwgS0mke<;#Soy-cz^;_zX zgdyH4`*y%QbJfrD69AM5^IYx4v{pS>7x@mG{p^r6$z@vNwF*rLNRL~r3dk!?&)gBN zBH|S|PRsNl-nC6l#0@nPG^2Hwpc<;7K)YpSSIHo!(_iOqNu70@XBFt*dUMUHfmcj zh4OK?Y7al4(c z$Kl^c&duOIbsk2{ExN|;FV-Rb%J~-9ozDi_kbH~t43O}cpVn~v;`E+uD~RqaN{XXT zecfMud@>|ino56TUAtME!n_Srr_<$m@IqWYAf_&s*FBsSq{F!O1rPEcs8X4)+L}RF zHJQtPQ-Lndr!A$(A3qSM;cCMJ!A3R7+BcmW;BYe=E-jzoCY$_FXCGkj zmRJ8e-3`2czo}T$Otjjj8`nd=RB2r4+aBhM6>qNTwCj1+Q}Z!wX>l8lBn&yz+l`l5 zr})&9Z~GZr3(6r4r#5-_z3CX*AQ5%wkGz3<0#$B%Y1p6T6AgzK%{Q&6F3@Sj3UT#5 zttbBKl%_hL_fpBgDj>AaiDiSg`BmXL28xBK} z{)g9o+9leKkW~%7U7HQmY!}+A#+|eX;6xs8YF1>`na*NMmmN{`aBJCVtFkATk!wgN zpo)q-y1o)=@&gfUG3K5UB#4d%5<-dt9l6qhz>#%8E^ZhgN93QNN;jLH3p~{iw&d~PYZ&@{{5MM0oh?Q)c*u|f!9x9BSC;FlcGW9cqH|D$->~E zPJFcb#*`{lkgX^iD7BmpG$;BSL|%abk`Vg|`U%3X_pHzZuTK{Hq&u!o1aV4|)aTXU zfP<=~(CVjZXW>D0u52J(WEjvY5;^F*+waeJ3{ZsIPf#KcL4nyKbIW30B|?5wn*>bl^Kv|xM3t`53N=7&(% z1%XTPqJe?Yw3dDYg8+N`00V;rJAZ}Z0x6WEf$~#Ozc4Z|FtWpb&I=s`pu+*|42(>$ z|L@_hqs`k1cgdOlncMVBfV@9g7?M92Co|UMr6CwH;cJnE5R{}sfk@m>Qt)^yNPi0H zXcDFzs})J7-GjkOy0)}EvQF8wbqsd**2XoKNxwNVnb{&a-Pz_es%i~$z1ds$Mh)vF z583o09i0ZXd={Wz%aQ?|QcGduVTidll=tOzlF#$wp6?|i7aHPElxa_{n?WQ0+p>HD zx-TI(MN)MlTV;L|gg`X7QN`;#0_A0ltRBRXHQ0xP`OTFjfcE^T;p>TG_P#JAt(6YO zBTx?Kdwx|urM<)dzCQ(7$w$QC;NI!P==7+@BXGe8CJZFgS0`Hme+vCJA0Up}yv_&b z3NdxEp*{4V><&-FT5nIQ4h;pi5WteF6SFq=-e+#`b1qcCX76Sj?`)S5DuTCO6~z=$KtDlX%@PJMKnm=fVrca&q9EG=LQ4o z2A}uKeg%lZzJWOef$H6$OFkmG)v~{|5XSLS`FkB{0f@2uMYv!jc3@vQkiqCK17TtV zp$G^hrcuNp-mnHK2JN8W)O(p!?P1mI@Y75Fe#z=(b|bf0I0Yj)3MKaQAz=(>+_OWM zRv)C2%MC1F7J+8JM9&)JwlCKeM{Duudz%%Aab~VuU zu62ibN+*Qt`lq9GorD6RuoWnd{9zGziE{q_>4N}QUH%;c zDc3R$#h$k9he>M|gyaK-EP^X!CXR*Tl!L?tHmw&T!2V|r;c_o#8|TEpDwH4X6gAJHb0)T z^xW<@KK2*eH=m+Sv$~$M?udVe#uc>pz zi>hi#@-+DTO)Yj#@59X#kfcDP9h;I84cR^QZXqg z37j|txr>?q=}G&+v~OO; zp~H|hwgxqL`{gJ?1397DT=~ymlk{VNhGKM$=YP^`816-ATvFJs;k23lM^kc_ zVum}qMzF3s1^_4tzSsd#9~L>Sjb4lTBdc}y6%lMRc2U#on(xNai}$1u%is78f69_* zdnO&o9q2U~S+DJ_r19czlKu89qmMJyCttZ_b5Gg`P?$ekxdayu5+a^nE50Y@aAy19 z#7vV|e$=5rFDm{_yR|DgI-g=#h_xshs2^eJ_o zL5@2!ja2G7w6`lSn1fDQ)Mf;Q|M98Un+w^AyF4U#sIKWfs3; zXpaNA74po*Ogi})n#3JaMGOmAC<%AwCMreP-&oYMRZI$-s2A!S1mo3RI6vGT6?6Lw zn8v6`2dU?_abnCh=o;eOWYQ}2C9}hZzN=ZRpgmu=cCcs>OSdUkPD(V=R40xW;%Lm8 z?$!KMGqp65OfDN8m)ZUksZlywSLnc4FRZ~QD zeorM8z6RB3|L$N@tC&Fz~_3YFN>JyoGmEZOP)tWKFmVj!=7 zSV}jk54FBx&-hp|%s5dIA){^mtL>AOu0e)oS=E7Yu#h@kV5&1Mz0T)_u!DLMHf)ek zfVY^+U^yIoxqGl(W0^8GC4+7zh%S-DWF{pC-}rl!21`>Zb)hpEMxit*St76))#|9& z*dzDJ(rpb)>h?B}D<-!?@_XxLs$U)2fIZ>TB z(ij%`P5ztD}crww4V9OnliY;B6{J^@2 zVZy=t#=bhd$%2E&xLQRsR@ZS@UB6xZdDB6KrhK57DsAkNxT5T$W9nrWsDW$3>LSaI za2?!Hk?zRRw;=|WF=}Qf!c>Xvhdu$Lt7FQ-VL%XqI`+xGBwB!yMoY1G?M^M}hDJ+S zy{QBpcD#rwebg;#=I__~lJPuMY=mf*BUEJ*Pa=#1si+twW4XH$6d~c6$8!cg)jm@` z4ufDLM&;mcnB}#qZUZLMOR_NsoaT?O10yc%XDekPj-?c!&ZgzgBWx{!x{dZCM#&jU;#|>SPAYD zkrX$PR5yEB1syViR-?mX=>1iZ^AxpAs1*H%;l(2=wA2d@R|dN|x|7V2fk+rTjASL_ zHeMAto>FR9i`PjEdcQkHp`tdd3X~1MCu*?VC-~UD76Ak?jOBv)!p3Y-yoG8P2%7MY z?6{4&*xzQBmDdTs%n^Gpm$?7f7C^N5cc3Ic@l6P>vY5wlG62;Z0!2&mji(DFA zuxLe(Ss<`47tL&Cp|3Zi9nXzsD(4!-qjD@6uc~uBh94U*WlBdmZ+8mbZ{(>j8#gbK zb!G}V(Fa`a%A;mon95J|{ht@?AO|u|TsmzYHw3g0q}iPhe&IUXAmToVkUL@(x+&2! zgm4YvooL6c%yXJ39fp6&ESp;|q?@SdBJVx3*v@iqA3dY0-{LP>XI3>()Mz!W?JsbM zYMF23A#6fV5eD%@Dh;LNFbX;{m6N%b8L}EI$N;{gpVeiC3uSXWis)jC*LqNO40Op9 z%3CGBn{VAJG#gn}w!X58S=r9BVOubd$v$-19$%%19H5Ugibr!gej3MI^ccqWNhsDH znv+UfhMwiVLFb)6_GXN2-(9<#qE?hmSlj%Cjd8_#G!gL%lOt)ZC-)zgt<09Lo3W}r z0IXu40ELCV&}Rgb86%UKJqEPM`gmrS!C)I*CtJp{x(BSP4)NpyYSO{OP(_1*Jg36` zg7|(boO*LHP`Rq~Y@*`Gk?^3Uj22ImTb-Dh&7GC*mBb!0BCBq2g4jUi0qJ1*lkoNo z1o6Q6GZJx-Sb5$Fir50NrHbUW8#bjXQ21R;>Wni$*HI=;6N{1(6^#XL04j>NSgrhw zbHl6KVdi9qYPWG9vEF@1V)@5dP|dnqz5(G3AsY>2nwFu+%AoPSdFz+7wZZ&RW~O}3 zAj#RM4w^CeH4Xww<#I)pGO9I#1o^{eUW)9=vAXeLw)nVDn^j{{lpW%2g;H675@DP>nTu*%7sGYI(1hOi| ztxLLBZM<1IpmG8E;?C5_tb3CVAl1l%EiESi5~NLr|5dYcLs+x9h*E+5?uE;ojF*K4 z4;?BfkU1#hyQJ&{Rej;F#Yu&p#iTHb5QCmyRy;W2mj8qed}ed$cso6AR}IG5dGoGS z)7NOf?41$s=Eummy65$D`LTfgDmZn%wr=w?Y3RENauK2?Sf-ku^WaM50(K_~ApL%m z-?eiVa)StPP6(!1L?u5~FMEBr2wjw(E(?QZa$Dy*MRc+_WsZvEqeP-JWG2*-?v7{5 zBZkESa+wGk@g(f#FS^nFR-Tf7@nW=+`MTLjP(WUvVd*VYm3Cw>N z>FFuy$vLTazUDLLKv-@ilN1zt3 zscwI@RtC8`v7~BFG&rP2>LI`C2Dv5nuUa~d{II)mrkRNXHt?Px)BoPTpHc78yLbvP zTCG|N;eOJu?F-@NVgv-frHvFof_G2JVho&46odqSfnkwV2)@9hyoCnAL0**HA~ZB2 z+}g}U%{xeCN(H-qBxZag<>Ep`K_>Zc+h&X7L>W%uKd&?wb;H864PmhOwx(uD@bM(< zHokFjFaRt@XNcvETHG~Ct-r|+AHMltulBc<-KbhPH_1N)8#+WZ7BXW`&`FIj8|s9J zLrC^WL75U&LM_~zXhmckpJXfZ)QV%`Z>%bC+upUk<{sSBbrb5= z3$sN`>|V3CuX6EZ{nDbCKbyNvD5*w(fVz4{d;-We1aNuu?3!1oD|ssa6I|k0!RnDN z`dCRM1P^B2Y$6JNo$k65RWuvs2Ca)ORrxrp?GKnanVYPiG-UFD zhEiSpT@35)Rg%a590{-$$e;c3GV}24p%ZheHw+QT9Inp1#2I+75?_xS&*Y0C@Cm2| z7!`r2*X&!vBLP^4rXcx3t_%!Ud3m6`(LhwxPC4iFrQMRP%zQ(2z-XL*1l#6$UHRBX z8C)gL|L=qIEWCXPs59&Dqj|_5PU7&zRrYj5Y2kVcr5gIxlk@qtM8D{w8agiCJRrem zoUEl2*bRHc&)j{w8WAVsI_%^PL3`HU*lJEV&WeP=eWTI=qSk+WV0uiaH3HJS;318( zyH@jEGr5s-{%OSnfBbMdE*dykODRCbv%7~su?3N}-xJW~Twwxu`wVjAZweB;W>*q< znPW!?Rnd3@RC^ZBEUXbvKxu3!NUcJZ#G05C9;ctOHy!gMTyS_LX|kuMq<;2a2}}M? z^Z=eJ^TQWlWIok<3qsJ=5EyEHh7cqbgxOHW?n(we?Jk7h_{SV8Gs#FFvxT^na}@_v zwA~^rocy{b)6Ty$OIr)vqp<#;6Zpbq`8U%~BO|?T1)}iCA)f*P-0RrRpI$#@_LR7G z(J~gAM4y6tYvb!i<9-PLS>Dwn-3oxh-?mc1)ilQ5K(vG=OV57;QpE-zI{p>-WdBa& zZk6#cGvhca(jFXcPDhpZa2ARmN;24ROqCOI>6Q}aO^yC-tLE67jQw$j#2dHyt417= zt6$hud}vZ`bUSwerG0CWyQ+x;B1=7eU8Z1CWPXk2E&z-7U-c3BbeP@Z#&JokL||}W z_>>sV8k_Z5zKSseV91sM`6h<^`W~rwMMX%P{F1D6wR_I{of;!Ux0Dvu^5rkg((rle z(cU-N1Tw3RiCrgd$Pof#lLzz5Unk@vdU0xuft(qG`6b>{xEZRxD8th@j~+(j>Vv&+(1 zlj`E?7Y#ro*W32uLF~{!3@z^;$$#&q-zAuk?b+JTCur}#Yaod-@md?@UYPN)5k^c5 z?TEiP;u6>0FQwqR?u_runSGtZY;q!}bQoOm#l*k{VWuRQkZ0^!BENMKNKU{5S> zSZ9}}_#My~)IaRboR2!&g$L8G=y@LgUGT9BYnl4oYcWT4<%8|L?0HV-nrLw@U?Z}# zmjkMnL0>UA!9wg+W}{}UjDWH9D|y9ThKzz#C-TOBL1uWjn|_004^%@LC@X7JFtpK= zSpr%tM?^#Cy2;J;&b6$2x1O1Ma@p+5^XuC;qCB*UKRaG1nJP==7%?{An3)*o_Ys|& z&)+G*{LOv6vb>P2zZ$2vBz-S$6bh75>I1mz;m%(gr#SCCi{;(X`Z6~_t7+BLM=_<~ z4u|TVt~s98HV=fM^nBTjo)qdvpZ@b8++o4h*Q%KyFt3obNd2>`FJ&l;wdgR|9Y=^^6 zI!0{kZ;ex{?ppPI=9V*qo-SbF$G~%U9Df0vnK-%7N|D@h==n;`FLP^G9NF@>N#cVi zmUS+k&m&+ts~JWlchMDW--u7@(R0aJL6v`idd2*t24^#B67#v=(aa`c{KCf6G8b7m zv(ctxg=+Hy{y+K2>?12%UOd=1{%q*4ZD7~34luHxLc#;XjY4II6=FDc1eh^34j5}D zZs+E1M-r*GUU<{#S?j_F(^4;**@4zq-Y%sBVs20N<2Krfj-ZFLFnCC8Rd}A<(4&LI zo4s2aUOEE(orZ~h3 z&r?fUR7a!#(^(9zI6{@#cfP=J8r)v({%yn$8VVQoq)cJmE+Un;NITg)&4~7 z;LDPvuh9`16jZ%jk4i3{_}3}5Pj4UfvXiv5%A0ZZe#foJ&nlSSFn*lv4F(ke_Jrz< z%Jr%NgD&c-lJNtOCT0)*0KMke^T7G5Ap0-=`zOYJ{j#3H`gsPNe0;kezg%fGD&een z4)9JJnna7Ziv@OC_?(!qzWX;v?C2)m|+IrJ34Y zCD+EU9q_Z?FFBqb|1GrYc_v;i?;cn>LE1YRZ732=FJRaYq*EF6OE~W$ynwL_?Y`X* zkyh5})v`^Z2E?|9jAkma!PRnUzU(*g)fS3|Hv%u7i3i~PsqdwI#G<^N%&C{Z^~Y2H z$$$Hv-ac}1%h%e$#8i~xX z&CDrZtc z$VEbNb;k7=zJUgMh%2SY%8W>2#t5%mCZa|3?Yh8Xw+eC1ge(_r>eZpTAd=moNR+fd zPU-{+Z#I+9Tij%b)b0GF@*=@=SAX)eKY$I#q36TR2fvT5!R{iF|7$X%Vz6E^>KjOQzttTyGkVPHp#{*`C|9EUVOZ&-?H{ZogRK@} zXXXYt<;;1l$IF+(f2mF_#LRQN_GEFClN`PHXlxOcBj(Ky6WQ|BowReaiAg{0XMo*k zu_W)zO}m3o0xdig)6LrFX!$B+-@k>=mL$=%9NUi>V5ZO>t6m8BqXm#Y*_XR6vX-`L zD#fb=vkkx6S2+&(m4GOcVbi}N$p5x1?K!EDr?Y3~M&?iaR@T9vvR7FvdFS(k`pOmw zP81}C;2JG0I10|+2`$IYAMD|$@M zihR4oFUlvS=NJ8Zk&ZJHQ9Ql7*^jM##7cQCI3%jO2LWfJ!1K2m1?Y-ep@)zKH*^8> zs}YmW_5Bl^d9;=bH~(`s2zpH8Lr+V8E)r^#K%!mdEqRRHspi>+xs zQ<@YrF>aGg{6geH%62pxvPa-eY0v!`)+w+KF`0xC_6mkV5GdlGGw^Ue@MZ4%44rtU zFX@q&9S2*!eS!49l$fgFn;vW|JJ+vFJgHS`4O_snK96n)T5VK~mQI{Hd@bEf+zitd zSGowTOOe@cOCF4N9`Ksm1Vr@A|GAmw%T>pLJ=yL-a4cIu9m$g`l?T*);Dp8gsWn81 zj2_#QH$%&~^zO0Pc8AgZab)|UO1Ar?N|xHjSpskJh55g;Bk)m}{9V`U>KgMv*USDN z99WMb*b{OqB==`5nTUM(Jr`oAQ+lBX_tucT3U~{{j!)n4_V{uKaCOP4FbVOG!%5&i zv1e}wR+6Q35tQU_G?n1NQo*X^_r#(je90f|F56|;xSx-y=2`SQV&!P zaAT2hr!bt$#p27P-H;C>>i*<@gkR~wS`p-5>G3s(E3zfxc7y-3G=kV=Bhnc8u)}^O zP9j7$qO`ZWx8@Y6n+NneJ7Bg}UlF`xeb6WIjr|zY7`sphe27Sb$OE@fx`;b$c#Ymf zPsuC!>u6Ut_1g^zYYxxX?)hDRiT_b>dX3(tj;`j=b?!K6IW3s{`qdX+SA?+XH+T@t z+ara*$Hl=1EFzw7c@h{0@+RV6*NrW3nBFzP>3yGXcwcQ{g4W(}$%6Y*UgESHd1xMP)kS2%S`9Tf-zK$z?imAt!$*-4p#y zkm5_GiDr4|4lF@Xz)#t8sY4ZglD4^zI}2=fHAq{dn@}bVW(+?H!d!{0w^)qHJK_rMwgDy+ z=?-5r7a5hdq6-%ENA=Bmw^E2}YBBedc^+PdVh=?RJSdXHj_Uh6ZnI#dX zJD~FcV|rK0-bto7X z+hMT(68u*0hLcXQ%|&N`j~R8C&F_HR8t$y!hhaD<_=d{%tA{ng?v8*g1i^9B*$Vr# zL!-X?I(_K=&3kzn*D#JDs+=M>vKhdyxip!7ADvtNv+%O$$^2aT`@Y4UdU;oUNL0HA z)N&u&A;A&m%o9x>6-tF9O3;VF6Ft^)^=sZ|{^ikoBVcE9_gcT?t+sRdffcE4p6?x;lW$bdPbuCJo+uw)XF%j~`U@d3l0yUg=>*F9)WXzICkER+ z@rL*Xa|3_d;mhX3W|`;IOZ~&)+3EeX?Y~T<(V>7}FRBl!UM&-1nSAi|?DwiQNTXu` z9bR@O1c6?b>u2JfF+gnNTO`11=Cn1cTY)6RYjqZ-&1?297)`+9!_ST+#KSZAMsaWd z(gw4#X1c%K@;1YZc+ZN|v{q6TlD|2;(l-OM;>mICLqHhqT`qI3wUS*6pt&)?c$!}I z*}o(`sC#m}SLSXGpZ8f4?A>n#a{Guiz8!p0cvb884^tZWCJ-r`3~QWHeo5)Spbue(P>-^RDG7VWUr zYM{S44&pz4A*nEcOtyn$R}g|ejkSZ;inYT~`^9G`o^)B@PG2q1i=aK&#`r=JE!g|b z3THVWDQ3g;$Cq!#wb1}>c*&#z6w26(B_)#69J%*3od_@(OY<7|eMm_7>D0}prk&#oA7>$#aB@-4ju{@W0u z9cn<}x?hT6EJIXy&k{mkUZ9G0533aphSwXv{^2kK?M{O^Y1W_1?B20n( z-mgEB;|8y^D;?cvJZ|ipTN)0_f5@@~_cwi#V%c7?m@K{VXQvt)B4ODsp%xVe5hOSw z$?YMNYxU3Yzwtf*7M^44Z!ziI+mhNXYPoL@3)=`hhG*07+4UCm9J|#8B{4)Bk8oFS z{438&kP25Le(qO;e?;vq|5mAEmqgeSx(Tk2&ksb6>s)zw=yoLe2zI1ZMc7I&43Nh= zUr7Nv9qWLa7mvMkM?wpA75T}|KtFA5MhYr@|EU3`DrN*w8?j^fEPAEzR`nRFi#c`b zI^gK-I#BQJTs!^XpK?(dVcO8()^?cWR#r?`W$tXR(oUUqRuw_L;W}V!Ey9z#I6&$w z%d_b$&9kV2iP>%w1~&?~qfkgUN$om7JetOVSs78EM>09=%t+ovBp2a)RrBbdlK3xN zNl_;w!6pnqn@w{osi%u})kYuUI@vKB(y=cvl*Nl)pLlQNKrf95h-)|Ca+W@u(M4`= zjL7?r7&2MDjZzz7if0FmjuUA`_Z)Ta&fE~4w!7~{R+si6TJy`LT)l{&6gcSIn$A7ZtzpP+4{BQR>dt^ zw+WR3a33-w&6MUvKQr^lkJ^uKlrMe9OlXbLy?iT=Bi0t5M?_8Z_=bk9i>jC$(v8(7 z0j6!XzS8=`YgVC6HMf6iKG67c5oeI)PsyA)hHby{S(@Xkuhw5+=d`r6rgKl9zu(dx zO*iM9wpG~*hE$z?R&mXQ$vNerWgbmC=lxee#OIoE)*)}J5?*rF`QJ}iRkx(%EhNY8 z_MiHyPuk|~4}35iH;Y(UkYc$ws8Ey+G*tc@#4LsZ;;Hx#OGsP4TKS11ERq0$d}>G_ zI5Ke+}6sxDBMIi5g-g9p@$E=JWrH z6?C1sv-84h(!FbA?>yJJc$psJyK8-(UFuTVdYPH>xohWtJJ-AGuFdsi+Y|xGvTn%K zPq1zYH7+ZTRW@i=Hg1ZgTQ_dVwVy|U8~g_@gaiZo0^*m_gc_mwTJS$ng`KsZs6s|I zHkSW`Duf4^m{|TlP@$)n){-;X^SL)7;wI515jZjjOb85-J6QamACKsgq3D$138Yd5 zBmyy5$P!WxqzYd!s2wWR-8rsuKxFpUmgz2JrM8ZzGHKcE#|J$|Hd@89OtQGmAZ_PW zlU1&{1C#j0V`>?j-NpX5jR0XFt`1|t@uP)Iq^kbDc}e$l&9b`l!A}sZ#SRy5R29DbwpHLX(KbcqUi!S!{)_H}D?Fy5!`X1Zs|dGq}9 z@!HsUcN(Q&_UDWbY^QN`l=W_5^(%wt_nZ%Go+n1~UZ`m zVh6tyWA(rf#sUK*VvI4~DFYOB6u;4xuzCa|^&uQndi9MM0=m*V{*b9K)rl6j>lzFj(hK60zU7Dn=e_#n{QRFUAy-n+wQx5d48W8 zYjy(9)4RLX{H4Vz-PTv780|JUeP`oVk1j=@N7}>5EKVJ&EG~Bg^Q-0F8Db>-tZZ%; zPrD-Ke@z;5MtwHv@x`iEsVr<(_mu9VS(0dEGK@F#;j|zVag{iXXpF+A-GO6B6iF&k zz$gp@t6GLxH?@jpseCA64(4aPGL`Y{?*mFQnHA>aCsFtJ<>NdK9eTo02}Md!mL663 z+}*WbC`lsI|8Cs*B@!={di$zqPw`W-P$q4rwD4!T0&zUa|0!^nh!yZo)K^>b74RoB znQIuSmn|5h0FZfyMY^M>zB}o z#+n+6sOy&?RZKRLq)BAM)r(9@RZlFG@dz+*5GIo+T%(9B#*_yz**AXg%t;SmQsgS_ zkIag}xIe4gD?w57bSiuKDRQY~tsfD|(_`r6{LG}1H^>?%r0)`-<>IT;0Be7{RlI^8 zoh!XIk_4)3P>(j!bEYr_er*)UW@=ru#F5AoQu}m)g`bec6eow%Py26PKS8)Dv(w6M zSbz3QW9@`v1_zX-+k6i7%0mG@hnxOk?JGx%0mr7)qgeADZ(foZH}JEp$ACejN93FM zmmRNP@+WTd@%+^eT#>&qXnnKh`_FVJEAcyM2V7OfP^nMGBaLR^dk{t` zaRULhVU9ueuNZjaWYscE?L4i5oW=o{u&IAU>P2JK$Wk@3j7XM^yfw4FYtb*1U%M+9 z1qJN{4O^7<_ES+0V+@Xg;t&Wx@yZsYsSO;Re#9q!G9K^CV%sHcc109&pGzxKuO>uh zhxMvcth9C3TcLUK)H`$_%xyUp9i40#sAgH_JhXY)2?6AJVtoz#XT% zN2-ExszPDicuVQ7sH8R>tI`*^fy7xz0V5;{ql`S<>UMG0tkA1|jv#xfOr4g8tDTJ@ z>_JLq<3VcP32l8ZMI&_zsk6AR?b?bLLR4q>?zMDn`zRVtW5jL80g+0GNvV>Y!!~Nv zkyJ9j5LJv#6c3iq%hY)YFBBM}ub;ZjZLUx1|^PDHR96=LoPniGw)mn!U1Pr&+=7IgiC!n_tu zjkv;462=6nLb8`gsz|j1tnU%Gkct7&2jBh4hKL<}*EhZ2J17D;>E^@5Vc{qW(*L=_W79%ow}yedro z7)KihJ`G+CRbxq~2OTfn%px1e0s!sFPPImPNmOSG%uel6^o@w6sJmstCC(k(g?aGSpSUkyZCbulP zZ^raQkD-o_m5NFv?%VB~DIM*1;)Ik;;}7ndMsy$cF`{*-=Xu2#TSg@a<~_bMDk|5m zpEG=SQ2MmIr7j%hD((3EjAdtp4ohZPukPEruliwM!q2)VtdUPLzHU6=)yl?R)}YI( zmw><+^X&PVTQi}$miOth7-I!LZP|zlk7Rk?ZWX^pHW_y+Ay%a3whS!LBnERLNR}d& z&MRKaD}LzZ6!ZDet6Yx*0(GZfQ{8NiK-@|wSoDzo^`OK^P*_s(*OOBYNTC>#r}F&p~(kKHqqaq*-ywc>nMQEU6$1C-_(H0P!2 zcP$EyaZ5#;>*`pDty6%ifXr;TiehmF~-x zhuN3%zAAD2xC>c9H=E-bh9mA_p%wlX%AKvvH#!Wt`*~*G0+-HSmCX2Yz1%^vh#?{N z-NbAFY_sO<&8=SkK0)!goL<4!{e{<$!>6|%X68ts`@MEnpuOK~@E@OrMU{+e_MOezJghpim^^cfUg|NRd$I!6O>G~4OWd}@zRTKwF0sEZ zV<%B~t5!ckXDH%cMe~OVwCdhv(X(gKH*eCNoAW-KnHwSg^UBwzj6U7pls*z_WcgJ1aeXVJpj33qSzMlUo7x7}@4H!%AeKWJyD(Bcz3f}sn9wtPqF$hOYh8|9t>8Z9ZGQi5;Rk^w&K*wA`f}dU7ZQq@zhvN!6W@HF zTKYVX6>a%$?sJ#MonD2~rHfA9I>JyvUqSFzenFUS!TnL^JMj|Z&*I(qU$)deeUtwJ z0IbE@VdOH3Mi~UEhPQQp}XKC2si_1^$b%De8j<_y1g^jWraXj0w|%{=RbsE`-dFo#V8AO~(x+pzgK3`p^X^Gr&!l=( z;C1uxLvddY!x-}Aw{NcB1q)}KONM!6bb=C_yu{R7yu_k=z!Z(mcAw)bnbU#1I4SX% z+h^lkzFmbMvHXPIND!}54EBbij9lEa9nIDsIR02ET*9h0R@3&%VE?aMo7eQ?-ei49 zPIEgGJ!By3=3W7vfhK)US3s~;!qZ}`&*Z4jsWhY9{@6;G>Sj0ZEPa;dqvR!JuuPN^HGhF`5mn~#6=#oqWjqj@z$G~Abz z+wcy!F}tlEPYMJIC?3V+R7VvB)>!2E^A(_nWkh}Z-J=;|U=J0kuLlV1MGp#Nj}Ojh z^lGQ+5egspn{e=86?;vtelQu$18!0MVi$N+*LYBLyk9!{&NgesaQH}qgciZ3KP5aj zITv)_DQkFGqNMHN2DW%;S$iTt{la_BJ8PF#JPWXr1a*?BwmCMK75|lH zd2U(YRtxz+^UV9S@I)rsU`53yNo4e5tenfljjXVPExym^mO0x--`h%5Pw)Lw7({@x zh0I}&2M0W_U=0*98>Zu4^q=Xn9`K3Ic62AJEi~oKibp4duzWR&+rtKYO_HM(H~lQ# z-4BK?k^~mjDa2qEUfYJAy7NWqP0z#jg{}D!FEOa!c5`2+=(?*SM31>LiCZ!_U*Y#h0No%#6l=Ms2LgBl-XLc)Vp z?KKHnz@d}gp&kZ(npu8677OdFiqoc78z>SM%NWrxv~t1r=kz|cb>cB_>c3L@L^A38 z=LFBo?d)vJO*!6TX_^}iT)5=*0)@w0HcRV`-<-b|5#&1e2S^+EjEq}j1#7U#x`awn@XjUJT7+iKH$ZtU2&*&m?xJnQZs{@9lC zKSdRzkZJ3LeZ%-VaCq7&eJe8I^K_t6xo#s@bSoNr`9jmYg3P9qWAU-o(NNg+i!8UV zX>=A2J%4|D=FK3LOQY~pi+ z*Boff44w*7+vk4R0+3u~R;*C(Z4Z zi4|MsMmSRWS@Gdq<-)Ln+}HM$HNHXSxrc2N>9XQ;10#=@#PbJ!(k+s~c&r@lVjbJ- zwG=;?L_eB{3M`C|a`m2Zbv*Z!_<2Ta-aWRez?zt71{CXmEV&awv5QnXst;3>sk<$4 z@ru6MI}^1&OP6cX<_EL2hyCL@^S<^^krdeRrIFSz!b}AlIiVM~mNiSf!RRZ}&zS`R zOKO)-(1r8;!XXa>v@v#%E)Kh1-||q6Z${q=ud&A$?Jh~=_Vx~(yek?MHc|`FB8Urm zQKCM`EX51>q+1V-J%)9=(vGj}1>aLF@vZ>cRd z&2K4aYG&Iz>A;_!C%0W(msY4)AU-i+l>>3p_KS&fi(4oVQ=%UdL71{=pJ#IHDp#nw@S_JqG{pLlf{+{eZ<84&z`dxplRY`!7AZ?6A z=T`!JeQjywxN7pG-C!KWlxVboUEA8Zg|j3)p^`-nU}F=D>Zh@`0UPS@+WEC~74hDJ z>xk`AcdufdF4@F^WG3Gfls(b$Zrth?yqs#d~cU zvLkJFj5US+*A3^VKRI2n*Q8IknqUOvS>*Z*TRzc5o*S8u2<41Y$!H9#Amil=8|HR! zMlA+PiucG}Ik{QbmZ=I|J7;d2e?C6_9?AL6NWpdHO}&EC6d%W?as3|NEkFC`MSGh+ zoG4Yled zBXOyVb*;%>FiKmB<;H%fAT7<6WI8OjZ_l}6S>Y0xAXBIOLylqN)KG9Z>~(9@cusm* zrLffVO*qeWv7&~w7_j4narH$Hl>N-Z%yLwrly_HH%BkIu!tz;$nckamoSbp*jy`TI zb)hN7?M7~U+j@SR1-r3#cwVk+@Ci?GtRIvUOm8+!aoKRphCj;LUQ!-T9hj05_T?{)XwOgTnw4isbO9< zpTnWP3Y@uf_~=gbe!_T`;F6%k)0!Du*X&0pRX!dO@)TVz#U|VqTPPgrJB7V&6hg)r z8;E0+zoGmCom1_%V^=h5cWdj#=0VHd2;1lLZ<5h=Lf>D?NOkb8$n*@lTj`z}G|mJ* z^3&e2@Z=RMI8MN}^{JRu@fVeFcJ9uP$GSdIJ!oj;EwzgFxSEX4#hf}-dc*M&UBO`B z34fmVxm(AsWZ{llrKN`B>H1tzvLQew{V9oBo7*SWo&-b|)!0kGRu)6Lum= z2A^GYTOXSYpjFE6 zH4f%{Y3myKRXFm#Z2+Pr8s~rgk`>1hI6LDP*ZO^yI0Kfr#n`Tp$IQ-cD4!%HIc2hM z3>;vvVJ(Qe@+S(pBT;6N$aMx^qw5nqiiq3MB-?GzzeLBZ-}pcvslKFmBW3RjeKvPor5L1#ZDi^@+485Ns_3PP!tc%?Gi{*SyWPV_1fc9(UCXC>os- z&S11h^385Z47+}NztY-rvv8qzxvbrv&wH?|gMKMdebnPB+~~sMInQfw=UfqX7tMA? zE$l;lC7gueb0qh31wP>nr1LJhw&X*>8Mei1s5zN&co(6bKI>rnv&L-$7WUFhbWOoE z3A$qR)R;wc+o$h)w^xjlQVrRS=lgQE8BT^NM}Mu%kjfc2A6t1w_;jelb)+K?!+M`> z@_C8L;4IY72Bl#N4GNa-1H=0eFn+8mcgJ3-d)Fwa`H3$%x%sO3zEFeRp1Bl znqN-hhDUpuR;VoFYDno5;wGu_SQfpaSIu1BJQg%p79BFXCT>%`yGwr~i*G{CT14N# z1FTu`+#Qm@%*J$jrDrAF+pD8#)R}hSV5HwFS&c}7orj;XyJn?P`r@@WPq;`Kgt=UTT= zNM!Dz3fr%MZMH%-@%LuB!gU^>BPVTc(sf4-GQJ3{b8p1E{PqP&} zcufUDN@Z5B(zumCOm3`9sIqGDm<|1~vpky>vrUv$6W1+oVV{Q%CMNB8l^~vmlNj^ybhNUn>NpP-g+uo5ml&#U$HBPwbGyV1(lZP1!AU%8(zc|A1v zDDvwbS>9d|*3I@)Vw+B8Vx`RGYLoXW%O_CY6{;?`2BAMJ6PUHryyjkGw1vyC%j1XZ zi;FH5d!;36i=+(#hC%*!s)erDyqF{#-$REih}#UCYf#ywj+S!leXp4+HRRK*+*YDJ zPqJtDnEoORi)6RZbMIcXe~(V-AaKua?8j=+HV4vP&b(WDb|q>k|=7BV;KkYw>ZY?s@LepoM`W<}-G#Eoj_$GzqR zBPL1-VwqKwp9;-s~_Kf^7UI@YmCXKlWNyDA7%I@3C<-fEYHbz^V6KQFKP|DeHD0x_jtlPS9T|!Mgjp?V%kW4mf=Chkdt@JG!$SK8}P4sR2-yeH8uay>J zqTlpb!XoU9l@uIWhM>PIUMs}nRKfl8nEm}=8& z_>dMGt+k4@Q@!tn)WXq9U%b8!!d&{M?G~)I+_42RT;#E}D|&WI&X}D5JBu%}%MCWT zz}g9yuX4+}7g?60ytDoAAcua5VBhWWqthkuCNKXtnR!=_{N%h9; z)&paT%UfOJ3?CoxBTNQe0* zQ~&U~FgDR#*w^>=P-VS!8~7~zXg@AZ*4YcYU*&x?d@xhR+Yb>+Rqm$zWJI#lin360U9d?%BS$Tcc$zt2Hen!tKj zcE^)%rm}Du-X08Gs_40&Bx=m%sJX8{AfrEQZ>0YP*Ea8(D7&VZKD95{31IjaI=@~!y3Q0c~-MO-CtBwk*?_rDj>Z27c^J}f> zX%LChr@X5bs*Yv|NcETDL}yu?dtg#s!=T#0aI)BlR&-Z2Fc~owtyRAI)Zl)Pqw(bC z@^eB{s%xWj+{=e4T(zS;oIA9?Ru~9o*oJXC#`0>R#&H+-**Auwd#}WN&iJOk;L=TT zEvV%#B13~M=tyeLMkby6nzEes3s&v}HLq_iOJKwldIw!CRFi#n_G~NNBE)9*G9Y)1_KpBSX3E_s*cfkb%a6Hj{owV@?Q_kmtsai=tjnFGM8j1)WX!}0(iGIYL zFF$3(ps|lNZ54IgdzZ$iVC<8>E3h|xeEmpeeyKM4kT3}Nr{kQT9`X{-Vx620QEDgJ zlNNpw18`*E9@h@ zSKF`($cQ%boBnp$SsSnLCE^;KT}+v}Yt{=8{kl>oy7J-{P`Z=Ie zqhC#eVPf}xh`gJO=(kwAvZR64iAdHTfmSyRB56rD&XF2<-}*Hk@2e1;av((FBYK7d z?(gX5Vv}E8l$+p3JO*^{9&ewhO0m8Td#~X5rT3^|bAjip-wr0;4zQr`$bW+9R}Qx0 zy-^f%R-c7WA4|rveuWeZ=d#s5I1ZoJWy$JTx4Fgrd1!_DnBdQ zI-BBY(Cv=x+zMSd(Mz9W?B+YLW!)=jFzRMs=mz5ar??~B7%_)+^kTl^ zL?V>R6V`LEO&7`D!8n}?pyWxH5T(Dt1RfNBT4j;78 zoSXucd~DI6-7KwOJ-4*0hv|;td{n0;xv6n#fLjD>!Mwi&4;hI}Hx#p=Df3{4{^KUe z(-gML0WI5YA*rV@2hVt2=L&qg+c&Nc+Jx9COaz>0sXwBh~0HqRc0szh7Z%IA$vk6w`6%((6%!?COa*;qWRDtrV5N-qxUeLy7@ zt4InRx{&@fiv1PgdS^;h0ZCxukFK&avX)K$UTZP}l=L)r? z$F80#i;S)72~$G6<|BToJidC3<;FbhJ#Qa==(aPJL#DibR@B>NF+0_q&xy5HO9k2W zh&|_ZV3uwjdHmLF+E6}oNhqU1_1W@zBLZFa>k$4AW9x>^3_THkI(a$K8`oNv8yxKh zw|125bEB_*KO>Y8c+t-$`ibNl54F_qY(k@=BkUcHC|pfTQnh?Aqrl|Jk!So^npezp z^?895kFvP5mI4}Tii0VNLlN#dzbjouD3YjY{!ibN8Ixy*+(0`=R7G-E~_{e(%&f>iq7z+%f-x$^hmBdJ01kR z8QAh+E}U#*pB!p=lNQlmSWLf$)vP-j3{9yxmT(bPlPMozsV+AlSPUhZnoD*XZVIX7 z?mU|H%1tXJEMsizOC_~i4qCnw?v!eKUc-KAL5Ikb;kvfbU%XEb&wDBeuPE^Cs4TB< z@pzYNtxT+7>^*aqd%xOR^7S0N=ISn*oD90;E%h~x;9XL}Jy9*Pd@U~=I|!YNIwHhR zQ@2#K{2iZFQaOzFkYm|;+{zU((linjyR*J)vY2FP)BD3AdRVlIAl29Zggaueu&ibv zXw8v&>#+m3ovSdO=GsWpQc#{_{6|BShj;R~vjUUSLK6(y%c;*jVr2w4zCE~~7m}r0 z&j$6%!iTX_Ig`>krik)6Y_0UC5923u#-)2Yg4_+hS#Fw8i5n;iN136X<^_ir2fK&9 z>S(L#ZEl($^XHW6LgCR6?hzTmFBx#>aa|Xl@}`Xq!V0j-zs|iq_z{I-2QEYfKa}XOLf#0&yu9$plcd9Dfl3J zov0Rcf3BQo>~`V=zc@6TFxnQcALG=r_RGXX=U_cwLMR?@%8YQRL64+6MZGe9hKlZ< zx0!~@_cJ!q#=Y+0r?5=UCv=?D+s3kvDLkl`*Cvh@crr%!67kKQh`czKgNu4<%Y*+sPGue9pPA(8~>ud>;yBUPG+Fa|%-NbF1LmLMPzq30Ahb}pE z#~JygZ@zK=*E%x;poOpyk+l+gW#oLDZXT$TUW*}el7|9eCEZ& z;1lB?R==#iT@_JM{D@RryCfe{`LuDsT&jBb4WGc-hx^_)kND3DifQo8Y3-jOurLmd zkt6B*&v2XE`gQoe#MviRkGb{Iy4XD?Re-80 zVK?u8xTr`$DHrT?-OCSY>;rc5?Xihuux% zrJ1?Osd~D}?_1G1#}V}P$?!OUL4Rq@5OSBWxI=^p?; zS9*7*wm$FfSVk{X>mE?Y@l>nD@mEt|{Z;n;`&W7~qm^w&+_hNlXrAbF9Jdn5f7&8! z)p8|DtB)-3eCW3SGS>2fmQZ!t28G167|E^tWVN21`*UG;x_H+3C;@lal#uyM4KTUd@2S6KP|nP~s_ zC%^sw{k4m0X^II4hcw<6a|;(I zNt7MBMA`k&yripLSPwhzB(_#>iNn+fb)pnrZOR&5)B8>@9dQKveGCE1beAwLnd_H0 zErD_D0yb$(MwO{eMhCl{rU#P=j1q=AUyX#9?5S=*ixB_X6Y*6DfCE78QO+D%;M2+x z`fzYr2!R3+cvCM}JOJWOBTvTB>>=T*s;c-3Czu<+CF|ANmde=$SaV}&yfZdprQjqbC_;rc0illp) zu#&7Xf9HH{48l~-vcp*Z#?n#%!&R;S`@Vc37Z>{9O#sc6<`K{D;zJOm!K7NQbTt#2 zZ;dwNj;^$%Xmq`Ex5gR_42?Eh=cLUzS%bn$q2(C)E=i31TEf{%y~d7e7`0 z>X>wV>;%FEh@)*j2@1&~=*ZT_-(_>%6wCV48_;nCPz#F80*n;@bR~%gp3V;G1AtXG z5QqyU<{VFzcqlWPM~++Vu0C@+^ZjVr>wSW~_85<(=Kk$-ag7$26JYNv#X;U`q-mT< ztq7LGp;g?ti%mmzV`(Kf^CYew9k#+v$|> z!t}J*))`UB4375CIX7p>;2ez9bFLA_u&4^$xk_~0gL!tJeL358xbA`Ne(GMT;i?>e z{gC`jM@l4Dz3f-qkoX2x-Ttoz>g@v#aQme!u{I6*=8ccYra2ZX|00U!rV`-Wg5{WCPIh`|g1;?jpvtQ-5pzPbY= zAqgg-%)!pVs~MK@)a*YQ@xW!c7Z4XSd`iT%wXK44frl2RM1q_=K3;#=ajW^sORxL) z44HaMXDks)wEx+8&z5PMfLaW|H?xZF)Dj#8fZkx6qeJnZ_ zU6~p8#I1;{)j2Zdw^Z~}N=+v+8{$?<=d+x5vrK^lidQtUxN(b@BK-}o?BrLQ2bnL4 zp2M{e?5QcPl={asUK_Oi1qQeyMZg$$BrWW?JI=IL2j-K4SE7aI0bpAMoEkjR15ltM z9g-Apd_c_Km|+y?nGB-?6@&mv;40pf91#Y93ipvnymC3QCyWJ<001#NAqB@@>H}f{Y3zSOGc0~|ES$y|=8+>(e@52sy}^|) zUaWtE+dn8r{AE6RJ`V=H-7RZ{=Dm_Y%i;XTPm0|?o8;&6@na<9aZ$tQWedjAmi(6T zK{s?#TejJ;xU@(9v*8(Dof^lZg$$2{W)x<|ra3o6+*oJvU5hVJ5;tu`#cgr~P?xZA z%IMW<^kD3|ERy(a+pG_hT`J#$0VaSj7-Is^!Z!55wR{*8azl9L(2O|vP2mv4wiF}% zpfs99fmOyZ6gc$`K^NEFg#;4ubn}P^07jDvuGPR9!7LAe8t*UxI04)T{{tx_TdE=O z_>-!ts#oz^FA@F#E6z1lY8KN*ZB0UA!s35+M|j@~b`8vbd>*e=2ZLVn%Pm-it-H_6iwt4GFx&3C#@2n2J(+^#|^#w%sR}Gf7!C9skwYkWxF}MZHf8* z5pt>TC3La_=&CJ`DH(1S6!mQ5BD~T|b5Pu%DmK$8GHc>+5fd9zr@9oOVBS_dS7K?S z=n4?fCq%UK1~{Ov5`ijMC-f|rNNz0~Z+3{;r9)^4MN#Yx z@gdOwolYz3-zANBoBjmv>goFiU(ntuG zXG?hU@~4XFi9bC7VG0|wYuW}5^Hhw41S(z6514($WGf(K4#QKn!XFd+f(mQ!`$;&1 z%~&WiIL8UbULQ^%%o;h?GzSm>5K)q|%tXwD%GF{Of|~SG zx(=_gECSE-4F$m&^zOkI{0JtvX-f^>^d~FS3%fE9HMebP`tL29CW$aG;2>_E#rjfI9%1oJXL*S^z|l9yWh&&m?%haDNjz^qg~=eGTRI7_QNO+#e(3nt#}M*v55~_L)`F z)jKgVbtXne#!^#TQe{NlGrkh{b>+Rxf}0tpDdpXY-SL>@yQ@Cp(!S!!0@(bo#sj>X zT`AKm&5d002`RY$gKc9;2CPN^i^xM7*P}0ZlSKrCoKa=~Ghj%J)-x#Mw?Pdgl8u5$ zntr!8`9v782Y6DYAuNa@VgV1?*)8F(T^}Dw$Py#{yNw6pmE>Sp0D`KOP-x}z_&VH? zSfkTHJQ4}J{}WFKgM|aqvw5z5+e^AnO=(fE z^Y;nI#vXjz_b*Nd8|yke3;ldslaB}-|8xH$36-rlk$DsJtU|(u_meS94((1iIePmM zI-|b%;p30q4c4}g`_=6n&Tu!Z``=3@P2dJ$ZgQs9VQI=yThnqdwN7X{)F6P z`zx9`0G?kJ@TIumx>9^H=n~7dmY>7N@d?k6x<4j$d|uW4JRfj}b6zyzH_;(aJZi0q z)2jW3J=AhNQc(FUYLK_hI&oxId!$#ptk=?q%f~FqHI*lcPd3`rr7p2bnlu2EUim}4 z&4%0Al^AX8v>yhP*Q=H9kC9_vACx?t?Ny+XOvl2@(8uDgE9m9am+(hBB=K-7ZvUG@Uy9-q8g-ar2yOOa*i6{d&9(VwZ zpSVc+nk59V3M@W;+0-2%q8v!3peuVMwzO&SZvvroog$h&E^mJedx&mrV`n>fZCV>Y~*T*NP$1NKRi_RGG&bhDo~x|{$%_HB+6L9@Eb&NS}kx3b_a zw+c*+vhHM;wX6+Nvf>0y%KW!sW&Xlt{?NlL1$d^K3?lb_&P51k6`D)q_7di$7XH0~ z(eB98L~=n6!wx~!`W$jY+SMR!r`TVBFU`#B;gI6*DO4!BU zN&!k?S%^EOa>o6J_n;@06i>w z0`Dw#5YwEgnghZT+b@ zIgEEJ%XadT)SxT00`l)8+sW8|;&7OC1jMPhUNe&LQmR&i3zf6U4-r(WWVl~yYEiVx zWW2#wIF0eIPaauFmChG<=}b2IMt>dw}VzFm}+S z9oPYm@#EfbV>rm70np$v12E6uG!!*>wh)q zq#=M8a0Wp4dnh_oKs8Y*;k`G3D1bTne`9s`eJ^cC( z8~uX@d!q@Ua|hD?H@JW!9Y}ew9Rb85%$xUG@OQR}Y~M%#N%5PvLp6bx1AvAF6j4?q zSt9YYAt6yDA+z76S@L-`vD*<)tg-Q*7}3nGNd)??fnW}DDTPn{#!A8^xA*hOAmpeDRxh7Mt1#% zd)uRL!+cH4i!>vlYBB^XTzzZ)qQ$tifI{TCdS<6x3afQ{Y8jbQQGAJClGZltO}+g< z|9FZQ+k)olA4ZCac3zif-^Us6rs2~%CMDGR8{gEo4N2<_E69{uWAypLxfEO%EIKAJ z4k@?W^!~kpSa%rjpL*q$1FmhsAI7EkngOZ!90YLhw}OR46&(@Zf#>c;hIS6p9AXw?nfS{fW{G3NZN!&}>jVkCQp`_M+ zf)szhe;7fxQ8aJX&LDGP;e||s<%qE8j>E5i3Jmzn9eMtDbpejS)h)O_6i;rXYlPJC z-xUVp0MulwyLYu|kp91k)hmEW;eS_BsD}Xdcb5LgodKBs=?E%1d~3qLIw3UlBC#8s zAR!Ay4a`|Vu;FzgVURoa84BWJ48(jx09}{kH_>%7CYD=w-az!591%^_805S{|3maq zMGHd@`MVQI{=8Ekfd4>B;lLx}8w9>U_dH=GTjN4OOts0c=&j_d{T3%QqjT?mynpfK zO-9}FWe~#eZENEhpP!ju!x=OEj#3oT7KB>mf10C9dJP63e+#`K+GMB*tvQ-WyBBAl z*nilZSmxi^uaqK{6g}(K>H2U0@@Ujk<`-Y%=)7C#WJCv(N6~S%QGE&h@9pL7TwnE% zB$Uj|*a|HP?C^tmS_l!aN((^_pZ$;=_qtXBv25Auh!>uPYr*LuFR_Y;fmFkfp`G1n4IDYD&9vjQiS~-Osi|eq=g(AgWpA&1z7wu(7{zb6c6A@)Deu3 zibmkSwxEcQk^yNQVeELVN2oxeTp?w$B}P-}1PKW(>{9X3YZ}D8;!)`ce1I#;0|47g zVdpMyCa3v&*DJAv29W%kKJt`!a6Tr6>{){q;kKw-zwwsXe-YVB;<8ayIIY^V0A}x` zs}bR*T4<8rLFIh*>F-PZF~V7_O=X)+7d;ZDZS35{BlhaES!v{UdPOxvcQ9?OD|*Yo ztBtOr<=)R55-X3B>=W1pyI#@69l%0-^lF80i~Z%^+M*h+wSIan#RVmq2{J0n2}EDv z6622CET4=g4`fJHDK?BgM$zwH`Pu}=Iw7P$9w&etE{d1HJI}&R0KgBw_7eF8zz@&C zGXPLX6`(-%ab#z64g8a>?98(-iD{S)JsTOoVsP9}8hByIk@Fg!-3k5#03$k43@Btd z`Q8LCUZD>W`&;^gF)VQ8KL#=B9}(qB%yLfvCX@>LG{V?mkAM4>VSvPJIq?NpNX=+N z-tc5^AL(dZ{LHKP1>J-GgR&co=_ zlcIPBbPwMYX>n4Er|1-EL_`~<6h>cCbU~D+Y~xMFTD~Lc1==7*+N)bfU@CpH@?Gew zFr2uhJ9D_OM~?ABdT#m8ai8nfY*ZDBq?ZMx6I}OnBb&1F)IDSq@bmUZUP-Pi0@D3M z=4}-P7_zf*pQA=2G~R=2SOhaTHVE**Hzr$gBDIHK>NdpCO z;rGXe)KUv*$Of?BGpG=ue}ZOm1x^dLXP{7EwmOUkADabp1Ylk(;BYRS8TC7c_wiq1 z;h_M-zx?n>jjG>}WKZOjyGN$V}Ii|uP>pl=tMDM(B;XY+j?QZQ+-C|O9Qc$9*#uZMF1 zu)`L7o*fEGF!NuCJj@AuRq&a^p?bpmHkE`x}P`6)E9B4Eg%8u;|OLVkkRT`&Pr6o9X92 zvSlm3zH^@8S=)I(hiXVhnqnO<&yMONu(M2UyZcPe;erYM&s*aU34!93<+vf{J2KK6 z?N7PC!dc`=MA=jO`}5Ry>~>S9jRwx96ehH^E`ImW&Ku0`OGx2NdD+UfoNdnBM3CMV z<1fOU6AJl;3iWAOW0gm|7#Qe@4NpG_w=NQPDC?ea^|r9f1!fB zy~w9TZ=96b=pWyK*8l8=@MGpz>Be#|J`q{lOQPG3r1Dx#{)c(T|D&x?ps*akh@hkE zc#9W#fO-yqQjw5;-Q1(E&bQP=QLBJSMVI>z>=%tfg_;NN*Z{XW#>RjS5+OfN{NRm>N{A>sKP zTLWFnU*$7rom_cMF`q?SJRoaDqNAhDTIuC(`7$p*2A?V1E+umXV^2~KcY?P%Dju{< zjwY94Qa3V1sXtrGTPN!1Fs%>ZHsrGMBzdNi-Rs0uwzDs9+eH#|G1-g1>MxqNT{O3x zwmRIg%I5ajn3pv9w-^Q^+>z)0DBG&29t-g>DcXb|V-PmL5(F<};{l z%$fL~9H*k%_WJSW2GDE}S^DbM3U*rkY69%Z z_tV?`E%(X1^OF9defGQhMA}z_-Mj00WNg|^&X-f7JY=TE?fQLraZbk8MQ0xckG@tb zB=LArV8?2T+GLwWu~ukipz`8&awM0G?PdRSJDU`bx0$Efr3)OX?U&Pfm{(Vs$5blk zRU}&o*4m3^CDBr5o;_13(<2)cwj+L4uAb<`gRW*@jQacjDUq#Y;s!pA0>lto$qLI* z9IqocME>I_5c%GTF-id0cS46r!GD^v$Yqnue# zrsw?=p?NvCAHXT4z1nDj)R;(|obSt@?_C ze2;H^SmQwB_pTI`!fl9f~)$?Pn?ykh)dEOfjV`bc1@eQF?MC*^lj9e@Hd`YXgmD z;6mi1Nv`PD<^-u@5MO;AnFrw0F2W)x`0KQILV)wnN{&<18OhH)BYUH}?V4Cg_2c%r zL0R75-@XI!$NPF$B+;3MCLi`bNvT!X)+(G+I6AU6yIPX+)6jWLvgLCl>u7&Wy&HVU zUzljTeUC_?l2Xs=`s6LSAU{(hGw6rW^T5okTWnE16x1F*#%SQWtf}`}C#oDhu$ZI` zv)L$n5)`D=M~-gsA?e%G;gwOH9xr~~!0wvMJ;r8^G~O*mLk>C>dNhLgtBs>ab#FJ= zAqaN@)0F^HK)z5BMGqCJv>VG9uFLlLq=$sj&f8Gyhqy_Xcl<}PnHKR}`P`@ef2V!Pm0cNko%x6mA!DM|cLMl-zlzphZgJorw;04u14wL?J3Auq z{Igcoy<_9LpGEPpOdHL~&|-y#|BJ3G0f;ew|MSjObR)VC)>%4Chjd!ItSc-!RyuTy zRH7*9m{{Zp+34-gStydBG16h9qM1h0F*QoM(1kAPnE&&>)5ZS&Q)`B&sC@4I$TY2A^Y#(h~$dXNpi` zq$%XFHG_b+KS2m~n5NC59<^I0yc*$HcmY^3>`vcuR~cgx&LBu5s=gMH#|o?znehEl z0jxm?RM2kpv?`)PI(hRIw$dEMDa<)6WCt-6E1oK-vMN!N^-BsV7(uf)QUH^zBT}fq zR1pf4Smmpr31MJeLB=(#D|pi=6q;wSN`aZ;-Cz6vP?KjTpD`%IH&!qrZigjkeC_~+ys z4a~~^Xg*rLjBG-#Ga0Cb$|)cY?q%)lAUl$%q8XL-ghUjvV5nXjLYcDxe%nHVB#d!) z*DdNTnIoeKmzGjBh8CPhkaYB<9(gV+DjleCVp}UtR**p7G102dP?7-xhb}fB6P7$H z7`;MyI*Zk?Lh}7`4o)qh$XtPWo4bg~5OowXH?fXld@?+_;NWqL%LqZVf&GNSs6suW z7y0iVSfbYcj?P{5$M6@k*Bj(r{!UNh0i7mEE%cRQcwr301%`fW*^%z^HVT@7)4*9}9FI;Vp2Bty2+8lm@cZcdtgKz1%uE{C}wEp8}wUcbJ7b>s;1 z)0eX0eg^0j`fB(mLpcHvD;$VdPBVGS>BrUo%xT zBefBu*|uR5SOPK^Cno=%0b?#) z1rk$Fcr|eQ%FJK$4v9kt_CVBuA^zx7C*o{S=uAGcv2g<0=(aBGhEYavoC&D?;~~V^ zh%)wdpsCo$p%^_0DdUx?HZ1~7c-BL?p@#dn9Jc&^wE0E%uxFUz>A$a-yne{{HcH@n zFvp+rva1~dfh+WsF>D)f{L7=WWe#m%hB2)_>Fl|{*7gG`58pM$jDLEB&MxL831l<^1}5)QFn9o-8(ShkG&kuF-iB?nZgE zz$^flh4eCdB1|j;W0w_64lHTgTy@4V-Cnj6oiL%%fn z;edBZ9VgUdRq8Nrn3pHy_2P|}sQrRJQDG9I1s#|W>%bJqzCSf!uYLhEVmiSTKU6Wu z+%}7!Ah$yyi_;@!Ow_^hd)O&BjHulG=?)O-#<0^A{yR&Pi9{jjl@Q7-nIBfVc)Wl^ ze}9MtC?Gb~!R$8)T^Ggybd6liU}?C3BmgdDaYg^(#O_4&hh_N6S`1NT z&56Q^A&!(5_J2R#mDO(VX1K4&I&fy&sZAsATQ+S`A(hS)%^P#BSHqR$NU}v3*II|` zHNV-LJ~PiKFf1W2BYMecj48 zits+LzG?9FJyJ(_dw^A!rSh_Hzdgg{x5{aG-hZ@MZ%yFAgf8qz)7=`O6_~_s>quq> zm!WTgIaXoXq_Uu4G#?==5uIfw=4v^#EQKo56f$L4Fxm-x*a50u`ClfmM|gWwFBM!m`K*dFy{aMeC$TV zA5X_LQyBm6i!C3;%ccL`JnMJOm!qr=Oa8nb{Leh|1plfYXz)8^b&IzAIUfiMTgb&MbgonC8V=?{6Culyl#^(a96zo2GpuzuI>u(8U+O4|tZz*);3FpJ zz84@23tu{hh5an9S%It{E1II?Qp74BMGk}D)Er$oL{h{kUciLTBF1}R67%g|E_qB( z)=CrDi;iu*Sr1Y!499rf7MHvQn{iAzbz`ru$M)h(#x92XG7vshhaLP^zQN*Y*=W6e zS8Y8%r`!9v8f~C1pbGd|1~B(aioMnS6YPUMyoxBX_6(0zd7Vi?beSj2bq$v#b~_ZD z8_5#H-KmLdQS)bq_fsVK{P--UX8PW5+=8?V!JHOi?VQaXRmt{U`Vk!&Q)?GpMLKQ#cn|EtoxaN*R zpDN#q+nGsWN8U2%MOFJ=sat#~MYGG%D%)$Ll?q>pHXStPC#?Z;bA4-6(*X|${sY#n z=qoLUkakRtYeGKz1EDF2Dppe@SPQBtKo$TbqTu-RQnYV6NJei=0kKe3Bl!a@VBFYsyW*HUFrb8|$FmGhPYhaM!6M1cu<y()W6C#L%ohMgxc*0nM@wsg@oX{k2Ftjc>ud#`Eloy_7}w2UKgo+db0WbwJyVv-BSjX2)FfEGzmd)&E7;Jj=BYO6NrLj$V9Thm<;u4N5Mf%-m0E zsp@>(h{?d7W8O43cYnJ1=Z#{omWM~BH=3x1S+_Q_)!1~@g^VaEG@7^h@&*gbR4>92 z(UbkuaCm8vIY;vYifklVqL*ipXA}DeAFia%z%U6*qJIS@jr@~@`d$DzVMXLx%XTWp+{YlA z6<8alkIDCm_uK%}ntKw)vI&xzAnF5xk$G+S0&PTqic4Bp)~OYgt;VRI zJ)1+Pu`b9X5eUQVbz=I~^|sSYnR)&3!D?MCBOP@s&pp$S{C%ara8(6;-Xis-Z$gi#DMByvNzznmDu(^DqHX{j0Mw!ax$Tbs0@gHfDiFh<4MozhJ71C5 zfv-3hK<@8Pn#Zz{pzg)yH!6`GhLM%Z#NF>$Pb-KK2&od7VGIr;{#l7Zk+Fy(z0EA_ zC#`CM0oE+D*4`o?Lr`uOS&Y$kZomAABa2QKbuf6VS}2jn3QM}5G(7rs@aeWSkFD`X zb)v8}wTtMS0992Cdom>7p4Oh} zP%Ct-UGX`NWDJ+%6K1h)f$qEGPT}k8@*im0E^K=72%ZX~`%=8Ss*doUgx)RMXnSp0 zeH{MrZVrntG~$^}(UTDS>oBp}UFb74h=UnpFkp8c0?p7qWugRn`5}?Yx-paV?=3>iQczPA5JqK=Ycyt;BzlbKWB(DTlS zCMNopMDIBxi=(ZcUn2H6W4H;7^Uxv9V(A0|dyOqF$lfVZN`o{E)Qv>IhM}cIQj!=i zZ&v4FlrAOuAPOSY@)TLy^uzLB0Xk-RJq8J;A}qM(ra)YUuO!5P<3^P%-Xhq#&m;BIm)@may&xNrx}I(rwufNt_bu51QvlW;MMpT|`VM$V7MO6)^?9jv-u zEa`Vk9^HDazQ13{)l6B9^-|soy;3+83_nY$%%B#pJzhUPP(23{9T$wjHMop8j5`>% zl2kWQ^(6mxc>_`f>8;dX6ts~+t^9k3e%)9R5cHak0bPGL z))%_UMDKsz=M$#i=GFP)Q>K?pgI%c+Z*K*!yO4J#?Az~w?ju^IJG<*hz1KJV>s;K~QPgHhsiE}dPcE%wSHT=RTU6zOISfU|4n z4G{cT_Ro@9b z;tw4baI$i;qB(o~wh&2|LSepN1E->}g9x)IIHl0vYJn*XeNUdjQs^NEBB+BBqR5&R zjB!_&-zuYrwvy%$v+<=r9x+Vnd5vSTN-Hr;b~<3)HcP5aj+jt;A8@yw>Fn|8QJAU> zTl?L3L?DuSFa}SV2e^2fKJA?*wGq?nVu&*K7c-iaPJ6KaZV#Mx)N#QmzL=H61MdFz_s}dw}gSdPp6#%ydh@gNy?bjFG!Y9R?LDAq%jXED|wbAHWv3CM)s6&9ej< zpi$n~LelvC^d-yGpc^wUD@~z&L9E>I<>jUDohIJdYDLDpkcMSeP*O#Jb99F)SST{&F6KNa(4h5Li+53cFCbCYq! zmHxp!UtT|5(sC@^RAz)z7{EwN%b(k#5O7GkihN!e6)}C$^PW;b3iJ!M~w? zCR?cOzzpH$rR%#9QiBe~n>59{7`{xGqxEZd@cHKJc^^Ccm6maL2Xpg+XVdQT1LHjj zEyziMj$Zl@qHNLoK*^?QXpf``tOPupy7TUJ=XW0FeqeB`b;bwGvFGRGF2g%S5*Nr# zavmb?>JO^VMOHYA8wc(Yf2z7j)CEV0s?gK?(~_q2!4@bAgq2)OhT4Hq;wb^td8}sv zSbK*3b#pI?j6S5@SJvhdkN$&=j6*!$6m5%}pzi0CYxL17=)}-Cy9!}u*a}&Soho2GC zYmQK>eX=E?v^Z;czd`tS!fS)l3Kc)*tJbr%W`~)(>pUKWGQEd*RgnqLBNO_3dOqyg z&8$yNWKMZQrMDo9P}waAmDE#>i#@oMLE|yw8rV(%uaXes7QBOB+Gj#iq)cqPg!AU( z7q;9M*3%m#&{<=)%2#g?iu@Fed`!?Z)=gYQqK~)BqHk}Lr=#i*$>PYEiY$6wrxM%` zB3u}l1Wk!jA4x#M3Fn7}yz5ujuR7Mk4E%$+oow+N?XRg8 zhsKo8_P7YuyREg=taaU*YP-f~@jijG@3&rJ?2X@)+^QDfZ|1F^A2}wtpuz)A+sJ@s8D4PWDAmeF>@>0-X4C@=-)72kX#W(pM ztTW%&d?pYc?Ef2M#!g{1Tw?CspD{B%DSS*GUj@ozMff^6Sb57p#HWSVqO*vJGW3si zS<^|HvgFOi(DU)P1!!vMyX~*vNxSsnu&w$3#LTiq#>;;hJvUm19WWV4GW*}Rn@aRo z>0DkG5O6@hdvwR>Mq%p^!{4n#yP5cFeN?x$n@6bbXBo+~^07{O!s_z2Qmk*lv~CsW$$9L z?5r7wXF=CJQC_hZIJ4}B5ZU`txn!a|de49&hJ3k5Zg_uKkJrklhgi zdnYiKm@4~m{+70OMxVOo& zXudU>$~w{uvpxW7mFV5#{2_QH6|Eow4p*T2lJ<* z<8t8HrnD9!f!@j8n?(m*#8OTlpvX&MI)<@_Hm<$HjDXQeLM5WXow2#K1(RILqq;Rv zi(aabgAfL=_3-WYD~P*5Py`@p?tgAcwR(TOGAPC)UA)-AFh13D;vKCGL_h6(e?NeI zL7=Y{z)6=_B(dDlid*ARJX#aKpDCcZal+miH(0brrMVz&5_VZ|Ow%spa0Ll{kqIry z0?M`yZmrRI(4QjbdfL7b%kpXA=Rm(6yK1jZ)~0K80Vk;9OIcZieX)*4Am{W5FIlmN zdFDqBrNjjwJavT9v(tYRcLaz$mJ(>*JPH*MFbZoM4-6+5wllvD$GiZAlqBiJGRkw7 zTzNIm$?Vt<-!K(xb8!d_%BTwK&#MR!T{>^5bC4|)s)t{s(xzICMTM8>Xo0p5kQI?a ztcZYg#6J}Gyf2X~+)Q{VClr>tyex5EdFyYUJG&zKb*it)<0<6OI7{UBXHds@6&ZW} zljD!t<%G;*pAkeKeA?h0+e>_@t5K)M?50T+YpXN6Z>ahi`W5LHR_-$l+h_PaFFene z>3iS2vr^p2YEa@sFlV3POWVTy%ir@aYue7EKjCWfw9S}bX*=c&Z!FeU@h@p>ZX0N2 zd4yPh+#?7!4EZ4Jy@I}4MqU9b62=pNqU*^PuM(YD8m~e5h2~`U*V8eWWXhS@ZO2^s+8;s1 z=YmeB{wpHM+CPm1{lx(TqO2G>QU^f2+Y@>`akQ)x1X(fNU?tmm7nE39LtqautvV=s z;;G)J-jN2Ar27y5{#`4qu_@=!|fAxTyXb)WRe-0ol>^qjDG8< z4#sFt;+#<4qx+|GH@ZfCa=BihOXSHf$`eNs|cK=B=}f*4Gb&!{HT0^vBtoa$|?0?&~MxjBHu{p1dcI?`of?aHgmeT!AFKn?;?-O#g~hM}4|nv5b~WbJc3{oMVlObsBL$fZ zz7UJ%bKW@KassDq*lzplR$8Nhp5ciJ;hXBhY;1h|Nniy+i_xXl0?p6 z@}^%{%f5hnn#c~s!foWIjbC%8vD+BBvmOCHgiL@;5@I5dNqiEdQ<|5K{lx$HQ^vp5 z$&;%^DyKt0X_jG1X+_pbS4@fu;Qa~=bHdIAX{D^yz%!w+h57i`r@QpuMTM@VT@uu< zi!YucnwwyXW~Hbt93QAIG6uPcDGT3#LCb!jU`TP9M^}yyGnXp>BfMowhDRh6Si`0= z9dk_NN$cVezf06)EmWTPv}nN3S6R0*s)Q+(k142npUE)%-kM}XE`REo?<$F zVEY+sxa>?*^T*$%+pGFoiw6Yuf5ctdPrp>o)oOCP!Qn3(*y|r)LDyU;!B^4~gy+81 zzP8^?DVUKK72WxEN>@GC#D@hqy zjg`z(2=Oj%tC&TMnmutKRW$#@ql)rK#wU&~co)F{TgPECg`qDE9<~!(#P$odA{Nj4 z`-aW%o9_1a(;n_G{R&v-Q$5c^DOai#-`CO~U4@oaekj(kiSyE^u1>p~|93r8Q@1nu zODvn78aCS*ahk2ytXpC<1VR{kYgt$beU*;H2VLie&k0AC(yJ_(0?I|-o|O%)Q3Kw^ z79L$mJHNZKHEg?#lI(>XZ)QGM&>yM$F1h_6bqWxOhi2&^L}3Xl%bWTP=F%5HSG*4b zL<_C215HmsX`O9!=lEYtl2w#;& zEIy~Msxf!E*O*8T#x^B%&0;X5yDtXs@;H?*G7QaRAxtV@OH1S^s_4!kk{B!ZEyW*U zfHxBY8BQZN!3zl2=ZdST&yTi!+_dE#)0_`sO=Fo&@bt0q#jlOL`Upi-_e#oqUs7=d6rFOVaE=qZ9JlUdy9UDU;i?bBa# zUOzzv^ivuG1__ZLU)LY-M3XKBdT_qSZj^Se;s0)0Y94;gsr62NMeLlj>_m@21KSQ% z3e67j^v^sok@6!=>IuY0{5wRUGizxZ3E);hxn#DXHAid}S}pwZ~T8kwT~8q_O<>A^x%X65xi=+7^l3fizL zzNF;Q;qNPwtkWuXHjJ1{LF0zc?}>e%l0DW`*7@GpcK&7B7W(as6P4c{R-RN`zoW>^ zG_^ZbH~({rl#^A1zH1Q(BHDE?cl#W+Zs)z&laX0e6)iRBSCo9ba(RxDJBR676e)2s zn-xd1o=qzf9KN6D6kz$TbA8=_(fTs`|M9l?fBoZs|81}W^Ox>H@>rYyBx_48nsLlZ zlF&FRr0dMBkzG2Y>T&Ed7uo@v`&08s_RSmaM4cNb{XR1O$zEv!THvGoF)z+7R0fVv zRj56HcyxfSG`?&wOQ|hAYgeZIGW!>{UkU7L?V#|+l-v>ee3^X*@Bia#U)ywJX%JV@ z)c!^CrD0m;;5S46%%Fq!1->_AzO`q1daCPocEox=bF472WUo(08<$cIQD+W_LqFdk zYm=SE;>pIMc4kcPdj*8i#1c1_js;8Hn36|y`_n|XKe8N8%#xe@bnI2mxPBd->xQU+ zr)tYeQB_tR%ZNI+7SD)!I((*n`^|{fGZ6%W0d}cE5?u%#L=ng7P;ZbX9Gr&8Ds4>? z9$6*79CHw|Tve#QDu{qPv*#f)Q;ou^vA6&D&Mh zpxSk==E^{c>fuc7m)0@v3v(WG4PD(2=7%_2+cw<+_vD{Aq&YDCr_w=hvuq5@S`GG3Go0ScAz+$h9${6JlJK|GEqPJuk9fO?qfegAS; z4Pg0HRFL_ZJh6C!1@|2m39QJNzzRLm0`=nDYH|dki4}(6hX{cTyIqP8WlG*oCO_@I zot%lAWS%G*f__F49C(aOgSMD&?(C?YriSK|2z$H~h<&&*Y$^ zd(Bp+HyNzYHgOd){~?tmwHL%6$@ebO0op_^hx^Z#ubvm7mL`(i(=eS?ATcxtYcFIG zN?SE&5H}1$){d1P3AlcJvm0m-E67c56^EJkB2i4YIc@I`dl!IMI#V;Fk=9x0(_p3~&olqY4Sm#>?m zfAm?GuZW2&_6$au4Cq(PPvd3D^!FD>xC$3`zT zJ7$naGXDs$X|40q(qul=X@BuK%(DpN=>!=%CS}<7)EW9S=7kn~$`|lnxV1;OBIRm6cP0aT*b)KFi1l|1jZmpK04@c@BhR)uy2L0A# z1=pgW;zvV=INbA!5~Ho13!gmrh#C#w@6}BY-u1LW`w((ao!KSiyhz#I_rS6C*?MIi zjZnlQZMbdQ0I^=p$*T7ex7f8Sbc2)CsKh>_l+Tpw`Qf+nGhU=O8W}gF4rmLL&CSE? zwZA2>guHl%0)%zz4)%ynZSe=o5=b1^QQE3nhsP_~)Wp%TmISr%q>8EhhrOK$To@mD z#4B)pZVnD1L?K8Q7KNutysC*cG6xV;Z7m`zU2*RSkZ__k2#`Wt*MwBz0~ztk4-DBi zoLingK@tN1ln&X1sFf#`{0q+N=*_a~#9fWAS=5U$+KepGTuc1=HQ*>na{74FQE2Z_|`oX-BK&usHoHf7MeY;VbvgBye z$Bz}j^W_Ja1(+CL_gyJ#rB zys7MJvB6TGFwer*f7J@tx0ihlGy*YfU5X2VE+*?Pws~NcariJHJ6Zd1Vn&y5uU+i| z((bQ4SJX#eB|K?8K&L|r-B(DPSr|+w94?#shWe6`U&u0t%Pd(BIb=;KoeLUd7sBa( z;n;i2OK2&U{}#$`^=(p6yq)%QNW)==k-31Gf`{Q&tDx9MPRpZXG$mebOBeUk=ywWF zd%1Pb#x&1=iVv>Kvu;vu;KcWM>4Y*pxE~GM!-4L&eOwxc**io)qXPV|}xWU4vaE~D4#0@SQV3zjHBFnyx?OyA{=xq57lF$z(Dzgzl3e@v!8g?W7|nQ&C4*BQc=7Cgv~#$Zyh# z5FDU|UDS$*5=*n0d;*h{Ob6o{7L`FH)isO<5z{9ul%s{tZBdDdSQ)WlUsjA z5N}=Pt%*#IUx;RzFsJZ{Ju+!vuaMHY_J=IdMWNCiEI137C0w^ER{zwuKz^yujtyVm zjV1YwO~H@NMmi@GiWk2oVi|5kLfg4HZ2K!^fRN5`iZM1PM>cZ$UEX>$9X2`h0>6Nio z2y?-DFZgEVZajyACXl*w7pxC%OYp=LYUq3iNIS}8AWp=PQVd=AA@4#`Gz4PR^&alf zKMPQ!IWE^nH%d^&hz7SXSPMk_I!RdkiVAV6ibReYatO0gu`ZmXfB+G!{OEHvNDROP z?UTr7_z7%{1h4xX^qw_Yo`T7*{}!ejiibY!8T3M*Y+wKO^EvAdL<*{X47!7xZ!jPy80>#v(J$9Xvq7IA z^5cV&Cd>g+d<$m~XP{Q96mjyn#zwR@&c+m& zr#u!LFkKWI5Q=E`;2IK4=ttW8W~D&*(&O~Af?bQZYY*2xpZTwWd(d}0f%|NNW3aP` z{bhtaOKb=}`7mOpZP%5z57oYLPS^$rk5*}Cm^8mSv8w&msKo=5rUWT=MSP3ld9}X+ zNBRjmmf?AuDujH?k(3+8mxrm6_Ov_pj{Xlv?rGXKqr?^ zX~^hSmi4KYjOg#WQi&N^Cw;AGzL59}Mqo~p8vP_9g~9Z1>5d^IjwEprjjlAwN4&%x z!Bh+|gUokm9KsLys_iVvdGhvyPu$)%SUL9Bd-wd95S%V!W9 z+jJPWXY5K{I2k=)^URkz7CjJ@ZnCCqS>GweBD00T9ej2sznLVNzQs|B9#9cyI2hkH z`tKgQvjde1d#whk*B5G8#<4x)JL1|O46bN7Dl|AgZOuU62ZvrQox_K?xtZ**FGfLE zF^!-n{#*G7E8s+7>qYt{BkF6j(dy`=7Sr}nLiDEYId6hDj(LXBlaEOH#OfsG{%Ti* zRLu=yS>D%Ag(Fp90;|dOVUmWUh&VFgNrXbhb^lYMh7eGKso#&Q zoHYc=6LZu=%PXKWp3fcKdm@p^-o#GmO3ewXdYc%$dzA&PnR^amp@NuEXh&^*a4kt8o~qQ;3wAL zqC;pou$+*#`u)l$j%b8;wT=dQEMf0kW0!KI|7^nAnNjy0%$@(6Jn#U`&cF84%m|s3Bf~wdnrXjVVRSLj%C#&M*41m{YV0oMK z&U}3k&l@eTBKbr|Rgqy61u4{`nskp8*TZL>*CByrXdgIOMA1l1w;`K`-6I_<3Zt%nlU z&yG^24RD4Z^rRRCCM<1T-dd@fuBx9IX5ZBg+Tm=s1owjsP;4!+A&_h277l7uV;KQ`mh1XE0W@{+aXPt2qs6hjn=qO5dq zxp(0i^olGCSxERqlU*pYQFRv*1#cK|#r6?I@qY&q{Pr6jMQ{1+|=};Y;|4IaRI;N5pz#4Cu+OQ za4I5DDmcK&DOT}0A9R3_H^MU*NV8Y0=r!n1Ibm9t&&*4&wU9EWPkBStT*wP>4Io;2 zpW;MJ!v(9**iC?7lIVzlG>x^DM}>v#MJZH8xQ=1Egw@^P=*tmFw4_oDk?VWN|%-P`nld(w7ZVs&QD z2`www)^i*drtw4KFJ*DrLe8r&%Lo1}dqpP*sXiWAB+yNd^eGE{nb=omUt%d?!tIL) zly(4ja$v&wNS_lb;a7arYA=0p*G&898P=NIDmZg@5-BH|!93PSQlzx)7-NV4EkCmh zk&an_h!MxTHY^PtaK$1cCEeCE)Eedk{0h^nLzS98x!*+d4>bEK% zB4weIJBi)-5eTvayXt1Mp4NbA5IZBpVmvEAZ7eGQvNqc~u{&O2%`Syw#6?)1Vc9mF zw9h45Hjn!ME+4wj!Tbsqwz=KAk2N7J1Dk*T^tK59JMW);-2NnIV}4O#{^}B+{@!qs zFLQpdk-htaAOrieKD6dz9PMV4;|~_|!|uQQqslm>r?V|yZJ%?3+V{~_zAv()x39kM zmr%#z8;AJ6*bF5QLI{0(?lPgC!`}s&nmB!>9`x;+!^$~KSPni?ekUNlM zq`&{5wPcwmL*NKVPvp?M(PSy&&70WiI*QEX{TD*doxzzm#1M`iGEtWhEzVYbSLr(m=W>!{v^n4$` z_;hW%?RkC7Z-bS4>}j9xw~m!#H}Tlh_1JE;vIPU515SANeDLkO^0xTj8%v#Pf%R}n zXz?kEB<+jut8k#*UEOd=$|U@ndQYNR8pAB@0I#c_mNxj>bDf@f`VjFgbH{*oT|G@J zJyW}OFU@0^zAB6#dL+}AW}f!d|I<(kXy^NKl|orT2i!52s6n(|pEyxw00c>&$@9j5 z_$LS}>>*{J1g&eoiX;?(+VouErM1ry?F-J0YvOOsWejiIG;i_@jrT|9$)f>yZaeb7E_@&=cy@os75J!8 zr+p|d#AAf!T9o`evH~{vsApbd%%;`1?lHCJ#Cn(TZrpLI?K>_E3B8{;z{FCZT)bEOxDHdlpwiOcWT%iO_-|pWgt`~7s zteP?h@tm-4X(6Rp@lYe)#M=mwrh&YmPXF$|da}Qlzo>2y#%y%ovgY)=#=u``^6SjH z&fUc?m+nSi%%WB33(6>=+R+p*8M-C>mtz0ID9sf~Z{n(rFi)8?1;$!@j~9@tmCV#W#sq)@p{DF4;7+~CmhNS`V>7Y$1w@JHjXPLRBZ%pL(xq3A zd4>F2(5wWqD)`v8B*1<>Nyz%FMRm~m83^0#R_ClS&B|b_yD&Hox4%jwTVP@u4INi%I_7A(Od8ksU%+X(Je{f7Nz0h^9rAM@( z?<0?QOMH9seVMy-J(3>WE^b&nQ0AvzVOwb1RA^gx<*ns|N>`po$Mg6ng!~bwE{RxU zhn`+julpY78CI|bM0D|!-m=vlu12sMj;XSF8GoNa_W7a*^!|?0WE|)b*%8t848)z{ zR9Pk3;s7>ZQ)`F49JKMneHOtCqHD=>iNDRn7W93HBGv$iW{e{mn91`>^}g%4e~y*V zOoSLnha;dq0S$oIB*sHbUXD()hT8z$3T6ycW(Adk>YpIbBA%pTki&Tdz5IbG@IAGqt-cy7B^ zq$yvpGc_n6zOR6GXKQ+z`o4FY>Ri=rsQ1jnwVD!kDw1|r2w+8zw)g$Zu>Wdck=Kb1 zc7>#U9)HxB7CwR;C?c!?WUo>6tJfP64UboEX4ZAg%K`$&rz{sQD z)&wC;*%tmK2DWvc{kisbXTR==^$3kG1>etsPYXQ+ocyAVLM4FC6YZpU8J4uVFl|9b z2=k75`_P#=c|k)j6e}b-*~UzIpSc9j`|AdD%XcIIwoSwL6TvLnZj?3S2O@ zqVgnc^9kE0Lyb5N*(mjt{B+-sSJ6p>tEP-^(p1MG^uuFh_%u-Qm%o9$5t*Sdxn>VjwafF*0${%^nT8dI&nfPu22IeA-~%}1?Kp*0P#NJ!Q-jV_J5W9^lo zT-WROWY~|B%Un>`%O3txRm1R7(H>b=Cum5G2oPT3!lpDM?v+ikYZ&&=Ay6~kOes4k zC_(hM!z#1^lb^+?VFIShb0R`ciSIds$(VBOJlQ z5!j`^F{Nd1cwgxDj=hhq&u4D!D!0o@`Iu-98;GTtxLs2IJV=$~bIqH$Rgt_WfYkGR zN2hp>$pL{l#(NgIGv-EtTmf0)Wn9{O7!d`*Pf=)y-0+j}I9Oy5Rywg+7Y-Ff!0rc( zw+e3eY0YE_wEG5`iUrMMIIjt|s9`wHd+h3;Vw@kN^*@ZE$;6&|oC`(G?hvOVORx$I zML9W?Or7BgZK%lMDYlX_f^C<@N?u5cMwYi>{bunaX>hq&1?G>6wpn;zGOz!*#}WxU zQ*Oooko2y4-5@;07`@sPbLheSMe~29 z${{#N0ZD{VtBFBh&|D+fSrY`mM-lCyci5F&wNm34qUU|KTln(eF1^RSet$%VJjAcbqWw$n65a(HyX5uEr zX4ZU8vFLe2Z;doPqey}Ty-+dPRQqI)1_U&2nwAwAn`lPEbV$nxRSLCTVL#}m-{fY} zZ6?0Z~#9Xr^j0T=HhmD?z%gaChAi1CQ79bz^9$jZSDFDjT$>AL zd4BqTO&KVzr}ieWAR>Ap;sD&@o&`*c21(P@ySdAl7Mh!w(!*`-bdShsu~EKOB_svK zloj-B*a#Q?5;tfle0gT{)tS7$mqia*o`&(Z^O`-S*XKNWP?&7~fUXJZhy>rBdK!(p zRWW@FJ^;zD2`&Sk`7$ii;YT(LtGx8PT%=c`u&JUYap)knZQy1kTJO0$Qh{xk0D1nH zI*F>J=7fdpHr#}(6e3>a(e6Un^x&K-GQP#n$+4Uq^_HL3y{SqFf;TRO0GSE4r`@do zW_SRrglA8qs&a5tpFg6=vKIUcTU?>ZnN(R4*zH-3w_%q%UF>Jvq-aPIH}}313TX@C zsb}imm3_TRk34XEA|hGDSbR{i9S=$lx@EG)#-vPr;gZ8C2k2cLgJot?o0?iYB^3+u zQV!m?uJSBcp;$10G)G#RddEY@ae$~VN!qfxno*7_k>`5XtW~+2r!Mf#m@&hB(oyAWmI^sQZIaju)*JwE0b{|8}%!vc#rK; zHWB<1fNjwTLA~Q*usQ!Ls&uC)`SmRF{{}B!WL1cPvjS^E7W!(M0pziS+J)go~s4e(EsDG5A&zudm1S-+FoD~yJ&a2n>!&vKF(TF z^}>wjFLO)%W=?lbO&fPyO$7A)vm-BOTld_rDGy6?gdB-O-zW!)b~`+_GhsH-atZ9gM zYbGvnHE11;yJD_ho9DtkLa$PsqZe4V#I>wz(1LZ=i#iv0$p_ee6#0nQ>==;Z?4CI> zsj8s)VDQ0H;>p;u&T6p09LKM`0T6#Smnw&0x*}KVKgc}H={q&j3BlYJQ<@36-|;P4 zU^{3$eqgGKlr%CCS1V#hVK9L$gelmj#u7N&Igw-{;*v!1>fV6Z*G@z)i?hP7K;*=d zPP|0pUaQlYT|^Ij^j(SVrd8g5Bj5KnP z2tjMha`*GmGi5E1&X@OXZCo=uRy4ho9`qilu}sfm7zOr`gdgK>B-@+&C5(s0`r@In zNyHwD$y~=f$m~6rov@uU$1XR~le0Ql&-Q{jb3)%eb&^}hIv)YE2aFH1kwKJU3ZhTg z6$HWzV7F(HXEr*aeHykY?#gnA8-+xxpNh`prq9lkHWn$Aae*o)^P}TJj`egdDFD$w zgTa_~wh-w}+#UH%=w!6jC}#R^x?jHR=-Sq3kXc$jW%|=x2!XO#T=H&+OHMH*Z|dCF z-z!}-T>8LJ<}d$}H{gWNlG%}`G!SO^GHxeCQR`|9_}FydcC8v(I`j_-X-~rccC^}2 z5#L?iQDayg>6D$wUkRW^zDaYklnGOlVczsQtk30cQD6ENTGbo$$_A=Y-?d;ax^_MWgSQ}JQ!|VU zR$ySDAA-8tk(5Ck&HaQC&ydOk8~$N?P!O%uCvG1_>A)#FI^DdCH5#y&Y)=Q?@%@LQ zChTs)WQlZs`zS`g(2fGQ4!)lZ3;-Ac3KE87Toqf}U z5vUhwTO?>al@)MusOG~L`o_CO*BBl)@ocn8;?Xd%gFl!orTeZ+qU0^)QL{(E%WYn| zGj)rnL6CJtvTC<|w0nG;|MO&zt`tKPu3Ru-qjiN@N_z1P?#|YGoL@^5vr4BPW*uzX z#SNtPSUl;>n*{El@vXxpl>)IjVMeV%tmnW+#e-QSk^^5?`an`b0HkQXD-)tLHPm>pSQk{&q3IbPsw#9nQCISoW1R zPrL9qDY;h>hgr>@?3s`~oHoh#+LtIa%{f6UOFQw1k-ZDNgq0;b!v`{i$x`-KU9?hj zi?q?U2d>~jBUVMyTPr{0E3tXn1M%#-2Ly@bcHuttn6Z^(m~sGiVT>O-+7R-cn9T_2 zhF!_3Ip*xl)m?@WDo$2HiANqt?T-)C`3_=2vGnv}@L8H?upD|T28kjrl0-rq0NJB} zqvc?sdb6>X73*?YdRM6+65)OYCkRXx;I^LJyiP_5-$rFB%OjHU$ca2tK(C3xh8$C; zH>IEUivY(56dl+EUBtKo>b&6|C>DzSs+Jp|U@6l+$xI(O-0aL8-+&g;b=a6?Vl3E3Fft++x ztw967Zf~W6FNAd#XaCv$RqUd`zKf9R8MZs#*2%-%ag^J`@PDr6AJz!%%z!{ zHt;Lavo%RORSQ1UK=`R`vHqHlq)Qu^t|PdGo*+v-%4h7M%O+^Bj>zUT&D=Ef!82HQ zJ+(8QS|f9L63`^}urcerJ3_XN@4{)SjIMvD?460R9DJ8!5}1QVo&q`m36J5Q5Ia1t5#u*O3L>JhqWEga2Q?al z@lmPRlr-rzRZK|ggV_J9m)vD`?lHr>{*T|VyEF6O`G;3(cuD8F{fB?O za%8;cmc6*;i=#~iuW~hxZW=k-XI-{;`q{4gAN{euw|n02kKi==@;BYb25y|(HhlU? z<=sE=%8O^8@LtjS`qbAAS=g={&u%(X@>T8Q;e&nK{%s$4d;MM6&-cW)bIit+1?-^^o1-=cNoiZMge<-Tl+dsKnnsb>EdOuXFeR)gd@>PxDe5Kr2Ra$)Q)%f!dPnDi% zYi{hk(d``Qm)dt_*L2^UEf+TL4OaJ=^#STLKaG9g3npdHW?gFTzI}XdI4>%F+3}6r zCX;a2+*A77u}b41?YiDE@xc6VX0T|;tchV3G!B_4MsV;`7|Y;pp z8Yqkrq-{t$@Wb#S1~&x66lw@a+eQk0)NtWH38k))30kveRW-1TITn=G#1micOxL-) zJ!?_ja)OABrpkhAS@ZB53{0qC?Xco1W}HYygYEyApZRop5kgpStmlCyBJ~)iJW`K1 z8Yv)VOBSgoIH00JP(5s7A0r`j0vMzKyi}Ov8zg2}M)D+%w8c{DLSTYqq(8zaFzin! zA_$E%7Sy(N!a|A&Gm=CFk(5RHlbq+Z;)kdpV4CYh2*F(Enh@gT)HkIWLKxGTAqr)U zX=sXdW{6KQiDXi0M+h?}bj%5Z;ieN|LPqLwEcLNLI0>0n`p-+k8IN$yqvL~eDRjcr zMmVq5_gbYkc68yW&1He6L;MjST!6`BV`=M>Pyx!;BxcePy0$o?RD%RC;<{!)+7B4g YI)qG{%Ao0mxi$_%FJ4`}rs4DW|7CeazW@LL delta 62540 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 Date: Tue, 1 Sep 2026 15:20:10 +0200 Subject: [PATCH 38/41] docs: regenerate examples Signed-off-by: Universal Studio <10200399+TMUniversal@users.noreply.github.com> --- examples/lowercase.pdf | Bin 461557 -> 461509 bytes examples/no_code.pdf | Bin 57069 -> 57089 bytes examples/output.pdf | Bin 461031 -> 460901 bytes examples/phrase.pdf | Bin 50644 -> 49760 bytes examples/raw.pdf | Bin 454898 -> 455116 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/lowercase.pdf b/examples/lowercase.pdf index c60b82ed0adb2d2715618de3ed7a51a8fd5c92f0..d011436ee1b3997e2125b0cfeb6595c1de0823b9 100644 GIT binary patch delta 72206 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 E0O8^D8UO$Q delta 28555 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 delta 69571 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 delta 16622 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 delta 61387 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