diff --git a/codecs/webp/Makefile b/codecs/webp/Makefile index 5845e7f0..7a3ddfa4 100644 --- a/codecs/webp/Makefile +++ b/codecs/webp/Makefile @@ -1,19 +1,25 @@ -CODEC_URL := https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.1.0.tar.gz +CODEC_URL = https://github.com/RReverser/libwebp/archive/emscripten-simd.tar.gz CODEC_DIR = node_modules/libwebp -CODEC_OUT_RELATIVE = src/.libs/libwebp.a -CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE)) -OUT_JS = enc/webp_enc.js dec/webp_dec.js -OUT_WASM = $(OUT_JS:.js=.wasm) +CODEC_BUILD_ROOT := $(CODEC_DIR)/build +CODEC_BASELINE_BUILD_DIR := $(CODEC_BUILD_ROOT)/baseline +CODEC_SIMD_BUILD_DIR := $(CODEC_BUILD_ROOT)/simd + +OUT_JS = enc/webp_enc.js enc/webp_enc_simd.js dec/webp_dec.js +OUT_WASM := $(OUT_JS:.js=.wasm) .PHONY: all clean all: $(OUT_JS) -%.js: %.cpp $(CODEC_OUT) - $(CXX) \ - -I $(CODEC_DIR) \ - ${CXXFLAGS} \ - ${LDFLAGS} \ +# Define dependencies for all variations of build artifacts. +$(filter enc/%,$(OUT_JS)): enc/webp_enc.o +$(filter dec/%,$(OUT_JS)): dec/webp_dec.o +enc/webp_enc.js dec/webp_dec.js: $(CODEC_BASELINE_BUILD_DIR)/libwebp.a +enc/webp_enc_simd.js: $(CODEC_SIMD_BUILD_DIR)/libwebp.a + +$(OUT_JS): + $(LD) \ + $(LDFLAGS) \ --bind \ --closure 1 \ -s ALLOW_MEMORY_GROWTH=1 \ @@ -24,35 +30,40 @@ all: $(OUT_JS) -o $@ \ $+ -$(CODEC_OUT): $(CODEC_DIR)/src/Makefile - $(MAKE) -C $(CODEC_DIR)/src +%.o: %.cpp $(CODEC_DIR)/CMakeLists.txt + $(CXX) -c \ + $(CXXFLAGS) \ + -I $(CODEC_DIR) \ + -o $@ \ + $< -$(CODEC_DIR)/src/Makefile: $(CODEC_DIR)/configure - cd $(CODEC_DIR) && ./configure \ - --disable-shared \ - --disable-libwebpdemux \ - --disable-wic \ - --disable-gif \ - --disable-tiff \ - --disable-jpeg \ - --disable-png \ - --disable-sdl \ - --disable-gl \ - --disable-threading \ - --disable-neon-rtcd \ - --disable-neon \ - --disable-sse2 \ - --disable-sse4.1 +%/libwebp.a: %/Makefile + $(MAKE) -C $(@D) -$(CODEC_DIR)/configure: $(CODEC_DIR)/configure.ac - cd $(CODEC_DIR) && autoreconf -iv +# Enable SIMD on a SIMD build. +$(CODEC_SIMD_BUILD_DIR)/Makefile: CMAKE_FLAGS+=-DWEBP_ENABLE_SIMD=1 -$(CODEC_DIR)/configure.ac: $(CODEC_DIR) +%/Makefile: $(CODEC_DIR)/CMakeLists.txt + emcmake cmake \ + $(CMAKE_FLAGS) \ + -DCMAKE_DISABLE_FIND_PACKAGE_Threads=1 \ + -DWEBP_BUILD_ANIM_UTILS=0 \ + -DWEBP_BUILD_CWEBP=0 \ + -DWEBP_BUILD_DWEBP=0 \ + -DWEBP_BUILD_GIF2WEBP=0 \ + -DWEBP_BUILD_IMG2WEBP=0 \ + -DWEBP_BUILD_VWEBP=0 \ + -DWEBP_BUILD_WEBPINFO=0 \ + -DWEBP_BUILD_WEBPMUX=0 \ + -DWEBP_BUILD_EXTRAS=0 \ + -B $(@D) \ + $(= 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 fa = new TextDecoder('utf-16le'); - function ha(a, b) { - var c = a >> 1; - for (b = c + b / 2; !(c >= b) && D[c]; ) ++c; - return fa.decode(C.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 f = 0; f < c; ++f) (E[b >> 1] = a.charCodeAt(f)), (b += 2); - E[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 f = F[(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 la(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); - } - F[b >> 2] = g; - b += 4; - if (b + 4 > c) break; - } - F[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 G, na, C, E, D, F, H, oa, pa; - function qa(a) { - G = a; - e.HEAP8 = na = new Int8Array(a); - e.HEAP16 = E = new Int16Array(a); - e.HEAP32 = F = new Int32Array(a); - e.HEAPU8 = C = new Uint8Array(a); - e.HEAPU16 = D = new Uint16Array(a); - e.HEAPU32 = H = new Uint32Array(a); - e.HEAPF32 = oa = new Float32Array(a); - e.HEAPF64 = pa = new Float64Array(a); - } - var ra = e.INITIAL_MEMORY || 16777216; - e.wasmMemory - ? (A = e.wasmMemory) - : (A = new WebAssembly.Memory({ initial: ra / 65536, maximum: 32768 })); - A && (G = A.buffer); - ra = G.byteLength; - qa(G); - var J, - sa = [], - ta = [], - ua = [], - va = []; - function wa() { - var a = e.preRun.shift(); - sa.unshift(a); - } - var K = 0, - xa = null, - M = null; - e.preloadedImages = {}; - e.preloadedAudios = {}; - function z(a) { - if (e.onAbort) e.onAbort(a); - x(a); - ca = !0; - a = new WebAssembly.RuntimeError( - 'abort(' + a + '). Build with -s ASSERTIONS=1 for more info.', - ); - r(a); - throw a; - } - function ya() { - var a = N; - return String.prototype.startsWith - ? a.startsWith('data:application/octet-stream;base64,') - : 0 === a.indexOf('data:application/octet-stream;base64,'); - } - var N = 'webp_dec.wasm'; - if (!ya()) { - var za = N; - N = e.locateFile ? e.locateFile(za, v) : v + za; - } - function Aa() { - try { - if (y) return new Uint8Array(y); - if (ba) return ba(N); - throw 'both async and sync fetching of the wasm failed'; - } catch (a) { - z(a); - } - } - function Ba() { - return y || 'function' !== typeof fetch - ? Promise.resolve().then(Aa) - : fetch(N, { credentials: 'same-origin' }) - .then(function (a) { - if (!a.ok) throw "failed to load wasm binary file at '" + N + "'"; - return a.arrayBuffer(); - }) - .catch(function () { - return Aa(); - }); - } - function O(a) { - for (; 0 < a.length; ) { - var b = a.shift(); - if ('function' == typeof b) b(e); - else { - var c = b.G; - 'number' === typeof c - ? void 0 === b.C - ? J.get(c)() - : J.get(c)(b.C) - : c(void 0 === b.C ? null : b.C); - } - } - } - function Ca(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 Da = void 0; - function P(a) { - for (var b = ''; C[a]; ) b += Da[C[a++]]; - return b; - } - var Q = {}, - R = {}, - S = {}; - function Ea(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 Fa(a, b) { - a = Ea(a); - return new Function( - 'body', - 'return function ' + - a + - '() {\n "use strict"; return body.apply(this, arguments);\n};\n', - )(b); - } - function Ga(a) { - var b = Error, - c = Fa(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 Ha = void 0; - function T(a) { - throw new Ha(a); - } - var Ia = void 0; - function Ja(a, b) { - function c(h) { - h = b(h); - if (h.length !== d.length) - throw new Ia('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 = [], - k = 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]; - ++k; - k === 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.H) 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 Ma = [], - V = [ - {}, - { value: void 0 }, - { value: null }, - { value: !0 }, - { value: !1 }, - ]; - function Na(a) { - 4 < a && 0 === --V[a].D && ((V[a] = void 0), Ma.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 = Ma.length ? Ma.pop() : V.length; - V[b] = { D: 1, value: a }; - return b; - } - } - function Oa(a) { - return this.fromWireType(H[a >> 2]); - } - function Pa(a) { - if (null === a) return 'null'; - var b = typeof a; - return 'object' === b || 'array' === b || 'function' === b - ? a.toString() - : '' + a; - } - function Qa(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 Ra(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 = Fa(b.name || 'unknownFunctionName', function () {}); - c.prototype = b.prototype; - c = new c(); - a = b.apply(c, a); - return a instanceof Object ? a : c; - } - function Sa(a) { - for (; a.length; ) { - var b = a.pop(); - a.pop()(b); - } - } - function Ta(a, b) { - var c = e; - if (void 0 === c[a].A) { - var d = c[a]; - c[a] = function () { - c[a].A.hasOwnProperty(arguments.length) || - T( - "Function '" + - b + - "' called with an invalid number of arguments (" + - arguments.length + - ') - expects one of (' + - c[a].A + - ')!', - ); - return c[a].A[arguments.length].apply(this, arguments); - }; - c[a].A = []; - c[a].A[d.F] = d; - } - } - function Ua(a, b, c) { - e.hasOwnProperty(a) - ? ((void 0 === c || (void 0 !== e[a].A && void 0 !== e[a].A[c])) && - T("Cannot register public name '" + a + "' twice"), - Ta(a, a), - e.hasOwnProperty(c) && - T( - 'Cannot register multiple overloads of a function with the same number of arguments (' + - c + - ')!', - ), - (e[a].A[c] = b)) - : ((e[a] = b), void 0 !== c && (e[a].J = 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) { - 0 <= a.indexOf('j') || - z('Assertion failed: getDynCaller should only be called with i64 sigs'); - var c = []; - return function () { - c.length = arguments.length; - for (var d = 0; d < arguments.length; d++) c[d] = arguments[d]; - var f; - -1 != a.indexOf('j') - ? (f = - c && c.length - ? e['dynCall_' + a].apply(null, [b].concat(c)) - : e['dynCall_' + a].call(null, b)) - : (f = J.get(b).apply(null, c)); - return f; - }; - } - function Xa(a, b) { - a = P(a); - var c = -1 != a.indexOf('j') ? Wa(a, b) : J.get(b); - 'function' !== typeof c && - T('unknown function pointer with signature ' + a + ': ' + b); - return c; - } - var Ya = void 0; - function Za(a) { - a = $a(a); - var b = P(a); - X(a); - return b; - } - function ab(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 Ya(a + ': ' + d.map(Za).join([', '])); - } - function bb(a, b, c) { - switch (b) { - case 0: - return c - ? function (d) { - return na[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 cb = {}; - function db() { - return 'object' === typeof globalThis - ? globalThis - : Function('return this')(); - } - function eb(a, b) { - var c = R[a]; - void 0 === c && T(b + ' has unknown type ' + Za(a)); - return c; - } - for (var fb = {}, gb = Array(256), Y = 0; 256 > Y; ++Y) - gb[Y] = String.fromCharCode(Y); - Da = gb; - Ha = e.BindingError = Ga('BindingError'); - Ia = e.InternalError = Ga('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; - }; - Ya = e.UnboundTypeError = Ga('UnboundTypeError'); - ta.push({ - G: function () { - hb(); - }, - }); - var jb = { - g: function () {}, - o: function (a, b, c, d, f) { - var g = Ca(c); - b = P(b); - U(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 = na; - else if (2 === c) h = E; - else if (4 === c) h = F; - else throw new TypeError('Unknown boolean type size: ' + b); - return this.fromWireType(h[k >> g]); - }, - B: null, - }); - }, - r: function (a, b) { - b = P(b); - U(a, { - name: b, - fromWireType: function (c) { - var d = V[c].value; - Na(c); - return d; - }, - toWireType: function (c, d) { - return W(d); - }, - argPackAdvance: 8, - readValueFromPointer: Oa, - B: null, - }); - }, - n: function (a, b, c) { - c = Ca(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 "' + Pa(f) + '" to ' + this.name, - ); - return f; - }, - argPackAdvance: 8, - readValueFromPointer: Qa(b, c), - B: null, - }); - }, - j: function (a, b, c, d, f, g) { - var k = Va(b, c); - a = P(a); - f = Xa(d, f); - Ua( - a, - function () { - ab('Cannot call ' + a + ' due to unbound types', k); - }, - b - 1, - ); - Ja(k, function (h) { - var p = a, - m = a; - h = [h[0], null].concat(h.slice(1)); - var n = f, - q = h.length; - 2 > q && - T( - "argTypes array size mismatch! Must at least get return value and 'this' types!", - ); - for (var w = null !== h[1] && !1, B = !1, l = 1; l < h.length; ++l) - if (null !== h[l] && void 0 === h[l].B) { - B = !0; - break; - } - var Ka = 'void' !== h[0].name, - I = '', - L = ''; - for (l = 0; l < q - 2; ++l) - (I += (0 !== l ? ', ' : '') + 'arg' + l), - (L += (0 !== l ? ', ' : '') + 'arg' + l + 'Wired'); - m = - 'return function ' + - Ea(m) + - '(' + - I + - ') {\nif (arguments.length !== ' + - (q - 2) + - ") {\nthrowBindingError('function " + - m + - " called with ' + arguments.length + ' arguments, expected " + - (q - 2) + - " args!');\n}\n"; - B && (m += 'var destructors = [];\n'); - var La = B ? 'destructors' : 'null'; - I = 'throwBindingError invoker fn runDestructors retType classParam'.split( - ' ', - ); - n = [T, n, g, Sa, h[0], h[1]]; - w && - (m += 'var thisWired = classParam.toWireType(' + La + ', this);\n'); - for (l = 0; l < q - 2; ++l) - (m += - 'var arg' + - l + - 'Wired = argType' + - l + - '.toWireType(' + - La + - ', arg' + - l + - '); // ' + - h[l + 2].name + - '\n'), - I.push('argType' + l), - n.push(h[l + 2]); - w && (L = 'thisWired' + (0 < L.length ? ', ' : '') + L); - m += - (Ka ? 'var rv = ' : '') + - 'invoker(fn' + - (0 < L.length ? ', ' : '') + - L + - ');\n'; - if (B) m += 'runDestructors(destructors);\n'; - else - for (l = w ? 1 : 2; l < h.length; ++l) - (q = 1 === l ? 'thisWired' : 'arg' + (l - 2) + 'Wired'), - null !== h[l].B && - ((m += q + '_dtor(' + q + '); // ' + h[l].name + '\n'), - I.push(q + '_dtor'), - n.push(h[l].B)); - Ka && (m += 'var ret = retType.fromWireType(rv);\nreturn ret;\n'); - I.push(m + '}\n'); - h = Ra(I).apply(null, n); - l = b - 1; - if (!e.hasOwnProperty(p)) - throw new Ia('Replacing nonexistant public symbol'); - void 0 !== e[p].A && void 0 !== l - ? (e[p].A[l] = h) - : ((e[p] = h), (e[p].F = l)); - return []; - }); - }, - c: function (a, b, c, d, f) { - function g(m) { - return m; - } - b = P(b); - -1 === f && (f = 4294967295); - var k = Ca(c); - if (0 === d) { - var h = 32 - 8 * c; - g = function (m) { - return (m << h) >>> h; - }; - } - var p = -1 != b.indexOf('unsigned'); - U(a, { - name: b, - fromWireType: g, - toWireType: function (m, n) { - if ('number' !== typeof n && 'boolean' !== typeof n) - throw new TypeError( - 'Cannot convert "' + Pa(n) + '" to ' + this.name, - ); - if (n < d || n > f) - throw new TypeError( - 'Passing a number "' + - Pa(n) + - '" from JS side to C/C++ side to an argument of type "' + - b + - '", which is outside the valid range [' + - d + - ', ' + - f + - ']!', - ); - return p ? n >>> 0 : n | 0; - }, - argPackAdvance: 8, - readValueFromPointer: bb(b, k, 0 !== d), - B: null, - }); - }, - b: function (a, b, c) { - function d(g) { - g >>= 2; - var k = H; - return new f(G, k[g + 1], k[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, - }, - { H: !0 }, - ); - }, - i: function (a, b) { - b = P(b); - var c = 'std::string' === b; - U(a, { - name: b, - fromWireType: function (d) { - var f = H[d >> 2]; - if (c) - for (var g = d + 4, k = 0; k <= f; ++k) { - var h = d + 4 + k; - if (k == f || 0 == C[h]) { - if (g) { - for (var p = g + (h - g), m = g; !(m >= p) && C[m]; ) ++m; - g = da.decode(C.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 (k = 0; k < f; ++k) n[k] = String.fromCharCode(C[d + 4 + k]); - 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 k = (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; - })(), - h = ib(4 + k + 1); - H[h >> 2] = k; - if (c && g) ea(f, h + 4, k + 1); - else if (g) - for (g = 0; g < k; ++g) { - var p = f.charCodeAt(g); - 255 < p && - (X(h), - T('String has UTF-16 code units that do not fit in 8 bits')); - C[h + 4 + g] = p; - } - else for (g = 0; g < k; ++g) C[h + 4 + g] = f[g]; - null !== d && d.push(X, h); - return h; - }, - argPackAdvance: 8, - readValueFromPointer: Oa, - B: function (d) { - X(d); - }, - }); - }, - h: function (a, b, c) { - c = P(c); - if (2 === b) { - var d = ha; - var f = ia; - var g = ja; - var k = function () { - return D; - }; - var h = 1; - } else - 4 === b && - ((d = ka), - (f = la), - (g = ma), - (k = function () { - return H; - }), - (h = 2)); - U(a, { - name: c, - fromWireType: function (p) { - for (var m = H[p >> 2], n = k(), q, w = p + 4, B = 0; B <= m; ++B) { - var l = p + 4 + B * b; - if (B == m || 0 == n[l >> h]) - (w = d(w, l - w)), - void 0 === q - ? (q = w) - : ((q += String.fromCharCode(0)), (q += w)), - (w = l + b); - } - X(p); - return q; - }, - toWireType: function (p, m) { - 'string' !== typeof m && - T('Cannot pass non-string to C++ string type ' + c); - var n = g(m), - q = ib(4 + n + b); - H[q >> 2] = n >> h; - f(m, q + 4, n + b); - null !== p && p.push(X, q); - return q; - }, - argPackAdvance: 8, - readValueFromPointer: Oa, - B: function (p) { - X(p); - }, - }); - }, - p: function (a, b) { - b = P(b); - U(a, { - I: !0, - name: b, - argPackAdvance: 0, - fromWireType: function () {}, - toWireType: function () {}, - }); - }, - e: Na, - f: function (a) { - if (0 === a) return W(db()); - var b = cb[a]; - a = void 0 === b ? P(a) : b; - return W(db()[a]); - }, - k: function (a) { - 4 < a && (V[a].D += 1); - }, - l: function (a, b, c, d) { - a || T('Cannot use deleted val. handle = ' + a); - a = V[a].value; - var f = fb[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'), - )(eb, e, W); - fb[b] = f; - } - return f(a, c, d); - }, - m: function () { - z(); - }, - q: function (a, b, c) { - C.copyWithin(a, b, b + c); - }, - d: 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 + 0.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); - qa(A.buffer); - var f = 1; - break a; - } catch (g) {} - f = void 0; - } - if (f) return !0; - } - return !1; - }, - a: A, - }; - (function () { - function a(f) { - e.asm = f.exports; - J = e.asm.s; - K--; - e.monitorRunDependencies && e.monitorRunDependencies(K); - 0 == K && - (null !== xa && (clearInterval(xa), (xa = null)), - M && ((f = M), (M = 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) { - x('failed to asynchronously prepare wasm: ' + g); - z(g); - }); - } - var d = { a: jb }; - K++; - e.monitorRunDependencies && e.monitorRunDependencies(K); - 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 || - ya() || - 'function' !== typeof fetch - ? c(b) - : fetch(N, { 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(r); - return {}; - })(); - var hb = (e.___wasm_call_ctors = function () { - return (hb = e.___wasm_call_ctors = e.asm.t).apply(null, arguments); - }), - ib = (e._malloc = function () { - return (ib = e._malloc = e.asm.u).apply(null, arguments); - }), - X = (e._free = function () { - return (X = e._free = e.asm.v).apply(null, arguments); - }), - $a = (e.___getTypeName = function () { - return ($a = e.___getTypeName = e.asm.w).apply(null, arguments); - }); - e.___embind_register_native_and_builtin_types = function () { - return (e.___embind_register_native_and_builtin_types = e.asm.x).apply( - null, - arguments, - ); - }; - var Z; - M = function kb() { - Z || lb(); - Z || (M = kb); - }; - function lb() { - function a() { - if (!Z && ((Z = !0), (e.calledRun = !0), !ca)) { - O(ta); - O(ua); - aa(e); - if (e.onRuntimeInitialized) e.onRuntimeInitialized(); - if (e.postRun) - for ( - 'function' == typeof e.postRun && (e.postRun = [e.postRun]); - e.postRun.length; +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 x=e.printErr||console.warn.bind(console); +for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var y;e.wasmBinary&&(y=e.wasmBinary);var noExitRuntime;e.noExitRuntime&&(noExitRuntime=e.noExitRuntime);"object"!==typeof WebAssembly&&z("no native wasm support detected");var A,ca=!1,da=new TextDecoder("utf8"); +function ea(a,b,c){var d=C;if(0=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 fa=new TextDecoder("utf-16le"); +function ha(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&D[c];)++c;return fa.decode(C.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 f=0;f>1]=a.charCodeAt(f),b+=2;E[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 f=F[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 la(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=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function ma(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var G,na,C,E,D,F,H,oa,pa; +function qa(a){G=a;e.HEAP8=na=new Int8Array(a);e.HEAP16=E=new Int16Array(a);e.HEAP32=F=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=D=new Uint16Array(a);e.HEAPU32=H=new Uint32Array(a);e.HEAPF32=oa=new Float32Array(a);e.HEAPF64=pa=new Float64Array(a)}var ra=e.INITIAL_MEMORY||16777216;e.wasmMemory?A=e.wasmMemory:A=new WebAssembly.Memory({initial:ra/65536,maximum:32768});A&&(G=A.buffer);ra=G.byteLength;qa(G);var J,sa=[],ta=[],ua=[],va=[]; +function wa(){var a=e.preRun.shift();sa.unshift(a)}var K=0,xa=null,M=null;e.preloadedImages={};e.preloadedAudios={};function z(a){if(e.onAbort)e.onAbort(a);x(a);ca=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}function ya(){var a=N;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var N="webp_dec.wasm"; +if(!ya()){var za=N;N=e.locateFile?e.locateFile(za,v):v+za}function Aa(){try{if(y)return new Uint8Array(y);if(ba)return ba(N);throw"both async and sync fetching of the wasm failed";}catch(a){z(a)}}function Ba(){return y||"function"!==typeof fetch?Promise.resolve().then(Aa):fetch(N,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+N+"'";return a.arrayBuffer()}).catch(function(){return Aa()})} +function O(a){for(;0=b?"_"+a:a}function Fa(a,b){a=Ea(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)} +function Ga(a){var b=Error,c=Fa(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 Ha=void 0;function T(a){throw new Ha(a);}var Ia=void 0; +function Ja(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new Ia("Mismatched type converter count");for(var p=0;p>2])}function Pa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} +function Qa(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 Ra(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=Fa(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} +function Sa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ta(a,b){var c=e;if(void 0===c[a].A){var d=c[a];c[a]=function(){c[a].A.hasOwnProperty(arguments.length)||T("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].A+")!");return c[a].A[arguments.length].apply(this,arguments)};c[a].A=[];c[a].A[d.F]=d}} +function Ua(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].A&&void 0!==e[a].A[c])&&T("Cannot register public name '"+a+"' twice"),Ta(a,a),e.hasOwnProperty(c)&&T("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].A[c]=b):(e[a]=b,void 0!==c&&(e[a].J=c))}function Va(a,b){for(var c=[],d=0;d>2)+d]);return c} +function Wa(a,b){0<=a.indexOf("j")||z("Assertion failed: getDynCaller should only be called with i64 sigs");var c=[];return function(){c.length=arguments.length;for(var d=0;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 cb={};function db(){return"object"===typeof globalThis?globalThis:Function("return this")()}function eb(a,b){var c=R[a];void 0===c&&T(b+" has unknown type "+Za(a));return c} +for(var fb={},gb=Array(256),Y=0;256>Y;++Y)gb[Y]=String.fromCharCode(Y);Da=gb;Ha=e.BindingError=Ga("BindingError");Ia=e.InternalError=Ga("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b>g])},B:null})},r:function(a,b){b=P(b);U(a,{name:b,fromWireType:function(c){var d=V[c].value;Na(c);return d},toWireType:function(c,d){return W(d)},argPackAdvance:8, +readValueFromPointer:Oa,B:null})},n:function(a,b,c){c=Ca(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 "'+Pa(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Qa(b,c),B:null})},j:function(a,b,c,d,f,g){var k=Va(b,c);a=P(a);f=Xa(d,f);Ua(a,function(){ab("Cannot call "+a+" due to unbound types",k)},b-1);Ja(k,function(h){var p=a,m=a;h=[h[0],null].concat(h.slice(1));var n= +f,q=h.length;2>q&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var w=null!==h[1]&&!1,B=!1,l=1;l>>h}}var p=-1!=b.indexOf("unsigned");U(a,{name:b,fromWireType:g,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Pa(n)+'" to '+this.name);if(nf)throw new TypeError('Passing a number "'+Pa(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return p?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:bb(b,k,0!==d),B:null})}, +b:function(a,b,c){function d(g){g>>=2;var k=H;return new f(G,k[g+1],k[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},{H:!0})},i:function(a,b){b=P(b);var c="std::string"===b;U(a,{name:b,fromWireType:function(d){var f=H[d>>2];if(c)for(var g=d+4,k=0;k<=f;++k){var h=d+4+k;if(k==f||0==C[h]){if(g){for(var p=g+(h-g),m=g;!(m>=p)&&C[m];)++m;g=da.decode(C.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(k=0;k=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})(),h=ib(4+k+1);H[h>>2]=k;if(c&&g)ea(f,h+4,k+1);else if(g)for(g=0;g>2],n=k(),q,w=p+4,B=0;B<=m;++B){var l=p+4+B*b;if(B==m||0==n[l>>h])w=d(w,l-w),void 0===q?q=w:(q+=String.fromCharCode(0),q+=w),w=l+b}X(p);return q},toWireType:function(p,m){"string"!==typeof m&&T("Cannot pass non-string to C++ string type "+c);var n=g(m),q=ib(4+n+b);H[q>>2]=n>>h;f(m,q+4,n+b);null!==p&&p.push(X,q);return q},argPackAdvance:8,readValueFromPointer:Oa,B:function(p){X(p)}})}, +p:function(a,b){b=P(b);U(a,{I:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},e:Na,f:function(a){if(0===a)return W(db());var b=cb[a];a=void 0===b?P(a):b;return W(db()[a])},k:function(a){4>> 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")))(eb,e,W);fb[b]=f}return f(a,c,d)},m:function(){z()},q:function(a,b,c){C.copyWithin(a,b,b+c)},d:function(a){a>>>=0;var b=C.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216, +a,d);0>>16);qa(A.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},a:A}; +(function(){function a(f){e.asm=f.exports;J=e.asm.s;K--;e.monitorRunDependencies&&e.monitorRunDependencies(K);0==K&&(null!==xa&&(clearInterval(xa),xa=null),M&&(f=M,M=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){x("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:jb};K++;e.monitorRunDependencies&&e.monitorRunDependencies(K);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||ya()||"function"!==typeof fetch?c(b):fetch(N,{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(r);return{}})(); +var hb=e.___wasm_call_ctors=function(){return(hb=e.___wasm_call_ctors=e.asm.t).apply(null,arguments)},ib=e._malloc=function(){return(ib=e._malloc=e.asm.u).apply(null,arguments)},X=e._free=function(){return(X=e._free=e.asm.v).apply(null,arguments)},$a=e.___getTypeName=function(){return($a=e.___getTypeName=e.asm.w).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.x).apply(null,arguments)};var Z; +M=function kb(){Z||lb();Z||(M=kb)}; +function lb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!ca)){O(ta);O(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)}O(va)}}if(!(0= f) { - var k = a.charCodeAt(++e); - f = (65536 + ((f & 1023) << 10)) | (k & 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 ia = new TextDecoder('utf-16le'); - function ja(a, b) { - var c = a >> 1; - for (b = c + b / 2; !(c >= b) && D[c]; ) ++c; - return ia.decode(C.subarray(a, c << 1)); - } - function ka(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 la(a) { - return 2 * a.length; - } - function ma(a, b) { - for (var c = 0, d = ''; !(c >= b / 4); ) { - var e = G[(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 na(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 k = a.charCodeAt(++e); - f = (65536 + ((f & 1023) << 10)) | (k & 1023); - } - G[b >> 2] = f; - b += 4; - if (b + 4 > c) break; - } - G[b >> 2] = 0; - return b - d; - } - function oa(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 H, I, C, E, D, G, J, pa, qa; - function ra(a) { - H = a; - g.HEAP8 = I = new Int8Array(a); - g.HEAP16 = E = new Int16Array(a); - g.HEAP32 = G = new Int32Array(a); - g.HEAPU8 = C = new Uint8Array(a); - g.HEAPU16 = D = new Uint16Array(a); - g.HEAPU32 = J = new Uint32Array(a); - g.HEAPF32 = pa = new Float32Array(a); - g.HEAPF64 = qa = new Float64Array(a); - } - var sa = g.INITIAL_MEMORY || 16777216; - g.wasmMemory - ? (B = g.wasmMemory) - : (B = new WebAssembly.Memory({ initial: sa / 65536, maximum: 32768 })); - B && (H = B.buffer); - sa = H.byteLength; - ra(H); - var K, - ta = [], - ua = [], - va = [], - wa = []; - function xa() { - var a = g.preRun.shift(); - ta.unshift(a); - } - var L = 0, - ya = null, - M = null; - g.preloadedImages = {}; - g.preloadedAudios = {}; - function A(a) { - if (g.onAbort) g.onAbort(a); - v(a); - da = !0; - a = new WebAssembly.RuntimeError( - 'abort(' + a + '). Build with -s ASSERTIONS=1 for more info.', - ); - ba(a); - throw a; - } - function za() { - var a = N; - return String.prototype.startsWith - ? a.startsWith('data:application/octet-stream;base64,') - : 0 === a.indexOf('data:application/octet-stream;base64,'); - } - var N = 'webp_enc.wasm'; - if (!za()) { - var Aa = N; - N = g.locateFile ? g.locateFile(Aa, u) : u + Aa; - } - function Ba() { - try { - if (z) return new Uint8Array(z); - if (ca) return ca(N); - throw 'both async and sync fetching of the wasm failed'; - } catch (a) { - A(a); - } - } - function Ca() { - return z || 'function' !== typeof fetch - ? Promise.resolve().then(Ba) - : fetch(N, { credentials: 'same-origin' }) - .then(function (a) { - if (!a.ok) throw "failed to load wasm binary file at '" + N + "'"; - return a.arrayBuffer(); - }) - .catch(function () { - return Ba(); - }); - } - function O(a) { - for (; 0 < a.length; ) { - var b = a.shift(); - if ('function' == typeof b) b(g); - else { - var c = b.L; - 'number' === typeof c - ? void 0 === b.G - ? K.get(c)() - : K.get(c)(b.G) - : c(void 0 === b.G ? null : b.G); - } - } - } - var P = {}; - function Da(a) { - for (; a.length; ) { - var b = a.pop(); - a.pop()(b); - } - } - function Q(a) { - return this.fromWireType(J[a >> 2]); - } - var R = {}, - S = {}, - Ea = {}; - 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 Ja(a, b, c) { - function d(h) { - h = c(h); - if (h.length !== a.length) - throw new Ia('Mismatched type converter count'); - for (var n = 0; n < a.length; ++n) T(a[n], h[n]); - } - a.forEach(function (h) { - Ea[h] = b; - }); - var e = Array(b.length), - f = [], - k = 0; - b.forEach(function (h, n) { - S.hasOwnProperty(h) - ? (e[n] = S[h]) - : (f.push(h), - R.hasOwnProperty(h) || (R[h] = []), - R[h].push(function () { - e[n] = S[h]; - ++k; - k === f.length && d(e); - })); - }); - 0 === f.length && d(e); - } - 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 U(a) { - for (var b = ''; C[a]; ) b += La[C[a++]]; - return b; - } - var Ma = void 0; - function W(a) { - throw new Ma(a); - } - function T(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 (S.hasOwnProperty(a)) { - if (c.P) return; - W("Cannot register type '" + d + "' twice"); - } - S[a] = b; - delete Ea[a]; - R.hasOwnProperty(a) && - ((b = R[a]), - delete R[a], - b.forEach(function (e) { - e(); - })); - } - var Na = [], - X = [ - {}, - { value: void 0 }, - { value: null }, - { value: !0 }, - { value: !1 }, - ]; - function Oa(a) { - 4 < a && 0 === --X[a].H && ((X[a] = void 0), Na.push(a)); - } - function Pa(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() : X.length; - X[b] = { H: 1, value: a }; - return b; - } - } - function Qa(a, b) { - var c = g; - if (void 0 === c[a].F) { - var d = c[a]; - c[a] = function () { - c[a].F.hasOwnProperty(arguments.length) || - W( - "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 Ra(a, b, c) { - g.hasOwnProperty(a) - ? ((void 0 === c || (void 0 !== g[a].F && void 0 !== g[a].F[c])) && - W("Cannot register public name '" + a + "' twice"), - Qa(a, a), - g.hasOwnProperty(c) && - W( - 'Cannot register multiple overloads of a function with the same number of arguments (' + - c + - ')!', - ), - (g[a].F[c] = b)) - : ((g[a] = b), void 0 !== c && (g[a].X = c)); - } - function Sa(a, b, c) { - switch (b) { - case 0: - return function (d) { - return this.fromWireType((c ? I : C)[d]); - }; - case 1: - return function (d) { - return this.fromWireType((c ? E : D)[d >> 1]); - }; - case 2: - return function (d) { - return this.fromWireType((c ? G : J)[d >> 2]); - }; - default: - throw new TypeError('Unknown integer type: ' + a); - } - } - function Ta(a) { - a = Ua(a); - var b = U(a); - Y(a); - return b; - } - function Va(a, b) { - var c = S[a]; - void 0 === c && W(b + ' has unknown type ' + Ta(a)); - return c; - } - function Wa(a) { - if (null === a) return 'null'; - var b = typeof a; - return 'object' === b || 'array' === b || 'function' === b - ? a.toString() - : '' + a; - } - function Xa(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 Ya(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 Za(a, b) { - for (var c = [], d = 0; d < a; d++) c.push(G[(b >> 2) + d]); - return c; - } - function $a(a, b) { - 0 <= a.indexOf('j') || - A('Assertion failed: getDynCaller should only be called with i64 sigs'); - var c = []; - return function () { - c.length = arguments.length; - for (var d = 0; d < arguments.length; d++) c[d] = arguments[d]; - var e; - -1 != a.indexOf('j') - ? (e = - c && c.length - ? g['dynCall_' + a].apply(null, [b].concat(c)) - : g['dynCall_' + a].call(null, b)) - : (e = K.get(b).apply(null, c)); - return e; - }; - } - function Z(a, b) { - a = U(a); - var c = -1 != a.indexOf('j') ? $a(a, b) : K.get(b); - 'function' !== typeof c && - W('unknown function pointer with signature ' + a + ': ' + b); - return c; - } - var ab = void 0; - function bb(a, b) { - function c(f) { - e[f] || S[f] || (Ea[f] ? Ea[f].forEach(c) : (d.push(f), (e[f] = !0))); - } - var d = [], - e = {}; - b.forEach(c); - throw new ab(a + ': ' + d.map(Ta).join([', '])); - } - function cb(a, b, c) { - switch (b) { - case 0: - return c - ? function (d) { - return I[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 G[d >> 2]; - } - : function (d) { - return J[d >> 2]; - }; - default: - throw new TypeError('Unknown integer type: ' + a); - } - } - var db = {}; - function eb() { - return 'object' === typeof globalThis - ? globalThis - : Function('return this')(); - } - var fb = {}; - Ia = g.InternalError = Ha('InternalError'); - for (var gb = Array(256), hb = 0; 256 > hb; ++hb) - gb[hb] = String.fromCharCode(hb); - La = gb; - Ma = g.BindingError = Ha('BindingError'); - g.count_emval_handles = function () { - for (var a = 0, b = 5; b < X.length; ++b) void 0 !== X[b] && ++a; - return a; - }; - g.get_first_emval = function () { - for (var a = 5; a < X.length; ++a) if (void 0 !== X[a]) return X[a]; - return null; - }; - ab = g.UnboundTypeError = Ha('UnboundTypeError'); - ua.push({ - L: function () { - ib(); - }, - }); - var kb = { - w: function () {}, - m: function (a) { - var b = P[a]; - delete P[a]; - var c = b.R, - d = b.S, - e = b.I, - f = e - .map(function (k) { - return k.O; - }) - .concat( - e.map(function (k) { - return k.U; - }), - ); - Ja([a], f, function (k) { - var h = {}; - e.forEach(function (n, l) { - var m = k[l], - q = n.M, - w = n.N, - x = k[l + e.length], - p = n.T, - ea = n.V; - h[n.K] = { - read: function (y) { - return m.fromWireType(q(w, y)); - }, - write: function (y, F) { - var V = []; - p(ea, y, x.toWireType(V, F)); - Da(V); - }, - }; - }); - return [ - { - name: b.name, - fromWireType: function (n) { - var l = {}, - 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 q = c(); - for (m in h) h[m].write(q, l[m]); - null !== n && n.push(d, q); - return q; - }, - argPackAdvance: 8, - readValueFromPointer: Q, - D: d, - }, - ]; - }); - }, - s: function (a, b, c, d, e) { - var f = Ka(c); - b = U(b); - T(a, { - name: b, - fromWireType: function (k) { - return !!k; - }, - toWireType: function (k, h) { - return h ? d : e; - }, - argPackAdvance: 8, - readValueFromPointer: function (k) { - if (1 === c) var h = I; - else if (2 === c) h = E; - else if (4 === c) h = G; - else throw new TypeError('Unknown boolean type size: ' + b); - return this.fromWireType(h[k >> f]); - }, - D: null, - }); - }, - r: function (a, b) { - b = U(b); - T(a, { - name: b, - fromWireType: function (c) { - var d = X[c].value; - Oa(c); - return d; - }, - toWireType: function (c, d) { - return Pa(d); - }, - argPackAdvance: 8, - readValueFromPointer: Q, - D: null, - }); - }, - o: function (a, b, c, d) { - function e() {} - c = Ka(c); - b = U(b); - e.values = {}; - T(a, { - name: b, - constructor: e, - fromWireType: function (f) { - return this.constructor.values[f]; - }, - toWireType: function (f, k) { - return k.value; - }, - argPackAdvance: 8, - readValueFromPointer: Sa(b, c, d), - D: null, - }); - Ra(b, e); - }, - f: function (a, b, c) { - var d = Va(a, 'enum'); - b = U(b); - a = d.constructor; - d = Object.create(d.constructor.prototype, { - value: { value: c }, - constructor: { value: Ga(d.name + '_' + b, function () {}) }, - }); - a.values[c] = d; - a[b] = d; - }, - k: function (a, b, c) { - c = Ka(c); - b = U(b); - T(a, { - name: b, - fromWireType: function (d) { - return d; - }, - toWireType: function (d, e) { - if ('number' !== typeof e && 'boolean' !== typeof e) - throw new TypeError( - 'Cannot convert "' + Wa(e) + '" to ' + this.name, - ); - return e; - }, - argPackAdvance: 8, - readValueFromPointer: Xa(b, c), - D: null, - }); - }, - i: function (a, b, c, d, e, f) { - var k = Za(b, c); - a = U(a); - e = Z(d, e); - Ra( - a, - function () { - bb('Cannot call ' + a + ' due to unbound types', k); - }, - b - 1, - ); - Ja([], k, function (h) { - var n = a, - l = a; - h = [h[0], null].concat(h.slice(1)); - var m = e, - q = h.length; - 2 > q && - W( - "argTypes array size mismatch! Must at least get return value and 'this' types!", - ); - for (var w = null !== h[1] && !1, x = !1, p = 1; p < h.length; ++p) - if (null !== h[p] && void 0 === h[p].D) { - x = !0; - break; - } - var ea = 'void' !== h[0].name, - y = '', - F = ''; - for (p = 0; p < q - 2; ++p) - (y += (0 !== p ? ', ' : '') + 'arg' + p), - (F += (0 !== p ? ', ' : '') + 'arg' + p + 'Wired'); - l = - 'return function ' + - Fa(l) + - '(' + - y + - ') {\nif (arguments.length !== ' + - (q - 2) + - ") {\nthrowBindingError('function " + - l + - " called with ' + arguments.length + ' arguments, expected " + - (q - 2) + - " args!');\n}\n"; - x && (l += 'var destructors = [];\n'); - var V = x ? 'destructors' : 'null'; - y = 'throwBindingError invoker fn runDestructors retType classParam'.split( - ' ', - ); - m = [W, m, f, Da, h[0], h[1]]; - w && - (l += 'var thisWired = classParam.toWireType(' + V + ', this);\n'); - for (p = 0; p < q - 2; ++p) - (l += - 'var arg' + - p + - 'Wired = argType' + - p + - '.toWireType(' + - V + - ', arg' + - p + - '); // ' + - h[p + 2].name + - '\n'), - y.push('argType' + p), - m.push(h[p + 2]); - w && (F = 'thisWired' + (0 < F.length ? ', ' : '') + F); - l += - (ea ? 'var rv = ' : '') + - 'invoker(fn' + - (0 < F.length ? ', ' : '') + - F + - ');\n'; - if (x) l += 'runDestructors(destructors);\n'; - else - for (p = w ? 1 : 2; p < h.length; ++p) - (q = 1 === p ? 'thisWired' : 'arg' + (p - 2) + 'Wired'), - null !== h[p].D && - ((l += q + '_dtor(' + q + '); // ' + h[p].name + '\n'), - y.push(q + '_dtor'), - m.push(h[p].D)); - ea && (l += 'var ret = retType.fromWireType(rv);\nreturn ret;\n'); - y.push(l + '}\n'); - h = Ya(y).apply(null, m); - p = b - 1; - if (!g.hasOwnProperty(n)) - throw new Ia('Replacing nonexistant public symbol'); - void 0 !== g[n].F && void 0 !== p - ? (g[n].F[p] = h) - : ((g[n] = h), (g[n].J = p)); - return []; - }); - }, - d: function (a, b, c, d, e) { - function f(l) { - return l; - } - b = U(b); - -1 === e && (e = 4294967295); - var k = Ka(c); - if (0 === d) { - var h = 32 - 8 * c; - f = function (l) { - return (l << h) >>> h; - }; - } - var n = -1 != b.indexOf('unsigned'); - T(a, { - name: b, - fromWireType: f, - toWireType: function (l, m) { - if ('number' !== typeof m && 'boolean' !== typeof m) - throw new TypeError( - 'Cannot convert "' + Wa(m) + '" to ' + this.name, - ); - if (m < d || m > e) - throw new TypeError( - 'Passing a number "' + - Wa(m) + - '" from JS side to C/C++ side to an argument of type "' + - b + - '", which is outside the valid range [' + - d + - ', ' + - e + - ']!', - ); - return n ? m >>> 0 : m | 0; - }, - argPackAdvance: 8, - readValueFromPointer: cb(b, k, 0 !== d), - D: null, - }); - }, - c: function (a, b, c) { - function d(f) { - f >>= 2; - var k = J; - return new e(H, k[f + 1], k[f]); - } - var e = [ - Int8Array, - Uint8Array, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array, - ][b]; - c = U(c); - T( - a, - { - name: c, - fromWireType: d, - argPackAdvance: 8, - readValueFromPointer: d, - }, - { P: !0 }, - ); - }, - l: function (a, b) { - b = U(b); - var c = 'std::string' === b; - T(a, { - name: b, - fromWireType: function (d) { - var e = J[d >> 2]; - if (c) - for (var f = d + 4, k = 0; k <= e; ++k) { - var h = d + 4 + k; - if (k == e || 0 == C[h]) { - if (f) { - for (var n = f + (h - f), l = f; !(l >= n) && C[l]; ) ++l; - f = fa.decode(C.subarray(f, l)); - } else f = ''; - if (void 0 === m) var m = f; - else (m += String.fromCharCode(0)), (m += f); - f = h + 1; - } - } - else { - m = Array(e); - for (k = 0; k < e; ++k) m[k] = String.fromCharCode(C[d + 4 + k]); - m = m.join(''); - } - Y(d); - return m; - }, - 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 || - W('Cannot pass non-string to std::string'); - var k = (c && f - ? function () { - for (var l = 0, m = 0; m < e.length; ++m) { - var q = e.charCodeAt(m); - 55296 <= q && - 57343 >= q && - (q = - (65536 + ((q & 1023) << 10)) | - (e.charCodeAt(++m) & 1023)); - 127 >= q - ? ++l - : (l = 2047 >= q ? l + 2 : 65535 >= q ? l + 3 : l + 4); - } - return l; - } - : function () { - return e.length; - })(), - h = jb(4 + k + 1); - J[h >> 2] = k; - if (c && f) ha(e, h + 4, k + 1); - else if (f) - for (f = 0; f < k; ++f) { - var n = e.charCodeAt(f); - 255 < n && - (Y(h), - W('String has UTF-16 code units that do not fit in 8 bits')); - C[h + 4 + f] = n; - } - else for (f = 0; f < k; ++f) C[h + 4 + f] = e[f]; - null !== d && d.push(Y, h); - return h; - }, - argPackAdvance: 8, - readValueFromPointer: Q, - D: function (d) { - Y(d); - }, - }); - }, - h: function (a, b, c) { - c = U(c); - if (2 === b) { - var d = ja; - var e = ka; - var f = la; - var k = function () { - return D; - }; - var h = 1; - } else - 4 === b && - ((d = ma), - (e = na), - (f = oa), - (k = function () { - return J; - }), - (h = 2)); - T(a, { - name: c, - fromWireType: function (n) { - for (var l = J[n >> 2], m = k(), q, w = n + 4, x = 0; x <= l; ++x) { - var p = n + 4 + x * b; - if (x == l || 0 == m[p >> h]) - (w = d(w, p - w)), - void 0 === q - ? (q = w) - : ((q += String.fromCharCode(0)), (q += w)), - (w = p + b); - } - Y(n); - return q; - }, - toWireType: function (n, l) { - 'string' !== typeof l && - W('Cannot pass non-string to C++ string type ' + c); - var m = f(l), - q = jb(4 + m + b); - J[q >> 2] = m >> h; - e(l, q + 4, m + b); - null !== n && n.push(Y, q); - return q; - }, - argPackAdvance: 8, - readValueFromPointer: Q, - D: function (n) { - Y(n); - }, - }); - }, - n: function (a, b, c, d, e, f) { - P[a] = { name: U(b), R: Z(c, d), S: Z(e, f), I: [] }; - }, - b: function (a, b, c, d, e, f, k, h, n, l) { - P[a].I.push({ - K: U(b), - O: c, - M: Z(d, e), - N: f, - U: k, - T: Z(h, n), - V: l, - }); - }, - t: function (a, b) { - b = U(b); - T(a, { - W: !0, - name: b, - argPackAdvance: 0, - fromWireType: function () {}, - toWireType: function () {}, - }); - }, - g: Oa, - v: function (a) { - if (0 === a) return Pa(eb()); - var b = db[a]; - a = void 0 === b ? U(a) : b; - return Pa(eb()[a]); - }, - u: function (a) { - 4 < a && (X[a].H += 1); - }, - p: function (a, b, c, d) { - a || W('Cannot use deleted val. handle = ' + a); - a = X[a].value; - var e = fb[b]; - if (!e) { - e = ''; - for (var f = 0; f < b; ++f) e += (0 !== f ? ', ' : '') + 'arg' + f; - var k = - 'return function emval_allocator_' + - b + - '(constructor, argTypes, args) {\n'; - for (f = 0; f < b; ++f) - k += - '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', - k + - ('var obj = new constructor(' + - e + - ');\nreturn __emval_register(obj);\n}\n'), - )(Va, g, Pa); - fb[b] = e; - } - return e(a, c, d); - }, - j: function () { - A(); - }, - q: function (a, b, c) { - C.copyWithin(a, b, b + c); - }, - e: 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 + 0.2 / c); - d = Math.min(d, a + 100663296); - d = Math.max(16777216, a, d); - 0 < d % 65536 && (d += 65536 - (d % 65536)); - a: { - try { - B.grow((Math.min(2147483648, d) - H.byteLength + 65535) >>> 16); - ra(B.buffer); - var e = 1; - break a; - } catch (f) {} - e = void 0; - } - if (e) return !0; - } - return !1; - }, - a: B, - }; - (function () { - function a(e) { - g.asm = e.exports; - K = g.asm.x; - L--; - g.monitorRunDependencies && g.monitorRunDependencies(L); - 0 == L && - (null !== ya && (clearInterval(ya), (ya = null)), - M && ((e = M), (M = null), e())); - } - function b(e) { - a(e.instance); - } - function c(e) { - return Ca() - .then(function (f) { - return WebAssembly.instantiate(f, d); - }) - .then(e, function (f) { - v('failed to asynchronously prepare wasm: ' + f); - A(f); - }); - } - var d = { a: kb }; - L++; - g.monitorRunDependencies && g.monitorRunDependencies(L); - if (g.instantiateWasm) - try { - return g.instantiateWasm(d, a); - } catch (e) { - return ( - v('Module.instantiateWasm callback failed with error: ' + e), !1 - ); - } - (function () { - return z || - 'function' !== typeof WebAssembly.instantiateStreaming || - za() || - 'function' !== typeof fetch - ? c(b) - : fetch(N, { 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 {}; - })(); - var ib = (g.___wasm_call_ctors = function () { - return (ib = g.___wasm_call_ctors = g.asm.y).apply(null, arguments); - }), - jb = (g._malloc = function () { - return (jb = g._malloc = g.asm.z).apply(null, arguments); - }), - Y = (g._free = function () { - return (Y = g._free = g.asm.A).apply(null, arguments); - }), - Ua = (g.___getTypeName = function () { - return (Ua = g.___getTypeName = g.asm.B).apply(null, arguments); - }); - g.___embind_register_native_and_builtin_types = function () { - return (g.___embind_register_native_and_builtin_types = g.asm.C).apply( - null, - arguments, - ); - }; - var lb; - M = function mb() { - lb || nb(); - lb || (M = mb); - }; - function nb() { - function a() { - if (!lb && ((lb = !0), (g.calledRun = !0), !da)) { - O(ua); - O(va); - aa(g); - if (g.onRuntimeInitialized) g.onRuntimeInitialized(); - if (g.postRun) - for ( - 'function' == typeof g.postRun && (g.postRun = [g.postRun]); - g.postRun.length; +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 u="",ca;u=self.location.href;_scriptDir&&(u=_scriptDir);0!==u.indexOf("blob:")?u=u.substr(0,u.lastIndexOf("/")+1):u="";ca=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)};var v=g.printErr||console.warn.bind(console); +for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;var z;g.wasmBinary&&(z=g.wasmBinary);var noExitRuntime;g.noExitRuntime&&(noExitRuntime=g.noExitRuntime);"object"!==typeof WebAssembly&&A("no native wasm support detected");var B,da=!1,fa=new TextDecoder("utf8"); +function ha(a,b,c){var d=C;if(0=f){var k=a.charCodeAt(++e);f=65536+((f&1023)<<10)|k&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 ia=new TextDecoder("utf-16le"); +function ja(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&D[c];)++c;return ia.decode(C.subarray(a,c<<1))}function ka(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>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function la(a){return 2*a.length}function ma(a,b){for(var c=0,d="";!(c>=b/4);){var e=G[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 na(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=f){var k=a.charCodeAt(++e);f=65536+((f&1023)<<10)|k&1023}G[b>>2]=f;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}function oa(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var H,I,C,E,D,G,J,pa,qa; +function ra(a){H=a;g.HEAP8=I=new Int8Array(a);g.HEAP16=E=new Int16Array(a);g.HEAP32=G=new Int32Array(a);g.HEAPU8=C=new Uint8Array(a);g.HEAPU16=D=new Uint16Array(a);g.HEAPU32=J=new Uint32Array(a);g.HEAPF32=pa=new Float32Array(a);g.HEAPF64=qa=new Float64Array(a)}var sa=g.INITIAL_MEMORY||16777216;g.wasmMemory?B=g.wasmMemory:B=new WebAssembly.Memory({initial:sa/65536,maximum:32768});B&&(H=B.buffer);sa=H.byteLength;ra(H);var K,ta=[],ua=[],va=[],wa=[]; +function xa(){var a=g.preRun.shift();ta.unshift(a)}var L=0,ya=null,M=null;g.preloadedImages={};g.preloadedAudios={};function A(a){if(g.onAbort)g.onAbort(a);v(a);da=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function za(){var a=N;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var N="webp_enc.wasm"; +if(!za()){var Aa=N;N=g.locateFile?g.locateFile(Aa,u):u+Aa}function Ba(){try{if(z)return new Uint8Array(z);if(ca)return ca(N);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}function Ca(){return z||"function"!==typeof fetch?Promise.resolve().then(Ba):fetch(N,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+N+"'";return a.arrayBuffer()}).catch(function(){return Ba()})} +function O(a){for(;0>2])}var R={},S={},Ea={};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 Ja(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new Ia("Mismatched type converter count");for(var n=0;n>1])};case 2:return function(d){return this.fromWireType((c?G:J)[d>>2])};default:throw new TypeError("Unknown integer type: "+a);}}function Ta(a){a=Ua(a);var b=U(a);Y(a);return b}function Va(a,b){var c=S[a];void 0===c&&W(b+" has unknown type "+Ta(a));return c} +function Wa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Xa(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 Ya(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 Za(a,b){for(var c=[],d=0;d>2)+d]);return c} +function $a(a,b){0<=a.indexOf("j")||A("Assertion failed: getDynCaller should only be called with i64 sigs");var c=[];return function(){c.length=arguments.length;for(var d=0;d>1]}:function(d){return D[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 db={};function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}var fb={};Ia=g.InternalError=Ha("InternalError");for(var gb=Array(256),hb=0;256>hb;++hb)gb[hb]=String.fromCharCode(hb); +La=gb;Ma=g.BindingError=Ha("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b> +f])},D:null})},r:function(a,b){b=U(b);T(a,{name:b,fromWireType:function(c){var d=X[c].value;Oa(c);return d},toWireType:function(c,d){return Pa(d)},argPackAdvance:8,readValueFromPointer:Q,D:null})},o:function(a,b,c,d){function e(){}c=Ka(c);b=U(b);e.values={};T(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:function(f,k){return k.value},argPackAdvance:8,readValueFromPointer:Sa(b,c,d),D:null});Ra(b,e)},f:function(a,b,c){var d=Va(a,"enum");b=U(b);a=d.constructor; +d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Ga(d.name+"_"+b,function(){})}});a.values[c]=d;a[b]=d},k:function(a,b,c){c=Ka(c);b=U(b);T(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+Wa(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Xa(b,c),D:null})},i:function(a,b,c,d,e,f){var k=Za(b,c);a=U(a);e=Z(d,e);Ra(a,function(){bb("Cannot call "+a+ +" due to unbound types",k)},b-1);Ja([],k,function(h){var n=a,l=a;h=[h[0],null].concat(h.slice(1));var m=e,q=h.length;2>q&&W("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var w=null!==h[1]&&!1,x=!1,p=1;p>>h}}var n=-1!=b.indexOf("unsigned");T(a,{name:b,fromWireType:f,toWireType:function(l,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Wa(m)+'" to '+this.name);if(me)throw new TypeError('Passing a number "'+Wa(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+ +d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:cb(b,k,0!==d),D:null})},c:function(a,b,c){function d(f){f>>=2;var k=J;return new e(H,k[f+1],k[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=U(c);T(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{P:!0})},l:function(a,b){b=U(b);var c="std::string"===b;T(a,{name:b,fromWireType:function(d){var e=J[d>>2];if(c)for(var f=d+4,k=0;k<=e;++k){var h=d+4+k; +if(k==e||0==C[h]){if(f){for(var n=f+(h-f),l=f;!(l>=n)&&C[l];)++l;f=fa.decode(C.subarray(f,l))}else f="";if(void 0===m)var m=f;else m+=String.fromCharCode(0),m+=f;f=h+1}}else{m=Array(e);for(k=0;k=q&&(q=65536+((q&1023)<<10)|e.charCodeAt(++m)&1023);127>=q?++l:l=2047>=q?l+2:65535>=q?l+3:l+4}return l}:function(){return e.length})(),h=jb(4+k+1);J[h>>2]=k;if(c&&f)ha(e,h+4,k+1);else if(f)for(f=0;f>2],m=k(),q,w=n+4,x=0;x<=l;++x){var p=n+4+x*b;if(x==l||0==m[p>>h])w=d(w,p-w),void 0===q?q=w:(q+=String.fromCharCode(0),q+=w),w=p+b}Y(n);return q},toWireType:function(n,l){"string"!==typeof l&&W("Cannot pass non-string to C++ string type "+c);var m=f(l),q=jb(4+m+b);J[q>>2]=m>> +h;e(l,q+4,m+b);null!==n&&n.push(Y,q);return q},argPackAdvance:8,readValueFromPointer:Q,D:function(n){Y(n)}})},n:function(a,b,c,d,e,f){P[a]={name:U(b),R:Z(c,d),S:Z(e,f),I:[]}},b:function(a,b,c,d,e,f,k,h,n,l){P[a].I.push({K:U(b),O:c,M:Z(d,e),N:f,U:k,T:Z(h,n),V:l})},t:function(a,b){b=U(b);T(a,{W:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:Oa,v:function(a){if(0===a)return Pa(eb());var b=db[a];a=void 0===b?U(a):b;return Pa(eb()[a])},u:function(a){4>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module", +"__emval_register",k+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(Va,g,Pa);fb[b]=e}return e(a,c,d)},j:function(){A()},q:function(a,b,c){C.copyWithin(a,b,b+c)},e:function(a){a>>>=0;var b=C.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);ra(B.buffer);var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}, +a:B}; +(function(){function a(e){g.asm=e.exports;K=g.asm.x;L--;g.monitorRunDependencies&&g.monitorRunDependencies(L);0==L&&(null!==ya&&(clearInterval(ya),ya=null),M&&(e=M,M=null,e()))}function b(e){a(e.instance)}function c(e){return Ca().then(function(f){return WebAssembly.instantiate(f,d)}).then(e,function(f){v("failed to asynchronously prepare wasm: "+f);A(f)})}var d={a:kb};L++;g.monitorRunDependencies&&g.monitorRunDependencies(L);if(g.instantiateWasm)try{return g.instantiateWasm(d,a)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e), +!1}(function(){return z||"function"!==typeof WebAssembly.instantiateStreaming||za()||"function"!==typeof fetch?c(b):fetch(N,{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{}})(); +var ib=g.___wasm_call_ctors=function(){return(ib=g.___wasm_call_ctors=g.asm.y).apply(null,arguments)},jb=g._malloc=function(){return(jb=g._malloc=g.asm.z).apply(null,arguments)},Y=g._free=function(){return(Y=g._free=g.asm.A).apply(null,arguments)},Ua=g.___getTypeName=function(){return(Ua=g.___getTypeName=g.asm.B).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.C).apply(null,arguments)};var lb; +M=function mb(){lb||nb();lb||(M=mb)}; +function nb(){function a(){if(!lb&&(lb=!0,g.calledRun=!0,!da)){O(ua);O(va);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();wa.unshift(b)}O(wa)}}if(!(0=g){var k=a.charCodeAt(++e);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 ia=new TextDecoder("utf-16le"); +function ja(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&D[c];)++c;return ia.decode(C.subarray(a,c<<1))}function ka(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>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function la(a){return 2*a.length}function ma(a,b){for(var c=0,d="";!(c>=b/4);){var e=G[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 na(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=g){var k=a.charCodeAt(++e);g=65536+((g&1023)<<10)|k&1023}G[b>>2]=g;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}function oa(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var H,I,C,E,D,G,J,pa,qa; +function ra(a){H=a;f.HEAP8=I=new Int8Array(a);f.HEAP16=E=new Int16Array(a);f.HEAP32=G=new Int32Array(a);f.HEAPU8=C=new Uint8Array(a);f.HEAPU16=D=new Uint16Array(a);f.HEAPU32=J=new Uint32Array(a);f.HEAPF32=pa=new Float32Array(a);f.HEAPF64=qa=new Float64Array(a)}var sa=f.INITIAL_MEMORY||16777216;f.wasmMemory?B=f.wasmMemory:B=new WebAssembly.Memory({initial:sa/65536,maximum:32768});B&&(H=B.buffer);sa=H.byteLength;ra(H);var K,ta=[],ua=[],va=[],wa=[]; +function xa(){var a=f.preRun.shift();ta.unshift(a)}var L=0,ya=null,M=null;f.preloadedImages={};f.preloadedAudios={};function A(a){if(f.onAbort)f.onAbort(a);v(a);da=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function za(){var a=N;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var N="webp_enc_simd.wasm"; +if(!za()){var Aa=N;N=f.locateFile?f.locateFile(Aa,u):u+Aa}function Ba(){try{if(z)return new Uint8Array(z);if(ca)return ca(N);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}function Ca(){return z||"function"!==typeof fetch?Promise.resolve().then(Ba):fetch(N,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+N+"'";return a.arrayBuffer()}).catch(function(){return Ba()})} +function O(a){for(;0>2])}var R={},S={},Ea={};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 Ja(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new Ia("Mismatched type converter count");for(var n=0;n>1])};case 2:return function(d){return this.fromWireType((c?G:J)[d>>2])};default:throw new TypeError("Unknown integer type: "+a);}}function Ta(a){a=Ua(a);var b=U(a);Y(a);return b}function Va(a,b){var c=S[a];void 0===c&&W(b+" has unknown type "+Ta(a));return c} +function Wa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Xa(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 Ya(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 Za(a,b){for(var c=[],d=0;d>2)+d]);return c} +function $a(a,b){0<=a.indexOf("j")||A("Assertion failed: getDynCaller should only be called with i64 sigs");var c=[];return function(){c.length=arguments.length;for(var d=0;d>1]}:function(d){return D[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 db={};function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}var fb={};Ia=f.InternalError=Ha("InternalError");for(var gb=Array(256),hb=0;256>hb;++hb)gb[hb]=String.fromCharCode(hb); +La=gb;Ma=f.BindingError=Ha("BindingError");f.count_emval_handles=function(){for(var a=0,b=5;b> +g])},F:null})},s:function(a,b){b=U(b);T(a,{name:b,fromWireType:function(c){var d=X[c].value;Oa(c);return d},toWireType:function(c,d){return Pa(d)},argPackAdvance:8,readValueFromPointer:Q,F:null})},o:function(a,b,c,d){function e(){}c=Ka(c);b=U(b);e.values={};T(a,{name:b,constructor:e,fromWireType:function(g){return this.constructor.values[g]},toWireType:function(g,k){return k.value},argPackAdvance:8,readValueFromPointer:Sa(b,c,d),F:null});Ra(b,e)},f:function(a,b,c){var d=Va(a,"enum");b=U(b);a=d.constructor; +d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Ga(d.name+"_"+b,function(){})}});a.values[c]=d;a[b]=d},k:function(a,b,c){c=Ka(c);b=U(b);T(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+Wa(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Xa(b,c),F:null})},i:function(a,b,c,d,e,g){var k=Za(b,c);a=U(a);e=Z(d,e);Ra(a,function(){bb("Cannot call "+a+ +" due to unbound types",k)},b-1);Ja([],k,function(h){var n=a,l=a;h=[h[0],null].concat(h.slice(1));var m=e,q=h.length;2>q&&W("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var w=null!==h[1]&&!1,x=!1,p=1;p>>h}}var n=-1!=b.indexOf("unsigned");T(a,{name:b,fromWireType:g,toWireType:function(l,m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+Wa(m)+'" to '+this.name);if(me)throw new TypeError('Passing a number "'+Wa(m)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+ +d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:cb(b,k,0!==d),F:null})},c:function(a,b,c){function d(g){g>>=2;var k=J;return new e(H,k[g+1],k[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=U(c);T(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{R:!0})},l:function(a,b){b=U(b);var c="std::string"===b;T(a,{name:b,fromWireType:function(d){var e=J[d>>2];if(c)for(var g=d+4,k=0;k<=e;++k){var h=d+4+k; +if(k==e||0==C[h]){if(g){for(var n=g+(h-g),l=g;!(l>=n)&&C[l];)++l;g=fa.decode(C.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(e);for(k=0;k=q&&(q=65536+((q&1023)<<10)|e.charCodeAt(++m)&1023);127>=q?++l:l=2047>=q?l+2:65535>=q?l+3:l+4}return l}:function(){return e.length})(),h=jb(4+k+1);J[h>>2]=k;if(c&&g)ha(e,h+4,k+1);else if(g)for(g=0;g>2],m=k(),q,w=n+4,x=0;x<=l;++x){var p=n+4+x*b;if(x==l||0==m[p>>h])w=d(w,p-w),void 0===q?q=w:(q+=String.fromCharCode(0),q+=w),w=p+b}Y(n);return q},toWireType:function(n,l){"string"!==typeof l&&W("Cannot pass non-string to C++ string type "+c);var m=g(l),q=jb(4+m+b);J[q>>2]=m>> +h;e(l,q+4,m+b);null!==n&&n.push(Y,q);return q},argPackAdvance:8,readValueFromPointer:Q,F:function(n){Y(n)}})},n:function(a,b,c,d,e,g){P[a]={name:U(b),S:Z(c,d),T:Z(e,g),J:[]}},b:function(a,b,c,d,e,g,k,h,n,l){P[a].J.push({L:U(b),P:c,N:Z(d,e),O:g,V:k,U:Z(h,n),W:l})},u:function(a,b){b=U(b);T(a,{X:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:Oa,w:function(a){if(0===a)return Pa(eb());var b=db[a];a=void 0===b?U(a):b;return Pa(eb()[a])},v:function(a){4>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module", +"__emval_register",k+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(Va,f,Pa);fb[b]=e}return e(a,c,d)},j:function(){A()},r:function(a,b,c){C.copyWithin(a,b,b+c)},e:function(a){a>>>=0;var b=C.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);ra(B.buffer);var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1}, +a:B,q:function(){}}; +(function(){function a(e){f.asm=e.exports;K=f.asm.y;L--;f.monitorRunDependencies&&f.monitorRunDependencies(L);0==L&&(null!==ya&&(clearInterval(ya),ya=null),M&&(e=M,M=null,e()))}function b(e){a(e.instance)}function c(e){return Ca().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){v("failed to asynchronously prepare wasm: "+g);A(g)})}var d={a:kb};L++;f.monitorRunDependencies&&f.monitorRunDependencies(L);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return v("Module.instantiateWasm callback failed with error: "+ +e),!1}(function(){return z||"function"!==typeof WebAssembly.instantiateStreaming||za()||"function"!==typeof fetch?c(b):fetch(N,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){v("wasm streaming compile failed: "+g);v("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})(); +var ib=f.___wasm_call_ctors=function(){return(ib=f.___wasm_call_ctors=f.asm.z).apply(null,arguments)},jb=f._malloc=function(){return(jb=f._malloc=f.asm.A).apply(null,arguments)},Y=f._free=function(){return(Y=f._free=f.asm.B).apply(null,arguments)},Ua=f.___getTypeName=function(){return(Ua=f.___getTypeName=f.asm.C).apply(null,arguments)};f.___embind_register_native_and_builtin_types=function(){return(f.___embind_register_native_and_builtin_types=f.asm.D).apply(null,arguments)}; +f.dynCall_jiiii=function(){return(f.dynCall_jiiii=f.asm.E).apply(null,arguments)};var lb;M=function mb(){lb||nb();lb||(M=mb)}; +function nb(){function a(){if(!lb&&(lb=!0,f.calledRun=!0,!da)){O(ua);O(va);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();wa.unshift(b)}O(wa)}}if(!(0; +async function init() { + if (await simd()) { + const webpEncoder = await import('codecs/webp/enc/webp_enc_simd'); + return initEmscriptenModule( + webpEncoder.default, + wasmUrlWithMTAndSIMD, + workerUrlWithSIMD, + ); + } + const webpEncoder = await import('codecs/webp/enc/webp_enc'); + return initEmscriptenModule( + webpEncoder.default, + wasmUrl, + ); +} + export default async function encode( data: ImageData, options: EncodeOptions, ): Promise { - if (!emscriptenModule) { - emscriptenModule = initEmscriptenModule(webpEncoder, wasmUrl); - } + if (!emscriptenModule) emscriptenModule = init(); const module = await emscriptenModule; const result = module.encode(data.data, data.width, data.height, options); + if (!result) throw new Error('Encoding error.'); - // wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer. - return result.buffer as ArrayBuffer; + + return result.buffer; }