From 2e1e0d8082a171834a1f21ddafe77dc1521a2bed Mon Sep 17 00:00:00 2001 From: coomdev Date: Mon, 15 Aug 2022 07:56:30 +0200 Subject: [PATCH] Fix JPG embedding error. --- chrome/dist/main.js | 21 ++++++++++----------- chrome/manifest.json | 2 +- dist/main.js | 21 ++++++++++----------- firefox/dist/main.js | 21 ++++++++++----------- firefox/manifest.json | 2 +- firefox_update.json | 2 +- main.meta.js | 2 +- main.user.js | 23 +++++++++++------------ pngextraembedder-0.311.xpi | Bin 0 -> 548230 bytes src/f5stego.ts | 2 +- 10 files changed, 46 insertions(+), 50 deletions(-) create mode 100644 pngextraembedder-0.311.xpi diff --git a/chrome/dist/main.js b/chrome/dist/main.js index 3edd370..4fc80dc 100644 --- a/chrome/dist/main.js +++ b/chrome/dist/main.js @@ -73,7 +73,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 306]; + define_BUILD_VERSION_default = [0, 311]; } }); @@ -12653,7 +12653,7 @@ component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1; if (component2.blocks[pos + k2] < 1 << s - 1) component2.blocks[pos + k2] += (-1 << s) + 1; - if (component2.blocks[pos + k2] != 0) { + if (this.gengen && component2.blocks[pos + k2] != 0) { const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1; const it = this.gengen.next(v); if (it.done) { @@ -13579,7 +13579,6 @@ }; var has_embed2 = (b) => { try { - debugger; const res = f5inst.extract(b); if (!res) return false; @@ -15952,9 +15951,9 @@ let t1; let t2; let h4; - let t4; + let t6; let hr; - let t5; + let t7; let tabs; let div1_transition; let current; @@ -15973,10 +15972,10 @@ t1 = text(ctx[0]); t2 = space(); h4 = element("h4"); - h4.innerHTML = `Join us on 2chen!`; - t4 = space(); + h4.innerHTML = `Join us on 2chen! \u2022 Install JKCS!`; + t6 = space(); hr = element("hr"); - t5 = space(); + t7 = space(); create_component(tabs.$$.fragment); attr(h1, "class", "svelte-15t7t1d"); attr(h4, "class", "svelte-15t7t1d"); @@ -15992,9 +15991,9 @@ append(h1, t1); append(div0, t2); append(div0, h4); - append(div0, t4); + append(div0, t6); append(div0, hr); - append(div0, t5); + append(div0, t7); mount_component(tabs, div0, null); current = true; }, @@ -21578,7 +21577,7 @@ // src/processor.worker.ts function Worker2() { - return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n debugger;\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); + return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (this.gengen && component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); } // src/main.ts diff --git a/chrome/manifest.json b/chrome/manifest.json index 4d1da22..f65e3c9 100644 --- a/chrome/manifest.json +++ b/chrome/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "PngExtraEmbedder", "description": "Discover embedded files on 4chan and archives!", - "version": "0.306", + "version": "0.311", "icons": { "64": "1449696017588.png" }, diff --git a/dist/main.js b/dist/main.js index eeee861..a936b27 100644 --- a/dist/main.js +++ b/dist/main.js @@ -73,7 +73,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 306]; + define_BUILD_VERSION_default = [0, 311]; } }); @@ -12465,7 +12465,7 @@ component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1; if (component2.blocks[pos + k2] < 1 << s - 1) component2.blocks[pos + k2] += (-1 << s) + 1; - if (component2.blocks[pos + k2] != 0) { + if (this.gengen && component2.blocks[pos + k2] != 0) { const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1; const it = this.gengen.next(v); if (it.done) { @@ -13391,7 +13391,6 @@ }; var has_embed2 = (b) => { try { - debugger; const res = f5inst.extract(b); if (!res) return false; @@ -15764,9 +15763,9 @@ let t1; let t2; let h4; - let t4; + let t6; let hr; - let t5; + let t7; let tabs; let div1_transition; let current; @@ -15785,10 +15784,10 @@ t1 = text(ctx[0]); t2 = space(); h4 = element("h4"); - h4.innerHTML = `Join us on 2chen!`; - t4 = space(); + h4.innerHTML = `Join us on 2chen! \u2022 Install JKCS!`; + t6 = space(); hr = element("hr"); - t5 = space(); + t7 = space(); create_component(tabs.$$.fragment); attr(h1, "class", "svelte-15t7t1d"); attr(h4, "class", "svelte-15t7t1d"); @@ -15804,9 +15803,9 @@ append(h1, t1); append(div0, t2); append(div0, h4); - append(div0, t4); + append(div0, t6); append(div0, hr); - append(div0, t5); + append(div0, t7); mount_component(tabs, div0, null); current = true; }, @@ -21390,7 +21389,7 @@ // src/processor.worker.ts function Worker2() { - return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAMFBMVEX+/v3c3c2moZhda1ODfnfKvK49RDgCAgIbHxpsGhv6BQT9hIOV0Hh4pWO03Z//5coEk9oIAAAHdUlEQVR42qWZDXurIAyFhcDJsS31///bKzEWHX6sd2fPVqYbLycJwXXDTiGKSMrDkQKGc8WwjhCHa0WoSY5u5guIYIUk5BuGEc4oUYZTaVztUq4ZWZtSfzulCyPrCAjXEGgT+9vncQhoRtI1I1BnIdEouYecG5FmZPhNRsLn9T4l3fIjwq8gcXlFv9xwXpPriDLcKHjGYeX1RW0J2uBWUid3FsPPm+flz7Qd3FtJbqhzkuSiYHIzcq8Ybb7KiCRju5PlqirdNdLwewlT2u/IcNUrEvyVwzfKAbvEhHS1RrBF6ysK1ZRvGW0DxhbekGOSlGKzfxgIbpyE8XqJEI9W8GZN6ioi2VU9osSWk8jx8byCMC1zw5JHEiIwOY4YHmM8PDx0sZ/Gx6w9JeQcq3JoRZUUFeFLD+G1qBSh6vB4jBchjzI8NpSQE6BNgAiiodQINg4hvF9NxeYY02mFShw+lAogCUCAFhAiW3wpS/wNsGPQphjloP2FmINtkIdJoCSkvH5OIYZUxAURXk0CcsmJaQRi2IVdLGe1dJ7z7ZEkDNApDEFY27drYwRqC1shdR4dIalKBBhbwg3RCB3Edj39KNmnQ1QtZeoQJ4lIijF4kKzQZkaLUq+3zQ0iz+kwwkYFygrZUaahyr7m52TbHYa4gQxFwBT7u0XICtGO0fZFhAfqzskyHV69KkUbxeeefOQ2XjeyXEjx2JQDCgbdUAbTh5fdxr2RSBpFDillUNMmXB9bibxFFGOEIv6z9tqlxSH6CVirNL1nENGrtlCPKJWuNEijNFHlykHxfYCU1vyqXRRFo1CVJAzSU0bVKxsgpKyzoBRrLrTpy7ZWyroZDylm/lxic9ugYhapmvnSAmbfBId0FD2OlZQWB5JiSzWJFBGSHsMNRWGQnkJ2DDdP+SQDJPzk8/wV240esGY67SG6JgTHmVCQCo9JEiNQZZq82sUpdiaUspoOg/YU8n1sJE3zfLBoCGk2INT5aiTFKFoxhl9ro9QS7ijUGA4hzFNVpMKObskZBBTzxSykRUp1xkFjSIB6cRhkRxk1DXsI1zxMroRqw5iJBKRSUjVTaCbEn3SMUzhoJ/jp1hzI6z3vamBalaEEYUOSFWdmzOE6yeAcooNQ47A4efsRJCyhXmKamiIISh0FKhd8qGZIxMRGGQI6iN99z2sf3BGY67BodoDPqOpJEmX0OFo5LIPho9A7yX6jyijUWHugp6RppsBtESs6qiqMkhqlgzSbwb6E4t0CmH4okqu5sE2XWQbDOUTWe2kZVQjKLMr0UwEy9YrKClOcQ8rbjdhSLExWSYVp6oWpV6DWFAnzOcQO1DkJ5Dx428FdP4T5aNU2q6gydlbIMwjs1A7WDV5vY8xieQmnE2U1bRYhmtzKMUTs8eNlkLL0CQRhKcAZg+qU0LBmBXIMYakbJBhEizE0TplSKOdGXOmHFeIAQlmiFd4VQpUCUnReICCMJ5B0AAnKXRVvI1VsR1SEQQBy2YMgKutQoqvihly/SR3EMuAnu0NYjQEWXup0oqir8rSz0kNgrXAHsXr27QHV6UyfxG8vQvM2XG6jhxjZ22KyhnRdXnlfDjJxB+Hr1UP8JKUvN0/nygKJnT+2Humh6iCiSraOFacvlZRxWGWMc4gH4Xvl7TuyjbFWl2DNCUUw/a+IBnFGgxRygRAk/x8iG8jrFBInIfN/QwLCCUQsTss4b3dHTpK+BGo8hlBLg4QpKnZbQb6DSAcxoUKgxSETkv+8K32f+R4iNV5CMUhN3o9Gy/AFBAqEDuInlRDGu26090oKQo6cKDwp4BEkfQUpRYC+ulTFkrKHpP+F1NgjO6T1xE+8yKMTNn8JMQq2ENEqWbYjscuhiV9Vl3fCAg47I1WweBmkSayTfbcbSZ8Xw86IaYnXz1Mq5/BlW1G+XMPOiAkFykJMf1M6hOhW0PhHCCjrzMPWiItI1L9Cco27SVripblItjPyH6NFfmb+QLBrHVn1z9Fqjw5DlxF6zf6NEeup0RK/jGUHyRHyXXAQfrZgvhoErJSCLSRSVZF/v2wwHRtxiD8FcwuBplQx4Xd1hH5BXI2UskAUxVKygcyfjFDG35VR6tuWwpyQhJRBjSIbSJ6gFTKlOr6PlIR+j0AAKyeRkWoQFWqTTBEzJNUSS3eR4kHqApmGNEqFxOH5GBcIdCPa2Z5gfyyH60jhKKBkPXRH1iyE+ob5AqFuZcs3K8R1Og6NUsdh1nOmCOeBQTr5O0tMWeOUbk+RnvEYqsYRglOI0mudFUd+QwmV8Xi6FT2HtHd/kjn6gpJJ+fxr4TFyfObnGURl37Tl18c607zy1crD/mnVIL2XJlX+MlRknqduVkynECoRg/1mAvmr5xSxsnLIdA/xomaVklKZt91FvaxunTQRIqgQyHIQMN8hPBeTG7mFeG+uascmTjBBqMpHczANpucdhHht9LkYekLCksN1wqbHDYQsHcTE/V91GcaOWXvK4xYiW0bplgCA9OKQmRq1UZ7ZY3UDIXZGuAOQ68AApqROabqHlDMjNKlKzGG31a8o/wBpRk19RswBZgAAAABJRU5ErkJggg==");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n debugger;\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); + return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (this.gengen && component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); } // src/main.ts diff --git a/firefox/dist/main.js b/firefox/dist/main.js index 40e0034..8375edd 100644 --- a/firefox/dist/main.js +++ b/firefox/dist/main.js @@ -73,7 +73,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 306]; + define_BUILD_VERSION_default = [0, 311]; } }); @@ -12630,7 +12630,7 @@ component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1; if (component2.blocks[pos + k2] < 1 << s - 1) component2.blocks[pos + k2] += (-1 << s) + 1; - if (component2.blocks[pos + k2] != 0) { + if (this.gengen && component2.blocks[pos + k2] != 0) { const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1; const it = this.gengen.next(v); if (it.done) { @@ -13556,7 +13556,6 @@ }; var has_embed2 = (b) => { try { - debugger; const res = f5inst.extract(b); if (!res) return false; @@ -15929,9 +15928,9 @@ let t1; let t2; let h4; - let t4; + let t6; let hr; - let t5; + let t7; let tabs; let div1_transition; let current; @@ -15950,10 +15949,10 @@ t1 = text(ctx[0]); t2 = space(); h4 = element("h4"); - h4.innerHTML = `Join us on 2chen!`; - t4 = space(); + h4.innerHTML = `Join us on 2chen! \u2022 Install JKCS!`; + t6 = space(); hr = element("hr"); - t5 = space(); + t7 = space(); create_component(tabs.$$.fragment); attr(h1, "class", "svelte-15t7t1d"); attr(h4, "class", "svelte-15t7t1d"); @@ -15969,9 +15968,9 @@ append(h1, t1); append(div0, t2); append(div0, h4); - append(div0, t4); + append(div0, t6); append(div0, hr); - append(div0, t5); + append(div0, t7); mount_component(tabs, div0, null); current = true; }, @@ -21555,7 +21554,7 @@ // src/processor.worker.ts function Worker2() { - return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n debugger;\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); + return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (this.gengen && component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); } // src/main.ts diff --git a/firefox/manifest.json b/firefox/manifest.json index 242a5d0..29907af 100644 --- a/firefox/manifest.json +++ b/firefox/manifest.json @@ -7,7 +7,7 @@ }, "name": "PngExtraEmbedder", "description": "Discover embedded files on 4chan and archives!", - "version": "0.306", + "version": "0.311", "icons": { "64": "1449696017588.png" }, diff --git a/firefox_update.json b/firefox_update.json index 4348852..f6b08fe 100644 --- a/firefox_update.json +++ b/firefox_update.json @@ -1 +1 @@ -{"addons":{"{34ac4994-07f2-44d2-8599-682516a6c6a6}":{"updates":[{"version":"0.306","update_link":"https://git.coom.tech/fuckjannies/lolipiss/raw/branch/%E4%B8%AD%E5%87%BA%E3%81%97/pngextraembedder-0.306.xpi"}]}}} \ No newline at end of file +{"addons":{"{34ac4994-07f2-44d2-8599-682516a6c6a6}":{"updates":[{"version":"0.311","update_link":"https://git.coom.tech/fuckjannies/lolipiss/raw/branch/%E4%B8%AD%E5%87%BA%E3%81%97/pngextraembedder-0.311.xpi"}]}}} \ No newline at end of file diff --git a/main.meta.js b/main.meta.js index c258414..357e50b 100644 --- a/main.meta.js +++ b/main.meta.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.306 +// @version 0.311 // @description uhh // @author You // @match https://boards.4channel.org/* diff --git a/main.user.js b/main.user.js index 47697e0..ac1843c 100644 --- a/main.user.js +++ b/main.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.306 +// @version 0.311 // @description uhh // @author You // @match https://boards.4channel.org/* @@ -109,7 +109,7 @@ const _DOMParser = DOMParser; var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 306]; + define_BUILD_VERSION_default = [0, 311]; } }); @@ -12501,7 +12501,7 @@ const _DOMParser = DOMParser; component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1; if (component2.blocks[pos + k2] < 1 << s - 1) component2.blocks[pos + k2] += (-1 << s) + 1; - if (component2.blocks[pos + k2] != 0) { + if (this.gengen && component2.blocks[pos + k2] != 0) { const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1; const it = this.gengen.next(v); if (it.done) { @@ -13427,7 +13427,6 @@ const _DOMParser = DOMParser; }; var has_embed2 = (b) => { try { - debugger; const res = f5inst.extract(b); if (!res) return false; @@ -15800,9 +15799,9 @@ const _DOMParser = DOMParser; let t1; let t2; let h4; - let t4; + let t6; let hr; - let t5; + let t7; let tabs; let div1_transition; let current; @@ -15821,10 +15820,10 @@ const _DOMParser = DOMParser; t1 = text(ctx[0]); t2 = space(); h4 = element("h4"); - h4.innerHTML = `Join us on 2chen!`; - t4 = space(); + h4.innerHTML = `Join us on 2chen! \u2022 Install JKCS!`; + t6 = space(); hr = element("hr"); - t5 = space(); + t7 = space(); create_component(tabs.$$.fragment); attr(h1, "class", "svelte-15t7t1d"); attr(h4, "class", "svelte-15t7t1d"); @@ -15840,9 +15839,9 @@ const _DOMParser = DOMParser; append(h1, t1); append(div0, t2); append(div0, h4); - append(div0, t4); + append(div0, t6); append(div0, hr); - append(div0, t5); + append(div0, t7); mount_component(tabs, div0, null); current = true; }, @@ -21426,7 +21425,7 @@ const _DOMParser = DOMParser; // src/processor.worker.ts function Worker2() { - return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n debugger;\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); + return inlineWorker('var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key2 of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key2) && key2 !== except)\n __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));\nvar __decorateClass = (decorators, target, key2, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key2) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key2, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key2, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n };\n})();\n\n// \nvar init_define_BUILD_VERSION = __esm({\n ""() {\n }\n});\n\n// node_modules/base64-js/index.js\nvar require_base64_js = __commonJS({\n "node_modules/base64-js/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.byteLength = byteLength;\n exports.toByteArray = toByteArray;\n exports.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;\n var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";\n for (i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n }\n var i;\n var len;\n revLookup["-".charCodeAt(0)] = 62;\n revLookup["_".charCodeAt(0)] = 63;\n function getLens(b64) {\n var len2 = b64.length;\n if (len2 % 4 > 0) {\n throw new Error("Invalid string. Length must be a multiple of 4");\n }\n var validLen = b64.indexOf("=");\n if (validLen === -1)\n validLen = len2;\n var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n }\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i2;\n for (i2 = 0; i2 < len2; i2 += 4) {\n tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n return arr;\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i2 = start; i2 < end; i2 += 3) {\n tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n return output.join("");\n }\n function fromByteArray(uint8) {\n var tmp;\n var len2 = uint8.length;\n var extraBytes = len2 % 3;\n var parts = [];\n var maxChunkLength = 16383;\n for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {\n parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));\n }\n if (extraBytes === 1) {\n tmp = uint8[len2 - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");\n } else if (extraBytes === 2) {\n tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");\n }\n return parts.join("");\n }\n }\n});\n\n// node_modules/ieee754/index.js\nvar require_ieee754 = __commonJS({\n "node_modules/ieee754/index.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports.read = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {\n }\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {\n }\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {\n }\n buffer[offset + i - d] |= s * 128;\n };\n }\n});\n\n// node_modules/buffer/index.js\nvar require_buffer = __commonJS({\n "node_modules/buffer/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var base64 = require_base64_js();\n var ieee7542 = require_ieee754();\n var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null;\n exports.Buffer = Buffer13;\n exports.SlowBuffer = SlowBuffer;\n exports.INSPECT_MAX_BYTES = 50;\n var K_MAX_LENGTH = 2147483647;\n exports.kMaxLength = K_MAX_LENGTH;\n Buffer13.TYPED_ARRAY_SUPPORT = typedArraySupport();\n if (!Buffer13.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") {\n console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");\n }\n function typedArraySupport() {\n try {\n const arr = new Uint8Array(1);\n const proto = { foo: function() {\n return 42;\n } };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n Object.defineProperty(Buffer13.prototype, "parent", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer13.prototype, "offset", {\n enumerable: true,\n get: function() {\n if (!Buffer13.isBuffer(this))\n return void 0;\n return this.byteOffset;\n }\n });\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\'The value "\' + length + \'" is invalid for option "size"\');\n }\n const buf2 = new Uint8Array(length);\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function Buffer13(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n if (typeof encodingOrOffset === "string") {\n throw new TypeError(\'The "string" argument must be of type string. Received type number\');\n }\n return allocUnsafe(arg);\n }\n return from(arg, encodingOrOffset, length);\n }\n Buffer13.poolSize = 8192;\n function from(value, encodingOrOffset, length) {\n if (typeof value === "string") {\n return fromString(value, encodingOrOffset);\n }\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n if (value == null) {\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n if (typeof value === "number") {\n throw new TypeError(\'The "value" argument must not be of type number. Received type number\');\n }\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer13.from(valueOf, encodingOrOffset, length);\n }\n const b = fromObject(value);\n if (b)\n return b;\n if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") {\n return Buffer13.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length);\n }\n throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);\n }\n Buffer13.from = function(value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n };\n Object.setPrototypeOf(Buffer13.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer13, Uint8Array);\n function assertSize(size) {\n if (typeof size !== "number") {\n throw new TypeError(\'"size" argument must be of type number\');\n } else if (size < 0) {\n throw new RangeError(\'The value "\' + size + \'" is invalid for option "size"\');\n }\n }\n function alloc(size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(size);\n }\n if (fill !== void 0) {\n return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n return createBuffer(size);\n }\n Buffer13.alloc = function(size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n Buffer13.allocUnsafe = function(size) {\n return allocUnsafe(size);\n };\n Buffer13.allocUnsafeSlow = function(size) {\n return allocUnsafe(size);\n };\n function fromString(string, encoding) {\n if (typeof encoding !== "string" || encoding === "") {\n encoding = "utf8";\n }\n if (!Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n const length = byteLength(string, encoding) | 0;\n let buf2 = createBuffer(length);\n const actual = buf2.write(string, encoding);\n if (actual !== length) {\n buf2 = buf2.slice(0, actual);\n }\n return buf2;\n }\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf2 = createBuffer(length);\n for (let i = 0; i < length; i += 1) {\n buf2[i] = array[i] & 255;\n }\n return buf2;\n }\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n }\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\'"offset" is outside of buffer bounds\');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\'"length" is outside of buffer bounds\');\n }\n let buf2;\n if (byteOffset === void 0 && length === void 0) {\n buf2 = new Uint8Array(array);\n } else if (length === void 0) {\n buf2 = new Uint8Array(array, byteOffset);\n } else {\n buf2 = new Uint8Array(array, byteOffset, length);\n }\n Object.setPrototypeOf(buf2, Buffer13.prototype);\n return buf2;\n }\n function fromObject(obj) {\n if (Buffer13.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf2 = createBuffer(len);\n if (buf2.length === 0) {\n return buf2;\n }\n obj.copy(buf2, 0, 0, len);\n return buf2;\n }\n if (obj.length !== void 0) {\n if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n return fromArrayLike(obj);\n }\n if (obj.type === "Buffer" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n function checked(length) {\n if (length >= K_MAX_LENGTH) {\n throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes");\n }\n return length | 0;\n }\n function SlowBuffer(length) {\n if (+length != length) {\n length = 0;\n }\n return Buffer13.alloc(+length);\n }\n Buffer13.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer13.prototype;\n };\n Buffer13.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array))\n a = Buffer13.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array))\n b = Buffer13.from(b, b.offset, b.byteLength);\n if (!Buffer13.isBuffer(a) || !Buffer13.isBuffer(b)) {\n throw new TypeError(\'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array\');\n }\n if (a === b)\n return 0;\n let x = a.length;\n let y = b.length;\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n Buffer13.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "latin1":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return true;\n default:\n return false;\n }\n };\n Buffer13.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n }\n if (list.length === 0) {\n return Buffer13.alloc(0);\n }\n let i;\n if (length === void 0) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n const buffer = Buffer13.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf2 = list[i];\n if (isInstance(buf2, Uint8Array)) {\n if (pos + buf2.length > buffer.length) {\n if (!Buffer13.isBuffer(buf2))\n buf2 = Buffer13.from(buf2);\n buf2.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf2, pos);\n }\n } else if (!Buffer13.isBuffer(buf2)) {\n throw new TypeError(\'"list" argument must be an Array of Buffers\');\n } else {\n buf2.copy(buffer, pos);\n }\n pos += buf2.length;\n }\n return buffer;\n };\n function byteLength(string, encoding) {\n if (Buffer13.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== "string") {\n throw new TypeError(\'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type \' + typeof string);\n }\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0)\n return 0;\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "ascii":\n case "latin1":\n case "binary":\n return len;\n case "utf8":\n case "utf-8":\n return utf8ToBytes(string).length;\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return len * 2;\n case "hex":\n return len >>> 1;\n case "base64":\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length;\n }\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.byteLength = byteLength;\n function slowToString(encoding, start, end) {\n let loweredCase = false;\n if (start === void 0 || start < 0) {\n start = 0;\n }\n if (start > this.length) {\n return "";\n }\n if (end === void 0 || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return "";\n }\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return "";\n }\n if (!encoding)\n encoding = "utf8";\n while (true) {\n switch (encoding) {\n case "hex":\n return hexSlice(this, start, end);\n case "utf8":\n case "utf-8":\n return utf8Slice(this, start, end);\n case "ascii":\n return asciiSlice(this, start, end);\n case "latin1":\n case "binary":\n return latin1Slice(this, start, end);\n case "base64":\n return base64Slice(this, start, end);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = (encoding + "").toLowerCase();\n loweredCase = true;\n }\n }\n }\n Buffer13.prototype._isBuffer = true;\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n Buffer13.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 16-bits");\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n };\n Buffer13.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 32-bits");\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n };\n Buffer13.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError("Buffer size must be a multiple of 64-bits");\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n };\n Buffer13.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0)\n return "";\n if (arguments.length === 0)\n return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n Buffer13.prototype.toLocaleString = Buffer13.prototype.toString;\n Buffer13.prototype.equals = function equals(b) {\n if (!Buffer13.isBuffer(b))\n throw new TypeError("Argument must be a Buffer");\n if (this === b)\n return true;\n return Buffer13.compare(this, b) === 0;\n };\n Buffer13.prototype.inspect = function inspect() {\n let str = "";\n const max = exports.INSPECT_MAX_BYTES;\n str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim();\n if (this.length > max)\n str += " ... ";\n return "";\n };\n if (customInspectSymbol) {\n Buffer13.prototype[customInspectSymbol] = Buffer13.prototype.inspect;\n }\n Buffer13.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer13.from(target, target.offset, target.byteLength);\n }\n if (!Buffer13.isBuffer(target)) {\n throw new TypeError(\'The "target" argument must be one of type Buffer or Uint8Array. Received type \' + typeof target);\n }\n if (start === void 0) {\n start = 0;\n }\n if (end === void 0) {\n end = target ? target.length : 0;\n }\n if (thisStart === void 0) {\n thisStart = 0;\n }\n if (thisEnd === void 0) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError("out of range index");\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target)\n return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y)\n return -1;\n if (y < x)\n return 1;\n return 0;\n };\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (buffer.length === 0)\n return -1;\n if (typeof byteOffset === "string") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n byteOffset = +byteOffset;\n if (numberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n if (byteOffset < 0)\n byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir)\n return -1;\n else\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir)\n byteOffset = 0;\n else\n return -1;\n }\n if (typeof val === "string") {\n val = Buffer13.from(val, encoding);\n }\n if (Buffer13.isBuffer(val)) {\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === "number") {\n val = val & 255;\n if (typeof Uint8Array.prototype.indexOf === "function") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError("val must be string, number or Buffer");\n }\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== void 0) {\n encoding = String(encoding).toLowerCase();\n if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read2(buf2, i2) {\n if (indexSize === 1) {\n return buf2[i2];\n } else {\n return buf2.readUInt16BE(i2 * indexSize);\n }\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read2(arr, i) === read2(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1)\n foundIndex = i;\n if (i - foundIndex + 1 === valLength)\n return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1)\n i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength)\n byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read2(arr, i + j) !== read2(val, j)) {\n found = false;\n break;\n }\n }\n if (found)\n return i;\n }\n }\n return -1;\n }\n Buffer13.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n Buffer13.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n Buffer13.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n function hexWrite(buf2, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf2.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n const strLen = string.length;\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed))\n return i;\n buf2[offset + i] = parsed;\n }\n return i;\n }\n function utf8Write(buf2, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n function asciiWrite(buf2, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf2, offset, length);\n }\n function base64Write(buf2, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf2, offset, length);\n }\n function ucs2Write(buf2, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf2.length - offset), buf2, offset, length);\n }\n Buffer13.prototype.write = function write2(string, offset, length, encoding) {\n if (offset === void 0) {\n encoding = "utf8";\n length = this.length;\n offset = 0;\n } else if (length === void 0 && typeof offset === "string") {\n encoding = offset;\n length = this.length;\n offset = 0;\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === void 0)\n encoding = "utf8";\n } else {\n encoding = length;\n length = void 0;\n }\n } else {\n throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");\n }\n const remaining = this.length - offset;\n if (length === void 0 || length > remaining)\n length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError("Attempt to write outside buffer bounds");\n }\n if (!encoding)\n encoding = "utf8";\n let loweredCase = false;\n for (; ; ) {\n switch (encoding) {\n case "hex":\n return hexWrite(this, string, offset, length);\n case "utf8":\n case "utf-8":\n return utf8Write(this, string, offset, length);\n case "ascii":\n case "latin1":\n case "binary":\n return asciiWrite(this, string, offset, length);\n case "base64":\n return base64Write(this, string, offset, length);\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase)\n throw new TypeError("Unknown encoding: " + encoding);\n encoding = ("" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n Buffer13.prototype.toJSON = function toJSON() {\n return {\n type: "Buffer",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n function base64Slice(buf2, start, end) {\n if (start === 0 && end === buf2.length) {\n return base64.fromByteArray(buf2);\n } else {\n return base64.fromByteArray(buf2.slice(start, end));\n }\n }\n function utf8Slice(buf2, start, end) {\n end = Math.min(buf2.length, end);\n const res = [];\n let i = start;\n while (i < end) {\n const firstByte = buf2[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf2[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf2[i + 1];\n thirdByte = buf2[i + 2];\n fourthByte = buf2[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n }\n var MAX_ARGUMENTS_LENGTH = 4096;\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints);\n }\n let res = "";\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n }\n function asciiSlice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i] & 127);\n }\n return ret;\n }\n function latin1Slice(buf2, start, end) {\n let ret = "";\n end = Math.min(buf2.length, end);\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf2[i]);\n }\n return ret;\n }\n function hexSlice(buf2, start, end) {\n const len = buf2.length;\n if (!start || start < 0)\n start = 0;\n if (!end || end < 0 || end > len)\n end = len;\n let out = "";\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf2[i]];\n }\n return out;\n }\n function utf16leSlice(buf2, start, end) {\n const bytes = buf2.slice(start, end);\n let res = "";\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n }\n Buffer13.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === void 0 ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0)\n start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0)\n end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start)\n end = start;\n const newBuf = this.subarray(start, end);\n Object.setPrototypeOf(newBuf, Buffer13.prototype);\n return newBuf;\n };\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0)\n throw new RangeError("offset is not uint");\n if (offset + ext > length)\n throw new RangeError("Trying to access beyond buffer length");\n }\n Buffer13.prototype.readUintLE = Buffer13.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUintBE = Buffer13.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength2, this.length);\n }\n let val = this[offset + --byteLength2];\n let mul = 1;\n while (byteLength2 > 0 && (mul *= 256)) {\n val += this[offset + --byteLength2] * mul;\n }\n return val;\n };\n Buffer13.prototype.readUint8 = Buffer13.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n };\n Buffer13.prototype.readUint16LE = Buffer13.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n Buffer13.prototype.readUint16BE = Buffer13.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n Buffer13.prototype.readUint32LE = Buffer13.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n Buffer13.prototype.readUint32BE = Buffer13.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n Buffer13.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer13.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n Buffer13.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength2 && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) {\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength2, this.length);\n let i = byteLength2;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n mul *= 128;\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength2);\n return val;\n };\n Buffer13.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128))\n return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n Buffer13.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n Buffer13.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n Buffer13.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n Buffer13.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24);\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer13.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, "offset");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === void 0 || last === void 0) {\n boundsError(offset, this.length - 8);\n }\n const val = (first << 24) + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n Buffer13.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, true, 23, 4);\n };\n Buffer13.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return ieee7542.read(this, offset, false, 23, 4);\n };\n Buffer13.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, true, 52, 8);\n };\n Buffer13.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return ieee7542.read(this, offset, false, 52, 8);\n };\n function checkInt(buf2, value, offset, ext, max, min) {\n if (!Buffer13.isBuffer(buf2))\n throw new TypeError(\'"buffer" argument must be a Buffer instance\');\n if (value > max || value < min)\n throw new RangeError(\'"value" argument is out of bounds\');\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n }\n Buffer13.prototype.writeUintLE = Buffer13.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUintBE = Buffer13.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength2 = byteLength2 >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength2) - 1;\n checkInt(this, value, offset, byteLength2, maxBytes, 0);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeUint8 = Buffer13.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeUint16LE = Buffer13.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeUint16BE = Buffer13.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeUint32LE = Buffer13.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeUint32BE = Buffer13.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n function wrtBigUInt64LE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n lo = lo >> 8;\n buf2[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n hi = hi >> 8;\n buf2[offset++] = hi;\n return offset;\n }\n function wrtBigUInt64BE(buf2, value, offset, min, max) {\n checkIntBI(value, min, max, buf2, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf2[offset + 7] = lo;\n lo = lo >> 8;\n buf2[offset + 6] = lo;\n lo = lo >> 8;\n buf2[offset + 5] = lo;\n lo = lo >> 8;\n buf2[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf2[offset + 3] = hi;\n hi = hi >> 8;\n buf2[offset + 2] = hi;\n hi = hi >> 8;\n buf2[offset + 1] = hi;\n hi = hi >> 8;\n buf2[offset] = hi;\n return offset + 8;\n }\n Buffer13.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff"));\n });\n Buffer13.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n while (++i < byteLength2 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength2 - 1);\n checkInt(this, value, offset, byteLength2, limit - 1, -limit);\n }\n let i = byteLength2 - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n return offset + byteLength2;\n };\n Buffer13.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 127, -128);\n if (value < 0)\n value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n Buffer13.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n Buffer13.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n Buffer13.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n Buffer13.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0)\n value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n Buffer13.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n Buffer13.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));\n });\n function checkIEEE754(buf2, value, offset, ext, max, min) {\n if (offset + ext > buf2.length)\n throw new RangeError("Index out of range");\n if (offset < 0)\n throw new RangeError("Index out of range");\n }\n function writeFloat(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 4, 34028234663852886e22, -34028234663852886e22);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n Buffer13.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n function writeDouble(buf2, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf2, value, offset, 8, 17976931348623157e292, -17976931348623157e292);\n }\n ieee7542.write(buf2, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n Buffer13.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n Buffer13.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n };\n Buffer13.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer13.isBuffer(target))\n throw new TypeError("argument should be a Buffer");\n if (!start)\n start = 0;\n if (!end && end !== 0)\n end = this.length;\n if (targetStart >= target.length)\n targetStart = target.length;\n if (!targetStart)\n targetStart = 0;\n if (end > 0 && end < start)\n end = start;\n if (end === start)\n return 0;\n if (target.length === 0 || this.length === 0)\n return 0;\n if (targetStart < 0) {\n throw new RangeError("targetStart out of bounds");\n }\n if (start < 0 || start >= this.length)\n throw new RangeError("Index out of range");\n if (end < 0)\n throw new RangeError("sourceEnd out of bounds");\n if (end > this.length)\n end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === "function") {\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n return len;\n };\n Buffer13.prototype.fill = function fill(val, start, end, encoding) {\n if (typeof val === "string") {\n if (typeof start === "string") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === "string") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== void 0 && typeof encoding !== "string") {\n throw new TypeError("encoding must be a string");\n }\n if (typeof encoding === "string" && !Buffer13.isEncoding(encoding)) {\n throw new TypeError("Unknown encoding: " + encoding);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === "utf8" && code < 128 || encoding === "latin1") {\n val = code;\n }\n }\n } else if (typeof val === "number") {\n val = val & 255;\n } else if (typeof val === "boolean") {\n val = Number(val);\n }\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError("Out of range index");\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === void 0 ? this.length : end >>> 0;\n if (!val)\n val = 0;\n let i;\n if (typeof val === "number") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer13.isBuffer(val) ? val : Buffer13.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(\'The value "\' + val + \'" is invalid for argument "value"\');\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n };\n var errors = {};\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, "message", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n this.name = `${this.name} [${sym}]`;\n this.stack;\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, "code", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n }\n E("ERR_BUFFER_OUT_OF_BOUNDS", function(name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n return "Attempt to access memory outside buffer bounds";\n }, RangeError);\n E("ERR_INVALID_ARG_TYPE", function(name, actual) {\n return `The "${name}" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E("ERR_OUT_OF_RANGE", function(str, range, input) {\n let msg = `The value of "${str}" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === "bigint") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += "n";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n function addNumericalSeparator(val) {\n let res = "";\n let i = val.length;\n const start = val[0] === "-" ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n }\n function checkBounds(buf2, offset, byteLength2) {\n validateNumber(offset, "offset");\n if (buf2[offset] === void 0 || buf2[offset + byteLength2] === void 0) {\n boundsError(offset, buf2.length - (byteLength2 + 1));\n }\n }\n function checkIntBI(value, min, max, buf2, offset, byteLength2) {\n if (value > max || value < min) {\n const n = typeof min === "bigint" ? "n" : "";\n let range;\n if (byteLength2 > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE("value", range, value);\n }\n checkBounds(buf2, offset, byteLength2);\n }\n function validateNumber(value, name) {\n if (typeof value !== "number") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, "number", value);\n }\n }\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value);\n }\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n throw new errors.ERR_OUT_OF_RANGE(type || "offset", `>= ${type ? 1 : 0} and <= ${length}`, value);\n }\n var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n function base64clean(str) {\n str = str.split("=")[0];\n str = str.trim().replace(INVALID_BASE64_RE, "");\n if (str.length < 2)\n return "";\n while (str.length % 4 !== 0) {\n str = str + "=";\n }\n return str;\n }\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n if (codePoint > 55295 && codePoint < 57344) {\n if (!leadSurrogate) {\n if (codePoint > 56319) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n continue;\n }\n leadSurrogate = codePoint;\n continue;\n }\n if (codePoint < 56320) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n }\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n if ((units -= 3) > -1)\n bytes.push(239, 191, 189);\n }\n leadSurrogate = null;\n if (codePoint < 128) {\n if ((units -= 1) < 0)\n break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0)\n break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0)\n break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0)\n break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error("Invalid code point");\n }\n }\n return bytes;\n }\n function asciiToBytes(str) {\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n byteArray.push(str.charCodeAt(i) & 255);\n }\n return byteArray;\n }\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0)\n break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n }\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n function blitBuffer(src, dst, offset, length) {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length)\n break;\n dst[i + offset] = src[i];\n }\n return i;\n }\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n function numberIsNaN(obj) {\n return obj !== obj;\n }\n var hexSliceLookupTable = function() {\n const alphabet = "0123456789abcdef";\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n }();\n function defineBigIntMethod(fn) {\n return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;\n }\n function BufferBigIntNotDefined() {\n throw new Error("BigInt not supported");\n }\n }\n});\n\n// esbuild.inject.js\nvar Buffer2;\nvar init_esbuild_inject = __esm({\n "esbuild.inject.js"() {\n "use strict";\n Buffer2 = require_buffer().Buffer;\n }\n});\n\n// node_modules/crc-32/crc32.js\nvar require_crc32 = __commonJS({\n "node_modules/crc-32/crc32.js"(exports) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var CRC32;\n (function(factory) {\n if (typeof DO_NOT_EXPORT_CRC === "undefined") {\n if (typeof exports === "object") {\n factory(exports);\n } else if (typeof define === "function" && define.amd) {\n define(function() {\n var module2 = {};\n factory(module2);\n return module2;\n });\n } else {\n factory(CRC32 = {});\n }\n } else {\n factory(CRC32 = {});\n }\n })(function(CRC322) {\n CRC322.version = "1.2.0";\n function signed_crc_table() {\n var c = 0, table = new Array(256);\n for (var n = 0; n != 256; ++n) {\n c = n;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n c = c & 1 ? -306674912 ^ c >>> 1 : c >>> 1;\n table[n] = c;\n }\n return typeof Int32Array !== "undefined" ? new Int32Array(table) : table;\n }\n var T = signed_crc_table();\n function crc32_bstr(bstr, seed) {\n var C = seed ^ -1, L = bstr.length - 1;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i++)) & 255];\n }\n if (i === L)\n C = C >>> 8 ^ T[(C ^ bstr.charCodeAt(i)) & 255];\n return C ^ -1;\n }\n function crc32_buf(buf2, seed) {\n if (buf2.length > 1e4)\n return crc32_buf_8(buf2, seed);\n var C = seed ^ -1, L = buf2.length - 3;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 3)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_buf_8(buf2, seed) {\n var C = seed ^ -1, L = buf2.length - 7;\n for (var i = 0; i < L; ) {\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n }\n while (i < L + 7)\n C = C >>> 8 ^ T[(C ^ buf2[i++]) & 255];\n return C ^ -1;\n }\n function crc32_str(str, seed) {\n var C = seed ^ -1;\n for (var i = 0, L = str.length, c, d; i < L; ) {\n c = str.charCodeAt(i++);\n if (c < 128) {\n C = C >>> 8 ^ T[(C ^ c) & 255];\n } else if (c < 2048) {\n C = C >>> 8 ^ T[(C ^ (192 | c >> 6 & 31)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n } else if (c >= 55296 && c < 57344) {\n c = (c & 1023) + 64;\n d = str.charCodeAt(i++) & 1023;\n C = C >>> 8 ^ T[(C ^ (240 | c >> 8 & 7)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 2 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d >> 6 & 15 | (c & 3) << 4)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | d & 63)) & 255];\n } else {\n C = C >>> 8 ^ T[(C ^ (224 | c >> 12 & 15)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c >> 6 & 63)) & 255];\n C = C >>> 8 ^ T[(C ^ (128 | c & 63)) & 255];\n }\n }\n return C ^ -1;\n }\n CRC322.table = T;\n CRC322.bstr = crc32_bstr;\n CRC322.buf = crc32_buf;\n CRC322.str = crc32_str;\n });\n }\n});\n\n// node_modules/events/events.js\nvar require_events = __commonJS({\n "node_modules/events/events.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var R = typeof Reflect === "object" ? Reflect : null;\n var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n };\n var ReflectOwnKeys;\n if (R && typeof R.ownKeys === "function") {\n ReflectOwnKeys = R.ownKeys;\n } else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n } else {\n ReflectOwnKeys = function ReflectOwnKeys2(target) {\n return Object.getOwnPropertyNames(target);\n };\n }\n function ProcessEmitWarning(warning) {\n if (console && console.warn)\n console.warn(warning);\n }\n var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {\n return value !== value;\n };\n function EventEmitter() {\n EventEmitter.init.call(this);\n }\n module.exports = EventEmitter;\n module.exports.once = once;\n EventEmitter.EventEmitter = EventEmitter;\n EventEmitter.prototype._events = void 0;\n EventEmitter.prototype._eventsCount = 0;\n EventEmitter.prototype._maxListeners = void 0;\n var defaultMaxListeners = 10;\n function checkListener(listener) {\n if (typeof listener !== "function") {\n throw new TypeError(\'The "listener" argument must be of type Function. Received type \' + typeof listener);\n }\n }\n Object.defineProperty(EventEmitter, "defaultMaxListeners", {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \' + arg + ".");\n }\n defaultMaxListeners = arg;\n }\n });\n EventEmitter.init = function() {\n if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || void 0;\n };\n EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {\n throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \' + n + ".");\n }\n this._maxListeners = n;\n return this;\n };\n function _getMaxListeners(that) {\n if (that._maxListeners === void 0)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n }\n EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n };\n EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++)\n args.push(arguments[i]);\n var doError = type === "error";\n var events = this._events;\n if (events !== void 0)\n doError = doError && events.error === void 0;\n else if (!doError)\n return false;\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n throw er;\n }\n var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));\n err.context = er;\n throw err;\n }\n var handler = events[type];\n if (handler === void 0)\n return false;\n if (typeof handler === "function") {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n return true;\n };\n function _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === void 0) {\n events = target._events = /* @__PURE__ */ Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== void 0) {\n target.emit("newListener", type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === void 0) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === "function") {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");\n w.name = "MaxListenersExceededWarning";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n }\n EventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n };\n EventEmitter.prototype.on = EventEmitter.prototype.addListener;\n EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n function onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n }\n function _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: void 0, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n }\n EventEmitter.prototype.once = function once2(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === void 0)\n return this;\n list = events[type];\n if (list === void 0)\n return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit("removeListener", type, list.listener || listener);\n }\n } else if (typeof list !== "function") {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0)\n return this;\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n if (list.length === 1)\n events[type] = list[0];\n if (events.removeListener !== void 0)\n this.emit("removeListener", type, originalListener || listener);\n }\n return this;\n };\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === void 0)\n return this;\n if (events.removeListener === void 0) {\n if (arguments.length === 0) {\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== void 0) {\n if (--this._eventsCount === 0)\n this._events = /* @__PURE__ */ Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key2;\n for (i = 0; i < keys.length; ++i) {\n key2 = keys[i];\n if (key2 === "removeListener")\n continue;\n this.removeAllListeners(key2);\n }\n this.removeAllListeners("removeListener");\n this._events = /* @__PURE__ */ Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === "function") {\n this.removeListener(type, listeners);\n } else if (listeners !== void 0) {\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n };\n function _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === void 0)\n return [];\n var evlistener = events[type];\n if (evlistener === void 0)\n return [];\n if (typeof evlistener === "function")\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n }\n EventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n };\n EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n };\n EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === "function") {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n };\n EventEmitter.prototype.listenerCount = listenerCount;\n function listenerCount(type) {\n var events = this._events;\n if (events !== void 0) {\n var evlistener = events[type];\n if (typeof evlistener === "function") {\n return 1;\n } else if (evlistener !== void 0) {\n return evlistener.length;\n }\n }\n return 0;\n }\n EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n };\n function arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n }\n function spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n }\n function unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n }\n function once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === "function") {\n emitter.removeListener("error", errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== "error") {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n }\n function addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === "function") {\n eventTargetAgnosticAddListener(emitter, "error", handler, flags);\n }\n }\n function eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === "function") {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === "function") {\n emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError(\'The "emitter" argument must be of type EventEmitter. Received type \' + typeof emitter);\n }\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/stream-browser.js\nvar require_stream_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/stream-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = require_events().EventEmitter;\n }\n});\n\n// (disabled):node_modules/util/util.js\nvar require_util = __commonJS({\n "(disabled):node_modules/util/util.js"() {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/buffer_list.js\nvar require_buffer_list = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly)\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key2) {\n _defineProperty(target, key2, source[key2]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key2) {\n Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var _require = require_buffer();\n var Buffer13 = _require.Buffer;\n var _require2 = require_util();\n var inspect = _require2.inspect;\n var custom = inspect && inspect.custom || "inspect";\n function copyBuffer(src, target, offset) {\n Buffer13.prototype.copy.call(src, target, offset);\n }\n module.exports = /* @__PURE__ */ function() {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0)\n this.tail.next = entry;\n else\n this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0)\n this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0)\n return;\n var ret = this.head.data;\n if (this.length === 1)\n this.head = this.tail = null;\n else\n this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0)\n return "";\n var p = this.head;\n var ret = "" + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0)\n return Buffer13.alloc(0);\n var ret = Buffer13.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n ret = this.shift();\n } else {\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer13.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf2 = p.data;\n var nb = n > buf2.length ? buf2.length : n;\n buf2.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf2.length) {\n ++c;\n if (p.next)\n this.head = p.next;\n else\n this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf2.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n depth: 0,\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n }();\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/destroy.js\nvar require_destroy = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/destroy.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function(err2) {\n if (!cb && err2) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err2);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n }\n function emitErrorAndCloseNT(self2, err) {\n emitErrorNT(self2, err);\n emitCloseNT(self2);\n }\n function emitCloseNT(self2) {\n if (self2._writableState && !self2._writableState.emitClose)\n return;\n if (self2._readableState && !self2._readableState.emitClose)\n return;\n self2.emit("close");\n }\n function undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n }\n function emitErrorNT(self2, err) {\n self2.emit("error", err);\n }\n function errorOrDestroy(stream, err) {\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy)\n stream.destroy(err);\n else\n stream.emit("error", err);\n }\n module.exports = {\n destroy,\n undestroy,\n errorOrDestroy\n };\n }\n});\n\n// node_modules/readable-stream/errors-browser.js\nvar require_errors_browser = __commonJS({\n "node_modules/readable-stream/errors-browser.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n var codes = {};\n function createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === "string") {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /* @__PURE__ */ function(_Base) {\n _inheritsLoose(NodeError2, _Base);\n function NodeError2(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError2;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n }\n function oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) {\n return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1];\n } else if (len === 2) {\n return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);\n } else {\n return "of ".concat(thing, " ").concat(expected[0]);\n }\n } else {\n return "of ".concat(thing, " ").concat(String(expected));\n }\n }\n function startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n }\n function endsWith(str, search, this_len) {\n if (this_len === void 0 || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n }\n function includes(str, search, start) {\n if (typeof start !== "number") {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n }\n createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {\n return \'The value "\' + value + \'" is invalid for option "\' + name + \'"\';\n }, TypeError);\n createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {\n var determiner;\n if (typeof expected === "string" && startsWith(expected, "not ")) {\n determiner = "must not be";\n expected = expected.replace(/^not /, "");\n } else {\n determiner = "must be";\n }\n var msg;\n if (endsWith(name, " argument")) {\n msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n } else {\n var type = includes(name, ".") ? "property" : "argument";\n msg = \'The "\'.concat(name, \'" \').concat(type, " ").concat(determiner, " ").concat(oneOf(expected, "type"));\n }\n msg += ". Received type ".concat(typeof actual);\n return msg;\n }, TypeError);\n createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");\n createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {\n return "The " + name + " method is not implemented";\n });\n createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");\n createErrorType("ERR_STREAM_DESTROYED", function(name) {\n return "Cannot call " + name + " after a stream was destroyed";\n });\n createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");\n createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");\n createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");\n createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);\n createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {\n return "Unknown encoding: " + arg;\n }, TypeError);\n createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");\n module.exports.codes = codes;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/state.js\nvar require_state = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/state.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_INVALID_OPT_VALUE = require_errors_browser().codes.ERR_INVALID_OPT_VALUE;\n function highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n }\n function getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : "highWaterMark";\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n return state.objectMode ? 16 : 16 * 1024;\n }\n module.exports = {\n getHighWaterMark\n };\n }\n});\n\n// node_modules/inherits/inherits_browser.js\nvar require_inherits_browser = __commonJS({\n "node_modules/inherits/inherits_browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n if (typeof Object.create === "function") {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n } else {\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {\n };\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n }\n }\n});\n\n// node_modules/util-deprecate/browser.js\nvar require_browser = __commonJS({\n "node_modules/util-deprecate/browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = deprecate;\n function deprecate(fn, msg) {\n if (config("noDeprecation")) {\n return fn;\n }\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config("throwDeprecation")) {\n throw new Error(msg);\n } else if (config("traceDeprecation")) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n }\n function config(name) {\n try {\n if (!self.localStorage)\n return false;\n } catch (_) {\n return false;\n }\n var val = self.localStorage[name];\n if (val == null)\n return false;\n return String(val).toLowerCase() === "true";\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_writable.js\nvar require_stream_writable = __commonJS({\n "node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Writable;\n function CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n onCorkedFinish(_this, state);\n };\n }\n var Duplex;\n Writable.WritableState = WritableState;\n var internalUtil = {\n deprecate: require_browser()\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;\n var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;\n var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n require_inherits_browser()(Writable, Stream);\n function nop() {\n }\n function WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);\n this.finalCalled = false;\n this.needDrain = false;\n this.ending = false;\n this.ended = false;\n this.finished = false;\n this.destroyed = false;\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.length = 0;\n this.writing = false;\n this.corked = 0;\n this.sync = true;\n this.bufferProcessing = false;\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n this.writecb = null;\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n this.pendingcb = 0;\n this.prefinished = false;\n this.errorEmitted = false;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.bufferedRequestCount = 0;\n this.corkedRequestsFree = new CorkedRequest(this);\n }\n WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n };\n (function() {\n try {\n Object.defineProperty(WritableState.prototype, "buffer", {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")\n });\n } catch (_) {\n }\n })();\n var realHasInstance;\n if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object))\n return true;\n if (this !== Writable)\n return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n } else {\n realHasInstance = function realHasInstance2(object) {\n return object instanceof this;\n };\n }\n function Writable(options) {\n Duplex = Duplex || require_stream_duplex();\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this))\n return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n this.writable = true;\n if (options) {\n if (typeof options.write === "function")\n this._write = options.write;\n if (typeof options.writev === "function")\n this._writev = options.writev;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n if (typeof options.final === "function")\n this._final = options.final;\n }\n Stream.call(this);\n }\n Writable.prototype.pipe = function() {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n };\n function writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n }\n function validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== "string" && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n }\n Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer13.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf)\n encoding = "buffer";\n else if (!encoding)\n encoding = state.defaultEncoding;\n if (typeof cb !== "function")\n cb = nop;\n if (state.ending)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n };\n Writable.prototype.cork = function() {\n this._writableState.corked++;\n };\n Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest)\n clearBuffer(this, state);\n }\n };\n Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n if (typeof encoding === "string")\n encoding = encoding.toLowerCase();\n if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1))\n throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n function decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {\n chunk = Buffer13.from(chunk, encoding);\n }\n return chunk;\n }\n Object.defineProperty(Writable.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = "buffer";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n if (!ret)\n state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n }\n function doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed)\n state.onwrite(new ERR_STREAM_DESTROYED("write"));\n else if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n }\n function onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n process.nextTick(cb, er);\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n finishMaybe(stream, state);\n }\n }\n function onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n }\n function onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== "function")\n throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n }\n function afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n }\n function onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit("drain");\n }\n }\n function clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, "", holder.finish);\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n if (state.writing) {\n break;\n }\n }\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n }\n Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));\n };\n Writable.prototype._writev = null;\n Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === "function") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === "function") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== void 0)\n this.write(chunk, encoding);\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n if (!state.ending)\n endWritable(this, state, cb);\n return this;\n };\n Object.defineProperty(Writable.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n }\n function callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit("prefinish");\n finishMaybe(stream, state);\n });\n }\n function prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === "function" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit("prefinish");\n }\n }\n }\n function finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit("finish");\n if (state.autoDestroy) {\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n }\n function endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once("finish", cb);\n }\n state.ended = true;\n stream.writable = false;\n }\n function onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n state.corkedRequestsFree.next = corkReq;\n }\n Object.defineProperty(Writable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._writableState === void 0) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n if (!this._writableState) {\n return;\n }\n this._writableState.destroyed = value;\n }\n });\n Writable.prototype.destroy = destroyImpl.destroy;\n Writable.prototype._undestroy = destroyImpl.undestroy;\n Writable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_duplex.js\nvar require_stream_duplex = __commonJS({\n "node_modules/readable-stream/lib/_stream_duplex.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var objectKeys = Object.keys || function(obj) {\n var keys2 = [];\n for (var key2 in obj) {\n keys2.push(key2);\n }\n return keys2;\n };\n module.exports = Duplex;\n var Readable = require_stream_readable();\n var Writable = require_stream_writable();\n require_inherits_browser()(Duplex, Readable);\n {\n keys = objectKeys(Writable.prototype);\n for (v = 0; v < keys.length; v++) {\n method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n }\n }\n var keys;\n var method;\n var v;\n function Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false)\n this.readable = false;\n if (options.writable === false)\n this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once("end", onend);\n }\n }\n }\n Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n });\n Object.defineProperty(Duplex.prototype, "writableBuffer", {\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n });\n Object.defineProperty(Duplex.prototype, "writableLength", {\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n });\n function onend() {\n if (this._writableState.ended)\n return;\n process.nextTick(onEndNT, this);\n }\n function onEndNT(self2) {\n self2.end();\n }\n Object.defineProperty(Duplex.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n if (this._readableState === void 0 || this._writableState === void 0) {\n return;\n }\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n });\n }\n});\n\n// node_modules/safe-buffer/index.js\nvar require_safe_buffer = __commonJS({\n "node_modules/safe-buffer/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var buffer = require_buffer();\n var Buffer13 = buffer.Buffer;\n function copyProps(src, dst) {\n for (var key2 in src) {\n dst[key2] = src[key2];\n }\n }\n if (Buffer13.from && Buffer13.alloc && Buffer13.allocUnsafe && Buffer13.allocUnsafeSlow) {\n module.exports = buffer;\n } else {\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n }\n function SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer13(arg, encodingOrOffset, length);\n }\n SafeBuffer.prototype = Object.create(Buffer13.prototype);\n copyProps(Buffer13, SafeBuffer);\n SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === "number") {\n throw new TypeError("Argument must not be a number");\n }\n return Buffer13(arg, encodingOrOffset, length);\n };\n SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n var buf2 = Buffer13(size);\n if (fill !== void 0) {\n if (typeof encoding === "string") {\n buf2.fill(fill, encoding);\n } else {\n buf2.fill(fill);\n }\n } else {\n buf2.fill(0);\n }\n return buf2;\n };\n SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return Buffer13(size);\n };\n SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== "number") {\n throw new TypeError("Argument must be a number");\n }\n return buffer.SlowBuffer(size);\n };\n }\n});\n\n// node_modules/string_decoder/lib/string_decoder.js\nvar require_string_decoder = __commonJS({\n "node_modules/string_decoder/lib/string_decoder.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var Buffer13 = require_safe_buffer().Buffer;\n var isEncoding = Buffer13.isEncoding || function(encoding) {\n encoding = "" + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case "hex":\n case "utf8":\n case "utf-8":\n case "ascii":\n case "binary":\n case "base64":\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n case "raw":\n return true;\n default:\n return false;\n }\n };\n function _normalizeEncoding(enc) {\n if (!enc)\n return "utf8";\n var retried;\n while (true) {\n switch (enc) {\n case "utf8":\n case "utf-8":\n return "utf8";\n case "ucs2":\n case "ucs-2":\n case "utf16le":\n case "utf-16le":\n return "utf16le";\n case "latin1":\n case "binary":\n return "latin1";\n case "base64":\n case "ascii":\n case "hex":\n return enc;\n default:\n if (retried)\n return;\n enc = ("" + enc).toLowerCase();\n retried = true;\n }\n }\n }\n function normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== "string" && (Buffer13.isEncoding === isEncoding || !isEncoding(enc)))\n throw new Error("Unknown encoding: " + enc);\n return nenc || enc;\n }\n exports.StringDecoder = StringDecoder;\n function StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case "utf16le":\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case "utf8":\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case "base64":\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer13.allocUnsafe(nb);\n }\n StringDecoder.prototype.write = function(buf2) {\n if (buf2.length === 0)\n return "";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf2);\n if (r === void 0)\n return "";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf2.length)\n return r ? r + this.text(buf2, i) : this.text(buf2, i);\n return r || "";\n };\n StringDecoder.prototype.end = utf8End;\n StringDecoder.prototype.text = utf8Text;\n StringDecoder.prototype.fillLast = function(buf2) {\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf2.length);\n this.lastNeed -= buf2.length;\n };\n function utf8CheckByte(byte) {\n if (byte <= 127)\n return 0;\n else if (byte >> 5 === 6)\n return 2;\n else if (byte >> 4 === 14)\n return 3;\n else if (byte >> 3 === 30)\n return 4;\n return byte >> 6 === 2 ? -1 : -2;\n }\n function utf8CheckIncomplete(self2, buf2, i) {\n var j = buf2.length - 1;\n if (j < i)\n return 0;\n var nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0)\n self2.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2)\n return 0;\n nb = utf8CheckByte(buf2[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2)\n nb = 0;\n else\n self2.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n }\n function utf8CheckExtraBytes(self2, buf2, p) {\n if ((buf2[0] & 192) !== 128) {\n self2.lastNeed = 0;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 1 && buf2.length > 1) {\n if ((buf2[1] & 192) !== 128) {\n self2.lastNeed = 1;\n return "\\uFFFD";\n }\n if (self2.lastNeed > 2 && buf2.length > 2) {\n if ((buf2[2] & 192) !== 128) {\n self2.lastNeed = 2;\n return "\\uFFFD";\n }\n }\n }\n }\n function utf8FillLast(buf2) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf2, p);\n if (r !== void 0)\n return r;\n if (this.lastNeed <= buf2.length) {\n buf2.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf2.copy(this.lastChar, p, 0, buf2.length);\n this.lastNeed -= buf2.length;\n }\n function utf8Text(buf2, i) {\n var total = utf8CheckIncomplete(this, buf2, i);\n if (!this.lastNeed)\n return buf2.toString("utf8", i);\n this.lastTotal = total;\n var end = buf2.length - (total - this.lastNeed);\n buf2.copy(this.lastChar, 0, end);\n return buf2.toString("utf8", i, end);\n }\n function utf8End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + "\\uFFFD";\n return r;\n }\n function utf16Text(buf2, i) {\n if ((buf2.length - i) % 2 === 0) {\n var r = buf2.toString("utf16le", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 55296 && c <= 56319) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf2[buf2.length - 1];\n return buf2.toString("utf16le", i, buf2.length - 1);\n }\n function utf16End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString("utf16le", 0, end);\n }\n return r;\n }\n function base64Text(buf2, i) {\n var n = (buf2.length - i) % 3;\n if (n === 0)\n return buf2.toString("base64", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf2[buf2.length - 1];\n } else {\n this.lastChar[0] = buf2[buf2.length - 2];\n this.lastChar[1] = buf2[buf2.length - 1];\n }\n return buf2.toString("base64", i, buf2.length - n);\n }\n function base64End(buf2) {\n var r = buf2 && buf2.length ? this.write(buf2) : "";\n if (this.lastNeed)\n return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);\n return r;\n }\n function simpleWrite(buf2) {\n return buf2.toString(this.encoding);\n }\n function simpleEnd(buf2) {\n return buf2 && buf2.length ? this.write(buf2) : "";\n }\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/end-of-stream.js\nvar require_end_of_stream = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var ERR_STREAM_PREMATURE_CLOSE = require_errors_browser().codes.ERR_STREAM_PREMATURE_CLOSE;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n }\n function noop2() {\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function eos(stream, opts, callback) {\n if (typeof opts === "function")\n return eos(stream, null, opts);\n if (!opts)\n opts = {};\n callback = once(callback || noop2);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable2 = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish2() {\n if (!stream.writable)\n onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish2() {\n writable2 = false;\n writableEnded = true;\n if (!readable)\n callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend2() {\n readable = false;\n readableEnded = true;\n if (!writable2)\n callback.call(stream);\n };\n var onerror = function onerror2(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose2() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable2 && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended)\n err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest2() {\n stream.req.on("finish", onfinish);\n };\n if (isRequest(stream)) {\n stream.on("complete", onfinish);\n stream.on("abort", onclose);\n if (stream.req)\n onrequest();\n else\n stream.on("request", onrequest);\n } else if (writable2 && !stream._writableState) {\n stream.on("end", onlegacyfinish);\n stream.on("close", onlegacyfinish);\n }\n stream.on("end", onend);\n stream.on("finish", onfinish);\n if (opts.error !== false)\n stream.on("error", onerror);\n stream.on("close", onclose);\n return function() {\n stream.removeListener("complete", onfinish);\n stream.removeListener("abort", onclose);\n stream.removeListener("request", onrequest);\n if (stream.req)\n stream.req.removeListener("finish", onfinish);\n stream.removeListener("end", onlegacyfinish);\n stream.removeListener("close", onlegacyfinish);\n stream.removeListener("finish", onfinish);\n stream.removeListener("end", onend);\n stream.removeListener("error", onerror);\n stream.removeListener("close", onclose);\n };\n }\n module.exports = eos;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/async_iterator.js\nvar require_async_iterator = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var _Object$setPrototypeO;\n function _defineProperty(obj, key2, value) {\n if (key2 in obj) {\n Object.defineProperty(obj, key2, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key2] = value;\n }\n return obj;\n }\n var finished = require_end_of_stream();\n var kLastResolve = Symbol("lastResolve");\n var kLastReject = Symbol("lastReject");\n var kError = Symbol("error");\n var kEnded = Symbol("ended");\n var kLastPromise = Symbol("lastPromise");\n var kHandlePromise = Symbol("handlePromise");\n var kStream = Symbol("stream");\n function createIterResult(value, done) {\n return {\n value,\n done\n };\n }\n function readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n }\n function onReadable(iter) {\n process.nextTick(readAndResolve, iter);\n }\n function wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[kEnded]) {\n resolve(createIterResult(void 0, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n }\n var AsyncIteratorPrototype = Object.getPrototypeOf(function() {\n });\n var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(void 0, true));\n }\n if (this[kStream].destroyed) {\n return new Promise(function(resolve, reject) {\n process.nextTick(function() {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(void 0, true));\n }\n });\n });\n }\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n }), _defineProperty(_Object$setPrototypeO, "return", function _return() {\n var _this2 = this;\n return new Promise(function(resolve, reject) {\n _this2[kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(void 0, true));\n });\n });\n }), _Object$setPrototypeO), AsyncIteratorPrototype);\n var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function(err) {\n if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {\n var reject = iterator[kLastReject];\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(void 0, true));\n }\n iterator[kEnded] = true;\n });\n stream.on("readable", onReadable.bind(null, iterator));\n return iterator;\n };\n module.exports = createReadableStreamAsyncIterator;\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/from-browser.js\nvar require_from_browser = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/from-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = function() {\n throw new Error("Readable.from is not available in the browser");\n };\n }\n});\n\n// node_modules/readable-stream/lib/_stream_readable.js\nvar require_stream_readable = __commonJS({\n "node_modules/readable-stream/lib/_stream_readable.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Readable;\n var Duplex;\n Readable.ReadableState = ReadableState;\n var EE = require_events().EventEmitter;\n var EElistenerCount = function EElistenerCount2(emitter, type) {\n return emitter.listeners(type).length;\n };\n var Stream = require_stream_browser();\n var Buffer13 = require_buffer().Buffer;\n var OurUint8Array = self.Uint8Array || function() {\n };\n function _uint8ArrayToBuffer(chunk) {\n return Buffer13.from(chunk);\n }\n function _isUint8Array(obj) {\n return Buffer13.isBuffer(obj) || obj instanceof OurUint8Array;\n }\n var debugUtil = require_util();\n var debug;\n if (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog("stream");\n } else {\n debug = function debug2() {\n };\n }\n var BufferList = require_buffer_list();\n var destroyImpl = require_destroy();\n var _require = require_state();\n var getHighWaterMark = _require.getHighWaterMark;\n var _require$codes = require_errors_browser().codes;\n var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;\n var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n var StringDecoder;\n var createReadableStreamAsyncIterator;\n var from;\n require_inherits_browser()(Readable, Stream);\n var errorOrDestroy = destroyImpl.errorOrDestroy;\n var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];\n function prependListener(emitter, event, fn) {\n if (typeof emitter.prependListener === "function")\n return emitter.prependListener(event, fn);\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n function ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require_stream_duplex();\n options = options || {};\n if (typeof isDuplex !== "boolean")\n isDuplex = stream instanceof Duplex;\n this.objectMode = !!options.objectMode;\n if (isDuplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n this.sync = true;\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n this.emitClose = options.emitClose !== false;\n this.autoDestroy = !!options.autoDestroy;\n this.destroyed = false;\n this.defaultEncoding = options.defaultEncoding || "utf8";\n this.awaitDrain = 0;\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n }\n function Readable(options) {\n Duplex = Duplex || require_stream_duplex();\n if (!(this instanceof Readable))\n return new Readable(options);\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n this.readable = true;\n if (options) {\n if (typeof options.read === "function")\n this._read = options.read;\n if (typeof options.destroy === "function")\n this._destroy = options.destroy;\n }\n Stream.call(this);\n }\n Object.defineProperty(Readable.prototype, "destroyed", {\n enumerable: false,\n get: function get() {\n if (this._readableState === void 0) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n if (!this._readableState) {\n return;\n }\n this._readableState.destroyed = value;\n }\n });\n Readable.prototype.destroy = destroyImpl.destroy;\n Readable.prototype._undestroy = destroyImpl.undestroy;\n Readable.prototype._destroy = function(err, cb) {\n cb(err);\n };\n Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === "string") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer13.from(chunk, encoding);\n encoding = "";\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n };\n Readable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n };\n function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug("readableAddChunk", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer13.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted)\n errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n }\n function addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit("data", chunk);\n } else {\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n }\n function chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);\n }\n return er;\n }\n Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n };\n Readable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require_string_decoder().StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n this._readableState.encoding = this._readableState.decoder.encoding;\n var p = this._readableState.buffer.head;\n var content = "";\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== "")\n this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n };\n var MAX_HWM = 1073741824;\n function computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n }\n function howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended)\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n }\n Readable.prototype.read = function(n) {\n debug("read", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0)\n state.emittedReadable = false;\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug("read: emitReadable", state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n var doRead = state.needReadable;\n debug("need readable", doRead);\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug("length less than watermark", doRead);\n }\n if (state.ended || state.reading) {\n doRead = false;\n debug("reading or ended", doRead);\n } else if (doRead) {\n debug("do read");\n state.reading = true;\n state.sync = true;\n if (state.length === 0)\n state.needReadable = true;\n this._read(state.highWaterMark);\n state.sync = false;\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n if (!state.ended)\n state.needReadable = true;\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n if (ret !== null)\n this.emit("data", ret);\n return ret;\n };\n function onEofChunk(stream, state) {\n debug("onEofChunk");\n if (state.ended)\n return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n emitReadable(stream);\n } else {\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n }\n function emitReadable(stream) {\n var state = stream._readableState;\n debug("emitReadable", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug("emitReadable", state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n }\n function emitReadable_(stream) {\n var state = stream._readableState;\n debug("emitReadable_", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit("readable");\n state.emittedReadable = false;\n }\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n }\n function maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n }\n function maybeReadMore_(stream, state) {\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug("maybeReadMore read 0");\n stream.read(0);\n if (len === state.length)\n break;\n }\n state.readingMore = false;\n }\n Readable.prototype._read = function(n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));\n };\n Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once("end", endFn);\n dest.on("unpipe", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug("onunpipe");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug("onend");\n dest.end();\n }\n var ondrain = pipeOnDrain(src);\n dest.on("drain", ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug("cleanup");\n dest.removeListener("close", onclose);\n dest.removeListener("finish", onfinish);\n dest.removeListener("drain", ondrain);\n dest.removeListener("error", onerror);\n dest.removeListener("unpipe", onunpipe);\n src.removeListener("end", onend);\n src.removeListener("end", unpipe);\n src.removeListener("data", ondata);\n cleanedUp = true;\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n src.on("data", ondata);\n function ondata(chunk) {\n debug("ondata");\n var ret = dest.write(chunk);\n debug("dest.write", ret);\n if (ret === false) {\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug("false write response, pause", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n function onerror(er) {\n debug("onerror", er);\n unpipe();\n dest.removeListener("error", onerror);\n if (EElistenerCount(dest, "error") === 0)\n errorOrDestroy(dest, er);\n }\n prependListener(dest, "error", onerror);\n function onclose() {\n dest.removeListener("finish", onfinish);\n unpipe();\n }\n dest.once("close", onclose);\n function onfinish() {\n debug("onfinish");\n dest.removeListener("close", onclose);\n unpipe();\n }\n dest.once("finish", onfinish);\n function unpipe() {\n debug("unpipe");\n src.unpipe(dest);\n }\n dest.emit("pipe", src);\n if (!state.flowing) {\n debug("pipe resume");\n src.resume();\n }\n return dest;\n };\n function pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug("pipeOnDrain", state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {\n state.flowing = true;\n flow(src);\n }\n };\n }\n Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n if (state.pipesCount === 0)\n return this;\n if (state.pipesCount === 1) {\n if (dest && dest !== state.pipes)\n return this;\n if (!dest)\n dest = state.pipes;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n }\n if (!dest) {\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) {\n dests[i].emit("unpipe", this, {\n hasUnpiped: false\n });\n }\n return this;\n }\n var index = indexOf(state.pipes, dest);\n if (index === -1)\n return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n dest.emit("unpipe", this, unpipeInfo);\n return this;\n };\n Readable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === "data") {\n state.readableListening = this.listenerCount("readable") > 0;\n if (state.flowing !== false)\n this.resume();\n } else if (ev === "readable") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug("on readable", state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n };\n Readable.prototype.addListener = Readable.prototype.on;\n Readable.prototype.removeListener = function(ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === "readable") {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n Readable.prototype.removeAllListeners = function(ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === "readable" || ev === void 0) {\n process.nextTick(updateReadableListening, this);\n }\n return res;\n };\n function updateReadableListening(self2) {\n var state = self2._readableState;\n state.readableListening = self2.listenerCount("readable") > 0;\n if (state.resumeScheduled && !state.paused) {\n state.flowing = true;\n } else if (self2.listenerCount("data") > 0) {\n self2.resume();\n }\n }\n function nReadingNextTick(self2) {\n debug("readable nexttick read 0");\n self2.read(0);\n }\n Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug("resume");\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n };\n function resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n }\n function resume_(stream, state) {\n debug("resume", state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit("resume");\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n }\n Readable.prototype.pause = function() {\n debug("call pause flowing=%j", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug("pause");\n this._readableState.flowing = false;\n this.emit("pause");\n }\n this._readableState.paused = true;\n return this;\n };\n function flow(stream) {\n var state = stream._readableState;\n debug("flow", state.flowing);\n while (state.flowing && stream.read() !== null) {\n ;\n }\n }\n Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on("end", function() {\n debug("wrapped end");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on("data", function(chunk) {\n debug("wrapped data");\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n if (state.objectMode && (chunk === null || chunk === void 0))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n for (var i in stream) {\n if (this[i] === void 0 && typeof stream[i] === "function") {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n this._read = function(n2) {\n debug("wrapped _read", n2);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n };\n if (typeof Symbol === "function") {\n Readable.prototype[Symbol.asyncIterator] = function() {\n if (createReadableStreamAsyncIterator === void 0) {\n createReadableStreamAsyncIterator = require_async_iterator();\n }\n return createReadableStreamAsyncIterator(this);\n };\n }\n Object.defineProperty(Readable.prototype, "readableHighWaterMark", {\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n });\n Object.defineProperty(Readable.prototype, "readableBuffer", {\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n });\n Object.defineProperty(Readable.prototype, "readableFlowing", {\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n });\n Readable._fromList = fromList;\n Object.defineProperty(Readable.prototype, "readableLength", {\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n });\n function fromList(n, state) {\n if (state.length === 0)\n return null;\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n if (state.decoder)\n ret = state.buffer.join("");\n else if (state.buffer.length === 1)\n ret = state.buffer.first();\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n }\n function endReadable(stream) {\n var state = stream._readableState;\n debug("endReadable", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n }\n function endReadableNT(state, stream) {\n debug("endReadableNT", state.endEmitted, state.length);\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit("end");\n if (state.autoDestroy) {\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n }\n if (typeof Symbol === "function") {\n Readable.from = function(iterable, opts) {\n if (from === void 0) {\n from = require_from_browser();\n }\n return from(Readable, iterable, opts);\n };\n }\n function indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x)\n return i;\n }\n return -1;\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_transform.js\nvar require_stream_transform = __commonJS({\n "node_modules/readable-stream/lib/_stream_transform.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = Transform;\n var _require$codes = require_errors_browser().codes;\n var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;\n var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;\n var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;\n var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n var Duplex = require_stream_duplex();\n require_inherits_browser()(Transform, Duplex);\n function afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit("error", new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n }\n function Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n this._readableState.needReadable = true;\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === "function")\n this._transform = options.transform;\n if (typeof options.flush === "function")\n this._flush = options.flush;\n }\n this.on("prefinish", prefinish);\n }\n function prefinish() {\n var _this = this;\n if (typeof this._flush === "function" && !this._readableState.destroyed) {\n this._flush(function(er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n }\n Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n };\n Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));\n };\n Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n };\n Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n ts.needTransform = true;\n }\n };\n Transform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n };\n function done(stream, er, data) {\n if (er)\n return stream.emit("error", er);\n if (data != null)\n stream.push(data);\n if (stream._writableState.length)\n throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming)\n throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n }\n }\n});\n\n// node_modules/readable-stream/lib/_stream_passthrough.js\nvar require_stream_passthrough = __commonJS({\n "node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n module.exports = PassThrough;\n var Transform = require_stream_transform();\n require_inherits_browser()(PassThrough, Transform);\n function PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n Transform.call(this, options);\n }\n PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n };\n }\n});\n\n// node_modules/readable-stream/lib/internal/streams/pipeline.js\nvar require_pipeline = __commonJS({\n "node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var eos;\n function once(callback) {\n var called = false;\n return function() {\n if (called)\n return;\n called = true;\n callback.apply(void 0, arguments);\n };\n }\n var _require$codes = require_errors_browser().codes;\n var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n function noop2(err) {\n if (err)\n throw err;\n }\n function isRequest(stream) {\n return stream.setHeader && typeof stream.abort === "function";\n }\n function destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on("close", function() {\n closed = true;\n });\n if (eos === void 0)\n eos = require_end_of_stream();\n eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err)\n return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed)\n return;\n if (destroyed)\n return;\n destroyed = true;\n if (isRequest(stream))\n return stream.abort();\n if (typeof stream.destroy === "function")\n return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED("pipe"));\n };\n }\n function call(fn) {\n fn();\n }\n function pipe(from, to) {\n return from.pipe(to);\n }\n function popCallback(streams) {\n if (!streams.length)\n return noop2;\n if (typeof streams[streams.length - 1] !== "function")\n return noop2;\n return streams.pop();\n }\n function pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0]))\n streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS("streams");\n }\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function(err) {\n if (!error)\n error = err;\n if (err)\n destroys.forEach(call);\n if (reading)\n return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n }\n module.exports = pipeline;\n }\n});\n\n// node_modules/readable-stream/readable-browser.js\nvar require_readable_browser = __commonJS({\n "node_modules/readable-stream/readable-browser.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n exports = module.exports = require_stream_readable();\n exports.Stream = exports;\n exports.Readable = exports;\n exports.Writable = require_stream_writable();\n exports.Duplex = require_stream_duplex();\n exports.Transform = require_stream_transform();\n exports.PassThrough = require_stream_passthrough();\n exports.finished = require_end_of_stream();\n exports.pipeline = require_pipeline();\n }\n});\n\n// node_modules/readable-web-to-node-stream/lib/index.js\nvar require_lib = __commonJS({\n "node_modules/readable-web-to-node-stream/lib/index.js"(exports) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.ReadableWebToNodeStream = void 0;\n var readable_stream_1 = require_readable_browser();\n var ReadableWebToNodeStream2 = class extends readable_stream_1.Readable {\n constructor(stream) {\n super();\n this.bytesRead = 0;\n this.released = false;\n this.reader = stream.getReader();\n }\n async _read() {\n if (this.released) {\n this.push(null);\n return;\n }\n this.pendingRead = this.reader.read();\n const data = await this.pendingRead;\n delete this.pendingRead;\n if (data.done || this.released) {\n this.push(null);\n } else {\n this.bytesRead += data.value.length;\n this.push(data.value);\n }\n }\n async waitForReadToComplete() {\n if (this.pendingRead) {\n await this.pendingRead;\n }\n }\n async close() {\n await this.syncAndRelease();\n }\n async syncAndRelease() {\n this.released = true;\n await this.waitForReadToComplete();\n await this.reader.releaseLock();\n }\n };\n exports.ReadableWebToNodeStream = ReadableWebToNodeStream2;\n }\n});\n\n// node_modules/base-x/src/index.js\nvar require_src = __commonJS({\n "node_modules/base-x/src/index.js"(exports, module) {\n "use strict";\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n function base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError("Alphabet too long");\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + " is ambiguous");\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode2(source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError("Expected Uint8Array");\n }\n if (source.length === 0) {\n return "";\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i2 = 0;\n for (var it1 = size - 1; (carry !== 0 || i2 < length) && it1 !== -1; it1--, i2++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== "string") {\n throw new TypeError("Expected String");\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i2 = 0;\n for (var it3 = size - 1; (carry !== 0 || i2 < length) && it3 !== -1; it3--, i2++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error("Non-zero carry");\n }\n length = i2;\n psz++;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j2 = zeroes;\n while (it4 !== size) {\n vch[j2++] = b256[it4++];\n }\n return vch;\n }\n function decode3(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error("Non-base" + BASE + " character");\n }\n return {\n encode: encode2,\n decodeUnsafe,\n decode: decode3\n };\n }\n module.exports = base;\n }\n});\n\n// node_modules/bs58/index.js\nvar require_bs58 = __commonJS({\n "node_modules/bs58/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var basex = require_src();\n var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";\n module.exports = basex(ALPHABET);\n }\n});\n\n// node_modules/jpeg-js/lib/encoder.js\nvar require_encoder = __commonJS({\n "node_modules/jpeg-js/lib/encoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var btoa = btoa || function(buf2) {\n return Buffer2.from(buf2).toString("base64");\n };\n function JPEGEncoder(quality) {\n var self2 = this;\n var fround = Math.round;\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT2;\n var UVDC_HT2;\n var YAC_HT2;\n var UVAC_HT2;\n var bitcode2 = new Array(65535);\n var category2 = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n var std_dc_luminance_nrcodes2 = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\n var std_dc_luminance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes2 = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\n var std_ac_luminance_values2 = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n var std_dc_chrominance_nrcodes2 = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\n var std_dc_chrominance_values2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes2 = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\n var std_ac_chrominance_values2 = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n ];\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n if (t < 1) {\n t = 1;\n } else if (t > 255) {\n t = 255;\n }\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n if (u < 1) {\n u = 1;\n } else if (u > 255) {\n u = 255;\n }\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n fdtbl_UV[k] = 1 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8);\n k++;\n }\n }\n }\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n function initHuffmanTbl() {\n YDC_HT2 = computeHuffmanTbl(std_dc_luminance_nrcodes2, std_dc_luminance_values2);\n UVDC_HT2 = computeHuffmanTbl(std_dc_chrominance_nrcodes2, std_dc_chrominance_values2);\n YAC_HT2 = computeHuffmanTbl(std_ac_luminance_nrcodes2, std_ac_luminance_values2);\n UVAC_HT2 = computeHuffmanTbl(std_ac_chrominance_nrcodes2, std_ac_chrominance_values2);\n }\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n for (var nr = nrlower; nr < nrupper; nr++) {\n category2[32767 + nr] = cat;\n bitcode2[32767 + nr] = [];\n bitcode2[32767 + nr][1] = cat;\n bitcode2[32767 + nr][0] = nr;\n }\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category2[32767 + nrneg] = cat;\n bitcode2[32767 + nrneg] = [];\n bitcode2[32767 + nrneg][1] = cat;\n bitcode2[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i;\n RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 32768;\n RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i;\n RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i;\n RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 8421375;\n RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i;\n RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i;\n }\n }\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & 1 << posval) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 255) {\n writeByte(255);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n function writeByte(value) {\n byteout.push(value);\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n var tmp10 = tmp0 + tmp3;\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n data[dataOff] = tmp10 + tmp11;\n data[dataOff + 4] = tmp10 - tmp11;\n var z1 = (tmp12 + tmp13) * 0.707106781;\n data[dataOff + 2] = tmp13 + z1;\n data[dataOff + 6] = tmp13 - z1;\n tmp10 = tmp4 + tmp5;\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n var z5 = (tmp10 - tmp12) * 0.382683433;\n var z2 = 0.5411961 * tmp10 + z5;\n var z4 = 1.306562965 * tmp12 + z5;\n var z3 = tmp11 * 0.707106781;\n var z11 = tmp7 + z3;\n var z13 = tmp7 - z3;\n data[dataOff + 5] = z13 + z2;\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n dataOff += 8;\n }\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n var tmp10p2 = tmp0p2 + tmp3p2;\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n data[dataOff] = tmp10p2 + tmp11p2;\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781;\n data[dataOff + 16] = tmp13p2 + z1p2;\n data[dataOff + 48] = tmp13p2 - z1p2;\n tmp10p2 = tmp4p2 + tmp5p2;\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433;\n var z2p2 = 0.5411961 * tmp10p2 + z5p2;\n var z4p2 = 1.306562965 * tmp12p2 + z5p2;\n var z3p2 = tmp11p2 * 0.707106781;\n var z11p2 = tmp7p2 + z3p2;\n var z13p2 = tmp7p2 - z3p2;\n data[dataOff + 40] = z13p2 + z2p2;\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n dataOff++;\n }\n var fDCTQuant2;\n for (i = 0; i < I64; ++i) {\n fDCTQuant2 = data[i] * fdtbl[i];\n outputfDCTQuant[i] = fDCTQuant2 > 0 ? fDCTQuant2 + 0.5 | 0 : fDCTQuant2 - 0.5 | 0;\n }\n return outputfDCTQuant;\n }\n function writeAPP0() {\n writeWord(65504);\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n }\n function writeAPP1(exifBuffer) {\n if (!exifBuffer)\n return;\n writeWord(65505);\n if (exifBuffer[0] === 69 && exifBuffer[1] === 120 && exifBuffer[2] === 105 && exifBuffer[3] === 102) {\n writeWord(exifBuffer.length + 2);\n } else {\n writeWord(exifBuffer.length + 5 + 2);\n writeByte(69);\n writeByte(120);\n writeByte(105);\n writeByte(102);\n writeByte(0);\n }\n for (var i = 0; i < exifBuffer.length; i++) {\n writeByte(exifBuffer[i]);\n }\n }\n function writeSOF0(width, height) {\n writeWord(65472);\n writeWord(17);\n writeByte(8);\n writeWord(height);\n writeWord(width);\n writeByte(3);\n writeByte(1);\n writeByte(17);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(1);\n writeByte(3);\n writeByte(17);\n writeByte(1);\n }\n function writeDQT() {\n writeWord(65499);\n writeWord(132);\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n function writeDHT() {\n writeWord(65476);\n writeWord(418);\n writeByte(0);\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes2[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values2[j]);\n }\n writeByte(16);\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes2[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values2[l]);\n }\n writeByte(1);\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes2[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values2[n]);\n }\n writeByte(17);\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes2[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values2[p]);\n }\n }\n function writeCOM(comments) {\n if (typeof comments === "undefined" || comments.constructor !== Array)\n return;\n comments.forEach((e) => {\n if (typeof e !== "string")\n return;\n writeWord(65534);\n var l = e.length;\n writeWord(l + 2);\n var i;\n for (i = 0; i < l; i++)\n writeByte(e.charCodeAt(i));\n });\n }\n function writeSOS() {\n writeWord(65498);\n writeWord(12);\n writeByte(3);\n writeByte(1);\n writeByte(0);\n writeByte(2);\n writeByte(17);\n writeByte(3);\n writeByte(17);\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0];\n var M16zeroes = HTAC[240];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n if (Diff == 0) {\n writeBits(HTDC[0]);\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category2[pos]]);\n writeBits(bitcode2[pos]);\n }\n var end0pos = 63;\n for (; end0pos > 0 && DU[end0pos] == 0; end0pos--) {\n }\n ;\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n for (; DU[i] == 0 && i <= end0pos; ++i) {\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category2[pos]]);\n writeBits(bitcode2[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n clt[i] = sfcc(i);\n }\n }\n this.encode = function(image, quality2) {\n var time_start = new Date().getTime();\n if (quality2)\n setQuality(quality2);\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n writeWord(65496);\n writeAPP0();\n writeCOM(image.comments);\n writeAPP1(image.exifBuffer);\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n bytenew = 0;\n bytepos = 7;\n this.encode.displayName = "_encode_";\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n var quadWidth = width * 4;\n var tripleWidth = width * 3;\n var x, y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n p = start;\n col = -1;\n row = 0;\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3;\n col = (pos & 7) * 4;\n p = start + row * quadWidth + col;\n if (y + row >= height) {\n p -= quadWidth * (y + 1 + row - height);\n }\n if (x + col >= quadWidth) {\n p -= x + col - quadWidth + 4;\n }\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128;\n UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128;\n VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128;\n }\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT2, YAC_HT2);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT2, UVAC_HT2);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT2, UVAC_HT2);\n x += 32;\n }\n y += 8;\n }\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << bytepos + 1) - 1;\n writeBits(fillbits);\n }\n writeWord(65497);\n if (typeof module === "undefined")\n return new Uint8Array(byteout);\n return Buffer2.from(byteout);\n var jpegDataUri = "data:image/jpeg;base64," + btoa(byteout.join(""));\n byteout = [];\n var duration = new Date().getTime() - time_start;\n return jpegDataUri;\n };\n function setQuality(quality2) {\n if (quality2 <= 0) {\n quality2 = 1;\n }\n if (quality2 > 100) {\n quality2 = 100;\n }\n if (currentQuality == quality2)\n return;\n var sf = 0;\n if (quality2 < 50) {\n sf = Math.floor(5e3 / quality2);\n } else {\n sf = Math.floor(200 - quality2 * 2);\n }\n initQuantTables(sf);\n currentQuality = quality2;\n }\n function init3() {\n var time_start = new Date().getTime();\n if (!quality)\n quality = 50;\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n setQuality(quality);\n var duration = new Date().getTime() - time_start;\n }\n init3();\n }\n if (typeof module !== "undefined") {\n module.exports = encode2;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].encode = encode2;\n }\n function encode2(imgData, qu) {\n if (typeof qu === "undefined")\n qu = 50;\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(imgData, qu);\n return {\n data,\n width: imgData.width,\n height: imgData.height\n };\n }\n }\n});\n\n// node_modules/jpeg-js/lib/decoder.js\nvar require_decoder = __commonJS({\n "node_modules/jpeg-js/lib/decoder.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var JpegImage = function jpegImage() {\n "use strict";\n var dctZigZag = new Int32Array([\n 0,\n 1,\n 8,\n 16,\n 9,\n 2,\n 3,\n 10,\n 17,\n 24,\n 32,\n 25,\n 18,\n 11,\n 4,\n 5,\n 12,\n 19,\n 26,\n 33,\n 40,\n 48,\n 41,\n 34,\n 27,\n 20,\n 13,\n 6,\n 7,\n 14,\n 21,\n 28,\n 35,\n 42,\n 49,\n 56,\n 57,\n 50,\n 43,\n 36,\n 29,\n 22,\n 15,\n 23,\n 30,\n 37,\n 44,\n 51,\n 58,\n 59,\n 52,\n 45,\n 38,\n 31,\n 39,\n 46,\n 53,\n 60,\n 61,\n 54,\n 47,\n 55,\n 62,\n 63\n ]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n function constructor() {\n }\n function buildHuffmanTable2(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive, opts) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 255) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw new Error("unexpected marker: " + (bitsData << 8 | nextByte).toString(16));\n }\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n var node = tree, bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === "number")\n return node;\n if (typeof node !== "object")\n throw new Error("invalid huffman sequence");\n }\n return null;\n }\n function receive(length) {\n var n2 = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n2 = n2 << 1 | bit;\n length--;\n }\n return n2;\n }\n function receiveAndExtend(length) {\n var n2 = receive(length);\n if (n2 >= 1 << length - 1)\n return n2;\n return n2 + (-1 << length) + 1;\n }\n function decodeBaseline(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n zz[0] = component2.pred += diff;\n var k2 = 1;\n while (k2 < 64) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s);\n k2++;\n }\n }\n function decodeDCFirst(component2, zz) {\n var t = decodeHuffman(component2.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n zz[0] = component2.pred += diff;\n }\n function decodeDCSuccessive(component2, zz) {\n zz[0] |= readBit() << successive;\n }\n var eobrun = 0;\n function decodeACFirst(component2, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k2 = spectralStart, e = spectralEnd;\n while (k2 <= e) {\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n var z = dctZigZag[k2];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k2++;\n }\n }\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component2, zz) {\n var k2 = spectralStart, e = spectralEnd, r = 0;\n while (k2 <= e) {\n var z = dctZigZag[k2];\n var direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0:\n var rs = decodeHuffman(component2.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw new Error("invalid ACn encoding");\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1:\n case 2:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4:\n if (zz[z])\n zz[z] += (readBit() << successive) * direction;\n break;\n }\n k2++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n function decodeMcu(component2, decode4, mcu2, row, col) {\n var mcuRow = mcu2 / mcusPerLine | 0;\n var mcuCol = mcu2 % mcusPerLine;\n var blockRow = mcuRow * component2.v + row;\n var blockCol = mcuCol * component2.h + col;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component2, decode4, mcu2) {\n var blockRow = mcu2 / component2.blocksPerLine | 0;\n var blockCol = mcu2 % component2.blocksPerLine;\n if (component2.blocks[blockRow] === void 0 && opts.tolerantDecoding)\n return;\n decode4(component2, component2.blocks[blockRow][blockCol]);\n }\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval)\n resetInterval = mcuExpected;\n var h, v;\n while (mcu < mcuExpected) {\n for (i = 0; i < componentsLength; i++)\n components[i].pred = 0;\n eobrun = 0;\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n if (mcu === mcuExpected)\n break;\n }\n }\n if (mcu === mcuExpected) {\n do {\n if (data[offset] === 255) {\n if (data[offset + 1] !== 0) {\n break;\n }\n }\n offset += 1;\n } while (offset < data.length - 2);\n }\n bitsCount = 0;\n marker = data[offset] << 8 | data[offset + 1];\n if (marker < 65280) {\n throw new Error("marker was not found");\n }\n if (marker >= 65488 && marker <= 65495) {\n offset += 2;\n } else\n break;\n }\n return offset - startOffset;\n }\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var R = new Int32Array(64), r = new Uint8Array(64);\n function quantizeAndInverse(zz, dataOut, dataIn) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var p = dataIn;\n var i2;\n for (i2 = 0; i2 < 64; i2++)\n p[i2] = zz[i2] * qt[i2];\n for (i2 = 0; i2 < 8; ++i2) {\n var row = 8 * i2;\n if (p[1 + row] == 0 && p[2 + row] == 0 && p[3 + row] == 0 && p[4 + row] == 0 && p[5 + row] == 0 && p[6 + row] == 0 && p[7 + row] == 0) {\n t = dctSqrt2 * p[0 + row] + 512 >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 + row] + 128 >> 8;\n v1 = dctSqrt2 * p[4 + row] + 128 >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128 >> 8;\n v7 = dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128 >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n for (i2 = 0; i2 < 8; ++i2) {\n var col = i2;\n if (p[1 * 8 + col] == 0 && p[2 * 8 + col] == 0 && p[3 * 8 + col] == 0 && p[4 * 8 + col] == 0 && p[5 * 8 + col] == 0 && p[6 * 8 + col] == 0 && p[7 * 8 + col] == 0) {\n t = dctSqrt2 * dataIn[i2 + 0] + 8192 >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n v0 = dctSqrt2 * p[0 * 8 + col] + 2048 >> 12;\n v1 = dctSqrt2 * p[4 * 8 + col] + 2048 >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048 >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n t = v0 - v1 + 1 >> 1;\n v0 = v0 + v1 + 1 >> 1;\n v1 = t;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n t = v4 - v6 + 1 >> 1;\n v4 = v4 + v6 + 1 >> 1;\n v6 = t;\n t = v7 + v5 + 1 >> 1;\n v5 = v7 - v5 + 1 >> 1;\n v7 = t;\n t = v0 - v3 + 1 >> 1;\n v0 = v0 + v3 + 1 >> 1;\n v3 = t;\n t = v1 - v2 + 1 >> 1;\n v1 = v1 + v2 + 1 >> 1;\n v2 = t;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n for (i2 = 0; i2 < 64; ++i2) {\n var sample2 = 128 + (p[i2] + 8 >> 4);\n dataOut[i2] = sample2 < 0 ? 0 : sample2 > 255 ? 255 : sample2;\n }\n }\n requestMemoryAllocation(samplesPerLine * blocksPerColumn * 8);\n var i, j;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (i = 0; i < 8; i++)\n lines.push(new Uint8Array(samplesPerLine));\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var line = lines[scanLine + j];\n for (i = 0; i < 8; i++)\n line[sample + i] = r[offset++];\n }\n }\n }\n return lines;\n }\n function clampTo8bit(a) {\n return a < 0 ? 0 : a > 255 ? 255 : a;\n }\n constructor.prototype = {\n load: function load(path) {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", path, true);\n xhr.responseType = "arraybuffer";\n xhr.onload = function() {\n var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);\n this.parse(data);\n if (this.onload)\n this.onload();\n }.bind(this);\n xhr.send(null);\n },\n parse: function parse(data) {\n var maxResolutionInPixels = this.opts.maxResolutionInMP * 1e3 * 1e3;\n var offset = 0, length = data.length;\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n var length2 = readUint16();\n var array = data.subarray(offset, offset + length2 - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame2) {\n var maxH2 = 1, maxV2 = 1;\n var component2, componentId2;\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n if (maxH2 < component2.h)\n maxH2 = component2.h;\n if (maxV2 < component2.v)\n maxV2 = component2.v;\n }\n }\n var mcusPerLine = Math.ceil(frame2.samplesPerLine / 8 / maxH2);\n var mcusPerColumn = Math.ceil(frame2.scanLines / 8 / maxV2);\n for (componentId2 in frame2.components) {\n if (frame2.components.hasOwnProperty(componentId2)) {\n component2 = frame2.components[componentId2];\n var blocksPerLine = Math.ceil(Math.ceil(frame2.samplesPerLine / 8) * component2.h / maxH2);\n var blocksPerColumn = Math.ceil(Math.ceil(frame2.scanLines / 8) * component2.v / maxV2);\n var blocksPerLineForMcu = mcusPerLine * component2.h;\n var blocksPerColumnForMcu = mcusPerColumn * component2.v;\n var blocksToAllocate = blocksPerColumnForMcu * blocksPerLineForMcu;\n var blocks = [];\n requestMemoryAllocation(blocksToAllocate * 256);\n for (var i2 = 0; i2 < blocksPerColumnForMcu; i2++) {\n var row = [];\n for (var j2 = 0; j2 < blocksPerLineForMcu; j2++)\n row.push(new Int32Array(64));\n blocks.push(row);\n }\n component2.blocksPerLine = blocksPerLine;\n component2.blocksPerColumn = blocksPerColumn;\n component2.blocks = blocks;\n }\n }\n frame2.maxH = maxH2;\n frame2.maxV = maxV2;\n frame2.mcusPerLine = mcusPerLine;\n frame2.mcusPerColumn = mcusPerColumn;\n }\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [], frames = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n var malformedDataOffset = -1;\n this.comments = [];\n if (fileMarker != 65496) {\n throw new Error("SOI not found");\n }\n fileMarker = readUint16();\n while (fileMarker != 65497) {\n var i, j, l;\n switch (fileMarker) {\n case 65280:\n break;\n case 65504:\n case 65505:\n case 65506:\n case 65507:\n case 65508:\n case 65509:\n case 65510:\n case 65511:\n case 65512:\n case 65513:\n case 65514:\n case 65515:\n case 65516:\n case 65517:\n case 65518:\n case 65519:\n case 65534:\n var appData = readDataBlock();\n if (fileMarker === 65534) {\n var comment = String.fromCharCode.apply(null, appData);\n this.comments.push(comment);\n }\n if (fileMarker === 65504) {\n if (appData[0] === 74 && appData[1] === 70 && appData[2] === 73 && appData[3] === 70 && appData[4] === 0) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n if (fileMarker === 65505) {\n if (appData[0] === 69 && appData[1] === 120 && appData[2] === 105 && appData[3] === 102 && appData[4] === 0) {\n this.exifBuffer = appData.subarray(5, appData.length);\n }\n }\n if (fileMarker === 65518) {\n if (appData[0] === 65 && appData[1] === 100 && appData[2] === 111 && appData[3] === 98 && appData[4] === 101 && appData[5] === 0) {\n adobe = {\n version: appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n case 65499:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n requestMemoryAllocation(64 * 4);\n var tableData = new Int32Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else\n throw new Error("DQT: invalid table spec");\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n case 65472:\n case 65473:\n case 65474:\n readUint16();\n frame = {};\n frame.extended = fileMarker === 65473;\n frame.progressive = fileMarker === 65474;\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = {};\n frame.componentsOrder = [];\n var pixelsInFrame = frame.scanLines * frame.samplesPerLine;\n if (pixelsInFrame > maxResolutionInPixels) {\n var exceededAmount = Math.ceil((pixelsInFrame - maxResolutionInPixels) / 1e6);\n throw new Error(`maxResolutionInMP limit exceeded by ${exceededAmount}MP`);\n }\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n var qId = data[offset + 2];\n if (h <= 0 || v <= 0) {\n throw new Error("Invalid sampling factor, expected values above 0");\n }\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId\n };\n offset += 3;\n }\n prepareComponents(frame);\n frames.push(frame);\n break;\n case 65476:\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n requestMemoryAllocation(16 + codeLengthSum);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable2(codeLengths, huffmanValues);\n }\n break;\n case 65501:\n readUint16();\n resetInterval = readUint16();\n break;\n case 65500:\n readUint16();\n readUint16();\n break;\n case 65498:\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n component = frame.components[data[offset++]];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, this.opts);\n offset += processed;\n break;\n case 65535:\n if (data[offset] !== 255) {\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n break;\n } else if (fileMarker === 224 || fileMarker == 225) {\n if (malformedDataOffset !== -1) {\n throw new Error(`first unknown JPEG marker at offset ${malformedDataOffset.toString(16)}, second unknown JPEG marker ${fileMarker.toString(16)} at offset ${(offset - 1).toString(16)}`);\n }\n malformedDataOffset = offset - 1;\n const nextOffset = readUint16();\n if (data[offset + nextOffset - 2] === 255) {\n offset += nextOffset - 2;\n break;\n }\n }\n throw new Error("unknown JPEG marker " + fileMarker.toString(16));\n }\n fileMarker = readUint16();\n }\n if (frames.length != 1)\n throw new Error("only single frame JPEGs supported");\n for (var i = 0; i < frames.length; i++) {\n var cp = frames[i].components;\n for (var j in cp) {\n cp[j].quantizationTable = quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (var i = 0; i < frame.componentsOrder.length; i++) {\n var component = frame.components[frame.componentsOrder[i]];\n this.components.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV\n });\n }\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n var component1, component2, component3, component4;\n var component1Line, component2Line, component3Line, component4Line;\n var x, y;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var dataLength = width * height * this.components.length;\n requestMemoryAllocation(dataLength);\n var data = new Uint8Array(dataLength);\n switch (this.components.length) {\n case 1:\n component1 = this.components[0];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 2:\n component1 = this.components[0];\n component2 = this.components[1];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n data[offset++] = Y;\n Y = component2Line[0 | x * component2.scaleX * scaleX];\n data[offset++] = Y;\n }\n }\n break;\n case 3:\n colorTransform = true;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n R = component1Line[0 | x * component1.scaleX * scaleX];\n G = component2Line[0 | x * component2.scaleX * scaleX];\n B = component3Line[0 | x * component3.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n R = clampTo8bit(Y + 1.402 * (Cr - 128));\n G = clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n B = clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = R;\n data[offset++] = G;\n data[offset++] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw new Error("Unsupported color mode (4 components)");\n colorTransform = false;\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.opts.colorTransform !== "undefined")\n colorTransform = !!this.opts.colorTransform;\n component1 = this.components[0];\n component2 = this.components[1];\n component3 = this.components[2];\n component4 = this.components[3];\n for (y = 0; y < height; y++) {\n component1Line = component1.lines[0 | y * component1.scaleY * scaleY];\n component2Line = component2.lines[0 | y * component2.scaleY * scaleY];\n component3Line = component3.lines[0 | y * component3.scaleY * scaleY];\n component4Line = component4.lines[0 | y * component4.scaleY * scaleY];\n for (x = 0; x < width; x++) {\n if (!colorTransform) {\n C = component1Line[0 | x * component1.scaleX * scaleX];\n M = component2Line[0 | x * component2.scaleX * scaleX];\n Ye = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n } else {\n Y = component1Line[0 | x * component1.scaleX * scaleX];\n Cb = component2Line[0 | x * component2.scaleX * scaleX];\n Cr = component3Line[0 | x * component3.scaleX * scaleX];\n K = component4Line[0 | x * component4.scaleX * scaleX];\n C = 255 - clampTo8bit(Y + 1.402 * (Cr - 128));\n M = 255 - clampTo8bit(Y - 0.3441363 * (Cb - 128) - 0.71413636 * (Cr - 128));\n Ye = 255 - clampTo8bit(Y + 1.772 * (Cb - 128));\n }\n data[offset++] = 255 - C;\n data[offset++] = 255 - M;\n data[offset++] = 255 - Ye;\n data[offset++] = 255 - K;\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n return data;\n },\n copyToImageData: function copyToImageData(imageData, formatAsRGBA) {\n var width = imageData.width, height = imageData.height;\n var imageDataArray = imageData.data;\n var data = this.getData(width, height);\n var i = 0, j = 0, x, y;\n var Y, K, C, M, R, G, B;\n switch (this.components.length) {\n case 1:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n Y = data[i++];\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n imageDataArray[j++] = Y;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 3:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n R = data[i++];\n G = data[i++];\n B = data[i++];\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n case 4:\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n C = data[i++];\n M = data[i++];\n Y = data[i++];\n K = data[i++];\n R = 255 - clampTo8bit(C * (1 - K / 255) + K);\n G = 255 - clampTo8bit(M * (1 - K / 255) + K);\n B = 255 - clampTo8bit(Y * (1 - K / 255) + K);\n imageDataArray[j++] = R;\n imageDataArray[j++] = G;\n imageDataArray[j++] = B;\n if (formatAsRGBA) {\n imageDataArray[j++] = 255;\n }\n }\n }\n break;\n default:\n throw new Error("Unsupported color mode");\n }\n }\n };\n var totalBytesAllocated = 0;\n var maxMemoryUsageBytes = 0;\n function requestMemoryAllocation(increaseAmount = 0) {\n var totalMemoryImpactBytes = totalBytesAllocated + increaseAmount;\n if (totalMemoryImpactBytes > maxMemoryUsageBytes) {\n var exceededAmount = Math.ceil((totalMemoryImpactBytes - maxMemoryUsageBytes) / 1024 / 1024);\n throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${exceededAmount}MB`);\n }\n totalBytesAllocated = totalMemoryImpactBytes;\n }\n constructor.resetMaxMemoryUsage = function(maxMemoryUsageBytes_) {\n totalBytesAllocated = 0;\n maxMemoryUsageBytes = maxMemoryUsageBytes_;\n };\n constructor.getBytesAllocated = function() {\n return totalBytesAllocated;\n };\n constructor.requestMemoryAllocation = requestMemoryAllocation;\n return constructor;\n }();\n if (typeof module !== "undefined") {\n module.exports = decode3;\n } else if (typeof window !== "undefined") {\n window["jpeg-js"] = window["jpeg-js"] || {};\n window["jpeg-js"].decode = decode3;\n }\n function decode3(jpegData, userOpts = {}) {\n var defaultOpts = {\n colorTransform: void 0,\n useTArray: false,\n formatAsRGBA: true,\n tolerantDecoding: true,\n maxResolutionInMP: 100,\n maxMemoryUsageInMB: 512\n };\n var opts = { ...defaultOpts, ...userOpts };\n var arr = new Uint8Array(jpegData);\n var decoder = new JpegImage();\n decoder.opts = opts;\n JpegImage.resetMaxMemoryUsage(opts.maxMemoryUsageInMB * 1024 * 1024);\n decoder.parse(arr);\n var channels = opts.formatAsRGBA ? 4 : 3;\n var bytesNeeded = decoder.width * decoder.height * channels;\n try {\n JpegImage.requestMemoryAllocation(bytesNeeded);\n var image = {\n width: decoder.width,\n height: decoder.height,\n exifBuffer: decoder.exifBuffer,\n data: opts.useTArray ? new Uint8Array(bytesNeeded) : Buffer2.alloc(bytesNeeded)\n };\n if (decoder.comments.length > 0) {\n image["comments"] = decoder.comments;\n }\n } catch (err) {\n if (err instanceof RangeError) {\n throw new Error("Could not allocate enough memory for the image. Required: " + bytesNeeded);\n }\n if (err instanceof ReferenceError) {\n if (err.message === "Buffer is not defined") {\n throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");\n }\n }\n throw err;\n }\n decoder.copyToImageData(image, opts.formatAsRGBA);\n return image;\n }\n }\n});\n\n// node_modules/jpeg-js/index.js\nvar require_jpeg_js = __commonJS({\n "node_modules/jpeg-js/index.js"(exports, module) {\n init_define_BUILD_VERSION();\n init_esbuild_inject();\n var encode2 = require_encoder();\n var decode3 = require_decoder();\n module.exports = {\n encode: encode2,\n decode: decode3\n };\n }\n});\n\n// src/processor.worker.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/platform.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// src/requests.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar xmlhttprequest;\nif (false)\n xmlhttprequest = typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : typeof GM != "undefined" ? GM.xmlHttpRequest : window["GM_xmlhttpRequest"];\nvar GM_fetch = (...[url, opt, lisn]) => {\n function blobTo(to, blob) {\n if (to == "arrayBuffer" && blob.arrayBuffer) {\n const ret = blob.arrayBuffer();\n if (ret)\n return ret;\n }\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = function(event) {\n if (!event)\n return;\n if (to == "base64")\n resolve(event.target.result);\n else\n resolve(event.target.result);\n };\n if (to == "arrayBuffer")\n fileReader.readAsArrayBuffer(blob);\n else if (to == "base64")\n fileReader.readAsDataURL(blob);\n else if (to == "text")\n fileReader.readAsText(blob, "utf-8");\n else\n reject(new Error("unknown to"));\n });\n }\n return new Promise((resolve, reject) => {\n const gmopt = {\n url: url.toString(),\n data: opt?.body,\n responseType: "blob",\n headers: opt?.headers,\n method: opt?.method || "GET",\n ...lisn ? {\n onprogress: (prog) => {\n if (prog.loaded != prog.total && prog.total != 0)\n lisn.dispatchEvent(new CustomEvent("progress", { detail: [prog.loaded, prog.total] }));\n }\n } : {},\n onload: (resp) => {\n if (resp.status / 100 >= 4) {\n reject(new Error("Server Error: " + resp.status));\n return;\n }\n const blob = resp.response;\n const ref = resp;\n ref.blob = () => Promise.resolve(blob);\n ref.arrayBuffer = () => blobTo("arrayBuffer", blob);\n ref.text = () => blobTo("text", blob);\n ref.json = async () => JSON.parse(await blobTo("text", blob));\n resolve(resp);\n },\n ontimeout: () => reject(new Error("fetch timeout")),\n onerror: (...args) => {\n reject(new Error("fetch error"));\n },\n onabort: () => reject(new Error("fetch abort"))\n };\n xmlhttprequest(gmopt);\n });\n};\n\n// src/platform.ts\nvar lqueue = {};\nvar localSet = (key2, value) => localStorage.setItem("__pee__" + key2, JSON.stringify(value));\nvar port1;\nconsole.log("worker", false);\nvar msgBuff = [];\nvar setupPort = (port) => {\n port1 = port;\n port1.onmessage = (ev) => {\n lqueue[ev.data.id](ev.data);\n };\n if (true) {\n for (const msg of msgBuff) {\n port.postMessage(msg[0], { transfer: msg[1] });\n }\n msgBuff = [];\n }\n};\nif (true) {\n port1 = {\n onmessage(ev) {\n lqueue[ev.data.id](ev.data);\n },\n postMessage(msg, tr) {\n msgBuff.push([msg, tr]);\n }\n };\n}\nvar gid = 0;\nvar sendCmd = (cmd, tr, overwrite = false, todelete = false) => {\n const prom = new Promise((_) => {\n const id = gid++;\n if (overwrite)\n cmd.id = id;\n lqueue[id] = (e) => {\n _(e.res);\n if (todelete)\n delete lqueue[id];\n };\n port1.postMessage({ id, ...cmd }, tr || []);\n });\n return prom;\n};\nvar bridge = (name, f) => {\n if (false)\n return f;\n if (false)\n return f;\n return (...args) => {\n return sendCmd({ name, args });\n };\n};\nvar Bridged = (ctor) => {\n const keys = Object.getOwnPropertyNames(ctor).filter((k) => typeof ctor[k] == "function");\n for (const k of keys)\n ctor[k] = bridge(k, ctor[k]);\n};\nif (false) {\n popupport = chrome.runtime.connect({ name: "popup" });\n popupport.onMessage.addListener((msg) => {\n if (msg.id in pendingcmds) {\n pendingcmds[msg.id](msg);\n delete pendingcmds[msg.id];\n }\n });\n}\nvar Platform = class {\n static async openInTab(src, opts) {\n if (false) {\n return GM.openInTab(src, opts);\n }\n const obj = false ? chrome : browser;\n let i;\n if (opts.insert)\n i = (await obj.tabs.getCurrent()).index + 1;\n return obj.tabs.create({ active: opts.active, url: src, index: i });\n }\n static async getValue(key2, def) {\n const isinls = "__pee__" + key2 in localStorage;\n let ret;\n if (isinls) {\n let it = localStorage.getItem("__pee__" + key2);\n if (it === "undefined")\n it = null;\n ret = { ...def, ...JSON.parse(it || "{}") };\n } else\n ret = def;\n if (true) {\n if (isinls) {\n delete localStorage["__pee__" + key2];\n await chrome.storage.local.set({\n [key2]: JSON.stringify(ret)\n });\n } else {\n const d = await chrome.storage.local.get([key2]);\n if (typeof d[key2] == "string")\n return { ...def, ...await JSON.parse("" + d[key2] || "{}") };\n }\n }\n return ret;\n }\n static setValue(name, val) {\n localSet(name, val);\n }\n};\nPlatform.cmdid = 0;\nPlatform = __decorateClass([\n Bridged\n], Platform);\nvar corsFetch = async (input, init3, lsn) => {\n const id = gid++;\n let transfer = [];\n if (init3?.body) {\n if (false) {\n [init3.body, transfer] = await braveserialize(init3.body);\n }\n }\n const prom = new Promise((_, rej) => {\n let gcontroller;\n let buffer = [];\n let finished = false;\n const rs = new ReadableStream({\n start(controller) {\n gcontroller = controller;\n buffer.forEach((b) => gcontroller?.enqueue(b));\n buffer = [];\n if (finished) {\n gcontroller.close();\n }\n }\n });\n let s;\n s = 0;\n const cmdbuff = [];\n lqueue[id] = async (e) => {\n if (e.progress) {\n if (lsn)\n lsn.dispatchEvent(new CustomEvent("progress", { detail: e.progress }));\n }\n if (e.pushData) {\n if (e.s > s) {\n let idx = 0;\n while (idx < cmdbuff.length) {\n if (cmdbuff[idx].s > e.s)\n break;\n idx++;\n }\n cmdbuff.splice(idx, 0, e);\n return;\n }\n const processCmd = (e2) => {\n if (e2.pushData.data) {\n const data = new Uint8Array(e2.pushData.data);\n if (gcontroller)\n gcontroller.enqueue(data);\n else\n buffer.push(data);\n } else {\n if (gcontroller)\n gcontroller?.close();\n else\n finished = true;\n }\n };\n await processCmd(e);\n s++;\n while (cmdbuff[0]?.s == s) {\n await processCmd(cmdbuff.shift());\n s++;\n }\n }\n if (e.setRes) {\n const arrayBuffer = async () => {\n const r = rs.getReader();\n await sendCmd({ name: "fullyRead", fid: id });\n const abs = [];\n let res;\n do {\n res = await r.read();\n if (res.done)\n break;\n abs.push(res.value);\n } while (!res.done);\n const sum = abs.reduce((a, b) => a + b.byteLength, 0);\n const ret = new Uint8Array(sum);\n abs.reduce((ptr, arr) => {\n ret.set(arr, ptr);\n return ptr + arr.byteLength;\n }, 0);\n r.releaseLock();\n return ret;\n };\n const blob = async () => new Blob([await arrayBuffer()]);\n const text = async () => new TextDecoder().decode(await arrayBuffer());\n const json = async () => JSON.parse(await text());\n if (e.ok)\n _({\n body: rs,\n ok: e.ok,\n headers: e.headers,\n redirected: e.redirected,\n type: e.type,\n url: e.url,\n status: e.status,\n bodyUsed: e.bodyUsed,\n statusText: e.statusText,\n clone() {\n return this;\n },\n arrayBuffer,\n blob,\n text,\n json,\n async formData() {\n return new FormData();\n }\n });\n else {\n rej(new Error(`${e.url} - ${e.status}`));\n }\n }\n };\n port1.postMessage({\n id,\n name: "corsFetch",\n args: [input, init3]\n }, transfer);\n });\n return prom;\n};\nasync function getHeaders(s) {\n if (false)\n return headerStringToObject(await GM_head(s));\n const res = await ifetch(s, {\n method: "HEAD"\n });\n return res.headers;\n}\nasync function ifetch(...[url, opt, lisn]) {\n if (true)\n return corsFetch(url.toString(), opt, lisn);\n return GM_fetch(url, opt, lisn);\n}\nasync function* streamRemote(url, chunkSize = 72 * 1024, fetchRestOnNonCanceled = true) {\n let size = Number.POSITIVE_INFINITY;\n let ptr = 0;\n let fetchSize = chunkSize;\n while (ptr != size) {\n let obj;\n const fres = await ifetch(url, { headers: { range: `bytes=${ptr}-${ptr + fetchSize - 1}` } });\n if (false) {\n obj = headerStringToObject(fres.responseHeaders);\n } else {\n obj = fres.headers;\n }\n if (!("content-length" in obj)) {\n console.warn("no content lenght???", url);\n break;\n }\n if ("content-range" in obj) {\n size = +obj["content-range"].split("/")[1];\n }\n const len = +obj["content-length"];\n ptr += len;\n if (fetchRestOnNonCanceled)\n fetchSize = size;\n const val = Buffer2.from(await fres.arrayBuffer());\n const e = yield val;\n if (e) {\n break;\n }\n }\n}\n\n// src/stores.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/store/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/svelte/internal/index.mjs\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction noop() {\n}\nfunction run(fn) {\n return fn();\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === "function";\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function");\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nvar resolved_promise = Promise.resolve();\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nvar SvelteElement;\nif (typeof HTMLElement === "function") {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: "open" });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n for (const key2 in this.$$.slotted) {\n this.appendChild(this.$$.slotted[key2]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n\n// node_modules/svelte/store/index.mjs\nvar subscriber_queue = [];\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe2(run2, invalidate = noop) {\n const subscriber = [run2, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set) || noop;\n }\n run2(value);\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe: subscribe2 };\n}\n\n// src/stores.ts\nvar localLoad = async (key2, def) => {\n const ret = await Platform.getValue(key2, def);\n return ret;\n};\nvar localSet2 = (key2, value) => {\n if (true) {\n return;\n }\n if (true)\n chrome.storage.local.set({ [key2]: JSON.stringify(value) });\n else\n localStorage.setItem("__pee__" + key2, JSON.stringify(value));\n};\nvar initial_settings = {\n loop: true,\n dh: false,\n pmeth: 5,\n xpv: false,\n xpi: false,\n hyd: false,\n notcata: false,\n ak: "",\n auto_embed: 0,\n auto_tags: "",\n te: false,\n eye: false,\n ca: false,\n pre: false,\n prev: false,\n sh: false,\n ep: false,\n tm: false,\n dvc: false,\n expte: false,\n mdist: -1,\n phash: false,\n hotlink: false,\n jpeg: false,\n vercheck: false,\n cache: void 0,\n fhost: 0,\n maxe: 5,\n conc: 8,\n ho: false,\n blacklist: [],\n rsources: []\n};\nvar settings = writable();\nvar appState = writable({\n isCatalog: false,\n is4chanX: false,\n akValid: false,\n herror: "",\n client: null,\n processing: 0,\n processed: 0,\n foundPosts: []\n});\nsettings.subscribe((newVal) => {\n if (newVal)\n localSet2("settingsv2", newVal);\n});\n\n// src/pngv3.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer3 = __toESM(require_buffer(), 1);\n\n// src/png.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_crc_32 = __toESM(require_crc32(), 1);\nvar import_buffer = __toESM(require_buffer(), 1);\nvar PNGDecoder = class {\n constructor(reader, strict = true) {\n this.reader = reader;\n this.strict = strict;\n this.req = 8;\n this.ptr = 8;\n this.stopped = false;\n this.repr = import_buffer.Buffer.from([]);\n }\n async catchup() {\n while (this.repr.byteLength < this.req) {\n const chunk = await this.reader.read();\n if (chunk.done) {\n if (this.strict)\n throw new Error(`Unexpected EOF, got ${this.repr.byteLength}, required ${this.req}, ${chunk.value}`);\n this.stopped = true;\n return;\n }\n this.repr = import_buffer.Buffer.concat([this.repr, chunk.value]);\n }\n }\n async *chunks() {\n while (true) {\n this.req += 8;\n await this.catchup();\n if (this.stopped)\n break;\n const length = this.repr.readUInt32BE(this.ptr);\n const name = this.repr.slice(this.ptr + 4, this.ptr + 8).toString();\n this.ptr += 4;\n this.req += length + 4;\n await this.catchup();\n yield [\n name,\n this.repr.slice(this.ptr, this.ptr + length + 4),\n this.ptr + length > this.repr.length ? -1 : this.repr.readUInt32BE(this.ptr + length + 4),\n this.ptr\n ];\n if (this.stopped)\n break;\n this.ptr += length + 8;\n if (name == "IEND")\n break;\n }\n }\n async dtor() {\n }\n};\nvar PNGEncoder = class {\n constructor(bytes) {\n this.writer = bytes.getWriter();\n this.writer.write(import_buffer.Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]));\n }\n async insertchunk(chunk) {\n let b = import_buffer.Buffer.alloc(4);\n const buff = chunk[1];\n b.writeInt32BE(buff.length - 4, 0);\n await this.writer.write(b);\n await this.writer.write(buff);\n b = import_buffer.Buffer.alloc(4);\n b.writeInt32BE((0, import_crc_32.buf)(buff), 0);\n await this.writer.write(b);\n }\n async dtor() {\n this.writer.releaseLock();\n }\n};\n\n// src/utils.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer2 = __toESM(require_buffer(), 1);\n\n// src/assets/hasembed.png\nvar hasembed_default = __toBinary("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");\n\n// src/filehosts.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction parseForm(data) {\n const form = new FormData();\n Object.entries(data).filter(([key2, value]) => value !== null).map(([key2, value]) => form.append(key2, value));\n return form;\n}\nvar lolisafe = (domain, serving = domain) => ({\n domain,\n serving,\n async uploadFile(f) {\n const resp = await ifetch(`https://${domain}/api/upload`, {\n headers: {\n accept: "application/json"\n },\n "body": parseForm({\n reqtype: "fileupload",\n "files[]": new File([f], "f.pee")\n }),\n "method": "POST"\n });\n const res = await resp.json();\n return res.files.map((e) => e.url)[0];\n }\n});\nvar catbox = (domain, serving) => ({\n domain,\n serving,\n async uploadFile(inj) {\n const resp = await ifetch(`https://${domain}/user/api.php`, {\n method: "POST",\n body: parseForm({\n reqtype: "fileupload",\n fileToUpload: inj\n })\n });\n return resp.text();\n }\n});\nvar filehosts = [\n catbox("catbox.moe", "files.catbox.moe"),\n catbox("pomf.moe", "a.pomf.cat"),\n lolisafe("take-me-to.space"),\n lolisafe("zz.ht", "z.zz.fo")\n];\n\n// node_modules/file-type/browser.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer4 = __toESM(require_buffer(), 1);\nvar import_readable_web_to_node_stream = __toESM(require_lib(), 1);\n\n// node_modules/file-type/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_node_buffer3 = __toESM(require_buffer(), 1);\n\n// node_modules/token-types/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar ieee754 = __toESM(require_ieee754(), 1);\nvar import_node_buffer = __toESM(require_buffer(), 1);\nvar AnsiStringType = class {\n constructor(len) {\n this.len = len;\n }\n static decode(buffer, offset, until) {\n let str = "";\n for (let i = offset; i < until; ++i) {\n str += AnsiStringType.codePointToString(AnsiStringType.singleByteDecoder(buffer[i]));\n }\n return str;\n }\n static inRange(a, min, max) {\n return min <= a && a <= max;\n }\n static codePointToString(cp) {\n if (cp <= 65535) {\n return String.fromCharCode(cp);\n } else {\n cp -= 65536;\n return String.fromCharCode((cp >> 10) + 55296, (cp & 1023) + 56320);\n }\n }\n static singleByteDecoder(bite) {\n if (AnsiStringType.inRange(bite, 0, 127)) {\n return bite;\n }\n const codePoint = AnsiStringType.windows1252[bite - 128];\n if (codePoint === null) {\n throw Error("invaliding encoding");\n }\n return codePoint;\n }\n get(buffer, offset = 0) {\n return AnsiStringType.decode(buffer, offset, offset + this.len);\n }\n};\nAnsiStringType.windows1252 = [\n 8364,\n 129,\n 8218,\n 402,\n 8222,\n 8230,\n 8224,\n 8225,\n 710,\n 8240,\n 352,\n 8249,\n 338,\n 141,\n 381,\n 143,\n 144,\n 8216,\n 8217,\n 8220,\n 8221,\n 8226,\n 8211,\n 8212,\n 732,\n 8482,\n 353,\n 8250,\n 339,\n 157,\n 382,\n 376,\n 160,\n 161,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 171,\n 172,\n 173,\n 174,\n 175,\n 176,\n 177,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 193,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 203,\n 204,\n 205,\n 206,\n 207,\n 208,\n 209,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 219,\n 220,\n 221,\n 222,\n 223,\n 224,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 235,\n 236,\n 237,\n 238,\n 239,\n 240,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250,\n 251,\n 252,\n 253,\n 254,\n 255\n];\n\n// node_modules/strtok3/lib/core.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/ReadStreamTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/index.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/EndOfFileStream.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/Deferred.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/peek-readable/lib/StreamReader.js\nvar maxStreamReadSize = 1 * 1024 * 1024;\n\n// node_modules/strtok3/lib/AbstractTokenizer.js\nvar import_node_buffer2 = __toESM(require_buffer(), 1);\n\n// node_modules/strtok3/lib/BufferTokenizer.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/util.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\n\n// node_modules/file-type/supported.js\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar extensions = [\n "jpg",\n "png",\n "apng",\n "gif",\n "webp",\n "flif",\n "xcf",\n "cr2",\n "cr3",\n "orf",\n "arw",\n "dng",\n "nef",\n "rw2",\n "raf",\n "tif",\n "bmp",\n "icns",\n "jxr",\n "psd",\n "indd",\n "zip",\n "tar",\n "rar",\n "gz",\n "bz2",\n "7z",\n "dmg",\n "mp4",\n "mid",\n "mkv",\n "webm",\n "mov",\n "avi",\n "mpg",\n "mp2",\n "mp3",\n "m4a",\n "oga",\n "ogg",\n "ogv",\n "opus",\n "flac",\n "wav",\n "spx",\n "amr",\n "pdf",\n "epub",\n "elf",\n "exe",\n "swf",\n "rtf",\n "wasm",\n "woff",\n "woff2",\n "eot",\n "ttf",\n "otf",\n "ico",\n "flv",\n "ps",\n "xz",\n "sqlite",\n "nes",\n "crx",\n "xpi",\n "cab",\n "deb",\n "ar",\n "rpm",\n "Z",\n "lz",\n "cfb",\n "mxf",\n "mts",\n "blend",\n "bpg",\n "docx",\n "pptx",\n "xlsx",\n "3gp",\n "3g2",\n "jp2",\n "jpm",\n "jpx",\n "mj2",\n "aif",\n "qcp",\n "odt",\n "ods",\n "odp",\n "xml",\n "mobi",\n "heic",\n "cur",\n "ktx",\n "ape",\n "wv",\n "dcm",\n "ics",\n "glb",\n "pcap",\n "dsf",\n "lnk",\n "alias",\n "voc",\n "ac3",\n "m4v",\n "m4p",\n "m4b",\n "f4v",\n "f4p",\n "f4b",\n "f4a",\n "mie",\n "asf",\n "ogm",\n "ogx",\n "mpc",\n "arrow",\n "shp",\n "aac",\n "mp1",\n "it",\n "s3m",\n "xm",\n "ai",\n "skp",\n "avif",\n "eps",\n "lzh",\n "pgp",\n "asar",\n "stl",\n "chm",\n "3mf",\n "zst",\n "jxl",\n "vcf"\n];\nvar mimeTypes = [\n "image/jpeg",\n "image/png",\n "image/gif",\n "image/webp",\n "image/flif",\n "image/x-xcf",\n "image/x-canon-cr2",\n "image/x-canon-cr3",\n "image/tiff",\n "image/bmp",\n "image/vnd.ms-photo",\n "image/vnd.adobe.photoshop",\n "application/x-indesign",\n "application/epub+zip",\n "application/x-xpinstall",\n "application/vnd.oasis.opendocument.text",\n "application/vnd.oasis.opendocument.spreadsheet",\n "application/vnd.oasis.opendocument.presentation",\n "application/vnd.openxmlformats-officedocument.wordprocessingml.document",\n "application/vnd.openxmlformats-officedocument.presentationml.presentation",\n "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",\n "application/zip",\n "application/x-tar",\n "application/x-rar-compressed",\n "application/gzip",\n "application/x-bzip2",\n "application/x-7z-compressed",\n "application/x-apple-diskimage",\n "application/x-apache-arrow",\n "video/mp4",\n "audio/midi",\n "video/x-matroska",\n "video/webm",\n "video/quicktime",\n "video/vnd.avi",\n "audio/vnd.wave",\n "audio/qcelp",\n "audio/x-ms-asf",\n "video/x-ms-asf",\n "application/vnd.ms-asf",\n "video/mpeg",\n "video/3gpp",\n "audio/mpeg",\n "audio/mp4",\n "audio/opus",\n "video/ogg",\n "audio/ogg",\n "application/ogg",\n "audio/x-flac",\n "audio/ape",\n "audio/wavpack",\n "audio/amr",\n "application/pdf",\n "application/x-elf",\n "application/x-msdownload",\n "application/x-shockwave-flash",\n "application/rtf",\n "application/wasm",\n "font/woff",\n "font/woff2",\n "application/vnd.ms-fontobject",\n "font/ttf",\n "font/otf",\n "image/x-icon",\n "video/x-flv",\n "application/postscript",\n "application/eps",\n "application/x-xz",\n "application/x-sqlite3",\n "application/x-nintendo-nes-rom",\n "application/x-google-chrome-extension",\n "application/vnd.ms-cab-compressed",\n "application/x-deb",\n "application/x-unix-archive",\n "application/x-rpm",\n "application/x-compress",\n "application/x-lzip",\n "application/x-cfb",\n "application/x-mie",\n "application/mxf",\n "video/mp2t",\n "application/x-blender",\n "image/bpg",\n "image/jp2",\n "image/jpx",\n "image/jpm",\n "image/mj2",\n "audio/aiff",\n "application/xml",\n "application/x-mobipocket-ebook",\n "image/heif",\n "image/heif-sequence",\n "image/heic",\n "image/heic-sequence",\n "image/icns",\n "image/ktx",\n "application/dicom",\n "audio/x-musepack",\n "text/calendar",\n "text/vcard",\n "model/gltf-binary",\n "application/vnd.tcpdump.pcap",\n "audio/x-dsf",\n "application/x.ms.shortcut",\n "application/x.apple.alias",\n "audio/x-voc",\n "audio/vnd.dolby.dd-raw",\n "audio/x-m4a",\n "image/apng",\n "image/x-olympus-orf",\n "image/x-sony-arw",\n "image/x-adobe-dng",\n "image/x-nikon-nef",\n "image/x-panasonic-rw2",\n "image/x-fujifilm-raf",\n "video/x-m4v",\n "video/3gpp2",\n "application/x-esri-shape",\n "audio/aac",\n "audio/x-it",\n "audio/x-s3m",\n "audio/x-xm",\n "video/MP1S",\n "video/MP2P",\n "application/vnd.sketchup.skp",\n "image/avif",\n "application/x-lzh-compressed",\n "application/pgp-encrypted",\n "application/x-asar",\n "model/stl",\n "application/vnd.ms-htmlhelp",\n "model/3mf",\n "image/jxl",\n "application/zstd"\n];\n\n// node_modules/file-type/core.js\nvar supportedExtensions = new Set(extensions);\nvar supportedMimeTypes = new Set(mimeTypes);\n\n// src/utils.ts\nvar csettings;\nsettings.subscribe((b) => {\n csettings = b;\n});\nvar threadDataCache = writable();\nvar cthreadDataCache;\nthreadDataCache.subscribe((newval) => {\n cthreadDataCache = newval;\n});\nvar decodeCoom3Payload = async (buff) => {\n if (!csettings)\n throw new Error("Settings uninit");\n const allowed_domains = filehosts.map((e) => e.serving.replaceAll(".", "\\\\."));\n const pees = buff.toString().split(" ").slice(0, csettings.maxe).filter((e) => allowed_domains.some((v) => e.match(`https://(.*\\\\.)?${v}/`)));\n return (await Promise.all(pees.map(async (pee) => {\n try {\n const m = pee.match(/(?https?):\\/\\/(?.*?)(?\\/.*)/);\n if (!m)\n return;\n const { domain, file } = m.groups;\n const headers = await getHeaders(pee);\n const res = await ifetch(pee, {\n headers: { range: "bytes=0-32767", "user-agent": "" },\n mode: "cors",\n referrerPolicy: "no-referrer"\n });\n const size = +headers["content-length"] || 0;\n const header = import_buffer2.Buffer.from(await res.arrayBuffer());\n let hptr = 0;\n if (header.slice(0, 4).toString() == "PEE\\0")\n hptr += 4;\n else\n return;\n const flags = header[hptr];\n const hasFn = !!(flags & 1);\n const hasTags = !!(flags & 2);\n const hasThumbnail = !!(flags & 4);\n let [ptr, ptr2] = [hptr + 1, hptr + 1];\n let fn = "embedded";\n let tags = [];\n let thumb = import_buffer2.Buffer.from(hasembed_default);\n if (hasFn) {\n while (header[ptr2] != 0)\n ptr2++;\n fn = header.slice(ptr, ptr2).toString();\n ptr = ++ptr2;\n }\n if (hasTags) {\n while (header[ptr2] != 0)\n ptr2++;\n tags = header.slice(ptr, ptr2).toString().split(/\\s+/);\n }\n let thumbsize = 0;\n if (hasThumbnail) {\n thumbsize = header.readInt32LE(ptr);\n ptr += 4;\n if (header.byteLength >= ptr + thumbsize)\n thumb = header.slice(ptr, ptr + thumbsize);\n else\n thumb = import_buffer2.Buffer.from(await (await ifetch(pee, { headers: { "user-agent": "", range: `bytes=${ptr}-${ptr + thumbsize}` } })).arrayBuffer());\n ptr += thumbsize;\n }\n const unzip = { url: pee, headers: { "user-agent": "", range: `bytes=${ptr}-${size - 1}` } };\n let data;\n data = unzip;\n if (size < 3072) {\n thumb = data = import_buffer2.Buffer.from(await (await ifetch(unzip.url, { headers: unzip.headers })).arrayBuffer());\n }\n return {\n filename: fn,\n data,\n thumbnail: thumb\n };\n } catch (e) {\n console.warn(e);\n }\n }))).filter((e) => e).map((e) => e);\n};\n\n// src/pngv3.ts\nvar bs58 = __toESM(require_bs58(), 1);\n\n// src/bitstream.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar revbyte = (n, len = 8) => {\n let acc = 0;\n let n2 = n;\n let len2 = len;\n while (len2) {\n acc = acc * 2 + (n2 & 1);\n n2 >>= 1;\n len2--;\n }\n return acc;\n};\nvar BitstreamReader = class {\n constructor() {\n this.buffers = [];\n this.bufferedLength = 0;\n this._offsetIntoBuffer = 0;\n this._bufferIndex = 0;\n this._offset = 0;\n this.skippedLength = 0;\n }\n get bufferIndex() {\n return this._bufferIndex;\n }\n get offset() {\n return this._offset;\n }\n get available() {\n return this.bufferedLength - this.skippedLength;\n }\n getBit(offset) {\n const byte = this.buffers[0][offset >> 3];\n return +!!(byte & 1 << (offset & 7));\n }\n readSync(length) {\n let value = 0;\n if (this._offset >> 3 > this.buffers[0].byteLength) {\n throw "Out of data";\n }\n for (let i = length - 1; i >= 0; --i) {\n value = value * 2 + this.getBit(this._offset + i);\n }\n this._offset += length;\n this.bufferedLength -= length;\n return value;\n }\n addBuffer(buffer) {\n this.buffers.push(buffer);\n this.bufferedLength += buffer.length * 8;\n }\n};\nvar BitstreamWriter = class {\n constructor(stream, bufferSize = 1) {\n this.stream = stream;\n this.pendingBits = 0;\n this.bufferoffset = 0;\n this._offset = 0;\n bufferSize = 1;\n this.buffer = new Uint8Array(bufferSize);\n }\n get offset() {\n return this._offset;\n }\n get byteOffset() {\n return this.pendingBits;\n }\n end() {\n this.flush();\n }\n flush() {\n this.stream.write(new Uint8Array(this.buffer));\n this.bufferoffset = 0;\n this.buffer.fill(0);\n }\n setBit(b) {\n let byte = this.buffer[0];\n byte |= b << (this._offset & 7);\n this.buffer[0] = byte;\n this._offset += 1;\n if (++this.bufferoffset == this.buffer.length * 8) {\n this.flush();\n }\n }\n write(length, value) {\n while (length--) {\n this.setBit(value & 1);\n value >>= 1;\n }\n }\n};\n\n// src/dh-deflate.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar TINF_OK = 0;\nvar Tree = class {\n constructor() {\n this.table = new Uint16Array(16);\n this.trans = new Uint16Array(288);\n }\n};\nvar getPathTo = (tree, value) => {\n if (tree[0] === value)\n return "0";\n if (tree[1] === value)\n return "1";\n let p;\n if (typeof tree[0] != "number")\n p = getPathTo(tree[0], value);\n let b = "0";\n if (!p) {\n if (tree[1] && typeof tree[1] != "number")\n p = getPathTo(tree[1], value);\n b = "1";\n }\n if (p)\n return b + p;\n};\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({ children: [], index: 0 });\n let p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n if (code.length === 0)\n throw new Error("Could not recreate Huffman Table");\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\nvar Data = class {\n constructor(source, dests, to_hide, hidden) {\n this.source = source;\n this.dests = dests;\n this.to_hide = to_hide;\n this.hidden = hidden;\n this.pathMap = /* @__PURE__ */ new Map();\n this.dest = [];\n this.ltree = new Tree();\n this.dtree = new Tree();\n }\n computeReverse() {\n this.rltree = buildHuffmanTable(this.ltree.table, this.ltree.trans)[0];\n this.rdtree = buildHuffmanTable(this.dtree.table, this.dtree.trans)[0];\n this.adists = new Set(this.rdtree.flat(16));\n }\n};\nvar sltree = new Tree();\nvar sdtree = new Tree();\nvar rltree;\nvar rdtree;\nvar sadist;\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\nvar clcidx = new Uint8Array([\n 16,\n 17,\n 18,\n 0,\n 8,\n 7,\n 9,\n 6,\n 10,\n 5,\n 11,\n 4,\n 12,\n 3,\n 13,\n 2,\n 14,\n 1,\n 15\n]);\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\nfunction tinf_build_bits_base(bits, base, delta, first) {\n let i, sum;\n for (i = 0; i < delta; ++i)\n bits[i] = 0;\n for (i = 0; i < 30 - delta; ++i)\n bits[i + delta] = i / delta | 0;\n for (sum = first, i = 0; i < 30; ++i) {\n base[i] = sum;\n sum += 1 << bits[i];\n }\n}\nfunction tinf_build_fixed_trees(lt, dt) {\n let i;\n for (i = 0; i < 7; ++i)\n lt.table[i] = 0;\n lt.table[7] = 24;\n lt.table[8] = 152;\n lt.table[9] = 112;\n for (i = 0; i < 24; ++i)\n lt.trans[i] = 256 + i;\n for (i = 0; i < 144; ++i)\n lt.trans[24 + i] = i;\n for (i = 0; i < 8; ++i)\n lt.trans[24 + 144 + i] = 280 + i;\n for (i = 0; i < 112; ++i)\n lt.trans[24 + 144 + 8 + i] = 144 + i;\n for (i = 0; i < 5; ++i)\n dt.table[i] = 0;\n dt.table[5] = 32;\n for (i = 0; i < 32; ++i)\n dt.trans[i] = i;\n}\nvar offs = new Uint16Array(16);\nfunction tinf_build_tree(t, lengths2, off, num) {\n let i, sum;\n for (i = 0; i < 16; ++i)\n t.table[i] = 0;\n for (i = 0; i < num; ++i)\n t.table[lengths2[off + i]]++;\n t.table[0] = 0;\n for (sum = 0, i = 0; i < 16; ++i) {\n offs[i] = sum;\n sum += t.table[i];\n }\n for (i = 0; i < num; ++i) {\n if (lengths2[off + i])\n t.trans[offs[lengths2[off + i]]++] = i;\n }\n}\nfunction tinf_getbit(d) {\n const v = d.source.readSync(1);\n return v;\n}\nvar loff = 0;\nvar loffs = [];\nfunction tinf_read_bits(d, num, base) {\n if (!num)\n return base;\n const v = d.source.readSync(num) + base;\n loff = v;\n loffs.push(v);\n if (loffs.length > 4) {\n loffs.shift();\n }\n return v;\n}\nfunction tinf_decode_symbol(d, t, copy = true, ext = {}) {\n let sum = 0, cur = 0, len = 0;\n let s = 0;\n do {\n const b = d.source.readSync(1);\n copy && d.hidden?.write(1, b);\n s = s << 1 | b;\n cur = 2 * cur + b;\n ++len;\n sum += t.table[len];\n cur -= t.table[len];\n } while (cur >= 0);\n ext.length = len;\n ext.sym = s;\n return t.trans[sum + cur];\n}\nfunction tinf_decode_trees(d, lt, dt, copy = true) {\n let i, num, length;\n const hlit = tinf_read_bits(d, 5, 257);\n copy && d.hidden?.write(5, hlit - 257);\n const hdist = tinf_read_bits(d, 5, 1);\n copy && d.hidden?.write(5, hdist - 1);\n const hclen = tinf_read_bits(d, 4, 4);\n copy && d.hidden?.write(4, hclen - 4);\n for (i = 0; i < 19; ++i)\n lengths[i] = 0;\n for (i = 0; i < hclen; ++i) {\n const clen = tinf_read_bits(d, 3, 0);\n copy && d.hidden?.write(3, clen);\n lengths[clcidx[i]] = clen;\n }\n tinf_build_tree(code_tree, lengths, 0, 19);\n for (num = 0; num < hlit + hdist; ) {\n const sym = tinf_decode_symbol(d, code_tree, copy);\n let prev;\n switch (sym) {\n case 16:\n prev = lengths[num - 1];\n length = tinf_read_bits(d, 2, 3);\n copy && d.hidden?.write(2, length - 3);\n for (; length; --length) {\n lengths[num++] = prev;\n }\n break;\n case 17:\n length = tinf_read_bits(d, 3, 3);\n copy && d.hidden?.write(3, length - 3);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n case 18:\n length = tinf_read_bits(d, 7, 11);\n copy && d.hidden?.write(7, length - 11);\n for (; length; --length) {\n lengths[num++] = 0;\n }\n break;\n default:\n lengths[num++] = sym;\n break;\n }\n }\n tinf_build_tree(lt, lengths, 0, hlit);\n tinf_build_tree(dt, lengths, hlit, hdist);\n}\nvar get_symbol = (value, bits_table, base_table) => {\n let i = 0;\n for (i = 0; i < base_table.length; ++i) {\n if (base_table[i] > value) {\n i--;\n return [i, bits_table[i], value - base_table[i]];\n }\n }\n i--;\n return [i, bits_table[i], value - base_table[i]];\n};\nvar encode_symbol = (sym, tree, pathMap) => {\n const code = getPathTo(tree, sym);\n const v = {\n length: code?.length,\n val: parseInt(code, 2)\n };\n return v;\n};\nvar capacity = 0;\nfunction tinf_inflate_block_data(d, lt, dt) {\n while (1) {\n let sym = tinf_decode_symbol(d, lt);\n if (sym === 256) {\n return TINF_OK;\n }\n if (sym < 256) {\n d.dest.push(sym);\n } else {\n sym -= 257;\n const length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n if (length_bits[sym])\n d.hidden?.write(length_bits[sym], length - length_base[sym]);\n const ext = { length: 0, sym: 0 };\n const dist = tinf_decode_symbol(d, dt, false, ext);\n let backoffset = tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n const offs2 = d.dest.length - backoffset;\n let match;\n const skip = !d.to_hide || d.to_hide && d.to_hide instanceof BitstreamReader && d.to_hide.available == 0;\n if (!skip && (match = Buffer2.from(d.dest.slice(offs2, offs2 + length))).length == length) {\n let begin = d.dest.length - 32768;\n if (begin < 0)\n begin = 0;\n let matches = [];\n let o = 0;\n const slic = Buffer2.from(d.dest.slice(begin + o, d.dest.length));\n while (begin + o < d.dest.length) {\n const r = slic.slice(o, d.dest.length).indexOf(match);\n if (r >= 0) {\n matches.push(r + begin + o);\n o += r;\n } else {\n break;\n }\n o++;\n }\n if (matches.length > 1) {\n matches = matches.map((e) => -(e - d.dest.length)).filter((e) => {\n const [dsym2] = get_symbol(e, dist_bits, dist_base);\n return d.adists.has(dsym2);\n });\n matches.reverse();\n const v = Math.floor(Math.log2(matches.length));\n capacity += v;\n if (d.to_hide instanceof BitstreamReader) {\n if (d.to_hide.available) {\n const s = d.to_hide.readSync(Math.min(d.to_hide.available, v));\n backoffset = matches[s];\n }\n } else {\n const idx = matches.indexOf(backoffset);\n d.to_hide.write(v, idx);\n }\n }\n }\n const [dsym, dlen, doff] = get_symbol(backoffset, dist_bits, dist_base);\n const encdist = encode_symbol(dsym, d.rdtree, d.pathMap);\n d.hidden?.write(encdist.length, revbyte(encdist.val, encdist.length));\n d.hidden?.write(dlen, doff);\n for (let i = offs2; i < offs2 + length; ++i) {\n d.dest.push(d.dest[i]);\n }\n }\n }\n}\nfunction tinf_inflate_uncompressed_block(d) {\n if (d.source.offset & 7)\n d.source.readSync(8 - d.source.offset & 7);\n if (d.hidden && d.hidden.offset & 7)\n d.hidden?.write(8 - d.hidden.offset & 7, 0);\n const length = d.source.readSync(16);\n d.hidden?.write(16, length);\n const invlength = d.source.readSync(16);\n d.hidden?.write(16, invlength);\n if (length !== (~invlength & 65535)) {\n return -4;\n }\n for (let i = length; i; --i) {\n const v = d.source.readSync(8);\n d.dest.push(v);\n d.hidden?.write(8, v);\n }\n return TINF_OK;\n}\nfunction tinf_uncompress(source, decompressed, to_hide, hidden, opt = 0) {\n const decomp = decompressed ? new BitstreamWriter({ write: decompressed }) : null;\n const hid = hidden && new BitstreamWriter({ write: hidden }, 4);\n const d = new Data(source, decomp, to_hide, hid);\n let res;\n let bfinal, btype;\n do {\n bfinal = tinf_getbit(d);\n d.hidden?.write(1, bfinal);\n btype = tinf_read_bits(d, 2, 0);\n d.hidden?.write(2, btype);\n switch (btype) {\n case 0:\n res = tinf_inflate_uncompressed_block(d);\n break;\n case 1:\n d.rdtree = rdtree;\n d.rltree = rltree;\n d.adists = sadist;\n res = tinf_inflate_block_data(d, sltree, sdtree);\n break;\n case 2:\n tinf_decode_trees(d, d.ltree, d.dtree);\n d.computeReverse();\n res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n break;\n default:\n res = -2;\n }\n if (res !== TINF_OK)\n throw new Error("Data error " + res);\n } while (!bfinal);\n decomp?.end();\n hid?.end();\n}\ntinf_build_fixed_trees(sltree, sdtree);\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\nrltree = buildHuffmanTable(sltree.table, sltree.trans)[0];\nrdtree = buildHuffmanTable(sdtree.table, sdtree.trans)[0];\nsadist = new Set(rdtree.flat(16));\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\n// src/pngv3.ts\nvar csettings2;\nsettings.subscribe((b) => {\n csettings2 = b;\n});\nvar CUM3 = import_buffer3.Buffer.from("doo\\0m");\nvar CUM4 = import_buffer3.Buffer.from("voo\\0m");\nvar CUM5 = import_buffer3.Buffer.from("boo\\0");\nvar CUM6 = import_buffer3.Buffer.from("Creation Time\\0");\nvar CUM7 = import_buffer3.Buffer.from("Software\\0");\nvar BufferReadStream = (b) => {\n const ret = new ReadableStream({\n pull(cont) {\n cont.enqueue(b);\n cont.close();\n }\n });\n return ret;\n};\nvar password = import_buffer3.Buffer.from("NOA");\nvar xor = (a, p) => {\n let n = 0;\n for (let i = 0; i < a.byteLength; ++i) {\n a[i] ^= p[n];\n n++;\n n %= p.byteLength;\n }\n};\nvar prefs = {\n "files.catbox.moe": "c",\n "a.pomf.cat": "p",\n "take-me-to.space": "t",\n "z.zz.fo": "z"\n};\nvar rprefs = {\n "c": "files.catbox.moe",\n "p": "a.pomf.cat",\n "t": "take-me-to.space",\n "z": "z.zz.fo"\n};\nvar extractFromRawDeflate = (b) => {\n const src = new BitstreamReader();\n src.addBuffer(b);\n const chnks = [];\n const hidden = new BitstreamWriter({\n write(chunk) {\n for (const i of chunk) {\n if (i >= 32 && i <= 128)\n chnks.push(i);\n else\n throw "Finish";\n }\n }\n });\n try {\n tinf_uncompress(src, void 0, hidden, void 0);\n } catch (e) {\n if (e == "Finish")\n return import_buffer3.Buffer.from(chnks);\n }\n return false;\n};\nvar extract = async (png, doextract = true) => {\n const reader = BufferReadStream(png).getReader();\n const sneed = new PNGDecoder(reader, false);\n const ret = [];\n let w;\n if (!csettings2)\n throw new Error("Settings uninit");\n try {\n let complete = false;\n const idats = [];\n for await (const [name, chunk, crc, offset] of sneed.chunks()) {\n let buff;\n switch (name) {\n case "tEXt":\n buff = chunk;\n if (buff.slice(4, 4 + CUM3.length).equals(CUM3)) {\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(buff.slice(4 + CUM3.length));\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM4.length).equals(CUM4)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM4.length);\n xor(passed, password);\n const k = await decodeCoom3Payload(passed);\n ret.push(...k.filter((e) => e));\n }\n if (buff.slice(4, 4 + CUM5.length).equals(CUM5)) {\n if (!doextract)\n return true;\n const passed = buff.slice(4 + CUM5.length);\n const decoded = import_buffer3.Buffer.from(passed.toString(), "base64").toString().split(" ").map((e) => {\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n }\n if (w = [CUM6, CUM7].find((e) => buff.slice(4, 4 + e.length).equals(e))) {\n const passed = buff.slice(4 + w.length);\n if (!passed.toString().match(/^[0-9a-zA-Z+/=]+$/g))\n continue;\n const decoders = [\n (b) => import_buffer3.Buffer.from(b.toString(), "base64").toString(),\n (b) => import_buffer3.Buffer.from(bs58.decode(passed.toString())).toString()\n ];\n for (const d of decoders) {\n try {\n const decoded = d(passed).split(" ").map((e) => {\n if (!(e[0] in rprefs))\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (!doextract)\n return true;\n const k = await decodeCoom3Payload(import_buffer3.Buffer.from(decoded));\n ret.push(...k.filter((e) => e));\n } catch (e) {\n }\n }\n }\n break;\n case "IDAT":\n if (ret.length)\n return ret;\n buff = chunk;\n idats.push(buff.slice(4));\n break;\n case "IEND":\n complete = true;\n default:\n break;\n }\n }\n if (idats.length) {\n let decoded;\n if ((decoded = extractFromRawDeflate(import_buffer3.Buffer.concat(idats).slice(2))) === false)\n return false;\n const dec = decoded.toString().split(" ").map((e) => {\n if (!(e[0] in rprefs) || e[1].length < 5)\n throw "Uhh";\n return `https://${rprefs[e[0]]}/${e.slice(1)}`;\n }).join(" ");\n if (doextract)\n return decodeCoom3Payload(import_buffer3.Buffer.from(dec));\n return true;\n }\n } catch (e) {\n if (e != "Uhh")\n console.error(e);\n } finally {\n reader.releaseLock();\n }\n};\nvar buildChunk = (tag, data) => {\n const ret = import_buffer3.Buffer.alloc(data.byteLength + 4);\n ret.write(tag.slice(0, 4), 0);\n data.copy(ret, 4);\n return ret;\n};\nvar BufferWriteStream = () => {\n let b = import_buffer3.Buffer.from([]);\n const ret = new WritableStream({\n write(chunk) {\n b = import_buffer3.Buffer.concat([b, chunk]);\n console.log("finished appending");\n }\n });\n return [ret, () => b];\n};\nvar embedInRawDeflate = (b, h) => {\n const src = new BitstreamReader();\n const hid = new BitstreamReader();\n hid.addBuffer(h);\n src.addBuffer(b);\n const chnks = [];\n tinf_uncompress(src, void 0, hid, (c) => chnks.push(c));\n return import_buffer3.Buffer.concat(chnks);\n};\nvar inject_data = async (container, injb) => {\n injb = import_buffer3.Buffer.concat([injb, import_buffer3.Buffer.from([0])]);\n if (!csettings2)\n throw new Error("Settings uninit");\n if (csettings2.pmeth < 5) {\n let magic = false;\n const [writestream2, extract6] = BufferWriteStream();\n const encoder = new PNGEncoder(writestream2);\n const decoder = new PNGDecoder(container.stream().getReader());\n for await (const [name, chunk, crc, offset] of decoder.chunks()) {\n if (magic && name != "IDAT")\n break;\n if (!magic && name == "IDAT") {\n const passed = import_buffer3.Buffer.from(injb);\n switch (csettings2.pmeth) {\n case 0:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM3, passed])), 0, 0]);\n break;\n case 1:\n xor(passed, password);\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM4, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 2:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM5, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 3:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM6, import_buffer3.Buffer.from(import_buffer3.Buffer.from(passed).toString("base64"))])), 0, 0]);\n break;\n case 4:\n await encoder.insertchunk(["tEXt", buildChunk("tEXt", import_buffer3.Buffer.concat([CUM7, import_buffer3.Buffer.from(bs58.encode(passed))])), 0, 0]);\n break;\n }\n magic = true;\n }\n await encoder.insertchunk([name, chunk, crc, offset]);\n }\n await encoder.insertchunk([\n "IEND",\n buildChunk("IEND", import_buffer3.Buffer.from([])),\n 0,\n 0\n ]);\n return extract6();\n }\n let pdec = new PNGDecoder(container.stream().getReader());\n const concat = [];\n for await (const chk of pdec.chunks())\n if (chk[0] == "IDAT")\n concat.push(chk[1].slice(4));\n const comp = import_buffer3.Buffer.concat(concat);\n const head = comp.slice(0, 2);\n const chksum = comp.slice(-4);\n const idatblk = embedInRawDeflate(comp.slice(2, -4), injb);\n const [writestream, extract5] = BufferWriteStream();\n const penc = new PNGEncoder(writestream);\n pdec = new PNGDecoder(container.stream().getReader());\n let ins = false;\n for await (const chk of pdec.chunks()) {\n if (chk[0] != "IDAT") {\n await penc.insertchunk(chk);\n } else {\n if (!ins) {\n await penc.insertchunk(["IDAT", import_buffer3.Buffer.concat([import_buffer3.Buffer.from("IDAT"), head, idatblk, chksum]), 0, 0]);\n ins = true;\n }\n }\n }\n await penc.dtor();\n console.log("Finished writing");\n return extract5();\n};\nvar inject = async (container, links) => {\n links = links.map((link) => {\n for (const h of filehosts) {\n if (link.includes(h.serving)) {\n const end = link.split("/").slice(-1)[0];\n return `${prefs[h.serving]}${end}`;\n }\n }\n return "";\n });\n const injb = import_buffer3.Buffer.from(links.join(" "));\n return inject_data(container, injb);\n};\nvar has_embed = async (png) => {\n const r = await extract(png, false);\n return !!r;\n};\nvar pngv3_default = {\n extract,\n has_embed,\n inject,\n match: (fn) => !!fn.match(/\\.png$/)\n};\n\n// src/jpg.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer4 = __toESM(require_buffer(), 1);\n\n// src/f5stego.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nfunction* f5get() {\n let extrBit = 0;\n let k = 0;\n for (let i = 0; i < 4; ++i) {\n const b2 = yield;\n k |= b2 << i;\n }\n k = (k & 15) + 1;\n let toread = 8;\n let len = 0;\n while (toread--) {\n len = len * 2 + (yield);\n }\n const b = yield;\n toread += 8;\n if (b)\n toread += 7;\n else\n len *= 2;\n while (toread--) {\n len = len * 2 + (yield);\n }\n let rlen = revbyte(len, b ? 23 : 16);\n len = rlen;\n if (len >= 256)\n len = rlen = 256;\n len *= 8;\n const chunks = [];\n const bw = new BitstreamWriter({\n write(chunk) {\n chunks.push(chunk);\n }\n });\n while (len) {\n extrBit = yield;\n bw.write(1, extrBit);\n len--;\n }\n bw.end();\n return Buffer2.concat(chunks).slice(0, rlen);\n}\nvar bitcode = new Array(65535);\nvar category = new Array(65535);\nvar std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];\nvar std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];\nvar std_ac_luminance_values = [\n 1,\n 2,\n 3,\n 0,\n 4,\n 17,\n 5,\n 18,\n 33,\n 49,\n 65,\n 6,\n 19,\n 81,\n 97,\n 7,\n 34,\n 113,\n 20,\n 50,\n 129,\n 145,\n 161,\n 8,\n 35,\n 66,\n 177,\n 193,\n 21,\n 82,\n 209,\n 240,\n 36,\n 51,\n 98,\n 114,\n 130,\n 9,\n 10,\n 22,\n 23,\n 24,\n 25,\n 26,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 225,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 241,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nvar std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];\nvar std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\nvar std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];\nvar std_ac_chrominance_values = [\n 0,\n 1,\n 2,\n 3,\n 17,\n 4,\n 5,\n 33,\n 49,\n 6,\n 18,\n 65,\n 81,\n 7,\n 97,\n 113,\n 19,\n 34,\n 50,\n 129,\n 8,\n 20,\n 66,\n 145,\n 161,\n 177,\n 193,\n 9,\n 35,\n 51,\n 82,\n 240,\n 21,\n 98,\n 114,\n 209,\n 10,\n 22,\n 36,\n 52,\n 225,\n 37,\n 241,\n 23,\n 24,\n 25,\n 26,\n 38,\n 39,\n 40,\n 41,\n 42,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 90,\n 99,\n 100,\n 101,\n 102,\n 103,\n 104,\n 105,\n 106,\n 115,\n 116,\n 117,\n 118,\n 119,\n 120,\n 121,\n 122,\n 130,\n 131,\n 132,\n 133,\n 134,\n 135,\n 136,\n 137,\n 138,\n 146,\n 147,\n 148,\n 149,\n 150,\n 151,\n 152,\n 153,\n 154,\n 162,\n 163,\n 164,\n 165,\n 166,\n 167,\n 168,\n 169,\n 170,\n 178,\n 179,\n 180,\n 181,\n 182,\n 183,\n 184,\n 185,\n 186,\n 194,\n 195,\n 196,\n 197,\n 198,\n 199,\n 200,\n 201,\n 202,\n 210,\n 211,\n 212,\n 213,\n 214,\n 215,\n 216,\n 217,\n 218,\n 226,\n 227,\n 228,\n 229,\n 230,\n 231,\n 232,\n 233,\n 234,\n 242,\n 243,\n 244,\n 245,\n 246,\n 247,\n 248,\n 249,\n 250\n];\nfunction _initCategoryNumber() {\n let nrlower = 1;\n let nrupper = 2;\n for (let cat = 1; cat <= 15; cat++) {\n for (let nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n for (let nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n}\n_initCategoryNumber();\nfunction _computeHuffmanTbl(nrcodes, std_table) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = [];\n for (let k = 1; k <= 16; k++) {\n for (let j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n}\nvar YDC_HT = _computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);\nvar UVDC_HT = _computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);\nvar YAC_HT = _computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);\nvar UVAC_HT = _computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);\nvar __raw, _jfif, _APPn, _qts, _frame, _tail, __f5write, _f5write_fn;\nvar f5stego = class {\n constructor(key2, maxPixels = 4096 * 4096) {\n this.maxPixels = maxPixels;\n __privateAdd(this, __f5write);\n __privateAdd(this, __raw, void 0);\n __privateAdd(this, _jfif, void 0);\n __privateAdd(this, _APPn, void 0);\n __privateAdd(this, _qts, void 0);\n __privateAdd(this, _frame, null);\n __privateAdd(this, _tail, null);\n }\n embed(image, data, k) {\n this.parse(image);\n this.f5put(data, k);\n return this.pack();\n }\n extract(image) {\n try {\n this.gengen = f5get();\n this.gengen.next();\n this.parse(image, true);\n return this.f5get();\n } catch (e) {\n if (e instanceof Buffer2)\n return e;\n throw e;\n }\n }\n f5put(data, k) {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let t, i, comp = __privateGet(this, _frame).components[0];\n if (data.length > 8388607)\n throw "Data too big. Max 8388607 bytes allowed.";\n if (data.length < 32768) {\n t = new Uint8Array(2 + data.length);\n t[0] = data.length & 255;\n t[1] = data.length >>> 8;\n t.set(data, 2);\n } else {\n t = new Uint8Array(3 + data.length);\n t[0] = data.length & 255;\n t[1] = (data.length >>> 8 & 127) + 128;\n t[2] = data.length >>> 15;\n t.set(data, 3);\n }\n if (comp.componentId != 1) {\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n return __privateMethod(this, __f5write, _f5write_fn).call(this, comp.blocks, t, k);\n }\n f5get() {\n if (!__privateGet(this, _frame))\n throw "Parser not run";\n let comp = __privateGet(this, _frame).components[0];\n if (comp.componentId != 1) {\n for (let i = 0; i < __privateGet(this, _frame).components.length; i++) {\n if (__privateGet(this, _frame).components[i].componentId == 1) {\n comp = __privateGet(this, _frame).components[i];\n break;\n }\n }\n }\n if (!("blocks" in comp)) {\n throw "Blocks failed to be parsed";\n }\n const coeff = new Int16Array(comp.blocks.length);\n coeff.set(comp.blocks);\n let pos = -1, extrBit = 0;\n const cCount = coeff.length - 1;\n let k = 0;\n const out = new Uint8Array(coeff.length / 8 | 0);\n let extrByte = 0;\n let outPos = 0;\n let bitsAvail = 0;\n let code = 0;\n let hash = 0;\n while (bitsAvail < 4) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n k |= extrBit << bitsAvail;\n bitsAvail++;\n }\n k = (k & 15) + 1;\n const n = (1 << k) - 1;\n bitsAvail = 0;\n if (k == 1) {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n extrByte |= extrBit << bitsAvail;\n bitsAvail++;\n if (bitsAvail == 8) {\n out[outPos++] = extrByte;\n extrByte = 0;\n bitsAvail = 0;\n }\n }\n } else {\n while (pos < cCount) {\n pos++;\n if (coeff[pos] === 0) {\n continue;\n }\n extrBit = coeff[pos] & 1;\n if (coeff[pos] < 0) {\n extrBit = 1 - extrBit;\n }\n hash ^= extrBit * ++code;\n if (code == n) {\n extrByte |= hash << bitsAvail;\n bitsAvail += k;\n code = 0;\n hash = 0;\n while (bitsAvail >= 8) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n }\n }\n }\n while (bitsAvail > 0) {\n out[outPos++] = extrByte & 255;\n bitsAvail -= 8;\n extrByte = extrByte >> 8;\n }\n let s = 2, l = out[0];\n if (out[1] & 128) {\n s++;\n l += ((out[1] & 127) << 8) + (out[2] << 15);\n } else {\n l += out[1] << 8;\n }\n return out.subarray(s, s + l);\n }\n parse(data, tolerant = false) {\n let offset = 0;\n function _buildHuffmanTable(nrcodes, values) {\n let codevalue = 0;\n let pos_in_table = 0;\n const HT = new Uint16Array(65536);\n for (let k = 0; k < 16; k++) {\n for (let j2 = 0; j2 < nrcodes[k]; j2++) {\n for (let i2 = codevalue << 15 - k, cntTo = codevalue + 1 << 15 - k; i2 < cntTo; i2++) {\n HT[i2] = values[pos_in_table] + (k + 1 << 8);\n }\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n const decodeScan = (data2, offset2, frame, components, resetInterval2, spectralStart, spectralEnd, successivePrev, successive) => {\n const startOffset = offset2;\n let bitsData = 0, bitsCount = 0, eobrun = 0;\n const p1 = 1 << successive;\n const m1 = -1 << successive;\n const decodeBaseline = (component2, pos) => {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n let diff = 0;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff;\n let k2 = 1, s, r;\n while (k2 < 64) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n if (component2.componentId == 1) {\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n if (this.gengen && component2.blocks[pos + k2] != 0) {\n const v = component2.blocks[pos + k2] < 0 ? 1 - (component2.blocks[pos + k2] & 1) : component2.blocks[pos + k2] & 1;\n const it = this.gengen.next(v);\n if (it.done) {\n throw it.value;\n }\n }\n }\n bitsCount -= s;\n k2++;\n }\n };\n function decodeDCFirst(component2, pos) {\n let diff = 0;\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n let t = component2.huffmanTableDC[bitsData >>> bitsCount - 16 & 65535];\n if (!t)\n throw "invalid huffman sequence";\n bitsCount -= t >>> 8;\n t &= 255;\n if (t !== 0) {\n while (bitsCount < t) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n diff = bitsData >>> bitsCount - t & (1 << t) - 1;\n bitsCount -= t;\n if (diff < 1 << t - 1)\n diff += (-1 << t) + 1;\n }\n component2.blocksDC[pos >> 6] = component2.pred += diff << successive;\n }\n function decodeDCSuccessive(component2, pos) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocksDC[pos >> 6] |= (bitsData >>> --bitsCount & 1) << successive;\n }\n if (!frame)\n throw "Frame not parsed yet";\n function decodeACFirst(component2, pos) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k2 = spectralStart, s, r;\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s === 0) {\n if (r != 15) {\n eobrun = (1 << r) - 1;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n k2 += 16;\n continue;\n }\n k2 += r;\n while (bitsCount < s) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n component2.blocks[pos + k2] = bitsData >>> bitsCount - s & (1 << s) - 1;\n bitsCount -= s;\n if (component2.blocks[pos + k2] < 1 << s - 1)\n component2.blocks[pos + k2] += (-1 << s) + 1;\n component2.blocks[pos + k2] *= p1;\n k2++;\n }\n }\n function decodeACSuccessive(component2, pos) {\n let k2 = spectralStart, r, s;\n if (frame == null)\n throw "Frame not defined";\n if (!eobrun) {\n while (k2 <= spectralEnd) {\n while (bitsCount < 16) {\n bitsData = (bitsData << 8) + (data2[offset2] | 0);\n bitsCount += 8;\n if (data2[offset2] == 255)\n offset2++;\n offset2++;\n }\n s = component2.huffmanTableAC[bitsData >>> bitsCount - 16 & 65535];\n if (!s)\n throw "invalid huffman sequence";\n bitsCount -= s >>> 8;\n r = s >> 4 & 15;\n s &= 15;\n if (s) {\n if (s != 1)\n throw "bad jpeg";\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n s = bitsData >>> --bitsCount & 1 ? p1 : m1;\n } else {\n if (r != 15) {\n eobrun = 1 << r;\n if (r) {\n while (bitsCount < r) {\n bitsData = (bitsData << 8) + data2[offset2++];\n if ((bitsData & 255) == 255)\n offset2++;\n bitsCount += 8;\n }\n eobrun += bitsData >>> bitsCount - r & (1 << r) - 1;\n bitsCount -= r;\n }\n break;\n }\n }\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n } else {\n if (--r < 0)\n break;\n }\n k2++;\n }\n if (s)\n component2.blocks[pos + k2] = s;\n k2++;\n }\n }\n if (eobrun) {\n while (k2 <= spectralEnd) {\n if (component2.blocks[pos + k2]) {\n if (!bitsCount) {\n bitsData = data2[offset2++];\n if (bitsData == 255)\n offset2++;\n bitsCount = 8;\n }\n component2.blocks[pos + k2] += (bitsData >>> --bitsCount & 1) * (component2.blocks[pos + k2] >= 0 ? p1 : m1);\n }\n k2++;\n }\n eobrun--;\n }\n }\n let decodeFn;\n if (frame.progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n let marker, mcuExpected, i2, j2, k, n, mcusPerLine, mcusPerRow, x, y;\n if (components.length == 1) {\n mcusPerLine = components[0].blocksPerLine;\n mcusPerRow = components[0].blocksPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n components[0].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n decodeFn(components[i2], (y * components[i2].blocksPerLineForMcu + x) * 64);\n }\n }\n }\n } else {\n mcusPerLine = frame.mcusPerLine;\n mcusPerRow = frame.mcusPerColumn;\n mcuExpected = mcusPerRow * mcusPerLine;\n if (!resetInterval2)\n resetInterval2 = mcuExpected;\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n for (y = 0; y < mcusPerRow; y++) {\n for (x = 0; x < mcusPerLine; x++) {\n if (!n) {\n n = resetInterval2;\n for (i2 = 0; i2 < components.length; i2++)\n components[i2].pred = 0;\n eobrun = 0;\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n bitsCount = 0;\n marker = data2[offset2] << 8 | data2[offset2 + 1];\n if (marker >= 65488 && marker <= 65495) {\n offset2 += 2;\n } else {\n if (marker <= 65280) {\n throw "bad jpeg";\n }\n break;\n }\n }\n n--;\n for (i2 = 0; i2 < components.length; i2++) {\n for (j2 = 0; j2 < components[i2].v; j2++) {\n for (k = 0; k < components[i2].h; k++) {\n decodeFn(components[i2], ((y * components[i2].v + j2) * components[i2].blocksPerLineForMcu + x * components[i2].h + k) * 64);\n }\n }\n }\n }\n }\n }\n offset2 -= bitsCount / 8 | 0;\n if (data2[offset2 - 1] == 255)\n offset2--;\n return offset2 - startOffset;\n };\n function readUint16() {\n const value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n __privateSet(this, __raw, data);\n __privateSet(this, _jfif, null);\n __privateSet(this, _APPn, []);\n __privateSet(this, _qts, []);\n __privateSet(this, _frame, null);\n __privateSet(this, _tail, null);\n let markerHi, markerLo, i, j, resetInterval, component;\n const huffmanTablesAC = [];\n const huffmanTablesDC = [];\n while (1) {\n if (offset >= data.length) {\n if (tolerant)\n break;\n throw "unexpected EOF";\n }\n markerHi = data[offset++];\n markerLo = data[offset++];\n if (markerHi == 255) {\n if (markerLo == 224) {\n __privateSet(this, _jfif, readDataBlock());\n }\n if (markerLo > 224 && markerLo < 240 || markerLo == 254) {\n __privateGet(this, _APPn).push({\n "app": markerLo,\n "data": readDataBlock()\n });\n }\n if (markerLo == 219) {\n __privateGet(this, _qts).push(readDataBlock());\n }\n if (markerLo >= 192 && markerLo <= 194) {\n if (__privateGet(this, _frame))\n throw "Only single frame JPEGs supported";\n readUint16();\n __privateSet(this, _frame, {\n "extended": markerLo === 193,\n "progressive": markerLo === 194,\n "precision": data[offset++],\n "scanLines": readUint16(),\n "samplesPerLine": readUint16(),\n "components": [],\n "componentIds": {},\n "maxH": 1,\n "maxV": 1\n });\n if (__privateGet(this, _frame).scanLines * __privateGet(this, _frame).samplesPerLine > this.maxPixels)\n throw "Image is too big.";\n const componentsCount = data[offset++];\n let componentId;\n let maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n const qId = data[offset + 2];\n const l = __privateGet(this, _frame).components.push({\n componentId,\n h,\n v,\n quantizationTable: qId\n });\n __privateGet(this, _frame).componentIds[componentId] = l - 1;\n offset += 3;\n }\n __privateGet(this, _frame).maxH = maxH;\n __privateGet(this, _frame).maxV = maxV;\n const mcusPerLine = Math.ceil(__privateGet(this, _frame).samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(__privateGet(this, _frame).scanLines / 8 / maxV);\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n component = __privateGet(this, _frame).components[i];\n const blocksPerLine = Math.ceil(Math.ceil(__privateGet(this, _frame).samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(__privateGet(this, _frame).scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n __privateGet(this, _frame).components[i] = {\n ...component,\n blocks: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu * 64),\n blocksDC: new Int16Array(blocksPerColumnForMcu * blocksPerLineForMcu),\n blocksPerLine,\n blocksPerColumn,\n blocksPerLineForMcu,\n blocksPerColumnForMcu\n };\n }\n __privateGet(this, _frame).mcusPerLine = mcusPerLine;\n __privateGet(this, _frame).mcusPerColumn = mcusPerColumn;\n }\n if (markerLo == 196) {\n const huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += codeLengths[j] = data[offset];\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n const v = _buildHuffmanTable(codeLengths, huffmanValues);\n if (huffmanTableSpec >> 4 === 0)\n huffmanTablesDC[huffmanTableSpec & 15] = v;\n else\n huffmanTablesAC[huffmanTableSpec & 15] = v;\n }\n }\n if (markerLo == 221) {\n resetInterval = readUint16();\n }\n if (markerLo == 218) {\n if (__privateGet(this, _frame) == null)\n throw "SOS before SOF";\n readUint16();\n const selectorsCount = data[offset++];\n const components = [];\n for (i = 0; i < selectorsCount; i++) {\n const componentIndex = __privateGet(this, _frame).componentIds[data[offset++]];\n component = __privateGet(this, _frame).components[componentIndex];\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset, __privateGet(this, _frame), components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n }\n if (markerLo == 217) {\n break;\n }\n } else {\n if (data[offset - 3] == 255 && data[offset - 2] >= 192 && data[offset - 2] <= 254) {\n offset -= 3;\n }\n while (data[offset] != 255 && offset < data.length) {\n offset++;\n }\n if (data[offset] != 255) {\n throw "bad jpeg ";\n }\n }\n }\n if (!__privateGet(this, _frame))\n throw "bad jpeg";\n if (offset < data.length)\n __privateSet(this, _tail, data.subarray(offset));\n return this;\n }\n pack() {\n let byteout;\n let bytenew;\n let bytepos;\n let poslast;\n let outpos;\n let byte;\n function writeByte(value) {\n let t;\n byteout[outpos++] = value;\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n }\n function writeWord(value) {\n writeByte(value >> 8 & 255);\n writeByte(value & 255);\n }\n function writeBlock(block) {\n let t;\n if (outpos + block.length > poslast) {\n t = new Uint8Array(byteout.length * 2 + block.length);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n byteout.set(block, outpos);\n outpos += block.length;\n }\n function writeAPP0(self2) {\n writeWord(65504);\n if (!__privateGet(self2, _jfif)) {\n writeWord(16);\n writeByte(74);\n writeByte(70);\n writeByte(73);\n writeByte(70);\n writeByte(0);\n writeByte(1);\n writeByte(1);\n writeByte(0);\n writeWord(1);\n writeWord(1);\n writeByte(0);\n writeByte(0);\n } else {\n writeWord(__privateGet(self2, _jfif).length + 2);\n writeBlock(__privateGet(self2, _jfif));\n }\n }\n function writeDQT(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _qts).length; i2++) {\n writeWord(65499);\n writeWord(__privateGet(self2, _qts)[i2].length + 2);\n writeBlock(__privateGet(self2, _qts)[i2]);\n }\n }\n function writeAPPn(self2) {\n for (let i2 = 0; i2 < __privateGet(self2, _APPn).length; i2++) {\n writeWord(65280 | __privateGet(self2, _APPn)[i2].app);\n writeWord(__privateGet(self2, _APPn)[i2].data.length + 2);\n writeBlock(__privateGet(self2, _APPn)[i2].data);\n }\n }\n function writeSOF0(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65472);\n writeWord(8 + __privateGet(self2, _frame).components.length * 3);\n writeByte(__privateGet(self2, _frame).precision);\n writeWord(__privateGet(self2, _frame).scanLines);\n writeWord(__privateGet(self2, _frame).samplesPerLine);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n writeByte(c2.h << 4 | c2.v);\n writeByte(c2.quantizationTable);\n }\n }\n function writeDHT(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65476);\n writeWord(31);\n writeByte(0);\n for (let i2 = 0; i2 < 16; i2++) {\n writeByte(std_dc_luminance_nrcodes[i2 + 1]);\n }\n for (let j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(16);\n for (let k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (let l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n if (__privateGet(self2, _frame).components.length != 1) {\n writeWord(65476);\n writeWord(31);\n writeByte(1);\n for (let m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (let n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n writeWord(65476);\n writeWord(181);\n writeByte(17);\n for (let o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (let p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n }\n function writeSOS(self2) {\n if (!__privateGet(self2, _frame))\n throw "Frame not ready";\n writeWord(65498);\n writeWord(6 + __privateGet(self2, _frame).components.length * 2);\n writeByte(__privateGet(self2, _frame).components.length);\n for (let i2 = 0; i2 < __privateGet(self2, _frame).components.length; i2++) {\n const c2 = __privateGet(self2, _frame).components[i2];\n writeByte(c2.componentId);\n if (i2 === 0) {\n writeByte(0);\n } else {\n writeByte(17);\n }\n }\n writeByte(0);\n writeByte(63);\n writeByte(0);\n }\n function processDU(comp, POS, DC, HTDC, HTAC) {\n let pos, posval, t;\n if (bytepos === 0)\n bytenew = 0;\n if (!("blocks" in comp))\n throw "Blocks not parsed";\n const Diff = comp.blocksDC[POS >> 6] - DC;\n DC = comp.blocksDC[POS >> 6];\n if (Diff === 0) {\n posval = HTDC[0][1];\n bytenew <<= posval;\n bytenew += HTDC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n } else {\n pos = 32767 + Diff;\n posval = HTDC[category[pos]][1];\n bytenew <<= posval;\n bytenew += HTDC[category[pos]][0];\n bytepos += posval;\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n let end0pos = 63;\n for (; end0pos > 0 && comp.blocks[POS + end0pos] === 0; end0pos--) {\n }\n if (end0pos === 0) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n return DC;\n }\n let i2 = 1;\n let lng;\n while (i2 <= end0pos) {\n const startpos = i2;\n for (; comp.blocks[POS + i2] === 0 && i2 <= end0pos; ++i2) {\n }\n let nrzeroes = i2 - startpos;\n if (nrzeroes >= 16) {\n lng = nrzeroes >> 4;\n for (let nrmarker = 1; nrmarker <= lng; ++nrmarker) {\n posval = HTAC[240][1];\n bytenew <<= posval;\n bytenew += HTAC[240][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n nrzeroes = nrzeroes & 15;\n }\n pos = 32767 + comp.blocks[POS + i2];\n posval = HTAC[(nrzeroes << 4) + category[pos]][1];\n bytenew <<= posval;\n bytenew += HTAC[(nrzeroes << 4) + category[pos]][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n posval = bitcode[pos][1];\n bytenew <<= posval;\n bytenew += bitcode[pos][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n i2++;\n }\n if (end0pos != 63) {\n posval = HTAC[0][1];\n bytenew <<= posval;\n bytenew += HTAC[0][0];\n bytepos += posval;\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n bytenew &= (1 << bytepos) - 1;\n }\n }\n if (outpos > poslast) {\n t = new Uint8Array(byteout.length * 2);\n t.set(byteout);\n byteout = t;\n poslast = t.length - 128;\n }\n return DC;\n }\n byteout = new Uint8Array(65536);\n poslast = 65536 - 128;\n outpos = 0;\n bytenew = 0;\n bytepos = 0;\n writeWord(65496);\n writeAPP0(this);\n writeAPPn(this);\n writeDQT(this);\n writeSOF0(this);\n writeDHT(this);\n writeSOS(this);\n bytenew = 0;\n bytepos = 0;\n if (!__privateGet(this, _frame))\n throw "Frame not ready";\n let c, mcuRow, mcuCol, blockRow, blockCol, mcu, i, v, h;\n const DCdiff = [];\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n DCdiff.push(0);\n }\n for (mcu = 0; mcu < __privateGet(this, _frame).mcusPerLine * __privateGet(this, _frame).mcusPerColumn; mcu++) {\n mcuRow = mcu / __privateGet(this, _frame).mcusPerLine | 0;\n mcuCol = mcu % __privateGet(this, _frame).mcusPerLine;\n for (i = 0; i < __privateGet(this, _frame).components.length; i++) {\n c = __privateGet(this, _frame).components[i];\n for (v = 0; v < c.v; v++) {\n blockRow = mcuRow * c.v + v;\n for (h = 0; h < c.h; h++) {\n blockCol = mcuCol * c.h + h;\n if (i === 0) {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], YDC_HT, YAC_HT);\n } else {\n DCdiff[i] = processDU(c, (blockRow * __privateGet(this, _frame).mcusPerLine * c.h + blockCol) * 64, DCdiff[i], UVDC_HT, UVAC_HT);\n }\n }\n }\n }\n }\n while (bytepos > 7) {\n byte = 255 & bytenew >>> bytepos - 8;\n byteout[outpos++] = byte;\n if (byte == 255) {\n outpos++;\n }\n bytepos -= 8;\n }\n if (bytepos > 0) {\n bytenew <<= 8 - bytepos;\n bytenew += (1 << 8 - bytepos) - 1;\n byteout[outpos++] = 255 & bytenew;\n }\n writeWord(65497);\n if (__privateGet(this, _tail))\n writeBlock(__privateGet(this, _tail));\n return byteout.slice(0, outpos);\n }\n};\n__raw = new WeakMap();\n_jfif = new WeakMap();\n_APPn = new WeakMap();\n_qts = new WeakMap();\n_frame = new WeakMap();\n_tail = new WeakMap();\n__f5write = new WeakSet();\n_f5write_fn = function(coeff, data, k) {\n const coeff_count = coeff.length;\n let _changed = 0, _embedded = 0, _examined = 0, _thrown = 0, shuffled_index = 0, i, ii;\n let next_bit_to_embed = 0, byte_to_embed = data.length, data_idx = 0, available_bits_to_embed = 0;\n const n = (1 << k) - 1;\n byte_to_embed = k - 1;\n byte_to_embed ^= 0;\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed = 3;\n for (ii = 0; ii < coeff_count; ii++) {\n shuffled_index = ii;\n if (shuffled_index % 64 === 0 || coeff[shuffled_index] === 0)\n continue;\n const cc = coeff[shuffled_index];\n _examined++;\n if (cc > 0 && (cc & 1) != next_bit_to_embed) {\n coeff[shuffled_index]--;\n _changed++;\n } else if (cc < 0 && (cc & 1) == next_bit_to_embed) {\n coeff[shuffled_index]++;\n _changed++;\n }\n if (coeff[shuffled_index] !== 0) {\n _embedded++;\n if (available_bits_to_embed === 0) {\n if (k != 1 || data_idx >= data.length)\n break;\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n } else {\n _thrown++;\n }\n }\n if (k == 1 && _embedded < data.length * 8)\n throw "capacity exceeded " + _embedded / 8 + " " + data.length;\n if (k != 1) {\n let is_last_byte = false, k_bits_to_embed = 0;\n while (!is_last_byte || available_bits_to_embed !== 0 && is_last_byte) {\n k_bits_to_embed = 0;\n for (i = 0; i < k; i++) {\n if (available_bits_to_embed === 0) {\n if (data_idx >= data.length) {\n is_last_byte = true;\n break;\n }\n byte_to_embed = data[data_idx++];\n byte_to_embed ^= 0;\n available_bits_to_embed = 8;\n }\n next_bit_to_embed = byte_to_embed & 1;\n byte_to_embed >>= 1;\n available_bits_to_embed--;\n k_bits_to_embed |= next_bit_to_embed << i;\n }\n const code_word = [];\n let ci = null;\n for (i = 0; i < n; i++) {\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n code_word.push(ci);\n }\n _examined += n;\n while (true) {\n let vhash = 0;\n let extracted_bit;\n for (i = 0; i < code_word.length; i++) {\n if (coeff[code_word[i]] > 0) {\n extracted_bit = coeff[code_word[i]] & 1;\n } else {\n extracted_bit = 1 - (coeff[code_word[i]] & 1);\n }\n if (extracted_bit == 1)\n vhash ^= i + 1;\n }\n i = vhash ^ k_bits_to_embed;\n if (!i) {\n _embedded += k;\n break;\n }\n i--;\n coeff[code_word[i]] += coeff[code_word[i]] < 0 ? 1 : -1;\n _changed++;\n if (coeff[code_word[i]] === 0) {\n _thrown++;\n code_word.splice(i, 1);\n while (true) {\n if (++ii >= coeff_count) {\n throw "capacity exceeded " + _embedded / 8;\n }\n ci = ii;\n if (ci % 64 !== 0 && coeff[ci] !== 0)\n break;\n }\n _examined++;\n code_word.push(ci);\n } else {\n _embedded += k;\n break;\n }\n }\n }\n }\n return {\n "k": k,\n "embedded": _embedded / 8,\n "examined": _examined,\n "changed": _changed,\n "thrown": _thrown,\n "efficiency": (_embedded / _changed).toFixed(2)\n };\n};\n\n// src/jpg.ts\nvar key = import_buffer4.Buffer.from("CUNNYCUNNYCUNNY");\nvar f5inst = new f5stego(key);\nvar inject2 = async (b, links) => {\n if (b.size / 20 < links.join(" ").length)\n throw "Image too small to embed.";\n const arr = new Uint8Array(new Uint8Array(await b.arrayBuffer()));\n const buff = f5inst.embed(arr, new TextEncoder().encode(links.join(" ")), 1);\n return import_buffer4.Buffer.from(buff);\n};\nvar has_embed2 = (b) => {\n try {\n const res = f5inst.extract(b);\n if (!res)\n return false;\n if (res.length > 1024)\n return false;\n const str = import_buffer4.Buffer.from(res).toString();\n if (!str.match(/^[a-zA-Z0-9:/.\\-_ ]+$/))\n return false;\n return str;\n } catch {\n return false;\n }\n};\nvar extract2 = (b, ex) => {\n return decodeCoom3Payload(import_buffer4.Buffer.from(ex));\n};\nvar jpg_default = {\n match: (fn) => !!fn.match(/\\.jpe?g$/),\n has_embed: has_embed2,\n extract: extract2,\n inject: inject2\n};\n\n// src/thirdeye.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer5 = __toESM(require_buffer(), 1);\nvar import_jpeg_js = __toESM(require_jpeg_js(), 1);\n\n// src/phash.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar median = (data) => {\n const mdarr = data.slice(0);\n mdarr.sort((a, b) => a - b);\n if (mdarr.length % 2 === 0)\n return (mdarr[mdarr.length / 2 - 1] + mdarr[mdarr.length / 2]) / 2;\n return mdarr[Math.floor(mdarr.length / 2)];\n};\nvar translate_blocks_to_bits = function(blocks, pixels_per_block) {\n const half_block_value = pixels_per_block * 256 * 3 / 2;\n const bandsize = blocks.length / 4;\n for (let i = 0; i < 4; i++) {\n const m = median(blocks.slice(i * bandsize, (i + 1) * bandsize));\n for (let j = i * bandsize; j < (i + 1) * bandsize; j++) {\n const v = blocks[j];\n blocks[j] = Number(v > m || Math.abs(v - m) < 1 && m > half_block_value);\n }\n }\n};\nvar bits_to_hexhash = (bitsArray) => {\n const hex = [];\n for (let i = 0; i < bitsArray.length; i += 4) {\n const nibble = bitsArray.slice(i, i + 4);\n hex.push(parseInt(nibble.join(""), 2).toString(16));\n }\n return hex.join("");\n};\nvar bmvbhash_even = (data, bits) => {\n const blocksize_x = Math.floor(data.width / bits);\n const blocksize_y = Math.floor(data.height / bits);\n const result = [];\n for (let y = 0; y < bits; y++) {\n for (let x = 0; x < bits; x++) {\n let total = 0;\n for (let iy = 0; iy < blocksize_y; iy++) {\n for (let ix = 0; ix < blocksize_x; ix++) {\n const cx = x * blocksize_x + ix;\n const cy = y * blocksize_y + iy;\n const ii = (cy * data.width + cx) * 4;\n const alpha = data.data[ii + 3];\n if (alpha === 0) {\n total += 765;\n } else {\n total += data.data[ii] + data.data[ii + 1] + data.data[ii + 2];\n }\n }\n }\n result.push(total);\n }\n }\n translate_blocks_to_bits(result, blocksize_x * blocksize_y);\n return bits_to_hexhash(result);\n};\n\n// src/thirdeye.ts\nvar csettings3;\nsettings.subscribe((b) => {\n csettings3 = b;\n});\nvar gelquirk = (prefix) => (a) => {\n let base = a.post || a.data || a;\n if (!Array.isArray(base))\n return [];\n base = base.filter((e) => e.file_url);\n return base.map((e) => ({\n full_url: e.file_url,\n preview_url: e.preview_url || e.preview_url,\n source: e.source,\n ext: e.file_ext || e.file_url.substr(e.file_url.lastIndexOf(".") + 1),\n page: `${prefix}${e.id || e.parent_id}`,\n tags: (e.tag_string || (e.tags && (Array.isArray(e.tags) && (typeof e.tags[0] == "string" ? e.tags.join(" ") : e.tags.map((e2) => e2.name_en).join(" "))) || e.tags) || "").split(" ")\n })) || [];\n};\nvar experimentalApi = false;\nvar black = /* @__PURE__ */ new Set();\nvar phashEn = false;\nvar mindist = 5;\nsettings.subscribe((s) => {\n if (!s)\n return;\n experimentalApi = s.expte;\n boorus = s.rsources.map((e) => ({\n ...e,\n quirks: gelquirk(e.view)\n }));\n black = new Set(s.blacklist);\n mindist = s.mdist || 5;\n phashEn = s.phash;\n});\nvar boorus = [];\nvar unlockQueue = Promise.resolve();\nvar cache = {};\nvar findFileFrom = async (b, hex, abort) => {\n try {\n if (b.domain in cache && hex in cache[b.domain])\n return cache[b.domain][hex];\n const res = await ifetch(`https://${b.domain}${b.endpoint}${hex}`);\n const txt = await res.text();\n const pres = JSON.parse(txt);\n const tran = b.quirks(pres).filter((e) => !e.tags.some((e2) => black.has(e2)));\n if (!(b.domain in cache))\n cache[b.domain] = {};\n cache[b.domain][hex] = tran;\n return tran;\n } catch (e) {\n const error = e;\n if (!error.message.includes("Unexpected end of JSON input"))\n console.error(e);\n return [];\n }\n};\nvar extract3 = async (b, fn) => {\n if (!csettings3)\n throw new Error("Settings uninit");\n let result;\n let booru;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n if (result.length) {\n booru = e.name;\n break;\n }\n }\n let cachedFile;\n const prev = result[0].preview_url;\n const full = result[0].full_url;\n return [{\n source: result[0].source,\n page: {\n title: booru,\n url: result[0].page\n },\n filename: fn.substring(0, 33) + result[0].ext,\n thumbnail: csettings3.hotlink ? prev || full : import_buffer5.Buffer.from(await (await ifetch(prev || full)).arrayBuffer()),\n data: csettings3.hotlink ? full || prev : { url: full || prev }\n }];\n};\nvar phash = (b) => {\n const res = (0, import_jpeg_js.decode)(b);\n return bmvbhash_even(res, 8);\n};\nvar hammingDist = (a, b) => {\n let res = BigInt("0x" + a) ^ BigInt("0x" + b);\n let acc = 0;\n while (res != 0n) {\n acc += Number(res & 1n);\n res >>= 1n;\n }\n return acc;\n};\nvar has_embed3 = async (b, fn, prevlink) => {\n if (import_buffer5.Buffer.from(fn, "hex").equals(b))\n return false;\n let result = void 0;\n for (const e of Object.values(boorus)) {\n if (e.disabled)\n continue;\n result = await findFileFrom(e, fn.substring(0, 32));\n result = result.filter((e2) => e2.full_url || e2.preview_url);\n if (result.length)\n break;\n }\n if (result && result.length != 0 && phashEn && prevlink) {\n if (!result[0].preview_url)\n return true;\n const getHash = async (l) => {\n const ogreq = await ifetch(l);\n const origPreview = await ogreq.arrayBuffer();\n return phash(import_buffer5.Buffer.from(origPreview));\n };\n const [orighash, tehash] = await Promise.all([\n getHash(prevlink),\n getHash(result[0].preview_url)\n ]);\n const d = hammingDist(orighash, tehash);\n console.log(d, prevlink);\n return d > mindist;\n }\n return result && result.length != 0;\n};\nvar thirdeye_default = {\n skip: true,\n extract: extract3,\n has_embed: has_embed3,\n match: (fn) => !!fn.match(/^[0-9a-f]{32}\\.....?/)\n};\n\n// src/pomf.ts\ninit_define_BUILD_VERSION();\ninit_esbuild_inject();\nvar import_buffer6 = __toESM(require_buffer(), 1);\nvar sources = [\n { host: "Catbox", prefix: "files.catbox.moe/" },\n { host: "Litter", prefix: "litter.catbox.moe/" },\n { host: "Zzzz", prefix: "z.zz.fo/" }\n];\nvar csettings4;\nsettings.subscribe((b) => {\n csettings4 = b;\n});\nvar getExt = (fn) => {\n const isB64 = fn.match(/^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=))?\\.(gif|jpe?g|png|webm)/);\n const isExt = fn.match(/\\[.*=(.*)\\]/);\n let ext;\n let source;\n try {\n if (isB64) {\n ext = atob(isB64[1]);\n } else if (isExt) {\n ext = decodeURIComponent(isExt[1]);\n if (ext.startsWith("https://"))\n ext = ext.slice("https://".length);\n for (const cs of sources)\n if (ext.startsWith(cs.prefix)) {\n source = cs.prefix;\n ext = ext.slice(cs.prefix.length);\n break;\n }\n }\n } catch {\n }\n return { ext, source };\n};\nvar extract4 = async (b, fn) => {\n if (!csettings4)\n throw new Error("Settings uninit");\n const { ext, source } = getExt(fn);\n let rsource;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n await getHeaders("https://" + cs.prefix + ext);\n rsource = "https://" + cs.prefix + ext;\n break;\n } catch {\n }\n }\n return [{\n filename: ext,\n data: csettings4.hotlink ? rsource : { url: rsource },\n thumbnail: import_buffer6.Buffer.from(hasembed_default)\n }];\n};\nvar has_embed4 = async (b, fn) => {\n const { ext, source } = getExt(fn);\n if (!ext)\n return false;\n for (const cs of sources) {\n if (source && cs.prefix != source)\n continue;\n try {\n const e = await getHeaders("https://" + cs.prefix + ext);\n return true;\n } catch {\n }\n }\n return false;\n};\nvar pomf_default = {\n skip: true,\n extract: extract4,\n has_embed: has_embed4,\n match: (fn) => !!getExt(fn)\n};\n\n// src/processor.worker.ts\nconsole.log("Worker started");\nvar pendinggens = {};\nvar proxyAsyncGen = (id) => {\n return {\n next(arg) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n return(v) {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n throw() {\n postMessage({\n type: "ag",\n id\n });\n return new Promise((res) => {\n if (!pendinggens[id])\n pendinggens[id] = [];\n pendinggens[id].push(res);\n });\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n};\nvar deserializeMessage = (m) => {\n if (m instanceof MessagePort)\n return m;\n if (typeof m == "object" && m.type == "AsyncGenerator") {\n return proxyAsyncGen(m.id);\n }\n if (typeof m == "object") {\n for (const p in m) {\n m[p] = deserializeMessage(m[p]);\n }\n }\n return m;\n};\nvar processors = [thirdeye_default, pomf_default, pngv3_default, jpg_default];\nvar processImage = async (srcs, fn, hex, prevurl) => {\n const ret = await Promise.all(processors.filter((e) => e.match(fn)).map(async (proc) => {\n if (proc.skip) {\n const md5 = Buffer2.from(hex, "base64");\n if (await proc.has_embed(md5, fn, prevurl) === true) {\n return [await proc.extract(md5, fn), true];\n }\n return;\n }\n let succ = false;\n let cumul;\n do {\n try {\n const n = await srcs.next();\n if (n.done)\n return;\n const iter = streamRemote(n.value);\n if (!iter)\n return;\n cumul = Buffer2.alloc(0);\n let found;\n let chunk = { done: true };\n do {\n const { value, done } = await iter.next(typeof found === "boolean");\n if (done) {\n chunk = { done: true };\n } else {\n chunk = { done: false, value };\n cumul = Buffer2.concat([cumul, value]);\n const v = await proc.has_embed(cumul);\n if (typeof v == "string") {\n return [await proc.extract(cumul, v), false];\n }\n found = v;\n }\n } while (found !== false && !chunk.done);\n succ = true;\n await iter.next(true);\n if (found !== true) {\n return;\n }\n return [await proc.extract(cumul), false];\n } catch (err) {\n console.log(err);\n }\n } while (!succ);\n }));\n return ret.filter((e) => e).map((e) => e);\n};\nvar init2 = false;\n(async () => {\n onmessage = async (msg) => {\n const des = deserializeMessage(msg.data);\n switch (des.type) {\n case "ipc": {\n setupPort(des.port);\n const nset = await localLoad("settingsv2", initial_settings);\n settings.set(nset);\n break;\n }\n case "cmd": {\n switch (des.fun) {\n case "processImage": {\n if (!init2) {\n await new Promise((_) => {\n settings.subscribe((v) => {\n if (v)\n _();\n });\n });\n init2 = true;\n }\n const res = await processImage(des.args[0], des.args[1], des.args[2], des.args[3]);\n const tr = [];\n for (const ef of res) {\n for (const e of ef[0]) {\n if (e.thumbnail && Buffer2.isBuffer(e.thumbnail) || typeof e.thumbnail != "string")\n tr.push(e.thumbnail.buffer);\n if (Buffer2.isBuffer(e.data) || typeof e.data != "string" && !("url" in e.data))\n tr.push(e.data.buffer);\n }\n }\n postMessage({\n type: "reply",\n id: des.id,\n res\n }, [...new Set(tr)]);\n }\n }\n break;\n }\n case "ag": {\n const cb = pendinggens[des.id].shift();\n if (cb) {\n cb(des.res);\n }\n break;\n }\n }\n };\n})();\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n'); } // src/main.ts diff --git a/pngextraembedder-0.311.xpi b/pngextraembedder-0.311.xpi new file mode 100644 index 0000000000000000000000000000000000000000..fcde15a861a892545567a82bcf30140429546239 GIT binary patch literal 548230 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%0D!l+& z*=PPPmK^+knANmQ*OPW~HH|HJvWG!`QZGg14Oem>=3>aKp?aJ8rbHYMV?8e+D6
^i?dEduEQeWCEo*)J|rA#zzT9+)(0Vx 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 tBrD@Qi~Tf>7LakF3M=#kNb!*C z?EF#yJmzIyLu_ylPI&zNg6bAtkskaQUPC1gi`i;v?mA{9%v^EaOTz{2Ehl(Be{4Pz zQ7SdOolrZc1{csh&X1I4Cocm#63sLk6Y={=c^ib^yl}{0>SjpQ$@aT^dAdkG-sh|7 zc;m$wAb34DbpDDf2=b1=b0f_-7m#@#a;j5ma(z!Vn^cLH5BfDv)&7ph>dlEtv>5)@ z^UlgqS?@Tq(yeh;6jd#gR4WMwnfaGid3hi|` zhzReEcVw$%j34=R%WnQBCSQGeRF@Uwj@?cP!f}YNvSG=yVWH3T4J+OzgXTejC(m%r ztGO6nmxIjtU-Ny*g6wxcRIxkrt?xgif^I=JBk@HIQ?QSm|t4oFw&v__h9&PF7? zTD2T_&$aV+#=D%#F_}sT1-_8*2iR7zvIn5zqTD=iF4_k?1E$^naHPL0&I(E5$s=tz zHZi=aRy@(gma7*KmnVmBQWoUD+8}-E6fYzsw?HLH;k4Y zLgzBSVbsrH>)*j0>8#x^L|vA{U2Lb?c{5$*tA2yoco4>W%S;!5(V{};z+$}-=Dp)~ zSTjVash7rs4@P3V*t(<1TdM&P>WuRuc+;@d*8QW52F*l%4Maal6*n7Ht!XJYLKICa zOU>Di7oUzwx^}}YXYHCn@v?Nqy$xgOV+?2Pe7YC=^!&|D8q+XMDk6g@)Ludl@1+uB zBp;Ny;5bFviXWGG!5MCLw1C;SG>bs&^Z=D5Y`pr+zJyY}nCT;iTL@pf{U%+*xin29 z`PR%_z8WIe-_E0SQ1wO}^9BRM15lBxaR&QQxE}ajRHQ1OQ#?>F+2RG-u`B8RG%q~m z6}62h-T%Q~xroQv%a1`5e1i^=$>wusH>FYBqw&CtAB;239ZspUES<$F&!U#`H@Sh+ z`R^i0_qCxhKb2QRVK_$F*rm|ZPRC0qDVOUJ?P{}Fo6*#nvmb9gR{}T^Co`pg$(`uo zKDn;nG_I@8_>$5>k5ulLU0LQ;J=P&uKCRQ@NlEt=uW>yCgV8|n_xiwPrLM=N!?nmN z$1p`(tDFj-alpl6DNme}ak-QoF_E+C6=eV={HT^x(lzLg?l{#kcbJ;LIB<&W7F}yI z(-*4pON=FXTed8;y9{l!M2{hvH$v%b$ zV7~8)7udv+gzhoG~8SFNAbGb=-F6s%G8#<*HJ;$jVhoUO(b`=(x1QRSj>(a6PdumvHt07a>%F z9oyDCi0`UVb&RtTn&ViFbNL}5(Dg)QWx1Xi=|!#z-}yr~Qb3A;dxee2t*gp}u$^-$ zq-mp>Qk;pR58H zHv#XfSh%KKSJf6HJB3+-nSyV$oCG-6Z#%b6Nvp&i-Kl$~!)|6e(4h{Ja6Q3#>ykEE zJ1-k7FRMs@+mfykyDx>QtfJYCRaGnlQC8yW8hV(8`h|XG>G2c0$!!xY+6en z!F>QD;xs=gT~Gx_X|1w;ItWUI8ojyFff&g<(}7gPT#Mt&BlG6aeQ{m(5Z)7e zF0x__5)@zKWVtpUZd)-NVOv*~cCOv7J2o->&^8R^yJS`x`BH`Bh5Zw^Ud`#LA!E#g_NG@3 z95@FkS@k?+(DKF0jK)?OBQ`6W87AnMYQmf`JxJOb@caApvx$>dsRG1V7u&6?nWrSr zb4W*ArFk8JLsz{UG7%_etcX!%YTt;v0BN=bz3g7f!`ZjQW*A zz!5;@hg4@hZJ@;cT-7wi+qf~tQP=k8AV^I$8kcWnF<6~fPQz@~u+G}$D_<~T5j zVC85V8Km~ZNrMoRD&O&=<HU1doo}+{ zq>1OQE5Cl`cNjUISh?yImGm1~Cs&znI%OD!l#}OLw6BnEvY)?)n-Y%ngTMI{TK@;W zMTn1vhP=aUoiWcrnc0UWKQXRVdS5(aqm|Pt^z?~Sj>Y00k;iAhPk|@+yu-Z*%i$MC zp5L$EZShpUz#FV0i)zPAdJ>Wr4wt+{B*_wyzXG?Dx1GVgQX;6nPs$z)PKeWZFbX@a ze1dtG48OEZEw7*P#sOnq>azI#@_YL*6bQF+SNlRWFDXuUyb` zWXe@}ez5e*X$R8a-ZuGbGU83mMI0H*cFjUNI9fatPQ0=Q1<#mT*?BPVXZZ<_k&7$% z-Wn>KVc_FU;4cCCF~4V1;e>VwSfo>PaU~|C?&#$CH+aXMDn`c6r3oJJ;*3!o;XL3j z=9k3%JYoH(K>ON8Ab-iykFF~V{bCdBkj7)@lYp%dt0?M@6pEpRp;Y| zc+T0BfmO~$DipXbzs!vMP)Ds|+^}xZo7ATB!)~WNirKLgcwD`h-6b zb7^!j^keA|+*@@gQUzukuoMNl+DOyGHEL%QpbCA~a*x>Rl8Pi8uKGRatH1is_m^Y> zixD}W!9v&Gh<*Y;rLh;Vu0HV0<|BZA;O^}9t<|OF#oJ_o)WT5^h*$y7Fa<$e{ET-5 zm+j%x+SLn$UpNtt1|1rcd7?b&yo5RAExn$%CaR^2}@%}t=*n$x7+R3{OtNQR`$ES z#-q#4f4f)XE%x9qpP<;bZZv=tqInUl&~FSplIwos-km#3cURq;cw^)Ct-DJbypGsR z(ZhhI9s_@5LC~vk5VG<%nr!DxPwrQsnpm?<}n@I<&5+Q15%LR_>FnD2)XA|MQ*e_inqfA6i=2{~zTnu4ePK zG6q8D&^LC!ISP@}&pUnansXw5%~&Xb*Y2uB#QZHE=%2p6dt>$1y}Qn#ie9GPmWN*K zdts`Rh?t>0qI^FyGb7~+wA+nZQ`<#HQ(`sUYnHl$C|7=1{Ajl>o@eTzu_i}Ww_`w% zN)ViQC$kL273$X1Y1m8ddofbG;y-SHCQxGS;LwY`L89>@GSxnc4@F%u<5(Yp4_ z=+j^udQDlY%$Zkjt=?V&hTN1m>{#`^hR%yF5E9dL6o-Ozy@YP~VM4>iPyL5fU-!v- zUfvP86P!_s;de%UkZ!OcUjO>m?bTa%#RHze44J*6jOkPJpel(H=k8T9VaBLMOTnzf zZ?V$iH*#I^%i3RSU*&$T15e$%u*dWo*o>HN`AJIS+g`Xe^0sKb=5@l&T2pde*s}&- zC&oo%xR^rH~ZbV|Ko2y{p)A7=Czss_#d+Q^^3Szu=m)t*fz4DA^63`+xNd()F5BH zerr|#dE=|aW#hN?>-L|F->bLvpEqxPX+pdC@4vpcx}=wUwe-!+TVEO_tBcq5-)0ZD z|FUvl|9$Vq>XOlg`S_pg@w4W*o7&QFmFZ5@qe30x7*oG^^|#`IsDd`VM^YWy;f-lMZY&`*B^Mn zIXmvHU7r0T@A!|h<3CQ*@mF-m>wQ$`JFKh4**}T?;j0(|{E(w)mWILD)(YoYe!6=r z?D<_UjpB2TWi9d7%X77;u>_kp=Y%|GRVOn{HYb-BG*N`CSGODFBM^}KhGzTnM{?E2 z3XN`;CP@%&xh01wx=X9uYLQ#_`S&y1nH^?UUTOY*4@}K*U+eSu?ceS-uC?18X@WM@ zFz&(e3G6NTm=Vpe4%{^1=yn;;W{mIAa3$zHUaWt)w3^+&x3ZdjwX}FMyZ`lSc5~_W z(&|!nW zaG-<(B>%&h-=nZHxWTm0UOdb-_Z4y1CaqRaf z8G79Z-WDap*njAy7VKdhr63B)aMTI>u2|TFrX)$d)bEl2qd;80WHh8PNw$5qN@?Fu zNZOC1ZIZ^jVAn*OWRy_!#7BP5gumVQ14_32v@a<@T0S+VFOW@-ts8iAM`4d{`XTKh zRa9C-KpKnp@2$85)_8GNwy#q>bG7h}h^L}^v%I_|;S{JZV-{0y7{#HLF zUJwv(IHX?8WKlw*P2m2C@)kD*YfnfWb)qKe_Pw~t)#fJYL{ZRSkiD=+Qa=r7Lh7T0 z#)LC|DJ5IOIO@{gD5fpWA)(!kl@&x#nh-ChAf~)-H;Q|HxE1X3af|sTr0b0mKine2 zIO+s+kboo(_+!$eDTX8GS*x8vKixb+9!GyqM6P zVN8>RX%}pQi#?AmIgS0U+>$xbCP|}!LcIY=`;`3CS2u5~ZKm-BQIT7oQeHzj=!`Nux9%+7-r(L) zY^HTILu&PQd(LdmN*e&OR%id}o#LabayHk!g!amFxxTovbaTU=(e{is6|6F5V83B~ zmjG!ac0J?c{>>DlS5av>z)oGk)kZc$Y8iXrSWN~|TaH^j8m9iHPr2JxZSKvD<)tr| zzJXm^oc$MX_Ph1^#x?%+^6Vey)?uRsppMrAB2Stm3WHt7CZcWHW6G>RJ#8g#Zru24 z5rXTrwe?4Pzx_?S*1lMiz!>88BASFXMh_1u=>$>tfpDORE&@NKvP=TEW4^-4S(}}$ zHA(H$T0;#QB6OXAaRBMHL5|j^KpCQE@@8= z?4K5wH*PN7xV>Vy+FC8Ldhh1Fd9vE42_>MuBToyXl*IIJBR{4+#y;4X*uo^cVe0MZ z0Q%83eaQIgEnKZ#ngU0sl=Qu@w;lUwN<(Pejd~OZtpiA+0gXZmYYzPmN2wZ0GzxoU zUe;G~Kbc{oZAO#+$))=ILUuK4w;S2Q7ulz}HqdHKh=jFT8#Vpsyk8d%C+2=bREiL!5{`h zo1XXRbrM$QZ*pGokj4pRrD^PSQ#Mz_2v^X$Yy$`lnd+C&fOh5X$-M#XgEGZGrP|K< zDT!j>7Zsp`fFn0aMjc2WWAwsspP@jq8+Q9~6#C!M9>H8Zi7(ty!PGQ2=#-@1))wuN zEgFJOBRm?Zmps6&hpZDajJ>UaCw${+#ZW;V6V8ydPebBwYDf!X2fvUHxXj%n65W*x z#tGd|NbLCu1)qo@``8OX-3&Y?y#_u57*nRUGM*f=C#eT)hQxG0&}rfX-}ATpG$Ans zpAR@zNH1bk4l;v|DA|c(JJmtgdJJ%@@raT?c|oER)!t+VYsZ}NBeUTWa&a??I$nJ7 z45VFhql%Ak;$D5PpEk}x6>mqBS6ZYQvIM&l@fhyy5Q-;U2+JwRD)s^Yv1>4?k zB8EelcxAOdZtAtUT5H_MorB}~fQA~Tf5rwa#D|YS>Yw8o=b6X2D1v+{G{X=a1P zSL3O6M_>6mTl!21n}%HVx)?|%2huR~Th`o9GQNH6FXz8Z-(|}0)d@SIi8zOv1Wepl zOdX}X10qvmnIb?zgN^Czz(b!r)%=H|-zG^SlJ>pS1%@>NbY+r*k`4``Z356}f>sUP z@w#cSOQNt#9VB0=u8WUk$E7E>KM+4|i6TB_{1G3nq)X$igj1C*ry*VOag*>^+^K{m zajKrNnr?EIm8T$9tL_-06`u*jD?WQ}2(1>WB{bNqRXqiU8hZoE1S2>Joi(Lle2zWm znlL{F;{HrwH;9iGqDRO!{UT{NzWQwf48P(ee1dNS%XuCaQyo5Mxd+QwIao@Toz%Twbw zQ?;q|f)TG1Jp^NhR7g#Y)@(RoLGkUG*@{fjIw@<4xB~Y;?3*?bY9ab3%?e?d?U2nI0 zGc`E>P?>)K-F2gIQ{*9xa|%?1w!d0j`N|olGRBxt5ik^k{Jf zlU93sW@6f2tEIAT8TD33`2KOzW|g{pmngUwMQP(co*pz zQYb`#2=tYDl6rB<&0mk8x&!fLC<*+K&eE_afw~Zswg#h%>e1qkUO(ULQ@(( zBr)BNnJG02sQ6C9EkBgMx>498;+Eq$iqet^UrT7(_rhL4V?yINishZiLFDxYQIEln zhUkv&Q?Cc+Tawa{Bs6A9WCc|AjHy9NBx`hni)GFo?dVSpJG#mPR^_%*i5%cI+GNXB z8P%WGRXZk>j~|UEwA*VMb6)@SOnybZBM}d%>`ajVBdx!^Qf+OHs30{tdl@VKu!>pc z4u5M^6hxVV0DntS;r7ZjVd3F0pp$aSa3Ibjb>%=kd8E=4YI_ZlYIc8ddGU_>Jfx9p zFh0k?vCfXP96n%qWK9baL4}Pg<3dG_`oFX5!(iAL+wDtyXtj3xk{YPMImdv_k*t$e z3zC->JKQxCH6NVX++Z43lq$Kh18W%nEC;a!}2V{ew1*t z$ILp9Iks6WeS%W9sz?Qm2U%qmU%tE=fj%ffxJVQ39Hd zMPkwku6fTHnL%=E&)Y>R7%+v;?-4(x0}{}1%igC!1PJU6D7X*c9S7=L!j@h|yW$Zt z42B;}SA^sjbK5C>z&hWCFbn9ZyVQ#(U|-1_)5^`N@MM+l+!9jT@P%{nZAruMeYOG@#j#F~~H^>fInpXci4I z(Wk+qd|7>qrddMM2BFcW4XHbd;j}Ho!>kvPq|c}qNk3yu3p-)t&m>fm#a`Hp20YAQ zLrY|XjK2dz8XTekXU_I7jmVdGR&5Y#NinOQ8{QRPD^ZVcqiZ6X2!zW`F~Q4C4O zNhVN0AN0UaAcYRzM$?#nAmx+-_dvX%7pEXBGY=#?d}TTV<4MtG#-u>BnQg_?1Ak)Q z3#~=G=qF(<&FVaLC==-{4N?c0opqToLR|yDgKm;>>ThHhEyUw}WdTi+2J~2Gk`#b7 zu4UZ(yp}POGlOX**BT&sO6Y`LKqe1#osc>o2#leTd88iG%}h$)Mt1++%B^oe64=o2 z38V6?4rI!xry(#I1QZzGg9-a&Cv_N^$x3lw`}EPm)pk2v*Phxr>DozZ{rEO2`ZARj z{;tn;qp<6xb)m{OEMukCYGt!uWD8$p?e-co?j~C<-Qlp>V!3hu{>J^~TX$})-ukB{ z$hmc!9ww@4j=(i<_Pchwx3PX{Bjqc)Cr`XgeYuO{J_w5@NUc8l!?o<|#E+t=olDOYn&ZO(Zbs&p?;dAW_~ zwPU#r=kDds+T|Z9!IEXZzW zqageGcD9-QDeGj{tHIXW?at-3op09HyxGmg**{&L{Ud{uvGQrUlUcN~=o;$`7YnXr+eO zXl!^n#I*^g2Nq_^Nqw&|UL5LmZIMV?pRfJ39e%NX>5I|=lS<;>vy{}cpJ{SXnYdg6 znYnOy$m4|k1bDk$S111%m*sb3DC$&a?fft$n?dBI+)5LfS4=hINALKd8t(t3JMinF zAE(R&XC|wcMlnhJ?`WjktTlcXZ=>raX?Eo@#ETeKfJr4w@kk#;F5p0$d@u@`&7cm? zX^=-@;%|kJ`pHzEDDYA?c77sGWrZ$&r|!GFd>u)ONy+%9~WMt z227q5Vu-ZKgIt)fAxY0ie2P@$rytN^CMiuCc0&Hm(8aZ7$P)%dW>}^sRl2`-h=&y` zaF`I_;ND#-*9-AV5|+xv2S)x*31$c26=J*)%a9Ip!rUuNE{vw+LGiT|L@5d1(n6xfpdc1bi^AGd3AV!v zm}*Ne1Y6nR5naKteV;qvFb~m5A`VN*m%bUDtJ;88c)Vi z#0vQ7$vX{0as930`W+vO>$_MWpU)2uh-(w*8VaWG0Slakpj!~pExN}W^$vGu5b@i5 zW~RnbtY|n;#dQs(7ZOhoWN2QJ$^D~HAkAA!IJTnOf=~{#&65r#umpIM5n`zD8Qntj zS%@FdUB4Dh#Wmg&c;+jq1SmUP;3W_LCh4=AFaYe`+hu+7SAr_e- zwpIlh5v_mT>lIh}onMBdj%DGr*c$Z5&2B%(gI)KXKMWkM>J34vG^h|01+dzPytrksS|5Q!oAy&rSO=Gn4qQ!~MuQ=L_8 zczA!bvc!7*`oU7H2U@Sg7^iYND0lb`6Ed$KNPO8ll`zg3ICfYg%1GJ(=~g-qFOw;u zV;s5QvG0u?v2wzq#vKV03@QKggR^P69pm(l0avyBkT2=3m)+x!qHu{k( z!{lNzdH(N{iM-s|-oY1&dzXAs%F?Q)1us7T^-bOy%z9C~hnhA!Z@>63xt++#^MB6+ zeze7e*X2q)Bx<|CM8xAdZ+C5h9%~5TPvhiz&8r8D2>dHG|JNA2Tw@-yg3cG-SZgWZ zG39<#ne+2(HUJ+t(kNUWW-Devq!O{CYPrGk`Vlytax_w$_^H0TI#phNAu|N>+KW=P zE~(<#tlSQp41v%+Av&6EkYhwef{{$Nlw7>7T$h*)(d%;OZ;&tc8_LF+lBSc29?)EgmYt zeV++9F#zishQ za-ZS*$GE;Tl>ulKV1GYeS0LQ{}=L{$Sr!2tX0)H(xe*afRyd{xAuwP3#A;z3}CZZlC^<+1ed!47So&)*AAu@RHpkJXCI zfnZ8_?1m7=3+H_;u0fkqY!JlOcU7_q8uWCjo*O0&FqX#3ddBrzi5u+%LD5ObzVkNuS< znlshX2i+}O2(LVpusNEJ!+a*VR$&R4l=hr8Z*0#e25+fnO4abakezVf=eI2$&b+yn zy%F~~`x5p*3C~vZ*97~VM4SY>^)Nd@8{>QG;V}z{Egp-q@DXkf)WC;OgG5C?YhHMuS(087z$G!180fV2V5l(?We{|T8JXIwnq~kO~C~KX4%vY zqgX*?3!HT|q7o%bhzPc6+ByXQdgSX-15@7%uaj?*?xPY=N1M0GSlqUiP4{&s6OAhud(7^X<$Yq{vzZ!mO*(}(;(8)@fc;U8c#bX(<(!*ow7mh1bU2As zP5!PY9Ug|vQGl3p#(XkyfDLy-CvSF!LuE`EcKhd87Fh_6jr1iFx+WE-f=2m7VX~=9 z?;~`n9g?7F6;EMETn#(HQar+zNJfTYLBz9RYv!$D+s4z7sWY72T{ey9L*lFlwv()T z2XAI5ZSI6y=O!C5fp8o#^_`7}fAmF51_Q!OMC z5J#@9Sa$?dPwB!(TxyOfwc+UWxcKG5n=g)Oo2HkOH0rEKOB~xSwRy-bCHOU~Ld)(@ z3q)gOGhInUI_UZCwg}0NhM)gfp`m2I>16%IMhAi=pjpMM%^Dq#J*gW^_l1$-Mlkm<^JBSyThA@aV|x;Z08QU|E(AJ7 zfZ*Eo1c(5yBxqdGjBxKU-vy5b?XhKb+u-<~b8RHhS0)oJzfKJtF?OwG)^X<6fhX{5D9XL8%(otwcrV%1K zdJgQna@%Ty&LYM!ut~>&{Dm}oS7#l|YMyrBq&qrmj+;hn3Yz_9Z*ZDEEo3t43R%d)Q?DmOyMkWhK{bujz-M6p6`qdhD&aOrst22gP zr+sBy*p%?hd~*2i5WndBa%GL1qj3rfI=`4e;j?zjKe7mGMA7Yz6$TFoD{*=k+vj2m}*lHJnErWF~bLw?10OQ+J=F8XcZ;gwS zYpC>HU zOzFF}e?-j2{g?ViVnMKPOULu{?Gx-zO{#u{ED`Rzwz6TLIE4E+==QZhAl?GH3fN~K zW7uZ`LwBCSWGxxBZ}g`27sTV-$M3XM;Jy(H+)wPN?|UMGeUic14{S$p*cU8Pc>M_b zMuQpy3igQ?y{{!S_K6(rYxuSZU|%ibV5&=h_)6bj9KrsK3x{2qhjhEb&W3$oaWRM5 zPOb%;qcd=6JL28sOk&iUy>8QjX0LnN2YjbF>NKHgS)I`sn&a^ZT778Y7{<%tE4sZn zB3-{hA6i3bH^)tAw~nFRYUBSLF9T?|PTF+Aco*8Of8ZY@@9}>Q?LKsR-4p2atPXVg zZTz2{_gi?!a-X7s~Jx6^CGNw?R_+~}Pi_nLU=;l+Z} z&KOR6gX3lox+l;*BRJiD>$uy;Tko9c)5!pS?sSIGYxSCV>EXqK-gq!Ng|lXBG=Q__ z5YDimXPsZVW9Sb~hAU8 zzlTw;YmMQg52L~P7_82?iI*N;EU@}u4V$eFSm(!M7{5I~JJ#1I+{z~0Po|dSaONjhf(hlVo;n3z%c~j5#)O`laJ_P#+ z>=$6agquUSIf9!PaPtywzJ;4taPuA9d=Ik&m>t6G2xc!}_7Y~_!t52yzSCI-Triy< zS^JA}#XNxM5TYZ9UO@B`qHiI31<`j9eGkzO5FO&KKAUb>j(cw#olG-~wrT+vw z1L_=ra|q56I4{6?3C_3RyaMMtaJ~oU2XGGY@gX>eN8lX30O#-}I0;ZHsfL`v`*;8! z58>kxe0%{PU&6<4;o~d#_#J%w9zOm69}n^IA$&YMf{%wU;N#&-_?W=6T{^OK!Rns1 zq2C$wby;)cJraB_?0|$HV_DUgP9(*Z19ZF7H>qzkeRJ-TyGhUP<_(#?DQ9_dQCh4?9;ksxbEXyOUv6&Ex^dLy$)xUx0iG@>`IvKz;}E zdyqeXJjBO`APj}AZ{Ahpci?^x?hoJ|;^RYb z50Ah-d;#v^OK?l2aSvaCd-xr=hu?#H_yf2{2jCtd%p-7*UVwY_65OM2!998f?$LMP z9(@n)(GTFhH~<$*1G(m_eIB;Hz~^_((HHnU9-Vi-z~_@@&%*m)IQ{~kTZ8^d_w);V zMoQf5Q%bvIb^iljX${Zu1G+Xxt+(BAr!_tw;iF;88V^RD!O4l$8Pnslrge7pt~0W_ z0|Y~Bw=eK{G#GaA_MUFmdkf$04|HH3{`P2z`p2kz8H?3BlvJ+=Aq#luIYrwsHQRNT zxhAKyt&eVFDHn}peDQH{+1PH_uDkX9^6=GmV;M`^wHx0rw>}o$*s|qP+S_+4uWQTBzyFSx#r( z@k~rQ?5EI=*0cODBkyP7p4gNO~8{y~Mx@B(f~xF5T&T=?2rK zE2m4w#nO}0rKc_wyZn5x`{K*em;Tb1Vkx*-3b9%<-wn35E8-lFn5s*R zUD)!{UCIF8l0o3xtKa+fG7fy(#ut3sZ){!MP7MHedl~o=)1}|QLM~XP=M0ETaV$UWkTs)K~_N5O@=E8A!3@0{`JMx?XIl>2j*JmtyLv6?lT(Y#qK@ zN(3dDPu(YNwMEDj@@N_1KbDK7n6a!m8>_vhg8XBt#8%qIjU}S&c0cE*;sGjB<|?>zn5 z&PTS`$7RTtj$Aszr2yl8)v!jmcCrh+0s|bxmx;cY5U8CT>5;wVW#HL)od+X z0O#oag^ZNAyKK~87ry3Kuan>uL|m$wcb5a1+T2>vV_Xz$c3k}RZ*m~Xm zy4~U04PZ5~TkG|!pxkDBxqO&RCX>s;ldl($D;p`yi0d+EBxU&st--I)d&NF%wM1sl z_w>cnXKyYW2jmpf-kV+S)JWuK!R|J`KfO3O)b9eJ$J7fqysr&%r6^ag8@@~RC&mF^ z?Mv=qy*?$Q`&7U5v&%ozRx8G8A8ae~iF-v33AKy0gS{V;sA)Ic7?wN$6hTakn%+7v zuQeRp#y;?2`ba)JS0s7>uD!(D|r7Jh6a(ftuzlDoiPFDv!SS?{Xg%r5mqF`4XN zz23XrN!{3uo2OR^YbsMjTkm=xliB>yh_$T>B0hHIV=GnR@iAZcuSKX-w0R<*KWK~X zG4iDwX%{?b2yz_`=S2SU_PI+ou5xeH(zj|G-n#fOkxy!Ge*EdT%blFSHI!v5|58pZ zpxt_1iG?DptKB65Atl~y#RE$JeM&d!>KnZi`JPmN%&y;hrO*n3{^K|8L2LZ$uv4j) zP;iJ?i32%;S1^!P`%>*&s$kCwf3+XK+1txyS=-yommrT=RZcszeyLE3O)EK>d^4F` zwA#&avsBK>}u&FAvs%TZRrSk`xRhx$U zSGDWp$4Om-oP1r|mfYdiez$MzET(O3PHpkWJD^0OA5cX4aniU8{378g(ywauq#q{@ zvbmc3Zi7R>$Dm5u!#SI<^~O)tv@TzyT)4CaumhGEo5dNr{?m^WdAU<K4+X4P zt=wPWamz(ITXMPc2!G=F^DzA4a^37)uNOUyndCK-O3Or%{kL%^)F=rkJ-+CpdHKY z{_|&54!PN#9Yj9c1=|g{QA+%Gz?o!fi=tny)iuY5i#LkS(Rl$t1koX-p;| zR&ekCGnsstOm;3mA7MRnpRUlFdObC1oLO+&T+cPD+7GYycN(uN8a=Oyv|a`8p)Sw^ z_)ivbGP&5tR=Ql%`BfQ{*{wB*m(P>ltIG6h13q4TEhgd?g>-$w)Z68{QBhC{<8Ecy zE+&(`$z*@ikjcODH6@K~DHHpj4~^T&WM@MO%+qIIIk}}%WaXL%R<;Vns3<&tSR?lF z&Eb=n*cMJ0w7z%jNNFc}uIJc_3%R|q2dA;`GgZ}xTa(H2o#kY*hnM}GC6WXr2CrXh zS0xpN$%yO5JXbhfS)TpDxU(F0hf96j-|UZ<@0+83w|}~9HP6T0L4W&o$)UnSEo3av zNF{jct#M7c=#}D39K=$QbzHq0GG^m*9=y1~NxHCC3c<$3hbOPe`yK9?R;oIg98V_C zw;JDEkm+Z6xxIp-Ta!un`RL1XGI?HdjHzutGwIk7bF<9yg-A>Jhj4o`p;Fy`HR7&s ze-=awTY8)6N%GR4?}KD3tIh9j?1mckLhXT0sBP?nLT>-se!!A_eMdZc9x8PYY}vlr zOfvp;ofMJ{H=$)U*LBeqcF)!3-nrU-{KT8kgTNL_ci02#uQJzj^E&IvZ@=yDG-|ac zl`E?!^zg}}MhuC(B@RGH2wVlBAvKH+HdLBxJVH)jil+UFO$Uv!So zzh*T;lFHI7o5Briku7}udb_c;P%2vDMJ{J5(&m9Z;VcQ#>jqA5)($QxpW}kEP?WVM z9lnO7P(iZX9!Xes*TT(rC4w#i%qUrzhGl1*7nfxRNq?>wmFE;$K`tr_QfzE^g#V?@ zF1G$4i9Y=5gD_i0%u&DR7#mPJ4a>|d63m)5Tvc$cOV;WVPr%ylV!`5KVk5wqG9*{d zp0VSX%5m3-(<|b{vOWpWYLhtHSl=vynHQ2{p3E4cG2zQy|NF&eVHK8{bC^M-U{whEmX2&A)Rm9FmSkA!bpo zLtE(dPU!d?7eiGqBz}z}Ixdunq+G3N!d3DaA|G>@OX|c3wn^>QH9eW0-CA!4qw&w3 zUoCi}9b`zRz!q~!#{6n4CwZyosn<|xz6^+`T3J*StYzRK z8#(xbrU1oN4QwqAgSc^C1QqPU<|1p-ZdqO zn8=Zzt2?BV}Ai}sBNolz;7-xkm0C{50mZ7=k=9ooSJ0&a%YV-sob!K9jGCF z%Sgz&xgB0>Ly!5Yq~XV$u{;Vb=!MKl{GY;)YGIG-N99()tw*EQBe1FV$o_v!)7I;t zCxpL4ixiz>C+AUer7)yf=)}snmNL$xj8`d|ta0*5-4<1}{r1|HC)B8JzDKuSC6b?Ef#u>4(Tm_3(v1MtFADR-n*%>+MTI&cGy8S(sd3+>PxIn-=L0EGP>vtzB3a z-m3H=R(fNNgNEeyzs9EIU&`Q9(Cf=x7~FOka;5jEIH-NeAtq}_p{7)uM{U(XZ1slX z@obb>@da1c?0&si@o}^D^SImk+4!(YrG*pT(r*{!Ue>zI41xavEo`XSi|ZOZ=sy!` z$HeqVtueKPr%08vbLT0#G@}Skxs0c9$`yw`yM;kWPlt9aQxl37Q^&S)7CkRy5@Ta8 zU;?aIMmT=P;jNnv-4?sLK8OiVJfp59y@K+b}Ce=vq- zzYT*?`fkpdL5l}g#2jd)uJ6)N)Aykx1Q$Ja!;V(@l>iB z8E!r4{?ci$H1xl1HQr=R{q*YD-!3zO!hc)coe|W-NE~AwsWo5 zyWsM$rnKLLd$TxB}6b!11@pN*#V;bPm=N)U>zI@ca0r9ez z9+D&?QGh3Zz1(^IdaLoxo9#_fMEX7bT9K{v1u^0i6Fj#jw8??3qlJ{g24DN7B_r`= zj@9FS;VJBuNw@TU|xFEQa~r_5x^g=pe<$ zOLqpH&^?Jm2k$y&F`qdl^JJK;8RVVNeeWr}$3ZqlQI02E0D&reda4a}bZ5{Ffedj% zpWP`KF)Yj|nY$=Y&1NoHvQaDollgeTLKt&1eZ5P#|L<`n{hm%Muxz#6Ox?QI9d|~} z9=6>WC#w^hteT+<{n+=R&lLU#b#WeBvUU-W0wDMV&VkIfZj74y)-5=>&kA)_5 z=D8*`=Ei{Cv8QkXKK2yO#mAl+jPN?b6&k~kweV&N1Ha%CpF7vu%A;9;*uD>~_E^~W z&|;pCAX^K8|MxUopE5=FVN7Tzxvwobny@x6mXFY^4#u8xi!4AT5o1!)MBAPui*+X2 z3G=ZN?!+>QoHA98zom1IT*8p&ACD2&O!TeirZ4t9sor_)Hi@6{oAjB*va(r45Y~dH zpNs`#284t*bD-^s7LV@fPBsuRbjq|*$hIdakG3a9+L~C~_o>m%Ju$6kqEp+sJ`s%N z<5)W-@+m3mVH(-vYWw~mVjXLFa~+)kyRibnYUu8m&zV^Uw?dJ^}O&pmt-xtAeJO1 zwY6_F40g2DHw>P5p?l&9sZGizDXEQFN+1(#7&>LDNg}LCtP?t%)N)L`$HO^oo=hAu z-2@9|N#gl;sYgv1HwH;KG0sXRxI>AnAPN(%Vt|k-3AD*YF-2+YCjs1Zq>(XilCgOm zckUgZ<-?sIQu?7~->@7+JqetUGi8&IZx9O`#7%-p-K|`8Gzm&Wx=`fp>qJHPjo^3p zG(}O%oSt{h*uanyzK%6-ykdf}tXW8FEtqpX<#(l29!z;TiG1#yu`n(^Xs=}4j)UO7 znACASRZKY*cC_%Eaw3nTVp7*B7g-bgLXsX?#UxLbUrH!tWoj44ec{P!RWYUFJszq> z%P!?VnEqZ&7?vwL6nw6&-RDzBw(FIe-WaJZq>b(AO2TT+t>e~%x+$5MbJk5QcG`o3(WJueDCsAyZlxr1gRxaEmoHl8$T`Z>F zGCwlGWONqmov%{9I+n79O2@ca3%_M|@RqBe**#8jZ&i-MnaH_hqB%#{Z{LS5bjb$> zPHz~(3DVrDF-(}I2@Dffc0Uk8mY9mxq4P-J z-!B;R;Y`l4)}}~<>F;J5N<-b`P#2RldJLw&W0wu4zth|`2=#seH(%)*FrS#)l?<_t zL+_6HG;7H?(6Q5m8c@t)ws01S!w-!pCSn#eCYCmniPMZ>!i0hz7oNILlHS{%%7;_P zM8pTPSr!h{AfhyO(MX%X9kIE=!x5X~&huw>p9J68J_ZRpN6Z*bAJMV!C=T)8l=?~~ z8O0&pX^oGUpBamqWR?+dg+Y534A9{>bAg;SB#Xv;M1x7}FXM*K@^QyzVctXEzSkj( zsrU8`d&m7aU|>bQEf+)!2cd~!8|V=3G%)$2P+*z5>ox7v7RhGDB5$u$UrV`((RB=R z-L@8ag*7kad;m3Fw>2{1mOf-Nu@f!=TO|>}gQnH$cJ(;aiQUjrA_>c;-;aY_ELzxE z3_nd{7km$aEK=19yvZuVzjPLW9Q_FCW-x$2T6ALlVF&HaV-6mp#?bb-HPj9gFoZN>%)3Jji?KDCUaGHrDovy<` zX9#U?Hq)VQ=qVU;?&H)t7WTcNSGXd|qO=0UsF_|dh_9G2oJ6ygQ7%PKfVl+1`6Qm3 zFLO!7Z>-!m7P)Mb<#0iRl|+Kw#zf7-h1KCp6}y5$p|}G@7Ad2F~tkL!23jQ5{l9D z(B+iGb^WO2$2>COG;1rDABKe;Qt^E)M2#; z-_$DCa*s?N=&zC_7P__V!sj{3$Xq4gHAmg%aj&yd%S-_N*+o+udCJRO=3yA);$;XA z%Gl=`vMd*x379^qms`Pz;8#A$n^vjh|EFN9zJ~RZHTw7EvXJy;cSWEz%b~Wm;8jl^ zUGQ4f*YLFkuSN!aezytX2?LM2{pRS`!kK-=Iev8(c@K#jF{X584>^>4TB(uoY>iaa zYxqpS_7cOPq(r2L2_z=G&3%uD4ud`?3Xc>zS?JO%m9BFmVb24b=_PcYh5 z)Jg)+kM7sWWD@?No~^<`D2rFUhMKA3ig>mDZECIL%P-ZRRyTk0t5!BD{xktuSCQmb z#*V#8qEh~CBr@e+f?+>C02I<{|5V%f;@aNH|2C1j@^3xqEB_wEyz=is(pdg&#LM!p zM1fWwe@#QJBZ2wfdQw~d{o#gMONz_Ce`!OlfBdEL$?E$R&yD zO*9ua&g{<-u`F~F`#v?Dj`qAT@xG`N2S@W0fS@%CE?X25R z!=nxvfXATqcJMyACq8*hH2J!nCKwR;g#Mt}8h78Nu=>q3q@Og$*|Wjutl7iZd0!Wi z4ui2q}Yo_gq|i;T(g%;-g+-PD-; z^p@wbQ}4Q&^sgEX3i7}3fDAAc>&SsJq|+$+;V`*2C7L1-Ad7gRB+* z`}OCLxVFe!Fs<3H1Geje?RvLlV8RYv4{Rx5>i7btz6(<^b?_o#DjW_YYh4u`os%y_YWBKUGQD}d*Hhg5SA}}@TGu&-{Aii5LD4Q zAA;3TLpFzyN5BPe;Q_8!A|62$%LNF^Q80yn4+Q2XxDTYmK6OA&@h&J(c6!bnkZb{R z>fx(+@$fxQ;^h`3^FV6%!62C=wRXvFK(bFD>7+xgeDU8Ba?�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%0D}c=7$5}V1X#Xw!e)<%Kc-^Dz{Ucc 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

JP83OQdL#5EMT^(l6qfoLDA4?c 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%0A`Afo-yO3I+!PV_!{yBp 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 afYcz2gACL!0IHS}@PmXgSu7+of&T%*XN`{l literal 0 HcmV?d00001 diff --git a/src/f5stego.ts b/src/f5stego.ts index d403096..7004dc4 100644 --- a/src/f5stego.ts +++ b/src/f5stego.ts @@ -774,7 +774,7 @@ export class f5stego { // EMIT BITS HERE component.blocks[pos + k] = (bitsData >>> (bitsCount - s)) & ((1 << s) - 1); if (component.blocks[pos + k] < 1 << (s - 1)) component.blocks[pos + k] += (-1 << s) + 1; - if (component.blocks[pos + k] != 0) { + if (this.gengen && component.blocks[pos + k] != 0) { const v = (component.blocks[pos + k] < 0) ? 1 - (component.blocks[pos + k] & 1) : (component.blocks[pos + k] & 1); const it = this.gengen.next(v);