UNPKG

@pichxyaponn/tw-angpao

Version:

ระบบรับเงินจาก Truewallet (ซองอั่งเปา) ด้วย ElysiaJS

1,891 lines (1,871 loc) 459 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require2() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); // node_modules/cookie/dist/index.js var require_dist = __commonJS({ "node_modules/cookie/dist/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = parse2; exports.serialize = serialize2; var cookieNameRegExp = /^[\u0021-\u003A\u003C\u003E-\u007E]+$/; var cookieValueRegExp = /^[\u0021-\u003A\u003C-\u007E]*$/; var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i; var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/; var __toString = Object.prototype.toString; var NullObject = /* @__PURE__ */ (() => { const C = function() { }; C.prototype = /* @__PURE__ */ Object.create(null); return C; })(); function parse2(str, options) { const obj = new NullObject(); const len = str.length; if (len < 2) return obj; const dec = options?.decode || decode4; let index = 0; do { const eqIdx = str.indexOf("=", index); if (eqIdx === -1) break; const colonIdx = str.indexOf(";", index); const endIdx = colonIdx === -1 ? len : colonIdx; if (eqIdx > endIdx) { index = str.lastIndexOf(";", eqIdx - 1) + 1; continue; } const keyStartIdx = startIndex(str, index, eqIdx); const keyEndIdx = endIndex(str, eqIdx, keyStartIdx); const key = str.slice(keyStartIdx, keyEndIdx); if (obj[key] === void 0) { let valStartIdx = startIndex(str, eqIdx + 1, endIdx); let valEndIdx = endIndex(str, endIdx, valStartIdx); const value = dec(str.slice(valStartIdx, valEndIdx)); obj[key] = value; } index = endIdx + 1; } while (index < len); return obj; } function startIndex(str, index, max2) { do { const code = str.charCodeAt(index); if (code !== 32 && code !== 9) return index; } while (++index < max2); return max2; } function endIndex(str, index, min) { while (index > min) { const code = str.charCodeAt(--index); if (code !== 32 && code !== 9) return index + 1; } return min; } function serialize2(name, val, options) { const enc = options?.encode || encodeURIComponent; if (!cookieNameRegExp.test(name)) { throw new TypeError(`argument name is invalid: ${name}`); } const value = enc(val); if (!cookieValueRegExp.test(value)) { throw new TypeError(`argument val is invalid: ${val}`); } let str = name + "=" + value; if (!options) return str; if (options.maxAge !== void 0) { if (!Number.isInteger(options.maxAge)) { throw new TypeError(`option maxAge is invalid: ${options.maxAge}`); } str += "; Max-Age=" + options.maxAge; } if (options.domain) { if (!domainValueRegExp.test(options.domain)) { throw new TypeError(`option domain is invalid: ${options.domain}`); } str += "; Domain=" + options.domain; } if (options.path) { if (!pathValueRegExp.test(options.path)) { throw new TypeError(`option path is invalid: ${options.path}`); } str += "; Path=" + options.path; } if (options.expires) { if (!isDate(options.expires) || !Number.isFinite(options.expires.valueOf())) { throw new TypeError(`option expires is invalid: ${options.expires}`); } str += "; Expires=" + options.expires.toUTCString(); } if (options.httpOnly) { str += "; HttpOnly"; } if (options.secure) { str += "; Secure"; } if (options.partitioned) { str += "; Partitioned"; } if (options.priority) { const priority = typeof options.priority === "string" ? options.priority.toLowerCase() : void 0; switch (priority) { case "low": str += "; Priority=Low"; break; case "medium": str += "; Priority=Medium"; break; case "high": str += "; Priority=High"; break; default: throw new TypeError(`option priority is invalid: ${options.priority}`); } } if (options.sameSite) { const sameSite = typeof options.sameSite === "string" ? options.sameSite.toLowerCase() : options.sameSite; switch (sameSite) { case true: case "strict": str += "; SameSite=Strict"; break; case "lax": str += "; SameSite=Lax"; break; case "none": str += "; SameSite=None"; break; default: throw new TypeError(`option sameSite is invalid: ${options.sameSite}`); } } return str; } function decode4(str) { if (str.indexOf("%") === -1) return str; try { return decodeURIComponent(str); } catch (e) { return str; } } function isDate(val) { return __toString.call(val) === "[object Date]"; } } }); // node_modules/fast-decode-uri-component/index.js var require_fast_decode_uri_component = __commonJS({ "node_modules/fast-decode-uri-component/index.js"(exports, module) { "use strict"; var UTF8_ACCEPT = 12; var UTF8_REJECT = 0; var UTF8_DATA = [ // The first part of the table maps bytes to character to a transition. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 10, 9, 9, 9, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // The second part of the table maps a state to a new state when adding a // transition. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 24, 36, 48, 60, 72, 84, 96, 0, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // The third part maps the current transition to a mask that needs to apply // to the byte. 127, 63, 63, 63, 0, 31, 15, 15, 15, 7, 7, 7 ]; function decodeURIComponent2(uri2) { var percentPosition = uri2.indexOf("%"); if (percentPosition === -1) return uri2; var length = uri2.length; var decoded = ""; var last = 0; var codepoint = 0; var startOfOctets = percentPosition; var state = UTF8_ACCEPT; while (percentPosition > -1 && percentPosition < length) { var high = hexCodeToInt(uri2[percentPosition + 1], 4); var low = hexCodeToInt(uri2[percentPosition + 2], 0); var byte2 = high | low; var type = UTF8_DATA[byte2]; state = UTF8_DATA[256 + state + type]; codepoint = codepoint << 6 | byte2 & UTF8_DATA[364 + type]; if (state === UTF8_ACCEPT) { decoded += uri2.slice(last, startOfOctets); decoded += codepoint <= 65535 ? String.fromCharCode(codepoint) : String.fromCharCode( 55232 + (codepoint >> 10), 56320 + (codepoint & 1023) ); codepoint = 0; last = percentPosition + 3; percentPosition = startOfOctets = uri2.indexOf("%", last); } else if (state === UTF8_REJECT) { return null; } else { percentPosition += 3; if (percentPosition < length && uri2.charCodeAt(percentPosition) === 37) continue; return null; } } return decoded + uri2.slice(last); } var HEX = { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "a": 10, "A": 10, "b": 11, "B": 11, "c": 12, "C": 12, "d": 13, "D": 13, "e": 14, "E": 14, "f": 15, "F": 15 }; function hexCodeToInt(c, shift) { var i = HEX[c]; return i === void 0 ? 255 : i << shift; } module.exports = decodeURIComponent2; } }); // node_modules/peek-readable/lib/Errors.js var defaultMessages, EndOfStreamError, AbortError; var init_Errors = __esm({ "node_modules/peek-readable/lib/Errors.js"() { "use strict"; defaultMessages = "End-Of-Stream"; EndOfStreamError = class extends Error { constructor() { super(defaultMessages); this.name = "EndOfStreamError"; } }; AbortError = class extends Error { constructor(message = "The operation was aborted") { super(message); this.name = "AbortError"; } }; } }); // node_modules/peek-readable/lib/Deferred.js var Deferred; var init_Deferred = __esm({ "node_modules/peek-readable/lib/Deferred.js"() { "use strict"; Deferred = class { constructor() { this.resolve = () => null; this.reject = () => null; this.promise = new Promise((resolve, reject) => { this.reject = reject; this.resolve = resolve; }); } }; } }); // node_modules/peek-readable/lib/AbstractStreamReader.js var AbstractStreamReader; var init_AbstractStreamReader = __esm({ "node_modules/peek-readable/lib/AbstractStreamReader.js"() { "use strict"; init_Errors(); AbstractStreamReader = class { constructor() { this.endOfStream = false; this.interrupted = false; this.peekQueue = []; } async peek(uint8Array, mayBeLess = false) { const bytesRead = await this.read(uint8Array, mayBeLess); this.peekQueue.push(uint8Array.subarray(0, bytesRead)); return bytesRead; } async read(buffer, mayBeLess = false) { if (buffer.length === 0) { return 0; } let bytesRead = this.readFromPeekBuffer(buffer); if (!this.endOfStream) { bytesRead += await this.readRemainderFromStream(buffer.subarray(bytesRead), mayBeLess); } if (bytesRead === 0) { throw new EndOfStreamError(); } return bytesRead; } /** * Read chunk from stream * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in * @returns Number of bytes read */ readFromPeekBuffer(buffer) { let remaining = buffer.length; let bytesRead = 0; while (this.peekQueue.length > 0 && remaining > 0) { const peekData = this.peekQueue.pop(); if (!peekData) throw new Error("peekData should be defined"); const lenCopy = Math.min(peekData.length, remaining); buffer.set(peekData.subarray(0, lenCopy), bytesRead); bytesRead += lenCopy; remaining -= lenCopy; if (lenCopy < peekData.length) { this.peekQueue.push(peekData.subarray(lenCopy)); } } return bytesRead; } async readRemainderFromStream(buffer, mayBeLess) { let bytesRead = 0; while (bytesRead < buffer.length && !this.endOfStream) { if (this.interrupted) { throw new AbortError(); } const chunkLen = await this.readFromStream(buffer.subarray(bytesRead), mayBeLess); if (chunkLen === 0) break; bytesRead += chunkLen; } if (!mayBeLess && bytesRead < buffer.length) { throw new EndOfStreamError(); } return bytesRead; } }; } }); // node_modules/peek-readable/lib/StreamReader.js var StreamReader; var init_StreamReader = __esm({ "node_modules/peek-readable/lib/StreamReader.js"() { "use strict"; init_Errors(); init_Deferred(); init_AbstractStreamReader(); StreamReader = class extends AbstractStreamReader { constructor(s) { super(); this.s = s; this.deferred = null; if (!s.read || !s.once) { throw new Error("Expected an instance of stream.Readable"); } this.s.once("end", () => { this.endOfStream = true; if (this.deferred) { this.deferred.resolve(0); } }); this.s.once("error", (err2) => this.reject(err2)); this.s.once("close", () => this.abort()); } /** * Read chunk from stream * @param buffer Target Uint8Array (or Buffer) to store data read from stream in * @param mayBeLess - If true, may fill the buffer partially * @returns Number of bytes read */ async readFromStream(buffer, mayBeLess) { if (buffer.length === 0) return 0; const readBuffer = this.s.read(buffer.length); if (readBuffer) { buffer.set(readBuffer); return readBuffer.length; } const request = { buffer, mayBeLess, deferred: new Deferred() }; this.deferred = request.deferred; this.s.once("readable", () => { this.readDeferred(request); }); return request.deferred.promise; } /** * Process deferred read request * @param request Deferred read request */ readDeferred(request) { const readBuffer = this.s.read(request.buffer.length); if (readBuffer) { request.buffer.set(readBuffer); request.deferred.resolve(readBuffer.length); this.deferred = null; } else { this.s.once("readable", () => { this.readDeferred(request); }); } } reject(err2) { this.interrupted = true; if (this.deferred) { this.deferred.reject(err2); this.deferred = null; } } async abort() { this.reject(new AbortError()); } async close() { return this.abort(); } }; } }); // node_modules/peek-readable/lib/WebStreamReader.js var WebStreamReader; var init_WebStreamReader = __esm({ "node_modules/peek-readable/lib/WebStreamReader.js"() { "use strict"; init_AbstractStreamReader(); WebStreamReader = class extends AbstractStreamReader { constructor(reader) { super(); this.reader = reader; } async abort() { return this.close(); } async close() { this.reader.releaseLock(); } }; } }); // node_modules/peek-readable/lib/WebStreamByobReader.js var WebStreamByobReader; var init_WebStreamByobReader = __esm({ "node_modules/peek-readable/lib/WebStreamByobReader.js"() { "use strict"; init_WebStreamReader(); WebStreamByobReader = class extends WebStreamReader { /** * Read from stream * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in * @param mayBeLess - If true, may fill the buffer partially * @protected Bytes read */ async readFromStream(buffer, mayBeLess) { if (buffer.length === 0) return 0; const result = await this.reader.read(new Uint8Array(buffer.length), { min: mayBeLess ? void 0 : buffer.length }); if (result.done) { this.endOfStream = result.done; } if (result.value) { buffer.set(result.value); return result.value.length; } return 0; } }; } }); // node_modules/peek-readable/lib/WebStreamDefaultReader.js var WebStreamDefaultReader; var init_WebStreamDefaultReader = __esm({ "node_modules/peek-readable/lib/WebStreamDefaultReader.js"() { "use strict"; init_Errors(); init_AbstractStreamReader(); WebStreamDefaultReader = class extends AbstractStreamReader { constructor(reader) { super(); this.reader = reader; this.buffer = null; } /** * Copy chunk to target, and store the remainder in this.buffer */ writeChunk(target, chunk) { const written = Math.min(chunk.length, target.length); target.set(chunk.subarray(0, written)); if (written < chunk.length) { this.buffer = chunk.subarray(written); } else { this.buffer = null; } return written; } /** * Read from stream * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in * @param mayBeLess - If true, may fill the buffer partially * @protected Bytes read */ async readFromStream(buffer, mayBeLess) { if (buffer.length === 0) return 0; let totalBytesRead = 0; if (this.buffer) { totalBytesRead += this.writeChunk(buffer, this.buffer); } while (totalBytesRead < buffer.length && !this.endOfStream) { const result = await this.reader.read(); if (result.done) { this.endOfStream = true; break; } if (result.value) { totalBytesRead += this.writeChunk(buffer.subarray(totalBytesRead), result.value); } } if (totalBytesRead === 0 && this.endOfStream) { throw new EndOfStreamError(); } return totalBytesRead; } abort() { this.interrupted = true; return this.reader.cancel(); } async close() { await this.abort(); this.reader.releaseLock(); } }; } }); // node_modules/peek-readable/lib/WebStreamReaderFactory.js function makeWebStreamReader(stream) { try { const reader = stream.getReader({ mode: "byob" }); if (reader instanceof ReadableStreamDefaultReader) { return new WebStreamDefaultReader(reader); } return new WebStreamByobReader(reader); } catch (error) { if (error instanceof TypeError) { return new WebStreamDefaultReader(stream.getReader()); } throw error; } } var init_WebStreamReaderFactory = __esm({ "node_modules/peek-readable/lib/WebStreamReaderFactory.js"() { "use strict"; init_WebStreamByobReader(); init_WebStreamDefaultReader(); } }); // node_modules/peek-readable/lib/index.js var init_lib = __esm({ "node_modules/peek-readable/lib/index.js"() { "use strict"; init_Errors(); init_StreamReader(); init_WebStreamByobReader(); init_WebStreamDefaultReader(); init_WebStreamReaderFactory(); } }); // node_modules/strtok3/lib/AbstractTokenizer.js var AbstractTokenizer; var init_AbstractTokenizer = __esm({ "node_modules/strtok3/lib/AbstractTokenizer.js"() { "use strict"; init_lib(); AbstractTokenizer = class { /** * Constructor * @param options Tokenizer options * @protected */ constructor(options) { this.numBuffer = new Uint8Array(8); this.position = 0; this.onClose = options?.onClose; if (options?.abortSignal) { options.abortSignal.addEventListener("abort", () => { this.abort(); }); } } /** * Read a token from the tokenizer-stream * @param token - The token to read * @param position - If provided, the desired position in the tokenizer-stream * @returns Promise with token data */ async readToken(token, position = this.position) { const uint8Array = new Uint8Array(token.len); const len = await this.readBuffer(uint8Array, { position }); if (len < token.len) throw new EndOfStreamError(); return token.get(uint8Array, 0); } /** * Peek a token from the tokenizer-stream. * @param token - Token to peek from the tokenizer-stream. * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position. * @returns Promise with token data */ async peekToken(token, position = this.position) { const uint8Array = new Uint8Array(token.len); const len = await this.peekBuffer(uint8Array, { position }); if (len < token.len) throw new EndOfStreamError(); return token.get(uint8Array, 0); } /** * Read a numeric token from the stream * @param token - Numeric token * @returns Promise with number */ async readNumber(token) { const len = await this.readBuffer(this.numBuffer, { length: token.len }); if (len < token.len) throw new EndOfStreamError(); return token.get(this.numBuffer, 0); } /** * Read a numeric token from the stream * @param token - Numeric token * @returns Promise with number */ async peekNumber(token) { const len = await this.peekBuffer(this.numBuffer, { length: token.len }); if (len < token.len) throw new EndOfStreamError(); return token.get(this.numBuffer, 0); } /** * Ignore number of bytes, advances the pointer in under tokenizer-stream. * @param length - Number of bytes to ignore * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available */ async ignore(length) { if (this.fileInfo.size !== void 0) { const bytesLeft = this.fileInfo.size - this.position; if (length > bytesLeft) { this.position += bytesLeft; return bytesLeft; } } this.position += length; return length; } async close() { await this.abort(); await this.onClose?.(); } normalizeOptions(uint8Array, options) { if (!this.supportsRandomAccess() && options && options.position !== void 0 && options.position < this.position) { throw new Error("`options.position` must be equal or greater than `tokenizer.position`"); } return { ...{ mayBeLess: false, offset: 0, length: uint8Array.length, position: this.position }, ...options }; } abort() { return Promise.resolve(); } }; } }); // node_modules/strtok3/lib/ReadStreamTokenizer.js var maxBufferSize, ReadStreamTokenizer; var init_ReadStreamTokenizer = __esm({ "node_modules/strtok3/lib/ReadStreamTokenizer.js"() { "use strict"; init_AbstractTokenizer(); init_lib(); maxBufferSize = 256e3; ReadStreamTokenizer = class extends AbstractTokenizer { /** * Constructor * @param streamReader stream-reader to read from * @param options Tokenizer options */ constructor(streamReader, options) { super(options); this.streamReader = streamReader; this.fileInfo = options?.fileInfo ?? {}; } /** * Read buffer from tokenizer * @param uint8Array - Target Uint8Array to fill with data read from the tokenizer-stream * @param options - Read behaviour options * @returns Promise with number of bytes read */ async readBuffer(uint8Array, options) { const normOptions = this.normalizeOptions(uint8Array, options); const skipBytes = normOptions.position - this.position; if (skipBytes > 0) { await this.ignore(skipBytes); return this.readBuffer(uint8Array, options); } if (skipBytes < 0) { throw new Error("`options.position` must be equal or greater than `tokenizer.position`"); } if (normOptions.length === 0) { return 0; } const bytesRead = await this.streamReader.read(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess); this.position += bytesRead; if ((!options || !options.mayBeLess) && bytesRead < normOptions.length) { throw new EndOfStreamError(); } return bytesRead; } /** * Peek (read ahead) buffer from tokenizer * @param uint8Array - Uint8Array (or Buffer) to write data to * @param options - Read behaviour options * @returns Promise with number of bytes peeked */ async peekBuffer(uint8Array, options) { const normOptions = this.normalizeOptions(uint8Array, options); let bytesRead = 0; if (normOptions.position) { const skipBytes = normOptions.position - this.position; if (skipBytes > 0) { const skipBuffer = new Uint8Array(normOptions.length + skipBytes); bytesRead = await this.peekBuffer(skipBuffer, { mayBeLess: normOptions.mayBeLess }); uint8Array.set(skipBuffer.subarray(skipBytes)); return bytesRead - skipBytes; } if (skipBytes < 0) { throw new Error("Cannot peek from a negative offset in a stream"); } } if (normOptions.length > 0) { try { bytesRead = await this.streamReader.peek(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess); } catch (err2) { if (options?.mayBeLess && err2 instanceof EndOfStreamError) { return 0; } throw err2; } if (!normOptions.mayBeLess && bytesRead < normOptions.length) { throw new EndOfStreamError(); } } return bytesRead; } async ignore(length) { const bufSize = Math.min(maxBufferSize, length); const buf = new Uint8Array(bufSize); let totBytesRead = 0; while (totBytesRead < length) { const remaining = length - totBytesRead; const bytesRead = await this.readBuffer(buf, { length: Math.min(bufSize, remaining) }); if (bytesRead < 0) { return bytesRead; } totBytesRead += bytesRead; } return totBytesRead; } abort() { return this.streamReader.abort(); } async close() { return this.streamReader.close(); } supportsRandomAccess() { return false; } }; } }); // node_modules/strtok3/lib/BufferTokenizer.js var BufferTokenizer; var init_BufferTokenizer = __esm({ "node_modules/strtok3/lib/BufferTokenizer.js"() { "use strict"; init_lib(); init_AbstractTokenizer(); BufferTokenizer = class extends AbstractTokenizer { /** * Construct BufferTokenizer * @param uint8Array - Uint8Array to tokenize * @param options Tokenizer options */ constructor(uint8Array, options) { super(options); this.uint8Array = uint8Array; this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: uint8Array.length } }; } /** * Read buffer from tokenizer * @param uint8Array - Uint8Array to tokenize * @param options - Read behaviour options * @returns {Promise<number>} */ async readBuffer(uint8Array, options) { if (options?.position) { this.position = options.position; } const bytesRead = await this.peekBuffer(uint8Array, options); this.position += bytesRead; return bytesRead; } /** * Peek (read ahead) buffer from tokenizer * @param uint8Array * @param options - Read behaviour options * @returns {Promise<number>} */ async peekBuffer(uint8Array, options) { const normOptions = this.normalizeOptions(uint8Array, options); const bytes2read = Math.min(this.uint8Array.length - normOptions.position, normOptions.length); if (!normOptions.mayBeLess && bytes2read < normOptions.length) { throw new EndOfStreamError(); } uint8Array.set(this.uint8Array.subarray(normOptions.position, normOptions.position + bytes2read)); return bytes2read; } close() { return super.close(); } supportsRandomAccess() { return true; } setPosition(position) { this.position = position; } }; } }); // node_modules/strtok3/lib/core.js function fromStream(stream, options) { const streamReader = new StreamReader(stream); const _options = options ?? {}; const chainedClose = _options.onClose; _options.onClose = async () => { await streamReader.close(); if (chainedClose) { return chainedClose(); } }; return new ReadStreamTokenizer(streamReader, _options); } function fromWebStream(webStream, options) { const webStreamReader = makeWebStreamReader(webStream); const _options = options ?? {}; const chainedClose = _options.onClose; _options.onClose = async () => { await webStreamReader.close(); if (chainedClose) { return chainedClose(); } }; return new ReadStreamTokenizer(webStreamReader, _options); } function fromBuffer(uint8Array, options) { return new BufferTokenizer(uint8Array, options); } var init_core = __esm({ "node_modules/strtok3/lib/core.js"() { "use strict"; init_lib(); init_ReadStreamTokenizer(); init_BufferTokenizer(); init_lib(); init_AbstractTokenizer(); } }); // node_modules/strtok3/lib/FileTokenizer.js import { open as fsOpen } from "fs/promises"; var FileTokenizer; var init_FileTokenizer = __esm({ "node_modules/strtok3/lib/FileTokenizer.js"() { "use strict"; init_AbstractTokenizer(); init_lib(); FileTokenizer = class _FileTokenizer extends AbstractTokenizer { /** * Create tokenizer from provided file path * @param sourceFilePath File path */ static async fromFile(sourceFilePath) { const fileHandle = await fsOpen(sourceFilePath, "r"); const stat2 = await fileHandle.stat(); return new _FileTokenizer(fileHandle, { fileInfo: { path: sourceFilePath, size: stat2.size } }); } constructor(fileHandle, options) { super(options); this.fileHandle = fileHandle; this.fileInfo = options.fileInfo; } /** * Read buffer from file * @param uint8Array - Uint8Array to write result to * @param options - Read behaviour options * @returns Promise number of bytes read */ async readBuffer(uint8Array, options) { const normOptions = this.normalizeOptions(uint8Array, options); this.position = normOptions.position; if (normOptions.length === 0) return 0; const res = await this.fileHandle.read(uint8Array, 0, normOptions.length, normOptions.position); this.position += res.bytesRead; if (res.bytesRead < normOptions.length && (!options || !options.mayBeLess)) { throw new EndOfStreamError(); } return res.bytesRead; } /** * Peek buffer from file * @param uint8Array - Uint8Array (or Buffer) to write data to * @param options - Read behaviour options * @returns Promise number of bytes read */ async peekBuffer(uint8Array, options) { const normOptions = this.normalizeOptions(uint8Array, options); const res = await this.fileHandle.read(uint8Array, 0, normOptions.length, normOptions.position); if (!normOptions.mayBeLess && res.bytesRead < normOptions.length) { throw new EndOfStreamError(); } return res.bytesRead; } async close() { await this.fileHandle.close(); return super.close(); } setPosition(position) { this.position = position; } supportsRandomAccess() { return true; } }; } }); // node_modules/strtok3/lib/index.js import { stat as fsStat } from "fs/promises"; async function fromStream2(stream, options) { const rst = fromStream(stream, options); if (stream.path) { const stat2 = await fsStat(stream.path); rst.fileInfo.path = stream.path; rst.fileInfo.size = stat2.size; } return rst; } var fromFile; var init_lib2 = __esm({ "node_modules/strtok3/lib/index.js"() { "use strict"; init_core(); init_FileTokenizer(); init_FileTokenizer(); init_core(); fromFile = FileTokenizer.fromFile; } }); // node_modules/ieee754/index.js var require_ieee754 = __commonJS({ "node_modules/ieee754/index.js"(exports) { "use strict"; exports.read = function(buffer, offset, isLE, mLen, nBytes) { var e, m; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var nBits = -7; var i = isLE ? nBytes - 1 : 0; var d = isLE ? -1 : 1; var s = buffer[offset + i]; i += d; e = s & (1 << -nBits) - 1; s >>= -nBits; nBits += eLen; for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { } m = e & (1 << -nBits) - 1; e >>= -nBits; nBits += mLen; for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { } if (e === 0) { e = 1 - eBias; } else if (e === eMax) { return m ? NaN : (s ? -1 : 1) * Infinity; } else { m = m + Math.pow(2, mLen); e = e - eBias; } return (s ? -1 : 1) * m * Math.pow(2, e - mLen); }; exports.write = function(buffer, value, offset, isLE, mLen, nBytes) { var e, m, c; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; var eBias = eMax >> 1; var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; var i = isLE ? 0 : nBytes - 1; var d = isLE ? 1 : -1; var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; value = Math.abs(value); if (isNaN(value) || value === Infinity) { m = isNaN(value) ? 1 : 0; e = eMax; } else { e = Math.floor(Math.log(value) / Math.LN2); if (value * (c = Math.pow(2, -e)) < 1) { e--; c *= 2; } if (e + eBias >= 1) { value += rt / c; } else { value += rt * Math.pow(2, 1 - eBias); } if (value * c >= 2) { e++; c /= 2; } if (e + eBias >= eMax) { m = 0; e = eMax; } else if (e + eBias >= 1) { m = (value * c - 1) * Math.pow(2, mLen); e = e + eBias; } else { m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); e = 0; } } for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { } e = e << mLen | m; eLen += mLen; for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { } buffer[offset + i - d] |= s * 128; }; } }); // node_modules/token-types/lib/index.js function dv(array) { return new DataView(array.buffer, array.byteOffset); } var ieee754, UINT8, UINT16_LE, UINT16_BE, UINT32_LE, UINT32_BE, INT32_BE, UINT64_LE, StringType; var init_lib3 = __esm({ "node_modules/token-types/lib/index.js"() { "use strict"; ieee754 = __toESM(require_ieee754(), 1); UINT8 = { len: 1, get(array, offset) { return dv(array).getUint8(offset); }, put(array, offset, value) { dv(array).setUint8(offset, value); return offset + 1; } }; UINT16_LE = { len: 2, get(array, offset) { return dv(array).getUint16(offset, true); }, put(array, offset, value) { dv(array).setUint16(offset, value, true); return offset + 2; } }; UINT16_BE = { len: 2, get(array, offset) { return dv(array).getUint16(offset); }, put(array, offset, value) { dv(array).setUint16(offset, value); return offset + 2; } }; UINT32_LE = { len: 4, get(array, offset) { return dv(array).getUint32(offset, true); }, put(array, offset, value) { dv(array).setUint32(offset, value, true); return offset + 4; } }; UINT32_BE = { len: 4, get(array, offset) { return dv(array).getUint32(offset); }, put(array, offset, value) { dv(array).setUint32(offset, value); return offset + 4; } }; INT32_BE = { len: 4, get(array, offset) { return dv(array).getInt32(offset); }, put(array, offset, value) { dv(array).setInt32(offset, value); return offset + 4; } }; UINT64_LE = { len: 8, get(array, offset) { return dv(array).getBigUint64(offset, true); }, put(array, offset, value) { dv(array).setBigUint64(offset, value, true); return offset + 8; } }; StringType = class { constructor(len, encoding) { this.len = len; this.encoding = encoding; this.textDecoder = new TextDecoder(encoding); } get(uint8Array, offset) { return this.textDecoder.decode(uint8Array.subarray(offset, offset + this.len)); } }; } }); // node_modules/fflate/esm/index.mjs import { createRequire } from "module"; function inflateSync(data, opts) { return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary); } function gunzipSync(data, opts) { var st = gzs(data); if (st + 8 > data.length) err(6, "invalid gzip data"); return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary); } function unzlibSync(data, opts) { return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary); } function decompressSync(data, opts) { return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzipSync(data, opts) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflateSync(data, opts) : unzlibSync(data, opts); } var require2, Worker, u8, u16, i32, fleb, fdeb, clim, freb, _a, fl, revfl, _b, fd, revfd, rev, x, i, hMap, flt, i, i, i, i, fdt, i, flrm, fdrm, max, bits, bits16, shft, slc, ec, err, inflt, et, gzs, gzl, zls, td, tds; var init_esm = __esm({ "node_modules/fflate/esm/index.mjs"() { "use strict"; require2 = createRequire("/"); try { Worker = require2("worker_threads").Worker; } catch (e) { } u8 = Uint8Array; u16 = Uint16Array; i32 = Int32Array; fleb = new u8([ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0 ]); fdeb = new u8([ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0 ]); clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); freb = function(eb, start) { var b = new u16(31); for (var i = 0; i < 31; ++i) { b[i] = start += 1 << eb[i - 1]; } var r = new i32(b[30]); for (var i = 1; i < 30; ++i) { for (var j = b[i]; j < b[i + 1]; ++j) { r[j] = j - b[i] << 5 | i; } } return { b, r }; }; _a = freb(fleb, 2); fl = _a.b; revfl = _a.r; fl[28] = 258, revfl[258] = 28; _b = freb(fdeb, 0); fd = _b.b; revfd = _b.r; rev = new u16(32768); for (i = 0; i < 32768; ++i) { x = (i & 43690) >> 1 | (i & 21845) << 1; x = (x & 52428) >> 2 | (x & 13107) << 2; x = (x & 61680) >> 4 | (x & 3855) << 4; rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1; } hMap = function(cd, mb, r) { var s = cd.length; var i = 0; var l = new u16(mb); for (; i < s; ++i) { if (cd[i]) ++l[cd[i] - 1]; } var le = new u16(mb); for (i = 1; i < mb; ++i) { le[i] = le[i - 1] + l[i - 1] << 1; } var co; if (r) { co = new u16(1 << mb); var rvb = 15 - mb; for (i = 0; i < s; ++i) { if (cd[i]) { var sv = i << 4 | cd[i]; var r_1 = mb - cd[i]; var v = le[cd[i] - 1]++ << r_1; for (var m = v | (1 << r_1) - 1; v <= m; ++v) { co[rev[v] >> rvb] = sv; } } } } else { co = new u16(s); for (i = 0; i < s; ++i) { if (cd[i]) { co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i]; } } } return co; }; flt = new u8(288); for (i = 0; i < 144; ++i) flt[i] = 8; for (i = 144; i < 256; ++i) flt[i] = 9; for (i = 256; i < 280; ++i) flt[i] = 7; for (i = 280; i < 288; ++i) flt[i] = 8; fdt = new u8(32); for (i = 0; i < 32; ++i) fdt[i] = 5; flrm = /* @__PURE__ */ hMap(flt, 9, 1); fdrm = /* @__PURE__ */ hMap(fdt, 5, 1); max = function(a) { var m = a[0]; for (var i = 1; i < a.length; ++i) { if (a[i] > m) m = a[i]; } return m; }; bits = function(d, p, m) { var o = p / 8 | 0; return (d[o] | d[o + 1] << 8) >> (p & 7) & m; }; bits16 = function(d, p) { var o = p / 8 | 0; return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7); }; shft = function(p) { return (p + 7) / 8 | 0; }; slc = function(v, s, e) { if (s == null || s < 0) s = 0; if (e == null || e > v.length) e = v.length; return new u8(v.subarray(s, e)); }; ec = [ "unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data" // determined by unknown compression method ]; err = function(ind, msg, nt) { var e = new Error(msg || ec[ind]); e.code = ind; if (Error.captureStackTrace) Error.captureStackTrace(e, err); if (!nt) throw e; return e; }; inflt = function(dat, st, buf, dict) { var sl = dat.length, dl = dict ? dict.length : 0; if (!sl || st.f && !st.l) return buf || new u8(0); var noBuf = !buf; var resize = noBuf || st.i != 2; var noSt = st.i; if (noBuf) buf = new u8(sl * 3); var cbuf = function(l2) { var bl = buf.length; if (l2 > bl) { var nbuf = new u8(Math.max(bl * 2, l2)); nbuf.set(buf); buf = nbuf; } }; var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; var tbts = sl * 8; do { if (!lm) { final = bits(dat, pos, 1); var type = bits(dat, pos + 1, 3); pos += 3; if (!type) { var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t3 = s + l; if (t3 > sl) { if (noSt) err(0); break; } if (resize) cbuf(bt + l); buf.set(dat.subarray(s, t3), bt); st.b = bt += l, st.p = pos = t3 * 8, st.f = final; continue; } else if (type == 1) lm = flrm, dm = fdrm, lbt = 9, dbt = 5; else if (type == 2) { var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; var tl = hLit + bits(dat, pos + 5, 31) + 1; pos += 14; var ldt = new u8(tl); var clt = new u8(19); for (var i = 0; i < hcLen; ++i) { clt[clim[i]] = bits(dat, pos + i * 3, 7); } pos += hcLen * 3; var clb = max(clt), clbmsk = (1 << clb) - 1; var clm = hMap(clt, clb, 1); for (var i = 0; i < tl; ) { var r = clm[bits(dat, pos, clbmsk)]; pos += r & 15; var s = r >> 4; if (s < 16) { ldt[i++] = s; } else { var c = 0, n = 0; if (s == 16) n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; else if (s == 17) n = 3 + bits(dat, pos, 7), pos += 3; else if (s == 18) n = 11 + bits(dat, pos, 127), pos += 7; while (n--) ldt[i++] = c; } } var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); lbt = max(lt); dbt = max(dt); lm = hMap(lt, lbt, 1); dm = hMap(dt, dbt, 1); } else e