Compare commits

..

22 Commits

Author SHA1 Message Date
Ingvar Stepanyan
2ce1e76b72 Loop through Wasm re-init for issue repro 2020-09-30 16:41:55 +01:00
Ingvar Stepanyan
11ada77c30 [temporary] More reliable issue repro 2020-09-25 16:37:29 +01:00
Ingvar Stepanyan
4c4f05f2e3 Fixup Emscripten factory & types
These days Emscripten returns a Promise to the module directly without hacks.
2020-09-25 00:46:31 +01:00
Ingvar Stepanyan
684b041262 Add feature detection to OxiPNG 2020-09-24 13:29:32 +01:00
Ingvar Stepanyan
fadb4c89f4 Point oxipng to patched version
Some upstream changes required for parallel build to work.
2020-09-24 12:58:52 +01:00
Ingvar Stepanyan
77d1e1dfe2 Disable parallel feature for non-parallel OxiPNG 2020-09-24 03:12:23 +01:00
Ingvar Stepanyan
fdc9aac976 Update paths 2020-09-24 02:18:40 +01:00
Ingvar Stepanyan
5ae65e3cf2 Update oxipng build system 2020-09-24 01:33:16 +01:00
Ingvar Stepanyan
ca81096d50 Fixup 2020-09-24 00:04:59 +01:00
Ingvar Stepanyan
7d822fa680 More comments 2020-09-24 00:04:00 +01:00
Ingvar Stepanyan
0e3aa54dc8 Add some comments 2020-09-24 00:03:02 +01:00
Ingvar Stepanyan
60dacff05e fixup 2020-09-24 00:03:00 +01:00
Ingvar Stepanyan
41e3868a13 Switch to crossbeam-channel
Still not perfect due to usage of a static global, but this is much cleaner and more efficient thanks to proper blocking of Workers that wait for new messages instead of a manual spin-loop.
2020-09-24 00:02:57 +01:00
Ingvar Stepanyan
1f50eeeb93 Include pkg-parallel artifacts 2020-09-23 23:59:35 +01:00
Ingvar Stepanyan
9c60d3286e Parallel OxiPNG improvements
- Refactor to work around Chromium's issue with postMessage queuing. https://bugs.chromium.org/p/chromium/issues/detail?id=1075645
 - Convert codec code to TypeScript.
 - Make separate parallel and non-parallel builds.
 - Switch to nightly Rust for OxiPNG to allow parallel builds (but also reuse it for regular builds to avoid installing two toolchains).
2020-09-23 23:59:32 +01:00
Ingvar Stepanyan
b7ef7f92be Type fix? 2020-09-23 23:55:40 +01:00
Ingvar Stepanyan
65038c45bd Remove obsolete Worker bindings 2020-09-23 23:55:38 +01:00
Ingvar Stepanyan
6db70e5e27 Rework fallback for postMessage issue
Now initialise all workers with module+memory separately, and then instead of using postMessage to send thread pointers, push them into a crossbeam-deque on the Rust side.

Rayon already depends on crossbeam-dequeue, so we're not even adding another dependency, and this model allows us to push "tasks" (thread pointers) on the main thread and pop them on worker threads in arbitrary order without sacrificing correctness.
2020-09-23 23:54:34 +01:00
Ingvar Stepanyan
8d991a256e OxiPNG + threads PoC 2020-09-23 23:30:51 +01:00
Ingvar Stepanyan
1fd1b3041d Refactor AVIF Makefile, add multithreading build 2020-09-23 21:52:06 +01:00
Ingvar Stepanyan
c754016ac7 Fixups 2020-09-23 15:54:21 +01:00
Ingvar Stepanyan
4ca7971442 Multithread AVIF PoC 2020-09-23 12:58:23 +01:00
480 changed files with 21391 additions and 23034 deletions

2
.gitattributes vendored
View File

@@ -1,2 +0,0 @@
/codecs/**/*.js linguist-generated=true
/codecs/*/pkg*/*.d.ts linguist-generated=true

View File

@@ -1,22 +0,0 @@
name: Node.js CI
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- id: nvmrc
uses: browniebroke/read-nvmrc-action@v1
- uses: actions/setup-node@v1
with:
node-version: '${{ steps.nvmrc.outputs.node_version }}'
- run: npm ci
- run: npm run build

10
.gitignore vendored
View File

@@ -1,12 +1,6 @@
.tmp
node_modules node_modules
/build
/*.log
*.scss.d.ts *.scss.d.ts
*.css.d.ts *.css.d.ts
build
*.o *.o
.DS_Store
# Auto-generated by lib/feature-plugin.js
src/features-worker/index.ts
src/client/lazy-app/worker-bridge/meta.ts
src/client/lazy-app/feature-meta/index.ts

2
.nvmrc
View File

@@ -1 +1 @@
14.15.1 10.16.2

View File

@@ -1,12 +0,0 @@
codecs
.tmp
node_modules
*.scss.d.ts
*.css.d.ts
build
*.o
# Auto-generated by lib/feature-plugin.js
src/features-worker/index.ts
src/client/lazy-app/worker-bridge/meta.ts
src/client/lazy-app/feature-meta/index.ts

View File

@@ -1,4 +0,0 @@
{
"singleQuote": true,
"trailingComma": "all"
}

7
.travis.yml Normal file
View File

@@ -0,0 +1,7 @@
language: node_js
cache: npm
script: npm run build
after_success: npm run sizereport
os:
- linux
- windows

View File

@@ -3,18 +3,14 @@
[Squoosh] is an image compression web app that allows you to dive into the advanced options provided [Squoosh] is an image compression web app that allows you to dive into the advanced options provided
by various image compressors. by various image compressors.
# API & CLI
Squoosh now has [an API](https://github.com/GoogleChromeLabs/squoosh/tree/dev/libsquoosh) and [a CLI](https://github.com/GoogleChromeLabs/squoosh/tree/dev/cli) that allows you to compress many images at once.
# Privacy # Privacy
Google Analytics is used to record the following: Google Analytics is used to record the following:
- [Basic visit data](https://support.google.com/analytics/answer/6004245?ref_topic=2919631). * [Basic visit data](https://support.google.com/analytics/answer/6004245?ref_topic=2919631).
- Before and after image size once an image is downloaded. These values are rounded to the nearest * Before and after image size once an image is downloaded. These values are rounded to the nearest
kilobyte. kilobyte.
- If install is available, when Squoosh is installed, and what method was used to install Squoosh. * If install is available, when Squoosh is installed, and what method was used to install Squoosh.
Image compression is handled locally; no additional data is sent to the server. Image compression is handled locally; no additional data is sent to the server.
@@ -30,7 +26,7 @@ npm run build
You can run the development server with: You can run the development server with:
```sh ```sh
npm run dev npm start
``` ```
[squoosh]: https://squoosh.app [Squoosh]: https://squoosh.app

18
_headers.ejs Normal file
View File

@@ -0,0 +1,18 @@
# Long-term cache by default.
/*
Cache-Control: max-age=31536000
# And here are the exceptions:
/
Cache-Control: no-cache
/serviceworker.js
Cache-Control: no-cache
/manifest.json
Cache-Control: must-revalidate, max-age=3600
# URLs in /assets do not include a hash and are mutable.
# But it isn't a big deal if the user gets an old version.
/assets/*
Cache-Control: must-revalidate, max-age=3600

2
_redirects.ejs Normal file
View File

@@ -0,0 +1,2 @@
/index.html / 301
/* /index.html 301

3
cli/.gitignore vendored
View File

@@ -1,3 +0,0 @@
node_modules
build
.DS_Store

View File

@@ -1 +0,0 @@
node_modules

View File

View File

@@ -1,59 +0,0 @@
# Squoosh CLI
Squoosh CLI is an _experimental_ way to run all the codecs you know from the [Squoosh] web app on your command line using WebAssembly. The Squoosh CLI uses a worker pool to parallelize processing images. This way you can apply the same codec to many images at once.
Squoosh CLI is currently not the fastest image compression tool in town and doesnt aim to be. It is, however, fast enough to compress many images sufficiently quick at once.
## Installation
The Squoosh CLI can be used straight from the command line without installing using `npx`:
```
$ npx @squoosh/cli <options...>
```
Of course, you can also install the Squoosh CLI:
```
$ npm i -g @squoosh/cli
$ squoosh-cli <options...>
```
## Usage
```
Usage: squoosh-cli [options] <files...>
Options:
-V, --version output the version number
-d, --output-dir <dir> Output directory (default: ".")
-s, --suffix <suffix> Append suffix to output files (default: "")
--max-optimizer-rounds <rounds> Maximum number of compressions to use for auto optimizations (default: "6")
--optimizer-butteraugli-target <butteraugli distance> Target Butteraugli distance for auto optimizer (default: "1.4")
--resize [config] Resize the image before compressing
--quant [config] Reduce the number of colors used (aka. paletting)
--rotate [config] Rotate image
--mozjpeg [config] Use MozJPEG to generate a .jpg file with the given configuration
--webp [config] Use WebP to generate a .webp file with the given configuration
--avif [config] Use AVIF to generate a .avif file with the given configuration
--jxl [config] Use JPEG-XL to generate a .jxl file with the given configuration
--wp2 [config] Use WebP2 to generate a .wp2 file with the given configuration
--oxipng [config] Use OxiPNG to generate a .png file with the given configuration
-h, --help display help for command
```
The default values for each `config` option can be found in the [`codecs.js`][codecs.js] file under `defaultEncoderOptions`. Every unspecified value will use the default value specified here. _Better documentation is needed here._
## Auto optimizer
Squoosh CLI has an _experimental_ auto optimizer that compresses an image as much as possible, trying to hit a specific [Butteraugli] target value. The higher the Butteraugli target value, the more artifacts can be introduced.
You can make use of the auto optimizer by using “auto” as the config object.
```
$ npx @squoosh/cli --wp2 auto test.png
```
[squoosh]: https://squoosh.app
[codecs.js]: https://github.com/GoogleChromeLabs/squoosh/blob/dev/libsquoosh/src/codecs.js
[butteraugli]: https://github.com/google/butteraugli

595
cli/package-lock.json generated
View File

@@ -1,595 +0,0 @@
{
"name": "@squoosh/cli",
"version": "0.7.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@squoosh/cli",
"version": "0.7.0",
"license": "Apache-2.0",
"dependencies": {
"@squoosh/lib": "^0.2.0",
"commander": "^7.2.0",
"json5": "^2.2.0",
"kleur": "^4.1.4",
"ora": "^5.4.0"
},
"bin": {
"cli": "src/index.js",
"squoosh-cli": "src/index.js"
}
},
"node_modules/@squoosh/lib": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@squoosh/lib/-/lib-0.2.0.tgz",
"integrity": "sha512-zKId9h/LzEnCdoOGnIgjzvqbk5g2aHgfEqgKQ+S+r5K3TasgD/DAsT6r7v6gXft1ao0f/00CTcwIp1KviWTQbw==",
"dependencies": {
"web-streams-polyfill": "^3.0.3"
}
},
"node_modules/ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"engines": {
"node": ">=8"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dependencies": {
"restore-cursor": "^3.1.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/cli-spinners": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz",
"integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==",
"engines": {
"node": ">=6"
}
},
"node_modules/clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"engines": {
"node": ">=0.8"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"engines": {
"node": ">= 10"
}
},
"node_modules/defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dependencies": {
"clone": "^1.0.2"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-interactive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"engines": {
"node": ">=8"
}
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"engines": {
"node": ">=10"
}
},
"node_modules/json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"dependencies": {
"minimist": "^1.2.5"
},
"bin": {
"json5": "lib/cli.js"
},
"engines": {
"node": ">=6"
}
},
"node_modules/kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
"engines": {
"node": ">=6"
}
},
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dependencies": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"engines": {
"node": ">=6"
}
},
"node_modules/minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"node_modules/onetime": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dependencies": {
"mimic-fn": "^2.1.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/ora": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz",
"integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==",
"dependencies": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0",
"is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0",
"log-symbols": "^4.1.0",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dependencies": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
},
"engines": {
"node": ">=8"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dependencies": {
"ansi-regex": "^5.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
"dependencies": {
"defaults": "^1.0.3"
}
},
"node_modules/web-streams-polyfill": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.0.3.tgz",
"integrity": "sha512-d2H/t0eqRNM4w2WvmTdoeIvzAUSpK7JmATB8Nr2lb7nQ9BTIJVjbQ/TRFVEh2gUH1HwclPdoPtfMoFfetXaZnA==",
"engines": {
"node": ">= 8"
}
}
},
"dependencies": {
"@squoosh/lib": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@squoosh/lib/-/lib-0.2.0.tgz",
"integrity": "sha512-zKId9h/LzEnCdoOGnIgjzvqbk5g2aHgfEqgKQ+S+r5K3TasgD/DAsT6r7v6gXft1ao0f/00CTcwIp1KviWTQbw==",
"requires": {
"web-streams-polyfill": "^3.0.3"
}
},
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"requires": {
"restore-cursor": "^3.1.0"
}
},
"cli-spinners": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz",
"integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q=="
},
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"requires": {
"clone": "^1.0.2"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-interactive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
},
"is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"requires": {
"minimist": "^1.2.5"
}
},
"kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
},
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"requires": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
}
},
"mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"onetime": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"requires": {
"mimic-fn": "^2.1.0"
}
},
"ora": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz",
"integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==",
"requires": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0",
"is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0",
"log-symbols": "^4.1.0",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
}
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"requires": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"requires": {
"ansi-regex": "^5.0.0"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
"requires": {
"defaults": "^1.0.3"
}
},
"web-streams-polyfill": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.0.3.tgz",
"integrity": "sha512-d2H/t0eqRNM4w2WvmTdoeIvzAUSpK7JmATB8Nr2lb7nQ9BTIJVjbQ/TRFVEh2gUH1HwclPdoPtfMoFfetXaZnA=="
}
}
}

View File

@@ -1,24 +0,0 @@
{
"name": "@squoosh/cli",
"version": "0.7.0",
"description": "A CLI for Squoosh",
"public": true,
"type": "module",
"bin": {
"squoosh-cli": "src/index.js",
"@squoosh/cli": "src/index.js"
},
"files": [
"/src/index.js"
],
"keywords": [],
"author": "Google Chrome Developers <chromium-dev@google.com>",
"license": "Apache-2.0",
"dependencies": {
"@squoosh/lib": "^0.2.0",
"commander": "^7.2.0",
"json5": "^2.2.0",
"kleur": "^4.1.4",
"ora": "^5.4.0"
}
}

View File

@@ -1,232 +0,0 @@
#!/usr/bin/env node
import { program } from 'commander/esm.mjs';
import JSON5 from 'json5';
import path from 'path';
import { promises as fsp } from 'fs';
import ora from 'ora';
import kleur from 'kleur';
import { ImagePool, preprocessors, encoders } from '@squoosh/lib';
function clamp(v, min, max) {
if (v < min) return min;
if (v > max) return max;
return v;
}
const suffix = ['B', 'KB', 'MB'];
function prettyPrintSize(size) {
const base = Math.floor(Math.log2(size) / 10);
const index = clamp(base, 0, 2);
return (size / 2 ** (10 * index)).toFixed(2) + suffix[index];
}
function progressTracker(results) {
const spinner = ora();
const tracker = {};
tracker.spinner = spinner;
tracker.progressOffset = 0;
tracker.totalOffset = 0;
let status = '';
tracker.setStatus = (text) => {
status = text || '';
update();
};
let progress = '';
tracker.setProgress = (done, total) => {
spinner.prefixText = kleur.dim(`${done}/${total}`);
const completeness =
(tracker.progressOffset + done) / (tracker.totalOffset + total);
progress = kleur.cyan(
`${'▨'.repeat((completeness * 10) | 0).padEnd(10, '╌')}`,
);
update();
};
function update() {
spinner.text = progress + kleur.bold(status) + getResultsText();
}
tracker.finish = (text) => {
spinner.succeed(kleur.bold(text) + getResultsText());
};
function getResultsText() {
let out = '';
for (const result of results.values()) {
out += `\n ${kleur.cyan(result.file)}: ${prettyPrintSize(result.size)}`;
for (const { outputFile, size: outputSize, infoText } of result.outputs) {
out += `\n ${kleur.dim('└')} ${kleur.cyan(
outputFile.padEnd(5),
)}${prettyPrintSize(outputSize)}`;
const percent = ((outputSize / result.size) * 100).toPrecision(3);
out += ` (${kleur[outputSize > result.size ? 'red' : 'green'](
percent + '%',
)})`;
if (infoText) out += kleur.yellow(infoText);
}
}
return out || '\n';
}
spinner.start();
return tracker;
}
async function getInputFiles(paths) {
const validFiles = [];
for (const inputPath of paths) {
const files = (await fsp.lstat(inputPath)).isDirectory()
? (await fsp.readdir(inputPath, {withFileTypes: true})).filter(dirent => dirent.isFile()).map(dirent => path.join(inputPath, dirent.name))
: [inputPath];
for (const file of files) {
try {
await fsp.stat(file);
} catch (err) {
if (err.code === 'ENOENT') {
console.warn(
`Warning: Input file does not exist: ${path.resolve(file)}`,
);
continue;
} else {
throw err;
}
}
validFiles.push(file);
}
}
return validFiles;
}
async function processFiles(files) {
files = await getInputFiles(files);
const imagePool = new ImagePool();
const results = new Map();
const progress = progressTracker(results);
progress.setStatus('Decoding...');
progress.totalOffset = files.length;
progress.setProgress(0, files.length);
// Create output directory
await fsp.mkdir(program.opts().outputDir, { recursive: true });
let decoded = 0;
let decodedFiles = await Promise.all(
files.map(async (file) => {
const image = imagePool.ingestImage(file);
await image.decoded;
results.set(image, {
file,
size: (await image.decoded).size,
outputs: [],
});
progress.setProgress(++decoded, files.length);
return image;
}),
);
const preprocessOptions = {};
for (const preprocessorName of Object.keys(preprocessors)) {
if (!program.opts()[preprocessorName]) {
continue;
}
preprocessOptions[preprocessorName] = JSON5.parse(
program.opts()[preprocessorName],
);
}
for (const image of decodedFiles) {
image.preprocess(preprocessOptions);
}
await Promise.all(decodedFiles.map((image) => image.decoded));
progress.progressOffset = decoded;
progress.setStatus(
'Encoding ' + kleur.dim(`(${imagePool.workerPool.numWorkers} threads)`),
);
progress.setProgress(0, files.length);
const jobs = [];
let jobsStarted = 0;
let jobsFinished = 0;
for (const image of decodedFiles) {
const originalFile = results.get(image).file;
const encodeOptions = {
optimizerButteraugliTarget: Number(
program.opts().optimizerButteraugliTarget,
),
maxOptimizerRounds: Number(program.opts().maxOptimizerRounds),
};
for (const encName of Object.keys(encoders)) {
if (!program.opts()[encName]) {
continue;
}
const encParam = program.opts()[encName];
const encConfig =
encParam.toLowerCase() === 'auto' ? 'auto' : JSON5.parse(encParam);
encodeOptions[encName] = encConfig;
}
jobsStarted++;
const job = image.encode(encodeOptions).then(async () => {
jobsFinished++;
const outputPath = path.join(
program.opts().outputDir,
program.opts().suffix +
path.basename(originalFile, path.extname(originalFile)),
);
for (const output of Object.values(image.encodedWith)) {
const outputFile = `${outputPath}.${(await output).extension}`;
await fsp.writeFile(outputFile, (await output).binary);
results
.get(image)
.outputs.push(Object.assign(await output, { outputFile }));
}
progress.setProgress(jobsFinished, jobsStarted);
});
jobs.push(job);
}
// update the progress to account for multi-format
progress.setProgress(jobsFinished, jobsStarted);
// Wait for all jobs to finish
await Promise.all(jobs);
await imagePool.close();
progress.finish('Squoosh results:');
}
program
.name('squoosh-cli')
.arguments('<files...>')
.option('-d, --output-dir <dir>', 'Output directory', '.')
.option('-s, --suffix <suffix>', 'Append suffix to output files', '')
.option(
'--max-optimizer-rounds <rounds>',
'Maximum number of compressions to use for auto optimizations',
'6',
)
.option(
'--optimizer-butteraugli-target <butteraugli distance>',
'Target Butteraugli distance for auto optimizer',
'1.4',
)
.action(processFiles);
// Create a CLI option for each supported preprocessor
for (const [key, value] of Object.entries(preprocessors)) {
program.option(`--${key} [config]`, value.description);
}
// Create a CLI option for each supported encoder
for (const [key, value] of Object.entries(encoders)) {
program.option(
`--${key} [config]`,
`Use ${value.name} to generate a .${value.extension} file with the given configuration`,
);
}
program.parse(process.argv);

View File

@@ -1,19 +0,0 @@
{
"extends": "./generic-tsconfig.json",
"compilerOptions": {
"lib": ["esnext", "dom", "dom.iterable"],
"types": []
},
"include": [
"src/features/**/client/**/*",
"src/features/**/shared/**/*",
"src/features/client-utils/**/*",
"src/shared/**/*",
"src/client/**/*",
// Not really clean, but we need these to access the type of the functions
// for comlink
"src/features/**/worker/**/*",
"src/features-worker/**/*",
"src/features/worker-utils/**/*"
]
}

View File

@@ -1,71 +1,62 @@
# libavif and libaom versions are from CODEC_URL = https://github.com/AOMediaCodec/libavif/archive/v0.8.1.tar.gz
# https://docs.google.com/document/d/1wEEA5rRU7wT54k41u3qyZIZHDCJArIMzLuzsrLAwaK8/edit
CODEC_URL = https://github.com/AOMediaCodec/libavif/archive/1c39e772c2c0d687691dd4b589a12c323f5f767d.tar.gz
CODEC_PACKAGE = node_modules/libavif.tar.gz CODEC_PACKAGE = node_modules/libavif.tar.gz
LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v3.1.0.tar.gz LIBAOM_URL = https://aomedia.googlesource.com/aom/+archive/v2.0.0.tar.gz
LIBAOM_PACKAGE = node_modules/libaom.tar.gz LIBAOM_PACKAGE = node_modules/libaom.tar.gz
export CODEC_DIR = node_modules/libavif CODEC_ENC_DIR = node_modules/libavif-enc
export BUILD_DIR = node_modules/build CODEC_ENC_MT_DIR = node_modules/libavif-enc-mt
export LIBAOM_DIR = node_modules/libaom CODEC_DEC_DIR = node_modules/libavif-dec
LIBAOM_DIR = node_modules/libaom
OUT_ENC_JS = enc/avif_enc.js OUT_ENC_JS = enc/avif_enc.js
OUT_NODE_ENC_JS = enc/avif_node_enc.js
OUT_ENC_MT_JS = enc/avif_enc_mt.js OUT_ENC_MT_JS = enc/avif_enc_mt.js
OUT_DEC_JS = dec/avif_dec.js OUT_DEC_JS = dec/avif_dec.js
OUT_NODE_DEC_JS = dec/avif_node_dec.js
OUT_ENC_CPP = enc/avif_enc.cpp
OUT_ENC_CPP = enc/avif_enc.cpp OUT_ENC_CPP = enc/avif_enc.cpp
OUT_DEC_CPP = dec/avif_dec.cpp OUT_DEC_CPP = dec/avif_dec.cpp
ENVIRONMENT = worker
HELPER_MAKEFLAGS := -f helper.Makefile HELPER_MAKEFLAGS := -f helper.Makefile \
LIBAOM_DIR=$(LIBAOM_DIR) \
CODEC_PACKAGE=$(CODEC_PACKAGE) \
LIBAOM_PACKAGE=$(LIBAOM_PACKAGE)
.PHONY: all clean .PHONY: all clean
all: $(OUT_ENC_JS) $(OUT_DEC_JS) $(OUT_ENC_MT_JS) $(OUT_NODE_ENC_JS) $(OUT_NODE_DEC_JS) all: $(OUT_ENC_JS) $(OUT_DEC_JS) $(OUT_ENC_MT_JS)
$(OUT_NODE_ENC_JS): ENVIRONMENT=node $(OUT_ENC_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
$(OUT_NODE_ENC_JS) $(OUT_ENC_JS): $(OUT_ENC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt
$(MAKE) \ $(MAKE) \
$(HELPER_MAKEFLAGS) \ $(HELPER_MAKEFLAGS) \
CODEC_DIR=$(CODEC_ENC_DIR) \
OUT_JS=$@ \ OUT_JS=$@ \
OUT_CPP=$< \ OUT_CPP=$< \
LIBAOM_FLAGS="\ LIBAOM_FLAGS="\
-DCONFIG_AV1_DECODER=0 \ -DCONFIG_AV1_DECODER=0 \
-DCONFIG_MULTITHREAD=0 \ -DCONFIG_MULTITHREAD=0 \
-DCONFIG_AV1_HIGHBITDEPTH=0 \ "
" \
ENVIRONMENT=$(ENVIRONMENT) \
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0"
$(OUT_ENC_MT_JS): $(OUT_ENC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt $(OUT_ENC_MT_JS): $(OUT_ENC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
$(MAKE) \ $(MAKE) \
$(HELPER_MAKEFLAGS) \ $(HELPER_MAKEFLAGS) \
CODEC_DIR=$(CODEC_ENC_MT_DIR) \
OUT_JS=$@ \ OUT_JS=$@ \
OUT_CPP=$< \ OUT_CPP=$< \
LIBAOM_FLAGS="\ LIBAOM_FLAGS="\
-DCONFIG_AV1_DECODER=0 \ -DCONFIG_AV1_DECODER=0 \
-DCONFIG_AV1_HIGHBITDEPTH=0 \
" \ " \
ENVIRONMENT=$(ENVIRONMENT) \
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_DECODE=0" \
OUT_FLAGS="-pthread" OUT_FLAGS="-pthread"
$(OUT_NODE_DEC_JS): ENVIRONMENT=node $(OUT_DEC_JS): $(OUT_DEC_CPP) $(CODEC_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt
$(OUT_NODE_DEC_JS) $(OUT_DEC_JS): $(OUT_DEC_CPP) $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_DIR)/CMakeLists.txt
$(MAKE) \ $(MAKE) \
$(HELPER_MAKEFLAGS) \ $(HELPER_MAKEFLAGS) \
CODEC_DIR=$(CODEC_DEC_DIR) \
OUT_JS=$@ \ OUT_JS=$@ \
OUT_CPP=$< \ OUT_CPP=$< \
LIBAOM_FLAGS="\ LIBAOM_FLAGS="\
-DCONFIG_AV1_ENCODER=0 \ -DCONFIG_AV1_ENCODER=0 \
-DCONFIG_MULTITHREAD=0 \ -DCONFIG_MULTITHREAD=0 \
" \ "
ENVIRONMENT=$(ENVIRONMENT) \
LIBAVIF_FLAGS="-DAVIF_CODEC_AOM_ENCODE=0"
$(CODEC_PACKAGE): $(CODEC_PACKAGE):
mkdir -p $(@D) mkdir -p $(@D)
@@ -75,15 +66,11 @@ $(LIBAOM_PACKAGE):
mkdir -p $(@D) mkdir -p $(@D)
curl -sL $(LIBAOM_URL) -o $@ curl -sL $(LIBAOM_URL) -o $@
$(CODEC_DIR)/CMakeLists.txt: $(CODEC_PACKAGE)
mkdir -p $(@D)
tar xzm --strip 1 -C $(@D) -f $(CODEC_PACKAGE)
$(LIBAOM_DIR)/CMakeLists.txt: $(LIBAOM_PACKAGE) $(LIBAOM_DIR)/CMakeLists.txt: $(LIBAOM_PACKAGE)
mkdir -p $(@D) mkdir -p $(@D)
tar xzm -C $(@D) -f $(LIBAOM_PACKAGE) tar xzm -C $(@D) -f $(LIBAOM_PACKAGE)
clean: clean:
$(MAKE) $(HELPER_MAKEFLAGS) OUT_JS=$(OUT_ENC_JS) clean $(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_ENC_DIR) OUT_JS=$(OUT_ENC_JS) clean
$(MAKE) $(HELPER_MAKEFLAGS) OUT_JS=$(OUT_ENC_MT_JS) clean $(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_ENC_MT_DIR) OUT_JS=$(OUT_ENC_MT_JS) clean
$(MAKE) $(HELPER_MAKEFLAGS) OUT_JS=$(OUT_DEC_JS) clean $(MAKE) $(HELPER_MAKEFLAGS) CODEC_DIR=$(CODEC_DEC_DIR) OUT_JS=$(OUT_DEC_JS) clean

View File

@@ -8,10 +8,15 @@ thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray");
thread_local const val ImageData = val::global("ImageData"); thread_local const val ImageData = val::global("ImageData");
val decode(std::string avifimage) { val decode(std::string avifimage) {
// point raw.data and raw.size to the contents of an .avif(s)
avifROData raw = {
.data = (uint8_t*)avifimage.c_str(),
.size = avifimage.length()
};
avifImage* image = avifImageCreateEmpty(); avifImage* image = avifImageCreateEmpty();
avifDecoder* decoder = avifDecoderCreate(); avifDecoder* decoder = avifDecoderCreate();
avifResult decodeResult = avifResult decodeResult = avifDecoderRead(decoder, image, &raw);
avifDecoderReadMemory(decoder, image, (uint8_t*)avifimage.c_str(), avifimage.length());
// image is an independent copy of decoded data, decoder may be destroyed here // image is an independent copy of decoded data, decoder may be destroyed here
avifDecoderDestroy(decoder); avifDecoderDestroy(decoder);
@@ -20,8 +25,7 @@ val decode(std::string avifimage) {
if (decodeResult == AVIF_RESULT_OK) { if (decodeResult == AVIF_RESULT_OK) {
// Convert to interleaved RGB(A)/BGR(A) using a libavif-allocated buffer. // Convert to interleaved RGB(A)/BGR(A) using a libavif-allocated buffer.
avifRGBImage rgb; avifRGBImage rgb;
avifRGBImageSetDefaults(&rgb, avifRGBImageSetDefaults(&rgb, image); // Defaults to AVIF_RGB_FORMAT_RGBA which is what we want.
image); // Defaults to AVIF_RGB_FORMAT_RGBA which is what we want.
rgb.depth = 8; // Does not need to match image->depth. We always want 8-bit pixels. rgb.depth = 8; // Does not need to match image->depth. We always want 8-bit pixels.
avifRGBImageAllocatePixels(&rgb); avifRGBImageAllocatePixels(&rgb);
@@ -29,9 +33,7 @@ val decode(std::string avifimage) {
// We want to create a *copy* of the decoded data to be owned by the JavaScript side. // We want to create a *copy* of the decoded data to be owned by the JavaScript side.
// For that, we perform `new Uint8Array(wasmMemBuffer, wasmPtr, wasmSize).slice()`: // For that, we perform `new Uint8Array(wasmMemBuffer, wasmPtr, wasmSize).slice()`:
result = ImageData.new_( result = ImageData.new_(Uint8ClampedArray.new_(typed_memory_view(rgb.rowBytes * rgb.height, rgb.pixels)), rgb.width, rgb.height);
Uint8ClampedArray.new_(typed_memory_view(rgb.rowBytes * rgb.height, rgb.pixels)), rgb.width,
rgb.height);
// Now we can safely free the RGB pixels: // Now we can safely free the RGB pixels:
avifRGBImageFreePixels(&rgb); avifRGBImageFreePixels(&rgb);

View File

@@ -1,7 +1,6 @@
export interface AVIFModule extends EmscriptenWasm.Module { interface AVIFModule extends EmscriptenWasm.Module {
decode(data: BufferSource): ImageData | null; decode(data: BufferSource): ImageData | null;
} }
declare var moduleFactory: EmscriptenWasm.ModuleFactory<AVIFModule>; export default function(opts: EmscriptenWasm.ModuleOpts): Promise<AVIFModule>;
export default moduleFactory;

View File

@@ -1,57 +1,72 @@
var Module = (function() { var avif_dec = (function() {
var _scriptDir = import.meta.url; var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return ( return (
function(Module) { function(avif_dec) {
Module = Module || {}; avif_dec = avif_dec || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var v="",ba;v=self.location.href;_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.lastIndexOf("/")+1):v="";ba=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var ca=e.print||console.log.bind(console),w=e.printErr||console.warn.bind(console); var d;d||(d=typeof avif_dec !== 'undefined' ? avif_dec : {});var aa,ba;d.ready=new Promise(function(a,b){aa=a;ba=b});var r={},t;for(t in d)d.hasOwnProperty(t)&&(r[t]=d[t]);var u=!1,v=!1,ca=!1,da=!1;u="object"===typeof window;v="function"===typeof importScripts;ca="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;da=!u&&!ca&&!v;var w="",x,z,ea,fa;
for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var da=0,y;e.wasmBinary&&(y=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&z("no native wasm support detected");var ea,fa=!1,ha=new TextDecoder("utf8"); if(ca)w=v?require("path").dirname(w)+"/":__dirname+"/",x=function(a,b){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);return ea.readFileSync(a,b?null:"utf8")},z=function(a){a=x(a,!0);a.buffer||(a=new Uint8Array(a));a.buffer||A("Assertion failed: undefined");return a},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(a){throw a;}),process.on("unhandledRejection",A),d.inspect=function(){return"[Emscripten Module object]"};
function ia(a,b,c){var d=A;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var ja=new TextDecoder("utf-16le"); else if(da)"undefined"!=typeof read&&(x=function(a){return read(a)}),z=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"===typeof a||A("Assertion failed: undefined");return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(u||v)v?w=self.location.href:document.currentScript&&(w=document.currentScript.src),_scriptDir&&
function ka(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&B[c];)++c;return ja.decode(A.subarray(a,c<<1))}function la(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)D[b>>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function ma(a){return 2*a.length}function na(a,b){for(var c=0,d="";!(c>=b/4);){var f=E[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d} (w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",x=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},v&&(z=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ha=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(d[t]=r[t]);r=null;var ia=0,D;d.wasmBinary&&(D=d.wasmBinary);var noExitRuntime;
function oa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}E[b>>2]=g;b+=4;if(b+4>c)break}E[b>>2]=0;return b-d}function pa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var qa,ra,A,D,B,E,F,sa,ta; d.noExitRuntime&&(noExitRuntime=d.noExitRuntime);"object"!==typeof WebAssembly&&A("no native wasm support detected");var E,ja=new WebAssembly.Table({initial:419,maximum:419,element:"anyfunc"}),ka=!1,la="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function ua(){var a=ea.buffer;qa=a;e.HEAP8=ra=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=E=new Int32Array(a);e.HEAPU8=A=new Uint8Array(a);e.HEAPU16=B=new Uint16Array(a);e.HEAPU32=F=new Uint32Array(a);e.HEAPF32=sa=new Float32Array(a);e.HEAPF64=ta=new Float64Array(a)}var G,va=[],wa=[],xa=[];function ya(){var a=e.preRun.shift();va.unshift(a)}var H=0,za=null,J=null;e.preloadedImages={};e.preloadedAudios={}; function ma(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&la)return la.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
function z(a){if(e.onAbort)e.onAbort(a);w(a);fa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var K=(new URL("avif_dec.wasm",import.meta.url)).toString();function Aa(){try{if(K==K&&y)return new Uint8Array(y);if(ba)return ba(K);throw"both async and sync fetching of the wasm failed";}catch(a){z(a)}} function na(a,b,c){var e=F;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(b>=c)break;e[b++]=g}else{if(2047>=g){if(b+1>=c)break;e[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;e[b++]=224|g>>12}else{if(b+3>=c)break;e[b++]=240|g>>18;e[b++]=128|g>>12&63}e[b++]=128|g>>6&63}e[b++]=128|g&63}}e[b]=0}}var oa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function Ba(){return y||"function"!==typeof fetch?Promise.resolve().then(function(){return Aa()}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Aa()})}function Ca(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.V;"number"===typeof c?void 0===b.R?G.get(c)():G.get(c)(b.R):c(void 0===b.R?null:b.R)}}} function pa(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&G[c];)++c;c<<=1;if(32<c-a&&oa)return oa.decode(F.subarray(a,c));c=0;for(e="";;){var f=H[a+2*c>>1];if(0==f||c==b/2)return e;++c;e+=String.fromCharCode(f)}}function qa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)H[b>>1]=a.charCodeAt(f),b+=2;H[b>>1]=0;return b-e}function ra(a){return 2*a.length}
function Da(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ea=void 0;function M(a){for(var b="";A[a];)b+=Ea[A[a++]];return b}var N={},O={},P={};function Fa(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a} function sa(a,b){for(var c=0,e="";!(c>=b/4);){var f=I[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}function ta(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}I[b>>2]=g;b+=4;if(b+4>c)break}I[b>>2]=0;return b-e}
function Ga(a,b){a=Fa(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ha(a){var b=Error,c=Ga(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c} function ua(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b}var J,va,F,H,G,I,K,wa,xa;function ya(a){J=a;d.HEAP8=va=new Int8Array(a);d.HEAP16=H=new Int16Array(a);d.HEAP32=I=new Int32Array(a);d.HEAPU8=F=new Uint8Array(a);d.HEAPU16=G=new Uint16Array(a);d.HEAPU32=K=new Uint32Array(a);d.HEAPF32=wa=new Float32Array(a);d.HEAPF64=xa=new Float64Array(a)}var za=d.INITIAL_MEMORY||16777216;d.wasmMemory?E=d.wasmMemory:E=new WebAssembly.Memory({initial:za/65536,maximum:32768});
var Ia=void 0;function Q(a){throw new Ia(a);}var Ja=void 0;function Ka(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ja("Mismatched type converter count");for(var n=0;n<d.length;++n)R(d[n],h[n])}var d=[];d.forEach(function(h){P[h]=a});var f=Array(a.length),g=[],k=0;a.forEach(function(h,n){O.hasOwnProperty(h)?f[n]=O[h]:(g.push(h),N.hasOwnProperty(h)||(N[h]=[]),N[h].push(function(){f[n]=O[h];++k;k===g.length&&c(f)}))});0===g.length&&c(f)} E&&(J=E.buffer);za=J.byteLength;ya(J);I[153596]=5857424;function Aa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(d);else{var c=b.la;"number"===typeof c?void 0===b.ha?d.dynCall_v(c):d.dynCall_vi(c,b.ha):c(void 0===b.ha?null:b.ha)}}}var Ba=[],Ca=[],Da=[],Ea=[];function Fa(){var a=d.preRun.shift();Ba.unshift(a)}var L=0,Ga=null,N=null;d.preloadedImages={};d.preloadedAudios={};
function R(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||Q('type "'+d+'" must have a positive integer typeid pointer');if(O.hasOwnProperty(a)){if(c.U)return;Q("Cannot register type '"+d+"' twice")}O[a]=b;delete P[a];N.hasOwnProperty(a)&&(b=N[a],delete N[a],b.forEach(function(f){f()}))}var Na=[],S=[{},{value:void 0},{value:null},{value:!0},{value:!1}]; function A(a){if(d.onAbort)d.onAbort(a);B(a);ka=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Ha(a){var b=O;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ia(){return Ha("data:application/octet-stream;base64,")}var O="avif_dec.wasm";if(!Ia()){var Ja=O;O=d.locateFile?d.locateFile(Ja,w):w+Ja}
function Oa(a){4<a&&0===--S[a].S&&(S[a]=void 0,Na.push(a))}function T(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Na.length?Na.pop():S.length;S[b]={S:1,value:a};return b}}function Pa(a){return this.fromWireType(F[a>>2])}function Qa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} function Ka(){try{if(D)return new Uint8Array(D);if(z)return z(O);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}function La(){return D||!u&&!v||"function"!==typeof fetch||Ha("file://")?new Promise(function(a){a(Ka())}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Ka()})}Ca.push({la:function(){Ma()}});function Na(){return 0<Na.ja}
function Ra(a,b){switch(b){case 2:return function(c){return this.fromWireType(sa[c>>2])};case 3:return function(c){return this.fromWireType(ta[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Sa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ga(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function Oa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Pa=void 0;function P(a){for(var b="";F[a];)b+=Pa[F[a++]];return b}var Q={},R={},Qa={};function Ra(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function Ta(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ua(a,b){var c=e;if(void 0===c[a].O){var d=c[a];c[a]=function(){c[a].O.hasOwnProperty(arguments.length)||Q("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].O+")!");return c[a].O[arguments.length].apply(this,arguments)};c[a].O=[];c[a].O[d.T]=d}} function Sa(a,b){a=Ra(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ta(a){var b=Error,c=Sa(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
function Va(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].O&&void 0!==e[a].O[c])&&Q("Cannot register public name '"+a+"' twice"),Ua(a,a),e.hasOwnProperty(c)&&Q("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].O[c]=b):(e[a]=b,void 0!==c&&(e[a].X=c))}function Wa(a,b){for(var c=[],d=0;d<a;d++)c.push(E[(b>>2)+d]);return c} var Ua=void 0;function T(a){throw new Ua(a);}var Va=void 0;function Wa(a,b){function c(l){l=b(l);if(l.length!==e.length)throw new Va("Mismatched type converter count");for(var k=0;k<e.length;++k)U(e[k],l[k])}var e=[];e.forEach(function(l){Qa[l]=a});var f=Array(a.length),g=[],h=0;a.forEach(function(l,k){R.hasOwnProperty(l)?f[k]=R[l]:(g.push(l),Q.hasOwnProperty(l)||(Q[l]=[]),Q[l].push(function(){f[k]=R[l];++h;h===g.length&&c(f)}))});0===g.length&&c(f)}
function Xa(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=G.get(b).apply(null,c);return d}}function Ya(a,b){a=M(a);var c=a.includes("j")?Xa(a,b):G.get(b);"function"!==typeof c&&Q("unknown function pointer with signature "+a+": "+b);return c}var Za=void 0;function $a(a){a=ab(a);var b=M(a);U(a);return b} function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||T('type "'+e+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.ma)return;T("Cannot register type '"+e+"' twice")}R[a]=b;delete Qa[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(f){f()}))}var Xa=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function bb(a,b){function c(g){f[g]||O[g]||(P[g]?P[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Za(a+": "+d.map($a).join([", "]));}function cb(a,b,c){switch(b){case 0:return c?function(d){return ra[d]}:function(d){return A[d]};case 1:return c?function(d){return D[d>>1]}:function(d){return B[d>>1]};case 2:return c?function(d){return E[d>>2]}:function(d){return F[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var db={}; function Ya(a){4<a&&0===--V[a].ia&&(V[a]=void 0,Xa.push(a))}function ab(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Xa.length?Xa.pop():V.length;V[b]={ia:1,value:a};return b}}function bb(a){return this.fromWireType(K[a>>2])}function cb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fb(a,b){var c=O[a];void 0===c&&Q(b+" has unknown type "+$a(a));return c}for(var gb={},hb=[null,[],[]],ib=Array(256),V=0;256>V;++V)ib[V]=String.fromCharCode(V);Ea=ib;Ia=e.BindingError=Ha("BindingError");Ja=e.InternalError=Ha("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<S.length;++b)void 0!==S[b]&&++a;return a}; function db(a,b){switch(b){case 2:return function(c){return this.fromWireType(wa[c>>2])};case 3:return function(c){return this.fromWireType(xa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function eb(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Sa(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
e.get_first_emval=function(){for(var a=5;a<S.length;++a)if(void 0!==S[a])return S[a];return null};Za=e.UnboundTypeError=Ha("UnboundTypeError"); function fb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function gb(a,b){var c=d;if(void 0===c[a].fa){var e=c[a];c[a]=function(){c[a].fa.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].fa+")!");return c[a].fa[arguments.length].apply(this,arguments)};c[a].fa=[];c[a].fa[e.ka]=e}}
var ob={j:function(){},v:function(){},r:function(a,b,c,d,f){var g=Da(c);b=M(b);R(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var h=ra;else if(2===c)h=D;else if(4===c)h=E;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},P:null})},B:function(a,b){b=M(b);R(a,{name:b,fromWireType:function(c){var d=S[c].value;Oa(c);return d},toWireType:function(c,d){return T(d)}, function hb(a,b,c){d.hasOwnProperty(a)?((void 0===c||void 0!==d[a].fa&&void 0!==d[a].fa[c])&&T("Cannot register public name '"+a+"' twice"),gb(a,a),d.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),d[a].fa[c]=b):(d[a]=b,void 0!==c&&(d[a].oa=c))}function ib(a,b){for(var c=[],e=0;e<a;e++)c.push(I[(b>>2)+e]);return c}
argPackAdvance:8,readValueFromPointer:Pa,P:null})},q:function(a,b,c){c=Da(c);b=M(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Qa(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Ra(b,c),P:null})},t:function(a,b,c,d,f,g){var k=Wa(b,c);a=M(a);f=Ya(d,f);Va(a,function(){bb("Cannot call "+a+" due to unbound types",k)},b-1);Ka(k,function(h){var n=a,l=a;h=[h[0],null].concat(h.slice(1)); function jb(a,b){a=P(a);var c=d["dynCall_"+a];for(var e=[],f=1;f<a.length;++f)e.push("a"+f);f="return function dynCall_"+(a+"_"+b)+"("+e.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n";c=(new Function("dynCall","rawFunction",f+"};\n"))(c,b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var kb=void 0;function lb(a){a=mb(a);var b=P(a);W(a);return b}
var m=f,q=h.length;2>q&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==h[1]&&!1,C=!1,p=1;p<h.length;++p)if(null!==h[p]&&void 0===h[p].P){C=!0;break}var La="void"!==h[0].name,I="",L="";for(p=0;p<q-2;++p)I+=(0!==p?", ":"")+"arg"+p,L+=(0!==p?", ":"")+"arg"+p+"Wired";l="return function "+Fa(l)+"("+I+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+l+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n"; function nb(a,b){function c(g){f[g]||R[g]||(Qa[g]?Qa[g].forEach(c):(e.push(g),f[g]=!0))}var e=[],f={};b.forEach(c);throw new kb(a+": "+e.map(lb).join([", "]));}function ob(a,b,c){switch(b){case 0:return c?function(e){return va[e]}:function(e){return F[e]};case 1:return c?function(e){return H[e>>1]}:function(e){return G[e>>1]};case 2:return c?function(e){return I[e>>2]}:function(e){return K[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var pb={};
C&&(l+="var destructors = [];\n");var Ma=C?"destructors":"null";I="throwBindingError invoker fn runDestructors retType classParam".split(" ");m=[Q,m,g,Ta,h[0],h[1]];x&&(l+="var thisWired = classParam.toWireType("+Ma+", this);\n");for(p=0;p<q-2;++p)l+="var arg"+p+"Wired = argType"+p+".toWireType("+Ma+", arg"+p+"); // "+h[p+2].name+"\n",I.push("argType"+p),m.push(h[p+2]);x&&(L="thisWired"+(0<L.length?", ":"")+L);l+=(La?"var rv = ":"")+"invoker(fn"+(0<L.length?", ":"")+L+");\n";if(C)l+="runDestructors(destructors);\n"; function qb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function rb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+lb(a));return c}for(var sb={},tb=[null,[],[]],ub=Array(256),vb=0;256>vb;++vb)ub[vb]=String.fromCharCode(vb);Pa=ub;Ua=d.BindingError=Ta("BindingError");Va=d.InternalError=Ta("InternalError");d.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};
else for(p=x?1:2;p<h.length;++p)q=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==h[p].P&&(l+=q+"_dtor("+q+"); // "+h[p].name+"\n",I.push(q+"_dtor"),m.push(h[p].P));La&&(l+="var ret = retType.fromWireType(rv);\nreturn ret;\n");I.push(l+"}\n");h=Sa(I).apply(null,m);p=b-1;if(!e.hasOwnProperty(n))throw new Ja("Replacing nonexistant public symbol");void 0!==e[n].O&&void 0!==p?e[n].O[p]=h:(e[n]=h,e[n].T=p);return[]})},e:function(a,b,c,d,f){function g(l){return l}b=M(b);-1===f&&(f=4294967295);var k=Da(c); d.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};kb=d.UnboundTypeError=Ta("UnboundTypeError");
if(0===d){var h=32-8*c;g=function(l){return l<<h>>>h}}var n=b.includes("unsigned");R(a,{name:b,fromWireType:g,toWireType:function(l,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Qa(m)+'" to '+this.name);if(m<d||m>f)throw new TypeError('Passing a number "'+Qa(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:cb(b,k,0!==d),P:null})},d:function(a, var Db={u:function(a){return wb(a)},r:function(){},t:function(a){"uncaught_exception"in Na?Na.ja++:Na.ja=1;throw a;},D:function(a,b,c,e,f){var g=Oa(c);b=P(b);U(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?e:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=va;else if(2===c)l=H;else if(4===c)l=I;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},ga:null})},C:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var e=
b,c){function d(g){g>>=2;var k=F;return new f(qa,k[g+1],k[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=M(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{U:!0})},m:function(a,b){b=M(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var f=F[d>>2];if(c)for(var g=d+4,k=0;k<=f;++k){var h=d+4+k;if(k==f||0==A[h]){if(g){for(var n=g+(h-g),l=g;!(l>=n)&&A[l];)++l;g=ha.decode(A.subarray(g,l))}else g="";if(void 0=== V[c].value;Ya(c);return e},toWireType:function(c,e){return ab(e)},argPackAdvance:8,readValueFromPointer:bb,ga:null})},p:function(a,b,c){c=Oa(c);b=P(b);U(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+cb(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:db(b,c),ga:null})},v:function(a,b,c,e,f,g){var h=ib(b,c);a=P(a);f=jb(e,f);hb(a,function(){nb("Cannot call "+a+" due to unbound types",
m)var m=g;else m+=String.fromCharCode(0),m+=g;g=h+1}}else{m=Array(f);for(k=0;k<f;++k)m[k]=String.fromCharCode(A[d+4+k]);m=m.join("")}U(d);return m},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||Q("Cannot pass non-string to std::string");var k=(c&&g?function(){for(var l=0,m=0;m<f.length;++m){var q=f.charCodeAt(m);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++m)& h)},b-1);Wa(h,function(l){var k=[l[0],null].concat(l.slice(1)),n=l=a,p=f,q=k.length;2>q&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var y=null!==k[1]&&!1,C=!1,m=1;m<k.length;++m)if(null!==k[m]&&void 0===k[m].ga){C=!0;break}var Za="void"!==k[0].name,M="",S="";for(m=0;m<q-2;++m)M+=(0!==m?", ":"")+"arg"+m,S+=(0!==m?", ":"")+"arg"+m+"Wired";n="return function "+Ra(n)+"("+M+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+
1023);127>=q?++l:l=2047>=q?l+2:65535>=q?l+3:l+4}return l}:function(){return f.length})(),h=jb(4+k+1);F[h>>2]=k;if(c&&g)ia(f,h+4,k+1);else if(g)for(g=0;g<k;++g){var n=f.charCodeAt(g);255<n&&(U(h),Q("String has UTF-16 code units that do not fit in 8 bits"));A[h+4+g]=n}else for(g=0;g<k;++g)A[h+4+g]=f[g];null!==d&&d.push(U,h);return h},argPackAdvance:8,readValueFromPointer:Pa,P:function(d){U(d)}})},l:function(a,b,c){c=M(c);if(2===b){var d=ka;var f=la;var g=ma;var k=function(){return B};var h=1}else 4=== (q-2)+" args!');\n}\n";C&&(n+="var destructors = [];\n");var $a=C?"destructors":"null";M="throwBindingError invoker fn runDestructors retType classParam".split(" ");p=[T,p,g,fb,k[0],k[1]];y&&(n+="var thisWired = classParam.toWireType("+$a+", this);\n");for(m=0;m<q-2;++m)n+="var arg"+m+"Wired = argType"+m+".toWireType("+$a+", arg"+m+"); // "+k[m+2].name+"\n",M.push("argType"+m),p.push(k[m+2]);y&&(S="thisWired"+(0<S.length?", ":"")+S);n+=(Za?"var rv = ":"")+"invoker(fn"+(0<S.length?", ":"")+S+");\n";
b&&(d=na,f=oa,g=pa,k=function(){return F},h=2);R(a,{name:c,fromWireType:function(n){for(var l=F[n>>2],m=k(),q,x=n+4,C=0;C<=l;++C){var p=n+4+C*b;if(C==l||0==m[p>>h])x=d(x,p-x),void 0===q?q=x:(q+=String.fromCharCode(0),q+=x),x=p+b}U(n);return q},toWireType:function(n,l){"string"!==typeof l&&Q("Cannot pass non-string to C++ string type "+c);var m=g(l),q=jb(4+m+b);F[q>>2]=m>>h;f(l,q+4,m+b);null!==n&&n.push(U,q);return q},argPackAdvance:8,readValueFromPointer:Pa,P:function(n){U(n)}})},s:function(a,b){b= if(C)n+="runDestructors(destructors);\n";else for(m=y?1:2;m<k.length;++m)q=1===m?"thisWired":"arg"+(m-2)+"Wired",null!==k[m].ga&&(n+=q+"_dtor("+q+"); // "+k[m].name+"\n",M.push(q+"_dtor"),p.push(k[m].ga));Za&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");M.push(n+"}\n");k=eb(M).apply(null,p);m=b-1;if(!d.hasOwnProperty(l))throw new Va("Replacing nonexistant public symbol");void 0!==d[l].fa&&void 0!==m?d[l].fa[m]=k:(d[l]=k,d[l].ka=m);return[]})},d:function(a,b,c,e,f){function g(n){return n}
M(b);R(a,{W:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},h:Oa,i:function(a){if(0===a)return T(eb());var b=db[a];a=void 0===b?M(a):b;return T(eb()[a])},n:function(a){4<a&&(S[a].S+=1)},o:function(a,b,c,d){a||Q("Cannot use deleted val. handle = "+a);a=S[a].value;var f=gb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var k="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)k+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+ b=P(b);-1===f&&(f=4294967295);var h=Oa(c);if(0===e){var l=32-8*c;g=function(n){return n<<l>>>l}}var k=-1!=b.indexOf("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(n,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+cb(p)+'" to '+this.name);if(p<e||p>f)throw new TypeError('Passing a number "'+cb(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+e+", "+f+"]!");return k?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:ob(b,
g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",k+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(fb,e,T);gb[b]=f}return f(a,c,d)},a:function(){z()},g:function(a,b){W(a,b||1);throw"longjmp";},y:function(a,b,c){A.copyWithin(a,b,b+c)},k:function(a){var b=A.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+ h,0!==e),ga:null})},c:function(a,b,c){function e(g){g>>=2;var h=K;return new f(J,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ma:!0})},q:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(e){var f=K[e>>2];if(c)for(var g=e+4,h=0;h<=f;++h){var l=e+4+h;if(h==f||0==F[l]){g=g?ma(F,g,l-g):"";if(void 0===k)var k=g;else k+=String.fromCharCode(0),
.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ea.grow(Math.min(2147483648,d)-qa.byteLength+65535>>>16);ua();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},z:function(){return 0},u:function(){},A:function(a,b,c,d){for(var f=0,g=0;g<c;g++){for(var k=E[b+8*g>>2],h=E[b+(8*g+4)>>2],n=0;n<h;n++){var l=A[k+n],m=hb[a];if(0===l||10===l){for(l=0;m[l]&&!(NaN<=l);)++l;l=ha.decode(m.subarray?m.subarray(0,l):new Uint8Array(m.slice(0,l)));(1===a?ca:w)(l);m.length= k+=g;g=l+1}}else{k=Array(f);for(h=0;h<f;++h)k[h]=String.fromCharCode(F[e+4+h]);k=k.join("")}W(e);return k},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||T("Cannot pass non-string to std::string");var h=(c&&g?function(){for(var n=0,p=0;p<f.length;++p){var q=f.charCodeAt(p);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++p)&1023);127>=q?++n:n=2047>=q?n+
0}else m.push(l)}f+=h}E[d>>2]=f;return 0},b:function(){return da},f:kb,w:lb,p:mb,x:nb,c:function(a){da=a}}; 2:65535>=q?n+3:n+4}return n}:function(){return f.length})(),l=wb(4+h+1);K[l>>2]=h;if(c&&g)na(f,l+4,h+1);else if(g)for(g=0;g<h;++g){var k=f.charCodeAt(g);255<k&&(W(l),T("String has UTF-16 code units that do not fit in 8 bits"));F[l+4+g]=k}else for(g=0;g<h;++g)F[l+4+g]=f[g];null!==e&&e.push(W,l);return l},argPackAdvance:8,readValueFromPointer:bb,ga:function(e){W(e)}})},j:function(a,b,c){c=P(c);if(2===b){var e=pa;var f=qa;var g=ra;var h=function(){return G};var l=1}else 4===b&&(e=sa,f=ta,g=ua,h=function(){return K},
(function(){function a(f){e.asm=f.exports;ea=e.asm.C;ua();G=e.asm.L;wa.unshift(e.asm.D);H--;e.monitorRunDependencies&&e.monitorRunDependencies(H);0==H&&(null!==za&&(clearInterval(za),za=null),J&&(f=J,J=null,f()))}function b(f){a(f.instance)}function c(f){return Ba().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){w("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:ob};H++;e.monitorRunDependencies&&e.monitorRunDependencies(H);if(e.instantiateWasm)try{return e.instantiateWasm(d, l=2);U(a,{name:c,fromWireType:function(k){for(var n=K[k>>2],p=h(),q,y=k+4,C=0;C<=n;++C){var m=k+4+C*b;if(C==n||0==p[m>>l])y=e(y,m-y),void 0===q?q=y:(q+=String.fromCharCode(0),q+=y),y=m+b}W(k);return q},toWireType:function(k,n){"string"!==typeof n&&T("Cannot pass non-string to C++ string type "+c);var p=g(n),q=wb(4+p+b);K[q>>2]=p>>l;f(n,q+4,p+b);null!==k&&k.push(W,q);return q},argPackAdvance:8,readValueFromPointer:bb,ga:function(k){W(k)}})},E:function(a,b){b=P(b);U(a,{na:!0,name:b,argPackAdvance:0,
a)}catch(f){return w("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return y||"function"!==typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){w("wasm streaming compile failed: "+g);w("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})(); fromWireType:function(){},toWireType:function(){}})},n:Ya,F:function(a){if(0===a)return ab(qb());var b=pb[a];a=void 0===b?P(a):b;return ab(qb()[a])},w:function(a){4<a&&(V[a].ia+=1)},l:function(a,b,c,e){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var f=sb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var h="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)h+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.D).apply(null,arguments)};var jb=e._malloc=function(){return(jb=e._malloc=e.asm.E).apply(null,arguments)},U=e._free=function(){return(U=e._free=e.asm.F).apply(null,arguments)},ab=e.___getTypeName=function(){return(ab=e.___getTypeName=e.asm.G).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.H).apply(null,arguments)}; g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",h+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(rb,d,ab);sb[b]=f}return f(a,c,e)},k:function(){A()},s:function(){B("missing function: aom_codec_av1_cx");A(-1)},e:function(a,b){X(a,b||1);throw"longjmp";},A:function(a,b,c){F.copyWithin(a,b,b+c)},f:function(a){a>>>=0;var b=F.length;
var X=e.stackSave=function(){return(X=e.stackSave=e.asm.I).apply(null,arguments)},Y=e.stackRestore=function(){return(Y=e.stackRestore=e.asm.J).apply(null,arguments)},W=e._setThrew=function(){return(W=e._setThrew=e.asm.K).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.M).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.N).apply(null,arguments)}; if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0<e%65536&&(e+=65536-e%65536);a:{try{E.grow(Math.min(2147483648,e)-J.byteLength+65535>>>16);ya(E.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},B:function(){return 0},x:function(){},o:function(a,b,c,e){for(var f=0,g=0;g<c;g++){for(var h=I[b+8*g>>2],l=I[b+(8*g+4)>>2],k=0;k<l;k++){var n=F[h+k],p=tb[a];0===n||10===n?((1===a?ha:B)(ma(p,0)),p.length=0):p.push(n)}f+=l}I[e>>
function nb(a,b,c,d,f,g,k,h){var n=X();try{G.get(a)(b,c,d,f,g,k,h)}catch(l){Y(n);if(l!==l+0&&"longjmp"!==l)throw l;W(1,0)}}function mb(a,b,c,d,f){var g=X();try{G.get(a)(b,c,d,f)}catch(k){Y(g);if(k!==k+0&&"longjmp"!==k)throw k;W(1,0)}}function kb(a,b,c){var d=X();try{return G.get(a)(b,c)}catch(f){Y(d);if(f!==f+0&&"longjmp"!==f)throw f;W(1,0)}}function lb(a,b,c,d,f){var g=X();try{return G.get(a)(b,c,d,f)}catch(k){Y(g);if(k!==k+0&&"longjmp"!==k)throw k;W(1,0)}}var Z;J=function pb(){Z||qb();Z||(J=pb)}; 2]=f;return 0},a:function(){return ia|0},h:xb,y:yb,z:zb,g:Ab,m:Bb,i:Cb,memory:E,b:function(a){ia=a|0},table:ja};
function qb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!fa)){Ca(wa);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();xa.unshift(b)}Ca(xa)}}if(!(0<H)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)ya();Ca(va);0<H||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=qb; (function(){function a(f){d.asm=f.exports;L--;d.monitorRunDependencies&&d.monitorRunDependencies(L);0==L&&(null!==Ga&&(clearInterval(Ga),Ga=null),N&&(f=N,N=null,f()))}function b(f){a(f.instance)}function c(f){return La().then(function(g){return WebAssembly.instantiate(g,e)}).then(f,function(g){B("failed to asynchronously prepare wasm: "+g);A(g)})}var e={a:Db};L++;d.monitorRunDependencies&&d.monitorRunDependencies(L);if(d.instantiateWasm)try{return d.instantiateWasm(e,a)}catch(f){return B("Module.instantiateWasm callback failed with error: "+
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();qb(); f),!1}(function(){if(D||"function"!==typeof WebAssembly.instantiateStreaming||Ia()||Ha("file://")||"function"!==typeof fetch)return c(b);fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){B("wasm streaming compile failed: "+g);B("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Ma=d.___wasm_call_ctors=function(){return(Ma=d.___wasm_call_ctors=d.asm.G).apply(null,arguments)},wb=d._malloc=function(){return(wb=d._malloc=d.asm.H).apply(null,arguments)},W=d._free=function(){return(W=d._free=d.asm.I).apply(null,arguments)},mb=d.___getTypeName=function(){return(mb=d.___getTypeName=d.asm.J).apply(null,arguments)};d.___embind_register_native_and_builtin_types=function(){return(d.___embind_register_native_and_builtin_types=d.asm.K).apply(null,arguments)};
var X=d._setThrew=function(){return(X=d._setThrew=d.asm.L).apply(null,arguments)},Y=d.stackSave=function(){return(Y=d.stackSave=d.asm.M).apply(null,arguments)},Z=d.stackRestore=function(){return(Z=d.stackRestore=d.asm.N).apply(null,arguments)},Eb=d.dynCall_v=function(){return(Eb=d.dynCall_v=d.asm.O).apply(null,arguments)},Fb=d.dynCall_vi=function(){return(Fb=d.dynCall_vi=d.asm.P).apply(null,arguments)},Gb=d.dynCall_vii=function(){return(Gb=d.dynCall_vii=d.asm.Q).apply(null,arguments)},Hb=d.dynCall_viiii=
function(){return(Hb=d.dynCall_viiii=d.asm.R).apply(null,arguments)};d.dynCall_ii=function(){return(d.dynCall_ii=d.asm.S).apply(null,arguments)};var Ib=d.dynCall_iii=function(){return(Ib=d.dynCall_iii=d.asm.T).apply(null,arguments)};d.dynCall_iiii=function(){return(d.dynCall_iiii=d.asm.U).apply(null,arguments)};var Jb=d.dynCall_iiiii=function(){return(Jb=d.dynCall_iiiii=d.asm.V).apply(null,arguments)};d.dynCall_viiiiii=function(){return(d.dynCall_viiiiii=d.asm.W).apply(null,arguments)};
d.dynCall_viiiiiiii=function(){return(d.dynCall_viiiiiiii=d.asm.X).apply(null,arguments)};d.dynCall_viiiiiiiiiii=function(){return(d.dynCall_viiiiiiiiiii=d.asm.Y).apply(null,arguments)};d.dynCall_viii=function(){return(d.dynCall_viii=d.asm.Z).apply(null,arguments)};d.dynCall_viiiiiii=function(){return(d.dynCall_viiiiiii=d.asm._).apply(null,arguments)};d.dynCall_iiiiiii=function(){return(d.dynCall_iiiiiii=d.asm.$).apply(null,arguments)};
d.dynCall_iidiiii=function(){return(d.dynCall_iidiiii=d.asm.aa).apply(null,arguments)};d.dynCall_i=function(){return(d.dynCall_i=d.asm.ba).apply(null,arguments)};d.dynCall_viiiiiiiiii=function(){return(d.dynCall_viiiiiiiiii=d.asm.ca).apply(null,arguments)};d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.da).apply(null,arguments)};d.dynCall_viiiii=function(){return(d.dynCall_viiiii=d.asm.ea).apply(null,arguments)};
function Bb(a,b,c){var e=Y();try{Gb(a,b,c)}catch(f){Z(e);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function Cb(a,b,c,e,f){var g=Y();try{Hb(a,b,c,e,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function xb(a,b,c){var e=Y();try{return Ib(a,b,c)}catch(f){Z(e);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function Ab(a,b){var c=Y();try{Fb(a,b)}catch(e){Z(c);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function zb(a){var b=Y();try{Eb(a)}catch(c){Z(b);if(c!==c+0&&"longjmp"!==c)throw c;X(1,0)}}
function yb(a,b,c,e,f){var g=Y();try{return Jb(a,b,c,e,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}var Kb;N=function Lb(){Kb||Mb();Kb||(N=Lb)};
function Mb(){function a(){if(!Kb&&(Kb=!0,d.calledRun=!0,!ka)){Aa(Ca);Aa(Da);aa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var b=d.postRun.shift();Ea.unshift(b)}Aa(Ea)}}if(!(0<L)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)Fa();Aa(Ba);0<L||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}
d.run=Mb;if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();noExitRuntime=!0;Mb();
return Module.ready return avif_dec.ready
} }
); );
})(); })();
export default Module; if (typeof exports === 'object' && typeof module === 'object')
module.exports = avif_dec;
else if (typeof define === 'function' && define['amd'])
define([], function() { return avif_dec; });
else if (typeof exports === 'object')
exports["avif_dec"] = avif_dec;

BIN
codecs/avif/dec/avif_dec.wasm Executable file → Normal file

Binary file not shown.

View File

@@ -1,57 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var ba,v,ca,da;ba=function(a){ca||(ca=require("fs"));da||(da=require("path"));a=da.normalize(a);return ca.readFileSync(a,null)};v=function(a){a=ba(a);a.buffer||(a=new Uint8Array(a));a.buffer||w("Assertion failed: undefined");return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);
process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",w);e.inspect=function(){return"[Emscripten Module object]"};var ea=e.print||console.log.bind(console),y=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var fa=0,z;e.wasmBinary&&(z=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&w("no native wasm support detected");var ha,ia=!1,ja=new TextDecoder("utf8");
function ka(a,b,c){var d=A;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var la=new TextDecoder("utf-16le");
function ma(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&B[c];)++c;return la.decode(A.subarray(a,c<<1))}function na(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)D[b>>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function oa(a){return 2*a.length}function pa(a,b){for(var c=0,d="";!(c>=b/4);){var f=E[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
function qa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}E[b>>2]=g;b+=4;if(b+4>c)break}E[b>>2]=0;return b-d}function ra(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var sa,ta,A,D,B,E,F,ua,va;
function wa(){var a=ha.buffer;sa=a;e.HEAP8=ta=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=E=new Int32Array(a);e.HEAPU8=A=new Uint8Array(a);e.HEAPU16=B=new Uint16Array(a);e.HEAPU32=F=new Uint32Array(a);e.HEAPF32=ua=new Float32Array(a);e.HEAPF64=va=new Float64Array(a)}var H,xa=[],ya=[],za=[];function Aa(){var a=e.preRun.shift();xa.unshift(a)}var I=0,Ba=null,J=null;e.preloadedImages={};e.preloadedAudios={};
function w(a){if(e.onAbort)e.onAbort(a);y(a);ia=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var L=(new URL("avif_node_dec.wasm",import.meta.url)).toString();function Ca(){return Promise.resolve().then(function(){a:{try{if(L==L&&z){var a=new Uint8Array(z);break a}if(v){a=v(L);break a}throw"both async and sync fetching of the wasm failed";}catch(b){w(b)}a=void 0}return a})}
function Da(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.V;"number"===typeof c?void 0===b.R?H.get(c)():H.get(c)(b.R):c(void 0===b.R?null:b.R)}}}function Ea(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Fa=void 0;function M(a){for(var b="";A[a];)b+=Fa[A[a++]];return b}var N={},O={},P={};
function Ga(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ha(a,b){a=Ga(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ia(a){var b=Error,c=Ha(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ja=void 0;function Q(a){throw new Ja(a);}var Ka=void 0;
function La(a,b){function c(k){k=b(k);if(k.length!==d.length)throw new Ka("Mismatched type converter count");for(var l=0;l<d.length;++l)R(d[l],k[l])}var d=[];d.forEach(function(k){P[k]=a});var f=Array(a.length),g=[],h=0;a.forEach(function(k,l){O.hasOwnProperty(k)?f[l]=O[k]:(g.push(k),N.hasOwnProperty(k)||(N[k]=[]),N[k].push(function(){f[l]=O[k];++h;h===g.length&&c(f)}))});0===g.length&&c(f)}
function R(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||Q('type "'+d+'" must have a positive integer typeid pointer');if(O.hasOwnProperty(a)){if(c.U)return;Q("Cannot register type '"+d+"' twice")}O[a]=b;delete P[a];N.hasOwnProperty(a)&&(b=N[a],delete N[a],b.forEach(function(f){f()}))}var Oa=[],S=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Pa(a){4<a&&0===--S[a].S&&(S[a]=void 0,Oa.push(a))}function T(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Oa.length?Oa.pop():S.length;S[b]={S:1,value:a};return b}}function Qa(a){return this.fromWireType(F[a>>2])}function Ra(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Sa(a,b){switch(b){case 2:return function(c){return this.fromWireType(ua[c>>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Ta(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ha(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Ua(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Va(a,b){var c=e;if(void 0===c[a].O){var d=c[a];c[a]=function(){c[a].O.hasOwnProperty(arguments.length)||Q("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].O+")!");return c[a].O[arguments.length].apply(this,arguments)};c[a].O=[];c[a].O[d.T]=d}}
function Wa(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].O&&void 0!==e[a].O[c])&&Q("Cannot register public name '"+a+"' twice"),Va(a,a),e.hasOwnProperty(c)&&Q("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].O[c]=b):(e[a]=b,void 0!==c&&(e[a].X=c))}function Xa(a,b){for(var c=[],d=0;d<a;d++)c.push(E[(b>>2)+d]);return c}
function Ya(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=H.get(b).apply(null,c);return d}}function Za(a,b){a=M(a);var c=a.includes("j")?Ya(a,b):H.get(b);"function"!==typeof c&&Q("unknown function pointer with signature "+a+": "+b);return c}var $a=void 0;function ab(a){a=bb(a);var b=M(a);U(a);return b}
function cb(a,b){function c(g){f[g]||O[g]||(P[g]?P[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new $a(a+": "+d.map(ab).join([", "]));}function db(a,b,c){switch(b){case 0:return c?function(d){return ta[d]}:function(d){return A[d]};case 1:return c?function(d){return D[d>>1]}:function(d){return B[d>>1]};case 2:return c?function(d){return E[d>>2]}:function(d){return F[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var eb={};
function fb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function gb(a,b){var c=O[a];void 0===c&&Q(b+" has unknown type "+ab(a));return c}for(var hb={},ib=[null,[],[]],jb=Array(256),V=0;256>V;++V)jb[V]=String.fromCharCode(V);Fa=jb;Ja=e.BindingError=Ia("BindingError");Ka=e.InternalError=Ia("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<S.length;++b)void 0!==S[b]&&++a;return a};
e.get_first_emval=function(){for(var a=5;a<S.length;++a)if(void 0!==S[a])return S[a];return null};$a=e.UnboundTypeError=Ia("UnboundTypeError");
var pb={j:function(){},v:function(){},r:function(a,b,c,d,f){var g=Ea(c);b=M(b);R(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var k=ta;else if(2===c)k=D;else if(4===c)k=E;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},P:null})},B:function(a,b){b=M(b);R(a,{name:b,fromWireType:function(c){var d=S[c].value;Pa(c);return d},toWireType:function(c,d){return T(d)},
argPackAdvance:8,readValueFromPointer:Qa,P:null})},q:function(a,b,c){c=Ea(c);b=M(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Ra(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Sa(b,c),P:null})},t:function(a,b,c,d,f,g){var h=Xa(b,c);a=M(a);f=Za(d,f);Wa(a,function(){cb("Cannot call "+a+" due to unbound types",h)},b-1);La(h,function(k){var l=[k[0],null].concat(k.slice(1)),
m=k=a,n=f,p=l.length;2>p&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==l[1]&&!1,C=!1,q=1;q<l.length;++q)if(null!==l[q]&&void 0===l[q].P){C=!0;break}var Ma="void"!==l[0].name,G="",K="";for(q=0;q<p-2;++q)G+=(0!==q?", ":"")+"arg"+q,K+=(0!==q?", ":"")+"arg"+q+"Wired";m="return function "+Ga(m)+"("+G+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";
C&&(m+="var destructors = [];\n");var Na=C?"destructors":"null";G="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[Q,n,g,Ua,l[0],l[1]];x&&(m+="var thisWired = classParam.toWireType("+Na+", this);\n");for(q=0;q<p-2;++q)m+="var arg"+q+"Wired = argType"+q+".toWireType("+Na+", arg"+q+"); // "+l[q+2].name+"\n",G.push("argType"+q),n.push(l[q+2]);x&&(K="thisWired"+(0<K.length?", ":"")+K);m+=(Ma?"var rv = ":"")+"invoker(fn"+(0<K.length?", ":"")+K+");\n";if(C)m+="runDestructors(destructors);\n";
else for(q=x?1:2;q<l.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==l[q].P&&(m+=p+"_dtor("+p+"); // "+l[q].name+"\n",G.push(p+"_dtor"),n.push(l[q].P));Ma&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");G.push(m+"}\n");l=Ta(G).apply(null,n);q=b-1;if(!e.hasOwnProperty(k))throw new Ka("Replacing nonexistant public symbol");void 0!==e[k].O&&void 0!==q?e[k].O[q]=l:(e[k]=l,e[k].T=q);return[]})},e:function(a,b,c,d,f){function g(m){return m}b=M(b);-1===f&&(f=4294967295);var h=Ea(c);
if(0===d){var k=32-8*c;g=function(m){return m<<k>>>k}}var l=b.includes("unsigned");R(a,{name:b,fromWireType:g,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Ra(n)+'" to '+this.name);if(n<d||n>f)throw new TypeError('Passing a number "'+Ra(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return l?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:db(b,h,0!==d),P:null})},d:function(a,
b,c){function d(g){g>>=2;var h=F;return new f(sa,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=M(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{U:!0})},m:function(a,b){b=M(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var f=F[d>>2];if(c)for(var g=d+4,h=0;h<=f;++h){var k=d+4+h;if(h==f||0==A[k]){if(g){for(var l=g+(k-g),m=g;!(m>=l)&&A[m];)++m;g=ja.decode(A.subarray(g,m))}else g="";if(void 0===
n)var n=g;else n+=String.fromCharCode(0),n+=g;g=k+1}}else{n=Array(f);for(h=0;h<f;++h)n[h]=String.fromCharCode(A[d+4+h]);n=n.join("")}U(d);return n},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||Q("Cannot pass non-string to std::string");var h=(c&&g?function(){for(var m=0,n=0;n<f.length;++n){var p=f.charCodeAt(n);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|f.charCodeAt(++n)&
1023);127>=p?++m:m=2047>=p?m+2:65535>=p?m+3:m+4}return m}:function(){return f.length})(),k=kb(4+h+1);F[k>>2]=h;if(c&&g)ka(f,k+4,h+1);else if(g)for(g=0;g<h;++g){var l=f.charCodeAt(g);255<l&&(U(k),Q("String has UTF-16 code units that do not fit in 8 bits"));A[k+4+g]=l}else for(g=0;g<h;++g)A[k+4+g]=f[g];null!==d&&d.push(U,k);return k},argPackAdvance:8,readValueFromPointer:Qa,P:function(d){U(d)}})},l:function(a,b,c){c=M(c);if(2===b){var d=ma;var f=na;var g=oa;var h=function(){return B};var k=1}else 4===
b&&(d=pa,f=qa,g=ra,h=function(){return F},k=2);R(a,{name:c,fromWireType:function(l){for(var m=F[l>>2],n=h(),p,x=l+4,C=0;C<=m;++C){var q=l+4+C*b;if(C==m||0==n[q>>k])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}U(l);return p},toWireType:function(l,m){"string"!==typeof m&&Q("Cannot pass non-string to C++ string type "+c);var n=g(m),p=kb(4+n+b);F[p>>2]=n>>k;f(m,p+4,n+b);null!==l&&l.push(U,p);return p},argPackAdvance:8,readValueFromPointer:Qa,P:function(l){U(l)}})},s:function(a,b){b=
M(b);R(a,{W:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},h:Pa,i:function(a){if(0===a)return T(fb());var b=eb[a];a=void 0===b?M(a):b;return T(fb()[a])},n:function(a){4<a&&(S[a].S+=1)},o:function(a,b,c,d){a||Q("Cannot use deleted val. handle = "+a);a=S[a].value;var f=hb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var h="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)h+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",h+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(gb,e,T);hb[b]=f}return f(a,c,d)},a:function(){w()},g:function(a,b){W(a,b||1);throw"longjmp";},y:function(a,b,c){A.copyWithin(a,b,b+c)},k:function(a){var b=A.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+
.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ha.grow(Math.min(2147483648,d)-sa.byteLength+65535>>>16);wa();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},z:function(){return 0},u:function(){},A:function(a,b,c,d){for(var f=0,g=0;g<c;g++){for(var h=E[b+8*g>>2],k=E[b+(8*g+4)>>2],l=0;l<k;l++){var m=A[h+l],n=ib[a];if(0===m||10===m){m=1===a?ea:y;var p;for(p=0;n[p]&&!(NaN<=p);)++p;p=ja.decode(n.subarray?n.subarray(0,p):new Uint8Array(n.slice(0,p)));m(p);
n.length=0}else n.push(m)}f+=k}E[d>>2]=f;return 0},b:function(){return fa},f:lb,w:mb,p:nb,x:ob,c:function(a){fa=a}};
(function(){function a(f){e.asm=f.exports;ha=e.asm.C;wa();H=e.asm.L;ya.unshift(e.asm.D);I--;e.monitorRunDependencies&&e.monitorRunDependencies(I);0==I&&(null!==Ba&&(clearInterval(Ba),Ba=null),J&&(f=J,J=null,f()))}function b(f){a(f.instance)}function c(f){return Ca().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){y("failed to asynchronously prepare wasm: "+g);w(g)})}var d={a:pb};I++;e.monitorRunDependencies&&e.monitorRunDependencies(I);if(e.instantiateWasm)try{return e.instantiateWasm(d,
a)}catch(f){return y("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return z||"function"!==typeof WebAssembly.instantiateStreaming||L.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(L,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){y("wasm streaming compile failed: "+g);y("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.D).apply(null,arguments)};var kb=e._malloc=function(){return(kb=e._malloc=e.asm.E).apply(null,arguments)},U=e._free=function(){return(U=e._free=e.asm.F).apply(null,arguments)},bb=e.___getTypeName=function(){return(bb=e.___getTypeName=e.asm.G).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.H).apply(null,arguments)};
var X=e.stackSave=function(){return(X=e.stackSave=e.asm.I).apply(null,arguments)},Y=e.stackRestore=function(){return(Y=e.stackRestore=e.asm.J).apply(null,arguments)},W=e._setThrew=function(){return(W=e._setThrew=e.asm.K).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.M).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.N).apply(null,arguments)};
function ob(a,b,c,d,f,g,h,k){var l=X();try{H.get(a)(b,c,d,f,g,h,k)}catch(m){Y(l);if(m!==m+0&&"longjmp"!==m)throw m;W(1,0)}}function nb(a,b,c,d,f){var g=X();try{H.get(a)(b,c,d,f)}catch(h){Y(g);if(h!==h+0&&"longjmp"!==h)throw h;W(1,0)}}function lb(a,b,c){var d=X();try{return H.get(a)(b,c)}catch(f){Y(d);if(f!==f+0&&"longjmp"!==f)throw f;W(1,0)}}function mb(a,b,c,d,f){var g=X();try{return H.get(a)(b,c,d,f)}catch(h){Y(g);if(h!==h+0&&"longjmp"!==h)throw h;W(1,0)}}var Z;J=function qb(){Z||rb();Z||(J=qb)};
function rb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!ia)){Da(ya);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();za.unshift(b)}Da(za)}}if(!(0<I)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Aa();Da(xa);0<I||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=rb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();rb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1,6 +1,6 @@
#include <emscripten/bind.h> #include <emscripten/bind.h>
#include <emscripten/threading.h>
#include <emscripten/val.h> #include <emscripten/val.h>
#include <emscripten/threading.h>
#include "avif/avif.h" #include "avif/avif.h"
using namespace emscripten; using namespace emscripten;
@@ -9,9 +9,10 @@ struct AvifOptions {
// [0 - 63] // [0 - 63]
// 0 = lossless // 0 = lossless
// 63 = worst quality // 63 = worst quality
int cqLevel; int minQuantizer;
// As above, but -1 means 'use cqLevel' int maxQuantizer;
int cqAlphaLevel; int minQuantizerAlpha;
int maxQuantizerAlpha;
// [0 - 6] // [0 - 6]
// Creates 2^n tiles in that dimension // Creates 2^n tiles in that dimension
int tileRowsLog2; int tileRowsLog2;
@@ -25,16 +26,6 @@ struct AvifOptions {
// 2 = 4:2:2 // 2 = 4:2:2
// 3 = 4:4:4 // 3 = 4:4:4
int subsample; int subsample;
// Extra chroma compression
bool chromaDeltaQ;
// 0-7
int sharpness;
// 0 = auto
// 1 = PSNR
// 2 = SSIM
int tune;
// 0-50
int denoiseLevel;
}; };
thread_local const val Uint8Array = val::global("Uint8Array"); thread_local const val Uint8Array = val::global("Uint8Array");
@@ -58,19 +49,21 @@ val encode(std::string buffer, int width, int height, AvifOptions options) {
break; break;
} }
bool lossless = options.cqLevel == AVIF_QUANTIZER_LOSSLESS &&
options.cqAlphaLevel <= AVIF_QUANTIZER_LOSSLESS &&
format == AVIF_PIXEL_FORMAT_YUV444;
avifImage* image = avifImageCreate(width, height, depth, format); avifImage* image = avifImageCreate(width, height, depth, format);
if (lossless) { if (
options.maxQuantizer == AVIF_QUANTIZER_LOSSLESS &&
options.minQuantizer == AVIF_QUANTIZER_LOSSLESS &&
options.minQuantizerAlpha == AVIF_QUANTIZER_LOSSLESS &&
options.maxQuantizerAlpha == AVIF_QUANTIZER_LOSSLESS &&
format == AVIF_PIXEL_FORMAT_YUV444
) {
image->matrixCoefficients = AVIF_MATRIX_COEFFICIENTS_IDENTITY; image->matrixCoefficients = AVIF_MATRIX_COEFFICIENTS_IDENTITY;
} else { } else {
image->matrixCoefficients = AVIF_MATRIX_COEFFICIENTS_BT601; image->matrixCoefficients = AVIF_MATRIX_COEFFICIENTS_BT709;
} }
uint8_t* rgba = reinterpret_cast<uint8_t*>(const_cast<char*>(buffer.data())); uint8_t* rgba = (uint8_t*)buffer.c_str();
avifRGBImage srcRGB; avifRGBImage srcRGB;
avifRGBImageSetDefaults(&srcRGB, image); avifRGBImageSetDefaults(&srcRGB, image);
@@ -79,44 +72,14 @@ val encode(std::string buffer, int width, int height, AvifOptions options) {
avifImageRGBToYUV(image, &srcRGB); avifImageRGBToYUV(image, &srcRGB);
avifEncoder* encoder = avifEncoderCreate(); avifEncoder* encoder = avifEncoderCreate();
if (lossless) {
encoder->minQuantizer = AVIF_QUANTIZER_LOSSLESS;
encoder->maxQuantizer = AVIF_QUANTIZER_LOSSLESS;
encoder->minQuantizerAlpha = AVIF_QUANTIZER_LOSSLESS;
encoder->maxQuantizerAlpha = AVIF_QUANTIZER_LOSSLESS;
} else {
encoder->minQuantizer = AVIF_QUANTIZER_BEST_QUALITY;
encoder->maxQuantizer = AVIF_QUANTIZER_WORST_QUALITY;
encoder->minQuantizerAlpha = AVIF_QUANTIZER_BEST_QUALITY;
encoder->maxQuantizerAlpha = AVIF_QUANTIZER_WORST_QUALITY;
avifEncoderSetCodecSpecificOption(encoder, "end-usage", "q");
avifEncoderSetCodecSpecificOption(encoder, "cq-level", std::to_string(options.cqLevel).c_str());
avifEncoderSetCodecSpecificOption(encoder, "sharpness",
std::to_string(options.sharpness).c_str());
if (options.cqAlphaLevel != -1) {
avifEncoderSetCodecSpecificOption(encoder, "alpha:cq-level",
std::to_string(options.cqAlphaLevel).c_str());
}
if (options.tune == 2 || (options.tune == 0 && options.cqLevel <= 32)) {
avifEncoderSetCodecSpecificOption(encoder, "tune", "ssim");
}
if (options.chromaDeltaQ) {
avifEncoderSetCodecSpecificOption(encoder, "enable-chroma-deltaq", "1");
}
avifEncoderSetCodecSpecificOption(encoder, "color:denoise-noise-level",
std::to_string(options.denoiseLevel).c_str());
}
encoder->maxThreads = emscripten_num_logical_cores(); encoder->maxThreads = emscripten_num_logical_cores();
encoder->minQuantizer = options.minQuantizer;
encoder->maxQuantizer = options.maxQuantizer;
encoder->minQuantizerAlpha = options.minQuantizerAlpha;
encoder->maxQuantizerAlpha = options.maxQuantizerAlpha;
encoder->tileRowsLog2 = options.tileRowsLog2; encoder->tileRowsLog2 = options.tileRowsLog2;
encoder->tileColsLog2 = options.tileColsLog2; encoder->tileColsLog2 = options.tileColsLog2;
encoder->speed = options.speed; encoder->speed = options.speed;
avifResult encodeResult = avifEncoderWrite(encoder, image, &output); avifResult encodeResult = avifEncoderWrite(encoder, image, &output);
auto js_result = val::null(); auto js_result = val::null();
if (encodeResult == AVIF_RESULT_OK) { if (encodeResult == AVIF_RESULT_OK) {
@@ -131,15 +94,13 @@ val encode(std::string buffer, int width, int height, AvifOptions options) {
EMSCRIPTEN_BINDINGS(my_module) { EMSCRIPTEN_BINDINGS(my_module) {
value_object<AvifOptions>("AvifOptions") value_object<AvifOptions>("AvifOptions")
.field("cqLevel", &AvifOptions::cqLevel) .field("minQuantizer", &AvifOptions::minQuantizer)
.field("cqAlphaLevel", &AvifOptions::cqAlphaLevel) .field("maxQuantizer", &AvifOptions::maxQuantizer)
.field("minQuantizerAlpha", &AvifOptions::minQuantizerAlpha)
.field("maxQuantizerAlpha", &AvifOptions::maxQuantizerAlpha)
.field("tileRowsLog2", &AvifOptions::tileRowsLog2) .field("tileRowsLog2", &AvifOptions::tileRowsLog2)
.field("tileColsLog2", &AvifOptions::tileColsLog2) .field("tileColsLog2", &AvifOptions::tileColsLog2)
.field("speed", &AvifOptions::speed) .field("speed", &AvifOptions::speed)
.field("chromaDeltaQ", &AvifOptions::chromaDeltaQ)
.field("sharpness", &AvifOptions::sharpness)
.field("tune", &AvifOptions::tune)
.field("denoiseLevel", &AvifOptions::denoiseLevel)
.field("subsample", &AvifOptions::subsample); .field("subsample", &AvifOptions::subsample);
function("encode", &encode); function("encode", &encode);

View File

@@ -1,31 +1,7 @@
export const enum AVIFTune { import { EncodeOptions } from '../../../src/codecs/avif/encoder-meta';
auto,
psnr, interface AVIFModule extends EmscriptenWasm.Module {
ssim, encode(data: BufferSource, width: number, height: number, options: EncodeOptions): Uint8Array | null;
} }
export interface EncodeOptions { export default function(opts: EmscriptenWasm.ModuleOpts): Promise<AVIFModule>;
cqLevel: number;
denoiseLevel: number;
cqAlphaLevel: number;
tileRowsLog2: number;
tileColsLog2: number;
speed: number;
subsample: number;
chromaDeltaQ: boolean;
sharpness: number;
tune: AVIFTune;
}
export interface AVIFModule extends EmscriptenWasm.Module {
encode(
data: BufferSource,
width: number,
height: number,
options: EncodeOptions,
): Uint8Array | null;
}
declare var moduleFactory: EmscriptenWasm.ModuleFactory<AVIFModule>;
export default moduleFactory;

View File

@@ -1,63 +1,113 @@
var Module = (function() { var avif_enc = (function() {
var _scriptDir = import.meta.url; var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return ( return (
function(Module) { function(avif_enc) {
Module = Module || {}; avif_enc = avif_enc || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ba;e.ready=new Promise(function(a,b){aa=a;ba=b});var u={},v;for(v in e)e.hasOwnProperty(v)&&(u[v]=e[v]);var w="",da;w=self.location.href;_scriptDir&&(w=_scriptDir);0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="";da=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var ea=e.print||console.log.bind(console),x=e.printErr||console.warn.bind(console); var f;f||(f=typeof avif_enc !== 'undefined' ? avif_enc : {});var aa,ba;f.ready=new Promise(function(a,b){aa=a;ba=b});var ca={},m;for(m in f)f.hasOwnProperty(m)&&(ca[m]=f[m]);var da=!1,r=!1,ea=!1,fa=!1;da="object"===typeof window;r="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!da&&!ea&&!r;var u="",ha,ia,ja,ka;
for(v in u)u.hasOwnProperty(v)&&(e[v]=u[v]);u=null;var fa=0,y;e.wasmBinary&&(y=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&z("no native wasm support detected");var ha,ia=!1,ja=new TextDecoder("utf8"); if(ea)u=r?require("path").dirname(u)+"/":__dirname+"/",ha=function(a,b){ja||(ja=require("fs"));ka||(ka=require("path"));a=ka.normalize(a);return ja.readFileSync(a,b?null:"utf8")},ia=function(a){a=ha(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(a){throw a;}),process.on("unhandledRejection",x),f.inspect=function(){return"[Emscripten Module object]"};else if(fa)"undefined"!=
function ka(a,b,c){var d=B;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var la=new TextDecoder("utf-16le"); typeof read&&(ha=function(a){return read(a)}),ia=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(da||r)r?u=self.location.href:document.currentScript&&(u=document.currentScript.src),_scriptDir&&(u=_scriptDir),0!==u.indexOf("blob:")?u=u.substr(0,
function ma(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&C[c];)++c;return la.decode(B.subarray(a,c<<1))}function na(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)D[b>>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function oa(a){return 2*a.length}function pa(a,b){for(var c=0,d="";!(c>=b/4);){var f=E[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d} u.lastIndexOf("/")+1):u="",ha=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},r&&(ia=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var la=f.print||console.log.bind(console),z=f.printErr||console.warn.bind(console);for(m in ca)ca.hasOwnProperty(m)&&(f[m]=ca[m]);ca=null;var ma=0,na;f.wasmBinary&&(na=f.wasmBinary);var noExitRuntime;f.noExitRuntime&&(noExitRuntime=f.noExitRuntime);
function qa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}E[b>>2]=g;b+=4;if(b+4>c)break}E[b>>2]=0;return b-d}function ra(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var sa,ta,B,D,C,E,F,ua,va; "object"!==typeof WebAssembly&&x("no native wasm support detected");var A,oa=new WebAssembly.Table({initial:901,maximum:901,element:"anyfunc"}),pa=!1;function assert(a,b){a||x("Assertion failed: "+b)}var qa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function wa(){var a=ha.buffer;sa=a;e.HEAP8=ta=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=E=new Int32Array(a);e.HEAPU8=B=new Uint8Array(a);e.HEAPU16=C=new Uint16Array(a);e.HEAPU32=F=new Uint32Array(a);e.HEAPF32=ua=new Float32Array(a);e.HEAPF64=va=new Float64Array(a)}var G,xa=[],ya=[],za=[];function Aa(){var a=e.preRun.shift();xa.unshift(a)}var H=0,Ba=null,J=null;e.preloadedImages={};e.preloadedAudios={}; function B(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&qa)return qa.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|h:(e&7)<<18|g<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
function z(a){if(e.onAbort)e.onAbort(a);x(a);ia=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}var K=(new URL("avif_enc.wasm",import.meta.url)).toString();function Ca(){try{if(K==K&&y)return new Uint8Array(y);if(da)return da(K);throw"both async and sync fetching of the wasm failed";}catch(a){z(a)}} function sa(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var k=a.charCodeAt(++g);h=65536+((h&1023)<<10)|k&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}
function Da(){return y||"function"!==typeof fetch?Promise.resolve().then(function(){return Ca()}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Ca()})}function Ea(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.va;"number"===typeof c?void 0===b.ga?G.get(c)():G.get(c)(b.ga):c(void 0===b.ga?null:b.ga)}}}var Fa=[null,[],[]],Ga={},L={}; function ta(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32<c-a&&ua)return ua.decode(C.subarray(a,c));c=0;for(d="";;){var e=E[a+2*c>>1];if(0==e||c==b/2)return d;++c;d+=String.fromCharCode(e)}}
function Ha(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function M(a){return this.fromWireType(F[a>>2])}var N={},O={},P={};function Ia(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ja(a,b){a=Ia(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)} function xa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)E[b>>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var e=F[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function Ka(a){var b=Error,c=Ja(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var La=void 0; function Aa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var g=a.charCodeAt(e);if(55296<=g&&57343>=g){var h=a.charCodeAt(++e);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var G,H,C,E,wa,F,I,Ca,Da;
function Ma(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new La("Mismatched type converter count");for(var n=0;n<a.length;++n)Q(a[n],h[n])}a.forEach(function(h){P[h]=b});var f=Array(b.length),g=[],k=0;b.forEach(function(h,n){O.hasOwnProperty(h)?f[n]=O[h]:(g.push(h),N.hasOwnProperty(h)||(N[h]=[]),N[h].push(function(){f[n]=O[h];++k;k===g.length&&d(f)}))});0===g.length&&d(f)} function Ea(a){G=a;f.HEAP8=H=new Int8Array(a);f.HEAP16=E=new Int16Array(a);f.HEAP32=F=new Int32Array(a);f.HEAPU8=C=new Uint8Array(a);f.HEAPU16=wa=new Uint16Array(a);f.HEAPU32=I=new Uint32Array(a);f.HEAPF32=Ca=new Float32Array(a);f.HEAPF64=Da=new Float64Array(a)}var Fa=f.INITIAL_MEMORY||16777216;f.wasmMemory?A=f.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[219588]=6121392;
function Na(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Oa=void 0;function R(a){for(var b="";B[a];)b+=Oa[B[a++]];return b}var Pa=void 0;function S(a){throw new Pa(a);} function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(f);else{var c=b.qb;"number"===typeof c?void 0===b.Ya?f.dynCall_v(c):f.dynCall_vi(c,b.Ya):c(void 0===b.Ya?null:b.Ya)}}}var Ha=[],Ia=[],Ja=[],Ka=[];function La(){var a=f.preRun.shift();Ha.unshift(a)}var Ma=Math.abs,Na=Math.ceil,Oa=Math.floor,Pa=Math.min,J=0,Qa=null,Ra=null;f.preloadedImages={};f.preloadedAudios={};
function Q(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||S('type "'+d+'" must have a positive integer typeid pointer');if(O.hasOwnProperty(a)){if(c.oa)return;S("Cannot register type '"+d+"' twice")}O[a]=b;delete P[a];N.hasOwnProperty(a)&&(b=N[a],delete N[a],b.forEach(function(f){f()}))}var Qa=[],T=[{},{value:void 0},{value:null},{value:!0},{value:!1}]; function x(a){if(f.onAbort)f.onAbort(a);z(a);pa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Sa(a){var b=K;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ta(){return Sa("data:application/octet-stream;base64,")}var K="avif_enc.wasm";if(!Ta()){var Ua=K;K=f.locateFile?f.locateFile(Ua,u):u+Ua}
function Ra(a){4<a&&0===--T[a].ha&&(T[a]=void 0,Qa.push(a))}function Sa(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Qa.length?Qa.pop():T.length;T[b]={ha:1,value:a};return b}}function Ta(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} function Va(){try{if(na)return new Uint8Array(na);if(ia)return ia(K);throw"both async and sync fetching of the wasm failed";}catch(a){x(a)}}function Wa(){return na||!da&&!r||"function"!==typeof fetch||Sa("file://")?new Promise(function(a){a(Va())}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Va()})}var Xa,Ya;Ia.push({qb:function(){Za()}});function $a(){return 0<$a.Va}
function Ua(a,b){switch(b){case 2:return function(c){return this.fromWireType(ua[c>>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Va(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ja(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function ab(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}function bb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=ab(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function Wa(a,b){var c=e;if(void 0===c[a].ea){var d=c[a];c[a]=function(){c[a].ea.hasOwnProperty(arguments.length)||S("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].ea+")!");return c[a].ea[arguments.length].apply(this,arguments)};c[a].ea=[];c[a].ea[d.ja]=d}} function cb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function db(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function Xa(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].ea&&void 0!==e[a].ea[c])&&S("Cannot register public name '"+a+"' twice"),Wa(a,a),e.hasOwnProperty(c)&&S("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].ea[c]=b):(e[a]=b,void 0!==c&&(e[a].ya=c))}function Ya(a,b){for(var c=[],d=0;d<a;d++)c.push(E[(b>>2)+d]);return c} function eb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=ab(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var fb=[];function gb(a,b){fb[a]={input:[],output:[],Ua:b};hb(a,ib)}
function Za(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=G.get(b).apply(null,c);return d}}function V(a,b){a=R(a);var c=a.includes("j")?Za(a,b):G.get(b);"function"!==typeof c&&S("unknown function pointer with signature "+a+": "+b);return c}var $a=void 0;function ab(a){a=bb(a);var b=R(a);W(a);return b} var ib={open:function(a){var b=fb[a.node.rdev];if(!b)throw new L(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Ua.flush(a.tty)},flush:function(a){a.tty.Ua.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Ua.jb)throw new L(60);for(var e=0,g=0;g<d;g++){try{var h=a.tty.Ua.jb(a.tty)}catch(k){throw new L(29);}if(void 0===h&&0===e)throw new L(6);if(null===h||void 0===h)break;e++;b[c+g]=h}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.tty||!a.tty.Ua.$a)throw new L(60);
function cb(a,b){function c(g){f[g]||O[g]||(P[g]?P[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new $a(a+": "+d.map(ab).join([", "]));}function db(a,b,c){switch(b){case 0:return c?function(d){return ta[d]}:function(d){return B[d]};case 1:return c?function(d){return D[d>>1]}:function(d){return C[d>>1]};case 2:return c?function(d){return E[d>>2]}:function(d){return F[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var eb={}; try{for(var e=0;e<d;e++)a.tty.Ua.$a(a.tty,b[c+e])}catch(g){throw new L(29);}d&&(a.node.timestamp=Date.now());return e}},jb={jb:function(a){if(!a.input.length){var b=null;if(ea){var c=Buffer.Va?Buffer.Va(256):new Buffer(256),d=0;try{d=ja.readSync(process.stdin.fd,c,0,256,null)}catch(e){if(-1!=e.toString().indexOf("EOF"))d=0;else throw e;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==
function fb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function gb(a,b){var c=O[a];void 0===c&&S(b+" has unknown type "+ab(a));return c}var hb={};La=e.InternalError=Ka("InternalError");for(var ib=Array(256),jb=0;256>jb;++jb)ib[jb]=String.fromCharCode(jb);Oa=ib;Pa=e.BindingError=Ka("BindingError");e.count_emval_handles=function(){for(var a=0,b=5;b<T.length;++b)void 0!==T[b]&&++a;return a}; typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;c=Array(ta(b)+1);b=sa(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},$a:function(a,b){null===b||10===b?(la(B(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(la(B(a.output,0)),a.output=[])}},kb={$a:function(a,b){null===b||10===b?(z(B(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(z(B(a.output,0)),a.output=[])}},M={Ma:null,
e.get_first_emval=function(){for(var a=5;a<T.length;++a)if(void 0!==T[a])return T[a];return null};$a=e.UnboundTypeError=Ka("UnboundTypeError"); Qa:function(){return M.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new L(63);M.Ma||(M.Ma={dir:{node:{Ra:M.Ja.Ra,Oa:M.Ja.Oa,lookup:M.Ja.lookup,Wa:M.Ja.Wa,rename:M.Ja.rename,unlink:M.Ja.unlink,rmdir:M.Ja.rmdir,readdir:M.Ja.readdir,symlink:M.Ja.symlink},stream:{Ta:M.Ka.Ta}},file:{node:{Ra:M.Ja.Ra,Oa:M.Ja.Oa},stream:{Ta:M.Ka.Ta,read:M.Ka.read,write:M.Ka.write,cb:M.Ka.cb,kb:M.Ka.kb,mb:M.Ka.mb}},link:{node:{Ra:M.Ja.Ra,Oa:M.Ja.Oa,readlink:M.Ja.readlink},
var ub={O:function(){},s:function(){return 0},G:function(){return 0},H:function(){},x:function(a){var b=L[a];delete L[a];var c=b.pa,d=b.qa,f=b.ia,g=f.map(function(k){return k.na}).concat(f.map(function(k){return k.sa}));Ma([a],g,function(k){var h={};f.forEach(function(n,l){var m=k[l],p=n.la,r=n.ma,t=k[l+f.length],q=n.ra,ca=n.ta;h[n.ka]={read:function(A){return m.fromWireType(p(r,A))},write:function(A,I){var U=[];q(ca,A,t.toWireType(U,I));Ha(U)}}});return[{name:b.name,fromWireType:function(n){var l= stream:{}},eb:{node:{Ra:M.Ja.Ra,Oa:M.Ja.Oa},stream:lb}});c=mb(a,b,c,d);16384===(c.mode&61440)?(c.Ja=M.Ma.dir.node,c.Ka=M.Ma.dir.stream,c.Ia={}):32768===(c.mode&61440)?(c.Ja=M.Ma.file.node,c.Ka=M.Ma.file.stream,c.La=0,c.Ia=null):40960===(c.mode&61440)?(c.Ja=M.Ma.link.node,c.Ka=M.Ma.link.stream):8192===(c.mode&61440)&&(c.Ja=M.Ma.eb.node,c.Ka=M.Ma.eb.stream);c.timestamp=Date.now();a&&(a.Ia[b]=c);return c},Hb:function(a){if(a.Ia&&a.Ia.subarray){for(var b=[],c=0;c<a.La;++c)b.push(a.Ia[c]);return b}return a.Ia},
{},m;for(m in h)l[m]=h[m].read(n);d(n);return l},toWireType:function(n,l){for(var m in h)if(!(m in l))throw new TypeError('Missing field: "'+m+'"');var p=c();for(m in h)h[m].write(p,l[m]);null!==n&&n.push(d,p);return p},argPackAdvance:8,readValueFromPointer:M,fa:d}]})},B:function(){},K:function(a,b,c,d,f){var g=Na(c);b=R(b);Q(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var h=ta;else if(2===c)h=D;else if(4=== Ib:function(a){return a.Ia?a.Ia.subarray?a.Ia.subarray(0,a.La):new Uint8Array(a.Ia):new Uint8Array(0)},fb:function(a,b){var c=a.Ia?a.Ia.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ia,a.Ia=new Uint8Array(b),0<a.La&&a.Ia.set(c.subarray(0,a.La),0))},Ab:function(a,b){if(a.La!=b)if(0==b)a.Ia=null,a.La=0;else{if(!a.Ia||a.Ia.subarray){var c=a.Ia;a.Ia=new Uint8Array(b);c&&a.Ia.set(c.subarray(0,Math.min(b,a.La)))}else if(a.Ia||(a.Ia=[]),a.Ia.length>b)a.Ia.length=b;
c)h=E;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},fa:null})},J:function(a,b){b=R(b);Q(a,{name:b,fromWireType:function(c){var d=T[c].value;Ra(c);return d},toWireType:function(c,d){return Sa(d)},argPackAdvance:8,readValueFromPointer:M,fa:null})},t:function(a,b,c){c=Na(c);b=R(b);Q(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Ta(f)+'" to '+this.name); else for(;a.Ia.length<b;)a.Ia.push(0);a.La=b}},Ja:{Ra:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.La:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.ob=4096;b.blocks=Math.ceil(b.size/b.ob);return b},Oa:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&
return f},argPackAdvance:8,readValueFromPointer:Ua(b,c),fa:null})},w:function(a,b,c,d,f,g){var k=Ya(b,c);a=R(a);f=V(d,f);Xa(a,function(){cb("Cannot call "+a+" due to unbound types",k)},b-1);Ma([],k,function(h){var n=a,l=a;h=[h[0],null].concat(h.slice(1));var m=f,p=h.length;2>p&&S("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var r=null!==h[1]&&!1,t=!1,q=1;q<h.length;++q)if(null!==h[q]&&void 0===h[q].fa){t=!0;break}var ca="void"!==h[0].name,A="",I="";for(q=0;q< (a.timestamp=b.timestamp);void 0!==b.size&&M.Ab(a,b.size)},lookup:function(){throw nb[44];},Wa:function(a,b,c,d){return M.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=ob(b,c)}catch(g){}if(d)for(var e in d.Ia)throw new L(55);}delete a.parent.Ia[a.name];a.name=c;b.Ia[c]=a;a.parent=b},unlink:function(a,b){delete a.Ia[b]},rmdir:function(a,b){var c=ob(a,b),d;for(d in c.Ia)throw new L(55);delete a.Ia[b]},readdir:function(a){var b=[".",".."],c;for(c in a.Ia)a.Ia.hasOwnProperty(c)&&
p-2;++q)A+=(0!==q?", ":"")+"arg"+q,I+=(0!==q?", ":"")+"arg"+q+"Wired";l="return function "+Ia(l)+"("+A+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+l+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";t&&(l+="var destructors = [];\n");var U=t?"destructors":"null";A="throwBindingError invoker fn runDestructors retType classParam".split(" ");m=[S,m,g,Ha,h[0],h[1]];r&&(l+="var thisWired = classParam.toWireType("+U+", this);\n");for(q=0;q< b.push(c);return b},symlink:function(a,b,c){a=M.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new L(28);return a.link}},Ka:{read:function(a,b,c,d,e){var g=a.node.Ia;if(e>=a.node.La)return 0;a=Math.min(a.node.La-e,d);if(8<a&&g.subarray)b.set(g.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=g[e+d];return a},write:function(a,b,c,d,e,g){b.buffer===H.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Ia||a.Ia.subarray)){if(g)return a.Ia=
p-2;++q)l+="var arg"+q+"Wired = argType"+q+".toWireType("+U+", arg"+q+"); // "+h[q+2].name+"\n",A.push("argType"+q),m.push(h[q+2]);r&&(I="thisWired"+(0<I.length?", ":"")+I);l+=(ca?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(t)l+="runDestructors(destructors);\n";else for(q=r?1:2;q<h.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==h[q].fa&&(l+=p+"_dtor("+p+"); // "+h[q].name+"\n",A.push(p+"_dtor"),m.push(h[q].fa));ca&&(l+="var ret = retType.fromWireType(rv);\nreturn ret;\n"); b.subarray(c,c+d),a.La=d;if(0===a.La&&0===e)return a.Ia=b.slice(c,c+d),a.La=d;if(e+d<=a.La)return a.Ia.set(b.subarray(c,c+d),e),d}M.fb(a,e+d);if(a.Ia.subarray&&b.subarray)a.Ia.set(b.subarray(c,c+d),e);else for(g=0;g<d;g++)a.Ia[e+g]=b[c+g];a.La=Math.max(a.La,e+d);return d},Ta:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.La);if(0>b)throw new L(28);return b},cb:function(a,b,c){M.fb(a.node,b+c);a.node.La=Math.max(a.node.La,b+c)},kb:function(a,b,c,d,e,g){assert(0===
A.push(l+"}\n");h=Va(A).apply(null,m);q=b-1;if(!e.hasOwnProperty(n))throw new La("Replacing nonexistant public symbol");void 0!==e[n].ea&&void 0!==q?e[n].ea[q]=h:(e[n]=h,e[n].ja=q);return[]})},i:function(a,b,c,d,f){function g(l){return l}b=R(b);-1===f&&(f=4294967295);var k=Na(c);if(0===d){var h=32-8*c;g=function(l){return l<<h>>>h}}var n=b.includes("unsigned");Q(a,{name:b,fromWireType:g,toWireType:function(l,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Ta(m)+ b);if(32768!==(a.node.mode&61440))throw new L(43);a=a.node.Ia;if(g&2||a.buffer!==G){if(0<d||d+c<a.length)a.subarray?a=a.subarray(d,d+c):a=Array.prototype.slice.call(a,d,d+c);d=!0;g=16384*Math.ceil(c/16384);for(b=pb(g);c<g;)H[b+c++]=0;c=b;if(!c)throw new L(48);H.set(a,c)}else d=!1,c=a.byteOffset;return{Mb:c,Gb:d}},mb:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new L(43);if(e&2)return 0;M.Ka.write(a,b,0,d,c,!1);return 0}}},qb=null,rb={},sb=[],tb=1,ub=null,vb=!0,wb={},L=null,nb={};
'" to '+this.name);if(m<d||m>f)throw new TypeError('Passing a number "'+Ta(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:db(b,k,0!==d),fa:null})},e:function(a,b,c){function d(g){g>>=2;var k=F;return new f(sa,k[g+1],k[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=R(c);Q(a,{name:c,fromWireType:d,argPackAdvance:8, function N(a,b){a=eb("/",a);b=b||{};if(!a)return{path:"",node:null};var c={ib:!0,ab:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.ab)throw new L(32);a=ab(a.split("/").filter(function(h){return!!h}),!1);var e=qb;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;e=ob(e,a[d]);c=bb(c+"/"+a[d]);e.Xa&&(!g||g&&b.ib)&&(e=e.Xa.root);if(!g||b.hb)for(g=0;40960===(e.mode&61440);)if(e=xb(c),c=eb(cb(c),e),e=N(c,{ab:b.ab}).node,40<g++)throw new L(32);}return{path:c,node:e}}
readValueFromPointer:d},{oa:!0})},u:function(a,b){b=R(b);var c="std::string"===b;Q(a,{name:b,fromWireType:function(d){var f=F[d>>2];if(c)for(var g=d+4,k=0;k<=f;++k){var h=d+4+k;if(k==f||0==B[h]){if(g){for(var n=g+(h-g),l=g;!(l>=n)&&B[l];)++l;g=ja.decode(B.subarray(g,l))}else g="";if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=h+1}}else{m=Array(f);for(k=0;k<f;++k)m[k]=String.fromCharCode(B[d+4+k]);m=m.join("")}W(d);return m},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f)); function yb(a){for(var b;;){if(a===a.parent)return a=a.Qa.lb,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function zb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%ub.length}function ob(a,b){var c;if(c=(c=Ab(a,"x"))?c:a.Ja.lookup?0:2)throw new L(c,a);for(c=ub[zb(a.id,b)];c;c=c.xb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ja.lookup(a,b)}
var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||S("Cannot pass non-string to std::string");var k=(c&&g?function(){for(var l=0,m=0;m<f.length;++m){var p=f.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|f.charCodeAt(++m)&1023);127>=p?++l:l=2047>=p?l+2:65535>=p?l+3:l+4}return l}:function(){return f.length})(),h=kb(4+k+1);F[h>>2]=k;if(c&&g)ka(f,h+4,k+1);else if(g)for(g=0;g<k;++g){var n=f.charCodeAt(g);255<n&&(W(h),S("String has UTF-16 code units that do not fit in 8 bits")); function mb(a,b,c,d){a=new Bb(a,b,c,d);b=zb(a.parent.id,a.name);a.xb=ub[b];return ub[b]=a}var Cb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Db(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Ab(a,b){if(vb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0}
B[h+4+g]=n}else for(g=0;g<k;++g)B[h+4+g]=f[g];null!==d&&d.push(W,h);return h},argPackAdvance:8,readValueFromPointer:M,fa:function(d){W(d)}})},o:function(a,b,c){c=R(c);if(2===b){var d=ma;var f=na;var g=oa;var k=function(){return C};var h=1}else 4===b&&(d=pa,f=qa,g=ra,k=function(){return F},h=2);Q(a,{name:c,fromWireType:function(n){for(var l=F[n>>2],m=k(),p,r=n+4,t=0;t<=l;++t){var q=n+4+t*b;if(t==l||0==m[q>>h])r=d(r,q-r),void 0===p?p=r:(p+=String.fromCharCode(0),p+=r),r=q+b}W(n);return p},toWireType:function(n, function Eb(a,b){try{return ob(a,b),20}catch(c){}return Ab(a,"wx")}function Fb(a){var b=4096;for(a=a||0;a<=b;a++)if(!sb[a])return a;throw new L(33);}function Gb(a,b){Hb||(Hb=function(){},Hb.prototype={});var c=new Hb,d;for(d in a)c[d]=a[d];a=c;b=Fb(b);a.fd=b;return sb[b]=a}var lb={open:function(a){a.Ka=rb[a.node.rdev].Ka;a.Ka.open&&a.Ka.open(a)},Ta:function(){throw new L(70);}};function hb(a,b){rb[a]={Ka:b}}
l){"string"!==typeof l&&S("Cannot pass non-string to C++ string type "+c);var m=g(l),p=kb(4+m+b);F[p>>2]=m>>h;f(l,p+4,m+b);null!==n&&n.push(W,p);return p},argPackAdvance:8,readValueFromPointer:M,fa:function(n){W(n)}})},z:function(a,b,c,d,f,g){L[a]={name:R(b),pa:V(c,d),qa:V(f,g),ia:[]}},g:function(a,b,c,d,f,g,k,h,n,l){L[a].ia.push({ka:R(b),na:c,la:V(d,f),ma:g,sa:k,ra:V(h,n),ta:l})},L:function(a,b){b=R(b);Q(a,{xa:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},j:Ra,N:function(a){if(0=== function Ib(a,b){var c="/"===b,d=!b;if(c&&qb)throw new L(10);if(!c&&!d){var e=N(b,{ib:!1});b=e.path;e=e.node;if(e.Xa)throw new L(10);if(16384!==(e.mode&61440))throw new L(54);}b={type:a,Lb:{},lb:b,wb:[]};a=a.Qa(b);a.Qa=b;b.root=a;c?qb=a:e&&(e.Xa=b,e.Qa&&e.Qa.wb.push(b))}function Jb(a,b,c){var d=N(a,{parent:!0}).node;a=db(a);if(!a||"."===a||".."===a)throw new L(28);var e=Eb(d,a);if(e)throw new L(e);if(!d.Ja.Wa)throw new L(63);return d.Ja.Wa(d,a,b,c)}function O(a){Jb(a,16895,0)}
a)return Sa(fb());var b=eb[a];a=void 0===b?R(a):b;return Sa(fb()[a])},v:function(a){4<a&&(T[a].ha+=1)},D:function(a,b,c,d){a||S("Cannot use deleted val. handle = "+a);a=T[a].value;var f=hb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var k="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)k+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+ function Kb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Jb(a,b|8192,c)}function Lb(a,b){if(!eb(a))throw new L(44);var c=N(b,{parent:!0}).node;if(!c)throw new L(44);b=db(b);var d=Eb(c,b);if(d)throw new L(d);if(!c.Ja.symlink)throw new L(63);c.Ja.symlink(c,b,a)}function xb(a){a=N(a).node;if(!a)throw new L(44);if(!a.Ja.readlink)throw new L(28);return eb(yb(a.parent),a.Ja.readlink(a))}
g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",k+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(gb,e,Sa);hb[b]=f}return f(a,c,d)},f:function(){z()},d:function(a,b){X(a,b||1);throw"longjmp";},E:function(a,b,c){B.copyWithin(a,b,b+c)},n:function(a){var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ha.grow(Math.min(2147483648, function Mb(a,b,c,d){if(""===a)throw new L(44);if("string"===typeof b){var e=Cb[b];if("undefined"===typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=bb(a);try{g=N(a,{hb:!(b&131072)}).node}catch(k){}}e=!1;if(b&64)if(g){if(b&128)throw new L(20);}else g=Jb(a,c,0),e=!0;if(!g)throw new L(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&16384!==(g.mode&61440))throw new L(54);if(!e&&(c=g?40960===(g.mode&61440)?
d)-sa.byteLength+65535>>>16);wa();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},r:function(){return 0},F:function(a,b,c,d){a=Ga.wa(a);b=Ga.ua(a,b,c);E[d>>2]=b;return 0},A:function(){},I:function(a,b,c,d){for(var f=0,g=0;g<c;g++){for(var k=E[b+8*g>>2],h=E[b+(8*g+4)>>2],n=0;n<h;n++){var l=B[k+n],m=Fa[a];if(0===l||10===l){for(l=0;m[l]&&!(NaN<=l);)++l;l=ja.decode(m.subarray?m.subarray(0,l):new Uint8Array(m.slice(0,l)));(1===a?ea:x)(l);m.length=0}else m.push(l)}f+=h}E[d>>2]=f;return 0},b:function(){return fa}, 32:16384===(g.mode&61440)&&("r"!==Db(b)||b&512)?31:Ab(g,Db(b)):44))throw new L(c);if(b&512){c=g;var h;"string"===typeof c?h=N(c,{hb:!0}).node:h=c;if(!h.Ja.Oa)throw new L(63);if(16384===(h.mode&61440))throw new L(31);if(32768!==(h.mode&61440))throw new L(28);if(c=Ab(h,"w"))throw new L(c);h.Ja.Oa(h,{size:0,timestamp:Date.now()})}b&=-131713;d=Gb({node:g,path:yb(g),flags:b,seekable:!0,position:0,Ka:g.Ka,Fb:[],error:!1},d);d.Ka.open&&d.Ka.open(d);!f.logReadFiles||b&1||(Nb||(Nb={}),a in Nb||(Nb[a]=1,z("FS.trackingDelegate error on read file: "+
l:lb,p:mb,q:nb,C:ob,y:pb,m:qb,h:rb,c:sb,k:tb,a:function(a){fa=a},M:function(a){var b=Date.now()/1E3|0;a&&(E[a>>2]=b);return b}}; a)));try{wb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),wb.onOpenFile(a,g))}catch(k){z("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+k.message)}return d}function Ob(a,b,c){if(null===a.fd)throw new L(8);if(!a.seekable||!a.Ka.Ta)throw new L(70);if(0!=c&&1!=c&&2!=c)throw new L(28);a.position=a.Ka.Ta(a,b,c);a.Fb=[]}
(function(){function a(f){e.asm=f.exports;ha=e.asm.P;wa();G=e.asm.Y;ya.unshift(e.asm.Q);H--;e.monitorRunDependencies&&e.monitorRunDependencies(H);0==H&&(null!==Ba&&(clearInterval(Ba),Ba=null),J&&(f=J,J=null,f()))}function b(f){a(f.instance)}function c(f){return Da().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){x("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:ub};H++;e.monitorRunDependencies&&e.monitorRunDependencies(H);if(e.instantiateWasm)try{return e.instantiateWasm(d, function Pb(){L||(L=function(a,b){this.node=b;this.Bb=function(c){this.Sa=c};this.Bb(a);this.message="FS error"},L.prototype=Error(),L.prototype.constructor=L,[44].forEach(function(a){nb[a]=new L(a);nb[a].stack="<generic error, no stack>"}))}var Qb;function Rb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
a)}catch(f){return x("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return y||"function"!==typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){x("wasm streaming compile failed: "+g);x("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})(); function Sb(a,b,c){a=bb("/dev/"+a);var d=Rb(!!b,!!c);Tb||(Tb=64);var e=Tb++<<8|0;hb(e,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,k,l){for(var n=0,p=0;p<l;p++){try{var t=b()}catch(v){throw new L(29);}if(void 0===t&&0===n)throw new L(6);if(null===t||void 0===t)break;n++;h[k+p]=t}n&&(g.node.timestamp=Date.now());return n},write:function(g,h,k,l){for(var n=0;n<l;n++)try{c(h[k+n])}catch(p){throw new L(29);}l&&(g.node.timestamp=Date.now());return n}});
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.Q).apply(null,arguments)};var kb=e._malloc=function(){return(kb=e._malloc=e.asm.R).apply(null,arguments)},W=e._free=function(){return(W=e._free=e.asm.S).apply(null,arguments)},bb=e.___getTypeName=function(){return(bb=e.___getTypeName=e.asm.T).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.U).apply(null,arguments)}; Kb(a,d,e)}var Tb,Q={},Hb,Nb,Ub=void 0;function Vb(){Ub+=4;return F[Ub-4>>2]}function Wb(a){a=sb[a];if(!a)throw new L(8);return a}var Xb={};function Yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Zb(a){return this.fromWireType(I[a>>2])}var $b={},R={},ac={};function bc(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
var Y=e.stackSave=function(){return(Y=e.stackSave=e.asm.V).apply(null,arguments)},Z=e.stackRestore=function(){return(Z=e.stackRestore=e.asm.W).apply(null,arguments)},X=e._setThrew=function(){return(X=e._setThrew=e.asm.X).apply(null,arguments)};e.dynCall_jiiiiiiiii=function(){return(e.dynCall_jiiiiiiiii=e.asm.Z).apply(null,arguments)};var vb=e.dynCall_ijiii=function(){return(vb=e.dynCall_ijiii=e.asm._).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.$).apply(null,arguments)}; function cc(a,b){a=bc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function dc(a){var b=Error,c=cc(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
e.dynCall_jiiiiiiii=function(){return(e.dynCall_jiiiiiiii=e.asm.aa).apply(null,arguments)};e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.ba).apply(null,arguments)};e.dynCall_jiiiii=function(){return(e.dynCall_jiiiii=e.asm.ca).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.da).apply(null,arguments)};function qb(a,b){var c=Y();try{G.get(a)(b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}} var ec=void 0;function fc(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new ec("Mismatched type converter count");for(var l=0;l<a.length;++l)S(a[l],k[l])}a.forEach(function(k){ac[k]=b});var e=Array(b.length),g=[],h=0;b.forEach(function(k,l){R.hasOwnProperty(k)?e[l]=R[k]:(g.push(k),$b.hasOwnProperty(k)||($b[k]=[]),$b[k].push(function(){e[l]=R[k];++h;h===g.length&&d(e)}))});0===g.length&&d(e)}
function sb(a,b,c,d,f){var g=Y();try{G.get(a)(b,c,d,f)}catch(k){Z(g);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function rb(a,b,c){var d=Y();try{G.get(a)(b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function nb(a,b,c,d,f,g,k,h,n,l){var m=Y();try{return G.get(a)(b,c,d,f,g,k,h,n,l)}catch(p){Z(m);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}function ob(a,b,c,d,f,g,k,h,n,l,m,p){var r=Y();try{return G.get(a)(b,c,d,f,g,k,h,n,l,m,p)}catch(t){Z(r);if(t!==t+0&&"longjmp"!==t)throw t;X(1,0)}} function hc(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var ic=void 0;function T(a){for(var b="";C[a];)b+=ic[C[a++]];return b}var jc=void 0;function U(a){throw new jc(a);}
function lb(a,b,c,d,f){var g=Y();try{return G.get(a)(b,c,d,f)}catch(k){Z(g);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function tb(a,b,c,d,f,g,k,h,n,l,m){var p=Y();try{G.get(a)(b,c,d,f,g,k,h,n,l,m)}catch(r){Z(p);if(r!==r+0&&"longjmp"!==r)throw r;X(1,0)}}function mb(a,b,c,d,f,g,k,h,n){var l=Y();try{return G.get(a)(b,c,d,f,g,k,h,n)}catch(m){Z(l);if(m!==m+0&&"longjmp"!==m)throw m;X(1,0)}} function S(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.ub)return;U("Cannot register type '"+d+"' twice")}R[a]=b;delete ac[a];$b.hasOwnProperty(a)&&(b=$b[a],delete $b[a],b.forEach(function(e){e()}))}var kc=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function pb(a,b,c,d,f,g){var k=Y();try{return vb(a,b,c,d,f,g)}catch(h){Z(k);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}var wb;J=function xb(){wb||yb();wb||(J=xb)}; function lc(a){4<a&&0===--V[a].bb&&(V[a]=void 0,kc.push(a))}function mc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=kc.length?kc.pop():V.length;V[b]={bb:1,value:a};return b}}function nc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function yb(){function a(){if(!wb&&(wb=!0,e.calledRun=!0,!ia)){Ea(ya);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();za.unshift(b)}Ea(za)}}if(!(0<H)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Aa();Ea(xa);0<H||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=yb; function oc(a,b){switch(b){case 2:return function(c){return this.fromWireType(Ca[c>>2])};case 3:return function(c){return this.fromWireType(Da[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function pc(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=cc(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();yb(); function qc(a,b){var c=f;if(void 0===c[a].Na){var d=c[a];c[a]=function(){c[a].Na.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Na+")!");return c[a].Na[arguments.length].apply(this,arguments)};c[a].Na=[];c[a].Na[d.nb]=d}}
function rc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].Na&&void 0!==f[a].Na[c])&&U("Cannot register public name '"+a+"' twice"),qc(a,a),f.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].Na[c]=b):(f[a]=b,void 0!==c&&(f[a].Kb=c))}function sc(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function tc(a,b){a=T(a);var c=f["dynCall_"+a];for(var d=[],e=1;e<a.length;++e)d.push("a"+e);e="return function dynCall_"+(a+"_"+b)+"("+d.join(", ")+") {\n";e+=" return dynCall(rawFunction"+(d.length?", ":"")+d.join(", ")+");\n";c=(new Function("dynCall","rawFunction",e+"};\n"))(c,b);"function"!==typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var uc=void 0;function vc(a){a=wc(a);var b=T(a);W(a);return b}
function xc(a,b){function c(g){e[g]||R[g]||(ac[g]?ac[g].forEach(c):(d.push(g),e[g]=!0))}var d=[],e={};b.forEach(c);throw new uc(a+": "+d.map(vc).join([", "]));}function yc(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return C[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return wa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var zc={};
function Ac(){return"object"===typeof globalThis?globalThis:Function("return this")()}function Bc(a,b){var c=R[a];void 0===c&&U(b+" has unknown type "+vc(a));return c}var Cc={};function Bb(a,b,c,d){a||(a=this);this.parent=a;this.Qa=a.Qa;this.Xa=null;this.id=tb++;this.name=b;this.mode=c;this.Ja={};this.Ka={};this.rdev=d}
Object.defineProperties(Bb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Pb();ub=Array(4096);Ib(M,"/");O("/tmp");O("/home");O("/home/web_user");
(function(){O("/dev");hb(259,{read:function(){return 0},write:function(d,e,g,h){return h}});Kb("/dev/null",259);gb(1280,jb);gb(1536,kb);Kb("/dev/tty",1280);Kb("/dev/tty1",1536);if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);var b=function(){crypto.getRandomValues(a);return a[0]}}else if(ea)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){x("random_device")});Sb("random",b);Sb("urandom",b);O("/dev/shm");
O("/dev/shm/tmp")})();O("/proc");O("/proc/self");O("/proc/self/fd");Ib({Qa:function(){var a=mb("/proc/self","fd",16895,73);a.Ja={lookup:function(b,c){var d=sb[+c];if(!d)throw new L(8);b={parent:null,Qa:{lb:"fake"},Ja:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");ec=f.InternalError=dc("InternalError");for(var Dc=Array(256),Ec=0;256>Ec;++Ec)Dc[Ec]=String.fromCharCode(Ec);ic=Dc;jc=f.BindingError=dc("BindingError");
f.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};f.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};uc=f.UnboundTypeError=dc("UnboundTypeError");
var Qc={w:function(a){return pb(a)},T:function(){},R:function(a){"uncaught_exception"in $a?$a.Va++:$a.Va=1;throw a;},q:function(a,b,c){Ub=c;try{var d=Wb(a);switch(b){case 0:var e=Vb();return 0>e?-28:Mb(d.path,d.flags,0,e).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=Vb(),d.flags|=e,0;case 12:return e=Vb(),E[e+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return F[Fc()>>2]=28,-1;default:return-28}}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Sa}},
K:function(a,b,c){Ub=c;try{var d=Wb(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var e=Vb();return F[e>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=e=Vb();if(!d.Ka.vb)throw new L(59);return d.Ka.vb(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:x("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Sa}},L:function(a,
b,c){Ub=c;try{var d=a?B(C,a,void 0):"",e=Vb();return Mb(d,b,e).fd}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Sa}},A:function(a){var b=Xb[a];delete Xb[a];var c=b.yb,d=b.zb,e=b.gb,g=e.map(function(h){return h.tb}).concat(e.map(function(h){return h.Db}));fc([a],g,function(h){var k={};e.forEach(function(l,n){var p=h[n],t=l.rb,v=l.sb,w=h[n+e.length],q=l.Cb,D=l.Eb;k[l.pb]={read:function(y){return p.fromWireType(t(v,y))},write:function(y,P){var ra=[];q(D,y,w.toWireType(ra,P));Yb(ra)}}});
return[{name:b.name,fromWireType:function(l){var n={},p;for(p in k)n[p]=k[p].read(l);d(l);return n},toWireType:function(l,n){for(var p in k)if(!(p in n))throw new TypeError('Missing field: "'+p+'"');var t=c();for(p in k)k[p].write(t,n[p]);null!==l&&l.push(d,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Pa:d}]})},N:function(a,b,c,d,e){var g=hc(c);b=T(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,k){return k?d:e},argPackAdvance:8,readValueFromPointer:function(h){if(1===
c)var k=H;else if(2===c)k=E;else if(4===c)k=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Pa:null})},M:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(c){var d=V[c].value;lc(c);return d},toWireType:function(c,d){return mc(d)},argPackAdvance:8,readValueFromPointer:Zb,Pa:null})},s:function(a,b,c){c=hc(c);b=T(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+
nc(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:oc(b,c),Pa:null})},y:function(a,b,c,d,e,g){var h=sc(b,c);a=T(a);e=tc(d,e);rc(a,function(){xc("Cannot call "+a+" due to unbound types",h)},b-1);fc([],h,function(k){var l=[k[0],null].concat(k.slice(1)),n=k=a,p=e,t=l.length;2>t&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var v=null!==l[1]&&!1,w=!1,q=1;q<l.length;++q)if(null!==l[q]&&void 0===l[q].Pa){w=!0;break}var D="void"!==l[0].name,
y="",P="";for(q=0;q<t-2;++q)y+=(0!==q?", ":"")+"arg"+q,P+=(0!==q?", ":"")+"arg"+q+"Wired";n="return function "+bc(n)+"("+y+") {\nif (arguments.length !== "+(t-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(t-2)+" args!');\n}\n";w&&(n+="var destructors = [];\n");var ra=w?"destructors":"null";y="throwBindingError invoker fn runDestructors retType classParam".split(" ");p=[U,p,g,Yb,l[0],l[1]];v&&(n+="var thisWired = classParam.toWireType("+ra+", this);\n");
for(q=0;q<t-2;++q)n+="var arg"+q+"Wired = argType"+q+".toWireType("+ra+", arg"+q+"); // "+l[q+2].name+"\n",y.push("argType"+q),p.push(l[q+2]);v&&(P="thisWired"+(0<P.length?", ":"")+P);n+=(D?"var rv = ":"")+"invoker(fn"+(0<P.length?", ":"")+P+");\n";if(w)n+="runDestructors(destructors);\n";else for(q=v?1:2;q<l.length;++q)t=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==l[q].Pa&&(n+=t+"_dtor("+t+"); // "+l[q].name+"\n",y.push(t+"_dtor"),p.push(l[q].Pa));D&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");
y.push(n+"}\n");l=pc(y).apply(null,p);q=b-1;if(!f.hasOwnProperty(k))throw new ec("Replacing nonexistant public symbol");void 0!==f[k].Na&&void 0!==q?f[k].Na[q]=l:(f[k]=l,f[k].nb=q);return[]})},i:function(a,b,c,d,e){function g(n){return n}b=T(b);-1===e&&(e=4294967295);var h=hc(c);if(0===d){var k=32-8*c;g=function(n){return n<<k>>>k}}var l=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(n,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+
nc(p)+'" to '+this.name);if(p<d||p>e)throw new TypeError('Passing a number "'+nc(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+e+"]!");return l?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:yc(b,h,0!==d),Pa:null})},f:function(a,b,c){function d(g){g>>=2;var h=I;return new e(G,h[g+1],h[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,
readValueFromPointer:d},{ub:!0})},u:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var e=I[d>>2];if(c)for(var g=d+4,h=0;h<=e;++h){var k=d+4+h;if(h==e||0==C[k]){g=g?B(C,g,k-g):"";if(void 0===l)var l=g;else l+=String.fromCharCode(0),l+=g;g=k+1}}else{l=Array(e);for(h=0;h<e;++h)l[h]=String.fromCharCode(C[d+4+h]);l=l.join("")}W(d);return l},toWireType:function(d,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var g="string"===typeof e;g||e instanceof Uint8Array||e instanceof
Uint8ClampedArray||e instanceof Int8Array||U("Cannot pass non-string to std::string");var h=(c&&g?function(){return ta(e)}:function(){return e.length})(),k=pb(4+h+1);I[k>>2]=h;if(c&&g)sa(e,C,k+4,h+1);else if(g)for(g=0;g<h;++g){var l=e.charCodeAt(g);255<l&&(W(k),U("String has UTF-16 code units that do not fit in 8 bits"));C[k+4+g]=l}else for(g=0;g<h;++g)C[k+4+g]=e[g];null!==d&&d.push(W,k);return k},argPackAdvance:8,readValueFromPointer:Zb,Pa:function(d){W(d)}})},n:function(a,b,c){c=T(c);if(2===b){var d=
va;var e=xa;var g=ya;var h=function(){return wa};var k=1}else 4===b&&(d=za,e=Aa,g=Ba,h=function(){return I},k=2);S(a,{name:c,fromWireType:function(l){for(var n=I[l>>2],p=h(),t,v=l+4,w=0;w<=n;++w){var q=l+4+w*b;if(w==n||0==p[q>>k])v=d(v,q-v),void 0===t?t=v:(t+=String.fromCharCode(0),t+=v),v=q+b}W(l);return t},toWireType:function(l,n){"string"!==typeof n&&U("Cannot pass non-string to C++ string type "+c);var p=g(n),t=pb(4+p+b);I[t>>2]=p>>k;e(n,t+4,p+b);null!==l&&l.push(W,t);return t},argPackAdvance:8,
readValueFromPointer:Zb,Pa:function(l){W(l)}})},G:function(a,b,c,d,e,g){Xb[a]={name:T(b),yb:tc(c,d),zb:tc(e,g),gb:[]}},z:function(a,b,c,d,e,g,h,k,l,n){Xb[a].gb.push({pb:T(b),tb:c,rb:tc(d,e),sb:g,Db:h,Cb:tc(k,l),Eb:n})},O:function(a,b){b=T(b);S(a,{Jb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},t:lc,S:function(a){if(0===a)return mc(Ac());var b=zc[a];a=void 0===b?T(a):b;return mc(Ac()[a])},x:function(a){4<a&&(V[a].bb+=1)},H:function(a,b,c,d){a||U("Cannot use deleted val. handle = "+
a);a=V[a].value;var e=Cc[b];if(!e){e="";for(var g=0;g<b;++g)e+=(0!==g?", ":"")+"arg"+g;var h="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)h+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module","__emval_register",h+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(Bc,
f,mc);Cc[b]=e}return e(a,c,d)},v:function(){x()},P:function(){z("missing function: aom_codec_av1_dx");x(-1)},d:function(a,b){X(a,b||1);throw"longjmp";},I:function(a,b,c){C.copyWithin(a,b,b+c)},j:function(a){a>>>=0;var b=C.length;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0<d%65536&&(d+=65536-d%65536);a:{try{A.grow(Math.min(2147483648,d)-G.byteLength+65535>>>16);Ea(A.buffer);var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1},
r:function(a){try{var b=Wb(a);if(null===b.fd)throw new L(8);b.Za&&(b.Za=null);try{b.Ka.close&&b.Ka.close(b)}catch(c){throw c;}finally{sb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof Q&&c instanceof L||x(c),c.Sa}},J:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g<c;g++){var h=F[b+(8*g+4)>>2],k=e,l=F[b+8*g>>2],n=h,p=void 0,t=H;if(0>n||0>p)throw new L(28);if(null===k.fd)throw new L(8);if(1===(k.flags&2097155))throw new L(8);if(16384===(k.node.mode&61440))throw new L(31);if(!k.Ka.read)throw new L(28);
var v="undefined"!==typeof p;if(!v)p=k.position;else if(!k.seekable)throw new L(70);var w=k.Ka.read(k,t,l,n,p);v||(k.position+=w);var q=w;if(0>q){var D=-1;break a}a+=q;if(q<h)break}D=a}F[d>>2]=D;return 0}catch(y){return"undefined"!==typeof Q&&y instanceof L||x(y),y.Sa}},E:function(a,b,c,d,e){try{var g=Wb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Ob(g,a,d);Ya=[g.position>>>0,(Xa=g.position,1<=+Ma(Xa)?0<Xa?(Pa(+Oa(Xa/4294967296),4294967295)|0)>>>0:~~+Na((Xa-+(~~Xa>>>
0))/4294967296)>>>0:0)];F[e>>2]=Ya[0];F[e+4>>2]=Ya[1];g.Za&&0===a&&0===d&&(g.Za=null);return 0}catch(h){return"undefined"!==typeof Q&&h instanceof L||x(h),h.Sa}},p:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g<c;g++){var h=e,k=F[b+8*g>>2],l=F[b+(8*g+4)>>2],n=void 0,p=H;if(0>l||0>n)throw new L(28);if(null===h.fd)throw new L(8);if(0===(h.flags&2097155))throw new L(8);if(16384===(h.node.mode&61440))throw new L(31);if(!h.Ka.write)throw new L(28);h.seekable&&h.flags&1024&&Ob(h,0,2);var t="undefined"!==
typeof n;if(!t)n=h.position;else if(!h.seekable)throw new L(70);var v=h.Ka.write(h,p,k,l,n,void 0);t||(h.position+=v);try{if(h.path&&wb.onWriteToFile)wb.onWriteToFile(h.path)}catch(D){z("FS.trackingDelegate['onWriteToFile']('"+h.path+"') threw an exception: "+D.message)}var w=v;if(0>w){var q=-1;break a}a+=w}q=a}F[d>>2]=q;return 0}catch(D){return"undefined"!==typeof Q&&D instanceof L||x(D),D.Sa}},b:function(){return ma|0},k:Gc,e:Hc,o:Ic,F:Jc,C:Kc,B:Lc,D:Mc,m:Nc,l:Oc,c:Pc,memory:A,g:function(a){a=+a;
return 0<=a?+Oa(a+.5):+Na(a-.5)},h:function(a){a=+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},a:function(a){ma=a|0},table:oa,Q:function(a){var b=Date.now()/1E3|0;a&&(F[a>>2]=b);return b}};
(function(){function a(e){f.asm=e.exports;J--;f.monitorRunDependencies&&f.monitorRunDependencies(J);0==J&&(null!==Qa&&(clearInterval(Qa),Qa=null),Ra&&(e=Ra,Ra=null,e()))}function b(e){a(e.instance)}function c(e){return Wa().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){z("failed to asynchronously prepare wasm: "+g);x(g)})}var d={a:Qc};J++;f.monitorRunDependencies&&f.monitorRunDependencies(J);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return z("Module.instantiateWasm callback failed with error: "+
e),!1}(function(){if(na||"function"!==typeof WebAssembly.instantiateStreaming||Ta()||Sa("file://")||"function"!==typeof fetch)return c(b);fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){z("wasm streaming compile failed: "+g);z("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Za=f.___wasm_call_ctors=function(){return(Za=f.___wasm_call_ctors=f.asm.U).apply(null,arguments)},pb=f._malloc=function(){return(pb=f._malloc=f.asm.V).apply(null,arguments)},W=f._free=function(){return(W=f._free=f.asm.W).apply(null,arguments)},wc=f.___getTypeName=function(){return(wc=f.___getTypeName=f.asm.X).apply(null,arguments)};f.___embind_register_native_and_builtin_types=function(){return(f.___embind_register_native_and_builtin_types=f.asm.Y).apply(null,arguments)};
var Fc=f.___errno_location=function(){return(Fc=f.___errno_location=f.asm.Z).apply(null,arguments)},X=f._setThrew=function(){return(X=f._setThrew=f.asm._).apply(null,arguments)},Y=f.stackSave=function(){return(Y=f.stackSave=f.asm.$).apply(null,arguments)},Z=f.stackRestore=function(){return(Z=f.stackRestore=f.asm.aa).apply(null,arguments)},Rc=f.dynCall_vi=function(){return(Rc=f.dynCall_vi=f.asm.ba).apply(null,arguments)},Sc=f.dynCall_vii=function(){return(Sc=f.dynCall_vii=f.asm.ca).apply(null,arguments)};
f.dynCall_viii=function(){return(f.dynCall_viii=f.asm.da).apply(null,arguments)};var Tc=f.dynCall_viiii=function(){return(Tc=f.dynCall_viiii=f.asm.ea).apply(null,arguments)},Uc=f.dynCall_ii=function(){return(Uc=f.dynCall_ii=f.asm.fa).apply(null,arguments)},Vc=f.dynCall_iii=function(){return(Vc=f.dynCall_iii=f.asm.ga).apply(null,arguments)};f.dynCall_iiii=function(){return(f.dynCall_iiii=f.asm.ha).apply(null,arguments)};f.dynCall_iiiii=function(){return(f.dynCall_iiiii=f.asm.ia).apply(null,arguments)};
var Wc=f.dynCall_iiiiiiiii=function(){return(Wc=f.dynCall_iiiiiiiii=f.asm.ja).apply(null,arguments)},Xc=f.dynCall_iiiiiiiiii=function(){return(Xc=f.dynCall_iiiiiiiiii=f.asm.ka).apply(null,arguments)},Yc=f.dynCall_iiiijj=function(){return(Yc=f.dynCall_iiiijj=f.asm.la).apply(null,arguments)},Zc=f.dynCall_ij=function(){return(Zc=f.dynCall_ij=f.asm.ma).apply(null,arguments)},$c=f.dynCall_jjij=function(){return($c=f.dynCall_jjij=f.asm.na).apply(null,arguments)};
f.dynCall_i=function(){return(f.dynCall_i=f.asm.oa).apply(null,arguments)};f.dynCall_iiiiii=function(){return(f.dynCall_iiiiii=f.asm.pa).apply(null,arguments)};f.dynCall_viiiii=function(){return(f.dynCall_viiiii=f.asm.qa).apply(null,arguments)};f.dynCall_viiiiii=function(){return(f.dynCall_viiiiii=f.asm.ra).apply(null,arguments)};f.dynCall_viiiiiiii=function(){return(f.dynCall_viiiiiiii=f.asm.sa).apply(null,arguments)};f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.ta).apply(null,arguments)};
f.dynCall_viiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiii=f.asm.ua).apply(null,arguments)};f.dynCall_jiiiiiiiii=function(){return(f.dynCall_jiiiiiiiii=f.asm.va).apply(null,arguments)};f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.wa).apply(null,arguments)};f.dynCall_iiiiiii=function(){return(f.dynCall_iiiiiii=f.asm.xa).apply(null,arguments)};f.dynCall_iiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiii=f.asm.ya).apply(null,arguments)};
f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.za).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.Aa).apply(null,arguments)};f.dynCall_viiiiiiiiii=function(){return(f.dynCall_viiiiiiiiii=f.asm.Ba).apply(null,arguments)};f.dynCall_viiiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiiii=f.asm.Ca).apply(null,arguments)};f.dynCall_jiiiiiiii=function(){return(f.dynCall_jiiiiiiii=f.asm.Da).apply(null,arguments)};
f.dynCall_ff=function(){return(f.dynCall_ff=f.asm.Ea).apply(null,arguments)};f.dynCall_jiiiiii=function(){return(f.dynCall_jiiiiii=f.asm.Fa).apply(null,arguments)};f.dynCall_jiiiii=function(){return(f.dynCall_jiiiii=f.asm.Ga).apply(null,arguments)};f.dynCall_iiijii=function(){return(f.dynCall_iiijii=f.asm.Ha).apply(null,arguments)};function Hc(a,b,c){var d=Y();try{return Vc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}
function Nc(a,b){var c=Y();try{Rc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function Pc(a,b,c,d,e){var g=Y();try{Tc(a,b,c,d,e)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Oc(a,b,c){var d=Y();try{Sc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function Gc(a,b){var c=Y();try{return Uc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}
function Jc(a,b,c,d,e,g,h,k,l,n){var p=Y();try{return Xc(a,b,c,d,e,g,h,k,l,n)}catch(t){Z(p);if(t!==t+0&&"longjmp"!==t)throw t;X(1,0)}}function Ic(a,b,c,d,e,g,h,k,l){var n=Y();try{return Wc(a,b,c,d,e,g,h,k,l)}catch(p){Z(n);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}function Mc(a,b,c,d,e,g){var h=Y();try{return $c(a,b,c,d,e,g)}catch(k){Z(h);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}
function Kc(a,b,c,d,e,g,h,k){var l=Y();try{return Yc(a,b,c,d,e,g,h,k)}catch(n){Z(l);if(n!==n+0&&"longjmp"!==n)throw n;X(1,0)}}function Lc(a,b,c){var d=Y();try{return Zc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}var ad;Ra=function bd(){ad||cd();ad||(Ra=bd)};
function cd(){function a(){if(!ad&&(ad=!0,f.calledRun=!0,!pa)){f.noFSInit||Qb||(Qb=!0,Pb(),f.stdin=f.stdin,f.stdout=f.stdout,f.stderr=f.stderr,f.stdin?Sb("stdin",f.stdin):Lb("/dev/tty","/dev/stdin"),f.stdout?Sb("stdout",null,f.stdout):Lb("/dev/tty","/dev/stdout"),f.stderr?Sb("stderr",null,f.stderr):Lb("/dev/tty1","/dev/stderr"),Mb("/dev/stdin","r"),Mb("/dev/stdout","w"),Mb("/dev/stderr","w"));Ga(Ia);vb=!1;Ga(Ja);aa(f);if(f.onRuntimeInitialized)f.onRuntimeInitialized();if(f.postRun)for("function"==
typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;){var b=f.postRun.shift();Ka.unshift(b)}Ga(Ka)}}if(!(0<J)){if(f.preRun)for("function"==typeof f.preRun&&(f.preRun=[f.preRun]);f.preRun.length;)La();Ga(Ha);0<J||(f.setStatus?(f.setStatus("Running..."),setTimeout(function(){setTimeout(function(){f.setStatus("")},1);a()},1)):a())}}f.run=cd;if(f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);0<f.preInit.length;)f.preInit.pop()();noExitRuntime=!0;cd();
return Module.ready return avif_enc.ready
} }
); );
})(); })();
export default Module; if (typeof exports === 'object' && typeof module === 'object')
module.exports = avif_enc;
else if (typeof define === 'function' && define['amd'])
define([], function() { return avif_enc; });
else if (typeof exports === 'object')
exports["avif_enc"] = avif_enc;

BIN
codecs/avif/enc/avif_enc.wasm Executable file → Normal file

Binary file not shown.

View File

@@ -1 +0,0 @@
export { default } from './avif_enc';

View File

@@ -1,96 +1,156 @@
var Module = (function() { var avif_enc_mt = (function() {
var _scriptDir = import.meta.url; var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return ( return (
function(Module) { function(avif_enc_mt) {
Module = Module || {}; avif_enc_mt = avif_enc_mt || {};
function aa(){e.buffer!=l&&n(e.buffer);return ba}function r(){e.buffer!=l&&n(e.buffer);return ca}function u(){e.buffer!=l&&n(e.buffer);return da}function fa(){e.buffer!=l&&n(e.buffer);return ha}function w(){e.buffer!=l&&n(e.buffer);return ia}function x(){e.buffer!=l&&n(e.buffer);return ja}function ka(){e.buffer!=l&&n(e.buffer);return la}var y;y||(y=typeof Module !== 'undefined' ? Module : {});var ma,na;y.ready=new Promise(function(a,b){ma=a;na=b});var oa={},A; function e(){m.buffer!=n&&p(m.buffer);return aa}function u(){m.buffer!=n&&p(m.buffer);return ba}function ca(){m.buffer!=n&&p(m.buffer);return da}function ea(){m.buffer!=n&&p(m.buffer);return fa}function w(){m.buffer!=n&&p(m.buffer);return ha}function x(){m.buffer!=n&&p(m.buffer);return ia}function ja(){m.buffer!=n&&p(m.buffer);return ka}function la(){m.buffer!=n&&p(m.buffer);return ma}var z;z||(z=typeof avif_enc_mt !== 'undefined' ? avif_enc_mt : {});var na,oa;
for(A in y)y.hasOwnProperty(A)&&(oa[A]=y[A]);function qa(a,b){throw b;}var B=y.ENVIRONMENT_IS_PTHREAD||!1,D="",ra;D=self.location.href;_scriptDir&&(D=_scriptDir);0!==D.indexOf("blob:")?D=D.substr(0,D.lastIndexOf("/")+1):D="";ra=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var sa=y.print||console.log.bind(console),E=y.printErr||console.warn.bind(console);for(A in oa)oa.hasOwnProperty(A)&&(y[A]=oa[A]);oa=null; z.ready=new Promise(function(a,b){na=a;oa=b});var pa={},A;for(A in z)z.hasOwnProperty(A)&&(pa[A]=z[A]);var qa=!1,D=!1,E=!1,ra=!1;qa="object"===typeof window;D="function"===typeof importScripts;E="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;ra=!qa&&!E&&!D;var G=z.ENVIRONMENT_IS_PTHREAD||!1;G&&(n=z.buffer,sa=z.DYNAMIC_BASE,ta=z.DYNAMICTOP_PTR);var H="";function ua(a){return z.locateFile?z.locateFile(a,H):H+a}var va,wa,I,xa;
y.quit&&(qa=y.quit);var ta=0,ua;y.wasmBinary&&(ua=y.wasmBinary);var noExitRuntime=y.noExitRuntime||!0;"object"!==typeof WebAssembly&&F("no native wasm support detected");var e,va,wa=!1; if(E){H=D?require("path").dirname(H)+"/":__dirname+"/";va=function(a,b){I||(I=require("fs"));xa||(xa=require("path"));a=xa.normalize(a);return I.readFileSync(a,b?null:"utf8")};wa=function(a){a=va(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof ya))throw a;});process.on("unhandledRejection",J);z.inspect=function(){return"[Emscripten Module object]"};
function xa(a,b,c){c=b+c;for(var d="";!(b>=c);){var f=a[b++];if(!f)break;if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function G(a,b){return a?xa(r(),a,b):""} var za;try{za=require("worker_threads")}catch(a){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),a;}global.Worker=za.Worker}else if(ra)"undefined"!=typeof read&&(va=function(a){return read(a)}),wa=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,
function ya(a,b,c){var d=r();if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}} console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(qa||D)D?H=self.location.href:document.currentScript&&(H=document.currentScript.src),_scriptDir&&(H=_scriptDir),0!==H.indexOf("blob:")?H=H.substr(0,H.lastIndexOf("/")+1):H="",E?(va=function(a,b){I||(I=require("fs"));xa||(xa=require("path"));a=xa.normalize(a);return I.readFileSync(a,b?null:"utf8")},wa=function(a){a=va(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a}):(va=function(a){var b=new XMLHttpRequest;
function za(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function Aa(a,b){for(var c="",d=0;!(d>=b/2);++d){var f=u()[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}function Ba(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f){var g=a.charCodeAt(f);u()[b>>1]=g;b+=2}u()[b>>1]=0;return b-d} b.open("GET",a,!1);b.send(null);return b.responseText},D&&(wa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}));E&&"undefined"===typeof performance&&(global.performance=require("perf_hooks").performance);var Aa=z.print||console.log.bind(console),K=z.printErr||console.warn.bind(console);for(A in pa)pa.hasOwnProperty(A)&&(z[A]=pa[A]);pa=null;var Ca,Da=0,Ea;z.wasmBinary&&(Ea=z.wasmBinary);var noExitRuntime;
function Ca(a){return 2*a.length}function Da(a,b){for(var c=0,d="";!(c>=b/4);){var f=w()[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}function Ea(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}w()[b>>2]=g;b+=4;if(b+4>c)break}w()[b>>2]=0;return b-d} z.noExitRuntime&&(noExitRuntime=z.noExitRuntime);"object"!==typeof WebAssembly&&J("no native wasm support detected");var m,Fa=new WebAssembly.Table({initial:913,maximum:913,element:"anyfunc"}),Ga,threadInfoStruct=0,selfThreadId=0,Ha=!1;function assert(a,b){a||J("Assertion failed: "+b)}
function Fa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var l,ba,ca,da,ha,ia,ja,Ga,la;B&&(l=y.buffer);function n(a){l=a;y.HEAP8=ba=new Int8Array(a);y.HEAP16=da=new Int16Array(a);y.HEAP32=ia=new Int32Array(a);y.HEAPU8=ca=new Uint8Array(a);y.HEAPU16=ha=new Uint16Array(a);y.HEAPU32=ja=new Uint32Array(a);y.HEAPF32=Ga=new Float32Array(a);y.HEAPF64=la=new Float64Array(a)}var Ha=y.INITIAL_MEMORY||16777216; function Ia(a,b,c){c=b+c;for(var d="";!(b>=c);){var f=a[b++];if(!f)break;if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function Ja(a,b){return a?Ia(u(),a,b):""}
if(B)e=y.wasmMemory,l=y.buffer;else if(y.wasmMemory)e=y.wasmMemory;else if(e=new WebAssembly.Memory({initial:Ha/65536,maximum:32768,shared:!0}),!(e.buffer instanceof SharedArrayBuffer))throw E("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");e&&(l=e.buffer);Ha=l.byteLength;n(l);var H,Ia=[],Ja=[],Ka=[]; function Ka(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var l=a.charCodeAt(++g);h=65536+((h&1023)<<10)|l&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}function La(a,b,c){Ka(a,u(),b,c)}
function La(){var a=y.preRun.shift();Ia.unshift(a)}var I=0,Ma=null,Na=null;y.preloadedImages={};y.preloadedAudios={};function F(a){if(y.onAbort)y.onAbort(a);B&&console.error("Pthread aborting at "+Error().stack);E(a);wa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");na(a);throw a;}var K=(new URL("avif_enc_mt.wasm",import.meta.url)).toString(); function Ma(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function Na(a,b){for(var c=0,d="";;){var f=ca()[a+2*c>>1];if(0==f||c==b/2)return d;++c;d+=String.fromCharCode(f)}}function Oa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f){var g=a.charCodeAt(f);ca()[b>>1]=g;b+=2}ca()[b>>1]=0;return b-d}
function Oa(){try{if(K==K&&ua)return new Uint8Array(ua);if(ra)return ra(K);throw"both async and sync fetching of the wasm failed";}catch(a){F(a)}}function Pa(){return ua||"function"!==typeof fetch?Promise.resolve().then(function(){return Oa()}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Oa()})} function Pa(a){return 2*a.length}function Qa(a,b){for(var c=0,d="";!(c>=b/4);){var f=w()[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}function Ra(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}w()[b>>2]=g;b+=4;if(b+4>c)break}w()[b>>2]=0;return b-d}
var Ra={601124:function(){throw"Canceled!";},601142:function(a,b){setTimeout(function(){Qa(a,b)},0)}};function Sa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(y);else{var c=b.Wb;"number"===typeof c?void 0===b.Ua?H.get(c)():H.get(c)(b.Ua):c(void 0===b.Ua?null:b.Ua)}}} function Sa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var n,aa,ba,da,fa,ha,ia,ka,ma;function p(a){n=a;z.HEAP8=aa=new Int8Array(a);z.HEAP16=da=new Int16Array(a);z.HEAP32=ha=new Int32Array(a);z.HEAPU8=ba=new Uint8Array(a);z.HEAPU16=fa=new Uint16Array(a);z.HEAPU32=ia=new Uint32Array(a);z.HEAPF32=ka=new Float32Array(a);z.HEAPF64=ma=new Float64Array(a)}var sa=6123632,ta=879824,Ta=z.INITIAL_MEMORY||16777216;
function Ta(a,b){if(0>=a||a>aa().length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(w(),Ua>>2),d=0;if(c==a&&Atomics.compareExchange(w(),Ua>>2,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(w(),a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}y._emscripten_futex_wake=Ta; if(G)m=z.wasmMemory,n=z.buffer;else if(z.wasmMemory)m=z.wasmMemory;else if(m=new WebAssembly.Memory({initial:Ta/65536,maximum:32768,shared:!0}),!(m.buffer instanceof SharedArrayBuffer))throw K("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),E&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),
function Va(a){if(B)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";var b=L.Oa[a];b&&(w()[a+12>>2]=0,L.$a(b.worker))} Error("bad memory");m&&(n=m.buffer);Ta=n.byteLength;p(n);G||(w()[ta>>2]=sa);function Ua(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(z);else{var c=b.Ic;"number"===typeof c?void 0===b.Vb?z.dynCall_v(c):z.dynCall_vi(c,b.Vb):c(void 0===b.Vb?null:b.Vb)}}}var Va=[],Wa=[],Xa=[],Ya=[];function Za(){var a=z.preRun.shift();Va.unshift(a)}var $a=Math.abs,ab=Math.ceil,bb=Math.floor,cb=Math.min,db=0,eb=null,fb=null;z.preloadedImages={};z.preloadedAudios={};
var L={Ma:[],Ra:[],fb:[],yb:function(){for(var a=navigator.hardwareConcurrency,b=0;b<a;++b)L.gb()},zb:function(){for(var a=M(228),b=0;57>b;++b)x()[a/4+b]=0;w()[a+12>>2]=a;b=a+152;w()[b>>2]=b;var c=M(512);for(b=0;128>b;++b)x()[c/4+b]=0;Atomics.store(x(),a+100>>2,c);Atomics.store(x(),a+40>>2,a);Wa(a,!1,1);Xa(a)},Ab:function(){L.receiveObjectTransfer=L.Eb;L.threadInit=L.Pb;L.threadCancel=L.Nb;L.threadExit=L.Ob;L.setExitStatus=L.Hb},Oa:{},ab:[],Fb:function(){for(;0<L.ab.length;)L.ab.pop()();B&&N()&&Ya()}, function J(a){if(z.onAbort)z.onAbort(a);G&&console.error("Pthread aborting at "+Error().stack);K(a);Ha=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");oa(a);throw a;}function gb(a){var b=hb;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function ib(){return gb("data:application/octet-stream;base64,")}var hb="avif_enc_mt.wasm";ib()||(hb=ua(hb));
nb:function(a,b){Atomics.store(x(),a+56>>2,1);Atomics.store(x(),a+60>>2,0);L.Fb();Atomics.store(x(),a+4>>2,b);Atomics.store(x(),a+0>>2,1);Ta(a+0,2147483647);Wa(0,0,0)},Hb:function(){},Ob:function(a){var b=N();b&&(L.nb(b,a),B&&postMessage({cmd:"exit"}))},Nb:function(){L.nb(N(),-1);postMessage({cmd:"cancelDone"})},Mb:function(){for(var a in L.Oa){var b=L.Oa[a];b&&b.worker&&L.$a(b.worker)}L.Oa={};for(a=0;a<L.Ma.length;++a){var c=L.Ma[a];c.terminate()}L.Ma=[];for(a=0;a<L.Ra.length;++a)c=L.Ra[a],b=c.La, function jb(){try{if(Ea)return new Uint8Array(Ea);if(wa)return wa(hb);throw"both async and sync fetching of the wasm failed";}catch(a){J(a)}}function kb(){return Ea||!qa&&!D||"function"!==typeof fetch||gb("file://")?new Promise(function(a){a(jb())}):fetch(hb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+hb+"'";return a.arrayBuffer()}).catch(function(){return jb()})}
L.cb(b),c.terminate();L.Ra=[]},cb:function(a){if(a){if(a.Pa){var b=w()[a.Pa+100>>2];w()[a.Pa+100>>2]=0;O(b);O(a.Pa)}a.Pa=0;a.bb&&a.Sa&&O(a.Sa);a.Sa=0;a.worker&&(a.worker.La=null)}},$a:function(a){L.Gb(function(){delete L.Oa[a.La.Pa];L.Ma.push(a);L.Ra.splice(L.Ra.indexOf(a),1);L.cb(a.La);a.La=void 0})},Gb:function(a){w()[Za>>2]=0;try{a()}finally{w()[Za>>2]=1}},Eb:function(){},Pb:function(){for(var a in L.fb)L.fb[a]()},lb:function(a,b){a.onmessage=function(c){var d=c.data,f=d.cmd;a.La&&(L.pb=a.La.Pa); var lb,mb,ob={576313:function(a,b){setTimeout(function(){nb(a,b)},0)},576391:function(){throw"Canceled!";}};G||Wa.push({Ic:function(){pb()}});var qb=0,rb=0,sb=0;function tb(a,b,c){qb=a|0;sb=b|0;rb=c|0}z.registerPthreadPtr=tb;
if(d.targetThread&&d.targetThread!=N()){var g=L.Oa[d.ec];g?g.worker.postMessage(c.data,d.transferList):console.error('Internal error! Worker sent a message "'+f+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===f)$a();else if("spawnThread"===f)ab(c.data);else if("cleanupThread"===f)Va(d.thread);else if("killThread"===f){c=d.thread;if(B)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!"; function ub(a,b){if(0>=a||a>e().length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(w(),220184),d=0;if(c==a&&Atomics.compareExchange(w(),220184,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(w(),a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}z._emscripten_futex_wake=ub;
w()[c+12>>2]=0;c=L.Oa[c];c.worker.terminate();L.cb(c);L.Ra.splice(L.Ra.indexOf(c.worker),1);c.worker.La=void 0}else if("cancelThread"===f){c=d.thread;if(B)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in cancelThread!";L.Oa[c].worker.postMessage({cmd:"cancel"})}else if("loaded"===f)a.loaded=!0,b&&b(a),a.Va&&(a.Va(),delete a.Va);else if("print"===f)sa("Thread "+d.threadId+": "+d.text);else if("printErr"===f)E("Thread "+ function vb(a){if(G)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";w()[a+12>>2]=0;(a=L.Jb[a])&&L.cc(a.worker)}
d.threadId+": "+d.text);else if("alert"===f)alert("Thread "+d.threadId+": "+d.text);else if("exit"===f)a.La&&Atomics.load(x(),a.La.Pa+64>>2)&&L.$a(a);else if("exitProcess"===f)try{g=d.returnCode;if(B)throw postMessage({cmd:"exitProcess",returnCode:g}),new bb(g);if(!cb()){L.Mb();if(y.onExit)y.onExit(g);wa=!0}qa(g,new bb(g))}catch(h){if(h instanceof bb)return;throw h;}else"cancelDone"===f?L.$a(a):"objectTransfer"!==f&&("setimmediate"===c.data.target?a.postMessage(c.data):E("worker sent an unknown command "+ var L={md:1,wd:{Bc:0,Cc:0},Gb:[],Ob:[],Qc:function(){tb(L.Eb,!D,1);wb(L.Eb)},Pc:function(){for(var a=navigator.hardwareConcurrency,b=0;b<a;++b)L.nc();L.Eb=879984;for(b=0;58>b;++b)x()[L.Eb/4+b]=0;w()[L.Eb+12>>2]=L.Eb;a=L.Eb+156;w()[a>>2]=a;for(b=0;128>b;++b)x()[220056+b]=0;Atomics.store(x(),L.Eb+104>>2,880224);Atomics.store(x(),L.Eb+40>>2,L.Eb);Atomics.store(x(),L.Eb+44>>2,42)},Rc:function(){L.receiveObjectTransfer=L.Zc;L.setThreadStatus=L.bd;L.threadCancel=L.hd;L.threadExit=L.jd},Jb:{},dc:[],bd:function(){},
f));L.pb=void 0};a.onerror=function(c){E("pthread sent an error! "+c.filename+":"+c.lineno+": "+c.message)};a.postMessage({cmd:"load",urlOrBlob:y.mainScriptUrlOrBlob,wasmMemory:e,wasmModule:va})},gb:function(){if(y.locateFile){var a=y.locateFile?y.locateFile("avif_enc_mt.worker.js",D):D+"avif_enc_mt.worker.js";L.Ma.push(new Worker(a))}else L.Ma.push(new Worker(new URL("avif_enc_mt.worker.js",import.meta.url)))},sb:function(){0==L.Ma.length&&(L.gb(),L.lb(L.Ma[0]));return L.Ma.pop()},Rb:function(a){for(a= Ac:function(){for(;0<L.dc.length;)L.dc.pop()();G&&threadInfoStruct&&xb()},jd:function(a){var b=qb|0;b&&(Atomics.store(x(),b+4>>2,a),Atomics.store(x(),b+0>>2,1),Atomics.store(x(),b+60>>2,1),Atomics.store(x(),b+64>>2,0),L.Ac(),ub(b+0,2147483647),tb(0,0,0),threadInfoStruct=0,G&&postMessage({cmd:"exit"}))},hd:function(){L.Ac();Atomics.store(x(),threadInfoStruct+4>>2,-1);Atomics.store(x(),threadInfoStruct+0>>2,1);ub(threadInfoStruct+0,2147483647);threadInfoStruct=selfThreadId=0;tb(0,0,0);postMessage({cmd:"cancelDone"})},
performance.now()+a;performance.now()<a;);}};y.establishStackSpace=function(a,b){db(a,b);P(a)};y.invokeEntryPoint=function(a,b){return H.get(a)(b)};var eb=0;function cb(){return noExitRuntime||0<eb}y.keepRuntimeAlive=cb;var fb;fb=B?function(){return performance.now()-y.__performance_now_clock_drift}:function(){return performance.now()};function gb(a,b){L.ab.push(function(){H.get(a)(b)})}var hb=[null,[],[]],ib={};function jb(a,b,c){return B?Q(1,1,a,b,c):0} Ed:function(){for(var a in L.Jb){var b=L.Jb[a];b&&b.worker&&L.cc(b.worker)}L.Jb={};for(a=0;a<L.Gb.length;++a){var c=L.Gb[a];c.terminate()}L.Gb=[];for(a=0;a<L.Ob.length;++a)c=L.Ob[a],b=c.Fb,L.hc(b),c.terminate();L.Ob=[]},hc:function(a){if(a){if(a.threadInfoStruct){var b=w()[a.threadInfoStruct+104>>2];w()[a.threadInfoStruct+104>>2]=0;M(b);M(a.threadInfoStruct)}a.threadInfoStruct=0;a.ec&&a.Rb&&M(a.Rb);a.Rb=0;a.worker&&(a.worker.Fb=null)}},cc:function(a){delete L.Jb[a.Fb.Dc];L.Gb.push(a);L.Ob.splice(L.Ob.indexOf(a),
function kb(a,b,c){return B?Q(2,1,a,b,c):0}function lb(a,b,c){if(B)return Q(3,1,a,b,c)}var mb={};function nb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function ob(a){return this.fromWireType(x()[a>>2])}var R={},T={},pb={};function qb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a} 1);L.hc(a.Fb);a.Fb=void 0},Zc:function(){},vc:function(a,b){a.onmessage=function(c){var d=c.data,f=d.cmd;a.Fb&&(L.fc=a.Fb.threadInfoStruct);if(d.targetThread&&d.targetThread!=(qb|0)){var g=L.Jb[d.Dd];g?g.worker.postMessage(c.data,d.transferList):console.error('Internal error! Worker sent a message "'+f+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===f)yb();else if("spawnThread"===f)zb(c.data);else if("cleanupThread"===f)vb(d.thread);
function rb(a,b){a=qb(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function sb(a){var b=Error,c=rb(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c} else if("killThread"===f){c=d.thread;if(G)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!";w()[c+12>>2]=0;c=L.Jb[c];c.worker.terminate();L.hc(c);L.Ob.splice(L.Ob.indexOf(c.worker),1);c.worker.Fb=void 0}else if("cancelThread"===f){c=d.thread;if(G)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in cancelThread!";
var tb=void 0;function ub(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new tb("Mismatched type converter count");for(var m=0;m<a.length;++m)U(a[m],k[m])}a.forEach(function(k){pb[k]=b});var f=Array(b.length),g=[],h=0;b.forEach(function(k,m){T.hasOwnProperty(k)?f[m]=T[k]:(g.push(k),R.hasOwnProperty(k)||(R[k]=[]),R[k].push(function(){f[m]=T[k];++h;h===g.length&&d(f)}))});0===g.length&&d(f)} L.Jb[c].worker.postMessage({cmd:"cancel"})}else"loaded"===f?(a.loaded=!0,b&&b(a),a.Wb&&(a.Wb(),delete a.Wb)):"print"===f?Aa("Thread "+d.threadId+": "+d.text):"printErr"===f?K("Thread "+d.threadId+": "+d.text):"alert"===f?alert("Thread "+d.threadId+": "+d.text):"exit"===f?a.Fb&&Atomics.load(x(),a.Fb.Dc+68>>2)&&L.cc(a):"cancelDone"===f?L.cc(a):"objectTransfer"!==f&&("setimmediate"===c.data.target?a.postMessage(c.data):K("worker sent an unknown command "+f));L.fc=void 0};a.onerror=function(c){K("pthread sent an error! "+
function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var wb=void 0;function V(a){for(var b="";r()[a];)b+=wb[r()[a++]];return b}var xb=void 0;function W(a){throw new xb(a);} c.filename+":"+c.lineno+": "+c.message)};E&&(a.on("message",function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("exit",function(){console.log("worker exited - TODO: update the worker queue?")}));a.postMessage({cmd:"load",urlOrBlob:z.mainScriptUrlOrBlob||_scriptDir,wasmMemory:m,wasmModule:Ga,DYNAMIC_BASE:sa,DYNAMICTOP_PTR:ta})},nc:function(){var a=ua("avif_enc_mt.worker.js");L.Gb.push(new Worker(a))},Jc:function(){0==L.Gb.length&&(L.nc(),L.vc(L.Gb[0]));return 0<L.Gb.length?
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||W('type "'+d+'" must have a positive integer typeid pointer');if(T.hasOwnProperty(a)){if(c.wb)return;W("Cannot register type '"+d+"' twice")}T[a]=b;delete pb[a];R.hasOwnProperty(a)&&(b=R[a],delete R[a],b.forEach(function(f){f()}))}var yb=[],X=[{},{value:void 0},{value:null},{value:!0},{value:!1}]; L.Gb.pop():null},od:function(a){for(a=performance.now()+a;performance.now()<a;);}};z.establishStackSpace=function(a){N(a)};z.getNoExitRuntime=function(){return noExitRuntime};var Ab;E?Ab=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:G?Ab=function(){return performance.now()-z.__performance_now_clock_drift}:"undefined"!==typeof dateNow?Ab=dateNow:Ab=function(){return performance.now()};function Bb(a,b){L.dc.push(function(){Cb(a,b)})}function Db(){return 0<Db.Xb}
function zb(a){4<a&&0===--X[a].eb&&(X[a]=void 0,yb.push(a))}function Ab(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=yb.length?yb.pop():X.length;X[b]={eb:1,value:a};return b}}function Bb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} function Eb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}function Fb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Eb(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function Cb(a,b){switch(b){case 2:return function(c){var d=this.fromWireType;e.buffer!=l&&n(e.buffer);return d.call(this,Ga[c>>2])};case 3:return function(c){return this.fromWireType(ka()[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} function Gb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function Hb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function Db(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=rb(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function Ib(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Eb(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var Jb=[];function Kb(a,b){Jb[a]={input:[],output:[],Sb:b};Lb(a,Mb)}
function Eb(a,b){var c=y;if(void 0===c[a].Na){var d=c[a];c[a]=function(){c[a].Na.hasOwnProperty(arguments.length)||W("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Na+")!");return c[a].Na[arguments.length].apply(this,arguments)};c[a].Na=[];c[a].Na[d.ob]=d}} var Mb={open:function(a){var b=Jb[a.node.rdev];if(!b)throw new O(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Sb.flush(a.tty)},flush:function(a){a.tty.Sb.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Sb.uc)throw new O(60);for(var f=0,g=0;g<d;g++){try{var h=a.tty.Sb.uc(a.tty)}catch(l){throw new O(29);}if(void 0===h&&0===f)throw new O(6);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.Sb.jc)throw new O(60);
function Fb(a,b,c){y.hasOwnProperty(a)?((void 0===c||void 0!==y[a].Na&&void 0!==y[a].Na[c])&&W("Cannot register public name '"+a+"' twice"),Eb(a,a),y.hasOwnProperty(c)&&W("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),y[a].Na[c]=b):(y[a]=b,void 0!==c&&(y[a].bc=c))}function Gb(a,b){for(var c=[],d=0;d<a;d++)c.push(w()[(b>>2)+d]);return c} try{for(var f=0;f<d;f++)a.tty.Sb.jc(a.tty,b[c+f])}catch(g){throw new O(29);}d&&(a.node.timestamp=Date.now());return f}},Nb={uc:function(a){if(!a.input.length){var b=null;if(E){var c=Buffer.Xb?Buffer.Xb(256):new Buffer(256),d=0;try{d=I.readSync(process.stdin.fd,c,0,256,null)}catch(f){if(-1!=f.toString().indexOf("EOF"))d=0;else throw f;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==
function Hb(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=y["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=H.get(b).apply(null,c);return d}}function Ib(a,b){a=V(a);var c=a.includes("j")?Hb(a,b):H.get(b);"function"!==typeof c&&W("unknown function pointer with signature "+a+": "+b);return c}var Jb=void 0;function Kb(a){a=Lb(a);var b=V(a);O(a);return b} typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;c=Array(Ma(b)+1);b=Ka(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},jc:function(a,b){null===b||10===b?(Aa(Ia(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(Aa(Ia(a.output,0)),a.output=[])}},Ob={jc:function(a,b){null===b||10===b?(K(Ia(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(K(Ia(a.output,0)),a.output=[])}},
function Mb(a,b){function c(g){f[g]||T[g]||(pb[g]?pb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Jb(a+": "+d.map(Kb).join([", "]));}function Nb(a,b,c){switch(b){case 0:return c?function(d){return aa()[d]}:function(d){return r()[d]};case 1:return c?function(d){return u()[d>>1]}:function(d){return fa()[d>>1]};case 2:return c?function(d){return w()[d>>2]}:function(d){return x()[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Ob={}; P={Hb:null,Mb:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.Hb||(P.Hb={dir:{node:{Nb:P.Bb.Nb,Kb:P.Bb.Kb,lookup:P.Bb.lookup,ac:P.Bb.ac,rename:P.Bb.rename,unlink:P.Bb.unlink,rmdir:P.Bb.rmdir,readdir:P.Bb.readdir,symlink:P.Bb.symlink},stream:{Qb:P.Cb.Qb}},file:{node:{Nb:P.Bb.Nb,Kb:P.Bb.Kb},stream:{Qb:P.Cb.Qb,read:P.Cb.read,write:P.Cb.write,mc:P.Cb.mc,wc:P.Cb.wc,yc:P.Cb.yc}},link:{node:{Nb:P.Bb.Nb,Kb:P.Bb.Kb,readlink:P.Bb.readlink},
function Pb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function Qb(a,b){var c=T[a];void 0===c&&W(b+" has unknown type "+Kb(a));return c}var Rb={},Sb=[];function Tb(a,b,c){if(0>=a||a>aa().length||a&1)return-28;a=Atomics.wait(w(),a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+a;} stream:{}},oc:{node:{Nb:P.Bb.Nb,Kb:P.Bb.Kb},stream:Pb}});c=Qb(a,b,c,d);16384===(c.mode&61440)?(c.Bb=P.Hb.dir.node,c.Cb=P.Hb.dir.stream,c.Ab={}):32768===(c.mode&61440)?(c.Bb=P.Hb.file.node,c.Cb=P.Hb.file.stream,c.Db=0,c.Ab=null):40960===(c.mode&61440)?(c.Bb=P.Hb.link.node,c.Cb=P.Hb.link.stream):8192===(c.mode&61440)&&(c.Bb=P.Hb.oc.node,c.Cb=P.Hb.oc.stream);c.timestamp=Date.now();a&&(a.Ab[b]=c);return c},sd:function(a){if(a.Ab&&a.Ab.subarray){for(var b=[],c=0;c<a.Db;++c)b.push(a.Ab[c]);return b}return a.Ab},
function Q(a,b){for(var c=arguments.length-2,d=Y(),f=Ub(8*c),g=f>>3,h=0;h<c;h++){var k=arguments[2+h];ka()[g+h]=k}c=Vb(a,c,f,b);P(d);return c}var Wb=[],Xb=[0,"undefined"!==typeof document?document:0,"undefined"!==typeof window?window:0];function Yb(a){a=2<a?G(a):a;return Xb[a]||("undefined"!==typeof document?document.querySelector(a):void 0)} td:function(a){return a.Ab?a.Ab.subarray?a.Ab.subarray(0,a.Db):new Uint8Array(a.Ab):new Uint8Array(0)},qc:function(a,b){var c=a.Ab?a.Ab.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ab,a.Ab=new Uint8Array(b),0<a.Db&&a.Ab.set(c.subarray(0,a.Db),0))},$c:function(a,b){if(a.Db!=b)if(0==b)a.Ab=null,a.Db=0;else{if(!a.Ab||a.Ab.subarray){var c=a.Ab;a.Ab=new Uint8Array(b);c&&a.Ab.set(c.subarray(0,Math.min(b,a.Db)))}else if(a.Ab||(a.Ab=[]),a.Ab.length>b)a.Ab.length=b;
function Zb(a,b,c){var d=Yb(a);if(!d)return-4;d.Ya&&(w()[d.Ya>>2]=b,w()[d.Ya+4>>2]=c);if(d.mb||!d.Tb)d.mb&&(d=d.mb),a=!1,d.Xa&&d.Xa.Wa&&(a=d.Xa.Wa.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.Xa.Wa.viewport(0,0,b,c);else{if(d.Ya){d=w()[d.Ya+8>>2];a=a?G(a):"";var f=Y(),g=Ub(12),h=0;if(a){h=za(a)+1;var k=M(h);ya(a,k,h);h=k}w()[g>>2]=h;w()[g+4>>2]=b;w()[g+8>>2]=c;$b(0,d,657457152,0,h,g);P(f);return 1}return-4}return 0} else for(;a.Ab.length<b;)a.Ab.push(0);a.Db=b}},Bb:{Nb:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Db:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.Fc=4096;b.blocks=Math.ceil(b.size/b.Fc);return b},Kb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&
function ac(a,b,c){return B?Q(4,1,a,b,c):Zb(a,b,c)}function bc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,g){b.drawArraysInstancedANGLE(c,d,f,g)},a.drawElementsInstanced=function(c,d,f,g,h){b.drawElementsInstancedANGLE(c,d,f,g,h)})} (a.timestamp=b.timestamp);void 0!==b.size&&P.$c(a,b.size)},lookup:function(){throw Rb[44];},ac:function(a,b,c,d){return P.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=Sb(b,c)}catch(g){}if(d)for(var f in d.Ab)throw new O(55);}delete a.parent.Ab[a.name];a.name=c;b.Ab[c]=a;a.parent=b},unlink:function(a,b){delete a.Ab[b]},rmdir:function(a,b){var c=Sb(a,b),d;for(d in c.Ab)throw new O(55);delete a.Ab[b]},readdir:function(a){var b=[".",".."],c;for(c in a.Ab)a.Ab.hasOwnProperty(c)&&
function cc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function dc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})} b.push(c);return b},symlink:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Cb:{read:function(a,b,c,d,f){var g=a.node.Ab;if(f>=a.node.Db)return 0;a=Math.min(a.node.Db-f,d);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){b.buffer===e().buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Ab||a.Ab.subarray)){if(g)return a.Ab=
function ec(a,b){a.kb||(a.kb=a.getContext,a.getContext=function(d,f){f=a.kb(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=a.getContext("webgl",b);return c?fc(c,b):0}function fc(a,b){var c=M(8);w()[c+4>>2]=N();var d={Yb:c,attributes:b,version:b.Bb,Wa:a};a.canvas&&(a.canvas.Xa=d);("undefined"===typeof b.ib||b.ib)&&gc(d);return c} b.subarray(c,c+d),a.Db=d;if(0===a.Db&&0===f)return a.Ab=b.slice(c,c+d),a.Db=d;if(f+d<=a.Db)return a.Ab.set(b.subarray(c,c+d),f),d}P.qc(a,f+d);if(a.Ab.subarray&&b.subarray)a.Ab.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.Ab[f+g]=b[c+g];a.Db=Math.max(a.Db,f+d);return d},Qb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Db);if(0>b)throw new O(28);return b},mc:function(a,b,c){P.qc(a.node,b+c);a.node.Db=Math.max(a.node.Db,b+c)},wc:function(a,b,c,d,f,g){assert(0===
function gc(a){a||(a=hc);if(!a.xb){a.xb=!0;var b=a.Wa;bc(b);cc(b);dc(b);b.Ub=b.getExtension("EXT_disjoint_timer_query");b.ac=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var hc,ic=["default","low-power","high-performance"];function jc(a){return B?Q(5,1,a):0}function kc(a,b,c,d){if(B)return Q(6,1,a,b,c,d);a=ib.Xb(a);b=ib.Vb(a,b,c);w()[d>>2]=b;return 0} b);if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Ab;if(g&2||a.buffer!==n){if(0<d||d+c<a.length)a.subarray?a=a.subarray(d,d+c):a=Array.prototype.slice.call(a,d,d+c);d=!0;g=16384*Math.ceil(c/16384);for(b=R(g);c<g;)e()[b+c++]=0;c=b;if(!c)throw new O(48);e().set(a,c)}else d=!1,c=a.byteOffset;return{Bd:c,nd:d}},yc:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new O(43);if(f&2)return 0;P.Cb.write(a,b,0,d,c,!1);return 0}}},Tb=null,Ub={},Vb=[],Wb=1,Xb=null,Yb=!0,Zb={},O=null,Rb={};
function lc(a,b,c,d,f){if(B)return Q(7,1,a,b,c,d,f)}function mc(a,b,c,d){if(B)return Q(8,1,a,b,c,d);for(var f=0,g=0;g<c;g++){for(var h=w()[b+8*g>>2],k=w()[b+(8*g+4)>>2],m=0;m<k;m++){var p=r()[h+m],q=hb[a];0===p||10===p?((1===a?sa:E)(xa(q,0)),q.length=0):q.push(p)}f+=k}w()[d>>2]=f;return 0} function $b(a,b){a=Ib("/",a);b=b||{};if(!a)return{path:"",node:null};var c={tc:!0,kc:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.kc)throw new O(32);a=Eb(a.split("/").filter(function(h){return!!h}),!1);var f=Tb;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;f=Sb(f,a[d]);c=Fb(c+"/"+a[d]);f.bc&&(!g||g&&b.tc)&&(f=f.bc.root);if(!g||b.sc)for(g=0;40960===(f.mode&61440);)if(f=ac(c),c=Ib(Gb(c),f),f=$b(c,{kc:b.kc}).node,40<g++)throw new O(32);}return{path:c,node:f}}
function ab(a){if(B)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=L.sb();if(!b)return 6;if(void 0!==b.La)throw"Internal error!";if(!a.Za)throw"Internal error, no pthread ptr!";L.Ra.push(b);for(var c=M(512),d=0;128>d;++d)w()[c+4*d>>2]=0;var f=a.Sa+a.Ta;d=L.Oa[a.Za]={worker:b,Sa:a.Sa,Ta:a.Ta,bb:a.bb,Pa:a.Za};var g=d.Pa>>2;Atomics.store(x(),g+16,a.hb);Atomics.store(x(),g+25,c);Atomics.store(x(),g+10,d.Pa);Atomics.store(x(),g+20,a.Ta);Atomics.store(x(), function bc(a){for(var b;;){if(a===a.parent)return a=a.Mb.xc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function cc(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Xb.length}function Sb(a,b){var c;if(c=(c=dc(a,"x"))?c:a.Bb.lookup?0:2)throw new O(c,a);for(c=Xb[cc(a.id,b)];c;c=c.Vc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Bb.lookup(a,b)}
g+19,f);Atomics.store(x(),g+26,a.Ta);Atomics.store(x(),g+28,f);Atomics.store(x(),g+29,a.hb);c=nc()+40;Atomics.store(x(),g+43,c);b.La=d;var h={cmd:"run",start_routine:a.Lb,arg:a.Ua,threadInfoStruct:a.Za,stackBase:a.Sa,stackSize:a.Ta};b.Va=function(){h.time=performance.now();b.postMessage(h,a.Qb)};b.loaded&&(b.Va(),delete b.Va);return 0} function Qb(a,b,c,d){a=new ec(a,b,c,d);b=cc(a.parent.id,a.name);a.Vc=Xb[b];return Xb[b]=a}var fc={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function hc(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function dc(a,b){if(Yb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0}
function oc(a,b){if(!a)return E("pthread_join attempted on a null thread pointer!"),71;if(B&&N()==a)return E("PThread "+a+" is attempting to join to itself!"),16;if(!B&&pc()==a)return E("Main thread "+a+" is attempting to join to itself!"),16;if(w()[a+12>>2]!==a)return E("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(x(),a+64>>2))return E("Attempted to join thread "+a+", which was already detached!"),28;for(;;){var c= function ic(a,b){try{return Sb(a,b),20}catch(c){}return dc(a,"wx")}function jc(a){var b=4096;for(a=a||0;a<=b;a++)if(!Vb[a])return a;throw new O(33);}function kc(a,b){lc||(lc=function(){},lc.prototype={});var c=new lc,d;for(d in a)c[d]=a[d];a=c;b=jc(b);a.fd=b;return Vb[b]=a}var Pb={open:function(a){a.Cb=Ub[a.node.rdev].Cb;a.Cb.open&&a.Cb.open(a)},Qb:function(){throw new O(70);}};function Lb(a,b){Ub[a]={Cb:b}}
Atomics.load(x(),a+0>>2);if(1==c)return c=Atomics.load(x(),a+4>>2),b&&(w()[b>>2]=c),Atomics.store(x(),a+64>>2,1),B?postMessage({cmd:"cleanupThread",thread:a}):Va(a),0;if(B){var d=N();if(d&&!Atomics.load(x(),d+56>>2)&&2==Atomics.load(x(),d+0>>2))throw"Canceled!";}B||$a();Tb(a+0,c,B?100:1)}}B||L.yb();tb=y.InternalError=sb("InternalError");for(var qc=Array(256),rc=0;256>rc;++rc)qc[rc]=String.fromCharCode(rc);wb=qc;xb=y.BindingError=sb("BindingError"); function mc(a,b){var c="/"===b,d=!b;if(c&&Tb)throw new O(10);if(!c&&!d){var f=$b(b,{tc:!1});b=f.path;f=f.node;if(f.bc)throw new O(10);if(16384!==(f.mode&61440))throw new O(54);}b={type:a,zd:{},xc:b,Uc:[]};a=a.Mb(b);a.Mb=b;b.root=a;c?Tb=a:f&&(f.bc=b,f.Mb&&f.Mb.Uc.push(b))}function nc(a,b,c){var d=$b(a,{parent:!0}).node;a=Hb(a);if(!a||"."===a||".."===a)throw new O(28);var f=ic(d,a);if(f)throw new O(f);if(!d.Bb.ac)throw new O(63);return d.Bb.ac(d,a,b,c)}function S(a){nc(a,16895,0)}
y.count_emval_handles=function(){for(var a=0,b=5;b<X.length;++b)void 0!==X[b]&&++a;return a};y.get_first_emval=function(){for(var a=5;a<X.length;++a)if(void 0!==X[a])return X[a];return null};Jb=y.UnboundTypeError=sb("UnboundTypeError"); function oc(a,b,c){"undefined"===typeof c&&(c=b,b=438);nc(a,b|8192,c)}function pc(a,b){if(!Ib(a))throw new O(44);var c=$b(b,{parent:!0}).node;if(!c)throw new O(44);b=Hb(b);var d=ic(c,b);if(d)throw new O(d);if(!c.Bb.symlink)throw new O(63);c.Bb.symlink(c,b,a)}function ac(a){a=$b(a).node;if(!a)throw new O(44);if(!a.Bb.readlink)throw new O(28);return Ib(bc(a.parent),a.Bb.readlink(a))}
var sc=[null,jb,kb,lb,ac,jc,kc,lc,mc],Dc={k:function(a,b,c,d){F("Assertion failed: "+G(a)+", at: "+[b?G(b):"unknown filename",c,d?G(d):"unknown function"])},C:function(a,b){return gb(a,b)},v:jb,Q:kb,R:lb,F:function(a){var b=mb[a];delete mb[a];var c=b.Cb,d=b.Db,f=b.jb,g=f.map(function(h){return h.vb}).concat(f.map(function(h){return h.Jb}));ub([a],g,function(h){var k={};f.forEach(function(m,p){var q=h[p],v=m.tb,C=m.ub,z=h[p+f.length],t=m.Ib,pa=m.Kb;k[m.rb]={read:function(J){return q.fromWireType(v(C, function qc(a,b,c,d){if(""===a)throw new O(44);if("string"===typeof b){var f=fc[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=Fb(a);try{g=$b(a,{sc:!(b&131072)}).node}catch(l){}}f=!1;if(b&64)if(g){if(b&128)throw new O(20);}else g=nc(a,c,0),f=!0;if(!g)throw new O(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&16384!==(g.mode&61440))throw new O(54);if(!f&&(c=g?40960===(g.mode&61440)?
J))},write:function(J,S){var ea=[];t(pa,J,z.toWireType(ea,S));nb(ea)}}});return[{name:b.name,fromWireType:function(m){var p={},q;for(q in k)p[q]=k[q].read(m);d(m);return p},toWireType:function(m,p){for(var q in k)if(!(q in p))throw new TypeError('Missing field: "'+q+'"');var v=c();for(q in k)k[q].write(v,p[q]);null!==m&&m.push(d,v);return v},argPackAdvance:8,readValueFromPointer:ob,Qa:d}]})},I:function(){},aa:function(a,b,c,d,f){var g=vb(c);b=V(b);U(a,{name:b,fromWireType:function(h){return!!h}, 32:16384===(g.mode&61440)&&("r"!==hc(b)||b&512)?31:dc(g,hc(b)):44))throw new O(c);if(b&512){c=g;var h;"string"===typeof c?h=$b(c,{sc:!0}).node:h=c;if(!h.Bb.Kb)throw new O(63);if(16384===(h.mode&61440))throw new O(31);if(32768!==(h.mode&61440))throw new O(28);if(c=dc(h,"w"))throw new O(c);h.Bb.Kb(h,{size:0,timestamp:Date.now()})}b&=-131713;d=kc({node:g,path:bc(g),flags:b,seekable:!0,position:0,Cb:g.Cb,ld:[],error:!1},d);d.Cb.open&&d.Cb.open(d);!z.logReadFiles||b&1||(rc||(rc={}),a in rc||(rc[a]=1,K("FS.trackingDelegate error on read file: "+
toWireType:function(h,k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var k=aa();else if(2===c)k=u();else if(4===c)k=w();else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Qa:null})},$:function(a,b){b=V(b);U(a,{name:b,fromWireType:function(c){var d=X[c].value;zb(c);return d},toWireType:function(c,d){return Ab(d)},argPackAdvance:8,readValueFromPointer:ob,Qa:null})},z:function(a,b,c){c=vb(c);b=V(b);U(a,{name:b,fromWireType:function(d){return d}, a)));try{Zb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),Zb.onOpenFile(a,g))}catch(l){K("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+l.message)}return d}function sc(a,b,c){if(null===a.fd)throw new O(8);if(!a.seekable||!a.Cb.Qb)throw new O(70);if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Cb.Qb(a,b,c);a.ld=[]}
toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Bb(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Cb(b,c),Qa:null})},E:function(a,b,c,d,f,g){var h=Gb(b,c);a=V(a);f=Ib(d,f);Fb(a,function(){Mb("Cannot call "+a+" due to unbound types",h)},b-1);ub([],h,function(k){var m=a,p=a;k=[k[0],null].concat(k.slice(1));var q=f,v=k.length;2>v&&W("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var C= function tc(){O||(O=function(a,b){this.node=b;this.ad=function(c){this.Pb=c};this.ad(a);this.message="FS error"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(function(a){Rb[a]=new O(a);Rb[a].stack="<generic error, no stack>"}))}var uc;function vc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
null!==k[1]&&!1,z=!1,t=1;t<k.length;++t)if(null!==k[t]&&void 0===k[t].Qa){z=!0;break}var pa="void"!==k[0].name,J="",S="";for(t=0;t<v-2;++t)J+=(0!==t?", ":"")+"arg"+t,S+=(0!==t?", ":"")+"arg"+t+"Wired";p="return function "+qb(p)+"("+J+") {\nif (arguments.length !== "+(v-2)+") {\nthrowBindingError('function "+p+" called with ' + arguments.length + ' arguments, expected "+(v-2)+" args!');\n}\n";z&&(p+="var destructors = [];\n");var ea=z?"destructors":"null";J="throwBindingError invoker fn runDestructors retType classParam".split(" "); function wc(a,b,c){a=Fb("/dev/"+a);var d=vc(!!b,!!c);xc||(xc=64);var f=xc++<<8|0;Lb(f,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,l,k){for(var q=0,r=0;r<k;r++){try{var t=b()}catch(y){throw new O(29);}if(void 0===t&&0===q)throw new O(6);if(null===t||void 0===t)break;q++;h[l+r]=t}q&&(g.node.timestamp=Date.now());return q},write:function(g,h,l,k){for(var q=0;q<k;q++)try{c(h[l+q])}catch(r){throw new O(29);}k&&(g.node.timestamp=Date.now());return q}});
q=[W,q,g,nb,k[0],k[1]];C&&(p+="var thisWired = classParam.toWireType("+ea+", this);\n");for(t=0;t<v-2;++t)p+="var arg"+t+"Wired = argType"+t+".toWireType("+ea+", arg"+t+"); // "+k[t+2].name+"\n",J.push("argType"+t),q.push(k[t+2]);C&&(S="thisWired"+(0<S.length?", ":"")+S);p+=(pa?"var rv = ":"")+"invoker(fn"+(0<S.length?", ":"")+S+");\n";if(z)p+="runDestructors(destructors);\n";else for(t=C?1:2;t<k.length;++t)v=1===t?"thisWired":"arg"+(t-2)+"Wired",null!==k[t].Qa&&(p+=v+"_dtor("+v+"); // "+k[t].name+ oc(a,d,f)}var xc,yc={},lc,rc,zc=void 0;function Ac(){zc+=4;return w()[zc-4>>2]}function Bc(a){a=Vb[a];if(!a)throw new O(8);return a}
"\n",J.push(v+"_dtor"),q.push(k[t].Qa));pa&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n");J.push(p+"}\n");k=Db(J).apply(null,q);t=b-1;if(!y.hasOwnProperty(m))throw new tb("Replacing nonexistant public symbol");void 0!==y[m].Na&&void 0!==t?y[m].Na[t]=k:(y[m]=k,y[m].ob=t);return[]})},j:function(a,b,c,d,f){function g(p){return p}b=V(b);-1===f&&(f=4294967295);var h=vb(c);if(0===d){var k=32-8*c;g=function(p){return p<<k>>>k}}var m=b.includes("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(p, function Cc(a,b,c){if(G)return T(1,1,a,b,c);zc=c;try{var d=Bc(a);switch(b){case 0:var f=Ac();return 0>f?-28:qc(d.path,d.flags,0,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=Ac(),d.flags|=f,0;case 12:return f=Ac(),ca()[f+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return w()[Dc()>>2]=28,-1;default:return-28}}catch(g){return"undefined"!==typeof yc&&g instanceof O||J(g),-g.Pb}}
q){if("number"!==typeof q&&"boolean"!==typeof q)throw new TypeError('Cannot convert "'+Bb(q)+'" to '+this.name);if(q<d||q>f)throw new TypeError('Passing a number "'+Bb(q)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return m?q>>>0:q|0},argPackAdvance:8,readValueFromPointer:Nb(b,h,0!==d),Qa:null})},g:function(a,b,c){function d(g){g>>=2;var h=x();return new f(l,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array, function Ec(a,b,c){if(G)return T(2,1,a,b,c);zc=c;try{var d=Bc(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var f=Ac();return w()[f>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=f=Ac();if(!d.Cb.Sc)throw new O(59);return d.Cb.Sc(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:J("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof yc&&g instanceof
Uint32Array,Float32Array,Float64Array][b];c=V(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{wb:!0})},A:function(a,b){b=V(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=x()[d>>2];if(c)for(var g=d+4,h=0;h<=f;++h){var k=d+4+h;if(h==f||0==r()[k]){g=G(g,k-g);if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=k+1}}else{m=Array(f);for(h=0;h<f;++h)m[h]=String.fromCharCode(r()[d+4+h]);m=m.join("")}O(d);return m},toWireType:function(d,f){f instanceof O||J(g),-g.Pb}}function Fc(a,b,c){if(G)return T(3,1,a,b,c);zc=c;try{var d=Ja(a),f=Ac();return qc(d,b,f).fd}catch(g){return"undefined"!==typeof yc&&g instanceof O||J(g),-g.Pb}}var Gc={};function Hc(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ic(a){return this.fromWireType(x()[a>>2])}var Jc={},Kc={},Lc={};function Mc(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||W("Cannot pass non-string to std::string");var h=(c&&g?function(){return za(f)}:function(){return f.length})(),k=M(4+h+1);x()[k>>2]=h;if(c&&g)ya(f,k+4,h+1);else if(g)for(g=0;g<h;++g){var m=f.charCodeAt(g);255<m&&(O(k),W("String has UTF-16 code units that do not fit in 8 bits"));r()[k+4+g]=m}else for(g=0;g<h;++g)r()[k+4+g]=f[g];null!==d&&d.push(O,k);return k}, function Nc(a,b){a=Mc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Oc(a){var b=Error,c=Nc(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
argPackAdvance:8,readValueFromPointer:ob,Qa:function(d){O(d)}})},r:function(a,b,c){c=V(c);if(2===b){var d=Aa;var f=Ba;var g=Ca;var h=function(){return fa()};var k=1}else 4===b&&(d=Da,f=Ea,g=Fa,h=function(){return x()},k=2);U(a,{name:c,fromWireType:function(m){for(var p=x()[m>>2],q=h(),v,C=m+4,z=0;z<=p;++z){var t=m+4+z*b;if(z==p||0==q[t>>k])C=d(C,t-C),void 0===v?v=C:(v+=String.fromCharCode(0),v+=C),C=t+b}O(m);return v},toWireType:function(m,p){"string"!==typeof p&&W("Cannot pass non-string to C++ string type "+ var Pc=void 0;function Qc(a,b,c){function d(l){l=c(l);if(l.length!==a.length)throw new Pc("Mismatched type converter count");for(var k=0;k<a.length;++k)U(a[k],l[k])}a.forEach(function(l){Lc[l]=b});var f=Array(b.length),g=[],h=0;b.forEach(function(l,k){Kc.hasOwnProperty(l)?f[k]=Kc[l]:(g.push(l),Jc.hasOwnProperty(l)||(Jc[l]=[]),Jc[l].push(function(){f[k]=Kc[l];++h;h===g.length&&d(f)}))});0===g.length&&d(f)}
c);var q=g(p),v=M(4+q+b);x()[v>>2]=q>>k;f(p,v+4,q+b);null!==m&&m.push(O,v);return v},argPackAdvance:8,readValueFromPointer:ob,Qa:function(m){O(m)}})},K:function(a,b,c,d,f,g){mb[a]={name:V(b),Cb:Ib(c,d),Db:Ib(f,g),jb:[]}},h:function(a,b,c,d,f,g,h,k,m,p){mb[a].jb.push({rb:V(b),vb:c,tb:Ib(d,f),ub:g,Jb:h,Ib:Ib(k,m),Kb:p})},ba:function(a,b){b=V(b);U(a,{Zb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},X:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"}); function Rc(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Sc=void 0;function V(a){for(var b="";u()[a];)b+=Sc[u()[a++]];return b}var Tc=void 0;function W(a){throw new Tc(a);}
else if(B)postMessage({targetThread:a,cmd:"processThreadQueue"});else{a=(a=L.Oa[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},o:zb,_:function(a){if(0===a)return Ab(Pb());var b=Ob[a];a=void 0===b?V(a):b;return Ab(Pb()[a])},D:function(a){4<a&&(X[a].eb+=1)},P:function(a,b,c,d){a||W("Cannot use deleted val. handle = "+a);a=X[a].value;var f=Rb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var h="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n"; function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||W('type "'+d+'" must have a positive integer typeid pointer');if(Kc.hasOwnProperty(a)){if(c.Nc)return;W("Cannot register type '"+d+"' twice")}Kc[a]=b;delete Lc[a];Jc.hasOwnProperty(a)&&(b=Jc[a],delete Jc[a],b.forEach(function(f){f()}))}var Uc=[],X=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
for(g=0;g<b;++g)h+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",h+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(Qb,y,Ab);Rb[b]=f}return f(a,c,d)},i:function(){F()},y:function(a,b,c){Sb.length=0;var d;for(c>>=2;d=r()[b++];)(d=105>d)&&c&1&&c++, function Vc(a){4<a&&0===--X[a].lc&&(X[a]=void 0,Uc.push(a))}function Wc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Uc.length?Uc.pop():X.length;X[b]={lc:1,value:a};return b}}function Xc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
Sb.push(d?ka()[c++>>1]:w()[c]),++c;return Ra[a].apply(null,Sb)},T:function(){},x:function(){},l:Tb,m:Ta,p:fb,e:function(a,b){Z(a,b||1);throw"longjmp";},M:function(a,b,c){r().copyWithin(a,b,b+c)},ea:function(){return navigator.hardwareConcurrency},U:function(a,b,c){Wb.length=b;c>>=3;for(var d=0;d<b;d++)Wb[d]=ka()[c+d];return(0>a?Ra[-a-1]:sc[a]).apply(null,Wb)},N:function(a){var b=r().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a, function Yc(a,b){switch(b){case 2:return function(c){return this.fromWireType(ja()[c>>2])};case 3:return function(c){return this.fromWireType(la()[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Zc(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Nc(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
d);0<d%65536&&(d+=65536-d%65536);a:{try{e.grow(Math.min(2147483648,d)-l.byteLength+65535>>>16);n(e.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},V:function(a,b,c){return Yb(a)?Zb(a,b,c):ac(a,b,c)},w:function(){},W:function(a,b){b>>=2;var c=w()[b+6];b={alpha:!!w()[b],depth:!!w()[b+1],stencil:!!w()[b+2],antialias:!!w()[b+3],premultipliedAlpha:!!w()[b+4],preserveDrawingBuffer:!!w()[b+5],powerPreference:ic[c],failIfMajorPerformanceCaveat:!!w()[b+7],Bb:w()[b+8],$b:w()[b+9],ib:w()[b+ function $c(a,b){var c=z;if(void 0===c[a].Ib){var d=c[a];c[a]=function(){c[a].Ib.hasOwnProperty(arguments.length)||W("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Ib+")!");return c[a].Ib[arguments.length].apply(this,arguments)};c[a].Ib=[];c[a].Ib[d.Ec]=d}}
10],qb:w()[b+11],cc:w()[b+12],dc:w()[b+13]};a=Yb(a);return!a||b.qb?0:ec(a,b)},u:jc,O:kc,H:lc,S:mc,c:function(){return ta},L:function(){L.zb()},q:tc,s:uc,t:vc,J:wc,G:xc,n:yc,f:zc,d:Ac,a:e||y.wasmMemory,Y:function(a){var b=L.ab.pop();a&&b()},Z:gb,B:function(a,b,c,d){if("undefined"===typeof SharedArrayBuffer)return E("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!a)return E("pthread_create called with a null thread pointer!"),28;var f=[];if(B&&0===f.length)return Bc(687865856, function ad(a,b,c){z.hasOwnProperty(a)?((void 0===c||void 0!==z[a].Ib&&void 0!==z[a].Ib[c])&&W("Cannot register public name '"+a+"' twice"),$c(a,a),z.hasOwnProperty(c)&&W("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),z[a].Ib[c]=b):(z[a]=b,void 0!==c&&(z[a].yd=c))}function bd(a,b){for(var c=[],d=0;d<a;d++)c.push(w()[(b>>2)+d]);return c}
a,b,c,d);var g=0,h=0;if(b&&-1!=b){var k=w()[b>>2];k+=81920;g=w()[b+8>>2];h=0!==w()[b+12>>2]}else k=2097152;(b=0==g)?g=Cc(16,k):(g-=k,0<g||F("Assertion failed: undefined"));for(var m=M(228),p=0;57>p;++p)x()[(m>>2)+p]=0;w()[a>>2]=m;w()[m+12>>2]=m;a=m+152;w()[a>>2]=a;c={Sa:g,Ta:k,bb:b,hb:h,Lb:c,Za:m,Ua:d,Qb:f};return B?(c.Sb="spawnThread",postMessage(c,f),0):ab(c)},ca:function(a,b){return oc(a,b)},b:function(a){ta=a},da:function(a){var b=Date.now()/1E3|0;a&&(w()[a>>2]=b);return b}}; function cd(a,b){a=V(a);var c=z["dynCall_"+a];for(var d=[],f=1;f<a.length;++f)d.push("a"+f);f="return function dynCall_"+(a+"_"+b)+"("+d.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(d.length?", ":"")+d.join(", ")+");\n";c=(new Function("dynCall","rawFunction",f+"};\n"))(c,b);"function"!==typeof c&&W("unknown function pointer with signature "+a+": "+b);return c}var dd=void 0;function ed(a){a=fd(a);var b=V(a);M(a);return b}
(function(){function a(f,g){y.asm=f.exports;H=y.asm.ja;Ja.unshift(y.asm.fa);L.fb.push(y.asm.ia);va=g;if(!B){var h=L.Ma.length;L.Ma.forEach(function(k){L.lb(k,function(){if(!--h&&(I--,y.monitorRunDependencies&&y.monitorRunDependencies(I),0==I&&(null!==Ma&&(clearInterval(Ma),Ma=null),Na))){var m=Na;Na=null;m()}})})}}function b(f){a(f.instance,f.module)}function c(f){return Pa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){E("failed to asynchronously prepare wasm: "+g);F(g)})} function gd(a,b){function c(g){f[g]||Kc[g]||(Lc[g]?Lc[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new dd(a+": "+d.map(ed).join([", "]));}function hd(a,b,c){switch(b){case 0:return c?function(d){return e()[d]}:function(d){return u()[d]};case 1:return c?function(d){return ca()[d>>1]}:function(d){return ea()[d>>1]};case 2:return c?function(d){return w()[d>>2]}:function(d){return x()[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var id={};
var d={a:Dc};B||(!B||F("Assertion failed: addRunDependency cannot be used in a pthread worker"),I++,y.monitorRunDependencies&&y.monitorRunDependencies(I));if(y.instantiateWasm)try{return y.instantiateWasm(d,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return ua||"function"!==typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f, function jd(){return"object"===typeof globalThis?globalThis:Function("return this")()}function kd(a,b){var c=Kc[a];void 0===c&&W(b+" has unknown type "+ed(a));return c}var ld={};
d).then(b,function(g){E("wasm streaming compile failed: "+g);E("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(na);return{}})();y.___wasm_call_ctors=function(){return(y.___wasm_call_ctors=y.asm.fa).apply(null,arguments)};var M=y._malloc=function(){return(M=y._malloc=y.asm.ga).apply(null,arguments)},O=y._free=function(){return(O=y._free=y.asm.ha).apply(null,arguments)};y._emscripten_tls_init=function(){return(y._emscripten_tls_init=y.asm.ia).apply(null,arguments)}; function md(){E||D||(Ca||(Ca={}),Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]||(Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]=1,K("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")))}
var Lb=y.___getTypeName=function(){return(Lb=y.___getTypeName=y.asm.ka).apply(null,arguments)};y.___embind_register_native_and_builtin_types=function(){return(y.___embind_register_native_and_builtin_types=y.asm.la).apply(null,arguments)};y._emscripten_current_thread_process_queued_calls=function(){return(y._emscripten_current_thread_process_queued_calls=y.asm.ma).apply(null,arguments)}; function nd(a,b,c){if(0>=a||a>e().length||a&1)return-28;if(D){a=Atomics.wait(w(),a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+a;}var d=Atomics.load(w(),a>>2);if(b!=d)return-6;b=performance.now();c=b+c;Atomics.store(w(),220184,a);for(d=a;a==d;){b=performance.now();if(b>c)return-73;yb();a=Atomics.load(w(),220184)}return 0}
var Xa=y._emscripten_register_main_browser_thread_id=function(){return(Xa=y._emscripten_register_main_browser_thread_id=y.asm.na).apply(null,arguments)},pc=y._emscripten_main_browser_thread_id=function(){return(pc=y._emscripten_main_browser_thread_id=y.asm.oa).apply(null,arguments)},Qa=y.__emscripten_do_dispatch_to_thread=function(){return(Qa=y.__emscripten_do_dispatch_to_thread=y.asm.pa).apply(null,arguments)},Bc=y._emscripten_sync_run_in_main_thread_4=function(){return(Bc=y._emscripten_sync_run_in_main_thread_4= function T(a,b){for(var c=arguments.length-2,d=Y(),f=od(8*c),g=f>>3,h=0;h<c;h++)la()[g+h]=arguments[2+h];c=pd(a,c,f,b);N(d);return c}var qd=[],rd=[],sd=[0,"undefined"!==typeof document?document:0,"undefined"!==typeof window?window:0];function td(a){a=2<a?Ja(a):a;return sd[a]||("undefined"!==typeof document?document.querySelector(a):void 0)}
y.asm.qa).apply(null,arguments)},$a=y._emscripten_main_thread_process_queued_calls=function(){return($a=y._emscripten_main_thread_process_queued_calls=y.asm.ra).apply(null,arguments)},Vb=y._emscripten_run_in_main_runtime_thread_js=function(){return(Vb=y._emscripten_run_in_main_runtime_thread_js=y.asm.sa).apply(null,arguments)},$b=y.__emscripten_call_on_thread=function(){return($b=y.__emscripten_call_on_thread=y.asm.ta).apply(null,arguments)},Wa=y.__emscripten_thread_init=function(){return(Wa=y.__emscripten_thread_init= function ud(a,b,c){var d=td(a);if(!d)return-4;d.$b&&(w()[d.$b>>2]=b,w()[d.$b+4>>2]=c);if(d.zc||!d.qd)d.zc&&(d=d.zc),a=!1,d.Zb&&d.Zb.Yb&&(a=d.Zb.Yb.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.Zb.Yb.viewport(0,0,b,c);else{if(d.$b){d=w()[d.$b+8>>2];a=a?Ja(a):"";var f=Y(),g=od(12),h=0;if(a){h=Ma(a)+1;var l=R(h);La(a,l,h);h=l}w()[g>>2]=h;w()[g+4>>2]=b;w()[g+8>>2]=c;vd(0,d,657457152,0,h,g);N(f);return 1}return-4}return 0}
y.asm.ua).apply(null,arguments)},N=y._pthread_self=function(){return(N=y._pthread_self=y.asm.va).apply(null,arguments)},Ya=y.___pthread_tsd_run_dtors=function(){return(Ya=y.___pthread_tsd_run_dtors=y.asm.wa).apply(null,arguments)},nc=y._emscripten_get_global_libc=function(){return(nc=y._emscripten_get_global_libc=y.asm.xa).apply(null,arguments)},Y=y.stackSave=function(){return(Y=y.stackSave=y.asm.ya).apply(null,arguments)},P=y.stackRestore=function(){return(P=y.stackRestore=y.asm.za).apply(null,arguments)}, function wd(a,b,c){return G?T(4,1,a,b,c):ud(a,b,c)}function xd(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,g){b.drawArraysInstancedANGLE(c,d,f,g)},a.drawElementsInstanced=function(c,d,f,g,h){b.drawElementsInstancedANGLE(c,d,f,g,h)})}
Ub=y.stackAlloc=function(){return(Ub=y.stackAlloc=y.asm.Aa).apply(null,arguments)},db=y._emscripten_stack_set_limits=function(){return(db=y._emscripten_stack_set_limits=y.asm.Ba).apply(null,arguments)},Z=y._setThrew=function(){return(Z=y._setThrew=y.asm.Ca).apply(null,arguments)},Cc=y._memalign=function(){return(Cc=y._memalign=y.asm.Da).apply(null,arguments)};y.dynCall_jiiiiiiiii=function(){return(y.dynCall_jiiiiiiiii=y.asm.Ea).apply(null,arguments)}; function yd(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function zd(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
var Ec=y.dynCall_ijiii=function(){return(Ec=y.dynCall_ijiii=y.asm.Fa).apply(null,arguments)};y.dynCall_jiji=function(){return(y.dynCall_jiji=y.asm.Ga).apply(null,arguments)};y.dynCall_jiiiiiiii=function(){return(y.dynCall_jiiiiiiii=y.asm.Ha).apply(null,arguments)};y.dynCall_jiiiiii=function(){return(y.dynCall_jiiiiii=y.asm.Ia).apply(null,arguments)};y.dynCall_jiiiii=function(){return(y.dynCall_jiiiii=y.asm.Ja).apply(null,arguments)}; function Ad(a){a||(a=Bd);if(!a.Oc){a.Oc=!0;var b=a.Yb;xd(b);yd(b);zd(b);b.rd=b.getExtension("EXT_disjoint_timer_query");var c="OES_texture_float OES_texture_half_float OES_standard_derivatives OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBGL_depth_texture OES_element_index_uint EXT_texture_filter_anisotropic EXT_frag_depth WEBGL_draw_buffers ANGLE_instanced_arrays OES_texture_float_linear OES_texture_half_float_linear EXT_blend_minmax EXT_shader_texture_lod EXT_texture_norm16 WEBGL_compressed_texture_pvrtc EXT_color_buffer_half_float WEBGL_color_buffer_float EXT_sRGB WEBGL_compressed_texture_etc1 EXT_disjoint_timer_query WEBGL_compressed_texture_etc WEBGL_compressed_texture_astc EXT_color_buffer_float WEBGL_compressed_texture_s3tc_srgb EXT_disjoint_timer_query_webgl2 WEBKIT_WEBGL_compressed_texture_pvrtc".split(" ");
y.dynCall_iiijii=function(){return(y.dynCall_iiijii=y.asm.Ka).apply(null,arguments)};var Za=y.__emscripten_allow_main_runtime_queued_calls=600816,Ua=y.__emscripten_main_thread_futex=897292;function yc(a,b){var c=Y();try{H.get(a)(b)}catch(d){P(c);if(d!==d+0&&"longjmp"!==d)throw d;Z(1,0)}}function Ac(a,b,c,d,f){var g=Y();try{H.get(a)(b,c,d,f)}catch(h){P(g);if(h!==h+0&&"longjmp"!==h)throw h;Z(1,0)}} (b.getSupportedExtensions()||[]).forEach(function(d){-1!=c.indexOf(d)&&b.getExtension(d)})}}var Bd,Cd=["default","low-power","high-performance"];function Dd(a){if(G)return T(5,1,a);try{var b=Bc(a);if(null===b.fd)throw new O(8);b.ic&&(b.ic=null);try{b.Cb.close&&b.Cb.close(b)}catch(c){throw c;}finally{Vb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof yc&&c instanceof O||J(c),c.Pb}}
function zc(a,b,c){var d=Y();try{H.get(a)(b,c)}catch(f){P(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}function vc(a,b,c,d,f,g,h,k,m,p){var q=Y();try{return H.get(a)(b,c,d,f,g,h,k,m,p)}catch(v){P(q);if(v!==v+0&&"longjmp"!==v)throw v;Z(1,0)}}function wc(a,b,c,d,f,g,h,k,m,p,q,v){var C=Y();try{return H.get(a)(b,c,d,f,g,h,k,m,p,q,v)}catch(z){P(C);if(z!==z+0&&"longjmp"!==z)throw z;Z(1,0)}} function Ed(a,b,c,d){if(G)return T(6,1,a,b,c,d);try{a:{for(var f=Bc(a),g=a=0;g<c;g++){var h=w()[b+8*g>>2],l=w()[b+(8*g+4)>>2],k=f,q=e(),r=h,t=l,y=void 0;if(0>t||0>y)throw new O(28);if(null===k.fd)throw new O(8);if(1===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Cb.read)throw new O(28);var B="undefined"!==typeof y;if(!B)y=k.position;else if(!k.seekable)throw new O(70);var v=k.Cb.read(k,q,r,t,y);B||(k.position+=v);var Q=v;if(0>Q){var F=-1;break a}a+=Q;if(Q<
function tc(a,b,c,d,f){var g=Y();try{return H.get(a)(b,c,d,f)}catch(h){P(g);if(h!==h+0&&"longjmp"!==h)throw h;Z(1,0)}}function uc(a,b,c,d,f,g,h,k,m){var p=Y();try{return H.get(a)(b,c,d,f,g,h,k,m)}catch(q){P(p);if(q!==q+0&&"longjmp"!==q)throw q;Z(1,0)}}function xc(a,b,c,d,f,g){var h=Y();try{return Ec(a,b,c,d,f,g)}catch(k){P(h);if(k!==k+0&&"longjmp"!==k)throw k;Z(1,0)}}y.PThread=L;y.PThread=L;y.wasmMemory=e;y.ExitStatus=bb;var Fc; l)break}F=a}w()[d>>2]=F;return 0}catch(C){return"undefined"!==typeof yc&&C instanceof O||J(C),C.Pb}}
function bb(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Na=function Gc(){Fc||Hc();Fc||(Na=Gc)}; function Fd(a,b,c,d,f){if(G)return T(7,1,a,b,c,d,f);try{var g=Bc(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;sc(g,a,d);mb=[g.position>>>0,(lb=g.position,1<=+$a(lb)?0<lb?(cb(+bb(lb/4294967296),4294967295)|0)>>>0:~~+ab((lb-+(~~lb>>>0))/4294967296)>>>0:0)];w()[f>>2]=mb[0];w()[f+4>>2]=mb[1];g.ic&&0===a&&0===d&&(g.ic=null);return 0}catch(h){return"undefined"!==typeof yc&&h instanceof O||J(h),h.Pb}}
function Hc(){function a(){if(!Fc&&(Fc=!0,y.calledRun=!0,!wa)){B||Sa(Ja);ma(y);if(y.onRuntimeInitialized)y.onRuntimeInitialized();if(!B){if(y.postRun)for("function"==typeof y.postRun&&(y.postRun=[y.postRun]);y.postRun.length;){var b=y.postRun.shift();Ka.unshift(b)}Sa(Ka)}}}if(!(0<I))if(B)ma(y),B||Sa(Ja),postMessage({cmd:"loaded"});else{if(!B){if(y.preRun)for("function"==typeof y.preRun&&(y.preRun=[y.preRun]);y.preRun.length;)La();Sa(Ia)}0<I||(y.setStatus?(y.setStatus("Running..."),setTimeout(function(){setTimeout(function(){y.setStatus("")}, function Gd(a,b,c,d){if(G)return T(8,1,a,b,c,d);try{a:{for(var f=Bc(a),g=a=0;g<c;g++){var h=w()[b+8*g>>2],l=w()[b+(8*g+4)>>2],k=f,q=e(),r=h,t=l,y=void 0;if(0>t||0>y)throw new O(28);if(null===k.fd)throw new O(8);if(0===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Cb.write)throw new O(28);k.seekable&&k.flags&1024&&sc(k,0,2);var B="undefined"!==typeof y;if(!B)y=k.position;else if(!k.seekable)throw new O(70);var v=k.Cb.write(k,q,r,t,y,void 0);B||(k.position+=v);
1);a()},1)):a())}}y.run=Hc;if(y.preInit)for("function"==typeof y.preInit&&(y.preInit=[y.preInit]);0<y.preInit.length;)y.preInit.pop()();B&&(noExitRuntime=!1,L.Ab());Hc(); try{if(k.path&&Zb.onWriteToFile)Zb.onWriteToFile(k.path)}catch(C){K("FS.trackingDelegate['onWriteToFile']('"+k.path+"') threw an exception: "+C.message)}var Q=v;if(0>Q){var F=-1;break a}a+=Q}F=a}w()[d>>2]=F;return 0}catch(C){return"undefined"!==typeof yc&&C instanceof O||J(C),C.Pb}}
function zb(a){if(G)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=L.Jc();if(void 0!==b.Fb)throw"Internal error!";if(!a.Tb)throw"Internal error, no pthread ptr!";L.Ob.push(b);for(var c=R(512),d=0;128>d;++d)w()[c+4*d>>2]=0;var f=a.Rb+a.Ub;d=L.Jb[a.Tb]={worker:b,Rb:a.Rb,Ub:a.Ub,ec:a.ec,Dc:a.Tb,threadInfoStruct:a.Tb};var g=d.threadInfoStruct>>2;Atomics.store(x(),g,0);Atomics.store(x(),g+1,0);Atomics.store(x(),g+2,0);Atomics.store(x(),g+17,a.detached);
Atomics.store(x(),g+26,c);Atomics.store(x(),g+12,0);Atomics.store(x(),g+10,d.threadInfoStruct);Atomics.store(x(),g+11,42);Atomics.store(x(),g+27,a.Ub);Atomics.store(x(),g+21,a.Ub);Atomics.store(x(),g+20,f);Atomics.store(x(),g+29,f);Atomics.store(x(),g+30,a.detached);Atomics.store(x(),g+32,a.Bc);Atomics.store(x(),g+33,a.Cc);c=Hd()+40;Atomics.store(x(),g+44,c);b.Fb=d;var h={cmd:"run",start_routine:a.gd,arg:a.Vb,threadInfoStruct:a.Tb,selfThreadId:a.Tb,parentThreadId:a.Wc,stackBase:a.Rb,stackSize:a.Ub};
b.Wb=function(){h.time=performance.now();b.postMessage(h,a.kd)};b.loaded&&(b.Wb(),delete b.Wb)}function Id(){return qb|0}z._pthread_self=Id;
function Jd(a,b){if(!a)return K("pthread_join attempted on a null thread pointer!"),71;if(G&&selfThreadId==a)return K("PThread "+a+" is attempting to join to itself!"),16;if(!G&&L.Eb==a)return K("Main thread "+a+" is attempting to join to itself!"),16;if(w()[a+12>>2]!==a)return K("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(x(),a+68>>2))return K("Attempted to join thread "+a+", which was already detached!"),28;for(md();;){var c=
Atomics.load(x(),a+0>>2);if(1==c)return c=Atomics.load(x(),a+4>>2),b&&(w()[b>>2]=c),Atomics.store(x(),a+68>>2,1),G?postMessage({cmd:"cleanupThread",thread:a}):vb(a),0;if(G&&threadInfoStruct&&!Atomics.load(x(),threadInfoStruct+60>>2)&&2==Atomics.load(x(),threadInfoStruct+0>>2))throw"Canceled!";G||yb();nd(a+0,c,G?100:1)}}G?L.Rc():L.Pc();function ec(a,b,c,d){a||(a=this);this.parent=a;this.Mb=a.Mb;this.bc=null;this.id=Wb++;this.name=b;this.mode=c;this.Bb={};this.Cb={};this.rdev=d}
Object.defineProperties(ec.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});tc();Xb=Array(4096);mc(P,"/");S("/tmp");S("/home");S("/home/web_user");
(function(){S("/dev");Lb(259,{read:function(){return 0},write:function(d,f,g,h){return h}});oc("/dev/null",259);Kb(1280,Nb);Kb(1536,Ob);oc("/dev/tty",1280);oc("/dev/tty1",1536);if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);var b=function(){crypto.getRandomValues(a);return a[0]}}else if(E)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){J("random_device")});wc("random",b);wc("urandom",b);S("/dev/shm");
S("/dev/shm/tmp")})();S("/proc");S("/proc/self");S("/proc/self/fd");mc({Mb:function(){var a=Qb("/proc/self","fd",16895,73);a.Bb={lookup:function(b,c){var d=Vb[+c];if(!d)throw new O(8);b={parent:null,Mb:{xc:"fake"},Bb:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");Pc=z.InternalError=Oc("InternalError");for(var Kd=Array(256),Ld=0;256>Ld;++Ld)Kd[Ld]=String.fromCharCode(Ld);Sc=Kd;Tc=z.BindingError=Oc("BindingError");
z.count_emval_handles=function(){for(var a=0,b=5;b<X.length;++b)void 0!==X[b]&&++a;return a};z.get_first_emval=function(){for(var a=5;a<X.length;++a)if(void 0!==X[a])return X[a];return null};dd=z.UnboundTypeError=Oc("UnboundTypeError");
var Md=[null,Cc,Ec,Fc,wd,Dd,Ed,Fd,Gd],Zd={n:function(a,b,c,d){J("Assertion failed: "+Ja(a)+", at: "+[b?Ja(b):"unknown filename",c,d?Ja(d):"unknown function"])},ka:function(a){return R(a)},ma:function(a,b){return Bb(a,b)},ja:function(a){"uncaught_exception"in Db?Db.Xb++:Db.Xb=1;throw a;},B:Cc,aa:Ec,ba:Fc,P:function(a){var b=Gc[a];delete Gc[a];var c=b.Xc,d=b.Yc,f=b.rc,g=f.map(function(h){return h.Mc}).concat(f.map(function(h){return h.dd}));Qc([a],g,function(h){var l={};f.forEach(function(k,q){var r=
h[q],t=k.Kc,y=k.Lc,B=h[q+f.length],v=k.cd,Q=k.ed;l[k.Hc]={read:function(F){return r.fromWireType(t(y,F))},write:function(F,C){var Ba=[];v(Q,F,B.toWireType(Ba,C));Hc(Ba)}}});return[{name:b.name,fromWireType:function(k){var q={},r;for(r in l)q[r]=l[r].read(k);d(k);return q},toWireType:function(k,q){for(var r in l)if(!(r in q))throw new TypeError('Missing field: "'+r+'"');var t=c();for(r in l)l[r].write(t,q[r]);null!==k&&k.push(d,t);return t},argPackAdvance:8,readValueFromPointer:Ic,Lb:d}]})},ea:function(a,
b,c,d,f){var g=Rc(c);b=V(b);U(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=e();else if(2===c)l=ca();else if(4===c)l=w();else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},Lb:null})},ca:function(a,b){b=V(b);U(a,{name:b,fromWireType:function(c){var d=X[c].value;Vc(c);return d},toWireType:function(c,d){return Wc(d)},argPackAdvance:8,readValueFromPointer:Ic,
Lb:null})},D:function(a,b,c){c=Rc(c);b=V(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Xc(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Yc(b,c),Lb:null})},I:function(a,b,c,d,f,g){var h=bd(b,c);a=V(a);f=cd(d,f);ad(a,function(){gd("Cannot call "+a+" due to unbound types",h)},b-1);Qc([],h,function(l){var k=[l[0],null].concat(l.slice(1)),q=l=a,r=f,t=k.length;2>t&&W("argTypes array size mismatch! Must at least get return value and 'this' types!");
for(var y=null!==k[1]&&!1,B=!1,v=1;v<k.length;++v)if(null!==k[v]&&void 0===k[v].Lb){B=!0;break}var Q="void"!==k[0].name,F="",C="";for(v=0;v<t-2;++v)F+=(0!==v?", ":"")+"arg"+v,C+=(0!==v?", ":"")+"arg"+v+"Wired";q="return function "+Mc(q)+"("+F+") {\nif (arguments.length !== "+(t-2)+") {\nthrowBindingError('function "+q+" called with ' + arguments.length + ' arguments, expected "+(t-2)+" args!');\n}\n";B&&(q+="var destructors = [];\n");var Ba=B?"destructors":"null";F="throwBindingError invoker fn runDestructors retType classParam".split(" ");
r=[W,r,g,Hc,k[0],k[1]];y&&(q+="var thisWired = classParam.toWireType("+Ba+", this);\n");for(v=0;v<t-2;++v)q+="var arg"+v+"Wired = argType"+v+".toWireType("+Ba+", arg"+v+"); // "+k[v+2].name+"\n",F.push("argType"+v),r.push(k[v+2]);y&&(C="thisWired"+(0<C.length?", ":"")+C);q+=(Q?"var rv = ":"")+"invoker(fn"+(0<C.length?", ":"")+C+");\n";if(B)q+="runDestructors(destructors);\n";else for(v=y?1:2;v<k.length;++v)t=1===v?"thisWired":"arg"+(v-2)+"Wired",null!==k[v].Lb&&(q+=t+"_dtor("+t+"); // "+k[v].name+
"\n",F.push(t+"_dtor"),r.push(k[v].Lb));Q&&(q+="var ret = retType.fromWireType(rv);\nreturn ret;\n");F.push(q+"}\n");k=Zc(F).apply(null,r);v=b-1;if(!z.hasOwnProperty(l))throw new Pc("Replacing nonexistant public symbol");void 0!==z[l].Ib&&void 0!==v?z[l].Ib[v]=k:(z[l]=k,z[l].Ec=v);return[]})},o:function(a,b,c,d,f){function g(q){return q}b=V(b);-1===f&&(f=4294967295);var h=Rc(c);if(0===d){var l=32-8*c;g=function(q){return q<<l>>>l}}var k=-1!=b.indexOf("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(q,
r){if("number"!==typeof r&&"boolean"!==typeof r)throw new TypeError('Cannot convert "'+Xc(r)+'" to '+this.name);if(r<d||r>f)throw new TypeError('Passing a number "'+Xc(r)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return k?r>>>0:r|0},argPackAdvance:8,readValueFromPointer:hd(b,h,0!==d),Lb:null})},k:function(a,b,c){function d(g){g>>=2;var h=x();return new f(n,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
Uint32Array,Float32Array,Float64Array][b];c=V(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{Nc:!0})},E:function(a,b){b=V(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=x()[d>>2];if(c)for(var g=d+4,h=0;h<=f;++h){var l=d+4+h;if(h==f||0==u()[l]){g=Ja(g,l-g);if(void 0===k)var k=g;else k+=String.fromCharCode(0),k+=g;g=l+1}}else{k=Array(f);for(h=0;h<f;++h)k[h]=String.fromCharCode(u()[d+4+h]);k=k.join("")}M(d);return k},toWireType:function(d,f){f instanceof
ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||W("Cannot pass non-string to std::string");var h=(c&&g?function(){return Ma(f)}:function(){return f.length})(),l=R(4+h+1);x()[l>>2]=h;if(c&&g)La(f,l+4,h+1);else if(g)for(g=0;g<h;++g){var k=f.charCodeAt(g);255<k&&(M(l),W("String has UTF-16 code units that do not fit in 8 bits"));u()[l+4+g]=k}else for(g=0;g<h;++g)u()[l+4+g]=f[g];null!==d&&d.push(M,l);return l},
argPackAdvance:8,readValueFromPointer:Ic,Lb:function(d){M(d)}})},u:function(a,b,c){c=V(c);if(2===b){var d=Na;var f=Oa;var g=Pa;var h=function(){return ea()};var l=1}else 4===b&&(d=Qa,f=Ra,g=Sa,h=function(){return x()},l=2);U(a,{name:c,fromWireType:function(k){for(var q=x()[k>>2],r=h(),t,y=k+4,B=0;B<=q;++B){var v=k+4+B*b;if(B==q||0==r[v>>l])y=d(y,v-y),void 0===t?t=y:(t+=String.fromCharCode(0),t+=y),y=v+b}M(k);return t},toWireType:function(k,q){"string"!==typeof q&&W("Cannot pass non-string to C++ string type "+
c);var r=g(q),t=R(4+r+b);x()[t>>2]=r>>l;f(q,t+4,r+b);null!==k&&k.push(M,t);return t},argPackAdvance:8,readValueFromPointer:Ic,Lb:function(k){M(k)}})},Q:function(a,b,c,d,f,g){Gc[a]={name:V(b),Xc:cd(c,d),Yc:cd(f,g),rc:[]}},J:function(a,b,c,d,f,g,h,l,k,q){Gc[a].rc.push({Hc:V(b),Mc:c,Kc:cd(d,f),Lc:g,dd:h,cd:cd(l,k),ed:q})},fa:function(a,b){b=V(b);U(a,{vd:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},W:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"});
else if(G)postMessage({targetThread:a,cmd:"processThreadQueue"});else{a=(a=L.Jb[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},A:Vc,da:function(a){if(0===a)return Wc(jd());var b=id[a];a=void 0===b?V(a):b;return Wc(jd()[a])},H:function(a){4<a&&(X[a].lc+=1)},Y:function(a,b,c,d){a||W("Cannot use deleted val. handle = "+a);a=X[a].value;var f=ld[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var h="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";
for(g=0;g<b;++g)h+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",h+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(kd,z,Wc);ld[b]=f}return f(a,c,d)},G:function(){J()},ha:function(){K("missing function: aom_codec_av1_dx");J(-1)},s:function(a,b,c){rd.length=
0;var d;for(c>>=2;d=u()[b++];)(d=105>d)&&c&1&&c++,rd.push(d?la()[c++>>1]:w()[c]),++c;return ob[a].apply(null,rd)},_:md,x:function(){},g:nd,h:ub,e:Ab,p:function(){return sb|0},X:function(){return rb|0},i:function(a,b){Z(a,b||1);throw"longjmp";},S:function(a,b,c){u().copyWithin(a,b,b+c)},la:function(){return navigator.hardwareConcurrency},T:function(a,b,c){qd.length=b;c>>=3;for(var d=0;d<b;d++)qd[d]=la()[c+d];return(0>a?ob[-a-1]:Md[a]).apply(null,qd)},q:function(a){a>>>=0;var b=u().length;if(a<=b||
2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0<d%65536&&(d+=65536-d%65536);a:{try{m.grow(Math.min(2147483648,d)-n.byteLength+65535>>>16);p(m.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},U:function(a,b,c){return td(a)?ud(a,b,c):wd(a,b,c)},f:function(){},V:function(a,b){var c={};b>>=2;c.alpha=!!w()[b];c.depth=!!w()[b+1];c.stencil=!!w()[b+2];c.antialias=!!w()[b+3];c.premultipliedAlpha=!!w()[b+4];c.preserveDrawingBuffer=
!!w()[b+5];var d=w()[b+6];c.powerPreference=Cd[d];c.failIfMajorPerformanceCaveat=!!w()[b+7];c.Tc=w()[b+8];c.xd=w()[b+9];c.pc=w()[b+10];c.Gc=w()[b+11];c.Ad=w()[b+12];c.Cd=w()[b+13];(a=td(a))?c.Gc?c=-1:(a=a.getContext("webgl",c))?(b=R(8),w()[b+4>>2]=qb|0,d={ud:b,attributes:c,version:c.Tc,Yb:a},a.canvas&&(a.canvas.Zb=d),("undefined"===typeof c.pc||c.pc)&&Ad(d),c=b):c=0:c=-4;return c},C:Dd,$:Ed,N:Fd,z:Gd,b:function(){return Da|0},R:function(){L.Qc()},r:Nd,j:Od,v:Pd,O:Qd,L:Rd,K:Sd,M:Td,w:Ud,t:Vd,c:Wd,
memory:m||z.wasmMemory,Z:function(a){var b=L.dc.pop();a&&b()},y:Bb,F:function(a,b,c,d){if("undefined"===typeof SharedArrayBuffer)return K("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!a)return K("pthread_create called with a null thread pointer!"),28;var f=[];if(G&&0===f.length)return Xd(687865856,a,b,c,d);var g=0,h=0,l=0,k=0;if(b){var q=w()[b>>2];q+=81920;g=w()[b+8>>2];h=0!==w()[b+12>>2];if(0===w()[b+16>>2]){var r=w()[b+20>>2],t=w()[b+24>>2];l=b+20;
k=b+24;var y=L.fc?L.fc:qb|0;if(l||k)if(y)if(w()[y+12>>2]!==y)K("pthread_getschedparam attempted on thread "+y+", which does not point to a valid thread, or does not exist anymore!");else{var B=Atomics.load(x(),y+108+20>>2);y=Atomics.load(x(),y+108+24>>2);l&&(w()[l>>2]=B);k&&(w()[k>>2]=y)}else K("pthread_getschedparam called with a null thread pointer!");l=w()[b+20>>2];k=w()[b+24>>2];w()[b+20>>2]=r;w()[b+24>>2]=t}else l=w()[b+20>>2],k=w()[b+24>>2]}else q=2097152;(b=0==g)?g=Yd(16,q):(g-=q,assert(0<
g));r=R(232);for(t=0;58>t;++t)x()[(r>>2)+t]=0;w()[a>>2]=r;w()[r+12>>2]=r;a=r+156;w()[a>>2]=a;c={Rb:g,Ub:q,ec:b,Bc:l,Cc:k,detached:h,gd:c,Tb:r,Wc:qb|0,Vb:d,kd:f};G?(c.pd="spawnThread",postMessage(c,f)):zb(c);return 0},ga:function(a,b){return Jd(a,b)},d:Id,l:function(a){a=+a;return 0<=a?+bb(a+.5):+ab(a-.5)},m:function(a){a=+a;return 0<=a?+bb(a+.5):+ab(a-.5)},a:function(a){Da=a|0},table:Fa,ia:function(a){var b=Date.now()/1E3|0;a&&(w()[a>>2]=b);return b}};
(function(){function a(f,g){z.asm=f.exports;Ga=g;if(!G){var h=L.Gb.length;L.Gb.forEach(function(l){L.vc(l,function(){if(!--h&&(db--,z.monitorRunDependencies&&z.monitorRunDependencies(db),0==db&&(null!==eb&&(clearInterval(eb),eb=null),fb))){var k=fb;fb=null;k()}})})}}function b(f){a(f.instance,f.module)}function c(f){return kb().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){K("failed to asynchronously prepare wasm: "+g);J(g)})}var d={a:Zd};G||(assert(!G,"addRunDependency cannot be used in a pthread worker"),
db++,z.monitorRunDependencies&&z.monitorRunDependencies(db));if(z.instantiateWasm)try{return z.instantiateWasm(d,a)}catch(f){return K("Module.instantiateWasm callback failed with error: "+f),!1}(function(){if(Ea||"function"!==typeof WebAssembly.instantiateStreaming||ib()||gb("file://")||"function"!==typeof fetch)return c(b);fetch(hb,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){K("wasm streaming compile failed: "+g);K("falling back to ArrayBuffer instantiation");
return c(b)})})})();return{}})();var pb=z.___wasm_call_ctors=function(){return(pb=z.___wasm_call_ctors=z.asm.na).apply(null,arguments)},R=z._malloc=function(){return(R=z._malloc=z.asm.oa).apply(null,arguments)},M=z._free=function(){return(M=z._free=z.asm.pa).apply(null,arguments)},fd=z.___getTypeName=function(){return(fd=z.___getTypeName=z.asm.qa).apply(null,arguments)};
z.___embind_register_native_and_builtin_types=function(){return(z.___embind_register_native_and_builtin_types=z.asm.ra).apply(null,arguments)};var Hd=z._emscripten_get_global_libc=function(){return(Hd=z._emscripten_get_global_libc=z.asm.sa).apply(null,arguments)},Dc=z.___errno_location=function(){return(Dc=z.___errno_location=z.asm.ta).apply(null,arguments)};z.___em_js__initPthreadsJS=function(){return(z.___em_js__initPthreadsJS=z.asm.ua).apply(null,arguments)};
var Z=z._setThrew=function(){return(Z=z._setThrew=z.asm.va).apply(null,arguments)},Y=z.stackSave=function(){return(Y=z.stackSave=z.asm.wa).apply(null,arguments)},N=z.stackRestore=function(){return(N=z.stackRestore=z.asm.xa).apply(null,arguments)},od=z.stackAlloc=function(){return(od=z.stackAlloc=z.asm.ya).apply(null,arguments)},Yd=z._memalign=function(){return(Yd=z._memalign=z.asm.za).apply(null,arguments)};
z._emscripten_main_browser_thread_id=function(){return(z._emscripten_main_browser_thread_id=z.asm.Aa).apply(null,arguments)};var xb=z.___pthread_tsd_run_dtors=function(){return(xb=z.___pthread_tsd_run_dtors=z.asm.Ba).apply(null,arguments)},yb=z._emscripten_main_thread_process_queued_calls=function(){return(yb=z._emscripten_main_thread_process_queued_calls=z.asm.Ca).apply(null,arguments)};
z._emscripten_current_thread_process_queued_calls=function(){return(z._emscripten_current_thread_process_queued_calls=z.asm.Da).apply(null,arguments)};var wb=z._emscripten_register_main_browser_thread_id=function(){return(wb=z._emscripten_register_main_browser_thread_id=z.asm.Ea).apply(null,arguments)},nb=z._do_emscripten_dispatch_to_thread=function(){return(nb=z._do_emscripten_dispatch_to_thread=z.asm.Fa).apply(null,arguments)};
z._emscripten_async_run_in_main_thread=function(){return(z._emscripten_async_run_in_main_thread=z.asm.Ga).apply(null,arguments)};z._emscripten_sync_run_in_main_thread=function(){return(z._emscripten_sync_run_in_main_thread=z.asm.Ha).apply(null,arguments)};z._emscripten_sync_run_in_main_thread_0=function(){return(z._emscripten_sync_run_in_main_thread_0=z.asm.Ia).apply(null,arguments)};
z._emscripten_sync_run_in_main_thread_1=function(){return(z._emscripten_sync_run_in_main_thread_1=z.asm.Ja).apply(null,arguments)};z._emscripten_sync_run_in_main_thread_2=function(){return(z._emscripten_sync_run_in_main_thread_2=z.asm.Ka).apply(null,arguments)};z._emscripten_sync_run_in_main_thread_xprintf_varargs=function(){return(z._emscripten_sync_run_in_main_thread_xprintf_varargs=z.asm.La).apply(null,arguments)};
z._emscripten_sync_run_in_main_thread_3=function(){return(z._emscripten_sync_run_in_main_thread_3=z.asm.Ma).apply(null,arguments)};var Xd=z._emscripten_sync_run_in_main_thread_4=function(){return(Xd=z._emscripten_sync_run_in_main_thread_4=z.asm.Na).apply(null,arguments)};z._emscripten_sync_run_in_main_thread_5=function(){return(z._emscripten_sync_run_in_main_thread_5=z.asm.Oa).apply(null,arguments)};
z._emscripten_sync_run_in_main_thread_6=function(){return(z._emscripten_sync_run_in_main_thread_6=z.asm.Pa).apply(null,arguments)};z._emscripten_sync_run_in_main_thread_7=function(){return(z._emscripten_sync_run_in_main_thread_7=z.asm.Qa).apply(null,arguments)};
var pd=z._emscripten_run_in_main_runtime_thread_js=function(){return(pd=z._emscripten_run_in_main_runtime_thread_js=z.asm.Ra).apply(null,arguments)},vd=z.__emscripten_call_on_thread=function(){return(vd=z.__emscripten_call_on_thread=z.asm.Sa).apply(null,arguments)};z._emscripten_tls_init=function(){return(z._emscripten_tls_init=z.asm.Ta).apply(null,arguments)};
var Cb=z.dynCall_vi=function(){return(Cb=z.dynCall_vi=z.asm.Ua).apply(null,arguments)},$d=z.dynCall_vii=function(){return($d=z.dynCall_vii=z.asm.Va).apply(null,arguments)};z.dynCall_viii=function(){return(z.dynCall_viii=z.asm.Wa).apply(null,arguments)};
var ae=z.dynCall_viiii=function(){return(ae=z.dynCall_viiii=z.asm.Xa).apply(null,arguments)},be=z.dynCall_ii=function(){return(be=z.dynCall_ii=z.asm.Ya).apply(null,arguments)},ce=z.dynCall_iii=function(){return(ce=z.dynCall_iii=z.asm.Za).apply(null,arguments)};z.dynCall_iiii=function(){return(z.dynCall_iiii=z.asm._a).apply(null,arguments)};z.dynCall_iiiii=function(){return(z.dynCall_iiiii=z.asm.$a).apply(null,arguments)};
var de=z.dynCall_iiiiiiiii=function(){return(de=z.dynCall_iiiiiiiii=z.asm.ab).apply(null,arguments)},ee=z.dynCall_iiiiiiiiii=function(){return(ee=z.dynCall_iiiiiiiiii=z.asm.bb).apply(null,arguments)},fe=z.dynCall_iiiijj=function(){return(fe=z.dynCall_iiiijj=z.asm.cb).apply(null,arguments)},ge=z.dynCall_ij=function(){return(ge=z.dynCall_ij=z.asm.db).apply(null,arguments)},he=z.dynCall_jjij=function(){return(he=z.dynCall_jjij=z.asm.eb).apply(null,arguments)};
z.dynCall_i=function(){return(z.dynCall_i=z.asm.fb).apply(null,arguments)};z.dynCall_iiiiii=function(){return(z.dynCall_iiiiii=z.asm.gb).apply(null,arguments)};z.dynCall_viiiii=function(){return(z.dynCall_viiiii=z.asm.hb).apply(null,arguments)};z.dynCall_v=function(){return(z.dynCall_v=z.asm.ib).apply(null,arguments)};z.dynCall_viiiiii=function(){return(z.dynCall_viiiiii=z.asm.jb).apply(null,arguments)};z.dynCall_viiiiiiii=function(){return(z.dynCall_viiiiiiii=z.asm.kb).apply(null,arguments)};
z.dynCall_viiiiiii=function(){return(z.dynCall_viiiiiii=z.asm.lb).apply(null,arguments)};z.dynCall_viiiiiiiiiii=function(){return(z.dynCall_viiiiiiiiiii=z.asm.mb).apply(null,arguments)};z.dynCall_jiiiiiiiii=function(){return(z.dynCall_jiiiiiiiii=z.asm.nb).apply(null,arguments)};z.dynCall_iiiiiiii=function(){return(z.dynCall_iiiiiiii=z.asm.ob).apply(null,arguments)};z.dynCall_iiiiiii=function(){return(z.dynCall_iiiiiii=z.asm.pb).apply(null,arguments)};
z.dynCall_iiiiiiiiiiii=function(){return(z.dynCall_iiiiiiiiiiii=z.asm.qb).apply(null,arguments)};z.dynCall_jiji=function(){return(z.dynCall_jiji=z.asm.rb).apply(null,arguments)};z.dynCall_iidiiii=function(){return(z.dynCall_iidiiii=z.asm.sb).apply(null,arguments)};z.dynCall_viiiiiiiiii=function(){return(z.dynCall_viiiiiiiiii=z.asm.tb).apply(null,arguments)};z.dynCall_viiiiiiiiiiiii=function(){return(z.dynCall_viiiiiiiiiiiii=z.asm.ub).apply(null,arguments)};
z.dynCall_jiiiiiiii=function(){return(z.dynCall_jiiiiiiii=z.asm.vb).apply(null,arguments)};z.dynCall_ff=function(){return(z.dynCall_ff=z.asm.wb).apply(null,arguments)};z.dynCall_jiiiiii=function(){return(z.dynCall_jiiiiii=z.asm.xb).apply(null,arguments)};z.dynCall_jiiiii=function(){return(z.dynCall_jiiiii=z.asm.yb).apply(null,arguments)};z.dynCall_iiijii=function(){return(z.dynCall_iiijii=z.asm.zb).apply(null,arguments)};
function Od(a,b,c){var d=Y();try{return ce(a,b,c)}catch(f){N(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}function Ud(a,b){var c=Y();try{Cb(a,b)}catch(d){N(c);if(d!==d+0&&"longjmp"!==d)throw d;Z(1,0)}}function Wd(a,b,c,d,f){var g=Y();try{ae(a,b,c,d,f)}catch(h){N(g);if(h!==h+0&&"longjmp"!==h)throw h;Z(1,0)}}function Vd(a,b,c){var d=Y();try{$d(a,b,c)}catch(f){N(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}
function Nd(a,b){var c=Y();try{return be(a,b)}catch(d){N(c);if(d!==d+0&&"longjmp"!==d)throw d;Z(1,0)}}function Qd(a,b,c,d,f,g,h,l,k,q){var r=Y();try{return ee(a,b,c,d,f,g,h,l,k,q)}catch(t){N(r);if(t!==t+0&&"longjmp"!==t)throw t;Z(1,0)}}function Pd(a,b,c,d,f,g,h,l,k){var q=Y();try{return de(a,b,c,d,f,g,h,l,k)}catch(r){N(q);if(r!==r+0&&"longjmp"!==r)throw r;Z(1,0)}}function Td(a,b,c,d,f,g){var h=Y();try{return he(a,b,c,d,f,g)}catch(l){N(h);if(l!==l+0&&"longjmp"!==l)throw l;Z(1,0)}}
function Rd(a,b,c,d,f,g,h,l){var k=Y();try{return fe(a,b,c,d,f,g,h,l)}catch(q){N(k);if(q!==q+0&&"longjmp"!==q)throw q;Z(1,0)}}function Sd(a,b,c){var d=Y();try{return ge(a,b,c)}catch(f){N(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}z.PThread=L;z.PThread=L;z._pthread_self=Id;z.wasmMemory=m;z.ExitStatus=ya;var ie;function ya(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}fb=function je(){ie||ke();ie||(fb=je)};
function ke(){function a(){if(!ie&&(ie=!0,z.calledRun=!0,!Ha)){z.noFSInit||uc||(uc=!0,tc(),z.stdin=z.stdin,z.stdout=z.stdout,z.stderr=z.stderr,z.stdin?wc("stdin",z.stdin):pc("/dev/tty","/dev/stdin"),z.stdout?wc("stdout",null,z.stdout):pc("/dev/tty","/dev/stdout"),z.stderr?wc("stderr",null,z.stderr):pc("/dev/tty1","/dev/stderr"),qc("/dev/stdin","r"),qc("/dev/stdout","w"),qc("/dev/stderr","w"));Ua(Wa);G||(Yb=!1,Ua(Xa));na(z);if(z.onRuntimeInitialized)z.onRuntimeInitialized();if(!G){if(z.postRun)for("function"==
typeof z.postRun&&(z.postRun=[z.postRun]);z.postRun.length;){var b=z.postRun.shift();Ya.unshift(b)}Ua(Ya)}}}if(!(0<db)){if(!G){if(z.preRun)for("function"==typeof z.preRun&&(z.preRun=[z.preRun]);z.preRun.length;)Za();Ua(Va)}0<db||(z.setStatus?(z.setStatus("Running..."),setTimeout(function(){setTimeout(function(){z.setStatus("")},1);a()},1)):a())}}z.run=ke;if(z.preInit)for("function"==typeof z.preInit&&(z.preInit=[z.preInit]);0<z.preInit.length;)z.preInit.pop()();G||(noExitRuntime=!0);
G?(z.___embind_register_native_and_builtin_types(),na(z)):ke();
return Module.ready return avif_enc_mt.ready
} }
); );
})(); })();
export default Module; if (typeof exports === 'object' && typeof module === 'object')
module.exports = avif_enc_mt;
else if (typeof define === 'function' && define['amd'])
define([], function() { return avif_enc_mt; });
else if (typeof exports === 'object')
exports["avif_enc_mt"] = avif_enc_mt;

BIN
codecs/avif/enc/avif_enc_mt.wasm Executable file → Normal file

Binary file not shown.

View File

@@ -1 +1 @@
"use strict";var Module={};var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};function moduleLoaded(){}self.onmessage=function(e){try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./avif_enc_mt.js")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance;moduleLoaded()})}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0);var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["PThread"].threadExit(result)}}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["PThread"].threadExit(ex.status)}}else{Module["PThread"].threadExit(-2);throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}}; var threadInfoStruct=0;var selfThreadId=0;var parentThreadId=0;var Module={};function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:selfThreadId})}var err=threadPrintErr;this.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);Module["wasmModule"]=null;receiveInstance(instance);return instance.exports};this.onmessage=function(e){try{if(e.data.cmd==="load"){Module["DYNAMIC_BASE"]=e.data.DYNAMIC_BASE;Module["DYNAMICTOP_PTR"]=e.data.DYNAMICTOP_PTR;Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob==="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}avif_enc_mt(Module).then(function(instance){Module=instance;postMessage({"cmd":"loaded"})})}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;threadInfoStruct=e.data.threadInfoStruct;Module["registerPthreadPtr"](threadInfoStruct,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0);selfThreadId=e.data.selfThreadId;parentThreadId=e.data.parentThreadId;var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["_emscripten_tls_init"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].setThreadStatus(Module["_pthread_self"](),1);/*EM_THREAD_STATUS_RUNNING*/try{var result=Module["dynCall_ii"](e.data.start_routine,e.data.arg);if(!Module["getNoExitRuntime"]())Module["PThread"].threadExit(result)}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){Atomics.store(Module["HEAPU32"],(threadInfoStruct+4)>>/*C_STRUCTS.pthread.threadExitCode*/2,(ex instanceof Module["ExitStatus"])?ex.status:-2);/*A custom entry specific to Emscripten denoting that the thread crashed.*/Atomics.store(Module["HEAPU32"],(threadInfoStruct+0)>>/*C_STRUCTS.pthread.threadStatus*/2,1);Module["_emscripten_futex_wake"](threadInfoStruct+0,/*C_STRUCTS.pthread.threadStatus*/2147483647);if(!(ex instanceof Module["ExitStatus"]))throw ex}}}else if(e.data.cmd==="cancel"){if(threadInfoStruct){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(threadInfoStruct){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex.stack)err(ex.stack);throw ex}};if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){self={location:{href:__filename}};var onmessage=this.onmessage;var nodeWorkerThreads=require("worker_threads");global.Worker=nodeWorkerThreads.Worker;var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",function(data){onmessage({data:data})});var nodeFS=require("fs");var nodeRead=function(filename){return nodeFS.readFileSync(filename,"utf8")};function globalEval(x){global.require=require;global.Module=Module;eval.call(null,x)}importScripts=function(f){globalEval(nodeRead(f))};postMessage=function(msg){parentPort.postMessage(msg)};if(typeof performance==="undefined"){performance={now:function(){return Date.now()}}}}

View File

@@ -1,62 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ca;e.ready=new Promise(function(a,b){aa=a;ca=b});var u={},v;for(v in e)e.hasOwnProperty(v)&&(u[v]=e[v]);var da,ea,fa,ha;da=function(a){fa||(fa=require("fs"));ha||(ha=require("path"));a=ha.normalize(a);return fa.readFileSync(a,null)};ea=function(a){a=da(a);a.buffer||(a=new Uint8Array(a));a.buffer||w("Assertion failed: undefined");return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);
process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",w);e.inspect=function(){return"[Emscripten Module object]"};var ia=e.print||console.log.bind(console),x=e.printErr||console.warn.bind(console);for(v in u)u.hasOwnProperty(v)&&(e[v]=u[v]);u=null;var ja=0,y;e.wasmBinary&&(y=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&w("no native wasm support detected");var ka,la=!1,ma=new TextDecoder("utf8");
function na(a,b,c){var d=z;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var oa=new TextDecoder("utf-16le");
function pa(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&B[c];)++c;return oa.decode(z.subarray(a,c<<1))}function qa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)C[b>>1]=a.charCodeAt(f),b+=2;C[b>>1]=0;return b-d}function ra(a){return 2*a.length}function sa(a,b){for(var c=0,d="";!(c>=b/4);){var f=D[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
function ta(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}D[b>>2]=g;b+=4;if(b+4>c)break}D[b>>2]=0;return b-d}function ua(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var va,wa,z,C,B,D,E,xa,ya;
function za(){var a=ka.buffer;va=a;e.HEAP8=wa=new Int8Array(a);e.HEAP16=C=new Int16Array(a);e.HEAP32=D=new Int32Array(a);e.HEAPU8=z=new Uint8Array(a);e.HEAPU16=B=new Uint16Array(a);e.HEAPU32=E=new Uint32Array(a);e.HEAPF32=xa=new Float32Array(a);e.HEAPF64=ya=new Float64Array(a)}var F,Aa=[],Ba=[],Ca=[];function Da(){var a=e.preRun.shift();Aa.unshift(a)}var G=0,Ea=null,H=null;e.preloadedImages={};e.preloadedAudios={};
function w(a){if(e.onAbort)e.onAbort(a);x(a);la=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}var J=(new URL("avif_node_enc.wasm",import.meta.url)).toString();function Fa(){return Promise.resolve().then(function(){a:{try{if(J==J&&y){var a=new Uint8Array(y);break a}if(ea){a=ea(J);break a}throw"both async and sync fetching of the wasm failed";}catch(b){w(b)}a=void 0}return a})}
function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.va;"number"===typeof c?void 0===b.ga?F.get(c)():F.get(c)(b.ga):c(void 0===b.ga?null:b.ga)}}}var Ha=[null,[],[]],Ia={},K={};function Ja(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function L(a){return this.fromWireType(E[a>>2])}var M={},N={},O={};function Ka(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function La(a,b){a=Ka(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ma(a){var b=Error,c=La(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var Na=void 0;function Oa(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new Na("Mismatched type converter count");for(var l=0;l<a.length;++l)P(a[l],h[l])}a.forEach(function(h){O[h]=b});var f=Array(b.length),g=[],k=0;b.forEach(function(h,l){N.hasOwnProperty(h)?f[l]=N[h]:(g.push(h),M.hasOwnProperty(h)||(M[h]=[]),M[h].push(function(){f[l]=N[h];++k;k===g.length&&d(f)}))});0===g.length&&d(f)}
function Pa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Qa=void 0;function Q(a){for(var b="";z[a];)b+=Qa[z[a++]];return b}var Ra=void 0;function R(a){throw new Ra(a);}
function P(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||R('type "'+d+'" must have a positive integer typeid pointer');if(N.hasOwnProperty(a)){if(c.oa)return;R("Cannot register type '"+d+"' twice")}N[a]=b;delete O[a];M.hasOwnProperty(a)&&(b=M[a],delete M[a],b.forEach(function(f){f()}))}var Sa=[],S=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ta(a){4<a&&0===--S[a].ha&&(S[a]=void 0,Sa.push(a))}function U(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Sa.length?Sa.pop():S.length;S[b]={ha:1,value:a};return b}}function Ua(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Va(a,b){switch(b){case 2:return function(c){return this.fromWireType(xa[c>>2])};case 3:return function(c){return this.fromWireType(ya[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Wa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=La(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Xa(a,b){var c=e;if(void 0===c[a].ea){var d=c[a];c[a]=function(){c[a].ea.hasOwnProperty(arguments.length)||R("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].ea+")!");return c[a].ea[arguments.length].apply(this,arguments)};c[a].ea=[];c[a].ea[d.ja]=d}}
function Ya(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].ea&&void 0!==e[a].ea[c])&&R("Cannot register public name '"+a+"' twice"),Xa(a,a),e.hasOwnProperty(c)&&R("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].ea[c]=b):(e[a]=b,void 0!==c&&(e[a].ya=c))}function Za(a,b){for(var c=[],d=0;d<a;d++)c.push(D[(b>>2)+d]);return c}
function $a(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=F.get(b).apply(null,c);return d}}function V(a,b){a=Q(a);var c=a.includes("j")?$a(a,b):F.get(b);"function"!==typeof c&&R("unknown function pointer with signature "+a+": "+b);return c}var ab=void 0;function bb(a){a=cb(a);var b=Q(a);W(a);return b}
function db(a,b){function c(g){f[g]||N[g]||(O[g]?O[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new ab(a+": "+d.map(bb).join([", "]));}function eb(a,b,c){switch(b){case 0:return c?function(d){return wa[d]}:function(d){return z[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return B[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var fb={};
function gb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function hb(a,b){var c=N[a];void 0===c&&R(b+" has unknown type "+bb(a));return c}var ib={};Na=e.InternalError=Ma("InternalError");for(var jb=Array(256),kb=0;256>kb;++kb)jb[kb]=String.fromCharCode(kb);Qa=jb;Ra=e.BindingError=Ma("BindingError");e.count_emval_handles=function(){for(var a=0,b=5;b<S.length;++b)void 0!==S[b]&&++a;return a};
e.get_first_emval=function(){for(var a=5;a<S.length;++a)if(void 0!==S[a])return S[a];return null};ab=e.UnboundTypeError=Ma("UnboundTypeError");
var vb={O:function(){},s:function(){return 0},G:function(){return 0},H:function(){},x:function(a){var b=K[a];delete K[a];var c=b.pa,d=b.qa,f=b.ia,g=f.map(function(k){return k.na}).concat(f.map(function(k){return k.sa}));Oa([a],g,function(k){var h={};f.forEach(function(l,n){var m=k[n],p=l.la,r=l.ma,t=k[n+f.length],q=l.ra,ba=l.ta;h[l.ka]={read:function(A){return m.fromWireType(p(r,A))},write:function(A,I){var T=[];q(ba,A,t.toWireType(T,I));Ja(T)}}});return[{name:b.name,fromWireType:function(l){var n=
{},m;for(m in h)n[m]=h[m].read(l);d(l);return n},toWireType:function(l,n){for(var m in h)if(!(m in n))throw new TypeError('Missing field: "'+m+'"');var p=c();for(m in h)h[m].write(p,n[m]);null!==l&&l.push(d,p);return p},argPackAdvance:8,readValueFromPointer:L,fa:d}]})},B:function(){},K:function(a,b,c,d,f){var g=Pa(c);b=Q(b);P(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var h=wa;else if(2===c)h=C;else if(4===
c)h=D;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},fa:null})},J:function(a,b){b=Q(b);P(a,{name:b,fromWireType:function(c){var d=S[c].value;Ta(c);return d},toWireType:function(c,d){return U(d)},argPackAdvance:8,readValueFromPointer:L,fa:null})},t:function(a,b,c){c=Pa(c);b=Q(b);P(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Ua(f)+'" to '+this.name);
return f},argPackAdvance:8,readValueFromPointer:Va(b,c),fa:null})},w:function(a,b,c,d,f,g){var k=Za(b,c);a=Q(a);f=V(d,f);Ya(a,function(){db("Cannot call "+a+" due to unbound types",k)},b-1);Oa([],k,function(h){var l=[h[0],null].concat(h.slice(1)),n=h=a,m=f,p=l.length;2>p&&R("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var r=null!==l[1]&&!1,t=!1,q=1;q<l.length;++q)if(null!==l[q]&&void 0===l[q].fa){t=!0;break}var ba="void"!==l[0].name,A="",I="";for(q=0;q<p-2;++q)A+=
(0!==q?", ":"")+"arg"+q,I+=(0!==q?", ":"")+"arg"+q+"Wired";n="return function "+Ka(n)+"("+A+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";t&&(n+="var destructors = [];\n");var T=t?"destructors":"null";A="throwBindingError invoker fn runDestructors retType classParam".split(" ");m=[R,m,g,Ja,l[0],l[1]];r&&(n+="var thisWired = classParam.toWireType("+T+", this);\n");for(q=0;q<p-2;++q)n+=
"var arg"+q+"Wired = argType"+q+".toWireType("+T+", arg"+q+"); // "+l[q+2].name+"\n",A.push("argType"+q),m.push(l[q+2]);r&&(I="thisWired"+(0<I.length?", ":"")+I);n+=(ba?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(t)n+="runDestructors(destructors);\n";else for(q=r?1:2;q<l.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==l[q].fa&&(n+=p+"_dtor("+p+"); // "+l[q].name+"\n",A.push(p+"_dtor"),m.push(l[q].fa));ba&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");A.push(n+
"}\n");l=Wa(A).apply(null,m);q=b-1;if(!e.hasOwnProperty(h))throw new Na("Replacing nonexistant public symbol");void 0!==e[h].ea&&void 0!==q?e[h].ea[q]=l:(e[h]=l,e[h].ja=q);return[]})},i:function(a,b,c,d,f){function g(n){return n}b=Q(b);-1===f&&(f=4294967295);var k=Pa(c);if(0===d){var h=32-8*c;g=function(n){return n<<h>>>h}}var l=b.includes("unsigned");P(a,{name:b,fromWireType:g,toWireType:function(n,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Ua(m)+'" to '+
this.name);if(m<d||m>f)throw new TypeError('Passing a number "'+Ua(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return l?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:eb(b,k,0!==d),fa:null})},e:function(a,b,c){function d(g){g>>=2;var k=E;return new f(va,k[g+1],k[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=Q(c);P(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},
{oa:!0})},u:function(a,b){b=Q(b);var c="std::string"===b;P(a,{name:b,fromWireType:function(d){var f=E[d>>2];if(c)for(var g=d+4,k=0;k<=f;++k){var h=d+4+k;if(k==f||0==z[h]){if(g){for(var l=g+(h-g),n=g;!(n>=l)&&z[n];)++n;g=ma.decode(z.subarray(g,n))}else g="";if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=h+1}}else{m=Array(f);for(k=0;k<f;++k)m[k]=String.fromCharCode(z[d+4+k]);m=m.join("")}W(d);return m},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===
typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||R("Cannot pass non-string to std::string");var k=(c&&g?function(){for(var n=0,m=0;m<f.length;++m){var p=f.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|f.charCodeAt(++m)&1023);127>=p?++n:n=2047>=p?n+2:65535>=p?n+3:n+4}return n}:function(){return f.length})(),h=lb(4+k+1);E[h>>2]=k;if(c&&g)na(f,h+4,k+1);else if(g)for(g=0;g<k;++g){var l=f.charCodeAt(g);255<l&&(W(h),R("String has UTF-16 code units that do not fit in 8 bits"));
z[h+4+g]=l}else for(g=0;g<k;++g)z[h+4+g]=f[g];null!==d&&d.push(W,h);return h},argPackAdvance:8,readValueFromPointer:L,fa:function(d){W(d)}})},o:function(a,b,c){c=Q(c);if(2===b){var d=pa;var f=qa;var g=ra;var k=function(){return B};var h=1}else 4===b&&(d=sa,f=ta,g=ua,k=function(){return E},h=2);P(a,{name:c,fromWireType:function(l){for(var n=E[l>>2],m=k(),p,r=l+4,t=0;t<=n;++t){var q=l+4+t*b;if(t==n||0==m[q>>h])r=d(r,q-r),void 0===p?p=r:(p+=String.fromCharCode(0),p+=r),r=q+b}W(l);return p},toWireType:function(l,
n){"string"!==typeof n&&R("Cannot pass non-string to C++ string type "+c);var m=g(n),p=lb(4+m+b);E[p>>2]=m>>h;f(n,p+4,m+b);null!==l&&l.push(W,p);return p},argPackAdvance:8,readValueFromPointer:L,fa:function(l){W(l)}})},z:function(a,b,c,d,f,g){K[a]={name:Q(b),pa:V(c,d),qa:V(f,g),ia:[]}},g:function(a,b,c,d,f,g,k,h,l,n){K[a].ia.push({ka:Q(b),na:c,la:V(d,f),ma:g,sa:k,ra:V(h,l),ta:n})},L:function(a,b){b=Q(b);P(a,{xa:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},j:Ta,N:function(a){if(0===
a)return U(gb());var b=fb[a];a=void 0===b?Q(a):b;return U(gb()[a])},v:function(a){4<a&&(S[a].ha+=1)},D:function(a,b,c,d){a||R("Cannot use deleted val. handle = "+a);a=S[a].value;var f=ib[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var k="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)k+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+
g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",k+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(hb,e,U);ib[b]=f}return f(a,c,d)},f:function(){w()},d:function(a,b){X(a,b||1);throw"longjmp";},E:function(a,b,c){z.copyWithin(a,b,b+c)},n:function(a){var b=z.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ka.grow(Math.min(2147483648,
d)-va.byteLength+65535>>>16);za();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},r:function(){return 0},F:function(a,b,c,d){a=Ia.wa(a);b=Ia.ua(a,b,c);D[d>>2]=b;return 0},A:function(){},I:function(a,b,c,d){for(var f=0,g=0;g<c;g++){for(var k=D[b+8*g>>2],h=D[b+(8*g+4)>>2],l=0;l<h;l++){var n=z[k+l],m=Ha[a];if(0===n||10===n){n=1===a?ia:x;var p;for(p=0;m[p]&&!(NaN<=p);)++p;p=ma.decode(m.subarray?m.subarray(0,p):new Uint8Array(m.slice(0,p)));n(p);m.length=0}else m.push(n)}f+=h}D[d>>2]=f;return 0},
b:function(){return ja},l:mb,p:nb,q:ob,C:pb,y:qb,m:rb,h:sb,c:tb,k:ub,a:function(a){ja=a},M:function(a){var b=Date.now()/1E3|0;a&&(D[a>>2]=b);return b}};
(function(){function a(f){e.asm=f.exports;ka=e.asm.P;za();F=e.asm.Y;Ba.unshift(e.asm.Q);G--;e.monitorRunDependencies&&e.monitorRunDependencies(G);0==G&&(null!==Ea&&(clearInterval(Ea),Ea=null),H&&(f=H,H=null,f()))}function b(f){a(f.instance)}function c(f){return Fa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){x("failed to asynchronously prepare wasm: "+g);w(g)})}var d={a:vb};G++;e.monitorRunDependencies&&e.monitorRunDependencies(G);if(e.instantiateWasm)try{return e.instantiateWasm(d,
a)}catch(f){return x("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return y||"function"!==typeof WebAssembly.instantiateStreaming||J.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(J,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){x("wasm streaming compile failed: "+g);x("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})();
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.Q).apply(null,arguments)};var lb=e._malloc=function(){return(lb=e._malloc=e.asm.R).apply(null,arguments)},W=e._free=function(){return(W=e._free=e.asm.S).apply(null,arguments)},cb=e.___getTypeName=function(){return(cb=e.___getTypeName=e.asm.T).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.U).apply(null,arguments)};
var Y=e.stackSave=function(){return(Y=e.stackSave=e.asm.V).apply(null,arguments)},Z=e.stackRestore=function(){return(Z=e.stackRestore=e.asm.W).apply(null,arguments)},X=e._setThrew=function(){return(X=e._setThrew=e.asm.X).apply(null,arguments)};e.dynCall_jiiiiiiiii=function(){return(e.dynCall_jiiiiiiiii=e.asm.Z).apply(null,arguments)};var wb=e.dynCall_ijiii=function(){return(wb=e.dynCall_ijiii=e.asm._).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.$).apply(null,arguments)};
e.dynCall_jiiiiiiii=function(){return(e.dynCall_jiiiiiiii=e.asm.aa).apply(null,arguments)};e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.ba).apply(null,arguments)};e.dynCall_jiiiii=function(){return(e.dynCall_jiiiii=e.asm.ca).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.da).apply(null,arguments)};function rb(a,b){var c=Y();try{F.get(a)(b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}
function tb(a,b,c,d,f){var g=Y();try{F.get(a)(b,c,d,f)}catch(k){Z(g);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function sb(a,b,c){var d=Y();try{F.get(a)(b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function ob(a,b,c,d,f,g,k,h,l,n){var m=Y();try{return F.get(a)(b,c,d,f,g,k,h,l,n)}catch(p){Z(m);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}function pb(a,b,c,d,f,g,k,h,l,n,m,p){var r=Y();try{return F.get(a)(b,c,d,f,g,k,h,l,n,m,p)}catch(t){Z(r);if(t!==t+0&&"longjmp"!==t)throw t;X(1,0)}}
function mb(a,b,c,d,f){var g=Y();try{return F.get(a)(b,c,d,f)}catch(k){Z(g);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function ub(a,b,c,d,f,g,k,h,l,n,m){var p=Y();try{F.get(a)(b,c,d,f,g,k,h,l,n,m)}catch(r){Z(p);if(r!==r+0&&"longjmp"!==r)throw r;X(1,0)}}function nb(a,b,c,d,f,g,k,h,l){var n=Y();try{return F.get(a)(b,c,d,f,g,k,h,l)}catch(m){Z(n);if(m!==m+0&&"longjmp"!==m)throw m;X(1,0)}}
function qb(a,b,c,d,f,g){var k=Y();try{return wb(a,b,c,d,f,g)}catch(h){Z(k);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}var xb;H=function yb(){xb||zb();xb||(H=yb)};
function zb(){function a(){if(!xb&&(xb=!0,e.calledRun=!0,!la)){Ga(Ba);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();Ca.unshift(b)}Ga(Ca)}}if(!(0<G)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Da();Ga(Aa);0<G||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=zb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();zb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -3,19 +3,16 @@
# Params that must be supplied by the caller: # Params that must be supplied by the caller:
# $(CODEC_DIR) # $(CODEC_DIR)
# $(LIBAOM_DIR) # $(LIBAOM_DIR)
# $(BUILD_DIR)
# $(OUT_JS) # $(OUT_JS)
# $(OUT_CPP) # $(OUT_CPP)
# $(LIBAOM_FLAGS) # $(LIBAOM_FLAGS)
# $(LIBAVIF_FLAGS) # $(CODEC_PACKAGE)
# $(ENVIRONMENT) # $(LIBAOM_PACKAGE)
OUT_BUILD_DIR := $(BUILD_DIR)/$(basename $(OUT_JS)) CODEC_BUILD_DIR := $(CODEC_DIR)/build
CODEC_BUILD_DIR := $(OUT_BUILD_DIR)/libavif
CODEC_OUT := $(CODEC_BUILD_DIR)/libavif.a CODEC_OUT := $(CODEC_BUILD_DIR)/libavif.a
LIBAOM_BUILD_DIR := $(OUT_BUILD_DIR)/libaom LIBAOM_BUILD_DIR := $(CODEC_DIR)/ext/aom/build.libavif
LIBAOM_OUT := $(LIBAOM_BUILD_DIR)/libaom.a LIBAOM_OUT := $(LIBAOM_BUILD_DIR)/libaom.a
OUT_WASM = $(OUT_JS:.js=.wasm) OUT_WASM = $(OUT_JS:.js=.wasm)
@@ -26,14 +23,18 @@ OUT_WORKER=$(OUT_JS:.js=.worker.js)
all: $(OUT_JS) all: $(OUT_JS)
$(OUT_JS): $(OUT_CPP) $(LIBAOM_OUT) $(CODEC_OUT) $(OUT_JS): $(OUT_CPP) $(LIBAOM_OUT) $(CODEC_OUT)
# ERROR_ON_UNDEFINED_SYMBOLS=0 is needed to separate the encoder and decoder
$(CXX) \ $(CXX) \
-I $(CODEC_DIR)/include \ -I $(CODEC_DIR)/include \
$(CXXFLAGS) \ $(CXXFLAGS) \
$(LDFLAGS) \ $(LDFLAGS) \
$(OUT_FLAGS) \ $(OUT_FLAGS) \
--bind \ --bind \
-s ENVIRONMENT=$(ENVIRONMENT) \ --closure 1 \
-s EXPORT_ES6=1 \ -s ALLOW_MEMORY_GROWTH=1 \
-s MODULARIZE=1 \
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
-s 'EXPORT_NAME="$(basename $(@F))"' \
-o $@ \ -o $@ \
$+ $+
@@ -42,9 +43,8 @@ $(CODEC_OUT): $(CODEC_DIR)/CMakeLists.txt $(LIBAOM_OUT)
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=0 \ -DBUILD_SHARED_LIBS=0 \
-DAVIF_CODEC_AOM=1 \ -DAVIF_CODEC_AOM=1 \
-DAOM_LIBRARY=$(LIBAOM_OUT) \ -DAVIF_LOCAL_AOM=1 \
-DAOM_INCLUDE_DIR=$(LIBAOM_DIR) \ -DAVIF_CODEC_INCLUDES=$(abspath $(LIBAOM_DIR)) \
$(LIBAVIF_FLAGS) \
-B $(CODEC_BUILD_DIR) \ -B $(CODEC_BUILD_DIR) \
$(CODEC_DIR) && \ $(CODEC_DIR) && \
$(MAKE) -C $(CODEC_BUILD_DIR) $(MAKE) -C $(CODEC_BUILD_DIR)
@@ -62,11 +62,16 @@ $(LIBAOM_OUT): $(LIBAOM_DIR)/CMakeLists.txt
-DCONFIG_INSPECTION=0 \ -DCONFIG_INSPECTION=0 \
-DCONFIG_RUNTIME_CPU_DETECT=0 \ -DCONFIG_RUNTIME_CPU_DETECT=0 \
-DCONFIG_WEBM_IO=0 \ -DCONFIG_WEBM_IO=0 \
-DCONFIG_AV1_HIGHBITDEPTH=0 \
$(LIBAOM_FLAGS) \ $(LIBAOM_FLAGS) \
-B $(LIBAOM_BUILD_DIR) \ -B $(LIBAOM_BUILD_DIR) \
$(LIBAOM_DIR) && \ $(LIBAOM_DIR) && \
$(MAKE) -C $(LIBAOM_BUILD_DIR) $(MAKE) -C $(LIBAOM_BUILD_DIR)
$(CODEC_DIR)/CMakeLists.txt: $(CODEC_PACKAGE)
mkdir -p $(@D)
tar xzm --strip 1 -C $(@D) -f $(CODEC_PACKAGE)
clean: clean:
$(RM) $(OUT_JS) $(OUT_WASM) $(OUT_WORKER) $(RM) $(OUT_JS) $(OUT_WASM) $(OUT_WORKER)
$(MAKE) -C $(CODEC_BUILD_DIR) clean $(MAKE) -C $(CODEC_BUILD_DIR) clean

View File

@@ -1,3 +1,3 @@
#!/bin/sh -e #!/bin/sh -e
docker build -t squoosh-cpp - < ../cpp.Dockerfile docker build -t squoosh-cpp - < ../cpp.Dockerfile
docker run -it --rm -v $PWD:/src squoosh-cpp "$@" docker run --rm -v $PWD:/src squoosh-cpp

View File

@@ -0,0 +1,4 @@
set -e
docker build -t squoosh-rust-nightly --build-arg RUST_IMG=rustlang/rust:nightly - < ../rust.Dockerfile
docker run --rm -v $PWD:/src squoosh-rust-nightly "$@"

View File

@@ -1,10 +1,4 @@
set -e set -e
if [ ! -z "$RUST_IMG" ] docker build -t squoosh-rust - < ../rust.Dockerfile
then docker run --rm -v $PWD:/src squoosh-rust "$@"
# Get part after ":" (https://stackoverflow.com/a/15149278/439965).
IMG_SUFFIX=-${RUST_IMG#*:}
fi
IMG_NAME=squoosh-rust$IMG_SUFFIX
docker build -t $IMG_NAME --build-arg RUST_IMG - < ../rust.Dockerfile
docker run -it --rm -v $PWD:/src $IMG_NAME "$@"

View File

@@ -1,17 +1,9 @@
FROM emscripten/emsdk:2.0.21 FROM emscripten/emsdk:1.40.0
RUN apt-get update && apt-get install -qqy autoconf libtool pkg-config RUN apt-get update && apt-get install -qqy autoconf libtool pkg-config
ENV CFLAGS "-O3 -flto" ENV CFLAGS "-Os -flto"
ENV CXXFLAGS "${CFLAGS} -std=c++17" ENV CXXFLAGS "${CFLAGS} -std=c++17"
ENV LDFLAGS "${CFLAGS} \ ENV LDFLAGS "${CFLAGS} -s PTHREAD_POOL_SIZE=navigator.hardwareConcurrency"
--closure 1 \ # Build and cache standard libraries with these flags
-s FILESYSTEM=0 \ RUN emcc ${CXXFLAGS} --bind -xc++ /dev/null -o /dev/null
-s PTHREAD_POOL_SIZE=navigator.hardwareConcurrency \
-s ALLOW_MEMORY_GROWTH=1 \
-s TEXTDECODER=2 \
"
# Build and cache standard libraries with these flags + Embind.
RUN emcc ${CXXFLAGS} ${LDFLAGS} --bind -xc++ /dev/null -o /dev/null
# And another set for the pthread variant.
RUN emcc ${CXXFLAGS} ${LDFLAGS} --bind -pthread -xc++ /dev/null -o /dev/null
WORKDIR /src WORKDIR /src
CMD ["sh", "-c", "emmake make -j`nproc`"] CMD ["sh", "-c", "emmake make -j`nproc`"]

197
codecs/hqx/Cargo.lock generated
View File

@@ -4,289 +4,286 @@
name = "bumpalo" name = "bumpalo"
version = "3.4.0" version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
version = "0.1.10" version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "console_error_panic_hook" name = "console_error_panic_hook"
version = "0.1.6" version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.1.29" version = "0.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
[[package]] [[package]]
name = "hqx" name = "hqx"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/CryZe/wasmboy-rs?tag=v0.1.3#d7cbae67906796928c8e451b186f3c653924beb8" source = "git+https://github.com/CryZe/wasmboy-rs?tag=v0.1.2#5f19cda24191ccc7c0c4920b6b246b4e242f377c"
dependencies = [ dependencies = [
"lazy_static", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "js-sys" name = "js-sys"
version = "0.3.42" version = "0.3.42"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52732a3d3ad72c58ad2dc70624f9c17b46ecd0943b9a4f1ee37c4c18c5d983e2"
dependencies = [ dependencies = [
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "lazy_static" name = "lazy_static"
version = "1.4.0" version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.73" version = "0.2.73"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.11" version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "memory_units" name = "memory_units"
version = "0.4.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "0.4.30" version = "0.4.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
dependencies = [ dependencies = [
"unicode-xid 0.1.0", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.27" version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
dependencies = [ dependencies = [
"unicode-xid 0.2.1", "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "0.6.13" version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
dependencies = [ dependencies = [
"proc-macro2 0.4.30", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.7" version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
dependencies = [ dependencies = [
"proc-macro2 1.0.27", "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "scoped-tls" name = "scoped-tls"
version = "1.0.0" version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
[[package]] [[package]]
name = "squooshhqx" name = "squooshhqx"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"console_error_panic_hook", "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"hqx", "hqx 0.1.0 (git+https://github.com/CryZe/wasmboy-rs?tag=v0.1.2)",
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-test", "wasm-bindgen-test 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
"wee_alloc", "wee_alloc 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.72" version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
dependencies = [ dependencies = [
"proc-macro2 1.0.27", "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.7", "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.1", "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
version = "0.1.0" version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
version = "0.2.1" version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
[[package]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.74" version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-macro", "wasm-bindgen-macro 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-backend" name = "wasm-bindgen-backend"
version = "0.2.74" version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
dependencies = [ dependencies = [
"bumpalo", "bumpalo 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log", "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.27", "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.7", "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"syn", "syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-shared", "wasm-bindgen-shared 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-futures" name = "wasm-bindgen-futures"
version = "0.3.27" version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83420b37346c311b9ed822af41ec2e82839bfe99867ec6c54e2da43b7538771c"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"futures", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
"js-sys", "js-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"web-sys", "web-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-macro" name = "wasm-bindgen-macro"
version = "0.2.74" version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
dependencies = [ dependencies = [
"quote 1.0.7", "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-macro-support", "wasm-bindgen-macro-support 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-macro-support" name = "wasm-bindgen-macro-support"
version = "0.2.74" version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
dependencies = [ dependencies = [
"proc-macro2 1.0.27", "proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.7", "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"syn", "syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-backend", "wasm-bindgen-backend 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-shared", "wasm-bindgen-shared 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-shared" name = "wasm-bindgen-shared"
version = "0.2.74" version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
[[package]] [[package]]
name = "wasm-bindgen-test" name = "wasm-bindgen-test"
version = "0.2.50" version = "0.2.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2d9693b63a742d481c7f80587e057920e568317b2806988c59cd71618bc26c1"
dependencies = [ dependencies = [
"console_error_panic_hook", "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"futures", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
"js-sys", "js-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
"scoped-tls", "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-futures", "wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen-test-macro", "wasm-bindgen-test-macro 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasm-bindgen-test-macro" name = "wasm-bindgen-test-macro"
version = "0.2.50" version = "0.2.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0789dac148a8840bbcf9efe13905463b733fa96543bfbf263790535c11af7ba5"
dependencies = [ dependencies = [
"proc-macro2 0.4.30", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 0.6.13", "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "web-sys" name = "web-sys"
version = "0.3.42" version = "0.3.42"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8be2398f326b7ba09815d0b403095f34dd708579220d099caae89be0b32137b2"
dependencies = [ dependencies = [
"js-sys", "js-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
"wasm-bindgen", "wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wee_alloc" name = "wee_alloc"
version = "0.4.5" version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"libc", "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"memory_units", "memory_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi", "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "winapi" name = "winapi"
version = "0.3.9" version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [ dependencies = [
"winapi-i686-pc-windows-gnu", "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi-x86_64-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "winapi-i686-pc-windows-gnu" name = "winapi-i686-pc-windows-gnu"
version = "0.4.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]] [[package]]
name = "winapi-x86_64-pc-windows-gnu" name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[metadata]
"checksum bumpalo 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
"checksum hqx 0.1.0 (git+https://github.com/CryZe/wasmboy-rs?tag=v0.1.2)" = "<none>"
"checksum js-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "52732a3d3ad72c58ad2dc70624f9c17b46ecd0943b9a4f1ee37c4c18c5d983e2"
"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
"checksum libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)" = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
"checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
"checksum memory_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3"
"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
"checksum proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
"checksum quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
"checksum syn 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "fb7f4c519df8c117855e19dd8cc851e89eb746fe7a73f0157e0d95fdec5369b0"
"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
"checksum unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
"checksum wasm-bindgen 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "f3edbcc9536ab7eababcc6d2374a0b7bfe13a2b6d562c5e07f370456b1a8f33d"
"checksum wasm-bindgen-backend 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "89ed2fb8c84bfad20ea66b26a3743f3e7ba8735a69fe7d95118c33ec8fc1244d"
"checksum wasm-bindgen-futures 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)" = "83420b37346c311b9ed822af41ec2e82839bfe99867ec6c54e2da43b7538771c"
"checksum wasm-bindgen-macro 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "eb071268b031a64d92fc6cf691715ca5a40950694d8f683c5bb43db7c730929e"
"checksum wasm-bindgen-macro-support 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "cf592c807080719d1ff2f245a687cbadb3ed28b2077ed7084b47aba8b691f2c6"
"checksum wasm-bindgen-shared 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "72b6c0220ded549d63860c78c38f3bcc558d1ca3f4efa74942c536ddbbb55e87"
"checksum wasm-bindgen-test 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "a2d9693b63a742d481c7f80587e057920e568317b2806988c59cd71618bc26c1"
"checksum wasm-bindgen-test-macro 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "0789dac148a8840bbcf9efe13905463b733fa96543bfbf263790535c11af7ba5"
"checksum web-sys 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "8be2398f326b7ba09815d0b403095f34dd708579220d099caae89be0b32137b2"
"checksum wee_alloc 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e"
"checksum winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

View File

@@ -13,7 +13,7 @@ default = ["console_error_panic_hook", "wee_alloc"]
cfg-if = "0.1.2" cfg-if = "0.1.2"
wasm-bindgen = "0.2.38" wasm-bindgen = "0.2.38"
# lazy_static = "1.0.0" # lazy_static = "1.0.0"
hqx = {git = "https://github.com/CryZe/wasmboy-rs", tag="v0.1.3"} hqx = {git = "https://github.com/CryZe/wasmboy-rs", tag="v0.1.2"}
# The `console_error_panic_hook` crate provides better debugging of panics by # The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires # logging them with `console.error`. This is great for development, but requires

11
codecs/hqx/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
# This is intentionally an old version of Rust. Newer versions
# generate _significantly_ bigger Wasm binaries.
FROM rust:1.37
RUN rustup target add wasm32-unknown-unknown
RUN curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
RUN mkdir /opt/binaryen && \
curl -L https://github.com/WebAssembly/binaryen/releases/download/1.38.32/binaryen-1.38.32-x86-linux.tar.gz | tar -xzf - -C /opt/binaryen --strip 1
ENV PATH="/opt/binaryen:${PATH}"
WORKDIR /src

View File

@@ -1,6 +1,7 @@
{ {
"name": "hqx", "name": "hqx",
"scripts": { "scripts": {
"build": "../build-rust.sh" "build:image": "docker build -t squoosh-hqx - < Dockerfile",
"build": "docker run --rm -v $(pwd):/src squoosh-hqx ./build.sh"
} }
} }

View File

@@ -1,5 +0,0 @@
# HQX
- Source: <https://github.com/CryZe/wasmboy-rs>
- Version: v0.1.2
- License: Apache 2.0

View File

@@ -8,23 +8,3 @@
* @returns {Uint32Array} * @returns {Uint32Array}
*/ */
export function resize(input_image: Uint32Array, input_width: number, input_height: number, factor: number): Uint32Array; export function resize(input_image: Uint32Array, input_width: number, input_height: number, factor: number): Uint32Array;
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly resize: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
readonly __wbindgen_malloc: (a: number) => number;
readonly __wbindgen_free: (a: number, b: number) => void;
}
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;

View File

@@ -1,108 +1,2 @@
import * as wasm from "./squooshhqx_bg.wasm";
let wasm; export * from "./squooshhqx_bg.js";
let cachegetUint32Memory0 = null;
function getUint32Memory0() {
if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
}
return cachegetUint32Memory0;
}
let WASM_VECTOR_LEN = 0;
function passArray32ToWasm0(arg, malloc) {
const ptr = malloc(arg.length * 4);
getUint32Memory0().set(arg, ptr / 4);
WASM_VECTOR_LEN = arg.length;
return ptr;
}
let cachegetInt32Memory0 = null;
function getInt32Memory0() {
if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
}
return cachegetInt32Memory0;
}
function getArrayU32FromWasm0(ptr, len) {
return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len);
}
/**
* @param {Uint32Array} input_image
* @param {number} input_width
* @param {number} input_height
* @param {number} factor
* @returns {Uint32Array}
*/
export function resize(input_image, input_width, input_height, factor) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
var ptr0 = passArray32ToWasm0(input_image, wasm.__wbindgen_malloc);
var len0 = WASM_VECTOR_LEN;
wasm.resize(retptr, ptr0, len0, input_width, input_height, factor);
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var v1 = getArrayU32FromWasm0(r0, r1).slice();
wasm.__wbindgen_free(r0, r1 * 4);
return v1;
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
}
async function load(module, imports) {
if (typeof Response === 'function' && module instanceof Response) {
if (typeof WebAssembly.instantiateStreaming === 'function') {
try {
return await WebAssembly.instantiateStreaming(module, imports);
} catch (e) {
if (module.headers.get('Content-Type') != 'application/wasm') {
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
} else {
throw e;
}
}
}
const bytes = await module.arrayBuffer();
return await WebAssembly.instantiate(bytes, imports);
} else {
const instance = await WebAssembly.instantiate(module, imports);
if (instance instanceof WebAssembly.Instance) {
return { instance, module };
} else {
return instance;
}
}
}
async function init(input) {
if (typeof input === 'undefined') {
input = new URL('squooshhqx_bg.wasm', import.meta.url);
}
const imports = {};
if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
input = fetch(input);
}
const { instance, module } = await load(await input, imports);
wasm = instance.exports;
init.__wbindgen_wasm_module = module;
return wasm;
}
export default init;

6
codecs/hqx/pkg/squooshhqx_bg.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
/* tslint:disable */
/* eslint-disable */
export const memory: WebAssembly.Memory;
export function resize(a: number, b: number, c: number, d: number, e: number, f: number): void;
export function __wbindgen_malloc(a: number): number;
export function __wbindgen_free(a: number, b: number): void;

View File

@@ -0,0 +1,48 @@
import * as wasm from './squooshhqx_bg.wasm';
let cachegetUint32Memory0 = null;
function getUint32Memory0() {
if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
}
return cachegetUint32Memory0;
}
let WASM_VECTOR_LEN = 0;
function passArray32ToWasm0(arg, malloc) {
const ptr = malloc(arg.length * 4);
getUint32Memory0().set(arg, ptr / 4);
WASM_VECTOR_LEN = arg.length;
return ptr;
}
let cachegetInt32Memory0 = null;
function getInt32Memory0() {
if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
}
return cachegetInt32Memory0;
}
function getArrayU32FromWasm0(ptr, len) {
return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len);
}
/**
* @param {Uint32Array} input_image
* @param {number} input_width
* @param {number} input_height
* @param {number} factor
* @returns {Uint32Array}
*/
export function resize(input_image, input_width, input_height, factor) {
var ptr0 = passArray32ToWasm0(input_image, wasm.__wbindgen_malloc);
var len0 = WASM_VECTOR_LEN;
wasm.resize(8, ptr0, len0, input_width, input_height, factor);
var r0 = getInt32Memory0()[8 / 4 + 0];
var r1 = getInt32Memory0()[8 / 4 + 1];
var v1 = getArrayU32FromWasm0(r0, r1).slice();
wasm.__wbindgen_free(r0, r1 * 4);
return v1;
}

Binary file not shown.

View File

@@ -2,26 +2,25 @@ CODEC_URL := https://github.com/ImageOptim/libimagequant/archive/2.12.1.tar.gz
CODEC_DIR := node_modules/libimagequant CODEC_DIR := node_modules/libimagequant
CODEC_OUT_RELATIVE := libimagequant.a CODEC_OUT_RELATIVE := libimagequant.a
CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE)) CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE))
OUT_JS := imagequant.js imagequant_node.js OUT_JS := imagequant.js
OUT_WASM := $(OUT_JS:.js=.wasm) OUT_WASM := $(OUT_JS:.js=.wasm)
ENVIRONMENT = worker
.PHONY: all clean .PHONY: all clean
all: $(OUT_JS) all: $(OUT_JS)
imagequant_node.js: ENVIRONMENT=node %.js: %.cpp $(CODEC_OUT)
$(OUT_JS): $(CODEC_OUT)
$(CXX) \ $(CXX) \
-I $(CODEC_DIR) \ -I $(CODEC_DIR) \
${CXXFLAGS} \ ${CXXFLAGS} \
${LDFLAGS} \ ${LDFLAGS} \
--bind \ --bind \
-s ENVIRONMENT=$(ENVIRONMENT) \ --closure 1 \
-s EXPORT_ES6=1 \ -s ALLOW_MEMORY_GROWTH=1 \
-s MODULARIZE=1 \
-s 'EXPORT_NAME="$(basename $(@F))"' \
-o $@ \ -o $@ \
$+ \ $+
imagequant.cpp
$(CODEC_OUT): $(CODEC_DIR)/config.mk $(CODEC_OUT): $(CODEC_DIR)/config.mk
$(MAKE) -C $(CODEC_DIR) $(CODEC_OUT_RELATIVE) $(MAKE) -C $(CODEC_DIR) $(CODEC_OUT_RELATIVE)

View File

@@ -1,17 +1,18 @@
<!DOCTYPE html> <!doctype html>
<style> <style>
canvas { canvas {
image-rendering: pixelated; image-rendering: pixelated;
} }
</style> </style>
<script type="module"> <script src='imagequant.js'></script>
import imagequant from './imagequant.js'; <script>
const Module = imagequant();
async function loadImage(src) { async function loadImage(src) {
// Load image // Load image
const img = document.createElement('img'); const img = document.createElement('img');
img.src = src; img.src = src;
await new Promise((resolve) => (img.onload = resolve)); await new Promise(resolve => img.onload = resolve);
// Make canvas same size as image // Make canvas same size as image
const canvas = document.createElement('canvas'); const canvas = document.createElement('canvas');
[canvas.width, canvas.height] = [img.width, img.height]; [canvas.width, canvas.height] = [img.width, img.height];
@@ -21,32 +22,19 @@
return ctx.getImageData(0, 0, img.width, img.height); return ctx.getImageData(0, 0, img.width, img.height);
} }
async function main() { Module.onRuntimeInitialized = async _ => {
const module = await imagequant(); console.log('Version:', Module.version().toString(16));
console.log('Version:', module.version().toString(16));
const image = await loadImage('../example.png'); const image = await loadImage('../example.png');
const rawImage = module.quantize( // const rawImage = Module.quantize(image.data, image.width, image.height, 256, 1.0);
image.data, const rawImage = Module.zx_quantize(image.data, image.width, image.height, 1.0);
image.width,
image.height,
256,
1.0,
);
console.log('done'); console.log('done');
const imageData = new ImageData( const imageData = new ImageData(new Uint8ClampedArray(rawImage.buffer), image.width, image.height);
new Uint8ClampedArray(rawImage.buffer),
image.width,
image.height,
);
const canvas = document.createElement('canvas'); const canvas = document.createElement('canvas');
canvas.width = image.width; canvas.width = image.width;
canvas.height = image.height; canvas.height = image.height;
const ctx = canvas.getContext('2d'); const ctx = canvas.getContext('2d');
ctx.putImageData(imageData, 0, 0); ctx.putImageData(imageData, 0, 0);
document.body.appendChild(canvas); document.body.appendChild(canvas);
} };
main();
</script> </script>

View File

@@ -1,19 +1,6 @@
export interface QuantizerModule extends EmscriptenWasm.Module { interface QuantizerModule extends EmscriptenWasm.Module {
quantize( quantize(data: BufferSource, width: number, height: number, numColors: number, dither: number): Uint8ClampedArray;
data: BufferSource, zx_quantize(data: BufferSource, width: number, height: number, dither: number): Uint8ClampedArray;
width: number,
height: number,
numColors: number,
dither: number,
): Uint8ClampedArray;
zx_quantize(
data: BufferSource,
width: number,
height: number,
dither: number,
): Uint8ClampedArray;
} }
declare var moduleFactory: EmscriptenWasm.ModuleFactory<QuantizerModule>; export default function(opts: EmscriptenWasm.ModuleOpts): Promise<QuantizerModule>;
export default moduleFactory;

View File

@@ -1,55 +1,68 @@
var Module = (function() { var imagequant = (function() {
var _scriptDir = import.meta.url; var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return ( return (
function(Module) { function(imagequant) {
Module = Module || {}; imagequant = imagequant || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var v="",w;v=self.location.href;_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.lastIndexOf("/")+1):v="";w=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var ba=e.print||console.log.bind(console),y=e.printErr||console.warn.bind(console); var d;d||(d=typeof imagequant !== 'undefined' ? imagequant : {});var aa;d.ready=new Promise(function(a){aa=a});var r={},t;for(t in d)d.hasOwnProperty(t)&&(r[t]=d[t]);var u=!1,v=!1,ba=!1,ca=!1;u="object"===typeof window;v="function"===typeof importScripts;ba="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;ca=!u&&!ba&&!v;var w="",x,z,da,ea;
for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var z;e.wasmBinary&&(z=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&A("no native wasm support detected");var C,ca=!1,da=new TextDecoder("utf8"); if(ba)w=v?require("path").dirname(w)+"/":__dirname+"/",x=function(a,b){da||(da=require("fs"));ea||(ea=require("path"));a=ea.normalize(a);return da.readFileSync(a,b?null:"utf8")},z=function(a){a=x(a,!0);a.buffer||(a=new Uint8Array(a));a.buffer||A("Assertion failed: undefined");return a},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(a){throw a;}),process.on("unhandledRejection",A),d.inspect=function(){return"[Emscripten Module object]"};
function ea(a,b,c){var d=D;if(0<c){c=b+c-1;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var fa=new TextDecoder("utf-16le"); else if(ca)"undefined"!=typeof read&&(x=function(a){return read(a)}),z=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"===typeof a||A("Assertion failed: undefined");return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(u||v)v?w=self.location.href:document.currentScript&&(w=document.currentScript.src),_scriptDir&&
function ha(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&E[c];)++c;return fa.decode(D.subarray(a,c<<1))}function ia(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var g=0;g<c;++g)F[b>>1]=a.charCodeAt(g),b+=2;F[b>>1]=0;return b-d}function ja(a){return 2*a.length}function ka(a,b){for(var c=0,d="";!(c>=b/4);){var g=G[a+4*c>>2];if(0==g)break;++c;65536<=g?(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023)):d+=String.fromCharCode(g)}return d} (w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",x=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},v&&(z=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var fa=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(d[t]=r[t]);r=null;var D;d.wasmBinary&&(D=d.wasmBinary);var noExitRuntime;
function la(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}G[b>>2]=f;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}function ma(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var I,na,D,F,E,G,J,oa,pa; d.noExitRuntime&&(noExitRuntime=d.noExitRuntime);"object"!==typeof WebAssembly&&A("no native wasm support detected");var E,ha=new WebAssembly.Table({initial:46,maximum:46,element:"anyfunc"}),ia=!1,ja="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function qa(){var a=C.buffer;I=a;e.HEAP8=na=new Int8Array(a);e.HEAP16=F=new Int16Array(a);e.HEAP32=G=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=E=new Uint16Array(a);e.HEAPU32=J=new Uint32Array(a);e.HEAPF32=oa=new Float32Array(a);e.HEAPF64=pa=new Float64Array(a)}var L,ra=[],sa=[],ta=[];function ua(){var a=e.preRun.shift();ra.unshift(a)}var M=0,va=null,N=null;e.preloadedImages={};e.preloadedAudios={}; function ka(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&ja)return ja.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|l:(f&7)<<18|g<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
function A(a){if(e.onAbort)e.onAbort(a);y(a);ca=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var O=(new URL("imagequant.wasm",import.meta.url)).toString();function wa(){try{if(O==O&&z)return new Uint8Array(z);if(w)return w(O);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}} function la(a,b,c){var e=F;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(b>=c)break;e[b++]=g}else{if(2047>=g){if(b+1>=c)break;e[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;e[b++]=224|g>>12}else{if(b+3>=c)break;e[b++]=240|g>>18;e[b++]=128|g>>12&63}e[b++]=128|g>>6&63}e[b++]=128|g&63}}e[b]=0}}var ma="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function xa(){return z||"function"!==typeof fetch?Promise.resolve().then(function(){return wa()}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return wa()})}function ya(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.L;"number"===typeof c?void 0===b.H?L.get(c)():L.get(c)(b.H):c(void 0===b.H?null:b.H)}}} function na(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&G[c];)++c;c<<=1;if(32<c-a&&ma)return ma.decode(F.subarray(a,c));c=0;for(e="";;){var f=H[a+2*c>>1];if(0==f||c==b/2)return e;++c;e+=String.fromCharCode(f)}}function oa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)H[b>>1]=a.charCodeAt(f),b+=2;H[b>>1]=0;return b-e}function pa(a){return 2*a.length}
function za(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Aa=void 0;function P(a){for(var b="";D[a];)b+=Aa[D[a++]];return b}var Q={},R={},S={};function Ba(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a} function qa(a,b){for(var c=0,e="";!(c>=b/4);){var f=I[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}function ra(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}I[b>>2]=g;b+=4;if(b+4>c)break}I[b>>2]=0;return b-e}
function Ca(a,b){a=Ba(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Da(a){var b=Error,c=Ca(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c} function sa(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b}var J,ta,F,H,G,I,L,ua,va;function wa(a){J=a;d.HEAP8=ta=new Int8Array(a);d.HEAP16=H=new Int16Array(a);d.HEAP32=I=new Int32Array(a);d.HEAPU8=F=new Uint8Array(a);d.HEAPU16=G=new Uint16Array(a);d.HEAPU32=L=new Uint32Array(a);d.HEAPF32=ua=new Float32Array(a);d.HEAPF64=va=new Float64Array(a)}var xa=d.INITIAL_MEMORY||16777216;d.wasmMemory?E=d.wasmMemory:E=new WebAssembly.Memory({initial:xa/65536,maximum:32768});
var Ea=void 0;function T(a){throw new Ea(a);}var Fa=void 0;function Ga(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Fa("Mismatched type converter count");for(var p=0;p<d.length;++p)U(d[p],h[p])}var d=[];d.forEach(function(h){S[h]=a});var g=Array(a.length),f=[],l=0;a.forEach(function(h,p){R.hasOwnProperty(h)?g[p]=R[h]:(f.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){g[p]=R[h];++l;l===f.length&&c(g)}))});0===f.length&&c(g)} E&&(J=E.buffer);xa=J.byteLength;wa(J);I[1472]=5248928;function M(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(d);else{var c=b.Y;"number"===typeof c?void 0===b.U?d.dynCall_v(c):d.dynCall_vi(c,b.U):c(void 0===b.U?null:b.U)}}}var ya=[],za=[],Aa=[],Ba=[];function Ca(){var a=d.preRun.shift();ya.unshift(a)}var N=0,Da=null,O=null;d.preloadedImages={};d.preloadedAudios={};
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.K)return;T("Cannot register type '"+d+"' twice")}R[a]=b;delete S[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(g){g()}))}var Ja=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}]; function A(a){if(d.onAbort)d.onAbort(a);fa(a);B(a);ia=!0;throw new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}function Ea(a){var b=Q;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Fa(){return Ea("data:application/octet-stream;base64,")}var Q="imagequant.wasm";if(!Fa()){var Ga=Q;Q=d.locateFile?d.locateFile(Ga,w):w+Ga}
function Ka(a){4<a&&0===--V[a].I&&(V[a]=void 0,Ja.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ja.length?Ja.pop():V.length;V[b]={I:1,value:a};return b}}function La(a){return this.fromWireType(J[a>>2])}function Ma(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} function Ha(){try{if(D)return new Uint8Array(D);if(z)return z(Q);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}function Ia(){return D||!u&&!v||"function"!==typeof fetch||Ea("file://")?new Promise(function(a){a(Ha())}):fetch(Q,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+Q+"'";return a.arrayBuffer()}).catch(function(){return Ha()})}za.push({Y:function(){Ja()}});function R(){return 0<R.W}
function Na(a,b){switch(b){case 2:return function(c){return this.fromWireType(oa[c>>2])};case 3:return function(c){return this.fromWireType(pa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Oa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ca(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function Ka(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var La=void 0;function S(a){for(var b="";F[a];)b+=La[F[a++]];return b}var T={},U={},V={};function Ma(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function Pa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Qa(a,b){var c=e;if(void 0===c[a].F){var d=c[a];c[a]=function(){c[a].F.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].F+")!");return c[a].F[arguments.length].apply(this,arguments)};c[a].F=[];c[a].F[d.J]=d}} function Na(a,b){a=Ma(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Oa(a){var b=Error,c=Na(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
function Ra(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].F&&void 0!==e[a].F[c])&&T("Cannot register public name '"+a+"' twice"),Qa(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].F[c]=b):(e[a]=b,void 0!==c&&(e[a].N=c))}function Sa(a,b){for(var c=[],d=0;d<a;d++)c.push(G[(b>>2)+d]);return c} var Pa=void 0;function W(a){throw new Pa(a);}var Qa=void 0;function Ra(a,b){function c(k){k=b(k);if(k.length!==e.length)throw new Qa("Mismatched type converter count");for(var h=0;h<e.length;++h)X(e[h],k[h])}var e=[];e.forEach(function(k){V[k]=a});var f=Array(a.length),g=[],l=0;a.forEach(function(k,h){U.hasOwnProperty(k)?f[h]=U[k]:(g.push(k),T.hasOwnProperty(k)||(T[k]=[]),T[k].push(function(){f[h]=U[k];++l;l===g.length&&c(f)}))});0===g.length&&c(f)}
function Ta(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=L.get(b).apply(null,c);return d}}function Ua(a,b){a=P(a);var c=a.includes("j")?Ta(a,b):L.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Va=void 0;function Wa(a){a=Xa(a);var b=P(a);X(a);return b} function X(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||W('type "'+e+'" must have a positive integer typeid pointer');if(U.hasOwnProperty(a)){if(c.Z)return;W("Cannot register type '"+e+"' twice")}U[a]=b;delete V[a];T.hasOwnProperty(a)&&(b=T[a],delete T[a],b.forEach(function(f){f()}))}var Sa=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ya(a,b){function c(f){g[f]||R[f]||(S[f]?S[f].forEach(c):(d.push(f),g[f]=!0))}var d=[],g={};b.forEach(c);throw new Va(a+": "+d.map(Wa).join([", "]));}function Za(a,b,c){switch(b){case 0:return c?function(d){return na[d]}:function(d){return D[d]};case 1:return c?function(d){return F[d>>1]}:function(d){return E[d>>1]};case 2:return c?function(d){return G[d>>2]}:function(d){return J[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var $a={}; function Ta(a){4<a&&0===--Y[a].V&&(Y[a]=void 0,Sa.push(a))}function Ua(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Sa.length?Sa.pop():Y.length;Y[b]={V:1,value:a};return b}}function Xa(a){return this.fromWireType(L[a>>2])}function Ya(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function ab(){return"object"===typeof globalThis?globalThis:Function("return this")()}function bb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+Wa(a));return c}for(var cb={},db=[null,[],[]],eb=Array(256),Y=0;256>Y;++Y)eb[Y]=String.fromCharCode(Y);Aa=eb;Ea=e.BindingError=Da("BindingError");Fa=e.InternalError=Da("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a}; function Za(a,b){switch(b){case 2:return function(c){return this.fromWireType(ua[c>>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function $a(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Na(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
e.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Va=e.UnboundTypeError=Da("UnboundTypeError"); function ab(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function bb(a,b){var c=d;if(void 0===c[a].S){var e=c[a];c[a]=function(){c[a].S.hasOwnProperty(arguments.length)||W("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].S+")!");return c[a].S[arguments.length].apply(this,arguments)};c[a].S=[];c[a].S[e.X]=e}}
var gb={m:function(){},q:function(){},n:function(a,b,c,d,g){var f=za(c);b=P(b);U(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:g},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=na;else if(2===c)h=F;else if(4===c)h=G;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>f])},G:null})},v:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;Ka(c);return d},toWireType:function(c,d){return W(d)}, function cb(a,b,c){d.hasOwnProperty(a)?((void 0===c||void 0!==d[a].S&&void 0!==d[a].S[c])&&W("Cannot register public name '"+a+"' twice"),bb(a,a),d.hasOwnProperty(c)&&W("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),d[a].S[c]=b):(d[a]=b,void 0!==c&&(d[a].aa=c))}function db(a,b){for(var c=[],e=0;e<a;e++)c.push(I[(b>>2)+e]);return c}
argPackAdvance:8,readValueFromPointer:La,G:null})},l:function(a,b,c){c=za(c);b=P(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,g){if("number"!==typeof g&&"boolean"!==typeof g)throw new TypeError('Cannot convert "'+Ma(g)+'" to '+this.name);return g},argPackAdvance:8,readValueFromPointer:Na(b,c),G:null})},c:function(a,b,c,d,g,f){var l=Sa(b,c);a=P(a);g=Ua(d,g);Ra(a,function(){Ya("Cannot call "+a+" due to unbound types",l)},b-1);Ga(l,function(h){var p=a,k=a;h=[h[0],null].concat(h.slice(1)); function eb(a,b){a=S(a);var c=d["dynCall_"+a];for(var e=[],f=1;f<a.length;++f)e.push("a"+f);f="return function dynCall_"+(a+"_"+b)+"("+e.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n";c=(new Function("dynCall","rawFunction",f+"};\n"))(c,b);"function"!==typeof c&&W("unknown function pointer with signature "+a+": "+b);return c}var fb=void 0;function gb(a){a=hb(a);var b=S(a);Z(a);return b}
var m=g,q=h.length;2>q&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==h[1]&&!1,B=!1,n=1;n<h.length;++n)if(null!==h[n]&&void 0===h[n].G){B=!0;break}var Ha="void"!==h[0].name,H="",K="";for(n=0;n<q-2;++n)H+=(0!==n?", ":"")+"arg"+n,K+=(0!==n?", ":"")+"arg"+n+"Wired";k="return function "+Ba(k)+"("+H+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+k+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n"; function ib(a,b){function c(g){f[g]||U[g]||(V[g]?V[g].forEach(c):(e.push(g),f[g]=!0))}var e=[],f={};b.forEach(c);throw new fb(a+": "+e.map(gb).join([", "]));}function jb(a,b,c){switch(b){case 0:return c?function(e){return ta[e]}:function(e){return F[e]};case 1:return c?function(e){return H[e>>1]}:function(e){return G[e>>1]};case 2:return c?function(e){return I[e>>2]}:function(e){return L[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var kb={};
B&&(k+="var destructors = [];\n");var Ia=B?"destructors":"null";H="throwBindingError invoker fn runDestructors retType classParam".split(" ");m=[T,m,f,Pa,h[0],h[1]];x&&(k+="var thisWired = classParam.toWireType("+Ia+", this);\n");for(n=0;n<q-2;++n)k+="var arg"+n+"Wired = argType"+n+".toWireType("+Ia+", arg"+n+"); // "+h[n+2].name+"\n",H.push("argType"+n),m.push(h[n+2]);x&&(K="thisWired"+(0<K.length?", ":"")+K);k+=(Ha?"var rv = ":"")+"invoker(fn"+(0<K.length?", ":"")+K+");\n";if(B)k+="runDestructors(destructors);\n"; function lb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function mb(a,b){var c=U[a];void 0===c&&W(b+" has unknown type "+gb(a));return c}for(var nb={},ob=[null,[],[]],pb=Array(256),qb=0;256>qb;++qb)pb[qb]=String.fromCharCode(qb);La=pb;Pa=d.BindingError=Oa("BindingError");Qa=d.InternalError=Oa("InternalError");d.count_emval_handles=function(){for(var a=0,b=5;b<Y.length;++b)void 0!==Y[b]&&++a;return a};
else for(n=x?1:2;n<h.length;++n)q=1===n?"thisWired":"arg"+(n-2)+"Wired",null!==h[n].G&&(k+=q+"_dtor("+q+"); // "+h[n].name+"\n",H.push(q+"_dtor"),m.push(h[n].G));Ha&&(k+="var ret = retType.fromWireType(rv);\nreturn ret;\n");H.push(k+"}\n");h=Oa(H).apply(null,m);n=b-1;if(!e.hasOwnProperty(p))throw new Fa("Replacing nonexistant public symbol");void 0!==e[p].F&&void 0!==n?e[p].F[n]=h:(e[p]=h,e[p].J=n);return[]})},b:function(a,b,c,d,g){function f(k){return k}b=P(b);-1===g&&(g=4294967295);var l=za(c); d.get_first_emval=function(){for(var a=5;a<Y.length;++a)if(void 0!==Y[a])return Y[a];return null};fb=d.UnboundTypeError=Oa("UnboundTypeError");
if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var p=b.includes("unsigned");U(a,{name:b,fromWireType:f,toWireType:function(k,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Ma(m)+'" to '+this.name);if(m<d||m>g)throw new TypeError('Passing a number "'+Ma(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+g+"]!");return p?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:Za(b,l,0!==d),G:null})},a:function(a, var sb={n:function(a){return rb(a)},w:function(){},m:function(a){"uncaught_exception"in R?R.W++:R.W=1;throw a;},u:function(a,b,c,e,f){var g=Ka(c);b=S(b);X(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,k){return k?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var k=ta;else if(2===c)k=H;else if(4===c)k=I;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[l>>g])},T:null})},t:function(a,b){b=S(b);X(a,{name:b,fromWireType:function(c){var e=
b,c){function d(f){f>>=2;var l=J;return new g(I,l[f+1],l[f])}var g=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{K:!0})},h:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var g=J[d>>2];if(c)for(var f=d+4,l=0;l<=g;++l){var h=d+4+l;if(l==g||0==D[h]){if(f){for(var p=f+(h-f),k=f;!(k>=p)&&D[k];)++k;f=da.decode(D.subarray(f,k))}else f="";if(void 0=== Y[c].value;Ta(c);return e},toWireType:function(c,e){return Ua(e)},argPackAdvance:8,readValueFromPointer:Xa,T:null})},h:function(a,b,c){c=Ka(c);b=S(b);X(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Ya(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Za(b,c),T:null})},d:function(a,b,c,e,f,g){var l=db(b,c);a=S(a);f=eb(e,f);cb(a,function(){ib("Cannot call "+a+" due to unbound types",
m)var m=f;else m+=String.fromCharCode(0),m+=f;f=h+1}}else{m=Array(g);for(l=0;l<g;++l)m[l]=String.fromCharCode(D[d+4+l]);m=m.join("")}X(d);return m},toWireType:function(d,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var f="string"===typeof g;f||g instanceof Uint8Array||g instanceof Uint8ClampedArray||g instanceof Int8Array||T("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var k=0,m=0;m<g.length;++m){var q=g.charCodeAt(m);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|g.charCodeAt(++m)& l)},b-1);Ra(l,function(k){var h=[k[0],null].concat(k.slice(1)),n=k=a,p=f,q=h.length;2>q&&W("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var y=null!==h[1]&&!1,C=!1,m=1;m<h.length;++m)if(null!==h[m]&&void 0===h[m].T){C=!0;break}var Va="void"!==h[0].name,K="",P="";for(m=0;m<q-2;++m)K+=(0!==m?", ":"")+"arg"+m,P+=(0!==m?", ":"")+"arg"+m+"Wired";n="return function "+Ma(n)+"("+K+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+
1023);127>=q?++k:k=2047>=q?k+2:65535>=q?k+3:k+4}return k}:function(){return g.length})(),h=fb(4+l+1);J[h>>2]=l;if(c&&f)ea(g,h+4,l+1);else if(f)for(f=0;f<l;++f){var p=g.charCodeAt(f);255<p&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+f]=p}else for(f=0;f<l;++f)D[h+4+f]=g[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:La,G:function(d){X(d)}})},f:function(a,b,c){c=P(c);if(2===b){var d=ha;var g=ia;var f=ja;var l=function(){return E};var h=1}else 4=== (q-2)+" args!');\n}\n";C&&(n+="var destructors = [];\n");var Wa=C?"destructors":"null";K="throwBindingError invoker fn runDestructors retType classParam".split(" ");p=[W,p,g,ab,h[0],h[1]];y&&(n+="var thisWired = classParam.toWireType("+Wa+", this);\n");for(m=0;m<q-2;++m)n+="var arg"+m+"Wired = argType"+m+".toWireType("+Wa+", arg"+m+"); // "+h[m+2].name+"\n",K.push("argType"+m),p.push(h[m+2]);y&&(P="thisWired"+(0<P.length?", ":"")+P);n+=(Va?"var rv = ":"")+"invoker(fn"+(0<P.length?", ":"")+P+");\n";
b&&(d=ka,g=la,f=ma,l=function(){return J},h=2);U(a,{name:c,fromWireType:function(p){for(var k=J[p>>2],m=l(),q,x=p+4,B=0;B<=k;++B){var n=p+4+B*b;if(B==k||0==m[n>>h])x=d(x,n-x),void 0===q?q=x:(q+=String.fromCharCode(0),q+=x),x=n+b}X(p);return q},toWireType:function(p,k){"string"!==typeof k&&T("Cannot pass non-string to C++ string type "+c);var m=f(k),q=fb(4+m+b);J[q>>2]=m>>h;g(k,q+4,m+b);null!==p&&p.push(X,q);return q},argPackAdvance:8,readValueFromPointer:La,G:function(p){X(p)}})},o:function(a,b){b= if(C)n+="runDestructors(destructors);\n";else for(m=y?1:2;m<h.length;++m)q=1===m?"thisWired":"arg"+(m-2)+"Wired",null!==h[m].T&&(n+=q+"_dtor("+q+"); // "+h[m].name+"\n",K.push(q+"_dtor"),p.push(h[m].T));Va&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");K.push(n+"}\n");h=$a(K).apply(null,p);m=b-1;if(!d.hasOwnProperty(k))throw new Qa("Replacing nonexistant public symbol");void 0!==d[k].S&&void 0!==m?d[k].S[m]=h:(d[k]=h,d[k].X=m);return[]})},b:function(a,b,c,e,f){function g(n){return n}b=
P(b);U(a,{M:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},d:Ka,k:function(a){if(0===a)return W(ab());var b=$a[a];a=void 0===b?P(a):b;return W(ab()[a])},i:function(a){4<a&&(V[a].I+=1)},j:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var g=cb[b];if(!g){g="";for(var f=0;f<b;++f)g+=(0!==f?", ":"")+"arg"+f;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)l+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+ S(b);-1===f&&(f=4294967295);var l=Ka(c);if(0===e){var k=32-8*c;g=function(n){return n<<k>>>k}}var h=-1!=b.indexOf("unsigned");X(a,{name:b,fromWireType:g,toWireType:function(n,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+Ya(p)+'" to '+this.name);if(p<e||p>f)throw new TypeError('Passing a number "'+Ya(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+e+", "+f+"]!");return h?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:jb(b,
f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";g=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+g+");\nreturn __emval_register(obj);\n}\n")))(bb,e,W);cb[b]=g}return g(a,c,d)},g:function(){A()},s:function(a,b,c){D.copyWithin(a,b,b+c)},e:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a, l,0!==e),T:null})},a:function(a,b,c){function e(g){g>>=2;var l=L;return new f(J,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=S(c);X(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{Z:!0})},i:function(a,b){b=S(b);var c="std::string"===b;X(a,{name:b,fromWireType:function(e){var f=L[e>>2];if(c)for(var g=e+4,l=0;l<=f;++l){var k=e+4+l;if(0==F[k]||l==f){g=g?ka(F,g,k-g):"";if(void 0===h)var h=g;else h+=String.fromCharCode(0),
d);0<d%65536&&(d+=65536-d%65536);a:{try{C.grow(Math.min(2147483648,d)-I.byteLength+65535>>>16);qa();var g=1;break a}catch(f){}g=void 0}if(g)return!0}return!1},t:function(){return 0},p:function(){},u:function(a,b,c,d){for(var g=0,f=0;f<c;f++){for(var l=G[b+8*f>>2],h=G[b+(8*f+4)>>2],p=0;p<h;p++){var k=D[l+p],m=db[a];if(0===k||10===k){for(k=0;m[k]&&!(NaN<=k);)++k;k=da.decode(m.subarray?m.subarray(0,k):new Uint8Array(m.slice(0,k)));(1===a?ba:y)(k);m.length=0}else m.push(k)}g+=h}G[d>>2]=g;return 0},r:function(){}}; h+=g;g=k+1}}else{h=Array(f);for(l=0;l<f;++l)h[l]=String.fromCharCode(F[e+4+l]);h=h.join("")}Z(e);return h},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||W("Cannot pass non-string to std::string");var l=(c&&g?function(){for(var n=0,p=0;p<f.length;++p){var q=f.charCodeAt(p);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++p)&1023);127>=q?++n:n=2047>=q?n+
(function(){function a(g){e.asm=g.exports;C=e.asm.w;qa();L=e.asm.C;sa.unshift(e.asm.x);M--;e.monitorRunDependencies&&e.monitorRunDependencies(M);0==M&&(null!==va&&(clearInterval(va),va=null),N&&(g=N,N=null,g()))}function b(g){a(g.instance)}function c(g){return xa().then(function(f){return WebAssembly.instantiate(f,d)}).then(g,function(f){y("failed to asynchronously prepare wasm: "+f);A(f)})}var d={a:gb};M++;e.monitorRunDependencies&&e.monitorRunDependencies(M);if(e.instantiateWasm)try{return e.instantiateWasm(d, 2:65535>=q?n+3:n+4}return n}:function(){return f.length})(),k=rb(4+l+1);L[k>>2]=l;if(c&&g)la(f,k+4,l+1);else if(g)for(g=0;g<l;++g){var h=f.charCodeAt(g);255<h&&(Z(k),W("String has UTF-16 code units that do not fit in 8 bits"));F[k+4+g]=h}else for(g=0;g<l;++g)F[k+4+g]=f[g];null!==e&&e.push(Z,k);return k},argPackAdvance:8,readValueFromPointer:Xa,T:function(e){Z(e)}})},e:function(a,b,c){c=S(c);if(2===b){var e=na;var f=oa;var g=pa;var l=function(){return G};var k=1}else 4===b&&(e=qa,f=ra,g=sa,l=function(){return L},
a)}catch(g){return y("Module.instantiateWasm callback failed with error: "+g),!1}(function(){return z||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(f){y("wasm streaming compile failed: "+f);y("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})(); k=2);X(a,{name:c,fromWireType:function(h){for(var n=L[h>>2],p=l(),q,y=h+4,C=0;C<=n;++C){var m=h+4+C*b;if(0==p[m>>k]||C==n)y=e(y,m-y),void 0===q?q=y:(q+=String.fromCharCode(0),q+=y),y=m+b}Z(h);return q},toWireType:function(h,n){"string"!==typeof n&&W("Cannot pass non-string to C++ string type "+c);var p=g(n),q=rb(4+p+b);L[q>>2]=p>>k;f(n,q+4,p+b);null!==h&&h.push(Z,q);return q},argPackAdvance:8,readValueFromPointer:Xa,T:function(h){Z(h)}})},j:function(a,b){b=S(b);X(a,{$:!0,name:b,argPackAdvance:0,fromWireType:function(){},
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.x).apply(null,arguments)};var fb=e._malloc=function(){return(fb=e._malloc=e.asm.y).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.z).apply(null,arguments)},Xa=e.___getTypeName=function(){return(Xa=e.___getTypeName=e.asm.A).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.B).apply(null,arguments)}; toWireType:function(){}})},r:Ta,v:function(a){if(0===a)return Ua(lb());var b=kb[a];a=void 0===b?S(a):b;return Ua(lb()[a])},k:function(a){4<a&&(Y[a].V+=1)},l:function(a,b,c,e){a||W("Cannot use deleted val. handle = "+a);a=Y[a].value;var f=nb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+
e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.D).apply(null,arguments)};var Z;N=function hb(){Z||ib();Z||(N=hb)}; '");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(mb,d,Ua);nb[b]=f}return f(a,c,e)},f:function(){A()},q:function(a,b,c){F.copyWithin(a,b,b+c)},c:function(a){a>>>=0;var b=F.length;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0<e%
function ib(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!ca)){ya(sa);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();ta.unshift(b)}ya(ta)}}if(!(0<M)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)ua();ya(ra);0<M||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=ib; 65536&&(e+=65536-e%65536);a:{try{E.grow(Math.min(2147483648,e)-J.byteLength+65535>>>16);wa(E.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},s:function(){return 0},o:function(){},g:function(a,b,c,e){for(var f=0,g=0;g<c;g++){for(var l=I[b+8*g>>2],k=I[b+(8*g+4)>>2],h=0;h<k;h++){var n=F[l+h],p=ob[a];0===n||10===n?((1===a?fa:B)(ka(p,0)),p.length=0):p.push(n)}f+=k}I[e>>2]=f;return 0},memory:E,p:function(){},table:ha};
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();ib(); (function(){function a(f){d.asm=f.exports;N--;d.monitorRunDependencies&&d.monitorRunDependencies(N);0==N&&(null!==Da&&(clearInterval(Da),Da=null),O&&(f=O,O=null,f()))}function b(f){a(f.instance)}function c(f){return Ia().then(function(g){return WebAssembly.instantiate(g,e)}).then(f,function(g){B("failed to asynchronously prepare wasm: "+g);A(g)})}var e={a:sb};N++;d.monitorRunDependencies&&d.monitorRunDependencies(N);if(d.instantiateWasm)try{return d.instantiateWasm(e,a)}catch(f){return B("Module.instantiateWasm callback failed with error: "+
f),!1}(function(){if(D||"function"!==typeof WebAssembly.instantiateStreaming||Fa()||Ea("file://")||"function"!==typeof fetch)return c(b);fetch(Q,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){B("wasm streaming compile failed: "+g);B("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Ja=d.___wasm_call_ctors=function(){return(Ja=d.___wasm_call_ctors=d.asm.x).apply(null,arguments)},rb=d._malloc=function(){return(rb=d._malloc=d.asm.y).apply(null,arguments)},Z=d._free=function(){return(Z=d._free=d.asm.z).apply(null,arguments)},hb=d.___getTypeName=function(){return(hb=d.___getTypeName=d.asm.A).apply(null,arguments)};d.___embind_register_native_and_builtin_types=function(){return(d.___embind_register_native_and_builtin_types=d.asm.B).apply(null,arguments)};
d.dynCall_iiiiiif=function(){return(d.dynCall_iiiiiif=d.asm.C).apply(null,arguments)};d.dynCall_viiiiif=function(){return(d.dynCall_viiiiif=d.asm.D).apply(null,arguments)};d.dynCall_iiiiif=function(){return(d.dynCall_iiiiif=d.asm.E).apply(null,arguments)};d.dynCall_viiiif=function(){return(d.dynCall_viiiif=d.asm.F).apply(null,arguments)};d.dynCall_ii=function(){return(d.dynCall_ii=d.asm.G).apply(null,arguments)};d.dynCall_i=function(){return(d.dynCall_i=d.asm.H).apply(null,arguments)};
d.dynCall_vi=function(){return(d.dynCall_vi=d.asm.I).apply(null,arguments)};d.dynCall_iii=function(){return(d.dynCall_iii=d.asm.J).apply(null,arguments)};d.dynCall_vif=function(){return(d.dynCall_vif=d.asm.K).apply(null,arguments)};d.dynCall_iidiiii=function(){return(d.dynCall_iidiiii=d.asm.L).apply(null,arguments)};d.dynCall_vii=function(){return(d.dynCall_vii=d.asm.M).apply(null,arguments)};d.dynCall_iiii=function(){return(d.dynCall_iiii=d.asm.N).apply(null,arguments)};
d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.O).apply(null,arguments)};d.dynCall_viiiiii=function(){return(d.dynCall_viiiiii=d.asm.P).apply(null,arguments)};d.dynCall_viiiii=function(){return(d.dynCall_viiiii=d.asm.Q).apply(null,arguments)};d.dynCall_viiii=function(){return(d.dynCall_viiii=d.asm.R).apply(null,arguments)};var tb;O=function ub(){tb||vb();tb||(O=ub)};
function vb(){function a(){if(!tb&&(tb=!0,d.calledRun=!0,!ia)){M(za);M(Aa);aa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var b=d.postRun.shift();Ba.unshift(b)}M(Ba)}}if(!(0<N)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)Ca();M(ya);0<N||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}
d.run=vb;if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();noExitRuntime=!0;vb();
return Module.ready return imagequant.ready
} }
); );
})(); })();
export default Module; if (typeof exports === 'object' && typeof module === 'object')
module.exports = imagequant;
else if (typeof define === 'function' && define['amd'])
define([], function() { return imagequant; });
else if (typeof exports === 'object')
exports["imagequant"] = imagequant;

BIN
codecs/imagequant/imagequant.wasm Executable file → Normal file

Binary file not shown.

View File

@@ -1,55 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var ba,v,w,y;ba=function(a){w||(w=require("fs"));y||(y=require("path"));a=y.normalize(a);return w.readFileSync(a,null)};v=function(a){a=ba(a);a.buffer||(a=new Uint8Array(a));a.buffer||z("Assertion failed: undefined");return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);
process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",z);e.inspect=function(){return"[Emscripten Module object]"};var ca=e.print||console.log.bind(console),A=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var C;e.wasmBinary&&(C=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&z("no native wasm support detected");var D,da=!1,ea=new TextDecoder("utf8");
function fa(a,b,c){var d=E;if(0<c){c=b+c-1;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var ha=new TextDecoder("utf-16le");
function ia(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&G[c];)++c;return ha.decode(E.subarray(a,c<<1))}function ja(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var g=0;g<c;++g)H[b>>1]=a.charCodeAt(g),b+=2;H[b>>1]=0;return b-d}function ka(a){return 2*a.length}function la(a,b){for(var c=0,d="";!(c>=b/4);){var g=I[a+4*c>>2];if(0==g)break;++c;65536<=g?(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023)):d+=String.fromCharCode(g)}return d}
function ma(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}I[b>>2]=f;b+=4;if(b+4>c)break}I[b>>2]=0;return b-d}function na(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var oa,pa,E,H,G,I,K,qa,ra;
function sa(){var a=D.buffer;oa=a;e.HEAP8=pa=new Int8Array(a);e.HEAP16=H=new Int16Array(a);e.HEAP32=I=new Int32Array(a);e.HEAPU8=E=new Uint8Array(a);e.HEAPU16=G=new Uint16Array(a);e.HEAPU32=K=new Uint32Array(a);e.HEAPF32=qa=new Float32Array(a);e.HEAPF64=ra=new Float64Array(a)}var L,ta=[],ua=[],va=[];function wa(){var a=e.preRun.shift();ta.unshift(a)}var M=0,xa=null,N=null;e.preloadedImages={};e.preloadedAudios={};
function z(a){if(e.onAbort)e.onAbort(a);A(a);da=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var O=(new URL("imagequant_node.wasm",import.meta.url)).toString();function ya(){return Promise.resolve().then(function(){a:{try{if(O==O&&C){var a=new Uint8Array(C);break a}if(v){a=v(O);break a}throw"both async and sync fetching of the wasm failed";}catch(b){z(b)}a=void 0}return a})}
function za(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.L;"number"===typeof c?void 0===b.H?L.get(c)():L.get(c)(b.H):c(void 0===b.H?null:b.H)}}}function Aa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ba=void 0;function P(a){for(var b="";E[a];)b+=Ba[E[a++]];return b}var Q={},R={},S={};
function Ca(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Da(a,b){a=Ca(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ea(a){var b=Error,c=Da(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Fa=void 0;function T(a){throw new Fa(a);}var Ga=void 0;
function Ha(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ga("Mismatched type converter count");for(var k=0;k<d.length;++k)U(d[k],h[k])}var d=[];d.forEach(function(h){S[h]=a});var g=Array(a.length),f=[],l=0;a.forEach(function(h,k){R.hasOwnProperty(h)?g[k]=R[h]:(f.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){g[k]=R[h];++l;l===f.length&&c(g)}))});0===f.length&&c(g)}
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.K)return;T("Cannot register type '"+d+"' twice")}R[a]=b;delete S[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(g){g()}))}var Ka=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function La(a){4<a&&0===--V[a].I&&(V[a]=void 0,Ka.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ka.length?Ka.pop():V.length;V[b]={I:1,value:a};return b}}function Ma(a){return this.fromWireType(K[a>>2])}function Na(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Oa(a,b){switch(b){case 2:return function(c){return this.fromWireType(qa[c>>2])};case 3:return function(c){return this.fromWireType(ra[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Pa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Da(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Qa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ra(a,b){var c=e;if(void 0===c[a].F){var d=c[a];c[a]=function(){c[a].F.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].F+")!");return c[a].F[arguments.length].apply(this,arguments)};c[a].F=[];c[a].F[d.J]=d}}
function Sa(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].F&&void 0!==e[a].F[c])&&T("Cannot register public name '"+a+"' twice"),Ra(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].F[c]=b):(e[a]=b,void 0!==c&&(e[a].N=c))}function Ta(a,b){for(var c=[],d=0;d<a;d++)c.push(I[(b>>2)+d]);return c}
function Ua(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=L.get(b).apply(null,c);return d}}function Va(a,b){a=P(a);var c=a.includes("j")?Ua(a,b):L.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Wa=void 0;function Xa(a){a=Ya(a);var b=P(a);X(a);return b}
function Za(a,b){function c(f){g[f]||R[f]||(S[f]?S[f].forEach(c):(d.push(f),g[f]=!0))}var d=[],g={};b.forEach(c);throw new Wa(a+": "+d.map(Xa).join([", "]));}function $a(a,b,c){switch(b){case 0:return c?function(d){return pa[d]}:function(d){return E[d]};case 1:return c?function(d){return H[d>>1]}:function(d){return G[d>>1]};case 2:return c?function(d){return I[d>>2]}:function(d){return K[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var ab={};
function bb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function cb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+Xa(a));return c}for(var db={},eb=[null,[],[]],fb=Array(256),Y=0;256>Y;++Y)fb[Y]=String.fromCharCode(Y);Ba=fb;Fa=e.BindingError=Ea("BindingError");Ga=e.InternalError=Ea("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};
e.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Wa=e.UnboundTypeError=Ea("UnboundTypeError");
var hb={m:function(){},q:function(){},n:function(a,b,c,d,g){var f=Aa(c);b=P(b);U(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:g},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=pa;else if(2===c)h=H;else if(4===c)h=I;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>f])},G:null})},v:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;La(c);return d},toWireType:function(c,d){return W(d)},
argPackAdvance:8,readValueFromPointer:Ma,G:null})},l:function(a,b,c){c=Aa(c);b=P(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,g){if("number"!==typeof g&&"boolean"!==typeof g)throw new TypeError('Cannot convert "'+Na(g)+'" to '+this.name);return g},argPackAdvance:8,readValueFromPointer:Oa(b,c),G:null})},c:function(a,b,c,d,g,f){var l=Ta(b,c);a=P(a);g=Va(d,g);Sa(a,function(){Za("Cannot call "+a+" due to unbound types",l)},b-1);Ha(l,function(h){var k=[h[0],null].concat(h.slice(1)),
m=h=a,n=g,p=k.length;2>p&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,B=!1,q=1;q<k.length;++q)if(null!==k[q]&&void 0===k[q].G){B=!0;break}var Ia="void"!==k[0].name,F="",J="";for(q=0;q<p-2;++q)F+=(0!==q?", ":"")+"arg"+q,J+=(0!==q?", ":"")+"arg"+q+"Wired";m="return function "+Ca(m)+"("+F+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";
B&&(m+="var destructors = [];\n");var Ja=B?"destructors":"null";F="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[T,n,f,Qa,k[0],k[1]];x&&(m+="var thisWired = classParam.toWireType("+Ja+", this);\n");for(q=0;q<p-2;++q)m+="var arg"+q+"Wired = argType"+q+".toWireType("+Ja+", arg"+q+"); // "+k[q+2].name+"\n",F.push("argType"+q),n.push(k[q+2]);x&&(J="thisWired"+(0<J.length?", ":"")+J);m+=(Ia?"var rv = ":"")+"invoker(fn"+(0<J.length?", ":"")+J+");\n";if(B)m+="runDestructors(destructors);\n";
else for(q=x?1:2;q<k.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==k[q].G&&(m+=p+"_dtor("+p+"); // "+k[q].name+"\n",F.push(p+"_dtor"),n.push(k[q].G));Ia&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");F.push(m+"}\n");k=Pa(F).apply(null,n);q=b-1;if(!e.hasOwnProperty(h))throw new Ga("Replacing nonexistant public symbol");void 0!==e[h].F&&void 0!==q?e[h].F[q]=k:(e[h]=k,e[h].J=q);return[]})},b:function(a,b,c,d,g){function f(m){return m}b=P(b);-1===g&&(g=4294967295);var l=Aa(c);
if(0===d){var h=32-8*c;f=function(m){return m<<h>>>h}}var k=b.includes("unsigned");U(a,{name:b,fromWireType:f,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Na(n)+'" to '+this.name);if(n<d||n>g)throw new TypeError('Passing a number "'+Na(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+g+"]!");return k?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:$a(b,l,0!==d),G:null})},a:function(a,
b,c){function d(f){f>>=2;var l=K;return new g(oa,l[f+1],l[f])}var g=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{K:!0})},h:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var g=K[d>>2];if(c)for(var f=d+4,l=0;l<=g;++l){var h=d+4+l;if(l==g||0==E[h]){if(f){for(var k=f+(h-f),m=f;!(m>=k)&&E[m];)++m;f=ea.decode(E.subarray(f,m))}else f="";if(void 0===
n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(g);for(l=0;l<g;++l)n[l]=String.fromCharCode(E[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var f="string"===typeof g;f||g instanceof Uint8Array||g instanceof Uint8ClampedArray||g instanceof Int8Array||T("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var m=0,n=0;n<g.length;++n){var p=g.charCodeAt(n);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|g.charCodeAt(++n)&
1023);127>=p?++m:m=2047>=p?m+2:65535>=p?m+3:m+4}return m}:function(){return g.length})(),h=gb(4+l+1);K[h>>2]=l;if(c&&f)fa(g,h+4,l+1);else if(f)for(f=0;f<l;++f){var k=g.charCodeAt(f);255<k&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));E[h+4+f]=k}else for(f=0;f<l;++f)E[h+4+f]=g[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Ma,G:function(d){X(d)}})},f:function(a,b,c){c=P(c);if(2===b){var d=ia;var g=ja;var f=ka;var l=function(){return G};var h=1}else 4===
b&&(d=la,g=ma,f=na,l=function(){return K},h=2);U(a,{name:c,fromWireType:function(k){for(var m=K[k>>2],n=l(),p,x=k+4,B=0;B<=m;++B){var q=k+4+B*b;if(B==m||0==n[q>>h])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}X(k);return p},toWireType:function(k,m){"string"!==typeof m&&T("Cannot pass non-string to C++ string type "+c);var n=f(m),p=gb(4+n+b);K[p>>2]=n>>h;g(m,p+4,n+b);null!==k&&k.push(X,p);return p},argPackAdvance:8,readValueFromPointer:Ma,G:function(k){X(k)}})},o:function(a,b){b=
P(b);U(a,{M:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},d:La,k:function(a){if(0===a)return W(bb());var b=ab[a];a=void 0===b?P(a):b;return W(bb()[a])},i:function(a){4<a&&(V[a].I+=1)},j:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var g=db[b];if(!g){g="";for(var f=0;f<b;++f)g+=(0!==f?", ":"")+"arg"+f;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)l+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";g=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+g+");\nreturn __emval_register(obj);\n}\n")))(cb,e,W);db[b]=g}return g(a,c,d)},g:function(){z()},s:function(a,b,c){E.copyWithin(a,b,b+c)},e:function(a){var b=E.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
d);0<d%65536&&(d+=65536-d%65536);a:{try{D.grow(Math.min(2147483648,d)-oa.byteLength+65535>>>16);sa();var g=1;break a}catch(f){}g=void 0}if(g)return!0}return!1},t:function(){return 0},p:function(){},u:function(a,b,c,d){for(var g=0,f=0;f<c;f++){for(var l=I[b+8*f>>2],h=I[b+(8*f+4)>>2],k=0;k<h;k++){var m=E[l+k],n=eb[a];if(0===m||10===m){m=1===a?ca:A;var p;for(p=0;n[p]&&!(NaN<=p);)++p;p=ea.decode(n.subarray?n.subarray(0,p):new Uint8Array(n.slice(0,p)));m(p);n.length=0}else n.push(m)}g+=h}I[d>>2]=g;return 0},
r:function(){}};
(function(){function a(g){e.asm=g.exports;D=e.asm.w;sa();L=e.asm.C;ua.unshift(e.asm.x);M--;e.monitorRunDependencies&&e.monitorRunDependencies(M);0==M&&(null!==xa&&(clearInterval(xa),xa=null),N&&(g=N,N=null,g()))}function b(g){a(g.instance)}function c(g){return ya().then(function(f){return WebAssembly.instantiate(f,d)}).then(g,function(f){A("failed to asynchronously prepare wasm: "+f);z(f)})}var d={a:hb};M++;e.monitorRunDependencies&&e.monitorRunDependencies(M);if(e.instantiateWasm)try{return e.instantiateWasm(d,a)}catch(g){return A("Module.instantiateWasm callback failed with error: "+
g),!1}(function(){return C||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(f){A("wasm streaming compile failed: "+f);A("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.x).apply(null,arguments)};
var gb=e._malloc=function(){return(gb=e._malloc=e.asm.y).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.z).apply(null,arguments)},Ya=e.___getTypeName=function(){return(Ya=e.___getTypeName=e.asm.A).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.B).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.D).apply(null,arguments)};var Z;N=function ib(){Z||jb();Z||(N=ib)};
function jb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!da)){za(ua);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();va.unshift(b)}za(va)}}if(!(0<M)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)wa();za(ta);0<M||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=jb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();jb();
return Module.ready
}
);
})();
export default Module;

View File

@@ -1,90 +0,0 @@
CODEC_URL = https://gitlab.com/wg1/jpeg-xl.git
CODEC_VERSION = ab7c5e9b6795134377aa4846ceaae2c5bc504f76
CODEC_DIR = node_modules/jxl
CODEC_BUILD_ROOT := $(CODEC_DIR)/build
CODEC_MT_BUILD_DIR := $(CODEC_BUILD_ROOT)/mt
CODEC_MT_SIMD_BUILD_DIR := $(CODEC_BUILD_ROOT)/mt-simd
ENVIRONMENT = worker
OUT_JS = enc/jxl_enc.js enc/jxl_enc_mt.js enc/jxl_enc_mt_simd.js dec/jxl_dec.js enc/jxl_node_enc.js dec/jxl_node_dec.js
OUT_WASM = $(OUT_JS:.js=.wasm)
OUT_WORKER = $(OUT_JS:.js=.worker.js)
.PHONY: all clean
all: $(OUT_JS)
# Define dependencies for all variations of build artifacts.
$(filter enc/%,$(OUT_JS)): enc/jxl_enc.cpp
$(filter dec/%,$(OUT_JS)): dec/jxl_dec.cpp
enc/jxl_node_enc.js dec/jxl_node_dec.js: ENVIRONMENT = node
# For single-threaded build, we compile with threads enabled, but then just don't use them nor link them in.
enc/jxl_enc.js enc/jxl_node_enc.js enc/jxl_enc_mt.js dec/jxl_dec.js dec/jxl_node_dec.js: CODEC_BUILD_DIR:=$(CODEC_MT_BUILD_DIR)
enc/jxl_enc_mt_simd.js: CODEC_BUILD_DIR:=$(CODEC_MT_SIMD_BUILD_DIR)
enc/jxl_node_enc.js dec/jxl_node_dec.js enc/jxl_enc.js dec/jxl_dec.js: $(CODEC_MT_BUILD_DIR)/lib/libjxl.a
enc/jxl_enc_mt.js: $(CODEC_MT_BUILD_DIR)/lib/libjxl.a $(CODEC_MT_BUILD_DIR)/lib/libjxl_threads.a
enc/jxl_enc_mt_simd.js: $(CODEC_MT_SIMD_BUILD_DIR)/lib/libjxl.a $(CODEC_MT_SIMD_BUILD_DIR)/lib/libjxl_threads.a
# Disable errors on deprecated SIMD intrinsics.
# JPEG-XL & Highway need to catch up, once they do, we can remove this suppression.
export CXXFLAGS += -Wno-deprecated-declarations
# Compile multithreaded wrappers with -pthread.
enc/jxl_enc_mt.js enc/jxl_enc_mt_simd.js: CXXFLAGS+=-pthread
$(OUT_JS):
$(CXX) \
$(CXXFLAGS) \
$(LDFLAGS) \
-I $(CODEC_DIR) \
-I $(CODEC_DIR)/lib \
-I $(CODEC_DIR)/lib/include \
-I $(CODEC_BUILD_DIR)/lib/include \
-I $(CODEC_DIR)/third_party/highway \
-I $(CODEC_DIR)/third_party/skcms \
--bind \
-s ENVIRONMENT=$(ENVIRONMENT) \
-s EXPORT_ES6=1 \
-o $@ \
$+ \
$(CODEC_BUILD_DIR)/third_party/brotli/libbrotlidec-static.a \
$(CODEC_BUILD_DIR)/third_party/brotli/libbrotlienc-static.a \
$(CODEC_BUILD_DIR)/third_party/brotli/libbrotlicommon-static.a \
$(CODEC_BUILD_DIR)/third_party/libskcms.a \
$(CODEC_BUILD_DIR)/third_party/highway/libhwy.a
%/lib/libjxl.a: %/Makefile
$(MAKE) -C $(<D) jxl-static
%/lib/libjxl_threads.a: %/Makefile
$(MAKE) -C $(<D) jxl_threads-static
# Enable SIMD on a SIMD build.
$(CODEC_MT_SIMD_BUILD_DIR)/Makefile: CXXFLAGS+=-msimd128
%/Makefile: $(CODEC_DIR)/CMakeLists.txt
emcmake cmake \
$(CMAKE_FLAGS) \
-DBUILD_SHARED_LIBS=0 \
-DJPEGXL_ENABLE_BENCHMARK=0 \
-DJPEGXL_ENABLE_EXAMPLES=0 \
-DBUILD_TESTING=0 \
-DCMAKE_CROSSCOMPILING_EMULATOR=node \
-B $(@D) \
$(<D)
$(CODEC_DIR)/CMakeLists.txt:
$(RM) -r $(@D)
git init $(@D)
git -C $(@D) fetch $(CODEC_URL) $(CODEC_VERSION) --depth 1
git -C $(@D) checkout FETCH_HEAD
git -C $(@D) submodule update --init --depth 1 --recursive --jobs `nproc`
clean:
$(RM) $(OUT_JS) $(OUT_WASM) $(OUT_WORKER)
$(MAKE) -C $(CODEC_BUILD_DIR) clean
$(MAKE) -C $(CODEC_MT_BUILD_DIR) clean
$(MAKE) -C $(CODEC_MT_SIMD_BUILD_DIR) clean

View File

@@ -1,99 +0,0 @@
#include <emscripten/bind.h>
#include <emscripten/val.h>
#include <jxl/decode.h>
#include "lib/jxl/color_encoding_internal.h"
#include "skcms.h"
using namespace emscripten;
thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray");
thread_local const val ImageData = val::global("ImageData");
// R, G, B, A
#define COMPONENTS_PER_PIXEL 4
#ifndef JXL_DEBUG_ON_ALL_ERROR
#define JXL_DEBUG_ON_ALL_ERROR 0
#endif
#if JXL_DEBUG_ON_ALL_ERROR
#define EXPECT_TRUE(a) \
if (!(a)) { \
fprintf(stderr, "Assertion failure (%d): %s\n", __LINE__, #a); \
return val::null(); \
}
#define EXPECT_EQ(a, b) \
{ \
int a_ = a; \
int b_ = b; \
if (a_ != b_) { \
fprintf(stderr, "Assertion failure (%d): %s (%d) != %s (%d)\n", __LINE__, #a, a_, #b, b_); \
return val::null(); \
} \
}
#else
#define EXPECT_TRUE(a) \
if (!(a)) { \
return val::null(); \
}
#define EXPECT_EQ(a, b) EXPECT_TRUE((a) == (b));
#endif
val decode(std::string data) {
std::unique_ptr<JxlDecoder,
std::integral_constant<decltype(&JxlDecoderDestroy), JxlDecoderDestroy>>
dec(JxlDecoderCreate(nullptr));
EXPECT_EQ(JXL_DEC_SUCCESS,
JxlDecoderSubscribeEvents(
dec.get(), JXL_DEC_BASIC_INFO | JXL_DEC_COLOR_ENCODING | JXL_DEC_FULL_IMAGE));
auto next_in = (const uint8_t*)data.c_str();
auto avail_in = data.size();
JxlDecoderSetInput(dec.get(), next_in, avail_in);
EXPECT_EQ(JXL_DEC_BASIC_INFO, JxlDecoderProcessInput(dec.get()));
JxlBasicInfo info;
EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderGetBasicInfo(dec.get(), &info));
size_t pixel_count = info.xsize * info.ysize;
size_t component_count = pixel_count * COMPONENTS_PER_PIXEL;
EXPECT_EQ(JXL_DEC_COLOR_ENCODING, JxlDecoderProcessInput(dec.get()));
static const JxlPixelFormat format = {COMPONENTS_PER_PIXEL, JXL_TYPE_FLOAT, JXL_LITTLE_ENDIAN, 0};
size_t icc_size;
EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderGetICCProfileSize(dec.get(), &format,
JXL_COLOR_PROFILE_TARGET_DATA, &icc_size));
std::vector<uint8_t> icc_profile(icc_size);
EXPECT_EQ(JXL_DEC_SUCCESS,
JxlDecoderGetColorAsICCProfile(dec.get(), &format, JXL_COLOR_PROFILE_TARGET_DATA,
icc_profile.data(), icc_profile.size()));
EXPECT_EQ(JXL_DEC_NEED_IMAGE_OUT_BUFFER, JxlDecoderProcessInput(dec.get()));
size_t buffer_size;
EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderImageOutBufferSize(dec.get(), &format, &buffer_size));
EXPECT_EQ(buffer_size, component_count * sizeof(float));
auto float_pixels = std::make_unique<float[]>(component_count);
EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderSetImageOutBuffer(dec.get(), &format, float_pixels.get(),
component_count * sizeof(float)));
EXPECT_EQ(JXL_DEC_FULL_IMAGE, JxlDecoderProcessInput(dec.get()));
auto byte_pixels = std::make_unique<uint8_t[]>(component_count);
// Convert to sRGB.
skcms_ICCProfile jxl_profile;
EXPECT_TRUE(skcms_Parse(icc_profile.data(), icc_profile.size(), &jxl_profile));
EXPECT_TRUE(skcms_Transform(
float_pixels.get(), skcms_PixelFormat_RGBA_ffff,
info.alpha_premultiplied ? skcms_AlphaFormat_PremulAsEncoded : skcms_AlphaFormat_Unpremul,
&jxl_profile, byte_pixels.get(), skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul,
skcms_sRGB_profile(), pixel_count));
return ImageData.new_(
Uint8ClampedArray.new_(typed_memory_view(component_count, byte_pixels.get())), info.xsize,
info.ysize);
}
EMSCRIPTEN_BINDINGS(my_module) {
function("decode", &decode);
}

View File

@@ -1,7 +0,0 @@
export interface JXLModule extends EmscriptenWasm.Module {
decode(data: BufferSource): ImageData | null;
}
declare var moduleFactory: EmscriptenWasm.ModuleFactory<JXLModule>;
export default moduleFactory;

View File

@@ -1,56 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var ba="./this.program",v="",w;v=self.location.href;_scriptDir&&(v=_scriptDir);0!==v.indexOf("blob:")?v=v.substr(0,v.lastIndexOf("/")+1):v="";w=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};
var ca=e.print||console.log.bind(console),y=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;e.thisProgram&&(ba=e.thisProgram);var z;e.wasmBinary&&(z=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&A("no native wasm support detected");var C,da=!1,ea=new TextDecoder("utf8");
function fa(a,b,c){var d=D;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var ha=new TextDecoder("utf-16le");
function ia(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&E[c];)++c;return ha.decode(D.subarray(a,c<<1))}function ja(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)F[b>>1]=a.charCodeAt(f),b+=2;F[b>>1]=0;return b-d}function ka(a){return 2*a.length}function la(a,b){for(var c=0,d="";!(c>=b/4);){var f=G[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
function ma(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}G[b>>2]=g;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}function na(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var oa,I,D,F,E,G,J,pa,qa;
function ra(){var a=C.buffer;oa=a;e.HEAP8=I=new Int8Array(a);e.HEAP16=F=new Int16Array(a);e.HEAP32=G=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=E=new Uint16Array(a);e.HEAPU32=J=new Uint32Array(a);e.HEAPF32=pa=new Float32Array(a);e.HEAPF64=qa=new Float64Array(a)}var L,sa=[],ta=[],ua=[];function va(){var a=e.preRun.shift();sa.unshift(a)}var M=0,wa=null,N=null;e.preloadedImages={};e.preloadedAudios={};
function A(a){if(e.onAbort)e.onAbort(a);y(a);da=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var O=(new URL("jxl_dec.wasm",import.meta.url)).toString();function xa(){try{if(O==O&&z)return new Uint8Array(z);if(w)return w(O);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}
function ya(){return z||"function"!==typeof fetch?Promise.resolve().then(function(){return xa()}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return xa()})}function za(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.N;"number"===typeof c?void 0===b.J?L.get(c)():L.get(c)(b.J):c(void 0===b.J?null:b.J)}}}
function Aa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ba=void 0;function P(a){for(var b="";D[a];)b+=Ba[D[a++]];return b}var Q={},R={},S={};function Ca(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function Da(a,b){a=Ca(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ea(a){var b=Error,c=Da(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var Fa=void 0;function T(a){throw new Fa(a);}var Ga=void 0;function Ha(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ga("Mismatched type converter count");for(var p=0;p<d.length;++p)U(d[p],h[p])}var d=[];d.forEach(function(h){S[h]=a});var f=Array(a.length),g=[],l=0;a.forEach(function(h,p){R.hasOwnProperty(h)?f[p]=R[h]:(g.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){f[p]=R[h];++l;l===g.length&&c(f)}))});0===g.length&&c(f)}
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.M)return;T("Cannot register type '"+d+"' twice")}R[a]=b;delete S[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(f){f()}))}var Ia=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ja(a){4<a&&0===--V[a].K&&(V[a]=void 0,Ia.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ia.length?Ia.pop():V.length;V[b]={K:1,value:a};return b}}function Ka(a){return this.fromWireType(J[a>>2])}function Na(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Oa(a,b){switch(b){case 2:return function(c){return this.fromWireType(pa[c>>2])};case 3:return function(c){return this.fromWireType(qa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Pa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Da(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Qa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ra(a,b){var c=e;if(void 0===c[a].H){var d=c[a];c[a]=function(){c[a].H.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].H+")!");return c[a].H[arguments.length].apply(this,arguments)};c[a].H=[];c[a].H[d.L]=d}}
function Sa(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].H&&void 0!==e[a].H[c])&&T("Cannot register public name '"+a+"' twice"),Ra(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].H[c]=b):(e[a]=b,void 0!==c&&(e[a].P=c))}function Ta(a,b){for(var c=[],d=0;d<a;d++)c.push(G[(b>>2)+d]);return c}
function Ua(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=L.get(b).apply(null,c);return d}}function Va(a,b){a=P(a);var c=a.includes("j")?Ua(a,b):L.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Wa=void 0;function Xa(a){a=Ya(a);var b=P(a);X(a);return b}
function Za(a,b){function c(g){f[g]||R[g]||(S[g]?S[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Wa(a+": "+d.map(Xa).join([", "]));}function $a(a,b,c){switch(b){case 0:return c?function(d){return I[d]}:function(d){return D[d]};case 1:return c?function(d){return F[d>>1]}:function(d){return E[d>>1]};case 2:return c?function(d){return G[d>>2]}:function(d){return J[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var ab={};
function bb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function cb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+Xa(a));return c}var db={},eb={};function fb(){if(!gb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ba||"./this.program"},b;for(b in eb)a[b]=eb[b];var c=[];for(b in a)c.push(b+"="+a[b]);gb=c}return gb}
for(var gb,hb=[null,[],[]],ib=Array(256),Y=0;256>Y;++Y)ib[Y]=String.fromCharCode(Y);Ba=ib;Fa=e.BindingError=Ea("BindingError");Ga=e.InternalError=Ea("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};e.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Wa=e.UnboundTypeError=Ea("UnboundTypeError");
var kb={l:function(){},q:function(){},m:function(a,b,c,d,f){var g=Aa(c);b=P(b);U(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=I;else if(2===c)h=F;else if(4===c)h=G;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>g])},I:null})},x:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;Ja(c);return d},toWireType:function(c,d){return W(d)},
argPackAdvance:8,readValueFromPointer:Ka,I:null})},j:function(a,b,c){c=Aa(c);b=P(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Na(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Oa(b,c),I:null})},o:function(a,b,c,d,f,g){var l=Ta(b,c);a=P(a);f=Va(d,f);Sa(a,function(){Za("Cannot call "+a+" due to unbound types",l)},b-1);Ha(l,function(h){var p=a,k=a;h=[h[0],null].concat(h.slice(1));
var m=f,q=h.length;2>q&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==h[1]&&!1,B=!1,n=1;n<h.length;++n)if(null!==h[n]&&void 0===h[n].I){B=!0;break}var La="void"!==h[0].name,H="",K="";for(n=0;n<q-2;++n)H+=(0!==n?", ":"")+"arg"+n,K+=(0!==n?", ":"")+"arg"+n+"Wired";k="return function "+Ca(k)+"("+H+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+k+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n";
B&&(k+="var destructors = [];\n");var Ma=B?"destructors":"null";H="throwBindingError invoker fn runDestructors retType classParam".split(" ");m=[T,m,g,Qa,h[0],h[1]];x&&(k+="var thisWired = classParam.toWireType("+Ma+", this);\n");for(n=0;n<q-2;++n)k+="var arg"+n+"Wired = argType"+n+".toWireType("+Ma+", arg"+n+"); // "+h[n+2].name+"\n",H.push("argType"+n),m.push(h[n+2]);x&&(K="thisWired"+(0<K.length?", ":"")+K);k+=(La?"var rv = ":"")+"invoker(fn"+(0<K.length?", ":"")+K+");\n";if(B)k+="runDestructors(destructors);\n";
else for(n=x?1:2;n<h.length;++n)q=1===n?"thisWired":"arg"+(n-2)+"Wired",null!==h[n].I&&(k+=q+"_dtor("+q+"); // "+h[n].name+"\n",H.push(q+"_dtor"),m.push(h[n].I));La&&(k+="var ret = retType.fromWireType(rv);\nreturn ret;\n");H.push(k+"}\n");h=Pa(H).apply(null,m);n=b-1;if(!e.hasOwnProperty(p))throw new Ga("Replacing nonexistant public symbol");void 0!==e[p].H&&void 0!==n?e[p].H[n]=h:(e[p]=h,e[p].L=n);return[]})},c:function(a,b,c,d,f){function g(k){return k}b=P(b);-1===f&&(f=4294967295);var l=Aa(c);
if(0===d){var h=32-8*c;g=function(k){return k<<h>>>h}}var p=b.includes("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(k,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Na(m)+'" to '+this.name);if(m<d||m>f)throw new TypeError('Passing a number "'+Na(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return p?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:$a(b,l,0!==d),I:null})},b:function(a,
b,c){function d(g){g>>=2;var l=J;return new f(oa,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{M:!0})},g:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=J[d>>2];if(c)for(var g=d+4,l=0;l<=f;++l){var h=d+4+l;if(l==f||0==D[h]){if(g){for(var p=g+(h-g),k=g;!(k>=p)&&D[k];)++k;g=ea.decode(D.subarray(g,k))}else g="";if(void 0===
m)var m=g;else m+=String.fromCharCode(0),m+=g;g=h+1}}else{m=Array(f);for(l=0;l<f;++l)m[l]=String.fromCharCode(D[d+4+l]);m=m.join("")}X(d);return m},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||T("Cannot pass non-string to std::string");var l=(c&&g?function(){for(var k=0,m=0;m<f.length;++m){var q=f.charCodeAt(m);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++m)&
1023);127>=q?++k:k=2047>=q?k+2:65535>=q?k+3:k+4}return k}:function(){return f.length})(),h=jb(4+l+1);J[h>>2]=l;if(c&&g)fa(f,h+4,l+1);else if(g)for(g=0;g<l;++g){var p=f.charCodeAt(g);255<p&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+g]=p}else for(g=0;g<l;++g)D[h+4+g]=f[g];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Ka,I:function(d){X(d)}})},f:function(a,b,c){c=P(c);if(2===b){var d=ia;var f=ja;var g=ka;var l=function(){return E};var h=1}else 4===
b&&(d=la,f=ma,g=na,l=function(){return J},h=2);U(a,{name:c,fromWireType:function(p){for(var k=J[p>>2],m=l(),q,x=p+4,B=0;B<=k;++B){var n=p+4+B*b;if(B==k||0==m[n>>h])x=d(x,n-x),void 0===q?q=x:(q+=String.fromCharCode(0),q+=x),x=n+b}X(p);return q},toWireType:function(p,k){"string"!==typeof k&&T("Cannot pass non-string to C++ string type "+c);var m=g(k),q=jb(4+m+b);J[q>>2]=m>>h;f(k,q+4,m+b);null!==p&&p.push(X,q);return q},argPackAdvance:8,readValueFromPointer:Ka,I:function(p){X(p)}})},n:function(a,b){b=
P(b);U(a,{O:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},d:Ja,k:function(a){if(0===a)return W(bb());var b=ab[a];a=void 0===b?P(a):b;return W(bb()[a])},h:function(a){4<a&&(V[a].K+=1)},i:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var f=db[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(cb,e,W);db[b]=f}return f(a,c,d)},a:function(){A()},s:function(a,b,c){D.copyWithin(a,b,b+c)},e:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
d);0<d%65536&&(d+=65536-d%65536);a:{try{C.grow(Math.min(2147483648,d)-oa.byteLength+65535>>>16);ra();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},t:function(a,b){var c=0;fb().forEach(function(d,f){var g=b+c;f=G[a+4*f>>2]=g;for(g=0;g<d.length;++g)I[f++>>0]=d.charCodeAt(g);I[f>>0]=0;c+=d.length+1});return 0},u:function(a,b){var c=fb();G[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});G[b>>2]=d;return 0},v:function(){return 0},p:function(){},w:function(a,b,c,d){for(var f=0,
g=0;g<c;g++){for(var l=G[b+8*g>>2],h=G[b+(8*g+4)>>2],p=0;p<h;p++){var k=D[l+p],m=hb[a];if(0===k||10===k){for(k=0;m[k]&&!(NaN<=k);)++k;k=ea.decode(m.subarray?m.subarray(0,k):new Uint8Array(m.slice(0,k)));(1===a?ca:y)(k);m.length=0}else m.push(k)}f+=h}G[d>>2]=f;return 0},r:function(){}};
(function(){function a(f){e.asm=f.exports;C=e.asm.y;ra();L=e.asm.E;ta.unshift(e.asm.z);M--;e.monitorRunDependencies&&e.monitorRunDependencies(M);0==M&&(null!==wa&&(clearInterval(wa),wa=null),N&&(f=N,N=null,f()))}function b(f){a(f.instance)}function c(f){return ya().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){y("failed to asynchronously prepare wasm: "+g);A(g)})}var d={a:kb};M++;e.monitorRunDependencies&&e.monitorRunDependencies(M);if(e.instantiateWasm)try{return e.instantiateWasm(d,
a)}catch(f){return y("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return z||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){y("wasm streaming compile failed: "+g);y("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.z).apply(null,arguments)};var jb=e._malloc=function(){return(jb=e._malloc=e.asm.A).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.B).apply(null,arguments)},Ya=e.___getTypeName=function(){return(Ya=e.___getTypeName=e.asm.C).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.D).apply(null,arguments)};
e.dynCall_iiji=function(){return(e.dynCall_iiji=e.asm.F).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.G).apply(null,arguments)};var Z;N=function lb(){Z||mb();Z||(N=lb)};
function mb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!da)){za(ta);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();ua.unshift(b)}za(ua)}}if(!(0<M)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)va();za(sa);0<M||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=mb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();mb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1,56 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var v="./this.program",ba,w,y,ca;ba=function(a){y||(y=require("fs"));ca||(ca=require("path"));a=ca.normalize(a);return y.readFileSync(a,null)};w=function(a){a=ba(a);a.buffer||(a=new Uint8Array(a));a.buffer||z("Assertion failed: undefined");return a};1<process.argv.length&&(v=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);
process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",z);e.inspect=function(){return"[Emscripten Module object]"};var da=e.print||console.log.bind(console),A=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;e.thisProgram&&(v=e.thisProgram);var C;e.wasmBinary&&(C=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&z("no native wasm support detected");var ea,fa=!1,ha=new TextDecoder("utf8");
function ia(a,b,c){var d=D;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var ja=new TextDecoder("utf-16le");
function ka(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&E[c];)++c;return ja.decode(D.subarray(a,c<<1))}function la(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)G[b>>1]=a.charCodeAt(f),b+=2;G[b>>1]=0;return b-d}function ma(a){return 2*a.length}function na(a,b){for(var c=0,d="";!(c>=b/4);){var f=H[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
function oa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}H[b>>2]=g;b+=4;if(b+4>c)break}H[b>>2]=0;return b-d}function pa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var qa,I,D,G,E,H,K,ra,sa;
function ta(){var a=ea.buffer;qa=a;e.HEAP8=I=new Int8Array(a);e.HEAP16=G=new Int16Array(a);e.HEAP32=H=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=E=new Uint16Array(a);e.HEAPU32=K=new Uint32Array(a);e.HEAPF32=ra=new Float32Array(a);e.HEAPF64=sa=new Float64Array(a)}var L,ua=[],va=[],wa=[];function xa(){var a=e.preRun.shift();ua.unshift(a)}var M=0,ya=null,N=null;e.preloadedImages={};e.preloadedAudios={};
function z(a){if(e.onAbort)e.onAbort(a);A(a);fa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var O=(new URL("jxl_node_dec.wasm",import.meta.url)).toString();function za(){return Promise.resolve().then(function(){a:{try{if(O==O&&C){var a=new Uint8Array(C);break a}if(w){a=w(O);break a}throw"both async and sync fetching of the wasm failed";}catch(b){z(b)}a=void 0}return a})}
function Aa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.N;"number"===typeof c?void 0===b.J?L.get(c)():L.get(c)(b.J):c(void 0===b.J?null:b.J)}}}function Ba(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ca=void 0;function P(a){for(var b="";D[a];)b+=Ca[D[a++]];return b}var Q={},R={},S={};
function Da(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ea(a,b){a=Da(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Fa(a){var b=Error,c=Ea(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ga=void 0;function T(a){throw new Ga(a);}var Ha=void 0;
function Ia(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ha("Mismatched type converter count");for(var k=0;k<d.length;++k)U(d[k],h[k])}var d=[];d.forEach(function(h){S[h]=a});var f=Array(a.length),g=[],l=0;a.forEach(function(h,k){R.hasOwnProperty(h)?f[k]=R[h]:(g.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){f[k]=R[h];++l;l===g.length&&c(f)}))});0===g.length&&c(f)}
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.M)return;T("Cannot register type '"+d+"' twice")}R[a]=b;delete S[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(f){f()}))}var Ja=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ka(a){4<a&&0===--V[a].K&&(V[a]=void 0,Ja.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ja.length?Ja.pop():V.length;V[b]={K:1,value:a};return b}}function La(a){return this.fromWireType(K[a>>2])}function Oa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Pa(a,b){switch(b){case 2:return function(c){return this.fromWireType(ra[c>>2])};case 3:return function(c){return this.fromWireType(sa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Qa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ea(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Ra(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Sa(a,b){var c=e;if(void 0===c[a].H){var d=c[a];c[a]=function(){c[a].H.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].H+")!");return c[a].H[arguments.length].apply(this,arguments)};c[a].H=[];c[a].H[d.L]=d}}
function Ta(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].H&&void 0!==e[a].H[c])&&T("Cannot register public name '"+a+"' twice"),Sa(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].H[c]=b):(e[a]=b,void 0!==c&&(e[a].P=c))}function Ua(a,b){for(var c=[],d=0;d<a;d++)c.push(H[(b>>2)+d]);return c}
function Va(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=L.get(b).apply(null,c);return d}}function Wa(a,b){a=P(a);var c=a.includes("j")?Va(a,b):L.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Xa=void 0;function Ya(a){a=Za(a);var b=P(a);X(a);return b}
function $a(a,b){function c(g){f[g]||R[g]||(S[g]?S[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Xa(a+": "+d.map(Ya).join([", "]));}function ab(a,b,c){switch(b){case 0:return c?function(d){return I[d]}:function(d){return D[d]};case 1:return c?function(d){return G[d>>1]}:function(d){return E[d>>1]};case 2:return c?function(d){return H[d>>2]}:function(d){return K[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var bb={};
function cb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function db(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+Ya(a));return c}var eb={},fb={};function gb(){if(!hb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:v||"./this.program"},b;for(b in fb)a[b]=fb[b];var c=[];for(b in a)c.push(b+"="+a[b]);hb=c}return hb}
for(var hb,ib=[null,[],[]],jb=Array(256),Y=0;256>Y;++Y)jb[Y]=String.fromCharCode(Y);Ca=jb;Ga=e.BindingError=Fa("BindingError");Ha=e.InternalError=Fa("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};e.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Xa=e.UnboundTypeError=Fa("UnboundTypeError");
var lb={l:function(){},q:function(){},m:function(a,b,c,d,f){var g=Ba(c);b=P(b);U(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=I;else if(2===c)h=G;else if(4===c)h=H;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>g])},I:null})},x:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;Ka(c);return d},toWireType:function(c,d){return W(d)},
argPackAdvance:8,readValueFromPointer:La,I:null})},j:function(a,b,c){c=Ba(c);b=P(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Oa(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Pa(b,c),I:null})},o:function(a,b,c,d,f,g){var l=Ua(b,c);a=P(a);f=Wa(d,f);Ta(a,function(){$a("Cannot call "+a+" due to unbound types",l)},b-1);Ia(l,function(h){var k=[h[0],null].concat(h.slice(1)),
m=h=a,n=f,p=k.length;2>p&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,B=!1,q=1;q<k.length;++q)if(null!==k[q]&&void 0===k[q].I){B=!0;break}var Ma="void"!==k[0].name,F="",J="";for(q=0;q<p-2;++q)F+=(0!==q?", ":"")+"arg"+q,J+=(0!==q?", ":"")+"arg"+q+"Wired";m="return function "+Da(m)+"("+F+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";
B&&(m+="var destructors = [];\n");var Na=B?"destructors":"null";F="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[T,n,g,Ra,k[0],k[1]];x&&(m+="var thisWired = classParam.toWireType("+Na+", this);\n");for(q=0;q<p-2;++q)m+="var arg"+q+"Wired = argType"+q+".toWireType("+Na+", arg"+q+"); // "+k[q+2].name+"\n",F.push("argType"+q),n.push(k[q+2]);x&&(J="thisWired"+(0<J.length?", ":"")+J);m+=(Ma?"var rv = ":"")+"invoker(fn"+(0<J.length?", ":"")+J+");\n";if(B)m+="runDestructors(destructors);\n";
else for(q=x?1:2;q<k.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==k[q].I&&(m+=p+"_dtor("+p+"); // "+k[q].name+"\n",F.push(p+"_dtor"),n.push(k[q].I));Ma&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");F.push(m+"}\n");k=Qa(F).apply(null,n);q=b-1;if(!e.hasOwnProperty(h))throw new Ha("Replacing nonexistant public symbol");void 0!==e[h].H&&void 0!==q?e[h].H[q]=k:(e[h]=k,e[h].L=q);return[]})},c:function(a,b,c,d,f){function g(m){return m}b=P(b);-1===f&&(f=4294967295);var l=Ba(c);
if(0===d){var h=32-8*c;g=function(m){return m<<h>>>h}}var k=b.includes("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Oa(n)+'" to '+this.name);if(n<d||n>f)throw new TypeError('Passing a number "'+Oa(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return k?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:ab(b,l,0!==d),I:null})},b:function(a,
b,c){function d(g){g>>=2;var l=K;return new f(qa,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{M:!0})},g:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=K[d>>2];if(c)for(var g=d+4,l=0;l<=f;++l){var h=d+4+l;if(l==f||0==D[h]){if(g){for(var k=g+(h-g),m=g;!(m>=k)&&D[m];)++m;g=ha.decode(D.subarray(g,m))}else g="";if(void 0===
n)var n=g;else n+=String.fromCharCode(0),n+=g;g=h+1}}else{n=Array(f);for(l=0;l<f;++l)n[l]=String.fromCharCode(D[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||T("Cannot pass non-string to std::string");var l=(c&&g?function(){for(var m=0,n=0;n<f.length;++n){var p=f.charCodeAt(n);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|f.charCodeAt(++n)&
1023);127>=p?++m:m=2047>=p?m+2:65535>=p?m+3:m+4}return m}:function(){return f.length})(),h=kb(4+l+1);K[h>>2]=l;if(c&&g)ia(f,h+4,l+1);else if(g)for(g=0;g<l;++g){var k=f.charCodeAt(g);255<k&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+g]=k}else for(g=0;g<l;++g)D[h+4+g]=f[g];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:La,I:function(d){X(d)}})},f:function(a,b,c){c=P(c);if(2===b){var d=ka;var f=la;var g=ma;var l=function(){return E};var h=1}else 4===
b&&(d=na,f=oa,g=pa,l=function(){return K},h=2);U(a,{name:c,fromWireType:function(k){for(var m=K[k>>2],n=l(),p,x=k+4,B=0;B<=m;++B){var q=k+4+B*b;if(B==m||0==n[q>>h])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}X(k);return p},toWireType:function(k,m){"string"!==typeof m&&T("Cannot pass non-string to C++ string type "+c);var n=g(m),p=kb(4+n+b);K[p>>2]=n>>h;f(m,p+4,n+b);null!==k&&k.push(X,p);return p},argPackAdvance:8,readValueFromPointer:La,I:function(k){X(k)}})},n:function(a,b){b=
P(b);U(a,{O:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},d:Ka,k:function(a){if(0===a)return W(cb());var b=bb[a];a=void 0===b?P(a):b;return W(cb()[a])},h:function(a){4<a&&(V[a].K+=1)},i:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var f=eb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(db,e,W);eb[b]=f}return f(a,c,d)},a:function(){z()},s:function(a,b,c){D.copyWithin(a,b,b+c)},e:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
d);0<d%65536&&(d+=65536-d%65536);a:{try{ea.grow(Math.min(2147483648,d)-qa.byteLength+65535>>>16);ta();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},t:function(a,b){var c=0;gb().forEach(function(d,f){var g=b+c;f=H[a+4*f>>2]=g;for(g=0;g<d.length;++g)I[f++>>0]=d.charCodeAt(g);I[f>>0]=0;c+=d.length+1});return 0},u:function(a,b){var c=gb();H[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});H[b>>2]=d;return 0},v:function(){return 0},p:function(){},w:function(a,b,c,d){for(var f=
0,g=0;g<c;g++){for(var l=H[b+8*g>>2],h=H[b+(8*g+4)>>2],k=0;k<h;k++){var m=D[l+k],n=ib[a];if(0===m||10===m){m=1===a?da:A;var p;for(p=0;n[p]&&!(NaN<=p);)++p;p=ha.decode(n.subarray?n.subarray(0,p):new Uint8Array(n.slice(0,p)));m(p);n.length=0}else n.push(m)}f+=h}H[d>>2]=f;return 0},r:function(){}};
(function(){function a(f){e.asm=f.exports;ea=e.asm.y;ta();L=e.asm.E;va.unshift(e.asm.z);M--;e.monitorRunDependencies&&e.monitorRunDependencies(M);0==M&&(null!==ya&&(clearInterval(ya),ya=null),N&&(f=N,N=null,f()))}function b(f){a(f.instance)}function c(f){return za().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){A("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:lb};M++;e.monitorRunDependencies&&e.monitorRunDependencies(M);if(e.instantiateWasm)try{return e.instantiateWasm(d,
a)}catch(f){return A("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return C||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){A("wasm streaming compile failed: "+g);A("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.z).apply(null,arguments)};var kb=e._malloc=function(){return(kb=e._malloc=e.asm.A).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.B).apply(null,arguments)},Za=e.___getTypeName=function(){return(Za=e.___getTypeName=e.asm.C).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.D).apply(null,arguments)};
e.dynCall_iiji=function(){return(e.dynCall_iiji=e.asm.F).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.G).apply(null,arguments)};var Z;N=function mb(){Z||nb();Z||(N=mb)};
function nb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!fa)){Aa(va);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();wa.unshift(b)}Aa(wa)}}if(!(0<M)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)xa();Aa(ua);0<M||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=nb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();nb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1,122 +0,0 @@
#include <emscripten/bind.h>
#include <emscripten/val.h>
#include "lib/jxl/base/thread_pool_internal.h"
#include "lib/jxl/enc_external_image.h"
#include "lib/jxl/enc_file.h"
using namespace emscripten;
thread_local const val Uint8Array = val::global("Uint8Array");
struct JXLOptions {
// 1 = slowest
// 7 = fastest
int speed;
float quality;
bool progressive;
int epf;
int nearLossless;
bool lossyPalette;
size_t decodingSpeedTier;
};
val encode(std::string image, int width, int height, JXLOptions options) {
jxl::CompressParams cparams;
jxl::PassesEncoderState passes_enc_state;
jxl::CodecInOut io;
jxl::PaddedBytes bytes;
jxl::ImageBundle* main = &io.Main();
jxl::ThreadPoolInternal* pool_ptr = nullptr;
#ifdef __EMSCRIPTEN_PTHREADS__
jxl::ThreadPoolInternal pool;
pool_ptr = &pool;
#endif
cparams.epf = options.epf;
cparams.speed_tier = static_cast<jxl::SpeedTier>(options.speed);
cparams.near_lossless = options.nearLossless;
cparams.decoding_speed_tier = options.decodingSpeedTier;
if (options.lossyPalette) {
cparams.lossy_palette = true;
cparams.palette_colors = 0;
cparams.options.predictor = jxl::Predictor::Zero;
}
float quality = options.quality;
// Quality settings roughly match libjpeg qualities.
if (quality < 7 || quality == 100) {
cparams.modular_mode = true;
// Internal modular quality to roughly match VarDCT size.
cparams.quality_pair.first = cparams.quality_pair.second =
std::min(35 + (quality - 7) * 3.0f, 100.0f);
} else {
cparams.modular_mode = false;
if (quality >= 30) {
cparams.butteraugli_distance = 0.1 + (100 - quality) * 0.09;
} else {
cparams.butteraugli_distance = 6.4 + pow(2.5, (30 - quality) / 5.0f) / 6.25f;
}
}
if (options.progressive) {
cparams.qprogressive_mode = true;
cparams.responsive = 1;
if (!cparams.modular_mode) {
cparams.progressive_dc = 1;
}
}
if (cparams.modular_mode) {
if (cparams.quality_pair.first != 100 || cparams.quality_pair.second != 100) {
cparams.color_transform = jxl::ColorTransform::kXYB;
} else {
cparams.color_transform = jxl::ColorTransform::kNone;
}
}
if (cparams.near_lossless) {
// Near-lossless assumes -R 0
cparams.responsive = 0;
cparams.modular_mode = true;
}
io.metadata.m.SetAlphaBits(8);
if (!io.metadata.size.Set(width, height)) {
return val::null();
}
uint8_t* inBuffer = (uint8_t*)image.c_str();
auto result = jxl::ConvertFromExternal(
jxl::Span<const uint8_t>(reinterpret_cast<const uint8_t*>(image.data()), image.size()), width,
height, jxl::ColorEncoding::SRGB(/*is_gray=*/false), /*has_alpha=*/true,
/*alpha_is_premultiplied=*/false, /*bits_per_sample=*/8, /*endiannes=*/JXL_LITTLE_ENDIAN,
/*flipped_y=*/false, pool_ptr, main);
if (!result) {
return val::null();
}
auto js_result = val::null();
if (EncodeFile(cparams, &io, &passes_enc_state, &bytes, /*aux=*/nullptr, pool_ptr)) {
js_result = Uint8Array.new_(typed_memory_view(bytes.size(), bytes.data()));
}
return js_result;
}
EMSCRIPTEN_BINDINGS(my_module) {
value_object<JXLOptions>("JXLOptions")
.field("speed", &JXLOptions::speed)
.field("quality", &JXLOptions::quality)
.field("progressive", &JXLOptions::progressive)
.field("nearLossless", &JXLOptions::nearLossless)
.field("lossyPalette", &JXLOptions::lossyPalette)
.field("decodingSpeedTier", &JXLOptions::decodingSpeedTier)
.field("epf", &JXLOptions::epf);
function("encode", &encode);
}

View File

@@ -1,22 +0,0 @@
export interface EncodeOptions {
speed: number;
quality: number;
progressive: boolean;
epf: number;
nearLossless: number;
lossyPalette: boolean;
decodingSpeedTier: number;
}
export interface JXLModule extends EmscriptenWasm.Module {
encode(
data: BufferSource,
width: number,
height: number,
options: EncodeOptions,
): Uint8Array | null;
}
declare var moduleFactory: EmscriptenWasm.ModuleFactory<JXLModule>;
export default moduleFactory;

View File

@@ -1,69 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(a,b){aa=a;ba=b});var t={},w;for(w in g)g.hasOwnProperty(w)&&(t[w]=g[w]);var ca="./this.program",y="",da;y=self.location.href;_scriptDir&&(y=_scriptDir);0!==y.indexOf("blob:")?y=y.substr(0,y.lastIndexOf("/")+1):y="";da=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};
var ea=g.print||console.log.bind(console),z=g.printErr||console.warn.bind(console);for(w in t)t.hasOwnProperty(w)&&(g[w]=t[w]);t=null;g.thisProgram&&(ca=g.thisProgram);var A;g.wasmBinary&&(A=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;"object"!==typeof WebAssembly&&C("no native wasm support detected");var fa,ha=!1,ia=new TextDecoder("utf8");function ja(a,b){if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&D[c];)++c;return ia.decode(D.subarray(a,c))}
function ka(a,b,c,d){if(0<d){d=c+d-1;for(var h=0;h<a.length;++h){var f=a.charCodeAt(h);if(55296<=f&&57343>=f){var m=a.charCodeAt(++h);f=65536+((f&1023)<<10)|m&1023}if(127>=f){if(c>=d)break;b[c++]=f}else{if(2047>=f){if(c+1>=d)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=d)break;b[c++]=224|f>>12}else{if(c+3>=d)break;b[c++]=240|f>>18;b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}}
function la(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var ma=new TextDecoder("utf-16le");function na(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&E[c];)++c;return ma.decode(D.subarray(a,c<<1))}function oa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var h=0;h<c;++h)F[b>>1]=a.charCodeAt(h),b+=2;F[b>>1]=0;return b-d}
function pa(a){return 2*a.length}function qa(a,b){for(var c=0,d="";!(c>=b/4);){var h=G[a+4*c>>2];if(0==h)break;++c;65536<=h?(h-=65536,d+=String.fromCharCode(55296|h>>10,56320|h&1023)):d+=String.fromCharCode(h)}return d}function ra(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var h=0;h<a.length;++h){var f=a.charCodeAt(h);if(55296<=f&&57343>=f){var m=a.charCodeAt(++h);f=65536+((f&1023)<<10)|m&1023}G[b>>2]=f;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}
function sa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var ta,H,D,F,E,G,I,ua,va;function wa(){var a=fa.buffer;ta=a;g.HEAP8=H=new Int8Array(a);g.HEAP16=F=new Int16Array(a);g.HEAP32=G=new Int32Array(a);g.HEAPU8=D=new Uint8Array(a);g.HEAPU16=E=new Uint16Array(a);g.HEAPU32=I=new Uint32Array(a);g.HEAPF32=ua=new Float32Array(a);g.HEAPF64=va=new Float64Array(a)}var J,xa=[],ya=[],za=[];function Aa(){var a=g.preRun.shift();xa.unshift(a)}
var K=0,Ba=null,L=null;g.preloadedImages={};g.preloadedAudios={};function C(a){if(g.onAbort)g.onAbort(a);z(a);ha=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}var M=(new URL("jxl_enc.wasm",import.meta.url)).toString();function Ca(){try{if(M==M&&A)return new Uint8Array(A);if(da)return da(M);throw"both async and sync fetching of the wasm failed";}catch(a){C(a)}}
function Da(){return A||"function"!==typeof fetch?Promise.resolve().then(function(){return Ca()}):fetch(M,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+M+"'";return a.arrayBuffer()}).catch(function(){return Ca()})}function Ea(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(g);else{var c=b.xa;"number"===typeof c?void 0===b.$?J.get(c)():J.get(c)(b.$):c(void 0===b.$?null:b.$)}}}
function Fa(a){this.V=a-16;this.pa=function(b){G[this.V+8>>2]=b};this.ma=function(b){G[this.V+0>>2]=b};this.na=function(){G[this.V+4>>2]=0};this.la=function(){H[this.V+12>>0]=0};this.oa=function(){H[this.V+13>>0]=0};this.ia=function(b,c){this.pa(b);this.ma(c);this.na();this.la();this.oa()}}var Ga=0,N={};function Ha(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function O(a){return this.fromWireType(I[a>>2])}var P={},Q={},R={};
function Ia(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ja(a,b){a=Ia(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ka(a){var b=Error,c=Ja(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var La=void 0;
function Ma(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new La("Mismatched type converter count");for(var n=0;n<a.length;++n)S(a[n],k[n])}a.forEach(function(k){R[k]=b});var h=Array(b.length),f=[],m=0;b.forEach(function(k,n){Q.hasOwnProperty(k)?h[n]=Q[k]:(f.push(k),P.hasOwnProperty(k)||(P[k]=[]),P[k].push(function(){h[n]=Q[k];++m;m===f.length&&d(h)}))});0===f.length&&d(h)}
function Na(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Oa=void 0;function U(a){for(var b="";D[a];)b+=Oa[D[a++]];return b}var Pa=void 0;function V(a){throw new Pa(a);}
function S(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||V('type "'+d+'" must have a positive integer typeid pointer');if(Q.hasOwnProperty(a)){if(c.ha)return;V("Cannot register type '"+d+"' twice")}Q[a]=b;delete R[a];P.hasOwnProperty(a)&&(b=P[a],delete P[a],b.forEach(function(h){h()}))}var Qa=[],W=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ra(a){4<a&&0===--W[a].aa&&(W[a]=void 0,Qa.push(a))}function X(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Qa.length?Qa.pop():W.length;W[b]={aa:1,value:a};return b}}function Sa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Ta(a,b){switch(b){case 2:return function(c){return this.fromWireType(ua[c>>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Ua(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ja(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Va(a,b){var c=g;if(void 0===c[a].S){var d=c[a];c[a]=function(){c[a].S.hasOwnProperty(arguments.length)||V("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].S+")!");return c[a].S[arguments.length].apply(this,arguments)};c[a].S=[];c[a].S[d.ca]=d}}
function Wa(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].S&&void 0!==g[a].S[c])&&V("Cannot register public name '"+a+"' twice"),Va(a,a),g.hasOwnProperty(c)&&V("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].S[c]=b):(g[a]=b,void 0!==c&&(g[a].za=c))}function Xa(a,b){for(var c=[],d=0;d<a;d++)c.push(G[(b>>2)+d]);return c}
function Ya(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=g["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=J.get(b).apply(null,c);return d}}function Y(a,b){a=U(a);var c=a.includes("j")?Ya(a,b):J.get(b);"function"!==typeof c&&V("unknown function pointer with signature "+a+": "+b);return c}var Za=void 0;function $a(a){a=ab(a);var b=U(a);Z(a);return b}
function bb(a,b){function c(f){h[f]||Q[f]||(R[f]?R[f].forEach(c):(d.push(f),h[f]=!0))}var d=[],h={};b.forEach(c);throw new Za(a+": "+d.map($a).join([", "]));}function cb(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return D[d]};case 1:return c?function(d){return F[d>>1]}:function(d){return E[d>>1]};case 2:return c?function(d){return G[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var db={};
function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fb(a,b){var c=Q[a];void 0===c&&V(b+" has unknown type "+$a(a));return c}var gb={},hb={};function ib(){if(!jb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in hb)a[b]=hb[b];var c=[];for(b in a)c.push(b+"="+a[b]);jb=c}return jb}
var jb,kb=[null,[],[]];function lb(a){return 0===a%4&&(0!==a%100||0===a%400)}function mb(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var nb=[31,29,31,30,31,30,31,31,30,31,30,31],ob=[31,28,31,30,31,30,31,31,30,31,30,31];function pb(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(lb(a.getFullYear())?nb:ob)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function qb(a,b,c,d){function h(e,l,u){for(e="number"===typeof e?e.toString():e||"";e.length<l;)e=u[0]+e;return e}function f(e,l){return h(e,l,"0")}function m(e,l){function u(B){return 0>B?-1:0<B?1:0}var v;0===(v=u(e.getFullYear()-l.getFullYear()))&&0===(v=u(e.getMonth()-l.getMonth()))&&(v=u(e.getDate()-l.getDate()));return v}function k(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),
0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function n(e){e=pb(new Date(e.R+1900,0,1),e.Z);var l=new Date(e.getFullYear()+1,0,4),u=k(new Date(e.getFullYear(),0,4));l=k(l);return 0>=m(u,e)?0>=m(l,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var p=G[d+40>>2];d={va:G[d>>2],ua:G[d+4>>2],X:G[d+8>>2],W:G[d+12>>2],U:G[d+16>>2],R:G[d+20>>2],Y:G[d+24>>2],Z:G[d+28>>2],Aa:G[d+32>>2],ta:G[d+36>>2],
wa:p?ja(p):""};c=ja(c);p={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in p)c=c.replace(new RegExp(q,"g"),p[q]);var r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
x="January February March April May June July August September October November December".split(" ");p={"%a":function(e){return r[e.Y].substring(0,3)},"%A":function(e){return r[e.Y]},"%b":function(e){return x[e.U].substring(0,3)},"%B":function(e){return x[e.U]},"%C":function(e){return f((e.R+1900)/100|0,2)},"%d":function(e){return f(e.W,2)},"%e":function(e){return h(e.W,2," ")},"%g":function(e){return n(e).toString().substring(2)},"%G":function(e){return n(e)},"%H":function(e){return f(e.X,2)},"%I":function(e){e=
e.X;0==e?e=12:12<e&&(e-=12);return f(e,2)},"%j":function(e){return f(e.W+mb(lb(e.R+1900)?nb:ob,e.U-1),3)},"%m":function(e){return f(e.U+1,2)},"%M":function(e){return f(e.ua,2)},"%n":function(){return"\n"},"%p":function(e){return 0<=e.X&&12>e.X?"AM":"PM"},"%S":function(e){return f(e.va,2)},"%t":function(){return"\t"},"%u":function(e){return e.Y||7},"%U":function(e){var l=new Date(e.R+1900,0,1),u=0===l.getDay()?l:pb(l,7-l.getDay());e=new Date(e.R+1900,e.U,e.W);return 0>m(u,e)?f(Math.ceil((31-u.getDate()+
(mb(lb(e.getFullYear())?nb:ob,e.getMonth()-1)-31)+e.getDate())/7),2):0===m(u,l)?"01":"00"},"%V":function(e){var l=new Date(e.R+1901,0,4),u=k(new Date(e.R+1900,0,4));l=k(l);var v=pb(new Date(e.R+1900,0,1),e.Z);return 0>m(v,u)?"53":0>=m(l,v)?"01":f(Math.ceil((u.getFullYear()<e.R+1900?e.Z+32-u.getDate():e.Z+1-u.getDate())/7),2)},"%w":function(e){return e.Y},"%W":function(e){var l=new Date(e.R,0,1),u=1===l.getDay()?l:pb(l,0===l.getDay()?1:7-l.getDay()+1);e=new Date(e.R+1900,e.U,e.W);return 0>m(u,e)?f(Math.ceil((31-
u.getDate()+(mb(lb(e.getFullYear())?nb:ob,e.getMonth()-1)-31)+e.getDate())/7),2):0===m(u,l)?"01":"00"},"%y":function(e){return(e.R+1900).toString().substring(2)},"%Y":function(e){return e.R+1900},"%z":function(e){e=e.ta;var l=0<=e;e=Math.abs(e)/60;return(l?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.wa},"%%":function(){return"%"}};for(q in p)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),p[q](d)));q=rb(c);if(q.length>b)return 0;H.set(q,a);return q.length-1}
La=g.InternalError=Ka("InternalError");for(var sb=Array(256),tb=0;256>tb;++tb)sb[tb]=String.fromCharCode(tb);Oa=sb;Pa=g.BindingError=Ka("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b<W.length;++b)void 0!==W[b]&&++a;return a};g.get_first_emval=function(){for(var a=5;a<W.length;++a)if(void 0!==W[a])return W[a];return null};Za=g.UnboundTypeError=Ka("UnboundTypeError");function rb(a){var b=Array(la(a)+1);ka(a,b,0,b.length);return b}
var vb={o:function(a){return ub(a+16)+16},D:function(){},n:function(a,b,c){(new Fa(a)).ia(b,c);Ga++;throw a;},k:function(a){var b=N[a];delete N[a];var c=b.ja,d=b.ka,h=b.ba,f=h.map(function(m){return m.ga}).concat(h.map(function(m){return m.ra}));Ma([a],f,function(m){var k={};h.forEach(function(n,p){var q=m[p],r=n.ea,x=n.fa,e=m[p+h.length],l=n.qa,u=n.sa;k[n.da]={read:function(v){return q.fromWireType(r(x,v))},write:function(v,B){var T=[];l(u,v,e.toWireType(T,B));Ha(T)}}});return[{name:b.name,fromWireType:function(n){var p=
{},q;for(q in k)p[q]=k[q].read(n);d(n);return p},toWireType:function(n,p){for(var q in k)if(!(q in p))throw new TypeError('Missing field: "'+q+'"');var r=c();for(q in k)k[q].write(r,p[q]);null!==n&&n.push(d,r);return r},argPackAdvance:8,readValueFromPointer:O,T:d}]})},q:function(){},z:function(a,b,c,d,h){var f=Na(c);b=U(b);S(a,{name:b,fromWireType:function(m){return!!m},toWireType:function(m,k){return k?d:h},argPackAdvance:8,readValueFromPointer:function(m){if(1===c)var k=H;else if(2===c)k=F;else if(4===
c)k=G;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[m>>f])},T:null})},y:function(a,b){b=U(b);S(a,{name:b,fromWireType:function(c){var d=W[c].value;Ra(c);return d},toWireType:function(c,d){return X(d)},argPackAdvance:8,readValueFromPointer:O,T:null})},h:function(a,b,c){c=Na(c);b=U(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,h){if("number"!==typeof h&&"boolean"!==typeof h)throw new TypeError('Cannot convert "'+Sa(h)+'" to '+this.name);
return h},argPackAdvance:8,readValueFromPointer:Ta(b,c),T:null})},j:function(a,b,c,d,h,f){var m=Xa(b,c);a=U(a);h=Y(d,h);Wa(a,function(){bb("Cannot call "+a+" due to unbound types",m)},b-1);Ma([],m,function(k){var n=a,p=a;k=[k[0],null].concat(k.slice(1));var q=h,r=k.length;2>r&&V("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,e=!1,l=1;l<k.length;++l)if(null!==k[l]&&void 0===k[l].T){e=!0;break}var u="void"!==k[0].name,v="",B="";for(l=0;l<
r-2;++l)v+=(0!==l?", ":"")+"arg"+l,B+=(0!==l?", ":"")+"arg"+l+"Wired";p="return function "+Ia(p)+"("+v+") {\nif (arguments.length !== "+(r-2)+") {\nthrowBindingError('function "+p+" called with ' + arguments.length + ' arguments, expected "+(r-2)+" args!');\n}\n";e&&(p+="var destructors = [];\n");var T=e?"destructors":"null";v="throwBindingError invoker fn runDestructors retType classParam".split(" ");q=[V,q,f,Ha,k[0],k[1]];x&&(p+="var thisWired = classParam.toWireType("+T+", this);\n");for(l=0;l<
r-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+T+", arg"+l+"); // "+k[l+2].name+"\n",v.push("argType"+l),q.push(k[l+2]);x&&(B="thisWired"+(0<B.length?", ":"")+B);p+=(u?"var rv = ":"")+"invoker(fn"+(0<B.length?", ":"")+B+");\n";if(e)p+="runDestructors(destructors);\n";else for(l=x?1:2;l<k.length;++l)r=1===l?"thisWired":"arg"+(l-2)+"Wired",null!==k[l].T&&(p+=r+"_dtor("+r+"); // "+k[l].name+"\n",v.push(r+"_dtor"),q.push(k[l].T));u&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n");
v.push(p+"}\n");k=Ua(v).apply(null,q);l=b-1;if(!g.hasOwnProperty(n))throw new La("Replacing nonexistant public symbol");void 0!==g[n].S&&void 0!==l?g[n].S[l]=k:(g[n]=k,g[n].ca=l);return[]})},c:function(a,b,c,d,h){function f(p){return p}b=U(b);-1===h&&(h=4294967295);var m=Na(c);if(0===d){var k=32-8*c;f=function(p){return p<<k>>>k}}var n=b.includes("unsigned");S(a,{name:b,fromWireType:f,toWireType:function(p,q){if("number"!==typeof q&&"boolean"!==typeof q)throw new TypeError('Cannot convert "'+Sa(q)+
'" to '+this.name);if(q<d||q>h)throw new TypeError('Passing a number "'+Sa(q)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+h+"]!");return n?q>>>0:q|0},argPackAdvance:8,readValueFromPointer:cb(b,m,0!==d),T:null})},b:function(a,b,c){function d(f){f>>=2;var m=I;return new h(ta,m[f+1],m[f])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=U(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,
readValueFromPointer:d},{ha:!0})},i:function(a,b){b=U(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var h=I[d>>2];if(c)for(var f=d+4,m=0;m<=h;++m){var k=d+4+m;if(m==h||0==D[k]){f=ja(f,k-f);if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=k+1}}else{n=Array(h);for(m=0;m<h;++m)n[m]=String.fromCharCode(D[d+4+m]);n=n.join("")}Z(d);return n},toWireType:function(d,h){h instanceof ArrayBuffer&&(h=new Uint8Array(h));var f="string"===typeof h;f||h instanceof Uint8Array||h instanceof
Uint8ClampedArray||h instanceof Int8Array||V("Cannot pass non-string to std::string");var m=(c&&f?function(){return la(h)}:function(){return h.length})(),k=ub(4+m+1);I[k>>2]=m;if(c&&f)ka(h,D,k+4,m+1);else if(f)for(f=0;f<m;++f){var n=h.charCodeAt(f);255<n&&(Z(k),V("String has UTF-16 code units that do not fit in 8 bits"));D[k+4+f]=n}else for(f=0;f<m;++f)D[k+4+f]=h[f];null!==d&&d.push(Z,k);return k},argPackAdvance:8,readValueFromPointer:O,T:function(d){Z(d)}})},g:function(a,b,c){c=U(c);if(2===b){var d=
na;var h=oa;var f=pa;var m=function(){return E};var k=1}else 4===b&&(d=qa,h=ra,f=sa,m=function(){return I},k=2);S(a,{name:c,fromWireType:function(n){for(var p=I[n>>2],q=m(),r,x=n+4,e=0;e<=p;++e){var l=n+4+e*b;if(e==p||0==q[l>>k])x=d(x,l-x),void 0===r?r=x:(r+=String.fromCharCode(0),r+=x),x=l+b}Z(n);return r},toWireType:function(n,p){"string"!==typeof p&&V("Cannot pass non-string to C++ string type "+c);var q=f(p),r=ub(4+q+b);I[r>>2]=q>>k;h(p,r+4,q+b);null!==n&&n.push(Z,r);return r},argPackAdvance:8,
readValueFromPointer:O,T:function(n){Z(n)}})},l:function(a,b,c,d,h,f){N[a]={name:U(b),ja:Y(c,d),ka:Y(h,f),ba:[]}},d:function(a,b,c,d,h,f,m,k,n,p){N[a].ba.push({da:U(b),ga:c,ea:Y(d,h),fa:f,ra:m,qa:Y(k,n),sa:p})},A:function(a,b){b=U(b);S(a,{ya:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},e:Ra,C:function(a){if(0===a)return X(eb());var b=db[a];a=void 0===b?U(a):b;return X(eb()[a])},B:function(a){4<a&&(W[a].aa+=1)},m:function(a,b,c,d){a||V("Cannot use deleted val. handle = "+
a);a=W[a].value;var h=gb[b];if(!h){h="";for(var f=0;f<b;++f)h+=(0!==f?", ":"")+"arg"+f;var m="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)m+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";h=(new Function("requireRegisteredType","Module","__emval_register",m+("var obj = new constructor("+h+");\nreturn __emval_register(obj);\n}\n")))(fb,
g,X);gb[b]=h}return h(a,c,d)},a:function(){C()},s:function(a,b,c){D.copyWithin(a,b,b+c)},f:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{fa.grow(Math.min(2147483648,d)-ta.byteLength+65535>>>16);wa();var h=1;break a}catch(f){}h=void 0}if(h)return!0}return!1},u:function(a,b){var c=0;ib().forEach(function(d,h){var f=b+c;h=G[a+4*h>>2]=f;for(f=0;f<d.length;++f)H[h++>>0]=d.charCodeAt(f);
H[h>>0]=0;c+=d.length+1});return 0},v:function(a,b){var c=ib();G[a>>2]=c.length;var d=0;c.forEach(function(h){d+=h.length+1});G[b>>2]=d;return 0},w:function(){return 0},p:function(){},x:function(a,b,c,d){for(var h=0,f=0;f<c;f++){for(var m=G[b+8*f>>2],k=G[b+(8*f+4)>>2],n=0;n<k;n++){var p=D[m+n],q=kb[a];if(0===p||10===p){for(p=0;q[p]&&!(NaN<=p);)++p;p=ia.decode(q.subarray?q.subarray(0,p):new Uint8Array(q.slice(0,p)));(1===a?ea:z)(p);q.length=0}else q.push(p)}h+=k}G[d>>2]=h;return 0},r:function(){},
t:function(a,b,c,d){return qb(a,b,c,d)}};
(function(){function a(h){g.asm=h.exports;fa=g.asm.E;wa();J=g.asm.K;ya.unshift(g.asm.F);K--;g.monitorRunDependencies&&g.monitorRunDependencies(K);0==K&&(null!==Ba&&(clearInterval(Ba),Ba=null),L&&(h=L,L=null,h()))}function b(h){a(h.instance)}function c(h){return Da().then(function(f){return WebAssembly.instantiate(f,d)}).then(h,function(f){z("failed to asynchronously prepare wasm: "+f);C(f)})}var d={a:vb};K++;g.monitorRunDependencies&&g.monitorRunDependencies(K);if(g.instantiateWasm)try{return g.instantiateWasm(d,
a)}catch(h){return z("Module.instantiateWasm callback failed with error: "+h),!1}(function(){return A||"function"!==typeof WebAssembly.instantiateStreaming||M.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(M,{credentials:"same-origin"}).then(function(h){return WebAssembly.instantiateStreaming(h,d).then(b,function(f){z("wasm streaming compile failed: "+f);z("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();
g.___wasm_call_ctors=function(){return(g.___wasm_call_ctors=g.asm.F).apply(null,arguments)};var ub=g._malloc=function(){return(ub=g._malloc=g.asm.G).apply(null,arguments)},Z=g._free=function(){return(Z=g._free=g.asm.H).apply(null,arguments)},ab=g.___getTypeName=function(){return(ab=g.___getTypeName=g.asm.I).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.J).apply(null,arguments)};
g.dynCall_viijii=function(){return(g.dynCall_viijii=g.asm.L).apply(null,arguments)};g.dynCall_iiji=function(){return(g.dynCall_iiji=g.asm.M).apply(null,arguments)};g.dynCall_jiji=function(){return(g.dynCall_jiji=g.asm.N).apply(null,arguments)};g.dynCall_iiiiij=function(){return(g.dynCall_iiiiij=g.asm.O).apply(null,arguments)};g.dynCall_iiiiijj=function(){return(g.dynCall_iiiiijj=g.asm.P).apply(null,arguments)};g.dynCall_iiiiiijj=function(){return(g.dynCall_iiiiiijj=g.asm.Q).apply(null,arguments)};
var wb;L=function xb(){wb||yb();wb||(L=xb)};
function yb(){function a(){if(!wb&&(wb=!0,g.calledRun=!0,!ha)){Ea(ya);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var b=g.postRun.shift();za.unshift(b)}Ea(za)}}if(!(0<K)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Aa();Ea(xa);0<K||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);a()},1)):a())}}g.run=yb;
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();yb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1 +0,0 @@
export { default } from './jxl_enc';

View File

@@ -1,105 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
function e(){m.buffer!=n&&u(m.buffer);return aa}function v(){m.buffer!=n&&u(m.buffer);return ba}function x(){m.buffer!=n&&u(m.buffer);return ca}function ea(){m.buffer!=n&&u(m.buffer);return fa}function A(){m.buffer!=n&&u(m.buffer);return ha}function B(){m.buffer!=n&&u(m.buffer);return ia}function ja(){m.buffer!=n&&u(m.buffer);return ka}var D;D||(D=typeof Module !== 'undefined' ? Module : {});var la,ma;D.ready=new Promise(function(a,b){la=a;ma=b});var E={},F;
for(F in D)D.hasOwnProperty(F)&&(E[F]=D[F]);var na="./this.program";function oa(a,b){throw b;}var G=D.ENVIRONMENT_IS_PTHREAD||!1,H="",pa;H=self.location.href;_scriptDir&&(H=_scriptDir);0!==H.indexOf("blob:")?H=H.substr(0,H.lastIndexOf("/")+1):H="";pa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var qa=D.print||console.log.bind(console),J=D.printErr||console.warn.bind(console);
for(F in E)E.hasOwnProperty(F)&&(D[F]=E[F]);E=null;D.thisProgram&&(na=D.thisProgram);D.quit&&(oa=D.quit);var ra;D.wasmBinary&&(ra=D.wasmBinary);var noExitRuntime=D.noExitRuntime||!0;"object"!==typeof WebAssembly&&K("no native wasm support detected");var m,sa,ta=!1;
function ua(a,b,c){c=b+c;for(var d="";!(b>=c);){var f=a[b++];if(!f)break;if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|l:(f&7)<<18|g<<12|l<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function L(a,b){return a?ua(v(),a,b):""}
function va(a,b,c,d){if(0<d){d=c+d-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0}}function wa(a,b,c){va(a,v(),b,c)}
function xa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function ya(a,b){for(var c="",d=0;!(d>=b/2);++d){var f=x()[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}function za(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f){var g=a.charCodeAt(f);x()[b>>1]=g;b+=2}x()[b>>1]=0;return b-d}
function Aa(a){return 2*a.length}function Ba(a,b){for(var c=0,d="";!(c>=b/4);){var f=A()[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}function Ca(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}A()[b>>2]=g;b+=4;if(b+4>c)break}A()[b>>2]=0;return b-d}
function Da(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}function Ea(a,b){e().set(a,b)}var n,aa,ba,ca,fa,ha,ia,Fa,ka;G&&(n=D.buffer);function u(a){n=a;D.HEAP8=aa=new Int8Array(a);D.HEAP16=ca=new Int16Array(a);D.HEAP32=ha=new Int32Array(a);D.HEAPU8=ba=new Uint8Array(a);D.HEAPU16=fa=new Uint16Array(a);D.HEAPU32=ia=new Uint32Array(a);D.HEAPF32=Fa=new Float32Array(a);D.HEAPF64=ka=new Float64Array(a)}var Ga=D.INITIAL_MEMORY||16777216;
if(G)m=D.wasmMemory,n=D.buffer;else if(D.wasmMemory)m=D.wasmMemory;else if(m=new WebAssembly.Memory({initial:Ga/65536,maximum:32768,shared:!0}),!(m.buffer instanceof SharedArrayBuffer))throw J("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");m&&(n=m.buffer);Ga=n.byteLength;u(n);var M,Ha=[],Ia=[],Ja=[];
function Ka(){var a=D.preRun.shift();Ha.unshift(a)}var N=0,La=null,Ma=null;D.preloadedImages={};D.preloadedAudios={};function K(a){if(D.onAbort)D.onAbort(a);G&&console.error("Pthread aborting at "+Error().stack);J(a);ta=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ma(a);throw a;}var O=(new URL("jxl_enc_mt.wasm",import.meta.url)).toString();
function Na(){try{if(O==O&&ra)return new Uint8Array(ra);if(pa)return pa(O);throw"both async and sync fetching of the wasm failed";}catch(a){K(a)}}function Oa(){return ra||"function"!==typeof fetch?Promise.resolve().then(function(){return Na()}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Na()})}
var Qa={60580:function(){throw"Canceled!";},60598:function(a,b){setTimeout(function(){Pa(a,b)},0)}};function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(D);else{var c=b.Yb;"number"===typeof c?void 0===b.Ia?M.get(c)():M.get(c)(b.Ia):c(void 0===b.Ia?null:b.Ia)}}}
function Sa(a,b){if(0>=a||a>e().length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(A(),Ta>>2),d=0;if(c==a&&Atomics.compareExchange(A(),Ta>>2,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(A(),a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}D._emscripten_futex_wake=Sa;
function Ua(a){if(G)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";var b=P.Ba[a];b&&(A()[a+12>>2]=0,P.Qa(b.worker))}
var P={za:[],Ea:[],Ya:[],sb:function(){for(var a=navigator.hardwareConcurrency,b=0;b<a;++b)P.Za()},tb:function(){for(var a=Q(228),b=0;57>b;++b)B()[a/4+b]=0;A()[a+12>>2]=a;b=a+152;A()[b>>2]=b;var c=Q(512);for(b=0;128>b;++b)B()[c/4+b]=0;Atomics.store(B(),a+100>>2,c);Atomics.store(B(),a+40>>2,a);Va(a,!1,1);Wa(a)},ub:function(){P.receiveObjectTransfer=P.yb;P.threadInit=P.Ob;P.threadCancel=P.Mb;P.threadExit=P.Nb;P.setExitStatus=P.Bb},Ba:{},Xa:[],zb:function(){for(;0<P.Xa.length;)P.Xa.pop()();G&&R()&&Xa()},
gb:function(a,b){Atomics.store(B(),a+56>>2,1);Atomics.store(B(),a+60>>2,0);P.zb();Atomics.store(B(),a+4>>2,b);Atomics.store(B(),a+0>>2,1);Sa(a+0,2147483647);Va(0,0,0)},Bb:function(){},Nb:function(a){var b=R();b&&(P.gb(b,a),G&&postMessage({cmd:"exit"}))},Mb:function(){P.gb(R(),-1);postMessage({cmd:"cancelDone"})},Lb:function(){for(var a in P.Ba){var b=P.Ba[a];b&&b.worker&&P.Qa(b.worker)}P.Ba={};for(a=0;a<P.za.length;++a){var c=P.za[a];c.terminate()}P.za=[];for(a=0;a<P.Ea.length;++a)c=P.Ea[a],b=c.ya,
P.Va(b),c.terminate();P.Ea=[]},Va:function(a){if(a){if(a.Ca){var b=A()[a.Ca+100>>2];A()[a.Ca+100>>2]=0;S(b);S(a.Ca)}a.Ca=0;a.Ua&&a.Fa&&S(a.Fa);a.Fa=0;a.worker&&(a.worker.ya=null)}},Qa:function(a){P.Ab(function(){delete P.Ba[a.ya.Ca];P.za.push(a);P.Ea.splice(P.Ea.indexOf(a),1);P.Va(a.ya);a.ya=void 0})},Ab:function(a){A()[Ya>>2]=0;try{a()}finally{A()[Ya>>2]=1}},yb:function(){},Ob:function(){for(var a in P.Ya)P.Ya[a]()},eb:function(a,b){a.onmessage=function(c){var d=c.data,f=d.cmd;a.ya&&(P.ib=a.ya.Ca);
if(d.targetThread&&d.targetThread!=R()){var g=P.Ba[d.fc];g?g.worker.postMessage(c.data,d.transferList):console.error('Internal error! Worker sent a message "'+f+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===f)Za();else if("spawnThread"===f)$a(c.data);else if("cleanupThread"===f)Ua(d.thread);else if("killThread"===f){c=d.thread;if(G)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!";
A()[c+12>>2]=0;c=P.Ba[c];c.worker.terminate();P.Va(c);P.Ea.splice(P.Ea.indexOf(c.worker),1);c.worker.ya=void 0}else if("cancelThread"===f){c=d.thread;if(G)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in cancelThread!";P.Ba[c].worker.postMessage({cmd:"cancel"})}else if("loaded"===f)a.loaded=!0,b&&b(a),a.Ka&&(a.Ka(),delete a.Ka);else if("print"===f)qa("Thread "+d.threadId+": "+d.text);else if("printErr"===f)J("Thread "+
d.threadId+": "+d.text);else if("alert"===f)alert("Thread "+d.threadId+": "+d.text);else if("exit"===f)a.ya&&Atomics.load(B(),a.ya.Ca+64>>2)&&P.Qa(a);else if("exitProcess"===f)try{g=d.returnCode;if(G)throw postMessage({cmd:"exitProcess",returnCode:g}),new ab(g);if(!bb()){P.Lb();if(D.onExit)D.onExit(g);ta=!0}oa(g,new ab(g))}catch(l){if(l instanceof ab)return;throw l;}else"cancelDone"===f?P.Qa(a):"objectTransfer"!==f&&("setimmediate"===c.data.target?a.postMessage(c.data):J("worker sent an unknown command "+
f));P.ib=void 0};a.onerror=function(c){J("pthread sent an error! "+c.filename+":"+c.lineno+": "+c.message)};a.postMessage({cmd:"load",urlOrBlob:D.mainScriptUrlOrBlob,wasmMemory:m,wasmModule:sa})},Za:function(){if(D.locateFile){var a=D.locateFile?D.locateFile("jxl_enc_mt.worker.js",H):H+"jxl_enc_mt.worker.js";P.za.push(new Worker(a))}else P.za.push(new Worker(new URL("jxl_enc_mt.worker.js",import.meta.url)))},lb:function(){0==P.za.length&&(P.Za(),P.eb(P.za[0]));return P.za.pop()},Ub:function(a){for(a=
performance.now()+a;performance.now()<a;);}};D.establishStackSpace=function(a,b){cb(a,b);db(a)};D.invokeEntryPoint=function(a,b){return M.get(a)(b)};var eb=0;function bb(){return noExitRuntime||0<eb}D.keepRuntimeAlive=bb;var fb;fb=G?function(){return performance.now()-D.__performance_now_clock_drift}:function(){return performance.now()};function gb(a,b){P.Xa.push(function(){M.get(a)(b)})}
function hb(a){this.Ja=a-16;this.Gb=function(b){A()[this.Ja+8>>2]=b};this.Db=function(b){A()[this.Ja+0>>2]=b};this.Eb=function(){A()[this.Ja+4>>2]=0};this.Cb=function(){var b=0;e()[this.Ja+12>>0]=b};this.Fb=function(){var b=0;e()[this.Ja+13>>0]=b};this.qb=function(b,c){this.Gb(b);this.Db(c);this.Eb();this.Cb();this.Fb()}}var ib=0,jb={};function kb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function lb(a){return this.fromWireType(B()[a>>2])}var T={},U={},mb={};
function nb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ob(a,b){a=nb(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function pb(a){var b=Error,c=ob(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var qb=void 0;
function rb(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new qb("Mismatched type converter count");for(var q=0;q<a.length;++q)V(a[q],k[q])}a.forEach(function(k){mb[k]=b});var f=Array(b.length),g=[],l=0;b.forEach(function(k,q){U.hasOwnProperty(k)?f[q]=U[k]:(g.push(k),T.hasOwnProperty(k)||(T[k]=[]),T[k].push(function(){f[q]=U[k];++l;l===g.length&&d(f)}))});0===g.length&&d(f)}
function sb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var tb=void 0;function W(a){for(var b="";v()[a];)b+=tb[v()[a++]];return b}var ub=void 0;function X(a){throw new ub(a);}
function V(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||X('type "'+d+'" must have a positive integer typeid pointer');if(U.hasOwnProperty(a)){if(c.pb)return;X("Cannot register type '"+d+"' twice")}U[a]=b;delete mb[a];T.hasOwnProperty(a)&&(b=T[a],delete T[a],b.forEach(function(f){f()}))}var vb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function wb(a){4<a&&0===--Y[a].Wa&&(Y[a]=void 0,vb.push(a))}function xb(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=vb.length?vb.pop():Y.length;Y[b]={Wa:1,value:a};return b}}function yb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function zb(a,b){switch(b){case 2:return function(c){var d=this.fromWireType;m.buffer!=n&&u(m.buffer);return d.call(this,Fa[c>>2])};case 3:return function(c){return this.fromWireType(ja()[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function Ab(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=ob(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Bb(a,b){var c=D;if(void 0===c[a].Aa){var d=c[a];c[a]=function(){c[a].Aa.hasOwnProperty(arguments.length)||X("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Aa+")!");return c[a].Aa[arguments.length].apply(this,arguments)};c[a].Aa=[];c[a].Aa[d.hb]=d}}
function Cb(a,b,c){D.hasOwnProperty(a)?((void 0===c||void 0!==D[a].Aa&&void 0!==D[a].Aa[c])&&X("Cannot register public name '"+a+"' twice"),Bb(a,a),D.hasOwnProperty(c)&&X("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),D[a].Aa[c]=b):(D[a]=b,void 0!==c&&(D[a].cc=c))}function Db(a,b){for(var c=[],d=0;d<a;d++)c.push(A()[(b>>2)+d]);return c}
function Eb(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=D["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=M.get(b).apply(null,c);return d}}function Fb(a,b){a=W(a);var c=a.includes("j")?Eb(a,b):M.get(b);"function"!==typeof c&&X("unknown function pointer with signature "+a+": "+b);return c}var Gb=void 0;function Hb(a){a=Ib(a);var b=W(a);S(a);return b}
function Jb(a,b){function c(g){f[g]||U[g]||(mb[g]?mb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Gb(a+": "+d.map(Hb).join([", "]));}function Kb(a,b,c){switch(b){case 0:return c?function(d){return e()[d]}:function(d){return v()[d]};case 1:return c?function(d){return x()[d>>1]}:function(d){return ea()[d>>1]};case 2:return c?function(d){return A()[d>>2]}:function(d){return B()[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Lb={};
function Mb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function Nb(a,b){var c=U[a];void 0===c&&X(b+" has unknown type "+Hb(a));return c}var Ob={},Pb=[];function Qb(a,b,c){if(0>=a||a>e().length||a&1)return-28;a=Atomics.wait(A(),a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+a;}
function Z(a,b){for(var c=arguments.length-2,d=Rb(),f=Sb(8*c),g=f>>3,l=0;l<c;l++){var k=arguments[2+l];ja()[g+l]=k}c=Tb(a,c,f,b);db(d);return c}var Ub=[],Vb=[0,"undefined"!==typeof document?document:0,"undefined"!==typeof window?window:0];function Wb(a){a=2<a?L(a):a;return Vb[a]||("undefined"!==typeof document?document.querySelector(a):void 0)}
function Xb(a,b,c){var d=Wb(a);if(!d)return-4;d.Oa&&(A()[d.Oa>>2]=b,A()[d.Oa+4>>2]=c);if(d.fb||!d.Wb)d.fb&&(d=d.fb),a=!1,d.Na&&d.Na.Ma&&(a=d.Na.Ma.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.Na.Ma.viewport(0,0,b,c);else{if(d.Oa){d=A()[d.Oa+8>>2];a=a?L(a):"";var f=Rb(),g=Sb(12),l=0;if(a){l=xa(a)+1;var k=Q(l);wa(a,k,l);l=k}A()[g>>2]=l;A()[g+4>>2]=b;A()[g+8>>2]=c;Yb(0,d,657457152,0,l,g);db(f);return 1}return-4}return 0}
function Zb(a,b,c){return G?Z(2,1,a,b,c):Xb(a,b,c)}function $b(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,g){b.drawArraysInstancedANGLE(c,d,f,g)},a.drawElementsInstanced=function(c,d,f,g,l){b.drawElementsInstancedANGLE(c,d,f,g,l)})}
function ac(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function bc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
function cc(a,b){a.cb||(a.cb=a.getContext,a.getContext=function(d,f){f=a.cb(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=a.getContext("webgl",b);return c?dc(c,b):0}function dc(a,b){var c=Q(8);A()[c+4>>2]=R();var d={Zb:c,attributes:b,version:b.vb,Ma:a};a.canvas&&(a.canvas.Na=d);("undefined"===typeof b.ab||b.ab)&&ec(d);return c}
function ec(a){a||(a=fc);if(!a.rb){a.rb=!0;var b=a.Ma;$b(b);ac(b);bc(b);b.Xb=b.getExtension("EXT_disjoint_timer_query");b.bc=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var fc,gc=["default","low-power","high-performance"],hc={};
function ic(){if(!jc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:na||"./this.program"},b;for(b in hc)a[b]=hc[b];var c=[];for(b in a)c.push(b+"="+a[b]);jc=c}return jc}var jc,kc=[null,[],[]];
function lc(a,b){if(G)return Z(3,1,a,b);var c=0;ic().forEach(function(d,f){var g=b+c;f=A()[a+4*f>>2]=g;for(g=0;g<d.length;++g)e()[f++>>0]=d.charCodeAt(g);e()[f>>0]=0;c+=d.length+1});return 0}function mc(a,b){if(G)return Z(4,1,a,b);var c=ic();A()[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});A()[b>>2]=d;return 0}function nc(a){return G?Z(5,1,a):0}function oc(a,b,c,d,f){if(G)return Z(6,1,a,b,c,d,f)}
function pc(a,b,c,d){if(G)return Z(7,1,a,b,c,d);for(var f=0,g=0;g<c;g++){for(var l=A()[b+8*g>>2],k=A()[b+(8*g+4)>>2],q=0;q<k;q++){var r=v()[l+q],t=kc[a];0===r||10===r?((1===a?qa:J)(ua(t,0)),t.length=0):t.push(r)}f+=k}A()[d>>2]=f;return 0}
function $a(a){if(G)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=P.lb();if(!b)return 6;if(void 0!==b.ya)throw"Internal error!";if(!a.Pa)throw"Internal error, no pthread ptr!";P.Ea.push(b);for(var c=Q(512),d=0;128>d;++d)A()[c+4*d>>2]=0;var f=a.Fa+a.Ga;d=P.Ba[a.Pa]={worker:b,Fa:a.Fa,Ga:a.Ga,Ua:a.Ua,Ca:a.Pa};var g=d.Ca>>2;Atomics.store(B(),g+16,a.$a);Atomics.store(B(),g+25,c);Atomics.store(B(),g+10,d.Ca);Atomics.store(B(),g+20,a.Ga);Atomics.store(B(),
g+19,f);Atomics.store(B(),g+26,a.Ga);Atomics.store(B(),g+28,f);Atomics.store(B(),g+29,a.$a);c=qc()+40;Atomics.store(B(),g+43,c);b.ya=d;var l={cmd:"run",start_routine:a.Kb,arg:a.Ia,threadInfoStruct:a.Pa,stackBase:a.Fa,stackSize:a.Ga};b.Ka=function(){l.time=performance.now();b.postMessage(l,a.Tb)};b.loaded&&(b.Ka(),delete b.Ka);return 0}
function rc(a,b){if(!a)return J("pthread_join attempted on a null thread pointer!"),71;if(G&&R()==a)return J("PThread "+a+" is attempting to join to itself!"),16;if(!G&&sc()==a)return J("Main thread "+a+" is attempting to join to itself!"),16;if(A()[a+12>>2]!==a)return J("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(B(),a+64>>2))return J("Attempted to join thread "+a+", which was already detached!"),28;for(;;){var c=
Atomics.load(B(),a+0>>2);if(1==c)return c=Atomics.load(B(),a+4>>2),b&&(A()[b>>2]=c),Atomics.store(B(),a+64>>2,1),G?postMessage({cmd:"cleanupThread",thread:a}):Ua(a),0;if(G){var d=R();if(d&&!Atomics.load(B(),d+56>>2)&&2==Atomics.load(B(),d+0>>2))throw"Canceled!";}G||Za();Qb(a+0,c,G?100:1)}}function tc(a){return 0===a%4&&(0!==a%100||0===a%400)}function uc(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var vc=[31,29,31,30,31,30,31,31,30,31,30,31],wc=[31,28,31,30,31,30,31,31,30,31,30,31];
function xc(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(tc(a.getFullYear())?vc:wc)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function yc(a,b,c,d){function f(h,p,y){for(h="number"===typeof h?h.toString():h||"";h.length<p;)h=y[0]+h;return h}function g(h,p){return f(h,p,"0")}function l(h,p){function y(I){return 0>I?-1:0<I?1:0}var z;0===(z=y(h.getFullYear()-p.getFullYear()))&&0===(z=y(h.getMonth()-p.getMonth()))&&(z=y(h.getDate()-p.getDate()));return z}function k(h){switch(h.getDay()){case 0:return new Date(h.getFullYear()-1,11,29);case 1:return h;case 2:return new Date(h.getFullYear(),0,3);case 3:return new Date(h.getFullYear(),
0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function q(h){h=xc(new Date(h.xa+1900,0,1),h.Ta);var p=new Date(h.getFullYear()+1,0,4),y=k(new Date(h.getFullYear(),0,4));p=k(p);return 0>=l(y,h)?0>=l(p,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var r=A()[d+40>>2];d={Rb:A()[d>>2],Qb:A()[d+4>>2],Ra:A()[d+8>>2],La:A()[d+12>>2],Ha:A()[d+16>>2],xa:A()[d+20>>2],Sa:A()[d+24>>2],Ta:A()[d+28>>2],hc:A()[d+
32>>2],Pb:A()[d+36>>2],Sb:r?L(r):""};c=L(c);r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var t in r)c=c.replace(new RegExp(t,"g"),r[t]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
C="January February March April May June July August September October November December".split(" ");r={"%a":function(h){return w[h.Sa].substring(0,3)},"%A":function(h){return w[h.Sa]},"%b":function(h){return C[h.Ha].substring(0,3)},"%B":function(h){return C[h.Ha]},"%C":function(h){return g((h.xa+1900)/100|0,2)},"%d":function(h){return g(h.La,2)},"%e":function(h){return f(h.La,2," ")},"%g":function(h){return q(h).toString().substring(2)},"%G":function(h){return q(h)},"%H":function(h){return g(h.Ra,
2)},"%I":function(h){h=h.Ra;0==h?h=12:12<h&&(h-=12);return g(h,2)},"%j":function(h){return g(h.La+uc(tc(h.xa+1900)?vc:wc,h.Ha-1),3)},"%m":function(h){return g(h.Ha+1,2)},"%M":function(h){return g(h.Qb,2)},"%n":function(){return"\n"},"%p":function(h){return 0<=h.Ra&&12>h.Ra?"AM":"PM"},"%S":function(h){return g(h.Rb,2)},"%t":function(){return"\t"},"%u":function(h){return h.Sa||7},"%U":function(h){var p=new Date(h.xa+1900,0,1),y=0===p.getDay()?p:xc(p,7-p.getDay());h=new Date(h.xa+1900,h.Ha,h.La);return 0>
l(y,h)?g(Math.ceil((31-y.getDate()+(uc(tc(h.getFullYear())?vc:wc,h.getMonth()-1)-31)+h.getDate())/7),2):0===l(y,p)?"01":"00"},"%V":function(h){var p=new Date(h.xa+1901,0,4),y=k(new Date(h.xa+1900,0,4));p=k(p);var z=xc(new Date(h.xa+1900,0,1),h.Ta);return 0>l(z,y)?"53":0>=l(p,z)?"01":g(Math.ceil((y.getFullYear()<h.xa+1900?h.Ta+32-y.getDate():h.Ta+1-y.getDate())/7),2)},"%w":function(h){return h.Sa},"%W":function(h){var p=new Date(h.xa,0,1),y=1===p.getDay()?p:xc(p,0===p.getDay()?1:7-p.getDay()+1);h=
new Date(h.xa+1900,h.Ha,h.La);return 0>l(y,h)?g(Math.ceil((31-y.getDate()+(uc(tc(h.getFullYear())?vc:wc,h.getMonth()-1)-31)+h.getDate())/7),2):0===l(y,p)?"01":"00"},"%y":function(h){return(h.xa+1900).toString().substring(2)},"%Y":function(h){return h.xa+1900},"%z":function(h){h=h.Pb;var p=0<=h;h=Math.abs(h)/60;return(p?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.Sb},"%%":function(){return"%"}};for(t in r)c.includes(t)&&(c=c.replace(new RegExp(t,"g"),r[t](d)));t=zc(c);
if(t.length>b)return 0;Ea(t,a);return t.length-1}G||P.sb();qb=D.InternalError=pb("InternalError");for(var Ac=Array(256),Bc=0;256>Bc;++Bc)Ac[Bc]=String.fromCharCode(Bc);tb=Ac;ub=D.BindingError=pb("BindingError");D.count_emval_handles=function(){for(var a=0,b=5;b<Y.length;++b)void 0!==Y[b]&&++a;return a};D.get_first_emval=function(){for(var a=5;a<Y.length;++a)if(void 0!==Y[a])return Y[a];return null};Gb=D.UnboundTypeError=pb("UnboundTypeError");
var Cc=[null,function(a,b){if(G)return Z(1,1,a,b)},Zb,lc,mc,nc,oc,pc];function zc(a){var b=Array(xa(a)+1);va(a,b,0,b.length);return b}
var Fc={e:function(a,b,c,d){K("Assertion failed: "+L(a)+", at: "+[b?L(b):"unknown filename",c,d?L(d):"unknown function"])},J:function(a){return Q(a+16)+16},q:function(a,b){return gb(a,b)},B:function(a,b,c){(new hb(a)).qb(b,c);ib++;throw a;},s:function(a){var b=jb[a];delete jb[a];var c=b.wb,d=b.xb,f=b.bb,g=f.map(function(l){return l.ob}).concat(f.map(function(l){return l.Ib}));rb([a],g,function(l){var k={};f.forEach(function(q,r){var t=l[r],w=q.mb,C=q.nb,h=l[r+f.length],p=q.Hb,y=q.Jb;k[q.kb]={read:function(z){return t.fromWireType(w(C,
z))},write:function(z,I){var da=[];p(y,z,h.toWireType(da,I));kb(da)}}});return[{name:b.name,fromWireType:function(q){var r={},t;for(t in k)r[t]=k[t].read(q);d(q);return r},toWireType:function(q,r){for(var t in k)if(!(t in r))throw new TypeError('Missing field: "'+t+'"');var w=c();for(t in k)k[t].write(w,r[t]);null!==q&&q.push(d,w);return w},argPackAdvance:8,readValueFromPointer:lb,Da:d}]})},w:function(){},Q:function(a,b,c,d,f){var g=sb(c);b=W(b);V(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,
k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var k=e();else if(2===c)k=x();else if(4===c)k=A();else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[l>>g])},Da:null})},P:function(a,b){b=W(b);V(a,{name:b,fromWireType:function(c){var d=Y[c].value;wb(c);return d},toWireType:function(c,d){return xb(d)},argPackAdvance:8,readValueFromPointer:lb,Da:null})},o:function(a,b,c){c=sb(c);b=W(b);V(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,
f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+yb(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:zb(b,c),Da:null})},r:function(a,b,c,d,f,g){var l=Db(b,c);a=W(a);f=Fb(d,f);Cb(a,function(){Jb("Cannot call "+a+" due to unbound types",l)},b-1);rb([],l,function(k){var q=a,r=a;k=[k[0],null].concat(k.slice(1));var t=f,w=k.length;2>w&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var C=null!==k[1]&&!1,
h=!1,p=1;p<k.length;++p)if(null!==k[p]&&void 0===k[p].Da){h=!0;break}var y="void"!==k[0].name,z="",I="";for(p=0;p<w-2;++p)z+=(0!==p?", ":"")+"arg"+p,I+=(0!==p?", ":"")+"arg"+p+"Wired";r="return function "+nb(r)+"("+z+") {\nif (arguments.length !== "+(w-2)+") {\nthrowBindingError('function "+r+" called with ' + arguments.length + ' arguments, expected "+(w-2)+" args!');\n}\n";h&&(r+="var destructors = [];\n");var da=h?"destructors":"null";z="throwBindingError invoker fn runDestructors retType classParam".split(" ");
t=[X,t,g,kb,k[0],k[1]];C&&(r+="var thisWired = classParam.toWireType("+da+", this);\n");for(p=0;p<w-2;++p)r+="var arg"+p+"Wired = argType"+p+".toWireType("+da+", arg"+p+"); // "+k[p+2].name+"\n",z.push("argType"+p),t.push(k[p+2]);C&&(I="thisWired"+(0<I.length?", ":"")+I);r+=(y?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(h)r+="runDestructors(destructors);\n";else for(p=C?1:2;p<k.length;++p)w=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==k[p].Da&&(r+=w+"_dtor("+w+"); // "+k[p].name+
"\n",z.push(w+"_dtor"),t.push(k[p].Da));y&&(r+="var ret = retType.fromWireType(rv);\nreturn ret;\n");z.push(r+"}\n");k=Ab(z).apply(null,t);p=b-1;if(!D.hasOwnProperty(q))throw new qb("Replacing nonexistant public symbol");void 0!==D[q].Aa&&void 0!==p?D[q].Aa[p]=k:(D[q]=k,D[q].hb=p);return[]})},d:function(a,b,c,d,f){function g(r){return r}b=W(b);-1===f&&(f=4294967295);var l=sb(c);if(0===d){var k=32-8*c;g=function(r){return r<<k>>>k}}var q=b.includes("unsigned");V(a,{name:b,fromWireType:g,toWireType:function(r,
t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+yb(t)+'" to '+this.name);if(t<d||t>f)throw new TypeError('Passing a number "'+yb(t)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return q?t>>>0:t|0},argPackAdvance:8,readValueFromPointer:Kb(b,l,0!==d),Da:null})},c:function(a,b,c){function d(g){g>>=2;var l=B();return new f(n,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
Uint32Array,Float32Array,Float64Array][b];c=W(c);V(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{pb:!0})},p:function(a,b){b=W(b);var c="std::string"===b;V(a,{name:b,fromWireType:function(d){var f=B()[d>>2];if(c)for(var g=d+4,l=0;l<=f;++l){var k=d+4+l;if(l==f||0==v()[k]){g=L(g,k-g);if(void 0===q)var q=g;else q+=String.fromCharCode(0),q+=g;g=k+1}}else{q=Array(f);for(l=0;l<f;++l)q[l]=String.fromCharCode(v()[d+4+l]);q=q.join("")}S(d);return q},toWireType:function(d,f){f instanceof
ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||X("Cannot pass non-string to std::string");var l=(c&&g?function(){return xa(f)}:function(){return f.length})(),k=Q(4+l+1);B()[k>>2]=l;if(c&&g)wa(f,k+4,l+1);else if(g)for(g=0;g<l;++g){var q=f.charCodeAt(g);255<q&&(S(k),X("String has UTF-16 code units that do not fit in 8 bits"));v()[k+4+g]=q}else for(g=0;g<l;++g)v()[k+4+g]=f[g];null!==d&&d.push(S,k);return k},
argPackAdvance:8,readValueFromPointer:lb,Da:function(d){S(d)}})},k:function(a,b,c){c=W(c);if(2===b){var d=ya;var f=za;var g=Aa;var l=function(){return ea()};var k=1}else 4===b&&(d=Ba,f=Ca,g=Da,l=function(){return B()},k=2);V(a,{name:c,fromWireType:function(q){for(var r=B()[q>>2],t=l(),w,C=q+4,h=0;h<=r;++h){var p=q+4+h*b;if(h==r||0==t[p>>k])C=d(C,p-C),void 0===w?w=C:(w+=String.fromCharCode(0),w+=C),C=p+b}S(q);return w},toWireType:function(q,r){"string"!==typeof r&&X("Cannot pass non-string to C++ string type "+
c);var t=g(r),w=Q(4+t+b);B()[w>>2]=t>>k;f(r,w+4,t+b);null!==q&&q.push(S,w);return w},argPackAdvance:8,readValueFromPointer:lb,Da:function(q){S(q)}})},t:function(a,b,c,d,f,g){jb[a]={name:W(b),wb:Fb(c,d),xb:Fb(f,g),bb:[]}},f:function(a,b,c,d,f,g,l,k,q,r){jb[a].bb.push({kb:W(b),ob:c,mb:Fb(d,f),nb:g,Ib:l,Hb:Fb(k,q),Jb:r})},R:function(a,b){b=W(b);V(a,{$b:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},I:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"});
else if(G)postMessage({targetThread:a,cmd:"processThreadQueue"});else{a=(a=P.Ba[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},i:wb,U:function(a){if(0===a)return xb(Mb());var b=Lb[a];a=void 0===b?W(a):b;return xb(Mb()[a])},T:function(a){4<a&&(Y[a].Wa+=1)},u:function(a,b,c,d){a||X("Cannot use deleted val. handle = "+a);a=Y[a].value;var f=Ob[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";
for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(Nb,D,xb);Ob[b]=f}return f(a,c,d)},b:function(){K()},n:function(a,b,c){Pb.length=0;var d;for(c>>=2;d=v()[b++];)(d=105>d)&&c&1&&c++,
Pb.push(d?ja()[c++>>1]:A()[c]),++c;return Qa[a].apply(null,Pb)},E:function(){},m:function(){},h:Qb,g:Sa,j:fb,z:function(a,b,c){v().copyWithin(a,b,b+c)},D:function(){return navigator.hardwareConcurrency},F:function(a,b,c){Ub.length=b;c>>=3;for(var d=0;d<b;d++)Ub[d]=ja()[c+d];return(0>a?Qa[-a-1]:Cc[a]).apply(null,Ub)},A:function(a){var b=v().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{m.grow(Math.min(2147483648,
d)-n.byteLength+65535>>>16);u(m.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},G:function(a,b,c){return Wb(a)?Xb(a,b,c):Zb(a,b,c)},l:function(){},H:function(a,b){b>>=2;var c=A()[b+6];b={alpha:!!A()[b],depth:!!A()[b+1],stencil:!!A()[b+2],antialias:!!A()[b+3],premultipliedAlpha:!!A()[b+4],preserveDrawingBuffer:!!A()[b+5],powerPreference:gc[c],failIfMajorPerformanceCaveat:!!A()[b+7],vb:A()[b+8],ac:A()[b+9],ab:A()[b+10],jb:A()[b+11],dc:A()[b+12],ec:A()[b+13]};a=Wb(a);return!a||b.jb?
0:cc(a,b)},L:lc,M:mc,N:nc,v:oc,O:pc,y:function(){P.tb()},a:m||D.wasmMemory,S:function(a,b,c,d){if("undefined"===typeof SharedArrayBuffer)return J("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!a)return J("pthread_create called with a null thread pointer!"),28;var f=[];if(G&&0===f.length)return Dc(687865856,a,b,c,d);var g=0,l=0;if(b&&-1!=b){var k=A()[b>>2];k+=81920;g=A()[b+8>>2];l=0!==A()[b+12>>2]}else k=2097152;(b=0==g)?g=Ec(16,k):(g-=k,0<g||K("Assertion failed: undefined"));
for(var q=Q(228),r=0;57>r;++r)B()[(q>>2)+r]=0;A()[a>>2]=q;A()[q+12>>2]=q;a=q+152;A()[a>>2]=a;c={Fa:g,Ga:k,Ua:b,$a:l,Kb:c,Pa:q,Ia:d,Tb:f};return G?(c.Vb="spawnThread",postMessage(c,f),0):$a(c)},C:function(a,b){return rc(a,b)},x:function(){},K:function(a,b,c,d){return yc(a,b,c,d)}};
(function(){function a(f,g){D.asm=f.exports;M=D.asm.Z;Ia.unshift(D.asm.V);P.Ya.push(D.asm.Y);sa=g;if(!G){var l=P.za.length;P.za.forEach(function(k){P.eb(k,function(){if(!--l&&(N--,D.monitorRunDependencies&&D.monitorRunDependencies(N),0==N&&(null!==La&&(clearInterval(La),La=null),Ma))){var q=Ma;Ma=null;q()}})})}}function b(f){a(f.instance,f.module)}function c(f){return Oa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){J("failed to asynchronously prepare wasm: "+g);K(g)})}
var d={a:Fc};G||(!G||K("Assertion failed: addRunDependency cannot be used in a pthread worker"),N++,D.monitorRunDependencies&&D.monitorRunDependencies(N));if(D.instantiateWasm)try{return D.instantiateWasm(d,a)}catch(f){return J("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return ra||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,
d).then(b,function(g){J("wasm streaming compile failed: "+g);J("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ma);return{}})();D.___wasm_call_ctors=function(){return(D.___wasm_call_ctors=D.asm.V).apply(null,arguments)};var Q=D._malloc=function(){return(Q=D._malloc=D.asm.W).apply(null,arguments)},S=D._free=function(){return(S=D._free=D.asm.X).apply(null,arguments)};D._emscripten_tls_init=function(){return(D._emscripten_tls_init=D.asm.Y).apply(null,arguments)};
var Ib=D.___getTypeName=function(){return(Ib=D.___getTypeName=D.asm._).apply(null,arguments)};D.___embind_register_native_and_builtin_types=function(){return(D.___embind_register_native_and_builtin_types=D.asm.$).apply(null,arguments)};D._emscripten_current_thread_process_queued_calls=function(){return(D._emscripten_current_thread_process_queued_calls=D.asm.aa).apply(null,arguments)};
var Wa=D._emscripten_register_main_browser_thread_id=function(){return(Wa=D._emscripten_register_main_browser_thread_id=D.asm.ba).apply(null,arguments)},sc=D._emscripten_main_browser_thread_id=function(){return(sc=D._emscripten_main_browser_thread_id=D.asm.ca).apply(null,arguments)},Pa=D.__emscripten_do_dispatch_to_thread=function(){return(Pa=D.__emscripten_do_dispatch_to_thread=D.asm.da).apply(null,arguments)},Dc=D._emscripten_sync_run_in_main_thread_4=function(){return(Dc=D._emscripten_sync_run_in_main_thread_4=
D.asm.ea).apply(null,arguments)},Za=D._emscripten_main_thread_process_queued_calls=function(){return(Za=D._emscripten_main_thread_process_queued_calls=D.asm.fa).apply(null,arguments)},Tb=D._emscripten_run_in_main_runtime_thread_js=function(){return(Tb=D._emscripten_run_in_main_runtime_thread_js=D.asm.ga).apply(null,arguments)},Yb=D.__emscripten_call_on_thread=function(){return(Yb=D.__emscripten_call_on_thread=D.asm.ha).apply(null,arguments)},Va=D.__emscripten_thread_init=function(){return(Va=D.__emscripten_thread_init=
D.asm.ia).apply(null,arguments)},R=D._pthread_self=function(){return(R=D._pthread_self=D.asm.ja).apply(null,arguments)},Xa=D.___pthread_tsd_run_dtors=function(){return(Xa=D.___pthread_tsd_run_dtors=D.asm.ka).apply(null,arguments)},qc=D._emscripten_get_global_libc=function(){return(qc=D._emscripten_get_global_libc=D.asm.la).apply(null,arguments)},Rb=D.stackSave=function(){return(Rb=D.stackSave=D.asm.ma).apply(null,arguments)},db=D.stackRestore=function(){return(db=D.stackRestore=D.asm.na).apply(null,
arguments)},Sb=D.stackAlloc=function(){return(Sb=D.stackAlloc=D.asm.oa).apply(null,arguments)},cb=D._emscripten_stack_set_limits=function(){return(cb=D._emscripten_stack_set_limits=D.asm.pa).apply(null,arguments)},Ec=D._memalign=function(){return(Ec=D._memalign=D.asm.qa).apply(null,arguments)};D.dynCall_viijii=function(){return(D.dynCall_viijii=D.asm.ra).apply(null,arguments)};D.dynCall_iiji=function(){return(D.dynCall_iiji=D.asm.sa).apply(null,arguments)};
D.dynCall_jiji=function(){return(D.dynCall_jiji=D.asm.ta).apply(null,arguments)};D.dynCall_iiiiij=function(){return(D.dynCall_iiiiij=D.asm.ua).apply(null,arguments)};D.dynCall_iiiiijj=function(){return(D.dynCall_iiiiijj=D.asm.va).apply(null,arguments)};D.dynCall_iiiiiijj=function(){return(D.dynCall_iiiiiijj=D.asm.wa).apply(null,arguments)};var Ya=D.__emscripten_allow_main_runtime_queued_calls=60568,Ta=D.__emscripten_main_thread_futex=73404;D.PThread=P;D.PThread=P;D.wasmMemory=m;D.ExitStatus=ab;var Gc;
function ab(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ma=function Hc(){Gc||Ic();Gc||(Ma=Hc)};
function Ic(){function a(){if(!Gc&&(Gc=!0,D.calledRun=!0,!ta)){G||Ra(Ia);la(D);if(D.onRuntimeInitialized)D.onRuntimeInitialized();if(!G){if(D.postRun)for("function"==typeof D.postRun&&(D.postRun=[D.postRun]);D.postRun.length;){var b=D.postRun.shift();Ja.unshift(b)}Ra(Ja)}}}if(!(0<N))if(G)la(D),G||Ra(Ia),postMessage({cmd:"loaded"});else{if(!G){if(D.preRun)for("function"==typeof D.preRun&&(D.preRun=[D.preRun]);D.preRun.length;)Ka();Ra(Ha)}0<N||(D.setStatus?(D.setStatus("Running..."),setTimeout(function(){setTimeout(function(){D.setStatus("")},
1);a()},1)):a())}}D.run=Ic;if(D.preInit)for("function"==typeof D.preInit&&(D.preInit=[D.preInit]);0<D.preInit.length;)D.preInit.pop()();G&&(noExitRuntime=!1,P.ub());Ic();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1 +0,0 @@
"use strict";var Module={};var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};function moduleLoaded(){}self.onmessage=function(e){try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./jxl_enc_mt.js")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance;moduleLoaded()})}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0);var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["PThread"].threadExit(result)}}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["PThread"].threadExit(ex.status)}}else{Module["PThread"].threadExit(-2);throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}};

View File

@@ -1 +0,0 @@
export { default } from './jxl_enc';

View File

@@ -1,105 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
function e(){m.buffer!=n&&u(m.buffer);return aa}function v(){m.buffer!=n&&u(m.buffer);return ba}function x(){m.buffer!=n&&u(m.buffer);return ca}function ea(){m.buffer!=n&&u(m.buffer);return fa}function A(){m.buffer!=n&&u(m.buffer);return ha}function B(){m.buffer!=n&&u(m.buffer);return ia}function ja(){m.buffer!=n&&u(m.buffer);return ka}var D;D||(D=typeof Module !== 'undefined' ? Module : {});var la,ma;D.ready=new Promise(function(a,b){la=a;ma=b});var E={},F;
for(F in D)D.hasOwnProperty(F)&&(E[F]=D[F]);var na="./this.program";function oa(a,b){throw b;}var G=D.ENVIRONMENT_IS_PTHREAD||!1,H="",pa;H=self.location.href;_scriptDir&&(H=_scriptDir);0!==H.indexOf("blob:")?H=H.substr(0,H.lastIndexOf("/")+1):H="";pa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var qa=D.print||console.log.bind(console),J=D.printErr||console.warn.bind(console);
for(F in E)E.hasOwnProperty(F)&&(D[F]=E[F]);E=null;D.thisProgram&&(na=D.thisProgram);D.quit&&(oa=D.quit);var ra;D.wasmBinary&&(ra=D.wasmBinary);var noExitRuntime=D.noExitRuntime||!0;"object"!==typeof WebAssembly&&K("no native wasm support detected");var m,sa,ta=!1;
function ua(a,b,c){c=b+c;for(var d="";!(b>=c);){var f=a[b++];if(!f)break;if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|l:(f&7)<<18|g<<12|l<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function L(a,b){return a?ua(v(),a,b):""}
function va(a,b,c,d){if(0<d){d=c+d-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0}}function wa(a,b,c){va(a,v(),b,c)}
function xa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function ya(a,b){for(var c="",d=0;!(d>=b/2);++d){var f=x()[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}function za(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f){var g=a.charCodeAt(f);x()[b>>1]=g;b+=2}x()[b>>1]=0;return b-d}
function Aa(a){return 2*a.length}function Ba(a,b){for(var c=0,d="";!(c>=b/4);){var f=A()[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}function Ca(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}A()[b>>2]=g;b+=4;if(b+4>c)break}A()[b>>2]=0;return b-d}
function Da(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}function Ea(a,b){e().set(a,b)}var n,aa,ba,ca,fa,ha,ia,Fa,ka;G&&(n=D.buffer);function u(a){n=a;D.HEAP8=aa=new Int8Array(a);D.HEAP16=ca=new Int16Array(a);D.HEAP32=ha=new Int32Array(a);D.HEAPU8=ba=new Uint8Array(a);D.HEAPU16=fa=new Uint16Array(a);D.HEAPU32=ia=new Uint32Array(a);D.HEAPF32=Fa=new Float32Array(a);D.HEAPF64=ka=new Float64Array(a)}var Ga=D.INITIAL_MEMORY||16777216;
if(G)m=D.wasmMemory,n=D.buffer;else if(D.wasmMemory)m=D.wasmMemory;else if(m=new WebAssembly.Memory({initial:Ga/65536,maximum:32768,shared:!0}),!(m.buffer instanceof SharedArrayBuffer))throw J("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");m&&(n=m.buffer);Ga=n.byteLength;u(n);var M,Ha=[],Ia=[],Ja=[];
function Ka(){var a=D.preRun.shift();Ha.unshift(a)}var N=0,La=null,Ma=null;D.preloadedImages={};D.preloadedAudios={};function K(a){if(D.onAbort)D.onAbort(a);G&&console.error("Pthread aborting at "+Error().stack);J(a);ta=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ma(a);throw a;}var O=(new URL("jxl_enc_mt_simd.wasm",import.meta.url)).toString();
function Na(){try{if(O==O&&ra)return new Uint8Array(ra);if(pa)return pa(O);throw"both async and sync fetching of the wasm failed";}catch(a){K(a)}}function Oa(){return ra||"function"!==typeof fetch?Promise.resolve().then(function(){return Na()}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Na()})}
var Qa={59668:function(){throw"Canceled!";},59686:function(a,b){setTimeout(function(){Pa(a,b)},0)}};function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(D);else{var c=b.Yb;"number"===typeof c?void 0===b.Ia?M.get(c)():M.get(c)(b.Ia):c(void 0===b.Ia?null:b.Ia)}}}
function Sa(a,b){if(0>=a||a>e().length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(A(),Ta>>2),d=0;if(c==a&&Atomics.compareExchange(A(),Ta>>2,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(A(),a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}D._emscripten_futex_wake=Sa;
function Ua(a){if(G)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";var b=P.Ba[a];b&&(A()[a+12>>2]=0,P.Qa(b.worker))}
var P={za:[],Ea:[],Ya:[],sb:function(){for(var a=navigator.hardwareConcurrency,b=0;b<a;++b)P.Za()},tb:function(){for(var a=Q(228),b=0;57>b;++b)B()[a/4+b]=0;A()[a+12>>2]=a;b=a+152;A()[b>>2]=b;var c=Q(512);for(b=0;128>b;++b)B()[c/4+b]=0;Atomics.store(B(),a+100>>2,c);Atomics.store(B(),a+40>>2,a);Va(a,!1,1);Wa(a)},ub:function(){P.receiveObjectTransfer=P.yb;P.threadInit=P.Ob;P.threadCancel=P.Mb;P.threadExit=P.Nb;P.setExitStatus=P.Bb},Ba:{},Xa:[],zb:function(){for(;0<P.Xa.length;)P.Xa.pop()();G&&R()&&Xa()},
gb:function(a,b){Atomics.store(B(),a+56>>2,1);Atomics.store(B(),a+60>>2,0);P.zb();Atomics.store(B(),a+4>>2,b);Atomics.store(B(),a+0>>2,1);Sa(a+0,2147483647);Va(0,0,0)},Bb:function(){},Nb:function(a){var b=R();b&&(P.gb(b,a),G&&postMessage({cmd:"exit"}))},Mb:function(){P.gb(R(),-1);postMessage({cmd:"cancelDone"})},Lb:function(){for(var a in P.Ba){var b=P.Ba[a];b&&b.worker&&P.Qa(b.worker)}P.Ba={};for(a=0;a<P.za.length;++a){var c=P.za[a];c.terminate()}P.za=[];for(a=0;a<P.Ea.length;++a)c=P.Ea[a],b=c.ya,
P.Va(b),c.terminate();P.Ea=[]},Va:function(a){if(a){if(a.Ca){var b=A()[a.Ca+100>>2];A()[a.Ca+100>>2]=0;S(b);S(a.Ca)}a.Ca=0;a.Ua&&a.Fa&&S(a.Fa);a.Fa=0;a.worker&&(a.worker.ya=null)}},Qa:function(a){P.Ab(function(){delete P.Ba[a.ya.Ca];P.za.push(a);P.Ea.splice(P.Ea.indexOf(a),1);P.Va(a.ya);a.ya=void 0})},Ab:function(a){A()[Ya>>2]=0;try{a()}finally{A()[Ya>>2]=1}},yb:function(){},Ob:function(){for(var a in P.Ya)P.Ya[a]()},eb:function(a,b){a.onmessage=function(c){var d=c.data,f=d.cmd;a.ya&&(P.ib=a.ya.Ca);
if(d.targetThread&&d.targetThread!=R()){var g=P.Ba[d.fc];g?g.worker.postMessage(c.data,d.transferList):console.error('Internal error! Worker sent a message "'+f+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===f)Za();else if("spawnThread"===f)$a(c.data);else if("cleanupThread"===f)Ua(d.thread);else if("killThread"===f){c=d.thread;if(G)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!";
A()[c+12>>2]=0;c=P.Ba[c];c.worker.terminate();P.Va(c);P.Ea.splice(P.Ea.indexOf(c.worker),1);c.worker.ya=void 0}else if("cancelThread"===f){c=d.thread;if(G)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in cancelThread!";P.Ba[c].worker.postMessage({cmd:"cancel"})}else if("loaded"===f)a.loaded=!0,b&&b(a),a.Ka&&(a.Ka(),delete a.Ka);else if("print"===f)qa("Thread "+d.threadId+": "+d.text);else if("printErr"===f)J("Thread "+
d.threadId+": "+d.text);else if("alert"===f)alert("Thread "+d.threadId+": "+d.text);else if("exit"===f)a.ya&&Atomics.load(B(),a.ya.Ca+64>>2)&&P.Qa(a);else if("exitProcess"===f)try{g=d.returnCode;if(G)throw postMessage({cmd:"exitProcess",returnCode:g}),new ab(g);if(!bb()){P.Lb();if(D.onExit)D.onExit(g);ta=!0}oa(g,new ab(g))}catch(l){if(l instanceof ab)return;throw l;}else"cancelDone"===f?P.Qa(a):"objectTransfer"!==f&&("setimmediate"===c.data.target?a.postMessage(c.data):J("worker sent an unknown command "+
f));P.ib=void 0};a.onerror=function(c){J("pthread sent an error! "+c.filename+":"+c.lineno+": "+c.message)};a.postMessage({cmd:"load",urlOrBlob:D.mainScriptUrlOrBlob,wasmMemory:m,wasmModule:sa})},Za:function(){if(D.locateFile){var a=D.locateFile?D.locateFile("jxl_enc_mt_simd.worker.js",H):H+"jxl_enc_mt_simd.worker.js";P.za.push(new Worker(a))}else P.za.push(new Worker(new URL("jxl_enc_mt_simd.worker.js",import.meta.url)))},lb:function(){0==P.za.length&&(P.Za(),P.eb(P.za[0]));return P.za.pop()},
Ub:function(a){for(a=performance.now()+a;performance.now()<a;);}};D.establishStackSpace=function(a,b){cb(a,b);db(a)};D.invokeEntryPoint=function(a,b){return M.get(a)(b)};var eb=0;function bb(){return noExitRuntime||0<eb}D.keepRuntimeAlive=bb;var fb;fb=G?function(){return performance.now()-D.__performance_now_clock_drift}:function(){return performance.now()};function gb(a,b){P.Xa.push(function(){M.get(a)(b)})}
function hb(a){this.Ja=a-16;this.Gb=function(b){A()[this.Ja+8>>2]=b};this.Db=function(b){A()[this.Ja+0>>2]=b};this.Eb=function(){A()[this.Ja+4>>2]=0};this.Cb=function(){var b=0;e()[this.Ja+12>>0]=b};this.Fb=function(){var b=0;e()[this.Ja+13>>0]=b};this.qb=function(b,c){this.Gb(b);this.Db(c);this.Eb();this.Cb();this.Fb()}}var ib=0,jb={};function kb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function lb(a){return this.fromWireType(B()[a>>2])}var T={},U={},mb={};
function nb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ob(a,b){a=nb(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function pb(a){var b=Error,c=ob(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var qb=void 0;
function rb(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new qb("Mismatched type converter count");for(var q=0;q<a.length;++q)V(a[q],k[q])}a.forEach(function(k){mb[k]=b});var f=Array(b.length),g=[],l=0;b.forEach(function(k,q){U.hasOwnProperty(k)?f[q]=U[k]:(g.push(k),T.hasOwnProperty(k)||(T[k]=[]),T[k].push(function(){f[q]=U[k];++l;l===g.length&&d(f)}))});0===g.length&&d(f)}
function sb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var tb=void 0;function W(a){for(var b="";v()[a];)b+=tb[v()[a++]];return b}var ub=void 0;function X(a){throw new ub(a);}
function V(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||X('type "'+d+'" must have a positive integer typeid pointer');if(U.hasOwnProperty(a)){if(c.pb)return;X("Cannot register type '"+d+"' twice")}U[a]=b;delete mb[a];T.hasOwnProperty(a)&&(b=T[a],delete T[a],b.forEach(function(f){f()}))}var vb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function wb(a){4<a&&0===--Y[a].Wa&&(Y[a]=void 0,vb.push(a))}function xb(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=vb.length?vb.pop():Y.length;Y[b]={Wa:1,value:a};return b}}function yb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function zb(a,b){switch(b){case 2:return function(c){var d=this.fromWireType;m.buffer!=n&&u(m.buffer);return d.call(this,Fa[c>>2])};case 3:return function(c){return this.fromWireType(ja()[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function Ab(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=ob(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Bb(a,b){var c=D;if(void 0===c[a].Aa){var d=c[a];c[a]=function(){c[a].Aa.hasOwnProperty(arguments.length)||X("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Aa+")!");return c[a].Aa[arguments.length].apply(this,arguments)};c[a].Aa=[];c[a].Aa[d.hb]=d}}
function Cb(a,b,c){D.hasOwnProperty(a)?((void 0===c||void 0!==D[a].Aa&&void 0!==D[a].Aa[c])&&X("Cannot register public name '"+a+"' twice"),Bb(a,a),D.hasOwnProperty(c)&&X("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),D[a].Aa[c]=b):(D[a]=b,void 0!==c&&(D[a].cc=c))}function Db(a,b){for(var c=[],d=0;d<a;d++)c.push(A()[(b>>2)+d]);return c}
function Eb(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=D["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=M.get(b).apply(null,c);return d}}function Fb(a,b){a=W(a);var c=a.includes("j")?Eb(a,b):M.get(b);"function"!==typeof c&&X("unknown function pointer with signature "+a+": "+b);return c}var Gb=void 0;function Hb(a){a=Ib(a);var b=W(a);S(a);return b}
function Jb(a,b){function c(g){f[g]||U[g]||(mb[g]?mb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Gb(a+": "+d.map(Hb).join([", "]));}function Kb(a,b,c){switch(b){case 0:return c?function(d){return e()[d]}:function(d){return v()[d]};case 1:return c?function(d){return x()[d>>1]}:function(d){return ea()[d>>1]};case 2:return c?function(d){return A()[d>>2]}:function(d){return B()[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Lb={};
function Mb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function Nb(a,b){var c=U[a];void 0===c&&X(b+" has unknown type "+Hb(a));return c}var Ob={},Pb=[];function Qb(a,b,c){if(0>=a||a>e().length||a&1)return-28;a=Atomics.wait(A(),a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+a;}
function Z(a,b){for(var c=arguments.length-2,d=Rb(),f=Sb(8*c),g=f>>3,l=0;l<c;l++){var k=arguments[2+l];ja()[g+l]=k}c=Tb(a,c,f,b);db(d);return c}var Ub=[],Vb=[0,"undefined"!==typeof document?document:0,"undefined"!==typeof window?window:0];function Wb(a){a=2<a?L(a):a;return Vb[a]||("undefined"!==typeof document?document.querySelector(a):void 0)}
function Xb(a,b,c){var d=Wb(a);if(!d)return-4;d.Oa&&(A()[d.Oa>>2]=b,A()[d.Oa+4>>2]=c);if(d.fb||!d.Wb)d.fb&&(d=d.fb),a=!1,d.Na&&d.Na.Ma&&(a=d.Na.Ma.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.Na.Ma.viewport(0,0,b,c);else{if(d.Oa){d=A()[d.Oa+8>>2];a=a?L(a):"";var f=Rb(),g=Sb(12),l=0;if(a){l=xa(a)+1;var k=Q(l);wa(a,k,l);l=k}A()[g>>2]=l;A()[g+4>>2]=b;A()[g+8>>2]=c;Yb(0,d,657457152,0,l,g);db(f);return 1}return-4}return 0}
function Zb(a,b,c){return G?Z(2,1,a,b,c):Xb(a,b,c)}function $b(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,g){b.drawArraysInstancedANGLE(c,d,f,g)},a.drawElementsInstanced=function(c,d,f,g,l){b.drawElementsInstancedANGLE(c,d,f,g,l)})}
function ac(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function bc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
function cc(a,b){a.cb||(a.cb=a.getContext,a.getContext=function(d,f){f=a.cb(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=a.getContext("webgl",b);return c?dc(c,b):0}function dc(a,b){var c=Q(8);A()[c+4>>2]=R();var d={Zb:c,attributes:b,version:b.vb,Ma:a};a.canvas&&(a.canvas.Na=d);("undefined"===typeof b.ab||b.ab)&&ec(d);return c}
function ec(a){a||(a=fc);if(!a.rb){a.rb=!0;var b=a.Ma;$b(b);ac(b);bc(b);b.Xb=b.getExtension("EXT_disjoint_timer_query");b.bc=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var fc,gc=["default","low-power","high-performance"],hc={};
function ic(){if(!jc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:na||"./this.program"},b;for(b in hc)a[b]=hc[b];var c=[];for(b in a)c.push(b+"="+a[b]);jc=c}return jc}var jc,kc=[null,[],[]];
function lc(a,b){if(G)return Z(3,1,a,b);var c=0;ic().forEach(function(d,f){var g=b+c;f=A()[a+4*f>>2]=g;for(g=0;g<d.length;++g)e()[f++>>0]=d.charCodeAt(g);e()[f>>0]=0;c+=d.length+1});return 0}function mc(a,b){if(G)return Z(4,1,a,b);var c=ic();A()[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});A()[b>>2]=d;return 0}function nc(a){return G?Z(5,1,a):0}function oc(a,b,c,d,f){if(G)return Z(6,1,a,b,c,d,f)}
function pc(a,b,c,d){if(G)return Z(7,1,a,b,c,d);for(var f=0,g=0;g<c;g++){for(var l=A()[b+8*g>>2],k=A()[b+(8*g+4)>>2],q=0;q<k;q++){var r=v()[l+q],t=kc[a];0===r||10===r?((1===a?qa:J)(ua(t,0)),t.length=0):t.push(r)}f+=k}A()[d>>2]=f;return 0}
function $a(a){if(G)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=P.lb();if(!b)return 6;if(void 0!==b.ya)throw"Internal error!";if(!a.Pa)throw"Internal error, no pthread ptr!";P.Ea.push(b);for(var c=Q(512),d=0;128>d;++d)A()[c+4*d>>2]=0;var f=a.Fa+a.Ga;d=P.Ba[a.Pa]={worker:b,Fa:a.Fa,Ga:a.Ga,Ua:a.Ua,Ca:a.Pa};var g=d.Ca>>2;Atomics.store(B(),g+16,a.$a);Atomics.store(B(),g+25,c);Atomics.store(B(),g+10,d.Ca);Atomics.store(B(),g+20,a.Ga);Atomics.store(B(),
g+19,f);Atomics.store(B(),g+26,a.Ga);Atomics.store(B(),g+28,f);Atomics.store(B(),g+29,a.$a);c=qc()+40;Atomics.store(B(),g+43,c);b.ya=d;var l={cmd:"run",start_routine:a.Kb,arg:a.Ia,threadInfoStruct:a.Pa,stackBase:a.Fa,stackSize:a.Ga};b.Ka=function(){l.time=performance.now();b.postMessage(l,a.Tb)};b.loaded&&(b.Ka(),delete b.Ka);return 0}
function rc(a,b){if(!a)return J("pthread_join attempted on a null thread pointer!"),71;if(G&&R()==a)return J("PThread "+a+" is attempting to join to itself!"),16;if(!G&&sc()==a)return J("Main thread "+a+" is attempting to join to itself!"),16;if(A()[a+12>>2]!==a)return J("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(B(),a+64>>2))return J("Attempted to join thread "+a+", which was already detached!"),28;for(;;){var c=
Atomics.load(B(),a+0>>2);if(1==c)return c=Atomics.load(B(),a+4>>2),b&&(A()[b>>2]=c),Atomics.store(B(),a+64>>2,1),G?postMessage({cmd:"cleanupThread",thread:a}):Ua(a),0;if(G){var d=R();if(d&&!Atomics.load(B(),d+56>>2)&&2==Atomics.load(B(),d+0>>2))throw"Canceled!";}G||Za();Qb(a+0,c,G?100:1)}}function tc(a){return 0===a%4&&(0!==a%100||0===a%400)}function uc(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var vc=[31,29,31,30,31,30,31,31,30,31,30,31],wc=[31,28,31,30,31,30,31,31,30,31,30,31];
function xc(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(tc(a.getFullYear())?vc:wc)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function yc(a,b,c,d){function f(h,p,y){for(h="number"===typeof h?h.toString():h||"";h.length<p;)h=y[0]+h;return h}function g(h,p){return f(h,p,"0")}function l(h,p){function y(I){return 0>I?-1:0<I?1:0}var z;0===(z=y(h.getFullYear()-p.getFullYear()))&&0===(z=y(h.getMonth()-p.getMonth()))&&(z=y(h.getDate()-p.getDate()));return z}function k(h){switch(h.getDay()){case 0:return new Date(h.getFullYear()-1,11,29);case 1:return h;case 2:return new Date(h.getFullYear(),0,3);case 3:return new Date(h.getFullYear(),
0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function q(h){h=xc(new Date(h.xa+1900,0,1),h.Ta);var p=new Date(h.getFullYear()+1,0,4),y=k(new Date(h.getFullYear(),0,4));p=k(p);return 0>=l(y,h)?0>=l(p,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var r=A()[d+40>>2];d={Rb:A()[d>>2],Qb:A()[d+4>>2],Ra:A()[d+8>>2],La:A()[d+12>>2],Ha:A()[d+16>>2],xa:A()[d+20>>2],Sa:A()[d+24>>2],Ta:A()[d+28>>2],hc:A()[d+
32>>2],Pb:A()[d+36>>2],Sb:r?L(r):""};c=L(c);r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var t in r)c=c.replace(new RegExp(t,"g"),r[t]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
C="January February March April May June July August September October November December".split(" ");r={"%a":function(h){return w[h.Sa].substring(0,3)},"%A":function(h){return w[h.Sa]},"%b":function(h){return C[h.Ha].substring(0,3)},"%B":function(h){return C[h.Ha]},"%C":function(h){return g((h.xa+1900)/100|0,2)},"%d":function(h){return g(h.La,2)},"%e":function(h){return f(h.La,2," ")},"%g":function(h){return q(h).toString().substring(2)},"%G":function(h){return q(h)},"%H":function(h){return g(h.Ra,
2)},"%I":function(h){h=h.Ra;0==h?h=12:12<h&&(h-=12);return g(h,2)},"%j":function(h){return g(h.La+uc(tc(h.xa+1900)?vc:wc,h.Ha-1),3)},"%m":function(h){return g(h.Ha+1,2)},"%M":function(h){return g(h.Qb,2)},"%n":function(){return"\n"},"%p":function(h){return 0<=h.Ra&&12>h.Ra?"AM":"PM"},"%S":function(h){return g(h.Rb,2)},"%t":function(){return"\t"},"%u":function(h){return h.Sa||7},"%U":function(h){var p=new Date(h.xa+1900,0,1),y=0===p.getDay()?p:xc(p,7-p.getDay());h=new Date(h.xa+1900,h.Ha,h.La);return 0>
l(y,h)?g(Math.ceil((31-y.getDate()+(uc(tc(h.getFullYear())?vc:wc,h.getMonth()-1)-31)+h.getDate())/7),2):0===l(y,p)?"01":"00"},"%V":function(h){var p=new Date(h.xa+1901,0,4),y=k(new Date(h.xa+1900,0,4));p=k(p);var z=xc(new Date(h.xa+1900,0,1),h.Ta);return 0>l(z,y)?"53":0>=l(p,z)?"01":g(Math.ceil((y.getFullYear()<h.xa+1900?h.Ta+32-y.getDate():h.Ta+1-y.getDate())/7),2)},"%w":function(h){return h.Sa},"%W":function(h){var p=new Date(h.xa,0,1),y=1===p.getDay()?p:xc(p,0===p.getDay()?1:7-p.getDay()+1);h=
new Date(h.xa+1900,h.Ha,h.La);return 0>l(y,h)?g(Math.ceil((31-y.getDate()+(uc(tc(h.getFullYear())?vc:wc,h.getMonth()-1)-31)+h.getDate())/7),2):0===l(y,p)?"01":"00"},"%y":function(h){return(h.xa+1900).toString().substring(2)},"%Y":function(h){return h.xa+1900},"%z":function(h){h=h.Pb;var p=0<=h;h=Math.abs(h)/60;return(p?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.Sb},"%%":function(){return"%"}};for(t in r)c.includes(t)&&(c=c.replace(new RegExp(t,"g"),r[t](d)));t=zc(c);
if(t.length>b)return 0;Ea(t,a);return t.length-1}G||P.sb();qb=D.InternalError=pb("InternalError");for(var Ac=Array(256),Bc=0;256>Bc;++Bc)Ac[Bc]=String.fromCharCode(Bc);tb=Ac;ub=D.BindingError=pb("BindingError");D.count_emval_handles=function(){for(var a=0,b=5;b<Y.length;++b)void 0!==Y[b]&&++a;return a};D.get_first_emval=function(){for(var a=5;a<Y.length;++a)if(void 0!==Y[a])return Y[a];return null};Gb=D.UnboundTypeError=pb("UnboundTypeError");
var Cc=[null,function(a,b){if(G)return Z(1,1,a,b)},Zb,lc,mc,nc,oc,pc];function zc(a){var b=Array(xa(a)+1);va(a,b,0,b.length);return b}
var Fc={e:function(a,b,c,d){K("Assertion failed: "+L(a)+", at: "+[b?L(b):"unknown filename",c,d?L(d):"unknown function"])},J:function(a){return Q(a+16)+16},q:function(a,b){return gb(a,b)},B:function(a,b,c){(new hb(a)).qb(b,c);ib++;throw a;},s:function(a){var b=jb[a];delete jb[a];var c=b.wb,d=b.xb,f=b.bb,g=f.map(function(l){return l.ob}).concat(f.map(function(l){return l.Ib}));rb([a],g,function(l){var k={};f.forEach(function(q,r){var t=l[r],w=q.mb,C=q.nb,h=l[r+f.length],p=q.Hb,y=q.Jb;k[q.kb]={read:function(z){return t.fromWireType(w(C,
z))},write:function(z,I){var da=[];p(y,z,h.toWireType(da,I));kb(da)}}});return[{name:b.name,fromWireType:function(q){var r={},t;for(t in k)r[t]=k[t].read(q);d(q);return r},toWireType:function(q,r){for(var t in k)if(!(t in r))throw new TypeError('Missing field: "'+t+'"');var w=c();for(t in k)k[t].write(w,r[t]);null!==q&&q.push(d,w);return w},argPackAdvance:8,readValueFromPointer:lb,Da:d}]})},w:function(){},Q:function(a,b,c,d,f){var g=sb(c);b=W(b);V(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,
k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var k=e();else if(2===c)k=x();else if(4===c)k=A();else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[l>>g])},Da:null})},P:function(a,b){b=W(b);V(a,{name:b,fromWireType:function(c){var d=Y[c].value;wb(c);return d},toWireType:function(c,d){return xb(d)},argPackAdvance:8,readValueFromPointer:lb,Da:null})},o:function(a,b,c){c=sb(c);b=W(b);V(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,
f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+yb(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:zb(b,c),Da:null})},r:function(a,b,c,d,f,g){var l=Db(b,c);a=W(a);f=Fb(d,f);Cb(a,function(){Jb("Cannot call "+a+" due to unbound types",l)},b-1);rb([],l,function(k){var q=a,r=a;k=[k[0],null].concat(k.slice(1));var t=f,w=k.length;2>w&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var C=null!==k[1]&&!1,
h=!1,p=1;p<k.length;++p)if(null!==k[p]&&void 0===k[p].Da){h=!0;break}var y="void"!==k[0].name,z="",I="";for(p=0;p<w-2;++p)z+=(0!==p?", ":"")+"arg"+p,I+=(0!==p?", ":"")+"arg"+p+"Wired";r="return function "+nb(r)+"("+z+") {\nif (arguments.length !== "+(w-2)+") {\nthrowBindingError('function "+r+" called with ' + arguments.length + ' arguments, expected "+(w-2)+" args!');\n}\n";h&&(r+="var destructors = [];\n");var da=h?"destructors":"null";z="throwBindingError invoker fn runDestructors retType classParam".split(" ");
t=[X,t,g,kb,k[0],k[1]];C&&(r+="var thisWired = classParam.toWireType("+da+", this);\n");for(p=0;p<w-2;++p)r+="var arg"+p+"Wired = argType"+p+".toWireType("+da+", arg"+p+"); // "+k[p+2].name+"\n",z.push("argType"+p),t.push(k[p+2]);C&&(I="thisWired"+(0<I.length?", ":"")+I);r+=(y?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(h)r+="runDestructors(destructors);\n";else for(p=C?1:2;p<k.length;++p)w=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==k[p].Da&&(r+=w+"_dtor("+w+"); // "+k[p].name+
"\n",z.push(w+"_dtor"),t.push(k[p].Da));y&&(r+="var ret = retType.fromWireType(rv);\nreturn ret;\n");z.push(r+"}\n");k=Ab(z).apply(null,t);p=b-1;if(!D.hasOwnProperty(q))throw new qb("Replacing nonexistant public symbol");void 0!==D[q].Aa&&void 0!==p?D[q].Aa[p]=k:(D[q]=k,D[q].hb=p);return[]})},d:function(a,b,c,d,f){function g(r){return r}b=W(b);-1===f&&(f=4294967295);var l=sb(c);if(0===d){var k=32-8*c;g=function(r){return r<<k>>>k}}var q=b.includes("unsigned");V(a,{name:b,fromWireType:g,toWireType:function(r,
t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+yb(t)+'" to '+this.name);if(t<d||t>f)throw new TypeError('Passing a number "'+yb(t)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return q?t>>>0:t|0},argPackAdvance:8,readValueFromPointer:Kb(b,l,0!==d),Da:null})},c:function(a,b,c){function d(g){g>>=2;var l=B();return new f(n,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
Uint32Array,Float32Array,Float64Array][b];c=W(c);V(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{pb:!0})},p:function(a,b){b=W(b);var c="std::string"===b;V(a,{name:b,fromWireType:function(d){var f=B()[d>>2];if(c)for(var g=d+4,l=0;l<=f;++l){var k=d+4+l;if(l==f||0==v()[k]){g=L(g,k-g);if(void 0===q)var q=g;else q+=String.fromCharCode(0),q+=g;g=k+1}}else{q=Array(f);for(l=0;l<f;++l)q[l]=String.fromCharCode(v()[d+4+l]);q=q.join("")}S(d);return q},toWireType:function(d,f){f instanceof
ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||X("Cannot pass non-string to std::string");var l=(c&&g?function(){return xa(f)}:function(){return f.length})(),k=Q(4+l+1);B()[k>>2]=l;if(c&&g)wa(f,k+4,l+1);else if(g)for(g=0;g<l;++g){var q=f.charCodeAt(g);255<q&&(S(k),X("String has UTF-16 code units that do not fit in 8 bits"));v()[k+4+g]=q}else for(g=0;g<l;++g)v()[k+4+g]=f[g];null!==d&&d.push(S,k);return k},
argPackAdvance:8,readValueFromPointer:lb,Da:function(d){S(d)}})},k:function(a,b,c){c=W(c);if(2===b){var d=ya;var f=za;var g=Aa;var l=function(){return ea()};var k=1}else 4===b&&(d=Ba,f=Ca,g=Da,l=function(){return B()},k=2);V(a,{name:c,fromWireType:function(q){for(var r=B()[q>>2],t=l(),w,C=q+4,h=0;h<=r;++h){var p=q+4+h*b;if(h==r||0==t[p>>k])C=d(C,p-C),void 0===w?w=C:(w+=String.fromCharCode(0),w+=C),C=p+b}S(q);return w},toWireType:function(q,r){"string"!==typeof r&&X("Cannot pass non-string to C++ string type "+
c);var t=g(r),w=Q(4+t+b);B()[w>>2]=t>>k;f(r,w+4,t+b);null!==q&&q.push(S,w);return w},argPackAdvance:8,readValueFromPointer:lb,Da:function(q){S(q)}})},t:function(a,b,c,d,f,g){jb[a]={name:W(b),wb:Fb(c,d),xb:Fb(f,g),bb:[]}},f:function(a,b,c,d,f,g,l,k,q,r){jb[a].bb.push({kb:W(b),ob:c,mb:Fb(d,f),nb:g,Ib:l,Hb:Fb(k,q),Jb:r})},R:function(a,b){b=W(b);V(a,{$b:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},I:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"});
else if(G)postMessage({targetThread:a,cmd:"processThreadQueue"});else{a=(a=P.Ba[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},i:wb,U:function(a){if(0===a)return xb(Mb());var b=Lb[a];a=void 0===b?W(a):b;return xb(Mb()[a])},T:function(a){4<a&&(Y[a].Wa+=1)},u:function(a,b,c,d){a||X("Cannot use deleted val. handle = "+a);a=Y[a].value;var f=Ob[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";
for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(Nb,D,xb);Ob[b]=f}return f(a,c,d)},b:function(){K()},n:function(a,b,c){Pb.length=0;var d;for(c>>=2;d=v()[b++];)(d=105>d)&&c&1&&c++,
Pb.push(d?ja()[c++>>1]:A()[c]),++c;return Qa[a].apply(null,Pb)},E:function(){},m:function(){},h:Qb,g:Sa,j:fb,z:function(a,b,c){v().copyWithin(a,b,b+c)},D:function(){return navigator.hardwareConcurrency},F:function(a,b,c){Ub.length=b;c>>=3;for(var d=0;d<b;d++)Ub[d]=ja()[c+d];return(0>a?Qa[-a-1]:Cc[a]).apply(null,Ub)},A:function(a){var b=v().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{m.grow(Math.min(2147483648,
d)-n.byteLength+65535>>>16);u(m.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},G:function(a,b,c){return Wb(a)?Xb(a,b,c):Zb(a,b,c)},l:function(){},H:function(a,b){b>>=2;var c=A()[b+6];b={alpha:!!A()[b],depth:!!A()[b+1],stencil:!!A()[b+2],antialias:!!A()[b+3],premultipliedAlpha:!!A()[b+4],preserveDrawingBuffer:!!A()[b+5],powerPreference:gc[c],failIfMajorPerformanceCaveat:!!A()[b+7],vb:A()[b+8],ac:A()[b+9],ab:A()[b+10],jb:A()[b+11],dc:A()[b+12],ec:A()[b+13]};a=Wb(a);return!a||b.jb?
0:cc(a,b)},L:lc,M:mc,N:nc,v:oc,O:pc,y:function(){P.tb()},a:m||D.wasmMemory,S:function(a,b,c,d){if("undefined"===typeof SharedArrayBuffer)return J("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!a)return J("pthread_create called with a null thread pointer!"),28;var f=[];if(G&&0===f.length)return Dc(687865856,a,b,c,d);var g=0,l=0;if(b&&-1!=b){var k=A()[b>>2];k+=81920;g=A()[b+8>>2];l=0!==A()[b+12>>2]}else k=2097152;(b=0==g)?g=Ec(16,k):(g-=k,0<g||K("Assertion failed: undefined"));
for(var q=Q(228),r=0;57>r;++r)B()[(q>>2)+r]=0;A()[a>>2]=q;A()[q+12>>2]=q;a=q+152;A()[a>>2]=a;c={Fa:g,Ga:k,Ua:b,$a:l,Kb:c,Pa:q,Ia:d,Tb:f};return G?(c.Vb="spawnThread",postMessage(c,f),0):$a(c)},C:function(a,b){return rc(a,b)},x:function(){},K:function(a,b,c,d){return yc(a,b,c,d)}};
(function(){function a(f,g){D.asm=f.exports;M=D.asm.Z;Ia.unshift(D.asm.V);P.Ya.push(D.asm.Y);sa=g;if(!G){var l=P.za.length;P.za.forEach(function(k){P.eb(k,function(){if(!--l&&(N--,D.monitorRunDependencies&&D.monitorRunDependencies(N),0==N&&(null!==La&&(clearInterval(La),La=null),Ma))){var q=Ma;Ma=null;q()}})})}}function b(f){a(f.instance,f.module)}function c(f){return Oa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){J("failed to asynchronously prepare wasm: "+g);K(g)})}
var d={a:Fc};G||(!G||K("Assertion failed: addRunDependency cannot be used in a pthread worker"),N++,D.monitorRunDependencies&&D.monitorRunDependencies(N));if(D.instantiateWasm)try{return D.instantiateWasm(d,a)}catch(f){return J("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return ra||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,
d).then(b,function(g){J("wasm streaming compile failed: "+g);J("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ma);return{}})();D.___wasm_call_ctors=function(){return(D.___wasm_call_ctors=D.asm.V).apply(null,arguments)};var Q=D._malloc=function(){return(Q=D._malloc=D.asm.W).apply(null,arguments)},S=D._free=function(){return(S=D._free=D.asm.X).apply(null,arguments)};D._emscripten_tls_init=function(){return(D._emscripten_tls_init=D.asm.Y).apply(null,arguments)};
var Ib=D.___getTypeName=function(){return(Ib=D.___getTypeName=D.asm._).apply(null,arguments)};D.___embind_register_native_and_builtin_types=function(){return(D.___embind_register_native_and_builtin_types=D.asm.$).apply(null,arguments)};D._emscripten_current_thread_process_queued_calls=function(){return(D._emscripten_current_thread_process_queued_calls=D.asm.aa).apply(null,arguments)};
var Wa=D._emscripten_register_main_browser_thread_id=function(){return(Wa=D._emscripten_register_main_browser_thread_id=D.asm.ba).apply(null,arguments)},sc=D._emscripten_main_browser_thread_id=function(){return(sc=D._emscripten_main_browser_thread_id=D.asm.ca).apply(null,arguments)},Pa=D.__emscripten_do_dispatch_to_thread=function(){return(Pa=D.__emscripten_do_dispatch_to_thread=D.asm.da).apply(null,arguments)},Dc=D._emscripten_sync_run_in_main_thread_4=function(){return(Dc=D._emscripten_sync_run_in_main_thread_4=
D.asm.ea).apply(null,arguments)},Za=D._emscripten_main_thread_process_queued_calls=function(){return(Za=D._emscripten_main_thread_process_queued_calls=D.asm.fa).apply(null,arguments)},Tb=D._emscripten_run_in_main_runtime_thread_js=function(){return(Tb=D._emscripten_run_in_main_runtime_thread_js=D.asm.ga).apply(null,arguments)},Yb=D.__emscripten_call_on_thread=function(){return(Yb=D.__emscripten_call_on_thread=D.asm.ha).apply(null,arguments)},Va=D.__emscripten_thread_init=function(){return(Va=D.__emscripten_thread_init=
D.asm.ia).apply(null,arguments)},R=D._pthread_self=function(){return(R=D._pthread_self=D.asm.ja).apply(null,arguments)},Xa=D.___pthread_tsd_run_dtors=function(){return(Xa=D.___pthread_tsd_run_dtors=D.asm.ka).apply(null,arguments)},qc=D._emscripten_get_global_libc=function(){return(qc=D._emscripten_get_global_libc=D.asm.la).apply(null,arguments)},Rb=D.stackSave=function(){return(Rb=D.stackSave=D.asm.ma).apply(null,arguments)},db=D.stackRestore=function(){return(db=D.stackRestore=D.asm.na).apply(null,
arguments)},Sb=D.stackAlloc=function(){return(Sb=D.stackAlloc=D.asm.oa).apply(null,arguments)},cb=D._emscripten_stack_set_limits=function(){return(cb=D._emscripten_stack_set_limits=D.asm.pa).apply(null,arguments)},Ec=D._memalign=function(){return(Ec=D._memalign=D.asm.qa).apply(null,arguments)};D.dynCall_viijii=function(){return(D.dynCall_viijii=D.asm.ra).apply(null,arguments)};D.dynCall_iiji=function(){return(D.dynCall_iiji=D.asm.sa).apply(null,arguments)};
D.dynCall_jiji=function(){return(D.dynCall_jiji=D.asm.ta).apply(null,arguments)};D.dynCall_iiiiij=function(){return(D.dynCall_iiiiij=D.asm.ua).apply(null,arguments)};D.dynCall_iiiiijj=function(){return(D.dynCall_iiiiijj=D.asm.va).apply(null,arguments)};D.dynCall_iiiiiijj=function(){return(D.dynCall_iiiiiijj=D.asm.wa).apply(null,arguments)};var Ya=D.__emscripten_allow_main_runtime_queued_calls=59656,Ta=D.__emscripten_main_thread_futex=72492;D.PThread=P;D.PThread=P;D.wasmMemory=m;D.ExitStatus=ab;var Gc;
function ab(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ma=function Hc(){Gc||Ic();Gc||(Ma=Hc)};
function Ic(){function a(){if(!Gc&&(Gc=!0,D.calledRun=!0,!ta)){G||Ra(Ia);la(D);if(D.onRuntimeInitialized)D.onRuntimeInitialized();if(!G){if(D.postRun)for("function"==typeof D.postRun&&(D.postRun=[D.postRun]);D.postRun.length;){var b=D.postRun.shift();Ja.unshift(b)}Ra(Ja)}}}if(!(0<N))if(G)la(D),G||Ra(Ia),postMessage({cmd:"loaded"});else{if(!G){if(D.preRun)for("function"==typeof D.preRun&&(D.preRun=[D.preRun]);D.preRun.length;)Ka();Ra(Ha)}0<N||(D.setStatus?(D.setStatus("Running..."),setTimeout(function(){setTimeout(function(){D.setStatus("")},
1);a()},1)):a())}}D.run=Ic;if(D.preInit)for("function"==typeof D.preInit&&(D.preInit=[D.preInit]);0<D.preInit.length;)D.preInit.pop()();G&&(noExitRuntime=!1,P.ub());Ic();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1 +0,0 @@
"use strict";var Module={};var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};function moduleLoaded(){}self.onmessage=function(e){try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./jxl_enc_mt_simd.js")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance;moduleLoaded()})}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0);var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["PThread"].threadExit(result)}}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["PThread"].threadExit(ex.status)}}else{Module["PThread"].threadExit(-2);throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}};

View File

@@ -1,70 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(a,b){aa=a;ba=b});var t={},w;for(w in g)g.hasOwnProperty(w)&&(t[w]=g[w]);var ca="./this.program",da,ea,fa,ha;da=function(a){fa||(fa=require("fs"));ha||(ha=require("path"));a=ha.normalize(a);return fa.readFileSync(a,null)};ea=function(a){a=da(a);a.buffer||(a=new Uint8Array(a));a.buffer||y("Assertion failed: undefined");return a};1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));
process.argv.slice(2);process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",y);g.inspect=function(){return"[Emscripten Module object]"};var ia=g.print||console.log.bind(console),z=g.printErr||console.warn.bind(console);for(w in t)t.hasOwnProperty(w)&&(g[w]=t[w]);t=null;g.thisProgram&&(ca=g.thisProgram);var A;g.wasmBinary&&(A=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;"object"!==typeof WebAssembly&&y("no native wasm support detected");var ja,ka=!1,la=new TextDecoder("utf8");
function ma(a,b){if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&C[c];)++c;return la.decode(C.subarray(a,c))}
function na(a,b,c,d){if(0<d){d=c+d-1;for(var h=0;h<a.length;++h){var f=a.charCodeAt(h);if(55296<=f&&57343>=f){var n=a.charCodeAt(++h);f=65536+((f&1023)<<10)|n&1023}if(127>=f){if(c>=d)break;b[c++]=f}else{if(2047>=f){if(c+1>=d)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=d)break;b[c++]=224|f>>12}else{if(c+3>=d)break;b[c++]=240|f>>18;b[c++]=128|f>>12&63}b[c++]=128|f>>6&63}b[c++]=128|f&63}}b[c]=0}}
function oa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var pa=new TextDecoder("utf-16le");function qa(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&D[c];)++c;return pa.decode(C.subarray(a,c<<1))}function ra(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var h=0;h<c;++h)E[b>>1]=a.charCodeAt(h),b+=2;E[b>>1]=0;return b-d}
function sa(a){return 2*a.length}function ta(a,b){for(var c=0,d="";!(c>=b/4);){var h=F[a+4*c>>2];if(0==h)break;++c;65536<=h?(h-=65536,d+=String.fromCharCode(55296|h>>10,56320|h&1023)):d+=String.fromCharCode(h)}return d}function ua(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var h=0;h<a.length;++h){var f=a.charCodeAt(h);if(55296<=f&&57343>=f){var n=a.charCodeAt(++h);f=65536+((f&1023)<<10)|n&1023}F[b>>2]=f;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}
function va(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var wa,G,C,E,D,F,H,xa,ya;function za(){var a=ja.buffer;wa=a;g.HEAP8=G=new Int8Array(a);g.HEAP16=E=new Int16Array(a);g.HEAP32=F=new Int32Array(a);g.HEAPU8=C=new Uint8Array(a);g.HEAPU16=D=new Uint16Array(a);g.HEAPU32=H=new Uint32Array(a);g.HEAPF32=xa=new Float32Array(a);g.HEAPF64=ya=new Float64Array(a)}var I,Aa=[],Ba=[],Ca=[];function Da(){var a=g.preRun.shift();Aa.unshift(a)}
var J=0,Ea=null,K=null;g.preloadedImages={};g.preloadedAudios={};function y(a){if(g.onAbort)g.onAbort(a);z(a);ka=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}var L=(new URL("jxl_node_enc.wasm",import.meta.url)).toString();
function Fa(){return Promise.resolve().then(function(){a:{try{if(L==L&&A){var a=new Uint8Array(A);break a}if(ea){a=ea(L);break a}throw"both async and sync fetching of the wasm failed";}catch(b){y(b)}a=void 0}return a})}function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(g);else{var c=b.ya;"number"===typeof c?void 0===b.$?I.get(c)():I.get(c)(b.$):c(void 0===b.$?null:b.$)}}}
function Ha(a){this.V=a-16;this.qa=function(b){F[this.V+8>>2]=b};this.na=function(b){F[this.V+0>>2]=b};this.oa=function(){F[this.V+4>>2]=0};this.ma=function(){G[this.V+12>>0]=0};this.pa=function(){G[this.V+13>>0]=0};this.ja=function(b,c){this.qa(b);this.na(c);this.oa();this.ma();this.pa()}}var Ia=0,M={};function Ja(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function N(a){return this.fromWireType(H[a>>2])}var O={},P={},Q={};
function Ka(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function La(a,b){a=Ka(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ma(a){var b=Error,c=La(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Na=void 0;
function Oa(a,b,c){function d(m){m=c(m);if(m.length!==a.length)throw new Na("Mismatched type converter count");for(var k=0;k<a.length;++k)R(a[k],m[k])}a.forEach(function(m){Q[m]=b});var h=Array(b.length),f=[],n=0;b.forEach(function(m,k){P.hasOwnProperty(m)?h[k]=P[m]:(f.push(m),O.hasOwnProperty(m)||(O[m]=[]),O[m].push(function(){h[k]=P[m];++n;n===f.length&&d(h)}))});0===f.length&&d(h)}
function Pa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Qa=void 0;function T(a){for(var b="";C[a];)b+=Qa[C[a++]];return b}var Ra=void 0;function U(a){throw new Ra(a);}
function R(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(P.hasOwnProperty(a)){if(c.ia)return;U("Cannot register type '"+d+"' twice")}P[a]=b;delete Q[a];O.hasOwnProperty(a)&&(b=O[a],delete O[a],b.forEach(function(h){h()}))}var Sa=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ta(a){4<a&&0===--V[a].aa&&(V[a]=void 0,Sa.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Sa.length?Sa.pop():V.length;V[b]={aa:1,value:a};return b}}function Ua(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Va(a,b){switch(b){case 2:return function(c){return this.fromWireType(xa[c>>2])};case 3:return function(c){return this.fromWireType(ya[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Wa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=La(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Xa(a,b){var c=g;if(void 0===c[a].S){var d=c[a];c[a]=function(){c[a].S.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].S+")!");return c[a].S[arguments.length].apply(this,arguments)};c[a].S=[];c[a].S[d.da]=d}}
function Ya(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].S&&void 0!==g[a].S[c])&&U("Cannot register public name '"+a+"' twice"),Xa(a,a),g.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].S[c]=b):(g[a]=b,void 0!==c&&(g[a].Aa=c))}function Za(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function $a(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=g["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=I.get(b).apply(null,c);return d}}function X(a,b){a=T(a);var c=a.includes("j")?$a(a,b):I.get(b);"function"!==typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var ab=void 0;function bb(a){a=cb(a);var b=T(a);Y(a);return b}
function db(a,b){function c(f){h[f]||P[f]||(Q[f]?Q[f].forEach(c):(d.push(f),h[f]=!0))}var d=[],h={};b.forEach(c);throw new ab(a+": "+d.map(bb).join([", "]));}function eb(a,b,c){switch(b){case 0:return c?function(d){return G[d]}:function(d){return C[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return D[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return H[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var fb={};
function gb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function hb(a,b){var c=P[a];void 0===c&&U(b+" has unknown type "+bb(a));return c}var ib={},jb={};function kb(){if(!lb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in jb)a[b]=jb[b];var c=[];for(b in a)c.push(b+"="+a[b]);lb=c}return lb}
var lb,mb=[null,[],[]];function Z(a){return 0===a%4&&(0!==a%100||0===a%400)}function nb(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var ob=[31,29,31,30,31,30,31,31,30,31,30,31],pb=[31,28,31,30,31,30,31,31,30,31,30,31];function qb(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Z(a.getFullYear())?ob:pb)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function rb(a,b,c,d){function h(e,l,u){for(e="number"===typeof e?e.toString():e||"";e.length<l;)e=u[0]+e;return e}function f(e,l){return h(e,l,"0")}function n(e,l){function u(B){return 0>B?-1:0<B?1:0}var v;0===(v=u(e.getFullYear()-l.getFullYear()))&&0===(v=u(e.getMonth()-l.getMonth()))&&(v=u(e.getDate()-l.getDate()));return v}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),
0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function k(e){e=qb(new Date(e.R+1900,0,1),e.Z);var l=new Date(e.getFullYear()+1,0,4),u=m(new Date(e.getFullYear(),0,4));l=m(l);return 0>=n(u,e)?0>=n(l,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var q=F[d+40>>2];d={wa:F[d>>2],va:F[d+4>>2],X:F[d+8>>2],W:F[d+12>>2],U:F[d+16>>2],R:F[d+20>>2],Y:F[d+24>>2],Z:F[d+28>>2],Ba:F[d+32>>2],ua:F[d+36>>2],
xa:q?ma(q):""};c=ma(c);q={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var p in q)c=c.replace(new RegExp(p,"g"),q[p]);var r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
x="January February March April May June July August September October November December".split(" ");q={"%a":function(e){return r[e.Y].substring(0,3)},"%A":function(e){return r[e.Y]},"%b":function(e){return x[e.U].substring(0,3)},"%B":function(e){return x[e.U]},"%C":function(e){return f((e.R+1900)/100|0,2)},"%d":function(e){return f(e.W,2)},"%e":function(e){return h(e.W,2," ")},"%g":function(e){return k(e).toString().substring(2)},"%G":function(e){return k(e)},"%H":function(e){return f(e.X,2)},"%I":function(e){e=
e.X;0==e?e=12:12<e&&(e-=12);return f(e,2)},"%j":function(e){return f(e.W+nb(Z(e.R+1900)?ob:pb,e.U-1),3)},"%m":function(e){return f(e.U+1,2)},"%M":function(e){return f(e.va,2)},"%n":function(){return"\n"},"%p":function(e){return 0<=e.X&&12>e.X?"AM":"PM"},"%S":function(e){return f(e.wa,2)},"%t":function(){return"\t"},"%u":function(e){return e.Y||7},"%U":function(e){var l=new Date(e.R+1900,0,1),u=0===l.getDay()?l:qb(l,7-l.getDay());e=new Date(e.R+1900,e.U,e.W);return 0>n(u,e)?f(Math.ceil((31-u.getDate()+
(nb(Z(e.getFullYear())?ob:pb,e.getMonth()-1)-31)+e.getDate())/7),2):0===n(u,l)?"01":"00"},"%V":function(e){var l=new Date(e.R+1901,0,4),u=m(new Date(e.R+1900,0,4));l=m(l);var v=qb(new Date(e.R+1900,0,1),e.Z);return 0>n(v,u)?"53":0>=n(l,v)?"01":f(Math.ceil((u.getFullYear()<e.R+1900?e.Z+32-u.getDate():e.Z+1-u.getDate())/7),2)},"%w":function(e){return e.Y},"%W":function(e){var l=new Date(e.R,0,1),u=1===l.getDay()?l:qb(l,0===l.getDay()?1:7-l.getDay()+1);e=new Date(e.R+1900,e.U,e.W);return 0>n(u,e)?f(Math.ceil((31-
u.getDate()+(nb(Z(e.getFullYear())?ob:pb,e.getMonth()-1)-31)+e.getDate())/7),2):0===n(u,l)?"01":"00"},"%y":function(e){return(e.R+1900).toString().substring(2)},"%Y":function(e){return e.R+1900},"%z":function(e){e=e.ua;var l=0<=e;e=Math.abs(e)/60;return(l?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.xa},"%%":function(){return"%"}};for(p in q)c.includes(p)&&(c=c.replace(new RegExp(p,"g"),q[p](d)));p=sb(c);if(p.length>b)return 0;G.set(p,a);return p.length-1}
Na=g.InternalError=Ma("InternalError");for(var tb=Array(256),ub=0;256>ub;++ub)tb[ub]=String.fromCharCode(ub);Qa=tb;Ra=g.BindingError=Ma("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};g.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};ab=g.UnboundTypeError=Ma("UnboundTypeError");function sb(a){var b=Array(oa(a)+1);na(a,b,0,b.length);return b}
var wb={o:function(a){return vb(a+16)+16},D:function(){},n:function(a,b,c){(new Ha(a)).ja(b,c);Ia++;throw a;},k:function(a){var b=M[a];delete M[a];var c=b.ka,d=b.la,h=b.ba,f=h.map(function(n){return n.ha}).concat(h.map(function(n){return n.sa}));Oa([a],f,function(n){var m={};h.forEach(function(k,q){var p=n[q],r=k.fa,x=k.ga,e=n[q+h.length],l=k.ra,u=k.ta;m[k.ea]={read:function(v){return p.fromWireType(r(x,v))},write:function(v,B){var S=[];l(u,v,e.toWireType(S,B));Ja(S)}}});return[{name:b.name,fromWireType:function(k){var q=
{},p;for(p in m)q[p]=m[p].read(k);d(k);return q},toWireType:function(k,q){for(var p in m)if(!(p in q))throw new TypeError('Missing field: "'+p+'"');var r=c();for(p in m)m[p].write(r,q[p]);null!==k&&k.push(d,r);return r},argPackAdvance:8,readValueFromPointer:N,T:d}]})},q:function(){},z:function(a,b,c,d,h){var f=Pa(c);b=T(b);R(a,{name:b,fromWireType:function(n){return!!n},toWireType:function(n,m){return m?d:h},argPackAdvance:8,readValueFromPointer:function(n){if(1===c)var m=G;else if(2===c)m=E;else if(4===
c)m=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[n>>f])},T:null})},y:function(a,b){b=T(b);R(a,{name:b,fromWireType:function(c){var d=V[c].value;Ta(c);return d},toWireType:function(c,d){return W(d)},argPackAdvance:8,readValueFromPointer:N,T:null})},h:function(a,b,c){c=Pa(c);b=T(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,h){if("number"!==typeof h&&"boolean"!==typeof h)throw new TypeError('Cannot convert "'+Ua(h)+'" to '+this.name);
return h},argPackAdvance:8,readValueFromPointer:Va(b,c),T:null})},j:function(a,b,c,d,h,f){var n=Za(b,c);a=T(a);h=X(d,h);Ya(a,function(){db("Cannot call "+a+" due to unbound types",n)},b-1);Oa([],n,function(m){var k=[m[0],null].concat(m.slice(1)),q=m=a,p=h,r=k.length;2>r&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,e=!1,l=1;l<k.length;++l)if(null!==k[l]&&void 0===k[l].T){e=!0;break}var u="void"!==k[0].name,v="",B="";for(l=0;l<r-2;++l)v+=
(0!==l?", ":"")+"arg"+l,B+=(0!==l?", ":"")+"arg"+l+"Wired";q="return function "+Ka(q)+"("+v+") {\nif (arguments.length !== "+(r-2)+") {\nthrowBindingError('function "+q+" called with ' + arguments.length + ' arguments, expected "+(r-2)+" args!');\n}\n";e&&(q+="var destructors = [];\n");var S=e?"destructors":"null";v="throwBindingError invoker fn runDestructors retType classParam".split(" ");p=[U,p,f,Ja,k[0],k[1]];x&&(q+="var thisWired = classParam.toWireType("+S+", this);\n");for(l=0;l<r-2;++l)q+=
"var arg"+l+"Wired = argType"+l+".toWireType("+S+", arg"+l+"); // "+k[l+2].name+"\n",v.push("argType"+l),p.push(k[l+2]);x&&(B="thisWired"+(0<B.length?", ":"")+B);q+=(u?"var rv = ":"")+"invoker(fn"+(0<B.length?", ":"")+B+");\n";if(e)q+="runDestructors(destructors);\n";else for(l=x?1:2;l<k.length;++l)r=1===l?"thisWired":"arg"+(l-2)+"Wired",null!==k[l].T&&(q+=r+"_dtor("+r+"); // "+k[l].name+"\n",v.push(r+"_dtor"),p.push(k[l].T));u&&(q+="var ret = retType.fromWireType(rv);\nreturn ret;\n");v.push(q+"}\n");
k=Wa(v).apply(null,p);l=b-1;if(!g.hasOwnProperty(m))throw new Na("Replacing nonexistant public symbol");void 0!==g[m].S&&void 0!==l?g[m].S[l]=k:(g[m]=k,g[m].da=l);return[]})},c:function(a,b,c,d,h){function f(q){return q}b=T(b);-1===h&&(h=4294967295);var n=Pa(c);if(0===d){var m=32-8*c;f=function(q){return q<<m>>>m}}var k=b.includes("unsigned");R(a,{name:b,fromWireType:f,toWireType:function(q,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+Ua(p)+'" to '+this.name);
if(p<d||p>h)throw new TypeError('Passing a number "'+Ua(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+h+"]!");return k?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:eb(b,n,0!==d),T:null})},b:function(a,b,c){function d(f){f>>=2;var n=H;return new h(wa,n[f+1],n[f])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},
{ia:!0})},i:function(a,b){b=T(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var h=H[d>>2];if(c)for(var f=d+4,n=0;n<=h;++n){var m=d+4+n;if(n==h||0==C[m]){f=ma(f,m-f);if(void 0===k)var k=f;else k+=String.fromCharCode(0),k+=f;f=m+1}}else{k=Array(h);for(n=0;n<h;++n)k[n]=String.fromCharCode(C[d+4+n]);k=k.join("")}Y(d);return k},toWireType:function(d,h){h instanceof ArrayBuffer&&(h=new Uint8Array(h));var f="string"===typeof h;f||h instanceof Uint8Array||h instanceof Uint8ClampedArray||
h instanceof Int8Array||U("Cannot pass non-string to std::string");var n=(c&&f?function(){return oa(h)}:function(){return h.length})(),m=vb(4+n+1);H[m>>2]=n;if(c&&f)na(h,C,m+4,n+1);else if(f)for(f=0;f<n;++f){var k=h.charCodeAt(f);255<k&&(Y(m),U("String has UTF-16 code units that do not fit in 8 bits"));C[m+4+f]=k}else for(f=0;f<n;++f)C[m+4+f]=h[f];null!==d&&d.push(Y,m);return m},argPackAdvance:8,readValueFromPointer:N,T:function(d){Y(d)}})},g:function(a,b,c){c=T(c);if(2===b){var d=qa;var h=ra;var f=
sa;var n=function(){return D};var m=1}else 4===b&&(d=ta,h=ua,f=va,n=function(){return H},m=2);R(a,{name:c,fromWireType:function(k){for(var q=H[k>>2],p=n(),r,x=k+4,e=0;e<=q;++e){var l=k+4+e*b;if(e==q||0==p[l>>m])x=d(x,l-x),void 0===r?r=x:(r+=String.fromCharCode(0),r+=x),x=l+b}Y(k);return r},toWireType:function(k,q){"string"!==typeof q&&U("Cannot pass non-string to C++ string type "+c);var p=f(q),r=vb(4+p+b);H[r>>2]=p>>m;h(q,r+4,p+b);null!==k&&k.push(Y,r);return r},argPackAdvance:8,readValueFromPointer:N,
T:function(k){Y(k)}})},l:function(a,b,c,d,h,f){M[a]={name:T(b),ka:X(c,d),la:X(h,f),ba:[]}},d:function(a,b,c,d,h,f,n,m,k,q){M[a].ba.push({ea:T(b),ha:c,fa:X(d,h),ga:f,sa:n,ra:X(m,k),ta:q})},A:function(a,b){b=T(b);R(a,{za:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},e:Ta,C:function(a){if(0===a)return W(gb());var b=fb[a];a=void 0===b?T(a):b;return W(gb()[a])},B:function(a){4<a&&(V[a].aa+=1)},m:function(a,b,c,d){a||U("Cannot use deleted val. handle = "+a);a=V[a].value;
var h=ib[b];if(!h){h="";for(var f=0;f<b;++f)h+=(0!==f?", ":"")+"arg"+f;var n="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)n+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";h=(new Function("requireRegisteredType","Module","__emval_register",n+("var obj = new constructor("+h+");\nreturn __emval_register(obj);\n}\n")))(hb,
g,W);ib[b]=h}return h(a,c,d)},a:function(){y()},s:function(a,b,c){C.copyWithin(a,b,b+c)},f:function(a){var b=C.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ja.grow(Math.min(2147483648,d)-wa.byteLength+65535>>>16);za();var h=1;break a}catch(f){}h=void 0}if(h)return!0}return!1},u:function(a,b){var c=0;kb().forEach(function(d,h){var f=b+c;h=F[a+4*h>>2]=f;for(f=0;f<d.length;++f)G[h++>>0]=d.charCodeAt(f);
G[h>>0]=0;c+=d.length+1});return 0},v:function(a,b){var c=kb();F[a>>2]=c.length;var d=0;c.forEach(function(h){d+=h.length+1});F[b>>2]=d;return 0},w:function(){return 0},p:function(){},x:function(a,b,c,d){for(var h=0,f=0;f<c;f++){for(var n=F[b+8*f>>2],m=F[b+(8*f+4)>>2],k=0;k<m;k++){var q=C[n+k],p=mb[a];if(0===q||10===q){q=1===a?ia:z;var r;for(r=0;p[r]&&!(NaN<=r);)++r;r=la.decode(p.subarray?p.subarray(0,r):new Uint8Array(p.slice(0,r)));q(r);p.length=0}else p.push(q)}h+=m}F[d>>2]=h;return 0},r:function(){},
t:function(a,b,c,d){return rb(a,b,c,d)}};
(function(){function a(h){g.asm=h.exports;ja=g.asm.E;za();I=g.asm.K;Ba.unshift(g.asm.F);J--;g.monitorRunDependencies&&g.monitorRunDependencies(J);0==J&&(null!==Ea&&(clearInterval(Ea),Ea=null),K&&(h=K,K=null,h()))}function b(h){a(h.instance)}function c(h){return Fa().then(function(f){return WebAssembly.instantiate(f,d)}).then(h,function(f){z("failed to asynchronously prepare wasm: "+f);y(f)})}var d={a:wb};J++;g.monitorRunDependencies&&g.monitorRunDependencies(J);if(g.instantiateWasm)try{return g.instantiateWasm(d,
a)}catch(h){return z("Module.instantiateWasm callback failed with error: "+h),!1}(function(){return A||"function"!==typeof WebAssembly.instantiateStreaming||L.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(L,{credentials:"same-origin"}).then(function(h){return WebAssembly.instantiateStreaming(h,d).then(b,function(f){z("wasm streaming compile failed: "+f);z("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();
g.___wasm_call_ctors=function(){return(g.___wasm_call_ctors=g.asm.F).apply(null,arguments)};var vb=g._malloc=function(){return(vb=g._malloc=g.asm.G).apply(null,arguments)},Y=g._free=function(){return(Y=g._free=g.asm.H).apply(null,arguments)},cb=g.___getTypeName=function(){return(cb=g.___getTypeName=g.asm.I).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.J).apply(null,arguments)};
g.dynCall_viijii=function(){return(g.dynCall_viijii=g.asm.L).apply(null,arguments)};g.dynCall_iiji=function(){return(g.dynCall_iiji=g.asm.M).apply(null,arguments)};g.dynCall_jiji=function(){return(g.dynCall_jiji=g.asm.N).apply(null,arguments)};g.dynCall_iiiiij=function(){return(g.dynCall_iiiiij=g.asm.O).apply(null,arguments)};g.dynCall_iiiiijj=function(){return(g.dynCall_iiiiijj=g.asm.P).apply(null,arguments)};g.dynCall_iiiiiijj=function(){return(g.dynCall_iiiiiijj=g.asm.Q).apply(null,arguments)};
var xb;K=function yb(){xb||zb();xb||(K=yb)};
function zb(){function a(){if(!xb&&(xb=!0,g.calledRun=!0,!ka)){Ga(Ba);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var b=g.postRun.shift();Ca.unshift(b)}Ga(Ca)}}if(!(0<J)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Da();Ga(Aa);0<J||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);a()},1)):a())}}g.run=zb;
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();zb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1,6 +0,0 @@
{
"name": "jxl",
"scripts": {
"build": "../build-cpp.sh"
}
}

View File

@@ -1,57 +0,0 @@
#include <emscripten/bind.h>
#include <emscripten/val.h>
#include "config.h"
#include "jpeglib.h"
extern "C" {
#include "cdjpeg.h"
}
using namespace emscripten;
thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray");
thread_local const val ImageData = val::global("ImageData");
val decode(std::string image_in) {
uint8_t* image_buffer = (uint8_t*)image_in.c_str();
jpeg_decompress_struct cinfo;
jpeg_error_mgr jerr;
// Initialize the JPEG decompression object with default error handling.
cinfo.err = jpeg_std_error(&jerr);
jpeg_create_decompress(&cinfo);
jpeg_mem_src(&cinfo, image_buffer, image_in.length());
// Read file header, set default decompression parameters
jpeg_read_header(&cinfo, TRUE);
// Force RGBA decoding, even for grayscale images
cinfo.out_color_space = JCS_EXT_RGBA;
jpeg_start_decompress(&cinfo);
// Prepare output buffer
size_t output_size = cinfo.output_width * cinfo.output_height * 4;
std::vector<uint8_t> output_buffer(output_size);
auto stride = cinfo.output_width * 4;
// Process data
while (cinfo.output_scanline < cinfo.output_height) {
uint8_t* ptr = &output_buffer[stride * cinfo.output_scanline];
jpeg_read_scanlines(&cinfo, &ptr, 1);
}
jpeg_finish_decompress(&cinfo);
// Step 7: release JPEG compression object
auto data = Uint8ClampedArray.new_(typed_memory_view(output_size, &output_buffer[0]));
auto js_result = ImageData.new_(data, cinfo.output_width, cinfo.output_height);
// This is an important step since it will release a good deal of memory.
jpeg_destroy_decompress(&cinfo);
// And we're done!
return js_result;
}
EMSCRIPTEN_BINDINGS(my_module) {
function("decode", &decode);
}

View File

@@ -1,57 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var v="./this.program";function w(a,b){throw b;}var ba,y,ca,da;ba=function(a){ca||(ca=require("fs"));da||(da=require("path"));a=da.normalize(a);return ca.readFileSync(a,null)};y=function(a){a=ba(a);a.buffer||(a=new Uint8Array(a));a.buffer||z("Assertion failed: undefined");return a};
1<process.argv.length&&(v=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof ea))throw a;});process.on("unhandledRejection",z);w=function(a){process.exit(a)};e.inspect=function(){return"[Emscripten Module object]"};var fa=e.print||console.log.bind(console),A=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;e.thisProgram&&(v=e.thisProgram);e.quit&&(w=e.quit);var C;e.wasmBinary&&(C=e.wasmBinary);
var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&z("no native wasm support detected");var ha,ia=!1,ja=new TextDecoder("utf8");
function ka(a,b,c){var d=D;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(b>=c)break;d[b++]=g}else{if(2047>=g){if(b+1>=c)break;d[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;d[b++]=224|g>>12}else{if(b+3>=c)break;d[b++]=240|g>>18;d[b++]=128|g>>12&63}d[b++]=128|g>>6&63}d[b++]=128|g&63}}d[b]=0}}var la=new TextDecoder("utf-16le");
function ma(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&E[c];)++c;return la.decode(D.subarray(a,c<<1))}function na(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)G[b>>1]=a.charCodeAt(f),b+=2;G[b>>1]=0;return b-d}function oa(a){return 2*a.length}function pa(a,b){for(var c=0,d="";!(c>=b/4);){var f=H[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}
function qa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}H[b>>2]=g;b+=4;if(b+4>c)break}H[b>>2]=0;return b-d}function ra(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var sa,I,D,G,E,H,K,ta,ua;
function va(){var a=ha.buffer;sa=a;e.HEAP8=I=new Int8Array(a);e.HEAP16=G=new Int16Array(a);e.HEAP32=H=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=E=new Uint16Array(a);e.HEAPU32=K=new Uint32Array(a);e.HEAPF32=ta=new Float32Array(a);e.HEAPF64=ua=new Float64Array(a)}var L,wa=[],xa=[],ya=[];function za(){var a=e.preRun.shift();wa.unshift(a)}var M=0,Aa=null,N=null;e.preloadedImages={};e.preloadedAudios={};
function z(a){if(e.onAbort)e.onAbort(a);A(a);ia=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var O=(new URL("mozjpeg_node_dec.wasm",import.meta.url)).toString();function Ba(){return Promise.resolve().then(function(){a:{try{if(O==O&&C){var a=new Uint8Array(C);break a}if(y){a=y(O);break a}throw"both async and sync fetching of the wasm failed";}catch(b){z(b)}a=void 0}return a})}
function Ca(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.N;"number"===typeof c?void 0===b.J?L.get(c)():L.get(c)(b.J):c(void 0===b.J?null:b.J)}}}function Da(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ea=void 0;function P(a){for(var b="";D[a];)b+=Ea[D[a++]];return b}var Q={},R={},S={};
function Fa(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ga(a,b){a=Fa(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ha(a){var b=Error,c=Ga(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ia=void 0;function T(a){throw new Ia(a);}var Ja=void 0;
function Ka(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ja("Mismatched type converter count");for(var k=0;k<d.length;++k)U(d[k],h[k])}var d=[];d.forEach(function(h){S[h]=a});var f=Array(a.length),g=[],l=0;a.forEach(function(h,k){R.hasOwnProperty(h)?f[k]=R[h]:(g.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){f[k]=R[h];++l;l===g.length&&c(f)}))});0===g.length&&c(f)}
function U(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.M)return;T("Cannot register type '"+d+"' twice")}R[a]=b;delete S[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(f){f()}))}var La=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ma(a){4<a&&0===--V[a].K&&(V[a]=void 0,La.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=La.length?La.pop():V.length;V[b]={K:1,value:a};return b}}function Na(a){return this.fromWireType(K[a>>2])}function Qa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Ra(a,b){switch(b){case 2:return function(c){return this.fromWireType(ta[c>>2])};case 3:return function(c){return this.fromWireType(ua[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Sa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ga(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Ta(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ua(a,b){var c=e;if(void 0===c[a].H){var d=c[a];c[a]=function(){c[a].H.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].H+")!");return c[a].H[arguments.length].apply(this,arguments)};c[a].H=[];c[a].H[d.L]=d}}
function Va(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].H&&void 0!==e[a].H[c])&&T("Cannot register public name '"+a+"' twice"),Ua(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].H[c]=b):(e[a]=b,void 0!==c&&(e[a].P=c))}function Wa(a,b){for(var c=[],d=0;d<a;d++)c.push(H[(b>>2)+d]);return c}
function Xa(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=L.get(b).apply(null,c);return d}}function Ya(a,b){a=P(a);var c=a.includes("j")?Xa(a,b):L.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Za=void 0;function $a(a){a=ab(a);var b=P(a);X(a);return b}
function bb(a,b){function c(g){f[g]||R[g]||(S[g]?S[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Za(a+": "+d.map($a).join([", "]));}function cb(a,b,c){switch(b){case 0:return c?function(d){return I[d]}:function(d){return D[d]};case 1:return c?function(d){return G[d>>1]}:function(d){return E[d>>1]};case 2:return c?function(d){return H[d>>2]}:function(d){return K[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var db={};
function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+$a(a));return c}var gb={},hb={};function ib(){if(!jb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:v||"./this.program"},b;for(b in hb)a[b]=hb[b];var c=[];for(b in a)c.push(b+"="+a[b]);jb=c}return jb}
for(var jb,kb=[null,[],[]],lb=Array(256),Y=0;256>Y;++Y)lb[Y]=String.fromCharCode(Y);Ea=lb;Ia=e.BindingError=Ha("BindingError");Ja=e.InternalError=Ha("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};e.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Za=e.UnboundTypeError=Ha("UnboundTypeError");
var nb={e:function(){},q:function(){},m:function(a,b,c,d,f){var g=Da(c);b=P(b);U(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=I;else if(2===c)h=G;else if(4===c)h=H;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>g])},I:null})},x:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;Ma(c);return d},toWireType:function(c,d){return W(d)},
argPackAdvance:8,readValueFromPointer:Na,I:null})},l:function(a,b,c){c=Da(c);b=P(b);U(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Qa(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Ra(b,c),I:null})},o:function(a,b,c,d,f,g){var l=Wa(b,c);a=P(a);f=Ya(d,f);Va(a,function(){bb("Cannot call "+a+" due to unbound types",l)},b-1);Ka(l,function(h){var k=[h[0],null].concat(h.slice(1)),
m=h=a,n=f,p=k.length;2>p&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,B=!1,q=1;q<k.length;++q)if(null!==k[q]&&void 0===k[q].I){B=!0;break}var Oa="void"!==k[0].name,F="",J="";for(q=0;q<p-2;++q)F+=(0!==q?", ":"")+"arg"+q,J+=(0!==q?", ":"")+"arg"+q+"Wired";m="return function "+Fa(m)+"("+F+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";
B&&(m+="var destructors = [];\n");var Pa=B?"destructors":"null";F="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[T,n,g,Ta,k[0],k[1]];x&&(m+="var thisWired = classParam.toWireType("+Pa+", this);\n");for(q=0;q<p-2;++q)m+="var arg"+q+"Wired = argType"+q+".toWireType("+Pa+", arg"+q+"); // "+k[q+2].name+"\n",F.push("argType"+q),n.push(k[q+2]);x&&(J="thisWired"+(0<J.length?", ":"")+J);m+=(Oa?"var rv = ":"")+"invoker(fn"+(0<J.length?", ":"")+J+");\n";if(B)m+="runDestructors(destructors);\n";
else for(q=x?1:2;q<k.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==k[q].I&&(m+=p+"_dtor("+p+"); // "+k[q].name+"\n",F.push(p+"_dtor"),n.push(k[q].I));Oa&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");F.push(m+"}\n");k=Sa(F).apply(null,n);q=b-1;if(!e.hasOwnProperty(h))throw new Ja("Replacing nonexistant public symbol");void 0!==e[h].H&&void 0!==q?e[h].H[q]=k:(e[h]=k,e[h].L=q);return[]})},b:function(a,b,c,d,f){function g(m){return m}b=P(b);-1===f&&(f=4294967295);var l=Da(c);
if(0===d){var h=32-8*c;g=function(m){return m<<h>>>h}}var k=b.includes("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Qa(n)+'" to '+this.name);if(n<d||n>f)throw new TypeError('Passing a number "'+Qa(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return k?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:cb(b,l,0!==d),I:null})},a:function(a,
b,c){function d(g){g>>=2;var l=K;return new f(sa,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);U(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{M:!0})},h:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=K[d>>2];if(c)for(var g=d+4,l=0;l<=f;++l){var h=d+4+l;if(l==f||0==D[h]){if(g){for(var k=g+(h-g),m=g;!(m>=k)&&D[m];)++m;g=ja.decode(D.subarray(g,m))}else g="";if(void 0===
n)var n=g;else n+=String.fromCharCode(0),n+=g;g=h+1}}else{n=Array(f);for(l=0;l<f;++l)n[l]=String.fromCharCode(D[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||T("Cannot pass non-string to std::string");var l=(c&&g?function(){for(var m=0,n=0;n<f.length;++n){var p=f.charCodeAt(n);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|f.charCodeAt(++n)&
1023);127>=p?++m:m=2047>=p?m+2:65535>=p?m+3:m+4}return m}:function(){return f.length})(),h=mb(4+l+1);K[h>>2]=l;if(c&&g)ka(f,h+4,l+1);else if(g)for(g=0;g<l;++g){var k=f.charCodeAt(g);255<k&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+g]=k}else for(g=0;g<l;++g)D[h+4+g]=f[g];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Na,I:function(d){X(d)}})},g:function(a,b,c){c=P(c);if(2===b){var d=ma;var f=na;var g=oa;var l=function(){return E};var h=1}else 4===
b&&(d=pa,f=qa,g=ra,l=function(){return K},h=2);U(a,{name:c,fromWireType:function(k){for(var m=K[k>>2],n=l(),p,x=k+4,B=0;B<=m;++B){var q=k+4+B*b;if(B==m||0==n[q>>h])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}X(k);return p},toWireType:function(k,m){"string"!==typeof m&&T("Cannot pass non-string to C++ string type "+c);var n=g(m),p=mb(4+n+b);K[p>>2]=n>>h;f(m,p+4,n+b);null!==k&&k.push(X,p);return p},argPackAdvance:8,readValueFromPointer:Na,I:function(k){X(k)}})},n:function(a,b){b=
P(b);U(a,{O:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},c:Ma,d:function(a){if(0===a)return W(eb());var b=db[a];a=void 0===b?P(a):b;return W(eb()[a])},i:function(a){4<a&&(V[a].K+=1)},j:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=V[a].value;var f=gb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(fb,e,W);gb[b]=f}return f(a,c,d)},k:function(){z()},s:function(a,b,c){D.copyWithin(a,b,b+c)},f:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
d);0<d%65536&&(d+=65536-d%65536);a:{try{ha.grow(Math.min(2147483648,d)-sa.byteLength+65535>>>16);va();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},t:function(a,b){var c=0;ib().forEach(function(d,f){var g=b+c;f=H[a+4*f>>2]=g;for(g=0;g<d.length;++g)I[f++>>0]=d.charCodeAt(g);I[f>>0]=0;c+=d.length+1});return 0},u:function(a,b){var c=ib();H[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});H[b>>2]=d;return 0},y:function(a){if(!noExitRuntime){if(e.onExit)e.onExit(a);ia=!0}w(a,new ea(a))},
v:function(){return 0},p:function(){},w:function(a,b,c,d){for(var f=0,g=0;g<c;g++){for(var l=H[b+8*g>>2],h=H[b+(8*g+4)>>2],k=0;k<h;k++){var m=D[l+k],n=kb[a];if(0===m||10===m){m=1===a?fa:A;var p;for(p=0;n[p]&&!(NaN<=p);)++p;p=ja.decode(n.subarray?n.subarray(0,p):new Uint8Array(n.slice(0,p)));m(p);n.length=0}else n.push(m)}f+=h}H[d>>2]=f;return 0},r:function(){}};
(function(){function a(f){e.asm=f.exports;ha=e.asm.z;va();L=e.asm.F;xa.unshift(e.asm.A);M--;e.monitorRunDependencies&&e.monitorRunDependencies(M);0==M&&(null!==Aa&&(clearInterval(Aa),Aa=null),N&&(f=N,N=null,f()))}function b(f){a(f.instance)}function c(f){return Ba().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){A("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:nb};M++;e.monitorRunDependencies&&e.monitorRunDependencies(M);if(e.instantiateWasm)try{return e.instantiateWasm(d,
a)}catch(f){return A("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return C||"function"!==typeof WebAssembly.instantiateStreaming||O.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){A("wasm streaming compile failed: "+g);A("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.A).apply(null,arguments)};var mb=e._malloc=function(){return(mb=e._malloc=e.asm.B).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.C).apply(null,arguments)},ab=e.___getTypeName=function(){return(ab=e.___getTypeName=e.asm.D).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.E).apply(null,arguments)};
e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.G).apply(null,arguments)};var Z;function ea(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}N=function ob(){Z||pb();Z||(N=ob)};
function pb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!ia)){Ca(xa);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();ya.unshift(b)}Ca(ya)}}if(!(0<M)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)za();Ca(wa);0<M||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=pb;
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();pb();
return Module.ready
}
);
})();
export default Module;

View File

@@ -1,37 +0,0 @@
export const enum MozJpegColorSpace {
GRAYSCALE = 1,
RGB,
YCbCr,
}
export interface EncodeOptions {
quality: number;
baseline: boolean;
arithmetic: boolean;
progressive: boolean;
optimize_coding: boolean;
smoothing: number;
color_space: MozJpegColorSpace;
quant_table: number;
trellis_multipass: boolean;
trellis_opt_zero: boolean;
trellis_opt_table: boolean;
trellis_loops: number;
auto_subsample: boolean;
chroma_subsample: number;
separate_chroma_quality: boolean;
chroma_quality: number;
}
export interface MozJPEGModule extends EmscriptenWasm.Module {
encode(
data: BufferSource,
width: number,
height: number,
options: EncodeOptions,
): Uint8Array;
}
declare var moduleFactory: EmscriptenWasm.ModuleFactory<MozJPEGModule>;
export default moduleFactory;

View File

@@ -1,59 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var ba,ca;g.ready=new Promise(function(a,b){ba=a;ca=b});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var da="./this.program";function ea(a,b){throw b;}var u="",fa;u=self.location.href;_scriptDir&&(u=_scriptDir);0!==u.indexOf("blob:")?u=u.substr(0,u.lastIndexOf("/")+1):u="";fa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};
var ha=g.print||console.log.bind(console),v=g.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;g.thisProgram&&(da=g.thisProgram);g.quit&&(ea=g.quit);var w;g.wasmBinary&&(w=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;"object"!==typeof WebAssembly&&A("no native wasm support detected");var ia,ja=!1,ka=new TextDecoder("utf8");
function la(a,b,c){var d=B;if(0<c){c=b+c-1;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var ma=new TextDecoder("utf-16le");
function na(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&C[c];)++c;return ma.decode(B.subarray(a,c<<1))}function oa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)D[b>>1]=a.charCodeAt(e),b+=2;D[b>>1]=0;return b-d}function pa(a){return 2*a.length}function qa(a,b){for(var c=0,d="";!(c>=b/4);){var e=F[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function ra(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}F[b>>2]=f;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function sa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var ta,G,B,D,C,F,H,ua,va;
function wa(){var a=ia.buffer;ta=a;g.HEAP8=G=new Int8Array(a);g.HEAP16=D=new Int16Array(a);g.HEAP32=F=new Int32Array(a);g.HEAPU8=B=new Uint8Array(a);g.HEAPU16=C=new Uint16Array(a);g.HEAPU32=H=new Uint32Array(a);g.HEAPF32=ua=new Float32Array(a);g.HEAPF64=va=new Float64Array(a)}var I,xa=[],ya=[],za=[];function Aa(){var a=g.preRun.shift();xa.unshift(a)}var J=0,Ba=null,K=null;g.preloadedImages={};g.preloadedAudios={};
function A(a){if(g.onAbort)g.onAbort(a);v(a);ja=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}var L=(new URL("mozjpeg_enc.wasm",import.meta.url)).toString();function Ca(){try{if(L==L&&w)return new Uint8Array(w);if(fa)return fa(L);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}
function Da(){return w||"function"!==typeof fetch?Promise.resolve().then(function(){return Ca()}):fetch(L,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+L+"'";return a.arrayBuffer()}).catch(function(){return Ca()})}function Ea(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(g);else{var c=b.aa;"number"===typeof c?void 0===b.M?I.get(c)():I.get(c)(b.M):c(void 0===b.M?null:b.M)}}}var M={};
function Fa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function N(a){return this.fromWireType(H[a>>2])}var O={},P={},Q={};function Ga(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ha(a,b){a=Ga(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ia(a){var b=Error,c=Ha(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ja=void 0;
function Ka(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new Ja("Mismatched type converter count");for(var n=0;n<a.length;++n)R(a[n],h[n])}a.forEach(function(h){Q[h]=b});var e=Array(b.length),f=[],m=0;b.forEach(function(h,n){P.hasOwnProperty(h)?e[n]=P[h]:(f.push(h),O.hasOwnProperty(h)||(O[h]=[]),O[h].push(function(){e[n]=P[h];++m;m===f.length&&d(e)}))});0===f.length&&d(e)}
function La(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ma=void 0;function T(a){for(var b="";B[a];)b+=Ma[B[a++]];return b}var Na=void 0;function U(a){throw new Na(a);}
function R(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(P.hasOwnProperty(a)){if(c.V)return;U("Cannot register type '"+d+"' twice")}P[a]=b;delete Q[a];O.hasOwnProperty(a)&&(b=O[a],delete O[a],b.forEach(function(e){e()}))}var Oa=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Pa(a){4<a&&0===--V[a].N&&(V[a]=void 0,Oa.push(a))}function W(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Oa.length?Oa.pop():V.length;V[b]={N:1,value:a};return b}}function Qa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Ra(a,b){switch(b){case 2:return function(c){return this.fromWireType(ua[c>>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Sa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ha(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Ta(a,b){var c=g;if(void 0===c[a].K){var d=c[a];c[a]=function(){c[a].K.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].K+")!");return c[a].K[arguments.length].apply(this,arguments)};c[a].K=[];c[a].K[d.P]=d}}
function Ua(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].K&&void 0!==g[a].K[c])&&U("Cannot register public name '"+a+"' twice"),Ta(a,a),g.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].K[c]=b):(g[a]=b,void 0!==c&&(g[a].ca=c))}function Va(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function Wa(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=g["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=I.get(b).apply(null,c);return d}}function X(a,b){a=T(a);var c=a.includes("j")?Wa(a,b):I.get(b);"function"!==typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var Xa=void 0;function Ya(a){a=Za(a);var b=T(a);Y(a);return b}
function $a(a,b){function c(f){e[f]||P[f]||(Q[f]?Q[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Xa(a+": "+d.map(Ya).join([", "]));}function ab(a,b,c){switch(b){case 0:return c?function(d){return G[d]}:function(d){return B[d]};case 1:return c?function(d){return D[d>>1]}:function(d){return C[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return H[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var bb={};
function cb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function db(a,b){var c=P[a];void 0===c&&U(b+" has unknown type "+Ya(a));return c}var eb={},fb={};function gb(){if(!hb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in fb)a[b]=fb[b];var c=[];for(b in a)c.push(b+"="+a[b]);hb=c}return hb}
var hb,ib=[null,[],[]];Ja=g.InternalError=Ia("InternalError");for(var jb=Array(256),Z=0;256>Z;++Z)jb[Z]=String.fromCharCode(Z);Ma=jb;Na=g.BindingError=Ia("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};g.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};Xa=g.UnboundTypeError=Ia("UnboundTypeError");
var mb={B:function(){},l:function(a){var b=M[a];delete M[a];var c=b.W,d=b.X,e=b.O,f=e.map(function(m){return m.U}).concat(e.map(function(m){return m.Z}));Ka([a],f,function(m){var h={};e.forEach(function(n,k){var l=m[k],q=n.S,x=n.T,y=m[k+e.length],p=n.Y,aa=n.$;h[n.R]={read:function(z){return l.fromWireType(q(x,z))},write:function(z,E){var S=[];p(aa,z,y.toWireType(S,E));Fa(S)}}});return[{name:b.name,fromWireType:function(n){var k={},l;for(l in h)k[l]=h[l].read(n);d(n);return k},toWireType:function(n,
k){for(var l in h)if(!(l in k))throw new TypeError('Missing field: "'+l+'"');var q=c();for(l in h)h[l].write(q,k[l]);null!==n&&n.push(d,q);return q},argPackAdvance:8,readValueFromPointer:N,L:d}]})},p:function(){},y:function(a,b,c,d,e){var f=La(c);b=T(b);R(a,{name:b,fromWireType:function(m){return!!m},toWireType:function(m,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(m){if(1===c)var h=G;else if(2===c)h=D;else if(4===c)h=F;else throw new TypeError("Unknown boolean type size: "+b);
return this.fromWireType(h[m>>f])},L:null})},x:function(a,b){b=T(b);R(a,{name:b,fromWireType:function(c){var d=V[c].value;Pa(c);return d},toWireType:function(c,d){return W(d)},argPackAdvance:8,readValueFromPointer:N,L:null})},i:function(a,b,c){c=La(c);b=T(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+Qa(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ra(b,c),L:null})},
f:function(a,b,c,d,e,f){var m=Va(b,c);a=T(a);e=X(d,e);Ua(a,function(){$a("Cannot call "+a+" due to unbound types",m)},b-1);Ka([],m,function(h){var n=a,k=a;h=[h[0],null].concat(h.slice(1));var l=e,q=h.length;2>q&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==h[1]&&!1,y=!1,p=1;p<h.length;++p)if(null!==h[p]&&void 0===h[p].L){y=!0;break}var aa="void"!==h[0].name,z="",E="";for(p=0;p<q-2;++p)z+=(0!==p?", ":"")+"arg"+p,E+=(0!==p?", ":"")+"arg"+p+"Wired";
k="return function "+Ga(k)+"("+z+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+k+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n";y&&(k+="var destructors = [];\n");var S=y?"destructors":"null";z="throwBindingError invoker fn runDestructors retType classParam".split(" ");l=[U,l,f,Fa,h[0],h[1]];x&&(k+="var thisWired = classParam.toWireType("+S+", this);\n");for(p=0;p<q-2;++p)k+="var arg"+p+"Wired = argType"+p+".toWireType("+S+", arg"+p+
"); // "+h[p+2].name+"\n",z.push("argType"+p),l.push(h[p+2]);x&&(E="thisWired"+(0<E.length?", ":"")+E);k+=(aa?"var rv = ":"")+"invoker(fn"+(0<E.length?", ":"")+E+");\n";if(y)k+="runDestructors(destructors);\n";else for(p=x?1:2;p<h.length;++p)q=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==h[p].L&&(k+=q+"_dtor("+q+"); // "+h[p].name+"\n",z.push(q+"_dtor"),l.push(h[p].L));aa&&(k+="var ret = retType.fromWireType(rv);\nreturn ret;\n");z.push(k+"}\n");h=Sa(z).apply(null,l);p=b-1;if(!g.hasOwnProperty(n))throw new Ja("Replacing nonexistant public symbol");
void 0!==g[n].K&&void 0!==p?g[n].K[p]=h:(g[n]=h,g[n].P=p);return[]})},c:function(a,b,c,d,e){function f(k){return k}b=T(b);-1===e&&(e=4294967295);var m=La(c);if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var n=b.includes("unsigned");R(a,{name:b,fromWireType:f,toWireType:function(k,l){if("number"!==typeof l&&"boolean"!==typeof l)throw new TypeError('Cannot convert "'+Qa(l)+'" to '+this.name);if(l<d||l>e)throw new TypeError('Passing a number "'+Qa(l)+'" from JS side to C/C++ side to an argument of type "'+
b+'", which is outside the valid range ['+d+", "+e+"]!");return n?l>>>0:l|0},argPackAdvance:8,readValueFromPointer:ab(b,m,0!==d),L:null})},b:function(a,b,c){function d(f){f>>=2;var m=H;return new e(ta,m[f+1],m[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{V:!0})},j:function(a,b){b=T(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var e=H[d>>2];if(c)for(var f=
d+4,m=0;m<=e;++m){var h=d+4+m;if(m==e||0==B[h]){if(f){for(var n=f+(h-f),k=f;!(k>=n)&&B[k];)++k;f=ka.decode(B.subarray(f,k))}else f="";if(void 0===l)var l=f;else l+=String.fromCharCode(0),l+=f;f=h+1}}else{l=Array(e);for(m=0;m<e;++m)l[m]=String.fromCharCode(B[d+4+m]);l=l.join("")}Y(d);return l},toWireType:function(d,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||U("Cannot pass non-string to std::string");
var m=(c&&f?function(){for(var k=0,l=0;l<e.length;++l){var q=e.charCodeAt(l);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|e.charCodeAt(++l)&1023);127>=q?++k:k=2047>=q?k+2:65535>=q?k+3:k+4}return k}:function(){return e.length})(),h=kb(4+m+1);H[h>>2]=m;if(c&&f)la(e,h+4,m+1);else if(f)for(f=0;f<m;++f){var n=e.charCodeAt(f);255<n&&(Y(h),U("String has UTF-16 code units that do not fit in 8 bits"));B[h+4+f]=n}else for(f=0;f<m;++f)B[h+4+f]=e[f];null!==d&&d.push(Y,h);return h},argPackAdvance:8,readValueFromPointer:N,
L:function(d){Y(d)}})},e:function(a,b,c){c=T(c);if(2===b){var d=na;var e=oa;var f=pa;var m=function(){return C};var h=1}else 4===b&&(d=qa,e=ra,f=sa,m=function(){return H},h=2);R(a,{name:c,fromWireType:function(n){for(var k=H[n>>2],l=m(),q,x=n+4,y=0;y<=k;++y){var p=n+4+y*b;if(y==k||0==l[p>>h])x=d(x,p-x),void 0===q?q=x:(q+=String.fromCharCode(0),q+=x),x=p+b}Y(n);return q},toWireType:function(n,k){"string"!==typeof k&&U("Cannot pass non-string to C++ string type "+c);var l=f(k),q=kb(4+l+b);H[q>>2]=l>>
h;e(k,q+4,l+b);null!==n&&n.push(Y,q);return q},argPackAdvance:8,readValueFromPointer:N,L:function(n){Y(n)}})},m:function(a,b,c,d,e,f){M[a]={name:T(b),W:X(c,d),X:X(e,f),O:[]}},a:function(a,b,c,d,e,f,m,h,n,k){M[a].O.push({R:T(b),U:c,S:X(d,e),T:f,Z:m,Y:X(h,n),$:k})},z:function(a,b){b=T(b);R(a,{ba:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:Pa,u:function(a){if(0===a)return W(cb());var b=bb[a];a=void 0===b?T(a):b;return W(cb()[a])},k:function(a){4<a&&(V[a].N+=1)},
n:function(a,b,c,d){a||U("Cannot use deleted val. handle = "+a);a=V[a].value;var e=eb[b];if(!e){e="";for(var f=0;f<b;++f)e+=(0!==f?", ":"")+"arg"+f;var m="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)m+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module",
"__emval_register",m+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(db,g,W);eb[b]=e}return e(a,c,d)},h:function(){A()},r:function(a,b,c){B.copyWithin(a,b,b+c)},d:function(a){var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{ia.grow(Math.min(2147483648,d)-ta.byteLength+65535>>>16);wa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},s:function(a,
b){var c=0;gb().forEach(function(d,e){var f=b+c;e=F[a+4*e>>2]=f;for(f=0;f<d.length;++f)G[e++>>0]=d.charCodeAt(f);G[e>>0]=0;c+=d.length+1});return 0},t:function(a,b){var c=gb();F[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1});F[b>>2]=d;return 0},A:function(a){if(!noExitRuntime){if(g.onExit)g.onExit(a);ja=!0}ea(a,new lb(a))},v:function(){return 0},o:function(){},w:function(a,b,c,d){for(var e=0,f=0;f<c;f++){for(var m=F[b+8*f>>2],h=F[b+(8*f+4)>>2],n=0;n<h;n++){var k=B[m+n],l=ib[a];if(0===
k||10===k){for(k=0;l[k]&&!(NaN<=k);)++k;k=ka.decode(l.subarray?l.subarray(0,k):new Uint8Array(l.slice(0,k)));(1===a?ha:v)(k);l.length=0}else l.push(k)}e+=h}F[d>>2]=e;return 0},q:function(){}};
(function(){function a(e){g.asm=e.exports;ia=g.asm.C;wa();I=g.asm.I;ya.unshift(g.asm.D);J--;g.monitorRunDependencies&&g.monitorRunDependencies(J);0==J&&(null!==Ba&&(clearInterval(Ba),Ba=null),K&&(e=K,K=null,e()))}function b(e){a(e.instance)}function c(e){return Da().then(function(f){return WebAssembly.instantiate(f,d)}).then(e,function(f){v("failed to asynchronously prepare wasm: "+f);A(f)})}var d={a:mb};J++;g.monitorRunDependencies&&g.monitorRunDependencies(J);if(g.instantiateWasm)try{return g.instantiateWasm(d,
a)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return w||"function"!==typeof WebAssembly.instantiateStreaming||L.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(L,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(f){v("wasm streaming compile failed: "+f);v("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})();
g.___wasm_call_ctors=function(){return(g.___wasm_call_ctors=g.asm.D).apply(null,arguments)};var kb=g._malloc=function(){return(kb=g._malloc=g.asm.E).apply(null,arguments)},Y=g._free=function(){return(Y=g._free=g.asm.F).apply(null,arguments)},Za=g.___getTypeName=function(){return(Za=g.___getTypeName=g.asm.G).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.H).apply(null,arguments)};
g.dynCall_jiji=function(){return(g.dynCall_jiji=g.asm.J).apply(null,arguments)};var nb;function lb(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}K=function ob(){nb||pb();nb||(K=ob)};
function pb(){function a(){if(!nb&&(nb=!0,g.calledRun=!0,!ja)){Ea(ya);ba(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var b=g.postRun.shift();za.unshift(b)}Ea(za)}}if(!(0<J)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Aa();Ea(xa);0<J||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);a()},1)):a())}}g.run=pb;
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();pb();
return Module.ready
}
);
})();
export default Module;

Binary file not shown.

View File

@@ -1,59 +0,0 @@
var Module = (function() {
var _scriptDir = import.meta.url;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(a,b){aa=a;ba=b});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var ca="./this.program";function da(a,b){throw b;}var ea,fa,ha,ia;ea=function(a){ha||(ha=require("fs"));ia||(ia=require("path"));a=ia.normalize(a);return ha.readFileSync(a,null)};fa=function(a){a=ea(a);a.buffer||(a=new Uint8Array(a));a.buffer||u("Assertion failed: undefined");return a};
1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof ja))throw a;});process.on("unhandledRejection",u);da=function(a){process.exit(a)};g.inspect=function(){return"[Emscripten Module object]"};var ka=g.print||console.log.bind(console),v=g.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;g.thisProgram&&(ca=g.thisProgram);g.quit&&(da=g.quit);var w;g.wasmBinary&&(w=g.wasmBinary);
var noExitRuntime=g.noExitRuntime||!0;"object"!==typeof WebAssembly&&u("no native wasm support detected");var la,ma=!1,na=new TextDecoder("utf8");
function oa(a,b,c){var d=A;if(0<c){c=b+c-1;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var pa=new TextDecoder("utf-16le");
function qa(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&B[c];)++c;return pa.decode(A.subarray(a,c<<1))}function ra(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)C[b>>1]=a.charCodeAt(e),b+=2;C[b>>1]=0;return b-d}function sa(a){return 2*a.length}function ta(a,b){for(var c=0,d="";!(c>=b/4);){var e=D[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function ua(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}D[b>>2]=f;b+=4;if(b+4>c)break}D[b>>2]=0;return b-d}function va(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var wa,F,A,C,B,D,G,xa,ya;
function za(){var a=la.buffer;wa=a;g.HEAP8=F=new Int8Array(a);g.HEAP16=C=new Int16Array(a);g.HEAP32=D=new Int32Array(a);g.HEAPU8=A=new Uint8Array(a);g.HEAPU16=B=new Uint16Array(a);g.HEAPU32=G=new Uint32Array(a);g.HEAPF32=xa=new Float32Array(a);g.HEAPF64=ya=new Float64Array(a)}var H,Aa=[],Ba=[],Ca=[];function Da(){var a=g.preRun.shift();Aa.unshift(a)}var I=0,Ea=null,J=null;g.preloadedImages={};g.preloadedAudios={};
function u(a){if(g.onAbort)g.onAbort(a);v(a);ma=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}var K=(new URL("mozjpeg_node_enc.wasm",import.meta.url)).toString();function Fa(){return Promise.resolve().then(function(){a:{try{if(K==K&&w){var a=new Uint8Array(w);break a}if(fa){a=fa(K);break a}throw"both async and sync fetching of the wasm failed";}catch(b){u(b)}a=void 0}return a})}
function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(g);else{var c=b.aa;"number"===typeof c?void 0===b.M?H.get(c)():H.get(c)(b.M):c(void 0===b.M?null:b.M)}}}var L={};function Ha(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function M(a){return this.fromWireType(G[a>>2])}var N={},O={},P={};function Ia(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function Ja(a,b){a=Ia(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ka(a){var b=Error,c=Ja(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var La=void 0;function Ma(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new La("Mismatched type converter count");for(var k=0;k<a.length;++k)Q(a[k],h[k])}a.forEach(function(h){P[h]=b});var e=Array(b.length),f=[],m=0;b.forEach(function(h,k){O.hasOwnProperty(h)?e[k]=O[h]:(f.push(h),N.hasOwnProperty(h)||(N[h]=[]),N[h].push(function(){e[k]=O[h];++m;m===f.length&&d(e)}))});0===f.length&&d(e)}
function Na(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Oa=void 0;function S(a){for(var b="";A[a];)b+=Oa[A[a++]];return b}var Pa=void 0;function T(a){throw new Pa(a);}
function Q(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(O.hasOwnProperty(a)){if(c.V)return;T("Cannot register type '"+d+"' twice")}O[a]=b;delete P[a];N.hasOwnProperty(a)&&(b=N[a],delete N[a],b.forEach(function(e){e()}))}var Qa=[],U=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Ra(a){4<a&&0===--U[a].N&&(U[a]=void 0,Qa.push(a))}function V(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Qa.length?Qa.pop():U.length;U[b]={N:1,value:a};return b}}function Sa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Ta(a,b){switch(b){case 2:return function(c){return this.fromWireType(xa[c>>2])};case 3:return function(c){return this.fromWireType(ya[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Ua(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ja(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Va(a,b){var c=g;if(void 0===c[a].K){var d=c[a];c[a]=function(){c[a].K.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].K+")!");return c[a].K[arguments.length].apply(this,arguments)};c[a].K=[];c[a].K[d.P]=d}}
function Wa(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].K&&void 0!==g[a].K[c])&&T("Cannot register public name '"+a+"' twice"),Va(a,a),g.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].K[c]=b):(g[a]=b,void 0!==c&&(g[a].da=c))}function Xa(a,b){for(var c=[],d=0;d<a;d++)c.push(D[(b>>2)+d]);return c}
function Ya(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=g["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=H.get(b).apply(null,c);return d}}function W(a,b){a=S(a);var c=a.includes("j")?Ya(a,b):H.get(b);"function"!==typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Za=void 0;function $a(a){a=ab(a);var b=S(a);X(a);return b}
function bb(a,b){function c(f){e[f]||O[f]||(P[f]?P[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Za(a+": "+d.map($a).join([", "]));}function cb(a,b,c){switch(b){case 0:return c?function(d){return F[d]}:function(d){return A[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return B[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return G[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var db={};
function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fb(a,b){var c=O[a];void 0===c&&T(b+" has unknown type "+$a(a));return c}var gb={},hb={};function ib(){if(!jb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in hb)a[b]=hb[b];var c=[];for(b in a)c.push(b+"="+a[b]);jb=c}return jb}
var jb,kb=[null,[],[]];La=g.InternalError=Ka("InternalError");for(var lb=Array(256),Y=0;256>Y;++Y)lb[Y]=String.fromCharCode(Y);Oa=lb;Pa=g.BindingError=Ka("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b<U.length;++b)void 0!==U[b]&&++a;return a};g.get_first_emval=function(){for(var a=5;a<U.length;++a)if(void 0!==U[a])return U[a];return null};Za=g.UnboundTypeError=Ka("UnboundTypeError");
var nb={B:function(){},l:function(a){var b=L[a];delete L[a];var c=b.W,d=b.X,e=b.O,f=e.map(function(m){return m.U}).concat(e.map(function(m){return m.Z}));Ma([a],f,function(m){var h={};e.forEach(function(k,n){var l=m[n],p=k.S,x=k.T,y=m[n+e.length],q=k.Y,Z=k.$;h[k.R]={read:function(z){return l.fromWireType(p(x,z))},write:function(z,E){var R=[];q(Z,z,y.toWireType(R,E));Ha(R)}}});return[{name:b.name,fromWireType:function(k){var n={},l;for(l in h)n[l]=h[l].read(k);d(k);return n},toWireType:function(k,
n){for(var l in h)if(!(l in n))throw new TypeError('Missing field: "'+l+'"');var p=c();for(l in h)h[l].write(p,n[l]);null!==k&&k.push(d,p);return p},argPackAdvance:8,readValueFromPointer:M,L:d}]})},p:function(){},y:function(a,b,c,d,e){var f=Na(c);b=S(b);Q(a,{name:b,fromWireType:function(m){return!!m},toWireType:function(m,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(m){if(1===c)var h=F;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+b);
return this.fromWireType(h[m>>f])},L:null})},x:function(a,b){b=S(b);Q(a,{name:b,fromWireType:function(c){var d=U[c].value;Ra(c);return d},toWireType:function(c,d){return V(d)},argPackAdvance:8,readValueFromPointer:M,L:null})},i:function(a,b,c){c=Na(c);b=S(b);Q(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+Sa(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ta(b,c),L:null})},
f:function(a,b,c,d,e,f){var m=Xa(b,c);a=S(a);e=W(d,e);Wa(a,function(){bb("Cannot call "+a+" due to unbound types",m)},b-1);Ma([],m,function(h){var k=[h[0],null].concat(h.slice(1)),n=h=a,l=e,p=k.length;2>p&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,y=!1,q=1;q<k.length;++q)if(null!==k[q]&&void 0===k[q].L){y=!0;break}var Z="void"!==k[0].name,z="",E="";for(q=0;q<p-2;++q)z+=(0!==q?", ":"")+"arg"+q,E+=(0!==q?", ":"")+"arg"+q+"Wired";n=
"return function "+Ia(n)+"("+z+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(p-2)+" args!');\n}\n";y&&(n+="var destructors = [];\n");var R=y?"destructors":"null";z="throwBindingError invoker fn runDestructors retType classParam".split(" ");l=[T,l,f,Ha,k[0],k[1]];x&&(n+="var thisWired = classParam.toWireType("+R+", this);\n");for(q=0;q<p-2;++q)n+="var arg"+q+"Wired = argType"+q+".toWireType("+R+", arg"+q+"); // "+
k[q+2].name+"\n",z.push("argType"+q),l.push(k[q+2]);x&&(E="thisWired"+(0<E.length?", ":"")+E);n+=(Z?"var rv = ":"")+"invoker(fn"+(0<E.length?", ":"")+E+");\n";if(y)n+="runDestructors(destructors);\n";else for(q=x?1:2;q<k.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==k[q].L&&(n+=p+"_dtor("+p+"); // "+k[q].name+"\n",z.push(p+"_dtor"),l.push(k[q].L));Z&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");z.push(n+"}\n");k=Ua(z).apply(null,l);q=b-1;if(!g.hasOwnProperty(h))throw new La("Replacing nonexistant public symbol");
void 0!==g[h].K&&void 0!==q?g[h].K[q]=k:(g[h]=k,g[h].P=q);return[]})},c:function(a,b,c,d,e){function f(n){return n}b=S(b);-1===e&&(e=4294967295);var m=Na(c);if(0===d){var h=32-8*c;f=function(n){return n<<h>>>h}}var k=b.includes("unsigned");Q(a,{name:b,fromWireType:f,toWireType:function(n,l){if("number"!==typeof l&&"boolean"!==typeof l)throw new TypeError('Cannot convert "'+Sa(l)+'" to '+this.name);if(l<d||l>e)throw new TypeError('Passing a number "'+Sa(l)+'" from JS side to C/C++ side to an argument of type "'+
b+'", which is outside the valid range ['+d+", "+e+"]!");return k?l>>>0:l|0},argPackAdvance:8,readValueFromPointer:cb(b,m,0!==d),L:null})},b:function(a,b,c){function d(f){f>>=2;var m=G;return new e(wa,m[f+1],m[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=S(c);Q(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{V:!0})},j:function(a,b){b=S(b);var c="std::string"===b;Q(a,{name:b,fromWireType:function(d){var e=G[d>>2];if(c)for(var f=
d+4,m=0;m<=e;++m){var h=d+4+m;if(m==e||0==A[h]){if(f){for(var k=f+(h-f),n=f;!(n>=k)&&A[n];)++n;f=na.decode(A.subarray(f,n))}else f="";if(void 0===l)var l=f;else l+=String.fromCharCode(0),l+=f;f=h+1}}else{l=Array(e);for(m=0;m<e;++m)l[m]=String.fromCharCode(A[d+4+m]);l=l.join("")}X(d);return l},toWireType:function(d,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||T("Cannot pass non-string to std::string");
var m=(c&&f?function(){for(var n=0,l=0;l<e.length;++l){var p=e.charCodeAt(l);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|e.charCodeAt(++l)&1023);127>=p?++n:n=2047>=p?n+2:65535>=p?n+3:n+4}return n}:function(){return e.length})(),h=mb(4+m+1);G[h>>2]=m;if(c&&f)oa(e,h+4,m+1);else if(f)for(f=0;f<m;++f){var k=e.charCodeAt(f);255<k&&(X(h),T("String has UTF-16 code units that do not fit in 8 bits"));A[h+4+f]=k}else for(f=0;f<m;++f)A[h+4+f]=e[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:M,
L:function(d){X(d)}})},e:function(a,b,c){c=S(c);if(2===b){var d=qa;var e=ra;var f=sa;var m=function(){return B};var h=1}else 4===b&&(d=ta,e=ua,f=va,m=function(){return G},h=2);Q(a,{name:c,fromWireType:function(k){for(var n=G[k>>2],l=m(),p,x=k+4,y=0;y<=n;++y){var q=k+4+y*b;if(y==n||0==l[q>>h])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}X(k);return p},toWireType:function(k,n){"string"!==typeof n&&T("Cannot pass non-string to C++ string type "+c);var l=f(n),p=mb(4+l+b);G[p>>2]=l>>
h;e(n,p+4,l+b);null!==k&&k.push(X,p);return p},argPackAdvance:8,readValueFromPointer:M,L:function(k){X(k)}})},m:function(a,b,c,d,e,f){L[a]={name:S(b),W:W(c,d),X:W(e,f),O:[]}},a:function(a,b,c,d,e,f,m,h,k,n){L[a].O.push({R:S(b),U:c,S:W(d,e),T:f,Z:m,Y:W(h,k),$:n})},z:function(a,b){b=S(b);Q(a,{ba:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:Ra,u:function(a){if(0===a)return V(eb());var b=db[a];a=void 0===b?S(a):b;return V(eb()[a])},k:function(a){4<a&&(U[a].N+=1)},
n:function(a,b,c,d){a||T("Cannot use deleted val. handle = "+a);a=U[a].value;var e=gb[b];if(!e){e="";for(var f=0;f<b;++f)e+=(0!==f?", ":"")+"arg"+f;var m="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)m+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module",
"__emval_register",m+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(fb,g,V);gb[b]=e}return e(a,c,d)},h:function(){u()},r:function(a,b,c){A.copyWithin(a,b,b+c)},d:function(a){var b=A.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0<d%65536&&(d+=65536-d%65536);a:{try{la.grow(Math.min(2147483648,d)-wa.byteLength+65535>>>16);za();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},s:function(a,
b){var c=0;ib().forEach(function(d,e){var f=b+c;e=D[a+4*e>>2]=f;for(f=0;f<d.length;++f)F[e++>>0]=d.charCodeAt(f);F[e>>0]=0;c+=d.length+1});return 0},t:function(a,b){var c=ib();D[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1});D[b>>2]=d;return 0},A:function(a){if(!noExitRuntime){if(g.onExit)g.onExit(a);ma=!0}da(a,new ja(a))},v:function(){return 0},o:function(){},w:function(a,b,c,d){for(var e=0,f=0;f<c;f++){for(var m=D[b+8*f>>2],h=D[b+(8*f+4)>>2],k=0;k<h;k++){var n=A[m+k],l=kb[a];if(0===
n||10===n){n=1===a?ka:v;var p;for(p=0;l[p]&&!(NaN<=p);)++p;p=na.decode(l.subarray?l.subarray(0,p):new Uint8Array(l.slice(0,p)));n(p);l.length=0}else l.push(n)}e+=h}D[d>>2]=e;return 0},q:function(){}};
(function(){function a(e){g.asm=e.exports;la=g.asm.C;za();H=g.asm.I;Ba.unshift(g.asm.D);I--;g.monitorRunDependencies&&g.monitorRunDependencies(I);0==I&&(null!==Ea&&(clearInterval(Ea),Ea=null),J&&(e=J,J=null,e()))}function b(e){a(e.instance)}function c(e){return Fa().then(function(f){return WebAssembly.instantiate(f,d)}).then(e,function(f){v("failed to asynchronously prepare wasm: "+f);u(f)})}var d={a:nb};I++;g.monitorRunDependencies&&g.monitorRunDependencies(I);if(g.instantiateWasm)try{return g.instantiateWasm(d,
a)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return w||"function"!==typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(f){v("wasm streaming compile failed: "+f);v("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();
g.___wasm_call_ctors=function(){return(g.___wasm_call_ctors=g.asm.D).apply(null,arguments)};var mb=g._malloc=function(){return(mb=g._malloc=g.asm.E).apply(null,arguments)},X=g._free=function(){return(X=g._free=g.asm.F).apply(null,arguments)},ab=g.___getTypeName=function(){return(ab=g.___getTypeName=g.asm.G).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.H).apply(null,arguments)};
g.dynCall_jiji=function(){return(g.dynCall_jiji=g.asm.J).apply(null,arguments)};var ob;function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}J=function pb(){ob||qb();ob||(J=pb)};
function qb(){function a(){if(!ob&&(ob=!0,g.calledRun=!0,!ma)){Ga(Ba);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var b=g.postRun.shift();Ca.unshift(b)}Ga(Ca)}}if(!(0<I)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Da();Ga(Aa);0<I||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);a()},1)):a())}}g.run=qb;
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();qb();
return Module.ready
}
);
})();
export default Module;

View File

@@ -1,5 +0,0 @@
{
"scripts": {
"build": "../build-cpp.sh"
}
}

View File

@@ -2,29 +2,23 @@ CODEC_URL := https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz
CODEC_DIR := node_modules/mozjpeg CODEC_DIR := node_modules/mozjpeg
CODEC_OUT_RELATIVE := .libs/libjpeg.a rdswitch.o CODEC_OUT_RELATIVE := .libs/libjpeg.a rdswitch.o
CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE)) CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE))
ENVIRONMENT = worker OUT_JS := mozjpeg_enc.js
OUT_JS := enc/mozjpeg_enc.js enc/mozjpeg_node_enc.js dec/mozjpeg_node_dec.js
OUT_WASM := $(OUT_JS:.js=.wasm) OUT_WASM := $(OUT_JS:.js=.wasm)
.PHONY: all clean .PHONY: all clean
all: $(OUT_JS) all: $(OUT_JS)
# Define dependencies for all variations of build artifacts. %.js: %.cpp $(CODEC_OUT)
$(filter enc/%,$(OUT_JS)): enc/mozjpeg_enc.cpp
$(filter dec/%,$(OUT_JS)): dec/mozjpeg_dec.cpp
enc/mozjpeg_node_enc.js dec/mozjpeg_node_dec.js: ENVIRONMENT = node
%.js: $(CODEC_OUT)
$(CXX) \ $(CXX) \
-I $(CODEC_DIR) \ -I $(CODEC_DIR) \
${CXXFLAGS} \ ${CXXFLAGS} \
${LDFLAGS} \ ${LDFLAGS} \
--bind \ --bind \
-s ENVIRONMENT=$(ENVIRONMENT) \ --closure 1 \
-s EXPORT_ES6=1 \ -s ALLOW_MEMORY_GROWTH=1 \
-s MODULARIZE=1 \
-s 'EXPORT_NAME="$(basename $(@F))"' \
-o $@ \ -o $@ \
$+ $+
@@ -42,10 +36,7 @@ $(CODEC_DIR)/Makefile: $(CODEC_DIR)/configure
--without-turbojpeg \ --without-turbojpeg \
--without-simd \ --without-simd \
--without-arith-enc \ --without-arith-enc \
--without-arith-dec \ --without-arith-dec
--with-build-date=squoosh
# ^ If not provided with a dummy value, MozJPEG includes a build date in the
# binary as part of the version string, making binaries different each time.
$(CODEC_DIR)/configure: $(CODEC_DIR)/configure.ac $(CODEC_DIR)/configure: $(CODEC_DIR)/configure.ac
cd $(CODEC_DIR) && autoreconf -iv cd $(CODEC_DIR) && autoreconf -iv

View File

@@ -0,0 +1,44 @@
# MozJPEG encoder
- Source: <https://github.com/mozilla/mozjpeg>
- Version: v3.3.1
- License: BSD
## Dependencies
- Docker
## Example
See `example.html`
## API
### `int version()`
Returns the version of MozJPEG as a number. va.b.c is encoded as 0x0a0b0c
### `Uint8Array encode(std::string image_in, int image_width, int image_height, MozJpegOptions opts)`
Encodes the given image with given dimension to JPEG. Options looks like this:
```c++
struct MozJpegOptions {
int quality;
bool baseline;
bool arithmetic;
bool progressive;
bool optimize_coding;
int smoothing;
int color_space;
int quant_table;
bool trellis_multipass;
bool trellis_opt_zero;
bool trellis_opt_table;
int trellis_loops;
bool auto_subsample;
int chroma_subsample;
bool separate_chroma_quality;
int chroma_quality;
};
```

View File

@@ -0,0 +1,48 @@
<!doctype html>
<script src='mozjpeg_enc.js'></script>
<script>
const module = mozjpeg_enc();
async function loadImage(src) {
// Load image
const img = document.createElement('img');
img.src = src;
await new Promise(resolve => img.onload = resolve);
// Make canvas same size as image
const canvas = document.createElement('canvas');
[canvas.width, canvas.height] = [img.width, img.height];
// Draw image onto canvas
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
return ctx.getImageData(0, 0, img.width, img.height);
}
module.onRuntimeInitialized = async _ => {
console.log('Version:', module.version().toString(16));
const image = await loadImage('../example.png');
const result = module.encode(image.data, image.width, image.height, {
quality: 75,
baseline: false,
arithmetic: false,
progressive: true,
optimize_coding: true,
smoothing: 0,
color_space: 3,
quant_table: 3,
trellis_multipass: false,
trellis_opt_zero: false,
trellis_opt_table: false,
trellis_loops: 1,
auto_subsample: true,
chroma_subsample: 2,
separate_chroma_quality: false,
chroma_quality: 75,
});
const blob = new Blob([result], {type: 'image/jpeg'});
const blobURL = URL.createObjectURL(blob);
const img = document.createElement('img');
img.src = blobURL;
document.body.appendChild(img);
};
</script>

View File

@@ -141,7 +141,6 @@ val encode(std::string image_in, int image_width, int image_height, MozJpegOptio
jpeg_c_set_bool_param(&cinfo, JBOOLEAN_TRELLIS_EOB_OPT, opts.trellis_opt_zero); jpeg_c_set_bool_param(&cinfo, JBOOLEAN_TRELLIS_EOB_OPT, opts.trellis_opt_zero);
jpeg_c_set_bool_param(&cinfo, JBOOLEAN_TRELLIS_Q_OPT, opts.trellis_opt_table); jpeg_c_set_bool_param(&cinfo, JBOOLEAN_TRELLIS_Q_OPT, opts.trellis_opt_table);
jpeg_c_set_int_param(&cinfo, JINT_TRELLIS_NUM_LOOPS, opts.trellis_loops); jpeg_c_set_int_param(&cinfo, JINT_TRELLIS_NUM_LOOPS, opts.trellis_loops);
jpeg_c_set_int_param(&cinfo, JINT_DC_SCAN_OPT_MODE, 0);
// A little hacky to build a string for this, but it means we can use // A little hacky to build a string for this, but it means we can use
// set_quality_ratings which does some useful heuristic stuff. // set_quality_ratings which does some useful heuristic stuff.

7
codecs/mozjpeg_enc/mozjpeg_enc.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
import { EncodeOptions } from '../../src/codecs/mozjpeg/encoder-meta';
interface MozJPEGModule extends EmscriptenWasm.Module {
encode(data: BufferSource, width: number, height: number, options: EncodeOptions): Uint8Array;
}
export default function(opts: EmscriptenWasm.ModuleOpts): Promise<MozJPEGModule>;

View File

@@ -0,0 +1,72 @@
var mozjpeg_enc = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(mozjpeg_enc) {
mozjpeg_enc = mozjpeg_enc || {};
var d;d||(d=typeof mozjpeg_enc !== 'undefined' ? mozjpeg_enc : {});var aa;d.ready=new Promise(function(a){aa=a});var r={},t;for(t in d)d.hasOwnProperty(t)&&(r[t]=d[t]);var ba="./this.program";function u(a,b){throw b;}var v=!1,w=!1,ca=!1,da=!1;v="object"===typeof window;w="function"===typeof importScripts;ca="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;da=!v&&!ca&&!w;var x="",B,C,ea,fa;
if(ca)x=w?require("path").dirname(x)+"/":__dirname+"/",B=function(a,b){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);return ea.readFileSync(a,b?null:"utf8")},C=function(a){a=B(a,!0);a.buffer||(a=new Uint8Array(a));a.buffer||D("Assertion failed: undefined");return a},1<process.argv.length&&(ba=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof ha))throw a;}),process.on("unhandledRejection",D),u=function(a){process.exit(a)},
d.inspect=function(){return"[Emscripten Module object]"};else if(da)"undefined"!=typeof read&&(B=function(a){return read(a)}),C=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"===typeof a||D("Assertion failed: undefined");return a},"function"===typeof quit&&(u=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:
print);else if(v||w)w?x=self.location.href:document.currentScript&&(x=document.currentScript.src),_scriptDir&&(x=_scriptDir),0!==x.indexOf("blob:")?x=x.substr(0,x.lastIndexOf("/")+1):x="",B=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},w&&(C=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ia=d.print||console.log.bind(console),E=d.printErr||console.warn.bind(console);
for(t in r)r.hasOwnProperty(t)&&(d[t]=r[t]);r=null;d.thisProgram&&(ba=d.thisProgram);d.quit&&(u=d.quit);var G;d.wasmBinary&&(G=d.wasmBinary);var noExitRuntime;d.noExitRuntime&&(noExitRuntime=d.noExitRuntime);"object"!==typeof WebAssembly&&D("no native wasm support detected");var H,ja=new WebAssembly.Table({initial:122,maximum:122,element:"anyfunc"}),la=!1,ma="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function na(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&ma)return ma.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|l:(f&7)<<18|g<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
function oa(a,b,c){var e=I;if(0<c){c=b+c-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}if(127>=g){if(b>=c)break;e[b++]=g}else{if(2047>=g){if(b+1>=c)break;e[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;e[b++]=224|g>>12}else{if(b+3>=c)break;e[b++]=240|g>>18;e[b++]=128|g>>12&63}e[b++]=128|g>>6&63}e[b++]=128|g&63}}e[b]=0}}var pa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function qa(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&ra[c];)++c;c<<=1;if(32<c-a&&pa)return pa.decode(I.subarray(a,c));c=0;for(e="";;){var f=J[a+2*c>>1];if(0==f||c==b/2)return e;++c;e+=String.fromCharCode(f)}}function sa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)J[b>>1]=a.charCodeAt(f),b+=2;J[b>>1]=0;return b-e}function ta(a){return 2*a.length}
function ua(a,b){for(var c=0,e="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}function va(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var l=a.charCodeAt(++f);g=65536+((g&1023)<<10)|l&1023}K[b>>2]=g;b+=4;if(b+4>c)break}K[b>>2]=0;return b-e}
function wa(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b}var L,M,I,J,ra,K,N,xa,ya;function za(a){L=a;d.HEAP8=M=new Int8Array(a);d.HEAP16=J=new Int16Array(a);d.HEAP32=K=new Int32Array(a);d.HEAPU8=I=new Uint8Array(a);d.HEAPU16=ra=new Uint16Array(a);d.HEAPU32=N=new Uint32Array(a);d.HEAPF32=xa=new Float32Array(a);d.HEAPF64=ya=new Float64Array(a)}var Aa=d.INITIAL_MEMORY||16777216;d.wasmMemory?H=d.wasmMemory:H=new WebAssembly.Memory({initial:Aa/65536,maximum:32768});
H&&(L=H.buffer);Aa=L.byteLength;za(L);K[22876]=5334544;function Ba(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(d);else{var c=b.ga;"number"===typeof c?void 0===b.$?d.dynCall_v(c):d.dynCall_vi(c,b.$):c(void 0===b.$?null:b.$)}}}var Ca=[],Da=[],Ea=[],Fa=[];function Ga(){var a=d.preRun.shift();Ca.unshift(a)}var O=0,Ha=null,P=null;d.preloadedImages={};d.preloadedAudios={};
function D(a){if(d.onAbort)d.onAbort(a);ia(a);E(a);la=!0;throw new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}function Ia(a){var b=Q;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ja(){return Ia("data:application/octet-stream;base64,")}var Q="mozjpeg_enc.wasm";if(!Ja()){var Ka=Q;Q=d.locateFile?d.locateFile(Ka,x):x+Ka}
function La(){try{if(G)return new Uint8Array(G);if(C)return C(Q);throw"both async and sync fetching of the wasm failed";}catch(a){D(a)}}function Ma(){return G||!v&&!w||"function"!==typeof fetch||Ia("file://")?new Promise(function(a){a(La())}):fetch(Q,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+Q+"'";return a.arrayBuffer()}).catch(function(){return La()})}Da.push({ga:function(){Na()}});function Oa(){return 0<Oa.ba}var Pa={};
function Qa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ra(a){return this.fromWireType(N[a>>2])}var R={},S={},Sa={};function Ta(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Ua(a,b){a=Ta(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Va(a){var b=Error,c=Ua(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Wa=void 0;
function Xa(a,b,c){function e(k){k=c(k);if(k.length!==a.length)throw new Wa("Mismatched type converter count");for(var h=0;h<a.length;++h)T(a[h],k[h])}a.forEach(function(k){Sa[k]=b});var f=Array(b.length),g=[],l=0;b.forEach(function(k,h){S.hasOwnProperty(k)?f[h]=S[k]:(g.push(k),R.hasOwnProperty(k)||(R[k]=[]),R[k].push(function(){f[h]=S[k];++l;l===g.length&&e(f)}))});0===g.length&&e(f)}
function Ya(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Za=void 0;function U(a){for(var b="";I[a];)b+=Za[I[a++]];return b}var $a=void 0;function V(a){throw new $a(a);}
function T(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||V('type "'+e+'" must have a positive integer typeid pointer');if(S.hasOwnProperty(a)){if(c.ka)return;V("Cannot register type '"+e+"' twice")}S[a]=b;delete Sa[a];R.hasOwnProperty(a)&&(b=R[a],delete R[a],b.forEach(function(f){f()}))}var ab=[],X=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function bb(a){4<a&&0===--X[a].aa&&(X[a]=void 0,ab.push(a))}function cb(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=ab.length?ab.pop():X.length;X[b]={aa:1,value:a};return b}}function db(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function eb(a,b){switch(b){case 2:return function(c){return this.fromWireType(xa[c>>2])};case 3:return function(c){return this.fromWireType(ya[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function fb(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ua(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function gb(a,b){var c=d;if(void 0===c[a].Y){var e=c[a];c[a]=function(){c[a].Y.hasOwnProperty(arguments.length)||V("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Y+")!");return c[a].Y[arguments.length].apply(this,arguments)};c[a].Y=[];c[a].Y[e.ea]=e}}
function hb(a,b,c){d.hasOwnProperty(a)?((void 0===c||void 0!==d[a].Y&&void 0!==d[a].Y[c])&&V("Cannot register public name '"+a+"' twice"),gb(a,a),d.hasOwnProperty(c)&&V("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),d[a].Y[c]=b):(d[a]=b,void 0!==c&&(d[a].ra=c))}function ib(a,b){for(var c=[],e=0;e<a;e++)c.push(K[(b>>2)+e]);return c}
function Y(a,b){a=U(a);var c=d["dynCall_"+a];for(var e=[],f=1;f<a.length;++f)e.push("a"+f);f="return function dynCall_"+(a+"_"+b)+"("+e.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n";c=(new Function("dynCall","rawFunction",f+"};\n"))(c,b);"function"!==typeof c&&V("unknown function pointer with signature "+a+": "+b);return c}var jb=void 0;function kb(a){a=lb(a);var b=U(a);Z(a);return b}
function mb(a,b){function c(g){f[g]||S[g]||(Sa[g]?Sa[g].forEach(c):(e.push(g),f[g]=!0))}var e=[],f={};b.forEach(c);throw new jb(a+": "+e.map(kb).join([", "]));}function nb(a,b,c){switch(b){case 0:return c?function(e){return M[e]}:function(e){return I[e]};case 1:return c?function(e){return J[e>>1]}:function(e){return ra[e>>1]};case 2:return c?function(e){return K[e>>2]}:function(e){return N[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var ob={};
function pb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function qb(a,b){var c=S[a];void 0===c&&V(b+" has unknown type "+kb(a));return c}var rb={},sb={};function tb(){if(!ub){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ba||"./this.program"},b;for(b in sb)a[b]=sb[b];var c=[];for(b in a)c.push(b+"="+a[b]);ub=c}return ub}
var ub,vb=[null,[],[]];Wa=d.InternalError=Va("InternalError");for(var wb=Array(256),xb=0;256>xb;++xb)wb[xb]=String.fromCharCode(xb);Za=wb;$a=d.BindingError=Va("BindingError");d.count_emval_handles=function(){for(var a=0,b=5;b<X.length;++b)void 0!==X[b]&&++a;return a};d.get_first_emval=function(){for(var a=5;a<X.length;++a)if(void 0!==X[a])return X[a];return null};jb=d.UnboundTypeError=Va("UnboundTypeError");
var zb={j:function(a){return yb(a)},C:function(){},A:function(a){"uncaught_exception"in Oa?Oa.ba++:Oa.ba=1;throw a;},l:function(a){var b=Pa[a];delete Pa[a];var c=b.la,e=b.ma,f=b.da,g=f.map(function(l){return l.ja}).concat(f.map(function(l){return l.oa}));Xa([a],g,function(l){var k={};f.forEach(function(h,m){var n=l[m],q=h.ha,y=h.ia,z=l[m+f.length],p=h.na,ka=h.pa;k[h.fa]={read:function(A){return n.fromWireType(q(y,A))},write:function(A,F){var W=[];p(ka,A,z.toWireType(W,F));Qa(W)}}});return[{name:b.name,
fromWireType:function(h){var m={},n;for(n in k)m[n]=k[n].read(h);e(h);return m},toWireType:function(h,m){for(var n in k)if(!(n in m))throw new TypeError('Missing field: "'+n+'"');var q=c();for(n in k)k[n].write(q,m[n]);null!==h&&h.push(e,q);return q},argPackAdvance:8,readValueFromPointer:Ra,Z:e}]})},x:function(a,b,c,e,f){var g=Ya(c);b=U(b);T(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,k){return k?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var k=M;else if(2===
c)k=J;else if(4===c)k=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[l>>g])},Z:null})},w:function(a,b){b=U(b);T(a,{name:b,fromWireType:function(c){var e=X[c].value;bb(c);return e},toWireType:function(c,e){return cb(e)},argPackAdvance:8,readValueFromPointer:Ra,Z:null})},h:function(a,b,c){c=Ya(c);b=U(b);T(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+db(f)+
'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:eb(b,c),Z:null})},e:function(a,b,c,e,f,g){var l=ib(b,c);a=U(a);f=Y(e,f);hb(a,function(){mb("Cannot call "+a+" due to unbound types",l)},b-1);Xa([],l,function(k){var h=[k[0],null].concat(k.slice(1)),m=k=a,n=f,q=h.length;2>q&&V("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var y=null!==h[1]&&!1,z=!1,p=1;p<h.length;++p)if(null!==h[p]&&void 0===h[p].Z){z=!0;break}var ka="void"!==h[0].name,A="",F=
"";for(p=0;p<q-2;++p)A+=(0!==p?", ":"")+"arg"+p,F+=(0!==p?", ":"")+"arg"+p+"Wired";m="return function "+Ta(m)+"("+A+") {\nif (arguments.length !== "+(q-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n";z&&(m+="var destructors = [];\n");var W=z?"destructors":"null";A="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[V,n,g,Qa,h[0],h[1]];y&&(m+="var thisWired = classParam.toWireType("+W+", this);\n");
for(p=0;p<q-2;++p)m+="var arg"+p+"Wired = argType"+p+".toWireType("+W+", arg"+p+"); // "+h[p+2].name+"\n",A.push("argType"+p),n.push(h[p+2]);y&&(F="thisWired"+(0<F.length?", ":"")+F);m+=(ka?"var rv = ":"")+"invoker(fn"+(0<F.length?", ":"")+F+");\n";if(z)m+="runDestructors(destructors);\n";else for(p=y?1:2;p<h.length;++p)q=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==h[p].Z&&(m+=q+"_dtor("+q+"); // "+h[p].name+"\n",A.push(q+"_dtor"),n.push(h[p].Z));ka&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");
A.push(m+"}\n");h=fb(A).apply(null,n);p=b-1;if(!d.hasOwnProperty(k))throw new Wa("Replacing nonexistant public symbol");void 0!==d[k].Y&&void 0!==p?d[k].Y[p]=h:(d[k]=h,d[k].ea=p);return[]})},b:function(a,b,c,e,f){function g(m){return m}b=U(b);-1===f&&(f=4294967295);var l=Ya(c);if(0===e){var k=32-8*c;g=function(m){return m<<k>>>k}}var h=-1!=b.indexOf("unsigned");T(a,{name:b,fromWireType:g,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+db(n)+
'" to '+this.name);if(n<e||n>f)throw new TypeError('Passing a number "'+db(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+e+", "+f+"]!");return h?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:nb(b,l,0!==e),Z:null})},a:function(a,b,c){function e(g){g>>=2;var l=N;return new f(L,l[g+1],l[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=U(c);T(a,{name:c,fromWireType:e,argPackAdvance:8,
readValueFromPointer:e},{ka:!0})},i:function(a,b){b=U(b);var c="std::string"===b;T(a,{name:b,fromWireType:function(e){var f=N[e>>2];if(c)for(var g=e+4,l=0;l<=f;++l){var k=e+4+l;if(0==I[k]||l==f){g=g?na(I,g,k-g):"";if(void 0===h)var h=g;else h+=String.fromCharCode(0),h+=g;g=k+1}}else{h=Array(f);for(l=0;l<f;++l)h[l]=String.fromCharCode(I[e+4+l]);h=h.join("")}Z(e);return h},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||
f instanceof Uint8ClampedArray||f instanceof Int8Array||V("Cannot pass non-string to std::string");var l=(c&&g?function(){for(var m=0,n=0;n<f.length;++n){var q=f.charCodeAt(n);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++n)&1023);127>=q?++m:m=2047>=q?m+2:65535>=q?m+3:m+4}return m}:function(){return f.length})(),k=yb(4+l+1);N[k>>2]=l;if(c&&g)oa(f,k+4,l+1);else if(g)for(g=0;g<l;++g){var h=f.charCodeAt(g);255<h&&(Z(k),V("String has UTF-16 code units that do not fit in 8 bits"));I[k+4+g]=
h}else for(g=0;g<l;++g)I[k+4+g]=f[g];null!==e&&e.push(Z,k);return k},argPackAdvance:8,readValueFromPointer:Ra,Z:function(e){Z(e)}})},d:function(a,b,c){c=U(c);if(2===b){var e=qa;var f=sa;var g=ta;var l=function(){return ra};var k=1}else 4===b&&(e=ua,f=va,g=wa,l=function(){return N},k=2);T(a,{name:c,fromWireType:function(h){for(var m=N[h>>2],n=l(),q,y=h+4,z=0;z<=m;++z){var p=h+4+z*b;if(0==n[p>>k]||z==m)y=e(y,p-y),void 0===q?q=y:(q+=String.fromCharCode(0),q+=y),y=p+b}Z(h);return q},toWireType:function(h,
m){"string"!==typeof m&&V("Cannot pass non-string to C++ string type "+c);var n=g(m),q=yb(4+n+b);N[q>>2]=n>>k;f(m,q+4,n+b);null!==h&&h.push(Z,q);return q},argPackAdvance:8,readValueFromPointer:Ra,Z:function(h){Z(h)}})},m:function(a,b,c,e,f,g){Pa[a]={name:U(b),la:Y(c,e),ma:Y(f,g),da:[]}},f:function(a,b,c,e,f,g,l,k,h,m){Pa[a].da.push({fa:U(b),ja:c,ha:Y(e,f),ia:g,oa:l,na:Y(k,h),pa:m})},y:function(a,b){b=U(b);T(a,{qa:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},v:bb,
B:function(a){if(0===a)return cb(pb());var b=ob[a];a=void 0===b?U(a):b;return cb(pb()[a])},k:function(a){4<a&&(X[a].aa+=1)},n:function(a,b,c,e){a||V("Cannot use deleted val. handle = "+a);a=X[a].value;var f=rb[b];if(!f){f="";for(var g=0;g<b;++g)f+=(0!==g?", ":"")+"arg"+g;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(g=0;g<b;++g)l+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+
g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";f=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+f+");\nreturn __emval_register(obj);\n}\n")))(qb,d,cb);rb[b]=f}return f(a,c,e)},r:function(){D()},q:function(a,b,c){I.copyWithin(a,b,b+c)},c:function(a){a>>>=0;var b=I.length;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0<e%65536&&(e+=65536-e%65536);a:{try{H.grow(Math.min(2147483648,
e)-L.byteLength+65535>>>16);za(H.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},s:function(a,b){var c=0;tb().forEach(function(e,f){var g=b+c;f=K[a+4*f>>2]=g;for(g=0;g<e.length;++g)M[f++>>0]=e.charCodeAt(g);M[f>>0]=0;c+=e.length+1});return 0},t:function(a,b){var c=tb();K[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});K[b>>2]=e;return 0},z:function(a){if(!noExitRuntime&&(la=!0,d.onExit))d.onExit(a);u(a,new ha(a))},u:function(){return 0},o:function(){},g:function(a,
b,c,e){for(var f=0,g=0;g<c;g++){for(var l=K[b+8*g>>2],k=K[b+(8*g+4)>>2],h=0;h<k;h++){var m=I[l+h],n=vb[a];0===m||10===m?((1===a?ia:E)(na(n,0)),n.length=0):n.push(m)}f+=k}K[e>>2]=f;return 0},memory:H,p:function(){},table:ja};
(function(){function a(f){d.asm=f.exports;O--;d.monitorRunDependencies&&d.monitorRunDependencies(O);0==O&&(null!==Ha&&(clearInterval(Ha),Ha=null),P&&(f=P,P=null,f()))}function b(f){a(f.instance)}function c(f){return Ma().then(function(g){return WebAssembly.instantiate(g,e)}).then(f,function(g){E("failed to asynchronously prepare wasm: "+g);D(g)})}var e={a:zb};O++;d.monitorRunDependencies&&d.monitorRunDependencies(O);if(d.instantiateWasm)try{return d.instantiateWasm(e,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+
f),!1}(function(){if(G||"function"!==typeof WebAssembly.instantiateStreaming||Ja()||Ia("file://")||"function"!==typeof fetch)return c(b);fetch(Q,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){E("wasm streaming compile failed: "+g);E("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Na=d.___wasm_call_ctors=function(){return(Na=d.___wasm_call_ctors=d.asm.D).apply(null,arguments)},Z=d._free=function(){return(Z=d._free=d.asm.E).apply(null,arguments)},yb=d._malloc=function(){return(yb=d._malloc=d.asm.F).apply(null,arguments)},lb=d.___getTypeName=function(){return(lb=d.___getTypeName=d.asm.G).apply(null,arguments)};d.___embind_register_native_and_builtin_types=function(){return(d.___embind_register_native_and_builtin_types=d.asm.H).apply(null,arguments)};
d.dynCall_i=function(){return(d.dynCall_i=d.asm.I).apply(null,arguments)};d.dynCall_vi=function(){return(d.dynCall_vi=d.asm.J).apply(null,arguments)};d.dynCall_iii=function(){return(d.dynCall_iii=d.asm.K).apply(null,arguments)};d.dynCall_viii=function(){return(d.dynCall_viii=d.asm.L).apply(null,arguments)};d.dynCall_ii=function(){return(d.dynCall_ii=d.asm.M).apply(null,arguments)};d.dynCall_iiiiii=function(){return(d.dynCall_iiiiii=d.asm.N).apply(null,arguments)};
d.dynCall_viiiii=function(){return(d.dynCall_viiiii=d.asm.O).apply(null,arguments)};d.dynCall_vii=function(){return(d.dynCall_vii=d.asm.P).apply(null,arguments)};d.dynCall_iiiiiii=function(){return(d.dynCall_iiiiiii=d.asm.Q).apply(null,arguments)};d.dynCall_iiiii=function(){return(d.dynCall_iiiii=d.asm.R).apply(null,arguments)};d.dynCall_iiii=function(){return(d.dynCall_iiii=d.asm.S).apply(null,arguments)};d.dynCall_viiiiiiii=function(){return(d.dynCall_viiiiiiii=d.asm.T).apply(null,arguments)};
d.dynCall_viiii=function(){return(d.dynCall_viiii=d.asm.U).apply(null,arguments)};d.dynCall_viiiiiii=function(){return(d.dynCall_viiiiiii=d.asm.V).apply(null,arguments)};d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.W).apply(null,arguments)};d.dynCall_viiiiii=function(){return(d.dynCall_viiiiii=d.asm.X).apply(null,arguments)};var Ab;function ha(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}P=function Bb(){Ab||Cb();Ab||(P=Bb)};
function Cb(){function a(){if(!Ab&&(Ab=!0,d.calledRun=!0,!la)){Ba(Da);Ba(Ea);aa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var b=d.postRun.shift();Fa.unshift(b)}Ba(Fa)}}if(!(0<O)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)Ga();Ba(Ca);0<O||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}
d.run=Cb;if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();noExitRuntime=!0;Cb();
return mozjpeg_enc.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = mozjpeg_enc;
else if (typeof define === 'function' && define['amd'])
define([], function() { return mozjpeg_enc; });
else if (typeof exports === 'object')
exports["mozjpeg_enc"] = mozjpeg_enc;

Binary file not shown.

View File

@@ -1,5 +1,5 @@
{ {
"name": "wp2", "name": "mozjpeg_enc",
"scripts": { "scripts": {
"build": "../build-cpp.sh" "build": "../build-cpp.sh"
} }

258
codecs/oxipng/Cargo.lock generated
View File

@@ -1,7 +1,5 @@
# This file is automatically @generated by Cargo. # This file is automatically @generated by Cargo.
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3
[[package]] [[package]]
name = "adler" name = "adler"
version = "0.2.3" version = "0.2.3"
@@ -22,9 +20,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]] [[package]]
name = "bit-vec" name = "bit-vec"
version = "0.6.3" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" checksum = "5f0dc55f2d8a1a85650ac47858bb001b4c0dd73d79e3c455a842925e68d29cd3"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
@@ -58,9 +56,9 @@ checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.66" version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48" checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@@ -68,12 +66,6 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "cloudflare-zlib" name = "cloudflare-zlib"
version = "0.2.5" version = "0.2.5"
@@ -92,18 +84,6 @@ dependencies = [
"cc", "cc",
] ]
[[package]]
name = "color_quant"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "const_fn"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
[[package]] [[package]]
name = "crc" name = "crc"
version = "1.8.1" version = "1.8.1"
@@ -115,56 +95,57 @@ dependencies = [
[[package]] [[package]]
name = "crc32fast" name = "crc32fast"
version = "1.2.1" version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if",
] ]
[[package]] [[package]]
name = "crossbeam-channel" name = "crossbeam-channel"
version = "0.5.0" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775" checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
dependencies = [ dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils", "crossbeam-utils",
"maybe-uninit",
] ]
[[package]] [[package]]
name = "crossbeam-deque" name = "crossbeam-deque"
version = "0.8.0" version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
dependencies = [ dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch", "crossbeam-epoch",
"crossbeam-utils", "crossbeam-utils",
"maybe-uninit",
] ]
[[package]] [[package]]
name = "crossbeam-epoch" name = "crossbeam-epoch"
version = "0.9.1" version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d" checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "autocfg",
"const_fn", "cfg-if",
"crossbeam-utils", "crossbeam-utils",
"lazy_static", "lazy_static",
"maybe-uninit",
"memoffset", "memoffset",
"scopeguard", "scopeguard",
] ]
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.1" version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d" checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"cfg-if 1.0.0", "cfg-if",
"lazy_static", "lazy_static",
] ]
@@ -186,28 +167,27 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.9.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" checksum = "00d63df3d41950fb462ed38308eea019113ad1508da725bbedcd0fa5a85ef5f7"
[[package]] [[package]]
name = "hermit-abi" name = "hermit-abi"
version = "0.1.17" version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8" checksum = "4c30f6d0bc6b00693347368a67d41b58f2fb851215ff1da49e90fe2c5c667151"
dependencies = [ dependencies = [
"libc", "libc",
] ]
[[package]] [[package]]
name = "image" name = "image"
version = "0.23.12" version = "0.23.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ce04077ead78e39ae8610ad26216aed811996b043d47beed5090db674f9e9b5" checksum = "974e194911d1f7efe3cd8a8f9db3b767e43536327e899e8bc9a12ef5711b74d2"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"byteorder", "byteorder",
"color_quant",
"num-iter", "num-iter",
"num-rational", "num-rational",
"num-traits", "num-traits",
@@ -216,9 +196,9 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "1.6.1" version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b" checksum = "55e2e4c765aa53a0424761bf9f41aa7a6ac1efa87238f59560640e27fca028f2"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"hashbrown", "hashbrown",
@@ -227,22 +207,13 @@ dependencies = [
[[package]] [[package]]
name = "itertools" name = "itertools"
version = "0.10.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319" checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
dependencies = [ dependencies = [
"either", "either",
] ]
[[package]]
name = "js-sys"
version = "0.3.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc9f84f9b115ce7843d60706df1422a916680bfdfcbdb0447c5614ff9d7e4d78"
dependencies = [
"wasm-bindgen",
]
[[package]] [[package]]
name = "lazy_static" name = "lazy_static"
version = "1.4.0" version = "1.4.0"
@@ -251,24 +222,24 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.81" version = "0.2.77"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb" checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235"
[[package]] [[package]]
name = "libdeflate-sys" name = "libdeflate-sys"
version = "0.7.1" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a95fa4be7085dd06a8296dcc3f399f12ab8b0309c157dcaa90669130b175b97" checksum = "21e39efa87b84db3e13ff4e2dfac1e57220abcbd7fe8ec44d238f7f4f787cc1f"
dependencies = [ dependencies = [
"cc", "cc",
] ]
[[package]] [[package]]
name = "libdeflater" name = "libdeflater"
version = "0.7.1" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccc147465654929bf7b56518cc46d11701ba290f4ff94398ae3f89f1663cf60f" checksum = "a4810980d791f26d470e2d7d91a3d4d22aa3a4b709fb7e9c5e43ee54f83a01f2"
dependencies = [ dependencies = [
"libdeflate-sys", "libdeflate-sys",
] ]
@@ -279,14 +250,20 @@ version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
dependencies = [ dependencies = [
"cfg-if 0.1.10", "cfg-if",
] ]
[[package]] [[package]]
name = "memoffset" name = "maybe-uninit"
version = "0.6.1" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87" checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
[[package]]
name = "memoffset"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@@ -302,9 +279,9 @@ dependencies = [
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.4.3" version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d" checksum = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
dependencies = [ dependencies = [
"adler", "adler",
"autocfg", "autocfg",
@@ -312,9 +289,9 @@ dependencies = [
[[package]] [[package]]
name = "num-integer" name = "num-integer"
version = "0.1.44" version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-traits", "num-traits",
@@ -322,9 +299,9 @@ dependencies = [
[[package]] [[package]]
name = "num-iter" name = "num-iter"
version = "0.1.42" version = "0.1.41"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" checksum = "7a6e6b7c748f995c4c29c5f5ae0248536e04a5739927c74ec0fa564805094b9f"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-integer", "num-integer",
@@ -333,9 +310,9 @@ dependencies = [
[[package]] [[package]]
name = "num-rational" name = "num-rational"
version = "0.3.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" checksum = "a5b4d7360f362cfb50dde8143501e6940b22f644be75a4cc90b2d81968908138"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-integer", "num-integer",
@@ -344,9 +321,9 @@ dependencies = [
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.14" version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@@ -362,10 +339,15 @@ dependencies = [
] ]
[[package]] [[package]]
name = "oxipng" name = "once_cell"
version = "4.0.3" version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d0b53912a666fe2970f8ab254e283531c816aed16551ab66c52485eadb44e6" checksum = "260e51e7efe62b592207e9e13a68e43692a7a279171d6ba57abd208bf23645ad"
[[package]]
name = "oxipng"
version = "3.0.1"
source = "git+https://github.com/RReverser/oxipng?branch=crossbeam#d0f86d2e84eb55b423b8ad194a176e71ba3aa2c3"
dependencies = [ dependencies = [
"bit-vec", "bit-vec",
"byteorder", "byteorder",
@@ -377,26 +359,18 @@ dependencies = [
"itertools", "itertools",
"libdeflater", "libdeflater",
"log", "log",
"miniz_oxide 0.4.3", "miniz_oxide 0.4.2",
"rayon", "rayon",
"rgb", "rgb",
"rustc_version", "rustc_version",
] "zopfli",
[[package]]
name = "pest"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
dependencies = [
"ucd-trie",
] ]
[[package]] [[package]]
name = "png" name = "png"
version = "0.16.8" version = "0.16.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" checksum = "dfe7f9f1c730833200b134370e1d5098964231af8450bce9b78ee3ab5278b970"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"crc32fast", "crc32fast",
@@ -406,27 +380,27 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.26" version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.8" version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df" checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]] [[package]]
name = "rayon" name = "rayon"
version = "1.5.0" version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" checksum = "cfd016f0c045ad38b5251be2c9c0ab806917f82da4d36b2a327e5166adad9270"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"crossbeam-deque", "crossbeam-deque",
@@ -436,9 +410,9 @@ dependencies = [
[[package]] [[package]]
name = "rayon-core" name = "rayon-core"
version = "1.9.0" version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" checksum = "e8c4fec834fb6e6d2dd5eece3c7b432a52f0ba887cf40e595190c4107edc08bf"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"crossbeam-deque", "crossbeam-deque",
@@ -458,9 +432,9 @@ dependencies = [
[[package]] [[package]]
name = "rustc_version" name = "rustc_version"
version = "0.3.0" version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65c94201b44764d6d1f7e37c15a8289ed55e546c1762c7f1d57f616966e0c181" checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
dependencies = [ dependencies = [
"semver", "semver",
] ]
@@ -473,44 +447,36 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]] [[package]]
name = "semver" name = "semver"
version = "0.11.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
dependencies = [ dependencies = [
"semver-parser", "semver-parser",
] ]
[[package]] [[package]]
name = "semver-parser" name = "semver-parser"
version = "0.10.2" version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
dependencies = [
"pest",
]
[[package]]
name = "spmc"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02a8428da277a8e3a15271d79943e80ccc2ef254e78813a166a08d65e4c3ece5"
[[package]] [[package]]
name = "squoosh-oxipng" name = "squoosh-oxipng"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"libdeflater", "crossbeam-channel",
"log", "log",
"once_cell",
"oxipng", "oxipng",
"rayon",
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-rayon",
] ]
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.72" version = "1.0.41"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" checksum = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -518,10 +484,10 @@ dependencies = [
] ]
[[package]] [[package]]
name = "ucd-trie" name = "typed-arena"
version = "0.1.3" version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" checksum = "a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
@@ -531,19 +497,19 @@ checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
[[package]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.74" version = "0.2.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" checksum = "1ac64ead5ea5f05873d7c12b545865ca2b8d28adfc50a49b84770a3a97265d42"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if",
"wasm-bindgen-macro", "wasm-bindgen-macro",
] ]
[[package]] [[package]]
name = "wasm-bindgen-backend" name = "wasm-bindgen-backend"
version = "0.2.74" version = "0.2.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" checksum = "f22b422e2a757c35a73774860af8e112bff612ce6cb604224e8e47641a9e4f68"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"lazy_static", "lazy_static",
@@ -556,9 +522,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro" name = "wasm-bindgen-macro"
version = "0.2.74" version = "0.2.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" checksum = "6b13312a745c08c469f0b292dd2fcd6411dba5f7160f593da6ef69b64e407038"
dependencies = [ dependencies = [
"quote", "quote",
"wasm-bindgen-macro-support", "wasm-bindgen-macro-support",
@@ -566,9 +532,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro-support" name = "wasm-bindgen-macro-support"
version = "0.2.74" version = "0.2.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" checksum = "f249f06ef7ee334cc3b8ff031bfc11ec99d00f34d86da7498396dc1e3b1498fe"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -578,19 +544,19 @@ dependencies = [
] ]
[[package]] [[package]]
name = "wasm-bindgen-rayon" name = "wasm-bindgen-shared"
version = "1.0.1" version = "0.2.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3069d2a42e7a7e3bfde668f84adb5fbc35701ca2b39b27a064cbd5ede4e78194" checksum = "1d649a3145108d7d3fbcde896a468d1bd636791823c9921135218ad89be08307"
dependencies = [
"js-sys",
"rayon",
"spmc",
"wasm-bindgen",
]
[[package]] [[package]]
name = "wasm-bindgen-shared" name = "zopfli"
version = "0.2.74" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" checksum = "4079b79464426ade2a1b0177fb0ce8396ba6b4084267407e333573c666073964"
dependencies = [
"adler32",
"byteorder",
"crc",
"typed-arena",
]

View File

@@ -5,22 +5,26 @@ authors = ["Ingvar Stepanyan <me@rreverser.com>"]
edition = "2018" edition = "2018"
publish = false publish = false
[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-O", "--no-validation"]
[lib] [lib]
crate-type = ["cdylib"] crate-type = ["cdylib"]
[dependencies] [dependencies]
oxipng = { version = "4.0.3", default-features = false, features = ["libdeflater"] } oxipng = { version = "3.0.0", default-features = false }
libdeflater = { version = "0.7.1", features = ["freestanding"] } wasm-bindgen = "0.2.64"
wasm-bindgen = "0.2.73" log = { version = "0.4", features = ["release_max_level_off"] }
log = { version = "0.4.11", features = ["release_max_level_off"] } rayon = { version = "1.3.0", optional = true }
wasm-bindgen-rayon = { version = "1.0", optional = true } once_cell = { version = "1.3.1", optional = true }
crossbeam-channel = { version = "0.4.2", optional = true }
[patch.crates-io]
oxipng = { git = "https://github.com/RReverser/oxipng", branch = "crossbeam" }
[profile.release] [profile.release]
lto = true lto = true
opt-level = "s" opt-level = "s"
[features] [features]
parallel = ["oxipng/parallel", "wasm-bindgen-rayon"] parallel = ["oxipng/parallel", "rayon", "crossbeam-channel", "once_cell"]
[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-O", "--no-validation"]

Some files were not shown because too many files have changed in this diff Show More