THIRD-PARTY COMPONENTS lamejs 1.2.1 — Alex Zhukov / LAME contributors MP3 encoder, distributed as an unmodified, separate vendor/lame.min.js. Project: https://github.com/zhuker/lamejs LAME: https://lame.sourceforge.net/ License: LGPL-3.0 (package metadata); see lame-LICENSE (upstream notice). Corresponding upstream source package: lamejs-1.2.1-source.tgz (included, unchanged npm tarball). Downloaded from https://registry.npmjs.org/lamejs/-/lamejs-1.2.1.tgz The application does not modify the encoder. Its separate worker integrates it through the public API. jsQR 1.4.0 — Cozmo / project contributors Project: https://github.com/cozmo/jsQR License: Apache-2.0; see jsQR-LICENSE. Distributed unmodified as vendor/jsQR.js. Tesseract.js 5.1.1 and Tesseract.js-core 5.1.1 — Naptha / contributors Project: https://github.com/naptha/tesseract.js License: Apache-2.0. Loaded on demand from jsDelivr; not bundled here. Language trained data downloaded by Tesseract worker on demand. Fonts mappings were retained and corrected from the user-provided script.js. Other application files are source, with no minification or build process. PDF-lib 1.17.1 — MIT https://pdf-lib.js.org/ Local file: pdf-lib.min.js; license: pdf-lib-LICENSE node-qrcode 1.5.4 (browser bundle) — MIT https://github.com/soldair/node-qrcode Local file: qrcode.min.js; license: qrcode-LICENSE The node-qrcode browser bundle includes dijkstrajs (MIT); see dijkstrajs-LICENSE. Audio streaming engine (25 September 2026): - Mediabunny 1.60.0, MPL-2.0: https://mediabunny.dev/ - @mediabunny/mp3-encoder 1.60.0, MPL-2.0, using LAME WASM (LGPL): https://lame.sourceforge.io/ - Source and build notes: /tool/audio-engine.txt - Bundled licenses: mediabunny-LICENSE, mediabunny-mp3-encoder-LICENSE, LGPL-3.0.txt.