@hot-updater/cloudflare 0.16.2 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/worker/dist/index.js.map
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/_internal/utils.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/internal/perf_hooks/performance.mjs", "../../../../node_modules/.pnpm/@cloudflare+unenv-preset@2.3.1_unenv@2.0.0-rc.15_workerd@1.20250321.0/node_modules/@cloudflare/unenv-preset/dist/runtime/polyfill/performance.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/console.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/mock/noop.mjs", "../../../../node_modules/.pnpm/@cloudflare+unenv-preset@2.3.1_unenv@2.0.0-rc.15_workerd@1.20250321.0/node_modules/@cloudflare/unenv-preset/dist/runtime/node/console.mjs", "../../../../node_modules/.pnpm/wrangler@4.5.0_@cloudflare+workers-types@4.20250317.0/node_modules/wrangler/_virtual_unenv_global_polyfill-@cloudflare-unenv-preset-node-console", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/internal/process/hrtime.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/internal/process/process.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/internal/tty/write-stream.mjs", "../../../../node_modules/.pnpm/unenv@2.0.0-rc.15/node_modules/unenv/dist/runtime/node/internal/tty/read-stream.mjs", "../../../../node_modules/.pnpm/@cloudflare+unenv-preset@2.3.1_unenv@2.0.0-rc.15_workerd@1.20250321.0/node_modules/@cloudflare/unenv-preset/dist/runtime/node/process.mjs", "../../../../node_modules/.pnpm/wrangler@4.5.0_@cloudflare+workers-types@4.20250317.0/node_modules/wrangler/_virtual_unenv_global_polyfill-@cloudflare-unenv-preset-node-process", "../../../../packages/core/dist/index.js", "../../../js/dist/index.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/utils/body.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/utils/url.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/request.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/utils/html.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/context.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/compose.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/hono-base.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/reg-exp-router/node.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/reg-exp-router/trie.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/reg-exp-router/router.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/smart-router/router.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/trie-router/node.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/router/trie-router/router.js", "../../../../node_modules/.pnpm/hono@4.6.3/node_modules/hono/dist/hono.js", "../src/getUpdateInfo.ts", "../src/index.ts"],
|
|
4
4
|
"sourceRoot": "./worker/dist",
|
|
5
|
-
"sourcesContent": ["/* @__NO_SIDE_EFFECTS__ */\nexport function rawHeaders(headers) {\n\tconst rawHeaders = [];\n\tfor (const key in headers) {\n\t\tif (Array.isArray(headers[key])) {\n\t\t\tfor (const h of headers[key]) {\n\t\t\t\trawHeaders.push(key, h);\n\t\t\t}\n\t\t} else {\n\t\t\trawHeaders.push(key, headers[key]);\n\t\t}\n\t}\n\treturn rawHeaders;\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function mergeFns(...functions) {\n\treturn function(...args) {\n\t\tfor (const fn of functions) {\n\t\t\tfn(...args);\n\t\t}\n\t};\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function createNotImplementedError(name) {\n\treturn new Error(`[unenv] ${name} is not implemented yet!`);\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplemented(name) {\n\tconst fn = () => {\n\t\tthrow createNotImplementedError(name);\n\t};\n\treturn Object.assign(fn, { __unenv__: true });\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplementedAsync(name) {\n\tconst fn = notImplemented(name);\n\tfn.__promisify__ = () => notImplemented(name + \".__promisify__\");\n\tfn.native = fn;\n\treturn fn;\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplementedClass(name) {\n\treturn class {\n\t\t__unenv__ = true;\n\t\tconstructor() {\n\t\t\tthrow new Error(`[unenv] ${name} is not implemented yet!`);\n\t\t}\n\t};\n}\n", "import { createNotImplementedError } from \"../../../_internal/utils.mjs\";\nconst _timeOrigin = globalThis.performance?.timeOrigin ?? Date.now();\nconst _performanceNow = globalThis.performance?.now ? globalThis.performance.now.bind(globalThis.performance) : () => Date.now() - _timeOrigin;\nconst nodeTiming = {\n\tname: \"node\",\n\tentryType: \"node\",\n\tstartTime: 0,\n\tduration: 0,\n\tnodeStart: 0,\n\tv8Start: 0,\n\tbootstrapComplete: 0,\n\tenvironment: 0,\n\tloopStart: 0,\n\tloopExit: 0,\n\tidleTime: 0,\n\tuvMetricsInfo: {\n\t\tloopCount: 0,\n\t\tevents: 0,\n\t\teventsWaiting: 0\n\t},\n\tdetail: undefined,\n\ttoJSON() {\n\t\treturn this;\n\t}\n};\nexport class PerformanceEntry {\n\t__unenv__ = true;\n\tdetail;\n\tentryType = \"event\";\n\tname;\n\tstartTime;\n\tconstructor(name, options) {\n\t\tthis.name = name;\n\t\tthis.startTime = options?.startTime || _performanceNow();\n\t\tthis.detail = options?.detail;\n\t}\n\tget duration() {\n\t\treturn _performanceNow() - this.startTime;\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tentryType: this.entryType,\n\t\t\tstartTime: this.startTime,\n\t\t\tduration: this.duration,\n\t\t\tdetail: this.detail\n\t\t};\n\t}\n}\nexport const PerformanceMark = class PerformanceMark extends PerformanceEntry {\n\tentryType = \"mark\";\n\tconstructor() {\n\t\tsuper(...arguments);\n\t}\n\tget duration() {\n\t\treturn 0;\n\t}\n};\nexport class PerformanceMeasure extends PerformanceEntry {\n\tentryType = \"measure\";\n}\nexport class PerformanceResourceTiming extends PerformanceEntry {\n\tentryType = \"resource\";\n\tserverTiming = [];\n\tconnectEnd = 0;\n\tconnectStart = 0;\n\tdecodedBodySize = 0;\n\tdomainLookupEnd = 0;\n\tdomainLookupStart = 0;\n\tencodedBodySize = 0;\n\tfetchStart = 0;\n\tinitiatorType = \"\";\n\tname = \"\";\n\tnextHopProtocol = \"\";\n\tredirectEnd = 0;\n\tredirectStart = 0;\n\trequestStart = 0;\n\tresponseEnd = 0;\n\tresponseStart = 0;\n\tsecureConnectionStart = 0;\n\tstartTime = 0;\n\ttransferSize = 0;\n\tworkerStart = 0;\n\tresponseStatus = 0;\n}\nexport class PerformanceObserverEntryList {\n\t__unenv__ = true;\n\tgetEntries() {\n\t\treturn [];\n\t}\n\tgetEntriesByName(_name, _type) {\n\t\treturn [];\n\t}\n\tgetEntriesByType(type) {\n\t\treturn [];\n\t}\n}\nexport class Performance {\n\t__unenv__ = true;\n\ttimeOrigin = _timeOrigin;\n\teventCounts = new Map();\n\t_entries = [];\n\t_resourceTimingBufferSize = 0;\n\tnavigation = undefined;\n\ttiming = undefined;\n\ttimerify(_fn, _options) {\n\t\tthrow createNotImplementedError(\"Performance.timerify\");\n\t}\n\tget nodeTiming() {\n\t\treturn nodeTiming;\n\t}\n\teventLoopUtilization() {\n\t\treturn {};\n\t}\n\tmarkResourceTiming() {\n\t\treturn new PerformanceResourceTiming(\"\");\n\t}\n\tonresourcetimingbufferfull = null;\n\tnow() {\n\t\tif (this.timeOrigin === _timeOrigin) {\n\t\t\treturn _performanceNow();\n\t\t}\n\t\treturn Date.now() - this.timeOrigin;\n\t}\n\tclearMarks(markName) {\n\t\tthis._entries = markName ? this._entries.filter((e) => e.name !== markName) : this._entries.filter((e) => e.entryType !== \"mark\");\n\t}\n\tclearMeasures(measureName) {\n\t\tthis._entries = measureName ? this._entries.filter((e) => e.name !== measureName) : this._entries.filter((e) => e.entryType !== \"measure\");\n\t}\n\tclearResourceTimings() {\n\t\tthis._entries = this._entries.filter((e) => e.entryType !== \"resource\" || e.entryType !== \"navigation\");\n\t}\n\tgetEntries() {\n\t\treturn this._entries;\n\t}\n\tgetEntriesByName(name, type) {\n\t\treturn this._entries.filter((e) => e.name === name && (!type || e.entryType === type));\n\t}\n\tgetEntriesByType(type) {\n\t\treturn this._entries.filter((e) => e.entryType === type);\n\t}\n\tmark(name, options) {\n\t\tconst entry = new PerformanceMark(name, options);\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tmeasure(measureName, startOrMeasureOptions, endMark) {\n\t\tlet start;\n\t\tlet end;\n\t\tif (typeof startOrMeasureOptions === \"string\") {\n\t\t\tstart = this.getEntriesByName(startOrMeasureOptions, \"mark\")[0]?.startTime;\n\t\t\tend = this.getEntriesByName(endMark, \"mark\")[0]?.startTime;\n\t\t} else {\n\t\t\tstart = Number.parseFloat(startOrMeasureOptions?.start) || this.now();\n\t\t\tend = Number.parseFloat(startOrMeasureOptions?.end) || this.now();\n\t\t}\n\t\tconst entry = new PerformanceMeasure(measureName, {\n\t\t\tstartTime: start,\n\t\t\tdetail: {\n\t\t\t\tstart,\n\t\t\t\tend\n\t\t\t}\n\t\t});\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tsetResourceTimingBufferSize(maxSize) {\n\t\tthis._resourceTimingBufferSize = maxSize;\n\t}\n\taddEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.addEventListener\");\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.removeEventListener\");\n\t}\n\tdispatchEvent(event) {\n\t\tthrow createNotImplementedError(\"Performance.dispatchEvent\");\n\t}\n\ttoJSON() {\n\t\treturn this;\n\t}\n}\nexport class PerformanceObserver {\n\t__unenv__ = true;\n\tstatic supportedEntryTypes = [];\n\t_callback = null;\n\tconstructor(callback) {\n\t\tthis._callback = callback;\n\t}\n\ttakeRecords() {\n\t\treturn [];\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.disconnect\");\n\t}\n\tobserve(options) {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.observe\");\n\t}\n\tbind(fn) {\n\t\treturn fn;\n\t}\n\trunInAsyncScope(fn, thisArg, ...args) {\n\t\treturn fn.call(thisArg, ...args);\n\t}\n\tasyncId() {\n\t\treturn 0;\n\t}\n\ttriggerAsyncId() {\n\t\treturn 0;\n\t}\n\temitDestroy() {\n\t\treturn this;\n\t}\n}\nexport const performance = globalThis.performance && \"addEventListener\" in globalThis.performance ? globalThis.performance : new Performance();\n", "import {\n performance,\n Performance,\n PerformanceEntry,\n PerformanceMark,\n PerformanceMeasure,\n PerformanceObserver,\n PerformanceObserverEntryList,\n PerformanceResourceTiming\n} from \"node:perf_hooks\";\nglobalThis.performance = performance;\nglobalThis.Performance = Performance;\nglobalThis.PerformanceEntry = PerformanceEntry;\nglobalThis.PerformanceMark = PerformanceMark;\nglobalThis.PerformanceMeasure = PerformanceMeasure;\nglobalThis.PerformanceObserver = PerformanceObserver;\nglobalThis.PerformanceObserverEntryList = PerformanceObserverEntryList;\nglobalThis.PerformanceResourceTiming = PerformanceResourceTiming;\n", "import { Writable } from \"node:stream\";\nimport noop from \"../mock/noop.mjs\";\nimport { notImplemented, notImplementedClass } from \"../_internal/utils.mjs\";\nconst _console = globalThis.console;\nexport const _ignoreErrors = true;\nexport const _stderr = new Writable();\nexport const _stdout = new Writable();\nexport const log = _console?.log ?? noop;\nexport const info = _console?.info ?? log;\nexport const trace = _console?.trace ?? info;\nexport const debug = _console?.debug ?? log;\nexport const table = _console?.table ?? log;\nexport const error = _console?.error ?? log;\nexport const warn = _console?.warn ?? error;\nexport const createTask = _console?.createTask ?? /* @__PURE__ */ notImplemented(\"console.createTask\");\nexport const assert = /* @__PURE__ */ notImplemented(\"console.assert\");\nexport const clear = _console?.clear ?? noop;\nexport const count = _console?.count ?? noop;\nexport const countReset = _console?.countReset ?? noop;\nexport const dir = _console?.dir ?? noop;\nexport const dirxml = _console?.dirxml ?? noop;\nexport const group = _console?.group ?? noop;\nexport const groupEnd = _console?.groupEnd ?? noop;\nexport const groupCollapsed = _console?.groupCollapsed ?? noop;\nexport const profile = _console?.profile ?? noop;\nexport const profileEnd = _console?.profileEnd ?? noop;\nexport const time = _console?.time ?? noop;\nexport const timeEnd = _console?.timeEnd ?? noop;\nexport const timeLog = _console?.timeLog ?? noop;\nexport const timeStamp = _console?.timeStamp ?? noop;\nexport const Console = _console?.Console ?? /* @__PURE__ */ notImplementedClass(\"console.Console\");\nexport const _times = /* @__PURE__ */ new Map();\nexport function context() {\n\treturn _console;\n}\nexport const _stdoutErrorHandler = noop;\nexport const _stderrErrorHandler = noop;\nexport default {\n\t_times,\n\t_ignoreErrors,\n\t_stdoutErrorHandler,\n\t_stderrErrorHandler,\n\t_stdout,\n\t_stderr,\n\tassert,\n\tclear,\n\tConsole,\n\tcount,\n\tcountReset,\n\tdebug,\n\tdir,\n\tdirxml,\n\terror,\n\tcontext,\n\tcreateTask,\n\tgroup,\n\tgroupEnd,\n\tgroupCollapsed,\n\tinfo,\n\tlog,\n\tprofile,\n\tprofileEnd,\n\ttable,\n\ttime,\n\ttimeEnd,\n\ttimeLog,\n\ttimeStamp,\n\ttrace,\n\twarn\n};\n", "export default Object.assign(() => {}, { __unenv__: true });\n", "import {\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times,\n Console\n} from \"unenv/node/console\";\nexport {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n} from \"unenv/node/console\";\nconst workerdConsole = globalThis[\"console\"];\nexport const {\n assert,\n clear,\n // @ts-expect-error undocumented public API\n context,\n count,\n countReset,\n // @ts-expect-error undocumented public API\n createTask,\n debug,\n dir,\n dirxml,\n error,\n group,\n groupCollapsed,\n groupEnd,\n info,\n log,\n profile,\n profileEnd,\n table,\n time,\n timeEnd,\n timeLog,\n timeStamp,\n trace,\n warn\n} = workerdConsole;\nObject.assign(workerdConsole, {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n});\nexport default workerdConsole;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/console\";\nglobalThis.console = defaultExport;", "export const hrtime = /* @__PURE__ */ Object.assign(function hrtime(startTime) {\n\tconst now = Date.now();\n\tconst seconds = Math.trunc(now / 1e3);\n\tconst nanos = now % 1e3 * 1e6;\n\tif (startTime) {\n\t\tlet diffSeconds = seconds - startTime[0];\n\t\tlet diffNanos = nanos - startTime[0];\n\t\tif (diffNanos < 0) {\n\t\t\tdiffSeconds = diffSeconds - 1;\n\t\t\tdiffNanos = 1e9 + diffNanos;\n\t\t}\n\t\treturn [diffSeconds, diffNanos];\n\t}\n\treturn [seconds, nanos];\n}, { bigint: function bigint() {\n\treturn BigInt(Date.now() * 1e6);\n} });\n", "import { EventEmitter } from \"node:events\";\nimport { ReadStream, WriteStream } from \"node:tty\";\nimport { notImplemented, createNotImplementedError } from \"../../../_internal/utils.mjs\";\nexport class Process extends EventEmitter {\n\tenv;\n\thrtime;\n\tnextTick;\n\tconstructor(impl) {\n\t\tsuper();\n\t\tthis.env = impl.env;\n\t\tthis.hrtime = impl.hrtime;\n\t\tthis.nextTick = impl.nextTick;\n\t\tfor (const prop of [...Object.getOwnPropertyNames(Process.prototype), ...Object.getOwnPropertyNames(EventEmitter.prototype)]) {\n\t\t\tconst value = this[prop];\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tthis[prop] = value.bind(this);\n\t\t\t}\n\t\t}\n\t}\n\temitWarning(warning, type, code) {\n\t\tconsole.warn(`${code ? `[${code}] ` : \"\"}${type ? `${type}: ` : \"\"}${warning}`);\n\t}\n\temit(...args) {\n\t\treturn super.emit(...args);\n\t}\n\tlisteners(eventName) {\n\t\treturn super.listeners(eventName);\n\t}\n\t#stdin;\n\t#stdout;\n\t#stderr;\n\tget stdin() {\n\t\treturn this.#stdin ??= new ReadStream(0);\n\t}\n\tget stdout() {\n\t\treturn this.#stdout ??= new WriteStream(1);\n\t}\n\tget stderr() {\n\t\treturn this.#stderr ??= new WriteStream(2);\n\t}\n\t#cwd = \"/\";\n\tchdir(cwd) {\n\t\tthis.#cwd = cwd;\n\t}\n\tcwd() {\n\t\treturn this.#cwd;\n\t}\n\tarch = \"\";\n\tplatform = \"\";\n\targv = [];\n\targv0 = \"\";\n\texecArgv = [];\n\texecPath = \"\";\n\ttitle = \"\";\n\tpid = 200;\n\tppid = 100;\n\tget version() {\n\t\treturn \"\";\n\t}\n\tget versions() {\n\t\treturn {};\n\t}\n\tget allowedNodeEnvironmentFlags() {\n\t\treturn new Set();\n\t}\n\tget sourceMapsEnabled() {\n\t\treturn false;\n\t}\n\tget debugPort() {\n\t\treturn 0;\n\t}\n\tget throwDeprecation() {\n\t\treturn false;\n\t}\n\tget traceDeprecation() {\n\t\treturn false;\n\t}\n\tget features() {\n\t\treturn {};\n\t}\n\tget release() {\n\t\treturn {};\n\t}\n\tget connected() {\n\t\treturn false;\n\t}\n\tget config() {\n\t\treturn {};\n\t}\n\tget moduleLoadList() {\n\t\treturn [];\n\t}\n\tconstrainedMemory() {\n\t\treturn 0;\n\t}\n\tavailableMemory() {\n\t\treturn 0;\n\t}\n\tuptime() {\n\t\treturn 0;\n\t}\n\tresourceUsage() {\n\t\treturn {};\n\t}\n\tref() {}\n\tunref() {}\n\tumask() {\n\t\tthrow createNotImplementedError(\"process.umask\");\n\t}\n\tgetBuiltinModule() {\n\t\treturn undefined;\n\t}\n\tgetActiveResourcesInfo() {\n\t\tthrow createNotImplementedError(\"process.getActiveResourcesInfo\");\n\t}\n\texit() {\n\t\tthrow createNotImplementedError(\"process.exit\");\n\t}\n\treallyExit() {\n\t\tthrow createNotImplementedError(\"process.reallyExit\");\n\t}\n\tkill() {\n\t\tthrow createNotImplementedError(\"process.kill\");\n\t}\n\tabort() {\n\t\tthrow createNotImplementedError(\"process.abort\");\n\t}\n\tdlopen() {\n\t\tthrow createNotImplementedError(\"process.dlopen\");\n\t}\n\tsetSourceMapsEnabled() {\n\t\tthrow createNotImplementedError(\"process.setSourceMapsEnabled\");\n\t}\n\tloadEnvFile() {\n\t\tthrow createNotImplementedError(\"process.loadEnvFile\");\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"process.disconnect\");\n\t}\n\tcpuUsage() {\n\t\tthrow createNotImplementedError(\"process.cpuUsage\");\n\t}\n\tsetUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.setUncaughtExceptionCaptureCallback\");\n\t}\n\thasUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.hasUncaughtExceptionCaptureCallback\");\n\t}\n\tinitgroups() {\n\t\tthrow createNotImplementedError(\"process.initgroups\");\n\t}\n\topenStdin() {\n\t\tthrow createNotImplementedError(\"process.openStdin\");\n\t}\n\tassert() {\n\t\tthrow createNotImplementedError(\"process.assert\");\n\t}\n\tbinding() {\n\t\tthrow createNotImplementedError(\"process.binding\");\n\t}\n\tpermission = { has: /* @__PURE__ */ notImplemented(\"process.permission.has\") };\n\treport = {\n\t\tdirectory: \"\",\n\t\tfilename: \"\",\n\t\tsignal: \"SIGUSR2\",\n\t\tcompact: false,\n\t\treportOnFatalError: false,\n\t\treportOnSignal: false,\n\t\treportOnUncaughtException: false,\n\t\tgetReport: /* @__PURE__ */ notImplemented(\"process.report.getReport\"),\n\t\twriteReport: /* @__PURE__ */ notImplemented(\"process.report.writeReport\")\n\t};\n\tfinalization = {\n\t\tregister: /* @__PURE__ */ notImplemented(\"process.finalization.register\"),\n\t\tunregister: /* @__PURE__ */ notImplemented(\"process.finalization.unregister\"),\n\t\tregisterBeforeExit: /* @__PURE__ */ notImplemented(\"process.finalization.registerBeforeExit\")\n\t};\n\tmemoryUsage = Object.assign(() => ({\n\t\tarrayBuffers: 0,\n\t\trss: 0,\n\t\texternal: 0,\n\t\theapTotal: 0,\n\t\theapUsed: 0\n\t}), { rss: () => 0 });\n\tmainModule = undefined;\n\tdomain = undefined;\n\tsend = undefined;\n\texitCode = undefined;\n\tchannel = undefined;\n\tgetegid = undefined;\n\tgeteuid = undefined;\n\tgetgid = undefined;\n\tgetgroups = undefined;\n\tgetuid = undefined;\n\tsetegid = undefined;\n\tseteuid = undefined;\n\tsetgid = undefined;\n\tsetgroups = undefined;\n\tsetuid = undefined;\n\t_events = undefined;\n\t_eventsCount = undefined;\n\t_exiting = undefined;\n\t_maxListeners = undefined;\n\t_debugEnd = undefined;\n\t_debugProcess = undefined;\n\t_fatalException = undefined;\n\t_getActiveHandles = undefined;\n\t_getActiveRequests = undefined;\n\t_kill = undefined;\n\t_preload_modules = undefined;\n\t_rawDebug = undefined;\n\t_startProfilerIdleNotifier = undefined;\n\t_stopProfilerIdleNotifier = undefined;\n\t_tickCallback = undefined;\n\t_disconnect = undefined;\n\t_handleQueue = undefined;\n\t_pendingMessage = undefined;\n\t_channel = undefined;\n\t_send = undefined;\n\t_linkedBinding = undefined;\n}\n", "export class WriteStream {\n\tfd;\n\tcolumns = 80;\n\trows = 24;\n\tisTTY = false;\n\tconstructor(fd) {\n\t\tthis.fd = fd;\n\t}\n\tclearLine(dir, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tclearScreenDown(callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tcursorTo(x, y, callback) {\n\t\tcallback && typeof callback === \"function\" && callback();\n\t\treturn false;\n\t}\n\tmoveCursor(dx, dy, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tgetColorDepth(env) {\n\t\treturn 1;\n\t}\n\thasColors(count, env) {\n\t\treturn false;\n\t}\n\tgetWindowSize() {\n\t\treturn [this.columns, this.rows];\n\t}\n\twrite(str, encoding, cb) {\n\t\tif (str instanceof Uint8Array) {\n\t\t\tstr = new TextDecoder().decode(str);\n\t\t}\n\t\ttry {\n\t\t\tconsole.log(str);\n\t\t} catch {}\n\t\tcb && typeof cb === \"function\" && cb();\n\t\treturn false;\n\t}\n}\n", "export class ReadStream {\n\tfd;\n\tisRaw = false;\n\tisTTY = false;\n\tconstructor(fd) {\n\t\tthis.fd = fd;\n\t}\n\tsetRawMode(mode) {\n\t\tthis.isRaw = mode;\n\t\treturn this;\n\t}\n}\n", "import { hrtime as UnenvHrTime } from \"unenv/node/internal/process/hrtime\";\nimport { Process as UnenvProcess } from \"unenv/node/internal/process/process\";\nconst globalProcess = globalThis[\"process\"];\nexport const getBuiltinModule = globalProcess.getBuiltinModule;\nexport const { exit, platform, nextTick } = getBuiltinModule(\n \"node:process\"\n);\nconst unenvProcess = new UnenvProcess({\n env: globalProcess.env,\n hrtime: UnenvHrTime,\n nextTick\n});\nexport const {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n finalization,\n features,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n on,\n off,\n once,\n pid,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n} = unenvProcess;\nconst _process = {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n exit,\n finalization,\n features,\n getBuiltinModule,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n nextTick,\n on,\n off,\n once,\n pid,\n platform,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n // @ts-expect-error old API\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n};\nexport default _process;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/process\";\nglobalThis.process = defaultExport;", "const NIL_UUID = \"00000000-0000-0000-0000-000000000000\";\nexport { NIL_UUID };\n", "import * as __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__ from \"@hot-updater/core\";\nvar __webpack_modules__ = {\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const ANY = Symbol('SemVer ANY');\n class Comparator {\n static get ANY() {\n return ANY;\n }\n constructor(comp, options){\n options = parseOptions(options);\n if (comp instanceof Comparator) {\n if (!!options.loose === comp.loose) return comp;\n comp = comp.value;\n }\n comp = comp.trim().split(/\\s+/).join(' ');\n debug('comparator', comp, options);\n this.options = options;\n this.loose = !!options.loose;\n this.parse(comp);\n if (this.semver === ANY) this.value = '';\n else this.value = this.operator + this.semver.version;\n debug('comp', this);\n }\n parse(comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];\n const m = comp.match(r);\n if (!m) throw new TypeError(`Invalid comparator: ${comp}`);\n this.operator = void 0 !== m[1] ? m[1] : '';\n if ('=' === this.operator) this.operator = '';\n if (m[2]) this.semver = new SemVer(m[2], this.options.loose);\n else this.semver = ANY;\n }\n toString() {\n return this.value;\n }\n test(version) {\n debug('Comparator.test', version, this.options.loose);\n if (this.semver === ANY || version === ANY) return true;\n if ('string' == typeof version) try {\n version = new SemVer(version, this.options);\n } catch (er) {\n return false;\n }\n return cmp(version, this.operator, this.semver, this.options);\n }\n intersects(comp, options) {\n if (!(comp instanceof Comparator)) throw new TypeError('a Comparator is required');\n if ('' === this.operator) {\n if ('' === this.value) return true;\n return new Range(comp.value, options).test(this.value);\n }\n if ('' === comp.operator) {\n if ('' === comp.value) return true;\n return new Range(this.value, options).test(comp.semver);\n }\n options = parseOptions(options);\n if (options.includePrerelease && ('<0.0.0-0' === this.value || '<0.0.0-0' === comp.value)) return false;\n if (!options.includePrerelease && (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) return false;\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) return true;\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) return true;\n if (this.semver.version === comp.semver.version && this.operator.includes('=') && comp.operator.includes('=')) return true;\n if (cmp(this.semver, '<', comp.semver, options) && this.operator.startsWith('>') && comp.operator.startsWith('<')) return true;\n if (cmp(this.semver, '>', comp.semver, options) && this.operator.startsWith('<') && comp.operator.startsWith('>')) return true;\n return false;\n }\n }\n module.exports = Comparator;\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const cmp = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SPACE_CHARACTERS = /\\s+/g;\n class Range {\n constructor(range, options){\n options = parseOptions(options);\n if (range instanceof Range) {\n if (!!options.loose === range.loose && !!options.includePrerelease === range.includePrerelease) return range;\n return new Range(range.raw, options);\n }\n if (range instanceof Comparator) {\n this.raw = range.value;\n this.set = [\n [\n range\n ]\n ];\n this.formatted = void 0;\n return this;\n }\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ');\n this.set = this.raw.split('||').map((r)=>this.parseRange(r.trim())).filter((c)=>c.length);\n if (!this.set.length) throw new TypeError(`Invalid SemVer Range: ${this.raw}`);\n if (this.set.length > 1) {\n const first = this.set[0];\n this.set = this.set.filter((c)=>!isNullSet(c[0]));\n if (0 === this.set.length) this.set = [\n first\n ];\n else if (this.set.length > 1) {\n for (const c of this.set)if (1 === c.length && isAny(c[0])) {\n this.set = [\n c\n ];\n break;\n }\n }\n }\n this.formatted = void 0;\n }\n get range() {\n if (void 0 === this.formatted) {\n this.formatted = '';\n for(let i = 0; i < this.set.length; i++){\n if (i > 0) this.formatted += '||';\n const comps = this.set[i];\n for(let k = 0; k < comps.length; k++){\n if (k > 0) this.formatted += ' ';\n this.formatted += comps[k].toString().trim();\n }\n }\n }\n return this.formatted;\n }\n format() {\n return this.range;\n }\n toString() {\n return this.range;\n }\n parseRange(range) {\n const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);\n const memoKey = memoOpts + ':' + range;\n const cached = cache.get(memoKey);\n if (cached) return cached;\n const loose = this.options.loose;\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease));\n debug('hyphen replace', range);\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);\n debug('comparator trim', range);\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace);\n debug('tilde trim', range);\n range = range.replace(re[t.CARETTRIM], caretTrimReplace);\n debug('caret trim', range);\n let rangeList = range.split(' ').map((comp)=>parseComparator(comp, this.options)).join(' ').split(/\\s+/).map((comp)=>replaceGTE0(comp, this.options));\n if (loose) rangeList = rangeList.filter((comp)=>{\n debug('loose invalid filter', comp, this.options);\n return !!comp.match(re[t.COMPARATORLOOSE]);\n });\n debug('range list', rangeList);\n const rangeMap = new Map();\n const comparators = rangeList.map((comp)=>new Comparator(comp, this.options));\n for (const comp of comparators){\n if (isNullSet(comp)) return [\n comp\n ];\n rangeMap.set(comp.value, comp);\n }\n if (rangeMap.size > 1 && rangeMap.has('')) rangeMap.delete('');\n const result = [\n ...rangeMap.values()\n ];\n cache.set(memoKey, result);\n return result;\n }\n intersects(range, options) {\n if (!(range instanceof Range)) throw new TypeError('a Range is required');\n return this.set.some((thisComparators)=>isSatisfiable(thisComparators, options) && range.set.some((rangeComparators)=>isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator)=>rangeComparators.every((rangeComparator)=>thisComparator.intersects(rangeComparator, options)))));\n }\n test(version) {\n if (!version) return false;\n if ('string' == typeof version) try {\n version = new SemVer(version, this.options);\n } catch (er) {\n return false;\n }\n for(let i = 0; i < this.set.length; i++)if (testSet(this.set[i], version, this.options)) return true;\n return false;\n }\n }\n module.exports = Range;\n const LRU = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/lrucache.js\");\n const cache = new LRU();\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const { safeRe: re, t, comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const isNullSet = (c)=>'<0.0.0-0' === c.value;\n const isAny = (c)=>'' === c.value;\n const isSatisfiable = (comparators, options)=>{\n let result = true;\n const remainingComparators = comparators.slice();\n let testComparator = remainingComparators.pop();\n while(result && remainingComparators.length){\n result = remainingComparators.every((otherComparator)=>testComparator.intersects(otherComparator, options));\n testComparator = remainingComparators.pop();\n }\n return result;\n };\n const parseComparator = (comp, options)=>{\n debug('comp', comp, options);\n comp = replaceCarets(comp, options);\n debug('caret', comp);\n comp = replaceTildes(comp, options);\n debug('tildes', comp);\n comp = replaceXRanges(comp, options);\n debug('xrange', comp);\n comp = replaceStars(comp, options);\n debug('stars', comp);\n return comp;\n };\n const isX = (id)=>!id || 'x' === id.toLowerCase() || '*' === id;\n const replaceTildes = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>replaceTilde(c, options)).join(' ');\n const replaceTilde = (comp, options)=>{\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];\n return comp.replace(r, (_, M, m, p, pr)=>{\n debug('tilde', comp, _, M, m, p, pr);\n let ret;\n if (isX(M)) ret = '';\n else if (isX(m)) ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;\n else if (isX(p)) ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;\n else if (pr) {\n debug('replaceTilde pr', pr);\n ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;\n } else ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;\n debug('tilde return', ret);\n return ret;\n });\n };\n const replaceCarets = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>replaceCaret(c, options)).join(' ');\n const replaceCaret = (comp, options)=>{\n debug('caret', comp, options);\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];\n const z = options.includePrerelease ? '-0' : '';\n return comp.replace(r, (_, M, m, p, pr)=>{\n debug('caret', comp, _, M, m, p, pr);\n let ret;\n if (isX(M)) ret = '';\n else if (isX(m)) ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;\n else if (isX(p)) ret = '0' === M ? `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;\n else if (pr) {\n debug('replaceCaret pr', pr);\n ret = '0' === M ? '0' === m ? `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0` : `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;\n } else {\n debug('no pr');\n ret = '0' === M ? '0' === m ? `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0` : `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;\n }\n debug('caret return', ret);\n return ret;\n });\n };\n const replaceXRanges = (comp, options)=>{\n debug('replaceXRanges', comp, options);\n return comp.split(/\\s+/).map((c)=>replaceXRange(c, options)).join(' ');\n };\n const replaceXRange = (comp, options)=>{\n comp = comp.trim();\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];\n return comp.replace(r, (ret, gtlt, M, m, p, pr)=>{\n debug('xRange', comp, ret, gtlt, M, m, p, pr);\n const xM = isX(M);\n const xm = xM || isX(m);\n const xp = xm || isX(p);\n const anyX = xp;\n if ('=' === gtlt && anyX) gtlt = '';\n pr = options.includePrerelease ? '-0' : '';\n if (xM) ret = '>' === gtlt || '<' === gtlt ? '<0.0.0-0' : '*';\n else if (gtlt && anyX) {\n if (xm) m = 0;\n p = 0;\n if ('>' === gtlt) {\n gtlt = '>=';\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else {\n m = +m + 1;\n p = 0;\n }\n } else if ('<=' === gtlt) {\n gtlt = '<';\n if (xm) M = +M + 1;\n else m = +m + 1;\n }\n if ('<' === gtlt) pr = '-0';\n ret = `${gtlt + M}.${m}.${p}${pr}`;\n } else if (xm) ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;\n else if (xp) ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;\n debug('xRange return', ret);\n return ret;\n });\n };\n const replaceStars = (comp, options)=>{\n debug('replaceStars', comp, options);\n return comp.trim().replace(re[t.STAR], '');\n };\n const replaceGTE0 = (comp, options)=>{\n debug('replaceGTE0', comp, options);\n return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '');\n };\n const hyphenReplace = (incPr)=>($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr)=>{\n from = isX(fM) ? '' : isX(fm) ? `>=${fM}.0.0${incPr ? '-0' : ''}` : isX(fp) ? `>=${fM}.${fm}.0${incPr ? '-0' : ''}` : fpr ? `>=${from}` : `>=${from}${incPr ? '-0' : ''}`;\n to = isX(tM) ? '' : isX(tm) ? `<${+tM + 1}.0.0-0` : isX(tp) ? `<${tM}.${+tm + 1}.0-0` : tpr ? `<=${tM}.${tm}.${tp}-${tpr}` : incPr ? `<${tM}.${tm}.${+tp + 1}-0` : `<=${to}`;\n return `${from} ${to}`.trim();\n };\n const testSet = (set, version, options)=>{\n for(let i = 0; i < set.length; i++)if (!set[i].test(version)) return false;\n if (version.prerelease.length && !options.includePrerelease) {\n for(let i = 0; i < set.length; i++){\n debug(set[i].semver);\n if (set[i].semver !== Comparator.ANY) {\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver;\n if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) return true;\n }\n }\n }\n return false;\n }\n return true;\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const { compareIdentifiers } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\");\n class SemVer {\n constructor(version, options){\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (!!options.loose === version.loose && !!options.includePrerelease === version.includePrerelease) return version;\n version = version.version;\n } else if ('string' != typeof version) throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n if (version.length > MAX_LENGTH) throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);\n debug('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);\n if (!m) throw new TypeError(`Invalid Version: ${version}`);\n this.raw = version;\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) throw new TypeError('Invalid major version');\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) throw new TypeError('Invalid minor version');\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) throw new TypeError('Invalid patch version');\n if (m[4]) this.prerelease = m[4].split('.').map((id)=>{\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) return num;\n }\n return id;\n });\n else this.prerelease = [];\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) this.version += `-${this.prerelease.join('.')}`;\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug('SemVer.compare', this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if ('string' == typeof other && other === this.version) return 0;\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) return 0;\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n if (this.prerelease.length && !other.prerelease.length) return -1;\n if (!this.prerelease.length && other.prerelease.length) return 1;\n if (!this.prerelease.length && !other.prerelease.length) return 0;\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (void 0 === a && void 0 === b) return 0;\n if (void 0 === b) return 1;\n if (void 0 === a) return -1;\n else if (a === b) continue;\n else return compareIdentifiers(a, b);\n }while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n debug('build compare', i, a, b);\n if (void 0 === a && void 0 === b) return 0;\n if (void 0 === b) return 1;\n if (void 0 === a) return -1;\n else if (a === b) continue;\n else return compareIdentifiers(a, b);\n }while (++i);\n }\n inc(release, identifier, identifierBase) {\n switch(release){\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier, identifierBase);\n break;\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier, identifierBase);\n break;\n case 'prepatch':\n this.prerelease.length = 0;\n this.inc('patch', identifier, identifierBase);\n this.inc('pre', identifier, identifierBase);\n break;\n case 'prerelease':\n if (0 === this.prerelease.length) this.inc('patch', identifier, identifierBase);\n this.inc('pre', identifier, identifierBase);\n break;\n case 'major':\n if (0 !== this.minor || 0 !== this.patch || 0 === this.prerelease.length) this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'minor':\n if (0 !== this.patch || 0 === this.prerelease.length) this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'patch':\n if (0 === this.prerelease.length) this.patch++;\n this.prerelease = [];\n break;\n case 'pre':\n {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && false === identifierBase) throw new Error('invalid increment argument: identifier is empty');\n if (0 === this.prerelease.length) this.prerelease = [\n base\n ];\n else {\n let i = this.prerelease.length;\n while(--i >= 0)if ('number' == typeof this.prerelease[i]) {\n this.prerelease[i]++;\n i = -2;\n }\n if (-1 === i) {\n if (identifier === this.prerelease.join('.') && false === identifierBase) throw new Error('invalid increment argument: identifier already exists');\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [\n identifier,\n base\n ];\n if (false === identifierBase) prerelease = [\n identifier\n ];\n if (0 === compareIdentifiers(this.prerelease[0], identifier)) {\n if (isNaN(this.prerelease[1])) this.prerelease = prerelease;\n } else this.prerelease = prerelease;\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) this.raw += `+${this.build.join('.')}`;\n return this;\n }\n }\n module.exports = SemVer;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/clean.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const clean = (version, options)=>{\n const s = parse(version.trim().replace(/^[=v]+/, ''), options);\n return s ? s.version : null;\n };\n module.exports = clean;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const eq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\");\n const neq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const cmp = (a, op, b, loose)=>{\n switch(op){\n case '===':\n if ('object' == typeof a) a = a.version;\n if ('object' == typeof b) b = b.version;\n return a === b;\n case '!==':\n if ('object' == typeof a) a = a.version;\n if ('object' == typeof b) b = b.version;\n return a !== b;\n case '':\n case '=':\n case '==':\n return eq(a, b, loose);\n case '!=':\n return neq(a, b, loose);\n case '>':\n return gt(a, b, loose);\n case '>=':\n return gte(a, b, loose);\n case '<':\n return lt(a, b, loose);\n case '<=':\n return lte(a, b, loose);\n default:\n throw new TypeError(`Invalid operator: ${op}`);\n }\n };\n module.exports = cmp;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/coerce.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const coerce = (version, options)=>{\n if (version instanceof SemVer) return version;\n if ('number' == typeof version) version = String(version);\n if ('string' != typeof version) return null;\n options = options || {};\n let match = null;\n if (options.rtl) {\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];\n let next;\n while((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)){\n if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;\n }\n coerceRtlRegex.lastIndex = -1;\n } else match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);\n if (null === match) return null;\n const major = match[2];\n const minor = match[3] || '0';\n const patch = match[4] || '0';\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '';\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : '';\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);\n };\n module.exports = coerce;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const compareBuild = (a, b, loose)=>{\n const versionA = new SemVer(a, loose);\n const versionB = new SemVer(b, loose);\n return versionA.compare(versionB) || versionA.compareBuild(versionB);\n };\n module.exports = compareBuild;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-loose.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const compareLoose = (a, b)=>compare(a, b, true);\n module.exports = compareLoose;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const compare = (a, b, loose)=>new SemVer(a, loose).compare(new SemVer(b, loose));\n module.exports = compare;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/diff.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const diff = (version1, version2)=>{\n const v1 = parse(version1, null, true);\n const v2 = parse(version2, null, true);\n const comparison = v1.compare(v2);\n if (0 === comparison) return null;\n const v1Higher = comparison > 0;\n const highVersion = v1Higher ? v1 : v2;\n const lowVersion = v1Higher ? v2 : v1;\n const highHasPre = !!highVersion.prerelease.length;\n const lowHasPre = !!lowVersion.prerelease.length;\n if (lowHasPre && !highHasPre) {\n if (!lowVersion.patch && !lowVersion.minor) return 'major';\n if (highVersion.patch) return 'patch';\n if (highVersion.minor) return 'minor';\n return 'major';\n }\n const prefix = highHasPre ? 'pre' : '';\n if (v1.major !== v2.major) return prefix + 'major';\n if (v1.minor !== v2.minor) return prefix + 'minor';\n if (v1.patch !== v2.patch) return prefix + 'patch';\n return 'prerelease';\n };\n module.exports = diff;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const eq = (a, b, loose)=>0 === compare(a, b, loose);\n module.exports = eq;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const gt = (a, b, loose)=>compare(a, b, loose) > 0;\n module.exports = gt;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const gte = (a, b, loose)=>compare(a, b, loose) >= 0;\n module.exports = gte;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/inc.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const inc = (version, release, options, identifier, identifierBase)=>{\n if ('string' == typeof options) {\n identifierBase = identifier;\n identifier = options;\n options = void 0;\n }\n try {\n return new SemVer(version instanceof SemVer ? version.version : version, options).inc(release, identifier, identifierBase).version;\n } catch (er) {\n return null;\n }\n };\n module.exports = inc;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const lt = (a, b, loose)=>compare(a, b, loose) < 0;\n module.exports = lt;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const lte = (a, b, loose)=>compare(a, b, loose) <= 0;\n module.exports = lte;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/major.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const major = (a, loose)=>new SemVer(a, loose).major;\n module.exports = major;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/minor.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const minor = (a, loose)=>new SemVer(a, loose).minor;\n module.exports = minor;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const neq = (a, b, loose)=>0 !== compare(a, b, loose);\n module.exports = neq;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const parse = (version, options, throwErrors = false)=>{\n if (version instanceof SemVer) return version;\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) return null;\n throw er;\n }\n };\n module.exports = parse;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/patch.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const patch = (a, loose)=>new SemVer(a, loose).patch;\n module.exports = patch;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/prerelease.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const prerelease = (version, options)=>{\n const parsed = parse(version, options);\n return parsed && parsed.prerelease.length ? parsed.prerelease : null;\n };\n module.exports = prerelease;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rcompare.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const rcompare = (a, b, loose)=>compare(b, a, loose);\n module.exports = rcompare;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rsort.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const rsort = (list, loose)=>list.sort((a, b)=>compareBuild(b, a, loose));\n module.exports = rsort;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = (version, range, options)=>{\n try {\n range = new Range(range, options);\n } catch (er) {\n return false;\n }\n return range.test(version);\n };\n module.exports = satisfies;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/sort.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const sort = (list, loose)=>list.sort((a, b)=>compareBuild(a, b, loose));\n module.exports = sort;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/valid.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const valid = (version, options)=>{\n const v = parse(version, options);\n return v ? v.version : null;\n };\n module.exports = valid;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/index.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const internalRe = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const constants = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const identifiers = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\");\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const valid = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/valid.js\");\n const clean = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/clean.js\");\n const inc = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/inc.js\");\n const diff = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/diff.js\");\n const major = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/major.js\");\n const minor = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/minor.js\");\n const patch = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/patch.js\");\n const prerelease = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/prerelease.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const rcompare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rcompare.js\");\n const compareLoose = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-loose.js\");\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const sort = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/sort.js\");\n const rsort = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rsort.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const eq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\");\n const neq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const cmp = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\");\n const coerce = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/coerce.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const toComparators = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/to-comparators.js\");\n const maxSatisfying = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/max-satisfying.js\");\n const minSatisfying = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-satisfying.js\");\n const minVersion = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-version.js\");\n const validRange = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/valid.js\");\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const gtr = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/gtr.js\");\n const ltr = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/ltr.js\");\n const intersects = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/intersects.js\");\n const simplifyRange = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/simplify.js\");\n const subset = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/subset.js\");\n module.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\": function(module) {\n const SEMVER_SPEC_VERSION = '2.0.0';\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease'\n ];\n module.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\": function(module) {\n const debug = 'object' == typeof process && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args)=>console.error('SEMVER', ...args) : ()=>{};\n module.exports = debug;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\": function(module) {\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a, b)=>{\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n if (anum && bnum) {\n a *= 1;\n b *= 1;\n }\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n };\n const rcompareIdentifiers = (a, b)=>compareIdentifiers(b, a);\n module.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/lrucache.js\": function(module) {\n class LRUCache {\n constructor(){\n this.max = 1000;\n this.map = new Map();\n }\n get(key) {\n const value = this.map.get(key);\n if (void 0 === value) return;\n this.map.delete(key);\n this.map.set(key, value);\n return value;\n }\n delete(key) {\n return this.map.delete(key);\n }\n set(key, value) {\n const deleted = this.delete(key);\n if (!deleted && void 0 !== value) {\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value;\n this.delete(firstKey);\n }\n this.map.set(key, value);\n }\n return this;\n }\n }\n module.exports = LRUCache;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\": function(module) {\n const looseOption = Object.freeze({\n loose: true\n });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options)=>{\n if (!options) return emptyOpts;\n if ('object' != typeof options) return looseOption;\n return options;\n };\n module.exports = parseOptions;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\": function(module, exports, __webpack_require__) {\n const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n exports = module.exports = {};\n const re = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = '[a-zA-Z0-9-]';\n const safeRegexReplacements = [\n [\n '\\\\s',\n 1\n ],\n [\n '\\\\d',\n MAX_LENGTH\n ],\n [\n LETTERDASHNUMBER,\n MAX_SAFE_BUILD_LENGTH\n ]\n ];\n const makeSafeRegex = (value)=>{\n for (const [token, max] of safeRegexReplacements)value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n return value;\n };\n const createToken = (name, value, isGlobal)=>{\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : void 0);\n };\n createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n createToken('NUMERICIDENTIFIERLOOSE', '\\\\d+');\n createToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})`);\n createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);\n createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);\n createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\n createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`);\n createToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n createToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\n createToken('FULL', `^${src[t.FULLPLAIN]}$`);\n createToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);\n createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`);\n createToken('GTLT', '((?:<|>)?=?)');\n createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);\n createToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);\n createToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\n createToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('COERCEPLAIN', `(^|[^\\\\d])(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken('COERCEFULL', src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + \"(?:$|[^\\\\d])\");\n createToken('COERCERTL', src[t.COERCE], true);\n createToken('COERCERTLFULL', src[t.COERCEFULL], true);\n createToken('LONETILDE', '(?:~>?)');\n createToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = '$1~';\n createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\n createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('LONECARET', '(?:\\\\^)');\n createToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = '$1^';\n createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\n createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\n createToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n createToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = '$1$2$3';\n createToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t.XRANGEPLAIN]})\\\\s*\\$`);\n createToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t.XRANGEPLAINLOOSE]})\\\\s*\\$`);\n createToken('STAR', '(<|>)?=?\\\\s*\\\\*');\n createToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$');\n createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$');\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/gtr.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const gtr = (version, range, options)=>outside(version, range, '>', options);\n module.exports = gtr;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/intersects.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const intersects = (r1, r2, options)=>{\n r1 = new Range(r1, options);\n r2 = new Range(r2, options);\n return r1.intersects(r2, options);\n };\n module.exports = intersects;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/ltr.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const ltr = (version, range, options)=>outside(version, range, '<', options);\n module.exports = ltr;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/max-satisfying.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const maxSatisfying = (versions, range, options)=>{\n let max = null;\n let maxSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range(range, options);\n } catch (er) {\n return null;\n }\n versions.forEach((v)=>{\n if (rangeObj.test(v)) {\n if (!max || -1 === maxSV.compare(v)) {\n max = v;\n maxSV = new SemVer(max, options);\n }\n }\n });\n return max;\n };\n module.exports = maxSatisfying;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-satisfying.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const minSatisfying = (versions, range, options)=>{\n let min = null;\n let minSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range(range, options);\n } catch (er) {\n return null;\n }\n versions.forEach((v)=>{\n if (rangeObj.test(v)) {\n if (!min || 1 === minSV.compare(v)) {\n min = v;\n minSV = new SemVer(min, options);\n }\n }\n });\n return min;\n };\n module.exports = minSatisfying;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-version.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const minVersion = (range, loose)=>{\n range = new Range(range, loose);\n let minver = new SemVer('0.0.0');\n if (range.test(minver)) return minver;\n minver = new SemVer('0.0.0-0');\n if (range.test(minver)) return minver;\n minver = null;\n for(let i = 0; i < range.set.length; ++i){\n const comparators = range.set[i];\n let setMin = null;\n comparators.forEach((comparator)=>{\n const compver = new SemVer(comparator.semver.version);\n switch(comparator.operator){\n case '>':\n if (0 === compver.prerelease.length) compver.patch++;\n else compver.prerelease.push(0);\n compver.raw = compver.format();\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) setMin = compver;\n break;\n case '<':\n case '<=':\n break;\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`);\n }\n });\n if (setMin && (!minver || gt(minver, setMin))) minver = setMin;\n }\n if (minver && range.test(minver)) return minver;\n return null;\n };\n module.exports = minVersion;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const { ANY } = Comparator;\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const outside = (version, range, hilo, options)=>{\n version = new SemVer(version, options);\n range = new Range(range, options);\n let gtfn, ltefn, ltfn, comp, ecomp;\n switch(hilo){\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break;\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n if (satisfies(version, range, options)) return false;\n for(let i = 0; i < range.set.length; ++i){\n const comparators = range.set[i];\n let high = null;\n let low = null;\n comparators.forEach((comparator)=>{\n if (comparator.semver === ANY) comparator = new Comparator('>=0.0.0');\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, options)) high = comparator;\n else if (ltfn(comparator.semver, low.semver, options)) low = comparator;\n });\n if (high.operator === comp || high.operator === ecomp) return false;\n if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) return false;\n if (low.operator === ecomp && ltfn(version, low.semver)) return false;\n }\n return true;\n };\n module.exports = outside;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/simplify.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n module.exports = (versions, range, options)=>{\n const set = [];\n let first = null;\n let prev = null;\n const v = versions.sort((a, b)=>compare(a, b, options));\n for (const version of v){\n const included = satisfies(version, range, options);\n if (included) {\n prev = version;\n if (!first) first = version;\n } else {\n if (prev) set.push([\n first,\n prev\n ]);\n prev = null;\n first = null;\n }\n }\n if (first) set.push([\n first,\n null\n ]);\n const ranges = [];\n for (const [min, max] of set)if (min === max) ranges.push(min);\n else if (max || min !== v[0]) {\n if (max) {\n if (min === v[0]) ranges.push(`<=${max}`);\n else ranges.push(`${min} - ${max}`);\n } else ranges.push(`>=${min}`);\n } else ranges.push('*');\n const simplified = ranges.join(' || ');\n const original = 'string' == typeof range.raw ? range.raw : String(range);\n return simplified.length < original.length ? simplified : range;\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/subset.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const { ANY } = Comparator;\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const subset = (sub, dom, options = {})=>{\n if (sub === dom) return true;\n sub = new Range(sub, options);\n dom = new Range(dom, options);\n let sawNonNull = false;\n OUTER: for (const simpleSub of sub.set){\n for (const simpleDom of dom.set){\n const isSub = simpleSubset(simpleSub, simpleDom, options);\n sawNonNull = sawNonNull || null !== isSub;\n if (isSub) continue OUTER;\n }\n if (sawNonNull) return false;\n }\n return true;\n };\n const minimumVersionWithPreRelease = [\n new Comparator('>=0.0.0-0')\n ];\n const minimumVersion = [\n new Comparator('>=0.0.0')\n ];\n const simpleSubset = (sub, dom, options)=>{\n if (sub === dom) return true;\n if (1 === sub.length && sub[0].semver === ANY) {\n if (1 === dom.length && dom[0].semver === ANY) return true;\n sub = options.includePrerelease ? minimumVersionWithPreRelease : minimumVersion;\n }\n if (1 === dom.length && dom[0].semver === ANY) {\n if (options.includePrerelease) return true;\n dom = minimumVersion;\n }\n const eqSet = new Set();\n let gt, lt;\n for (const c of sub)if ('>' === c.operator || '>=' === c.operator) gt = higherGT(gt, c, options);\n else if ('<' === c.operator || '<=' === c.operator) lt = lowerLT(lt, c, options);\n else eqSet.add(c.semver);\n if (eqSet.size > 1) return null;\n let gtltComp;\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options);\n if (gtltComp > 0) return null;\n if (0 === gtltComp && ('>=' !== gt.operator || '<=' !== lt.operator)) return null;\n }\n for (const eq of eqSet){\n if (gt && !satisfies(eq, String(gt), options)) return null;\n if (lt && !satisfies(eq, String(lt), options)) return null;\n for (const c of dom)if (!satisfies(eq, String(c), options)) return false;\n return true;\n }\n let higher, lower;\n let hasDomLT, hasDomGT;\n let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;\n let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;\n if (needDomLTPre && 1 === needDomLTPre.prerelease.length && '<' === lt.operator && 0 === needDomLTPre.prerelease[0]) needDomLTPre = false;\n for (const c of dom){\n hasDomGT = hasDomGT || '>' === c.operator || '>=' === c.operator;\n hasDomLT = hasDomLT || '<' === c.operator || '<=' === c.operator;\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) needDomGTPre = false;\n }\n if ('>' === c.operator || '>=' === c.operator) {\n higher = higherGT(gt, c, options);\n if (higher === c && higher !== gt) return false;\n } else if ('>=' === gt.operator && !satisfies(gt.semver, String(c), options)) return false;\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) needDomLTPre = false;\n }\n if ('<' === c.operator || '<=' === c.operator) {\n lower = lowerLT(lt, c, options);\n if (lower === c && lower !== lt) return false;\n } else if ('<=' === lt.operator && !satisfies(lt.semver, String(c), options)) return false;\n }\n if (!c.operator && (lt || gt) && 0 !== gtltComp) return false;\n }\n if (gt && hasDomLT && !lt && 0 !== gtltComp) return false;\n if (lt && hasDomGT && !gt && 0 !== gtltComp) return false;\n if (needDomGTPre || needDomLTPre) return false;\n return true;\n };\n const higherGT = (a, b, options)=>{\n if (!a) return b;\n const comp = compare(a.semver, b.semver, options);\n return comp > 0 ? a : comp < 0 ? b : '>' === b.operator && '>=' === a.operator ? b : a;\n };\n const lowerLT = (a, b, options)=>{\n if (!a) return b;\n const comp = compare(a.semver, b.semver, options);\n return comp < 0 ? a : comp > 0 ? b : '<' === b.operator && '<=' === a.operator ? b : a;\n };\n module.exports = subset;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/to-comparators.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const toComparators = (range, options)=>new Range(range, options).set.map((comp)=>comp.map((c)=>c.value).join(' ').trim().split(' '));\n module.exports = toComparators;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/valid.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const validRange = (range, options)=>{\n try {\n return new Range(range, options).range || '*';\n } catch (er) {\n return null;\n }\n };\n module.exports = validRange;\n }\n};\nvar __webpack_module_cache__ = {};\nfunction __webpack_require__(moduleId) {\n var cachedModule = __webpack_module_cache__[moduleId];\n if (void 0 !== cachedModule) return cachedModule.exports;\n var module = __webpack_module_cache__[moduleId] = {\n exports: {}\n };\n __webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n return module.exports;\n}\n(()=>{\n __webpack_require__.n = (module)=>{\n var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;\n __webpack_require__.d(getter, {\n a: getter\n });\n return getter;\n };\n})();\n(()=>{\n __webpack_require__.d = (exports, definition)=>{\n for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, {\n enumerable: true,\n get: definition[key]\n });\n };\n})();\n(()=>{\n __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);\n})();\nvar semver = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/index.js\");\nvar semver_default = /*#__PURE__*/ __webpack_require__.n(semver);\nconst semverSatisfies = (targetAppVersion, currentVersion)=>{\n const currentCoerce = semver_default().coerce(currentVersion);\n if (!currentCoerce) return false;\n return semver_default().satisfies(currentCoerce.version, targetAppVersion);\n};\nconst INIT_BUNDLE_ROLLBACK_UPDATE_INFO = {\n message: null,\n id: __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID,\n shouldForceUpdate: true,\n status: \"ROLLBACK\"\n};\nconst makeResponse = (bundle, status)=>({\n id: bundle.id,\n message: bundle.message,\n shouldForceUpdate: \"ROLLBACK\" === status ? true : bundle.shouldForceUpdate,\n status\n });\nconst getUpdateInfo = async (bundles, { platform, bundleId, appVersion, minBundleId = __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID, channel = \"production\" })=>{\n const candidateBundles = [];\n for (const b of bundles)if (!(b.platform !== platform || b.channel !== channel || !semverSatisfies(b.targetAppVersion, appVersion) || !b.enabled || minBundleId && b.id.localeCompare(minBundleId) < 0)) candidateBundles.push(b);\n if (0 === candidateBundles.length) {\n if (bundleId === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID || minBundleId && bundleId.localeCompare(minBundleId) <= 0) return null;\n return INIT_BUNDLE_ROLLBACK_UPDATE_INFO;\n }\n let latestCandidate = null;\n let updateCandidate = null;\n let rollbackCandidate = null;\n let currentBundle;\n for (const b of candidateBundles){\n if (!latestCandidate || b.id.localeCompare(latestCandidate.id) > 0) latestCandidate = b;\n if (b.id === bundleId) currentBundle = b;\n else if (bundleId !== __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) {\n if (b.id.localeCompare(bundleId) > 0) {\n if (!updateCandidate || b.id.localeCompare(updateCandidate.id) > 0) updateCandidate = b;\n } else if (b.id.localeCompare(bundleId) < 0) {\n if (!rollbackCandidate || b.id.localeCompare(rollbackCandidate.id) > 0) rollbackCandidate = b;\n }\n }\n }\n if (bundleId === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) {\n if (latestCandidate && latestCandidate.id.localeCompare(bundleId) > 0) return makeResponse(latestCandidate, \"UPDATE\");\n return null;\n }\n if (currentBundle) {\n if (latestCandidate && latestCandidate.id.localeCompare(currentBundle.id) > 0) return makeResponse(latestCandidate, \"UPDATE\");\n return null;\n }\n if (updateCandidate) return makeResponse(updateCandidate, \"UPDATE\");\n if (rollbackCandidate) return makeResponse(rollbackCandidate, \"ROLLBACK\");\n if (minBundleId && bundleId.localeCompare(minBundleId) <= 0) return null;\n return INIT_BUNDLE_ROLLBACK_UPDATE_INFO;\n};\nconst filterCompatibleAppVersions = (targetAppVersionList, currentVersion)=>{\n const compatibleAppVersionList = targetAppVersionList.filter((version)=>semverSatisfies(version, currentVersion));\n return compatibleAppVersionList.sort((a, b)=>b.localeCompare(a));\n};\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction concat(...buffers) {\n const size = buffers.reduce((acc, { length })=>acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n for (const buffer of buffers){\n buf.set(buffer, i);\n i += buffer.length;\n }\n return buf;\n}\nfunction encodeBase64(input) {\n if (Uint8Array.prototype.toBase64) return input.toBase64();\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for(let i = 0; i < input.length; i += CHUNK_SIZE)arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));\n return btoa(arr.join(''));\n}\nfunction decodeBase64(encoded) {\n if (Uint8Array.fromBase64) return Uint8Array.fromBase64(encoded);\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for(let i = 0; i < binary.length; i++)bytes[i] = binary.charCodeAt(i);\n return bytes;\n}\nfunction decode(input) {\n if (Uint8Array.fromBase64) return Uint8Array.fromBase64('string' == typeof input ? input : decoder.decode(input), {\n alphabet: 'base64url'\n });\n let encoded = input;\n if (encoded instanceof Uint8Array) encoded = decoder.decode(encoded);\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/\\s/g, '');\n try {\n return decodeBase64(encoded);\n } catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n}\nfunction encode(input) {\n let unencoded = input;\n if ('string' == typeof unencoded) unencoded = encoder.encode(unencoded);\n if (Uint8Array.prototype.toBase64) return unencoded.toBase64({\n alphabet: 'base64url',\n omitPadding: true\n });\n return encodeBase64(unencoded).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nclass JOSEError extends Error {\n static code = 'ERR_JOSE_GENERIC';\n code = 'ERR_JOSE_GENERIC';\n constructor(message, options){\n super(message, options);\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nclass JWTClaimValidationFailed extends JOSEError {\n static code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified'){\n super(message, {\n cause: {\n claim,\n reason,\n payload\n }\n });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nclass JWTExpired extends JOSEError {\n static code = 'ERR_JWT_EXPIRED';\n code = 'ERR_JWT_EXPIRED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified'){\n super(message, {\n cause: {\n claim,\n reason,\n payload\n }\n });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nclass JOSEAlgNotAllowed extends JOSEError {\n static code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n}\nclass JOSENotSupported extends JOSEError {\n static code = 'ERR_JOSE_NOT_SUPPORTED';\n code = 'ERR_JOSE_NOT_SUPPORTED';\n}\nclass JWSInvalid extends JOSEError {\n static code = 'ERR_JWS_INVALID';\n code = 'ERR_JWS_INVALID';\n}\nclass JWTInvalid extends JOSEError {\n static code = 'ERR_JWT_INVALID';\n code = 'ERR_JWT_INVALID';\n}\nclass JWKSMultipleMatchingKeys extends JOSEError {\n [Symbol.asyncIterator];\n static code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n constructor(message = 'multiple matching keys found in the JSON Web Key Set', options){\n super(message, options);\n }\n}\nclass JWSSignatureVerificationFailed extends JOSEError {\n static code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n constructor(message = 'signature verification failed', options){\n super(message, options);\n }\n}\nconst subtle_dsa = (alg, algorithm)=>{\n const hash = `SHA-${alg.slice(-3)}`;\n switch(alg){\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return {\n hash,\n name: 'HMAC'\n };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return {\n hash,\n name: 'RSA-PSS',\n saltLength: parseInt(alg.slice(-3), 10) >> 3\n };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return {\n hash,\n name: 'RSASSA-PKCS1-v1_5'\n };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return {\n hash,\n name: 'ECDSA',\n namedCurve: algorithm.namedCurve\n };\n case 'Ed25519':\n case 'EdDSA':\n return {\n name: 'Ed25519'\n };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n};\nconst check_key_length = (alg, key)=>{\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if ('number' != typeof modulusLength || modulusLength < 2048) throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n};\nfunction unusable(name, prop = 'algorithm.name') {\n return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\n}\nfunction isAlgorithm(algorithm, name) {\n return algorithm.name === name;\n}\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction getNamedCurve(alg) {\n switch(alg){\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usage) {\n if (usage && !key.usages.includes(usage)) throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);\n}\nfunction checkSigCryptoKey(key, alg, usage) {\n switch(alg){\n case 'HS256':\n case 'HS384':\n case 'HS512':\n {\n if (!isAlgorithm(key.algorithm, 'HMAC')) throw unusable('HMAC');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512':\n {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5')) throw unusable('RSASSA-PKCS1-v1_5');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512':\n {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS')) throw unusable('RSA-PSS');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'Ed25519':\n case 'EdDSA':\n if (!isAlgorithm(key.algorithm, 'Ed25519')) throw unusable('Ed25519');\n break;\n case 'ES256':\n case 'ES384':\n case 'ES512':\n {\n if (!isAlgorithm(key.algorithm, 'ECDSA')) throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected) throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\nfunction invalid_key_input_message(msg, actual, ...types) {\n types = types.filter(Boolean);\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n } else if (2 === types.length) msg += `one of type ${types[0]} or ${types[1]}.`;\n else msg += `of type ${types[0]}.`;\n if (null == actual) msg += ` Received ${actual}`;\n else if ('function' == typeof actual && actual.name) msg += ` Received function ${actual.name}`;\n else if ('object' == typeof actual && null != actual) {\n if (actual.constructor?.name) msg += ` Received an instance of ${actual.constructor.name}`;\n }\n return msg;\n}\nconst invalid_key_input = (actual, ...types)=>invalid_key_input_message('Key must be ', actual, ...types);\nfunction withAlg(alg, actual, ...types) {\n return invalid_key_input_message(`Key for the ${alg} algorithm must be `, actual, ...types);\n}\nconst get_sign_verify_key = async (alg, key, usage)=>{\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) throw new TypeError(invalid_key_input(key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n return crypto.subtle.importKey('raw', key, {\n hash: `SHA-${alg.slice(-3)}`,\n name: 'HMAC'\n }, false, [\n usage\n ]);\n }\n checkSigCryptoKey(key, alg, usage);\n return key;\n};\nconst sign = async (alg, key, data)=>{\n const cryptoKey = await get_sign_verify_key(alg, key, 'sign');\n check_key_length(alg, cryptoKey);\n const signature = await crypto.subtle.sign(subtle_dsa(alg, cryptoKey.algorithm), cryptoKey, data);\n return new Uint8Array(signature);\n};\nconst is_disjoint = (...headers)=>{\n const sources = headers.filter(Boolean);\n if (0 === sources.length || 1 === sources.length) return true;\n let acc;\n for (const header of sources){\n const parameters = Object.keys(header);\n if (!acc || 0 === acc.size) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters){\n if (acc.has(parameter)) return false;\n acc.add(parameter);\n }\n }\n return true;\n};\nfunction isCryptoKey(key) {\n return key?.[Symbol.toStringTag] === 'CryptoKey';\n}\nfunction isKeyObject(key) {\n return key?.[Symbol.toStringTag] === 'KeyObject';\n}\nconst is_key_like = (key)=>isCryptoKey(key) || isKeyObject(key);\nfunction isObjectLike(value) {\n return 'object' == typeof value && null !== value;\n}\nconst is_object = (input)=>{\n if (!isObjectLike(input) || '[object Object]' !== Object.prototype.toString.call(input)) return false;\n if (null === Object.getPrototypeOf(input)) return true;\n let proto = input;\n while(null !== Object.getPrototypeOf(proto))proto = Object.getPrototypeOf(proto);\n return Object.getPrototypeOf(input) === proto;\n};\nfunction isJWK(key) {\n return is_object(key) && 'string' == typeof key.kty;\n}\nfunction isPrivateJWK(key) {\n return 'oct' !== key.kty && 'string' == typeof key.d;\n}\nfunction isPublicJWK(key) {\n return 'oct' !== key.kty && void 0 === key.d;\n}\nfunction isSecretJWK(key) {\n return 'oct' === key.kty && 'string' == typeof key.k;\n}\nconst tag = (key)=>key?.[Symbol.toStringTag];\nconst jwkMatchesOp = (alg, key, usage)=>{\n if (void 0 !== key.use) {\n let expected;\n switch(usage){\n case 'sign':\n case 'verify':\n expected = 'sig';\n break;\n case 'encrypt':\n case 'decrypt':\n expected = 'enc';\n break;\n }\n if (key.use !== expected) throw new TypeError(`Invalid key for this operation, its \"use\" must be \"${expected}\" when present`);\n }\n if (void 0 !== key.alg && key.alg !== alg) throw new TypeError(`Invalid key for this operation, its \"alg\" must be \"${alg}\" when present`);\n if (Array.isArray(key.key_ops)) {\n let expectedKeyOp;\n switch(true){\n case 'sign' === usage || 'verify' === usage:\n case 'dir' === alg:\n case alg.includes('CBC-HS'):\n expectedKeyOp = usage;\n break;\n case alg.startsWith('PBES2'):\n expectedKeyOp = 'deriveBits';\n break;\n case /^A\\d{3}(?:GCM)?(?:KW)?$/.test(alg):\n expectedKeyOp = !alg.includes('GCM') && alg.endsWith('KW') ? 'encrypt' === usage ? 'wrapKey' : 'unwrapKey' : usage;\n break;\n case 'encrypt' === usage && alg.startsWith('RSA'):\n expectedKeyOp = 'wrapKey';\n break;\n case 'decrypt' === usage:\n expectedKeyOp = alg.startsWith('RSA') ? 'unwrapKey' : 'deriveBits';\n break;\n }\n if (expectedKeyOp && key.key_ops?.includes?.(expectedKeyOp) === false) throw new TypeError(`Invalid key for this operation, its \"key_ops\" must include \"${expectedKeyOp}\" when present`);\n }\n return true;\n};\nconst symmetricTypeCheck = (alg, key, usage)=>{\n if (key instanceof Uint8Array) return;\n if (isJWK(key)) {\n if (isSecretJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError('JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present');\n }\n if (!is_key_like(key)) throw new TypeError(withAlg(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key', 'Uint8Array'));\n if ('secret' !== key.type) throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n};\nconst asymmetricTypeCheck = (alg, key, usage)=>{\n if (isJWK(key)) switch(usage){\n case 'decrypt':\n case 'sign':\n if (isPrivateJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError(\"JSON Web Key for this operation be a private JWK\");\n case 'encrypt':\n case 'verify':\n if (isPublicJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError(\"JSON Web Key for this operation be a public JWK\");\n }\n if (!is_key_like(key)) throw new TypeError(withAlg(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n if ('secret' === key.type) throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n if ('public' === key.type) switch(usage){\n case 'sign':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n case 'decrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n default:\n break;\n }\n if ('private' === key.type) switch(usage){\n case 'verify':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n case 'encrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n default:\n break;\n }\n};\nconst check_key_type = (alg, key, usage)=>{\n const symmetric = alg.startsWith('HS') || 'dir' === alg || alg.startsWith('PBES2') || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(alg) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(alg);\n if (symmetric) symmetricTypeCheck(alg, key, usage);\n else asymmetricTypeCheck(alg, key, usage);\n};\nconst validate_crit = (Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader)=>{\n if (void 0 !== joseHeader.crit && protectedHeader?.crit === void 0) throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n if (!protectedHeader || void 0 === protectedHeader.crit) return new Set();\n if (!Array.isArray(protectedHeader.crit) || 0 === protectedHeader.crit.length || protectedHeader.crit.some((input)=>'string' != typeof input || 0 === input.length)) throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n let recognized;\n recognized = void 0 !== recognizedOption ? new Map([\n ...Object.entries(recognizedOption),\n ...recognizedDefault.entries()\n ]) : recognizedDefault;\n for (const parameter of protectedHeader.crit){\n if (!recognized.has(parameter)) throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n if (void 0 === joseHeader[parameter]) throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n if (recognized.get(parameter) && void 0 === protectedHeader[parameter]) throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n return new Set(protectedHeader.crit);\n};\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch(jwk.kty){\n case 'RSA':\n switch(jwk.alg){\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = {\n name: 'RSA-PSS',\n hash: `SHA-${jwk.alg.slice(-3)}`\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = {\n name: 'RSASSA-PKCS1-v1_5',\n hash: `SHA-${jwk.alg.slice(-3)}`\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`\n };\n keyUsages = jwk.d ? [\n 'decrypt',\n 'unwrapKey'\n ] : [\n 'encrypt',\n 'wrapKey'\n ];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n case 'EC':\n switch(jwk.alg){\n case 'ES256':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-256'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ES384':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-384'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ES512':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-521'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = {\n name: 'ECDH',\n namedCurve: jwk.crv\n };\n keyUsages = jwk.d ? [\n 'deriveBits'\n ] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n case 'OKP':\n switch(jwk.alg){\n case 'Ed25519':\n case 'EdDSA':\n algorithm = {\n name: 'Ed25519'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = {\n name: jwk.crv\n };\n keyUsages = jwk.d ? [\n 'deriveBits'\n ] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return {\n algorithm,\n keyUsages\n };\n}\nconst jwk_to_key = async (jwk)=>{\n if (!jwk.alg) throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const keyData = {\n ...jwk\n };\n delete keyData.alg;\n delete keyData.use;\n return crypto.subtle.importKey('jwk', keyData, algorithm, jwk.ext ?? !jwk.d, jwk.key_ops ?? keyUsages);\n};\nlet cache;\nconst handleJWK = async (key, jwk, alg, freeze = false)=>{\n cache ||= new WeakMap();\n let cached = cache.get(key);\n if (cached?.[alg]) return cached[alg];\n const cryptoKey = await jwk_to_key({\n ...jwk,\n alg\n });\n if (freeze) Object.freeze(key);\n if (cached) cached[alg] = cryptoKey;\n else cache.set(key, {\n [alg]: cryptoKey\n });\n return cryptoKey;\n};\nconst handleKeyObject = (keyObject, alg)=>{\n cache ||= new WeakMap();\n let cached = cache.get(keyObject);\n if (cached?.[alg]) return cached[alg];\n const isPublic = 'public' === keyObject.type;\n const extractable = !!isPublic;\n let cryptoKey;\n if ('x25519' === keyObject.asymmetricKeyType) {\n switch(alg){\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n break;\n default:\n throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, isPublic ? [] : [\n 'deriveBits'\n ]);\n }\n if ('ed25519' === keyObject.asymmetricKeyType) {\n if ('EdDSA' !== alg && 'Ed25519' !== alg) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n }\n if ('rsa' === keyObject.asymmetricKeyType) {\n let hash;\n switch(alg){\n case 'RSA-OAEP':\n hash = 'SHA-1';\n break;\n case 'RS256':\n case 'PS256':\n case 'RSA-OAEP-256':\n hash = 'SHA-256';\n break;\n case 'RS384':\n case 'PS384':\n case 'RSA-OAEP-384':\n hash = 'SHA-384';\n break;\n case 'RS512':\n case 'PS512':\n case 'RSA-OAEP-512':\n hash = 'SHA-512';\n break;\n default:\n throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n }\n if (alg.startsWith('RSA-OAEP')) return keyObject.toCryptoKey({\n name: 'RSA-OAEP',\n hash\n }, extractable, isPublic ? [\n 'encrypt'\n ] : [\n 'decrypt'\n ]);\n cryptoKey = keyObject.toCryptoKey({\n name: alg.startsWith('PS') ? 'RSA-PSS' : 'RSASSA-PKCS1-v1_5',\n hash\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n }\n if ('ec' === keyObject.asymmetricKeyType) {\n const nist = new Map([\n [\n 'prime256v1',\n 'P-256'\n ],\n [\n 'secp384r1',\n 'P-384'\n ],\n [\n 'secp521r1',\n 'P-521'\n ]\n ]);\n const namedCurve = nist.get(keyObject.asymmetricKeyDetails?.namedCurve);\n if (!namedCurve) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n if ('ES256' === alg && 'P-256' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if ('ES384' === alg && 'P-384' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if ('ES512' === alg && 'P-521' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if (alg.startsWith('ECDH-ES')) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDH',\n namedCurve\n }, extractable, isPublic ? [] : [\n 'deriveBits'\n ]);\n }\n if (!cryptoKey) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n if (cached) cached[alg] = cryptoKey;\n else cache.set(keyObject, {\n [alg]: cryptoKey\n });\n return cryptoKey;\n};\nconst normalize_key = async (key, alg)=>{\n if (key instanceof Uint8Array) return key;\n if (isCryptoKey(key)) return key;\n if (isKeyObject(key)) {\n if ('secret' === key.type) return key.export();\n if ('toCryptoKey' in key && 'function' == typeof key.toCryptoKey) try {\n return handleKeyObject(key, alg);\n } catch (err) {\n if (err instanceof TypeError) throw err;\n }\n let jwk = key.export({\n format: 'jwk'\n });\n return handleJWK(key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k) return decode(key.k);\n return handleJWK(key, key, alg, true);\n }\n throw new Error('unreachable');\n};\nclass FlattenedSign {\n #payload;\n #protectedHeader;\n #unprotectedHeader;\n constructor(payload){\n if (!(payload instanceof Uint8Array)) throw new TypeError('payload must be an instance of Uint8Array');\n this.#payload = payload;\n }\n setProtectedHeader(protectedHeader) {\n if (this.#protectedHeader) throw new TypeError('setProtectedHeader can only be called once');\n this.#protectedHeader = protectedHeader;\n return this;\n }\n setUnprotectedHeader(unprotectedHeader) {\n if (this.#unprotectedHeader) throw new TypeError('setUnprotectedHeader can only be called once');\n this.#unprotectedHeader = unprotectedHeader;\n return this;\n }\n async sign(key, options) {\n if (!this.#protectedHeader && !this.#unprotectedHeader) throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n if (!is_disjoint(this.#protectedHeader, this.#unprotectedHeader)) throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n const joseHeader = {\n ...this.#protectedHeader,\n ...this.#unprotectedHeader\n };\n const extensions = validate_crit(JWSInvalid, new Map([\n [\n 'b64',\n true\n ]\n ]), options?.crit, this.#protectedHeader, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = this.#protectedHeader.b64;\n if ('boolean' != typeof b64) throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n const { alg } = joseHeader;\n if ('string' != typeof alg || !alg) throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n check_key_type(alg, key, 'sign');\n let payload = this.#payload;\n if (b64) payload = encoder.encode(encode(payload));\n let protectedHeader;\n protectedHeader = this.#protectedHeader ? encoder.encode(encode(JSON.stringify(this.#protectedHeader))) : encoder.encode('');\n const data = concat(protectedHeader, encoder.encode('.'), payload);\n const k = await normalize_key(key, alg);\n const signature = await sign(alg, k, data);\n const jws = {\n signature: encode(signature),\n payload: ''\n };\n if (b64) jws.payload = decoder.decode(payload);\n if (this.#unprotectedHeader) jws.header = this.#unprotectedHeader;\n if (this.#protectedHeader) jws.protected = decoder.decode(protectedHeader);\n return jws;\n }\n}\nclass CompactSign {\n #flattened;\n constructor(payload){\n this.#flattened = new FlattenedSign(payload);\n }\n setProtectedHeader(protectedHeader) {\n this.#flattened.setProtectedHeader(protectedHeader);\n return this;\n }\n async sign(key, options) {\n const jws = await this.#flattened.sign(key, options);\n if (void 0 === jws.payload) throw new TypeError('use the flattened module for creating JWS with b64: false');\n return `${jws.protected}.${jws.payload}.${jws.signature}`;\n }\n}\nconst epoch = (date)=>Math.floor(date.getTime() / 1000);\nconst minute = 60;\nconst hour = 60 * minute;\nconst day = 24 * hour;\nconst week = 7 * day;\nconst year = 365.25 * day;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nconst secs = (str)=>{\n const matched = REGEX.exec(str);\n if (!matched || matched[4] && matched[1]) throw new TypeError('Invalid time period format');\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch(unit){\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if ('-' === matched[1] || 'ago' === matched[4]) return -numericDate;\n return numericDate;\n};\nfunction validateInput(label, input) {\n if (!Number.isFinite(input)) throw new TypeError(`Invalid ${label} input`);\n return input;\n}\nconst normalizeTyp = (value)=>value.toLowerCase().replace(/^application\\//, '');\nconst checkAudiencePresence = (audPayload, audOption)=>{\n if ('string' == typeof audPayload) return audOption.includes(audPayload);\n if (Array.isArray(audPayload)) return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n return false;\n};\nfunction validateClaimsSet(protectedHeader, encodedPayload, options = {}) {\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n } catch {}\n if (!is_object(payload)) throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n const { typ } = options;\n if (typ && ('string' != typeof protectedHeader.typ || normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [\n ...requiredClaims\n ];\n if (void 0 !== maxTokenAge) presenceCheck.push('iat');\n if (void 0 !== audience) presenceCheck.push('aud');\n if (void 0 !== subject) presenceCheck.push('sub');\n if (void 0 !== issuer) presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse()))if (!(claim in payload)) throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n if (issuer && !(Array.isArray(issuer) ? issuer : [\n issuer\n ]).includes(payload.iss)) throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n if (subject && payload.sub !== subject) throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n if (audience && !checkAudiencePresence(payload.aud, 'string' == typeof audience ? [\n audience\n ] : audience)) throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n let tolerance;\n switch(typeof options.clockTolerance){\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((void 0 !== payload.iat || maxTokenAge) && 'number' != typeof payload.iat) throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n if (void 0 !== payload.nbf) {\n if ('number' != typeof payload.nbf) throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n if (payload.nbf > now + tolerance) throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n }\n if (void 0 !== payload.exp) {\n if ('number' != typeof payload.exp) throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n if (payload.exp <= now - tolerance) throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = 'number' == typeof maxTokenAge ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n if (age < 0 - tolerance) throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n }\n return payload;\n}\nclass JWTClaimsBuilder {\n #payload;\n constructor(payload){\n if (!is_object(payload)) throw new TypeError('JWT Claims Set MUST be an object');\n this.#payload = structuredClone(payload);\n }\n data() {\n return encoder.encode(JSON.stringify(this.#payload));\n }\n get iss() {\n return this.#payload.iss;\n }\n set iss(value) {\n this.#payload.iss = value;\n }\n get sub() {\n return this.#payload.sub;\n }\n set sub(value) {\n this.#payload.sub = value;\n }\n get aud() {\n return this.#payload.aud;\n }\n set aud(value) {\n this.#payload.aud = value;\n }\n set jti(value) {\n this.#payload.jti = value;\n }\n set nbf(value) {\n if ('number' == typeof value) this.#payload.nbf = validateInput('setNotBefore', value);\n else if (value instanceof Date) this.#payload.nbf = validateInput('setNotBefore', epoch(value));\n else this.#payload.nbf = epoch(new Date()) + secs(value);\n }\n set exp(value) {\n if ('number' == typeof value) this.#payload.exp = validateInput('setExpirationTime', value);\n else if (value instanceof Date) this.#payload.exp = validateInput('setExpirationTime', epoch(value));\n else this.#payload.exp = epoch(new Date()) + secs(value);\n }\n set iat(value) {\n if (void 0 === value) this.#payload.iat = epoch(new Date());\n else if (value instanceof Date) this.#payload.iat = validateInput('setIssuedAt', epoch(value));\n else if ('string' == typeof value) this.#payload.iat = validateInput('setIssuedAt', epoch(new Date()) + secs(value));\n else this.#payload.iat = validateInput('setIssuedAt', value);\n }\n}\nclass SignJWT {\n #protectedHeader;\n #jwt;\n constructor(payload = {}){\n this.#jwt = new JWTClaimsBuilder(payload);\n }\n setIssuer(issuer) {\n this.#jwt.iss = issuer;\n return this;\n }\n setSubject(subject) {\n this.#jwt.sub = subject;\n return this;\n }\n setAudience(audience) {\n this.#jwt.aud = audience;\n return this;\n }\n setJti(jwtId) {\n this.#jwt.jti = jwtId;\n return this;\n }\n setNotBefore(input) {\n this.#jwt.nbf = input;\n return this;\n }\n setExpirationTime(input) {\n this.#jwt.exp = input;\n return this;\n }\n setIssuedAt(input) {\n this.#jwt.iat = input;\n return this;\n }\n setProtectedHeader(protectedHeader) {\n this.#protectedHeader = protectedHeader;\n return this;\n }\n async sign(key, options) {\n const sig = new CompactSign(this.#jwt.data());\n sig.setProtectedHeader(this.#protectedHeader);\n if (Array.isArray(this.#protectedHeader?.crit) && this.#protectedHeader.crit.includes('b64') && false === this.#protectedHeader.b64) throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n return sig.sign(key, options);\n }\n}\nconst withJwtSignedUrl = async ({ data, reqUrl, jwtSecret })=>{\n if (!data) return null;\n if (data.id === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) return {\n ...data,\n fileUrl: null\n };\n const key = `${data.id}/bundle.zip`;\n const token = await signToken(key, jwtSecret);\n const url = new URL(reqUrl);\n url.pathname = `/${key}`;\n url.searchParams.set(\"token\", token);\n return {\n ...data,\n fileUrl: url.toString()\n };\n};\nconst signToken = async (key, jwtSecret)=>{\n const secretKey = new TextEncoder().encode(jwtSecret);\n const token = await new SignJWT({\n key\n }).setProtectedHeader({\n alg: \"HS256\"\n }).setExpirationTime(\"60s\").sign(secretKey);\n return token;\n};\nconst verify = async (alg, key, signature, data)=>{\n const cryptoKey = await get_sign_verify_key(alg, key, 'verify');\n check_key_length(alg, cryptoKey);\n const algorithm = subtle_dsa(alg, cryptoKey.algorithm);\n try {\n return await crypto.subtle.verify(algorithm, cryptoKey, signature, data);\n } catch {\n return false;\n }\n};\nconst validate_algorithms = (option, algorithms)=>{\n if (void 0 !== algorithms && (!Array.isArray(algorithms) || algorithms.some((s)=>'string' != typeof s))) throw new TypeError(`\"${option}\" option must be an array of strings`);\n if (!algorithms) return;\n return new Set(algorithms);\n};\nasync function flattenedVerify(jws, key, options) {\n if (!is_object(jws)) throw new JWSInvalid('Flattened JWS must be an object');\n if (void 0 === jws.protected && void 0 === jws.header) throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n if (void 0 !== jws.protected && 'string' != typeof jws.protected) throw new JWSInvalid('JWS Protected Header incorrect type');\n if (void 0 === jws.payload) throw new JWSInvalid('JWS Payload missing');\n if ('string' != typeof jws.signature) throw new JWSInvalid('JWS Signature missing or incorrect type');\n if (void 0 !== jws.header && !is_object(jws.header)) throw new JWSInvalid('JWS Unprotected Header incorrect type');\n let parsedProt = {};\n if (jws.protected) try {\n const protectedHeader = decode(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n } catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n if (!is_disjoint(parsedProt, jws.header)) throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n const joseHeader = {\n ...parsedProt,\n ...jws.header\n };\n const extensions = validate_crit(JWSInvalid, new Map([\n [\n 'b64',\n true\n ]\n ]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if ('boolean' != typeof b64) throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n const { alg } = joseHeader;\n if ('string' != typeof alg || !alg) throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n const algorithms = options && validate_algorithms('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n if (b64) {\n if ('string' != typeof jws.payload) throw new JWSInvalid('JWS Payload must be a string');\n } else if ('string' != typeof jws.payload && !(jws.payload instanceof Uint8Array)) throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n let resolvedKey = false;\n if ('function' == typeof key) {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n }\n check_key_type(alg, key, 'verify');\n const data = concat(encoder.encode(jws.protected ?? ''), encoder.encode('.'), 'string' == typeof jws.payload ? encoder.encode(jws.payload) : jws.payload);\n let signature;\n try {\n signature = decode(jws.signature);\n } catch {\n throw new JWSInvalid('Failed to base64url decode the signature');\n }\n const k = await normalize_key(key, alg);\n const verified = await verify(alg, k, signature, data);\n if (!verified) throw new JWSSignatureVerificationFailed();\n let payload;\n if (b64) try {\n payload = decode(jws.payload);\n } catch {\n throw new JWSInvalid('Failed to base64url decode the payload');\n }\n else payload = 'string' == typeof jws.payload ? encoder.encode(jws.payload) : jws.payload;\n const result = {\n payload\n };\n if (void 0 !== jws.protected) result.protectedHeader = parsedProt;\n if (void 0 !== jws.header) result.unprotectedHeader = jws.header;\n if (resolvedKey) return {\n ...result,\n key: k\n };\n return result;\n}\nasync function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) jws = decoder.decode(jws);\n if ('string' != typeof jws) throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (3 !== length) throw new JWSInvalid('Invalid Compact JWS');\n const verified = await flattenedVerify({\n payload,\n protected: protectedHeader,\n signature\n }, key, options);\n const result = {\n payload: verified.payload,\n protectedHeader: verified.protectedHeader\n };\n if ('function' == typeof key) return {\n ...result,\n key: verified.key\n };\n return result;\n}\nasync function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && false === verified.protectedHeader.b64) throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n const payload = validateClaimsSet(verified.protectedHeader, verified.payload, options);\n const result = {\n payload,\n protectedHeader: verified.protectedHeader\n };\n if ('function' == typeof key) return {\n ...result,\n key: verified.key\n };\n return result;\n}\nconst verifyJwtToken = async ({ path, token, jwtSecret })=>{\n const key = path.replace(/^\\/+/, \"\");\n if (!token) return {\n valid: false,\n error: \"Missing token\"\n };\n try {\n const secretKey = new TextEncoder().encode(jwtSecret);\n const { payload } = await jwtVerify(token, secretKey);\n if (!payload || payload.key !== key) return {\n valid: false,\n error: \"Token does not match requested file\"\n };\n return {\n valid: true,\n key\n };\n } catch (error) {\n return {\n valid: false,\n error: \"Invalid or expired token\"\n };\n }\n};\nconst getFileResponse = async ({ key, handler })=>{\n const object = await handler(key);\n if (!object) return {\n status: 404,\n error: \"File not found\"\n };\n const pathParts = key.split(\"/\");\n const fileName = pathParts[pathParts.length - 1];\n const headers = {\n \"Content-Type\": object.contentType || \"application/octet-stream\",\n \"Content-Disposition\": `attachment; filename=${fileName}`\n };\n return {\n status: 200,\n responseHeaders: headers,\n responseBody: object.body\n };\n};\nconst verifyJwtSignedUrl = async ({ path, token, jwtSecret, handler })=>{\n const result = await verifyJwtToken({\n path,\n token,\n jwtSecret\n });\n if (!result.valid) {\n if (\"Missing token\" === result.error) return {\n status: 400,\n error: result.error\n };\n return {\n status: 403,\n error: result.error || \"Unauthorized\"\n };\n }\n return getFileResponse({\n key: result.key,\n handler\n });\n};\nexport { filterCompatibleAppVersions, getUpdateInfo, semverSatisfies, signToken, verifyJwtSignedUrl, verifyJwtToken, withJwtSignedUrl };\n", "// src/utils/body.ts\nimport { HonoRequest } from \"../request.js\";\nvar parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {\n const { all = false, dot = false } = options;\n const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;\n const contentType = headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"multipart/form-data\") || contentType?.startsWith(\"application/x-www-form-urlencoded\")) {\n return parseFormData(request, { all, dot });\n }\n return {};\n};\nasync function parseFormData(request, options) {\n const formData = await request.formData();\n if (formData) {\n return convertFormDataToBodyData(formData, options);\n }\n return {};\n}\nfunction convertFormDataToBodyData(formData, options) {\n const form = /* @__PURE__ */ Object.create(null);\n formData.forEach((value, key) => {\n const shouldParseAllValues = options.all || key.endsWith(\"[]\");\n if (!shouldParseAllValues) {\n form[key] = value;\n } else {\n handleParsingAllValues(form, key, value);\n }\n });\n if (options.dot) {\n Object.entries(form).forEach(([key, value]) => {\n const shouldParseDotValues = key.includes(\".\");\n if (shouldParseDotValues) {\n handleParsingNestedValues(form, key, value);\n delete form[key];\n }\n });\n }\n return form;\n}\nvar handleParsingAllValues = (form, key, value) => {\n if (form[key] !== void 0) {\n if (Array.isArray(form[key])) {\n ;\n form[key].push(value);\n } else {\n form[key] = [form[key], value];\n }\n } else {\n form[key] = value;\n }\n};\nvar handleParsingNestedValues = (form, key, value) => {\n let nestedForm = form;\n const keys = key.split(\".\");\n keys.forEach((key2, index) => {\n if (index === keys.length - 1) {\n nestedForm[key2] = value;\n } else {\n if (!nestedForm[key2] || typeof nestedForm[key2] !== \"object\" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) {\n nestedForm[key2] = /* @__PURE__ */ Object.create(null);\n }\n nestedForm = nestedForm[key2];\n }\n });\n};\nexport {\n parseBody\n};\n", "// src/utils/url.ts\nvar splitPath = (path) => {\n const paths = path.split(\"/\");\n if (paths[0] === \"\") {\n paths.shift();\n }\n return paths;\n};\nvar splitRoutingPath = (routePath) => {\n const { groups, path } = extractGroupsFromPath(routePath);\n const paths = splitPath(path);\n return replaceGroupMarks(paths, groups);\n};\nvar extractGroupsFromPath = (path) => {\n const groups = [];\n path = path.replace(/\\{[^}]+\\}/g, (match, index) => {\n const mark = `@${index}`;\n groups.push([mark, match]);\n return mark;\n });\n return { groups, path };\n};\nvar replaceGroupMarks = (paths, groups) => {\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = paths.length - 1; j >= 0; j--) {\n if (paths[j].includes(mark)) {\n paths[j] = paths[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n return paths;\n};\nvar patternCache = {};\nvar getPattern = (label) => {\n if (label === \"*\") {\n return \"*\";\n }\n const match = label.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n if (match) {\n if (!patternCache[label]) {\n if (match[2]) {\n patternCache[label] = [label, match[1], new RegExp(\"^\" + match[2] + \"$\")];\n } else {\n patternCache[label] = [label, match[1], true];\n }\n }\n return patternCache[label];\n }\n return null;\n};\nvar tryDecodeURI = (str) => {\n try {\n return decodeURI(str);\n } catch {\n return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {\n try {\n return decodeURI(match);\n } catch {\n return match;\n }\n });\n }\n};\nvar getPath = (request) => {\n const url = request.url;\n const start = url.indexOf(\"/\", 8);\n let i = start;\n for (; i < url.length; i++) {\n const charCode = url.charCodeAt(i);\n if (charCode === 37) {\n const queryIndex = url.indexOf(\"?\", i);\n const path = url.slice(start, queryIndex === -1 ? void 0 : queryIndex);\n return tryDecodeURI(path.includes(\"%25\") ? path.replace(/%25/g, \"%2525\") : path);\n } else if (charCode === 63) {\n break;\n }\n }\n return url.slice(start, i);\n};\nvar getQueryStrings = (url) => {\n const queryIndex = url.indexOf(\"?\", 8);\n return queryIndex === -1 ? \"\" : \"?\" + url.slice(queryIndex + 1);\n};\nvar getPathNoStrict = (request) => {\n const result = getPath(request);\n return result.length > 1 && result[result.length - 1] === \"/\" ? result.slice(0, -1) : result;\n};\nvar mergePath = (...paths) => {\n let p = \"\";\n let endsWithSlash = false;\n for (let path of paths) {\n if (p[p.length - 1] === \"/\") {\n p = p.slice(0, -1);\n endsWithSlash = true;\n }\n if (path[0] !== \"/\") {\n path = `/${path}`;\n }\n if (path === \"/\" && endsWithSlash) {\n p = `${p}/`;\n } else if (path !== \"/\") {\n p = `${p}${path}`;\n }\n if (path === \"/\" && p === \"\") {\n p = \"/\";\n }\n }\n return p;\n};\nvar checkOptionalParameter = (path) => {\n if (!path.match(/\\:.+\\?$/)) {\n return null;\n }\n const segments = path.split(\"/\");\n const results = [];\n let basePath = \"\";\n segments.forEach((segment) => {\n if (segment !== \"\" && !/\\:/.test(segment)) {\n basePath += \"/\" + segment;\n } else if (/\\:/.test(segment)) {\n if (/\\?/.test(segment)) {\n if (results.length === 0 && basePath === \"\") {\n results.push(\"/\");\n } else {\n results.push(basePath);\n }\n const optionalSegment = segment.replace(\"?\", \"\");\n basePath += \"/\" + optionalSegment;\n results.push(basePath);\n } else {\n basePath += \"/\" + segment;\n }\n }\n });\n return results.filter((v, i, a) => a.indexOf(v) === i);\n};\nvar _decodeURI = (value) => {\n if (!/[%+]/.test(value)) {\n return value;\n }\n if (value.indexOf(\"+\") !== -1) {\n value = value.replace(/\\+/g, \" \");\n }\n return /%/.test(value) ? decodeURIComponent_(value) : value;\n};\nvar _getQueryParam = (url, key, multiple) => {\n let encoded;\n if (!multiple && key && !/[%+]/.test(key)) {\n let keyIndex2 = url.indexOf(`?${key}`, 8);\n if (keyIndex2 === -1) {\n keyIndex2 = url.indexOf(`&${key}`, 8);\n }\n while (keyIndex2 !== -1) {\n const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);\n if (trailingKeyCode === 61) {\n const valueIndex = keyIndex2 + key.length + 2;\n const endIndex = url.indexOf(\"&\", valueIndex);\n return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));\n } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) {\n return \"\";\n }\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n encoded = /[%+]/.test(url);\n if (!encoded) {\n return void 0;\n }\n }\n const results = {};\n encoded ??= /[%+]/.test(url);\n let keyIndex = url.indexOf(\"?\", 8);\n while (keyIndex !== -1) {\n const nextKeyIndex = url.indexOf(\"&\", keyIndex + 1);\n let valueIndex = url.indexOf(\"=\", keyIndex);\n if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) {\n valueIndex = -1;\n }\n let name = url.slice(\n keyIndex + 1,\n valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex\n );\n if (encoded) {\n name = _decodeURI(name);\n }\n keyIndex = nextKeyIndex;\n if (name === \"\") {\n continue;\n }\n let value;\n if (valueIndex === -1) {\n value = \"\";\n } else {\n value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);\n if (encoded) {\n value = _decodeURI(value);\n }\n }\n if (multiple) {\n if (!(results[name] && Array.isArray(results[name]))) {\n results[name] = [];\n }\n ;\n results[name].push(value);\n } else {\n results[name] ??= value;\n }\n }\n return key ? results[key] : results;\n};\nvar getQueryParam = _getQueryParam;\nvar getQueryParams = (url, key) => {\n return _getQueryParam(url, key, true);\n};\nvar decodeURIComponent_ = decodeURIComponent;\nexport {\n checkOptionalParameter,\n decodeURIComponent_,\n getPath,\n getPathNoStrict,\n getPattern,\n getQueryParam,\n getQueryParams,\n getQueryStrings,\n mergePath,\n splitPath,\n splitRoutingPath\n};\n", "// src/request.ts\nimport { parseBody } from \"./utils/body.js\";\nimport { decodeURIComponent_, getQueryParam, getQueryParams } from \"./utils/url.js\";\nvar HonoRequest = class {\n raw;\n #validatedData;\n #matchResult;\n routeIndex = 0;\n path;\n bodyCache = {};\n constructor(request, path = \"/\", matchResult = [[]]) {\n this.raw = request;\n this.path = path;\n this.#matchResult = matchResult;\n this.#validatedData = {};\n }\n param(key) {\n return key ? this.getDecodedParam(key) : this.getAllDecodedParams();\n }\n getDecodedParam(key) {\n const paramKey = this.#matchResult[0][this.routeIndex][1][key];\n const param = this.getParamValue(paramKey);\n return param ? /\\%/.test(param) ? decodeURIComponent_(param) : param : void 0;\n }\n getAllDecodedParams() {\n const decoded = {};\n const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);\n for (const key of keys) {\n const value = this.getParamValue(this.#matchResult[0][this.routeIndex][1][key]);\n if (value && typeof value === \"string\") {\n decoded[key] = /\\%/.test(value) ? decodeURIComponent_(value) : value;\n }\n }\n return decoded;\n }\n getParamValue(paramKey) {\n return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey;\n }\n query(key) {\n return getQueryParam(this.url, key);\n }\n queries(key) {\n return getQueryParams(this.url, key);\n }\n header(name) {\n if (name) {\n return this.raw.headers.get(name.toLowerCase()) ?? void 0;\n }\n const headerData = {};\n this.raw.headers.forEach((value, key) => {\n headerData[key] = value;\n });\n return headerData;\n }\n async parseBody(options) {\n return this.bodyCache.parsedBody ??= await parseBody(this, options);\n }\n cachedBody = (key) => {\n const { bodyCache, raw } = this;\n const cachedBody = bodyCache[key];\n if (cachedBody) {\n return cachedBody;\n }\n const anyCachedKey = Object.keys(bodyCache)[0];\n if (anyCachedKey) {\n return bodyCache[anyCachedKey].then((body) => {\n if (anyCachedKey === \"json\") {\n body = JSON.stringify(body);\n }\n return new Response(body)[key]();\n });\n }\n return bodyCache[key] = raw[key]();\n };\n json() {\n return this.cachedBody(\"json\");\n }\n text() {\n return this.cachedBody(\"text\");\n }\n arrayBuffer() {\n return this.cachedBody(\"arrayBuffer\");\n }\n blob() {\n return this.cachedBody(\"blob\");\n }\n formData() {\n return this.cachedBody(\"formData\");\n }\n addValidatedData(target, data) {\n this.#validatedData[target] = data;\n }\n valid(target) {\n return this.#validatedData[target];\n }\n get url() {\n return this.raw.url;\n }\n get method() {\n return this.raw.method;\n }\n get matchedRoutes() {\n return this.#matchResult[0].map(([[, route]]) => route);\n }\n get routePath() {\n return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path;\n }\n};\nexport {\n HonoRequest\n};\n", "// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \""\";\n break;\n case 39:\n escape = \"'\";\n break;\n case 38:\n escape = \"&\";\n break;\n case 60:\n escape = \"<\";\n break;\n case 62:\n escape = \">\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n", "// src/context.ts\nimport { HonoRequest } from \"./request.js\";\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"./utils/html.js\";\nvar TEXT_PLAIN = \"text/plain; charset=UTF-8\";\nvar setHeaders = (headers, map = {}) => {\n Object.entries(map).forEach(([key, value]) => headers.set(key, value));\n return headers;\n};\nvar Context = class {\n #rawRequest;\n #req;\n env = {};\n #var;\n finalized = false;\n error;\n #status = 200;\n #executionCtx;\n #headers;\n #preparedHeaders;\n #res;\n #isFresh = true;\n #layout;\n #renderer;\n #notFoundHandler;\n #matchResult;\n #path;\n constructor(req, options) {\n this.#rawRequest = req;\n if (options) {\n this.#executionCtx = options.executionCtx;\n this.env = options.env;\n this.#notFoundHandler = options.notFoundHandler;\n this.#path = options.path;\n this.#matchResult = options.matchResult;\n }\n }\n get req() {\n this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);\n return this.#req;\n }\n get event() {\n if (this.#executionCtx && \"respondWith\" in this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no FetchEvent\");\n }\n }\n get executionCtx() {\n if (this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no ExecutionContext\");\n }\n }\n get res() {\n this.#isFresh = false;\n return this.#res ||= new Response(\"404 Not Found\", { status: 404 });\n }\n set res(_res) {\n this.#isFresh = false;\n if (this.#res && _res) {\n try {\n for (const [k, v] of this.#res.headers.entries()) {\n if (k === \"content-type\") {\n continue;\n }\n if (k === \"set-cookie\") {\n const cookies = this.#res.headers.getSetCookie();\n _res.headers.delete(\"set-cookie\");\n for (const cookie of cookies) {\n _res.headers.append(\"set-cookie\", cookie);\n }\n } else {\n _res.headers.set(k, v);\n }\n }\n } catch (e) {\n if (e instanceof TypeError && e.message.includes(\"immutable\")) {\n this.res = new Response(_res.body, {\n headers: _res.headers,\n status: _res.status\n });\n return;\n } else {\n throw e;\n }\n }\n }\n this.#res = _res;\n this.finalized = true;\n }\n render = (...args) => {\n this.#renderer ??= (content) => this.html(content);\n return this.#renderer(...args);\n };\n setLayout = (layout) => this.#layout = layout;\n getLayout = () => this.#layout;\n setRenderer = (renderer) => {\n this.#renderer = renderer;\n };\n header = (name, value, options) => {\n if (value === void 0) {\n if (this.#headers) {\n this.#headers.delete(name);\n } else if (this.#preparedHeaders) {\n delete this.#preparedHeaders[name.toLocaleLowerCase()];\n }\n if (this.finalized) {\n this.res.headers.delete(name);\n }\n return;\n }\n if (options?.append) {\n if (!this.#headers) {\n this.#isFresh = false;\n this.#headers = new Headers(this.#preparedHeaders);\n this.#preparedHeaders = {};\n }\n this.#headers.append(name, value);\n } else {\n if (this.#headers) {\n this.#headers.set(name, value);\n } else {\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[name.toLowerCase()] = value;\n }\n }\n if (this.finalized) {\n if (options?.append) {\n this.res.headers.append(name, value);\n } else {\n this.res.headers.set(name, value);\n }\n }\n };\n status = (status) => {\n this.#isFresh = false;\n this.#status = status;\n };\n set = (key, value) => {\n this.#var ??= /* @__PURE__ */ new Map();\n this.#var.set(key, value);\n };\n get = (key) => {\n return this.#var ? this.#var.get(key) : void 0;\n };\n get var() {\n if (!this.#var) {\n return {};\n }\n return Object.fromEntries(this.#var);\n }\n newResponse = (data, arg, headers) => {\n if (this.#isFresh && !headers && !arg && this.#status === 200) {\n return new Response(data, {\n headers: this.#preparedHeaders\n });\n }\n if (arg && typeof arg !== \"number\") {\n const header = new Headers(arg.headers);\n if (this.#headers) {\n this.#headers.forEach((v, k) => {\n if (k === \"set-cookie\") {\n header.append(k, v);\n } else {\n header.set(k, v);\n }\n });\n }\n const headers2 = setHeaders(header, this.#preparedHeaders);\n return new Response(data, {\n headers: headers2,\n status: arg.status ?? this.#status\n });\n }\n const status = typeof arg === \"number\" ? arg : this.#status;\n this.#preparedHeaders ??= {};\n this.#headers ??= new Headers();\n setHeaders(this.#headers, this.#preparedHeaders);\n if (this.#res) {\n this.#res.headers.forEach((v, k) => {\n if (k === \"set-cookie\") {\n this.#headers?.append(k, v);\n } else {\n this.#headers?.set(k, v);\n }\n });\n setHeaders(this.#headers, this.#preparedHeaders);\n }\n headers ??= {};\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === \"string\") {\n this.#headers.set(k, v);\n } else {\n this.#headers.delete(k);\n for (const v2 of v) {\n this.#headers.append(k, v2);\n }\n }\n }\n return new Response(data, {\n status,\n headers: this.#headers\n });\n };\n body = (data, arg, headers) => {\n return typeof arg === \"number\" ? this.newResponse(data, arg, headers) : this.newResponse(data, arg);\n };\n text = (text, arg, headers) => {\n if (!this.#preparedHeaders) {\n if (this.#isFresh && !headers && !arg) {\n return new Response(text);\n }\n this.#preparedHeaders = {};\n }\n this.#preparedHeaders[\"content-type\"] = TEXT_PLAIN;\n return typeof arg === \"number\" ? this.newResponse(text, arg, headers) : this.newResponse(text, arg);\n };\n json = (object, arg, headers) => {\n const body = JSON.stringify(object);\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[\"content-type\"] = \"application/json; charset=UTF-8\";\n return typeof arg === \"number\" ? this.newResponse(body, arg, headers) : this.newResponse(body, arg);\n };\n html = (html, arg, headers) => {\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[\"content-type\"] = \"text/html; charset=UTF-8\";\n if (typeof html === \"object\") {\n return resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then((html2) => {\n return typeof arg === \"number\" ? this.newResponse(html2, arg, headers) : this.newResponse(html2, arg);\n });\n }\n return typeof arg === \"number\" ? this.newResponse(html, arg, headers) : this.newResponse(html, arg);\n };\n redirect = (location, status) => {\n this.#headers ??= new Headers();\n this.#headers.set(\"Location\", location);\n return this.newResponse(null, status ?? 302);\n };\n notFound = () => {\n this.#notFoundHandler ??= () => new Response();\n return this.#notFoundHandler(this);\n };\n};\nexport {\n Context,\n TEXT_PLAIN\n};\n", "// src/compose.ts\nimport { Context } from \"./context.js\";\nvar compose = (middleware, onError, onNotFound) => {\n return (context, next) => {\n let index = -1;\n return dispatch(0);\n async function dispatch(i) {\n if (i <= index) {\n throw new Error(\"next() called multiple times\");\n }\n index = i;\n let res;\n let isError = false;\n let handler;\n if (middleware[i]) {\n handler = middleware[i][0][0];\n if (context instanceof Context) {\n context.req.routeIndex = i;\n }\n } else {\n handler = i === middleware.length && next || void 0;\n }\n if (!handler) {\n if (context instanceof Context && context.finalized === false && onNotFound) {\n res = await onNotFound(context);\n }\n } else {\n try {\n res = await handler(context, () => {\n return dispatch(i + 1);\n });\n } catch (err) {\n if (err instanceof Error && context instanceof Context && onError) {\n context.error = err;\n res = await onError(err, context);\n isError = true;\n } else {\n throw err;\n }\n }\n }\n if (res && (context.finalized === false || isError)) {\n context.res = res;\n }\n return context;\n }\n };\n};\nexport {\n compose\n};\n", "// src/router.ts\nvar METHOD_NAME_ALL = \"ALL\";\nvar METHOD_NAME_ALL_LOWERCASE = \"all\";\nvar METHODS = [\"get\", \"post\", \"put\", \"delete\", \"options\", \"patch\"];\nvar MESSAGE_MATCHER_IS_ALREADY_BUILT = \"Can not add a route since the matcher is already built.\";\nvar UnsupportedPathError = class extends Error {\n};\nexport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHODS,\n METHOD_NAME_ALL,\n METHOD_NAME_ALL_LOWERCASE,\n UnsupportedPathError\n};\n", "// src/hono-base.ts\nimport { compose } from \"./compose.js\";\nimport { Context } from \"./context.js\";\nimport { METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE } from \"./router.js\";\nimport { getPath, getPathNoStrict, mergePath } from \"./utils/url.js\";\nvar COMPOSED_HANDLER = Symbol(\"composedHandler\");\nvar notFoundHandler = (c) => {\n return c.text(\"404 Not Found\", 404);\n};\nvar errorHandler = (err, c) => {\n if (\"getResponse\" in err) {\n return err.getResponse();\n }\n console.error(err);\n return c.text(\"Internal Server Error\", 500);\n};\nvar Hono = class {\n get;\n post;\n put;\n delete;\n options;\n patch;\n all;\n on;\n use;\n router;\n getPath;\n _basePath = \"/\";\n #path = \"/\";\n routes = [];\n constructor(options = {}) {\n const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE];\n allMethods.forEach((method) => {\n this[method] = (args1, ...args) => {\n if (typeof args1 === \"string\") {\n this.#path = args1;\n } else {\n this.addRoute(method, this.#path, args1);\n }\n args.forEach((handler) => {\n if (typeof handler !== \"string\") {\n this.addRoute(method, this.#path, handler);\n }\n });\n return this;\n };\n });\n this.on = (method, path, ...handlers) => {\n for (const p of [path].flat()) {\n this.#path = p;\n for (const m of [method].flat()) {\n handlers.map((handler) => {\n this.addRoute(m.toUpperCase(), this.#path, handler);\n });\n }\n }\n return this;\n };\n this.use = (arg1, ...handlers) => {\n if (typeof arg1 === \"string\") {\n this.#path = arg1;\n } else {\n this.#path = \"*\";\n handlers.unshift(arg1);\n }\n handlers.forEach((handler) => {\n this.addRoute(METHOD_NAME_ALL, this.#path, handler);\n });\n return this;\n };\n const strict = options.strict ?? true;\n delete options.strict;\n Object.assign(this, options);\n this.getPath = strict ? options.getPath ?? getPath : getPathNoStrict;\n }\n clone() {\n const clone = new Hono({\n router: this.router,\n getPath: this.getPath\n });\n clone.routes = this.routes;\n return clone;\n }\n notFoundHandler = notFoundHandler;\n errorHandler = errorHandler;\n route(path, app) {\n const subApp = this.basePath(path);\n app.routes.map((r) => {\n let handler;\n if (app.errorHandler === errorHandler) {\n handler = r.handler;\n } else {\n handler = async (c, next) => (await compose([], app.errorHandler)(c, () => r.handler(c, next))).res;\n handler[COMPOSED_HANDLER] = r.handler;\n }\n subApp.addRoute(r.method, r.path, handler);\n });\n return this;\n }\n basePath(path) {\n const subApp = this.clone();\n subApp._basePath = mergePath(this._basePath, path);\n return subApp;\n }\n onError = (handler) => {\n this.errorHandler = handler;\n return this;\n };\n notFound = (handler) => {\n this.notFoundHandler = handler;\n return this;\n };\n mount(path, applicationHandler, options) {\n let replaceRequest;\n let optionHandler;\n if (options) {\n if (typeof options === \"function\") {\n optionHandler = options;\n } else {\n optionHandler = options.optionHandler;\n replaceRequest = options.replaceRequest;\n }\n }\n const getOptions = optionHandler ? (c) => {\n const options2 = optionHandler(c);\n return Array.isArray(options2) ? options2 : [options2];\n } : (c) => {\n let executionContext = void 0;\n try {\n executionContext = c.executionCtx;\n } catch {\n }\n return [c.env, executionContext];\n };\n replaceRequest ||= (() => {\n const mergedPath = mergePath(this._basePath, path);\n const pathPrefixLength = mergedPath === \"/\" ? 0 : mergedPath.length;\n return (request) => {\n const url = new URL(request.url);\n url.pathname = url.pathname.slice(pathPrefixLength) || \"/\";\n return new Request(url, request);\n };\n })();\n const handler = async (c, next) => {\n const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));\n if (res) {\n return res;\n }\n await next();\n };\n this.addRoute(METHOD_NAME_ALL, mergePath(path, \"*\"), handler);\n return this;\n }\n addRoute(method, path, handler) {\n method = method.toUpperCase();\n path = mergePath(this._basePath, path);\n const r = { path, method, handler };\n this.router.add(method, path, [handler, r]);\n this.routes.push(r);\n }\n matchRoute(method, path) {\n return this.router.match(method, path);\n }\n handleError(err, c) {\n if (err instanceof Error) {\n return this.errorHandler(err, c);\n }\n throw err;\n }\n dispatch(request, executionCtx, env, method) {\n if (method === \"HEAD\") {\n return (async () => new Response(null, await this.dispatch(request, executionCtx, env, \"GET\")))();\n }\n const path = this.getPath(request, { env });\n const matchResult = this.matchRoute(method, path);\n const c = new Context(request, {\n path,\n matchResult,\n env,\n executionCtx,\n notFoundHandler: this.notFoundHandler\n });\n if (matchResult[0].length === 1) {\n let res;\n try {\n res = matchResult[0][0][0][0](c, async () => {\n c.res = await this.notFoundHandler(c);\n });\n } catch (err) {\n return this.handleError(err, c);\n }\n return res instanceof Promise ? res.then(\n (resolved) => resolved || (c.finalized ? c.res : this.notFoundHandler(c))\n ).catch((err) => this.handleError(err, c)) : res ?? this.notFoundHandler(c);\n }\n const composed = compose(matchResult[0], this.errorHandler, this.notFoundHandler);\n return (async () => {\n try {\n const context = await composed(c);\n if (!context.finalized) {\n throw new Error(\n \"Context is not finalized. Did you forget to return a Response object or `await next()`?\"\n );\n }\n return context.res;\n } catch (err) {\n return this.handleError(err, c);\n }\n })();\n }\n fetch = (request, ...rest) => {\n return this.dispatch(request, rest[1], rest[0], request.method);\n };\n request = (input, requestInit, Env, executionCtx) => {\n if (input instanceof Request) {\n if (requestInit !== void 0) {\n input = new Request(input, requestInit);\n }\n return this.fetch(input, Env, executionCtx);\n }\n input = input.toString();\n const path = /^https?:\\/\\//.test(input) ? input : `http://localhost${mergePath(\"/\", input)}`;\n const req = new Request(path, requestInit);\n return this.fetch(req, Env, executionCtx);\n };\n fire = () => {\n addEventListener(\"fetch\", (event) => {\n event.respondWith(this.dispatch(event.request, event, void 0, event.request.method));\n });\n };\n};\nexport {\n COMPOSED_HANDLER,\n Hono as HonoBase\n};\n", "// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class {\n index;\n varIndex;\n children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.children[regexpStr];\n if (!node) {\n if (Object.keys(this.children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.children[regexpStr] = new Node();\n if (name !== \"\") {\n node.varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.varIndex]);\n }\n } else {\n node = this.children[token];\n if (!node) {\n if (Object.keys(this.children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.children[token] = new Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.children[k];\n return (typeof c.varIndex === \"number\" ? `(${k})@${c.varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.index === \"number\") {\n strList.unshift(`#${this.index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n", "// src/router/reg-exp-router/trie.ts\nimport { Node } from \"./node.js\";\nvar Trie = class {\n context = { varIndex: 0 };\n root = new Node();\n insert(path, index, pathErrorCheckOnly) {\n const paramAssoc = [];\n const groups = [];\n for (let i = 0; ; ) {\n let replaced = false;\n path = path.replace(/\\{[^}]+\\}/g, (m) => {\n const mark = `@\\\\${i}`;\n groups[i] = [mark, m];\n i++;\n replaced = true;\n return mark;\n });\n if (!replaced) {\n break;\n }\n }\n const tokens = path.match(/(?::[^\\/]+)|(?:\\/\\*$)|./g) || [];\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = tokens.length - 1; j >= 0; j--) {\n if (tokens[j].indexOf(mark) !== -1) {\n tokens[j] = tokens[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n this.root.insert(tokens, index, paramAssoc, this.context, pathErrorCheckOnly);\n return paramAssoc;\n }\n buildRegExp() {\n let regexp = this.root.buildRegExpStr();\n if (regexp === \"\") {\n return [/^$/, [], []];\n }\n let captureIndex = 0;\n const indexReplacementMap = [];\n const paramReplacementMap = [];\n regexp = regexp.replace(/#(\\d+)|@(\\d+)|\\.\\*\\$/g, (_, handlerIndex, paramIndex) => {\n if (typeof handlerIndex !== \"undefined\") {\n indexReplacementMap[++captureIndex] = Number(handlerIndex);\n return \"$()\";\n }\n if (typeof paramIndex !== \"undefined\") {\n paramReplacementMap[Number(paramIndex)] = ++captureIndex;\n return \"\";\n }\n return \"\";\n });\n return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap];\n }\n};\nexport {\n Trie\n};\n", "// src/router/reg-exp-router/router.ts\nimport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHOD_NAME_ALL,\n UnsupportedPathError\n} from \"../../router.js\";\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { PATH_ERROR } from \"./node.js\";\nimport { Trie } from \"./trie.js\";\nvar emptyParam = [];\nvar nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];\nvar wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\nfunction buildWildcardRegExp(path) {\n return wildcardRegExpCache[path] ??= new RegExp(\n path === \"*\" ? \"\" : `^${path.replace(\n /\\/\\*$|([.\\\\+*[^\\]$()])/g,\n (_, metaChar) => metaChar ? `\\\\${metaChar}` : \"(?:|/.*)\"\n )}$`\n );\n}\nfunction clearWildcardRegExpCache() {\n wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\n}\nfunction buildMatcherFromPreprocessedRoutes(routes) {\n const trie = new Trie();\n const handlerData = [];\n if (routes.length === 0) {\n return nullMatcher;\n }\n const routesWithStaticPathFlag = routes.map(\n (route) => [!/\\*|\\/:/.test(route[0]), ...route]\n ).sort(\n ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length\n );\n const staticMap = /* @__PURE__ */ Object.create(null);\n for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) {\n const [pathErrorCheckOnly, path, handlers] = routesWithStaticPathFlag[i];\n if (pathErrorCheckOnly) {\n staticMap[path] = [handlers.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam];\n } else {\n j++;\n }\n let paramAssoc;\n try {\n paramAssoc = trie.insert(path, j, pathErrorCheckOnly);\n } catch (e) {\n throw e === PATH_ERROR ? new UnsupportedPathError(path) : e;\n }\n if (pathErrorCheckOnly) {\n continue;\n }\n handlerData[j] = handlers.map(([h, paramCount]) => {\n const paramIndexMap = /* @__PURE__ */ Object.create(null);\n paramCount -= 1;\n for (; paramCount >= 0; paramCount--) {\n const [key, value] = paramAssoc[paramCount];\n paramIndexMap[key] = value;\n }\n return [h, paramIndexMap];\n });\n }\n const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();\n for (let i = 0, len = handlerData.length; i < len; i++) {\n for (let j = 0, len2 = handlerData[i].length; j < len2; j++) {\n const map = handlerData[i][j]?.[1];\n if (!map) {\n continue;\n }\n const keys = Object.keys(map);\n for (let k = 0, len3 = keys.length; k < len3; k++) {\n map[keys[k]] = paramReplacementMap[map[keys[k]]];\n }\n }\n }\n const handlerMap = [];\n for (const i in indexReplacementMap) {\n handlerMap[i] = handlerData[indexReplacementMap[i]];\n }\n return [regexp, handlerMap, staticMap];\n}\nfunction findMiddleware(middleware, path) {\n if (!middleware) {\n return void 0;\n }\n for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) {\n if (buildWildcardRegExp(k).test(path)) {\n return [...middleware[k]];\n }\n }\n return void 0;\n}\nvar RegExpRouter = class {\n name = \"RegExpRouter\";\n middleware;\n routes;\n constructor() {\n this.middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n this.routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n }\n add(method, path, handler) {\n const { middleware, routes } = this;\n if (!middleware || !routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n if (!middleware[method]) {\n ;\n [middleware, routes].forEach((handlerMap) => {\n handlerMap[method] = /* @__PURE__ */ Object.create(null);\n Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => {\n handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]];\n });\n });\n }\n if (path === \"/*\") {\n path = \"*\";\n }\n const paramCount = (path.match(/\\/:/g) || []).length;\n if (/\\*$/.test(path)) {\n const re = buildWildcardRegExp(path);\n if (method === METHOD_NAME_ALL) {\n Object.keys(middleware).forEach((m) => {\n middleware[m][path] ||= findMiddleware(middleware[m], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n });\n } else {\n middleware[method][path] ||= findMiddleware(middleware[method], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n }\n Object.keys(middleware).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(middleware[m]).forEach((p) => {\n re.test(p) && middleware[m][p].push([handler, paramCount]);\n });\n }\n });\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(routes[m]).forEach(\n (p) => re.test(p) && routes[m][p].push([handler, paramCount])\n );\n }\n });\n return;\n }\n const paths = checkOptionalParameter(path) || [path];\n for (let i = 0, len = paths.length; i < len; i++) {\n const path2 = paths[i];\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n routes[m][path2] ||= [\n ...findMiddleware(middleware[m], path2) || findMiddleware(middleware[METHOD_NAME_ALL], path2) || []\n ];\n routes[m][path2].push([handler, paramCount - len + i + 1]);\n }\n });\n }\n }\n match(method, path) {\n clearWildcardRegExpCache();\n const matchers = this.buildAllMatchers();\n this.match = (method2, path2) => {\n const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];\n const staticMatch = matcher[2][path2];\n if (staticMatch) {\n return staticMatch;\n }\n const match = path2.match(matcher[0]);\n if (!match) {\n return [[], emptyParam];\n }\n const index = match.indexOf(\"\", 1);\n return [matcher[1][index], match];\n };\n return this.match(method, path);\n }\n buildAllMatchers() {\n const matchers = /* @__PURE__ */ Object.create(null);\n [...Object.keys(this.routes), ...Object.keys(this.middleware)].forEach((method) => {\n matchers[method] ||= this.buildMatcher(method);\n });\n this.middleware = this.routes = void 0;\n return matchers;\n }\n buildMatcher(method) {\n const routes = [];\n let hasOwnRoute = method === METHOD_NAME_ALL;\n [this.middleware, this.routes].forEach((r) => {\n const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) : [];\n if (ownRoute.length !== 0) {\n hasOwnRoute ||= true;\n routes.push(...ownRoute);\n } else if (method !== METHOD_NAME_ALL) {\n routes.push(\n ...Object.keys(r[METHOD_NAME_ALL]).map((path) => [path, r[METHOD_NAME_ALL][path]])\n );\n }\n });\n if (!hasOwnRoute) {\n return null;\n } else {\n return buildMatcherFromPreprocessedRoutes(routes);\n }\n }\n};\nexport {\n RegExpRouter\n};\n", "// src/router/smart-router/router.ts\nimport { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from \"../../router.js\";\nvar SmartRouter = class {\n name = \"SmartRouter\";\n routers = [];\n routes = [];\n constructor(init) {\n Object.assign(this, init);\n }\n add(method, path, handler) {\n if (!this.routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n this.routes.push([method, path, handler]);\n }\n match(method, path) {\n if (!this.routes) {\n throw new Error(\"Fatal error\");\n }\n const { routers, routes } = this;\n const len = routers.length;\n let i = 0;\n let res;\n for (; i < len; i++) {\n const router = routers[i];\n try {\n routes.forEach((args) => {\n router.add(...args);\n });\n res = router.match(method, path);\n } catch (e) {\n if (e instanceof UnsupportedPathError) {\n continue;\n }\n throw e;\n }\n this.match = router.match.bind(router);\n this.routers = [router];\n this.routes = void 0;\n break;\n }\n if (i === len) {\n throw new Error(\"Fatal error\");\n }\n this.name = `SmartRouter + ${this.activeRouter.name}`;\n return res;\n }\n get activeRouter() {\n if (this.routes || this.routers.length !== 1) {\n throw new Error(\"No active router has been determined yet.\");\n }\n return this.routers[0];\n }\n};\nexport {\n SmartRouter\n};\n", "// src/router/trie-router/node.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { getPattern, splitPath, splitRoutingPath } from \"../../utils/url.js\";\nvar Node = class {\n methods;\n children;\n patterns;\n order = 0;\n name;\n params = /* @__PURE__ */ Object.create(null);\n constructor(method, handler, children) {\n this.children = children || /* @__PURE__ */ Object.create(null);\n this.methods = [];\n this.name = \"\";\n if (method && handler) {\n const m = /* @__PURE__ */ Object.create(null);\n m[method] = { handler, possibleKeys: [], score: 0, name: this.name };\n this.methods = [m];\n }\n this.patterns = [];\n }\n insert(method, path, handler) {\n this.name = `${method} ${path}`;\n this.order = ++this.order;\n let curNode = this;\n const parts = splitRoutingPath(path);\n const possibleKeys = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const p = parts[i];\n if (Object.keys(curNode.children).includes(p)) {\n curNode = curNode.children[p];\n const pattern2 = getPattern(p);\n if (pattern2) {\n possibleKeys.push(pattern2[1]);\n }\n continue;\n }\n curNode.children[p] = new Node();\n const pattern = getPattern(p);\n if (pattern) {\n curNode.patterns.push(pattern);\n possibleKeys.push(pattern[1]);\n }\n curNode = curNode.children[p];\n }\n if (!curNode.methods.length) {\n curNode.methods = [];\n }\n const m = /* @__PURE__ */ Object.create(null);\n const handlerSet = {\n handler,\n possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i),\n name: this.name,\n score: this.order\n };\n m[method] = handlerSet;\n curNode.methods.push(m);\n return curNode;\n }\n gHSets(node, method, nodeParams, params) {\n const handlerSets = [];\n for (let i = 0, len = node.methods.length; i < len; i++) {\n const m = node.methods[i];\n const handlerSet = m[method] || m[METHOD_NAME_ALL];\n const processedSet = /* @__PURE__ */ Object.create(null);\n if (handlerSet !== void 0) {\n handlerSet.params = /* @__PURE__ */ Object.create(null);\n handlerSet.possibleKeys.forEach((key) => {\n const processed = processedSet[handlerSet.name];\n handlerSet.params[key] = params[key] && !processed ? params[key] : nodeParams[key] ?? params[key];\n processedSet[handlerSet.name] = true;\n });\n handlerSets.push(handlerSet);\n }\n }\n return handlerSets;\n }\n search(method, path) {\n const handlerSets = [];\n this.params = /* @__PURE__ */ Object.create(null);\n const curNode = this;\n let curNodes = [curNode];\n const parts = splitPath(path);\n for (let i = 0, len = parts.length; i < len; i++) {\n const part = parts[i];\n const isLast = i === len - 1;\n const tempNodes = [];\n for (let j = 0, len2 = curNodes.length; j < len2; j++) {\n const node = curNodes[j];\n const nextNode = node.children[part];\n if (nextNode) {\n nextNode.params = node.params;\n if (isLast === true) {\n if (nextNode.children[\"*\"]) {\n handlerSets.push(\n ...this.gHSets(nextNode.children[\"*\"], method, node.params, /* @__PURE__ */ Object.create(null))\n );\n }\n handlerSets.push(...this.gHSets(nextNode, method, node.params, /* @__PURE__ */ Object.create(null)));\n } else {\n tempNodes.push(nextNode);\n }\n }\n for (let k = 0, len3 = node.patterns.length; k < len3; k++) {\n const pattern = node.patterns[k];\n const params = { ...node.params };\n if (pattern === \"*\") {\n const astNode = node.children[\"*\"];\n if (astNode) {\n handlerSets.push(...this.gHSets(astNode, method, node.params, /* @__PURE__ */ Object.create(null)));\n tempNodes.push(astNode);\n }\n continue;\n }\n if (part === \"\") {\n continue;\n }\n const [key, name, matcher] = pattern;\n const child = node.children[key];\n const restPathString = parts.slice(i).join(\"/\");\n if (matcher instanceof RegExp && matcher.test(restPathString)) {\n params[name] = restPathString;\n handlerSets.push(...this.gHSets(child, method, node.params, params));\n continue;\n }\n if (matcher === true || matcher instanceof RegExp && matcher.test(part)) {\n if (typeof key === \"string\") {\n params[name] = part;\n if (isLast === true) {\n handlerSets.push(...this.gHSets(child, method, params, node.params));\n if (child.children[\"*\"]) {\n handlerSets.push(...this.gHSets(child.children[\"*\"], method, params, node.params));\n }\n } else {\n child.params = params;\n tempNodes.push(child);\n }\n }\n }\n }\n }\n curNodes = tempNodes;\n }\n const results = handlerSets.sort((a, b) => {\n return a.score - b.score;\n });\n return [results.map(({ handler, params }) => [handler, params])];\n }\n};\nexport {\n Node\n};\n", "// src/router/trie-router/router.ts\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { Node } from \"./node.js\";\nvar TrieRouter = class {\n name = \"TrieRouter\";\n node;\n constructor() {\n this.node = new Node();\n }\n add(method, path, handler) {\n const results = checkOptionalParameter(path);\n if (results) {\n for (const p of results) {\n this.node.insert(method, p, handler);\n }\n return;\n }\n this.node.insert(method, path, handler);\n }\n match(method, path) {\n return this.node.search(method, path);\n }\n};\nexport {\n TrieRouter\n};\n", "// src/hono.ts\nimport { HonoBase } from \"./hono-base.js\";\nimport { RegExpRouter } from \"./router/reg-exp-router/index.js\";\nimport { SmartRouter } from \"./router/smart-router/index.js\";\nimport { TrieRouter } from \"./router/trie-router/index.js\";\nvar Hono = class extends HonoBase {\n constructor(options = {}) {\n super(options);\n this.router = options.router ?? new SmartRouter({\n routers: [new RegExpRouter(), new TrieRouter()]\n });\n }\n};\nexport {\n Hono\n};\n", "import { filterCompatibleAppVersions } from \"@hot-updater/js\";\n\nimport {\n type GetBundlesArgs,\n NIL_UUID,\n type UpdateInfo,\n type UpdateStatus,\n} from \"@hot-updater/core\";\n\nexport const getUpdateInfo = async (\n DB: D1Database,\n {\n platform,\n appVersion,\n bundleId,\n minBundleId = NIL_UUID,\n channel = \"production\",\n }: GetBundlesArgs,\n) => {\n const appVersionList = await DB.prepare(\n /* sql */ `\n SELECT \n target_app_version\n FROM bundles\n WHERE platform = ?\n GROUP BY target_app_version\n `,\n )\n .bind(platform)\n .all<{ target_app_version: string; count: number }>();\n\n const targetAppVersionList = filterCompatibleAppVersions(\n appVersionList.results.map((group) => group.target_app_version),\n appVersion,\n );\n\n const sql = /* sql */ `\n WITH input AS (\n SELECT \n ? AS app_platform,\n ? AS app_version,\n ? AS bundle_id,\n ? AS min_bundle_id,\n ? AS channel,\n '00000000-0000-0000-0000-000000000000' AS nil_uuid\n ),\n update_candidate AS (\n SELECT \n b.id,\n b.should_force_update,\n b.message,\n 'UPDATE' AS status\n FROM bundles b, input\n WHERE b.enabled = 1\n AND b.platform = input.app_platform\n AND b.id >= input.bundle_id\n AND b.id >= input.min_bundle_id\n AND b.channel = input.channel\n AND b.target_app_version IN (${targetAppVersionList\n .map((version) => `'${version}'`)\n .join(\",\")})\n ORDER BY b.id DESC \n LIMIT 1\n ),\n rollback_candidate AS (\n SELECT \n b.id,\n 1 AS should_force_update,\n b.message,\n 'ROLLBACK' AS status\n FROM bundles b, input\n WHERE b.enabled = 1\n AND b.platform = input.app_platform\n AND b.id < input.bundle_id\n AND b.id >= input.min_bundle_id\n ORDER BY b.id DESC\n LIMIT 1\n ),\n final_result AS (\n SELECT * FROM update_candidate\n UNION ALL\n SELECT * FROM rollback_candidate\n WHERE NOT EXISTS (SELECT 1 FROM update_candidate)\n )\n SELECT id, should_force_update, message, status\n FROM final_result, input\n WHERE id <> bundle_id\n \n UNION ALL\n \n SELECT \n nil_uuid AS id,\n 1 AS should_force_update,\n NULL AS message,\n 'ROLLBACK' AS status\n FROM input\n WHERE (SELECT COUNT(*) FROM final_result) = 0\n AND bundle_id > min_bundle_id;\n`;\n\n const result = await DB.prepare(sql)\n .bind(platform, appVersion, bundleId, minBundleId, channel)\n .first<{\n id: string;\n should_force_update: number;\n status: UpdateStatus;\n message: string | null;\n }>();\n\n if (!result) {\n return null;\n }\n\n return {\n id: result.id,\n shouldForceUpdate: Boolean(result.should_force_update),\n status: result.status,\n message: result.message,\n } as UpdateInfo;\n};\n", "import { NIL_UUID } from \"@hot-updater/core\";\nimport { verifyJwtSignedUrl, withJwtSignedUrl } from \"@hot-updater/js\";\nimport { Hono } from \"hono\";\nimport { getUpdateInfo } from \"./getUpdateInfo\";\n\ntype Env = {\n DB: D1Database;\n BUCKET: R2Bucket;\n JWT_SECRET: string;\n};\n\nconst app = new Hono<{ Bindings: Env }>();\n\napp.get(\"/api/check-update\", async (c) => {\n const bundleId = c.req.header(\"x-bundle-id\") as string;\n const appPlatform = c.req.header(\"x-app-platform\") as \"ios\" | \"android\";\n const appVersion = c.req.header(\"x-app-version\") as string;\n const minBundleId = c.req.header(\"x-min-bundle-id\") as string | undefined;\n const channel = c.req.header(\"x-channel\") as string | undefined;\n\n if (!bundleId || !appPlatform || !appVersion) {\n return c.json(\n { error: \"Missing bundleId, appPlatform, or appVersion\" },\n 400,\n );\n }\n\n const updateInfo = await getUpdateInfo(c.env.DB, {\n appVersion,\n bundleId,\n platform: appPlatform,\n minBundleId: minBundleId || NIL_UUID,\n channel: channel || \"production\",\n });\n\n const appUpdateInfo = await withJwtSignedUrl({\n data: updateInfo,\n reqUrl: c.req.url,\n jwtSecret: c.env.JWT_SECRET,\n });\n\n return c.json(appUpdateInfo, 200);\n});\n\napp.get(\"*\", async (c) => {\n const result = await verifyJwtSignedUrl({\n path: c.req.path,\n token: c.req.query(\"token\"),\n jwtSecret: c.env.JWT_SECRET,\n handler: async (key) => {\n const object = await c.env.BUCKET.get(key);\n if (!object) {\n return null;\n }\n return {\n body: object.body,\n contentType: object.httpMetadata?.contentType,\n };\n },\n });\n\n if (result.status !== 200) {\n return c.json({ error: result.error }, result.status);\n }\n\n return c.body(result.responseBody, 200, result.responseHeaders);\n});\n\nexport default app;\n"],
|
|
6
|
-
"mappings": "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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;AACJ,IAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,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",
|
|
5
|
+
"sourcesContent": ["/* @__NO_SIDE_EFFECTS__ */\nexport function rawHeaders(headers) {\n\tconst rawHeaders = [];\n\tfor (const key in headers) {\n\t\tif (Array.isArray(headers[key])) {\n\t\t\tfor (const h of headers[key]) {\n\t\t\t\trawHeaders.push(key, h);\n\t\t\t}\n\t\t} else {\n\t\t\trawHeaders.push(key, headers[key]);\n\t\t}\n\t}\n\treturn rawHeaders;\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function mergeFns(...functions) {\n\treturn function(...args) {\n\t\tfor (const fn of functions) {\n\t\t\tfn(...args);\n\t\t}\n\t};\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function createNotImplementedError(name) {\n\treturn new Error(`[unenv] ${name} is not implemented yet!`);\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplemented(name) {\n\tconst fn = () => {\n\t\tthrow createNotImplementedError(name);\n\t};\n\treturn Object.assign(fn, { __unenv__: true });\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplementedAsync(name) {\n\tconst fn = notImplemented(name);\n\tfn.__promisify__ = () => notImplemented(name + \".__promisify__\");\n\tfn.native = fn;\n\treturn fn;\n}\n/* @__NO_SIDE_EFFECTS__ */\nexport function notImplementedClass(name) {\n\treturn class {\n\t\t__unenv__ = true;\n\t\tconstructor() {\n\t\t\tthrow new Error(`[unenv] ${name} is not implemented yet!`);\n\t\t}\n\t};\n}\n", "import { createNotImplementedError } from \"../../../_internal/utils.mjs\";\nconst _timeOrigin = globalThis.performance?.timeOrigin ?? Date.now();\nconst _performanceNow = globalThis.performance?.now ? globalThis.performance.now.bind(globalThis.performance) : () => Date.now() - _timeOrigin;\nconst nodeTiming = {\n\tname: \"node\",\n\tentryType: \"node\",\n\tstartTime: 0,\n\tduration: 0,\n\tnodeStart: 0,\n\tv8Start: 0,\n\tbootstrapComplete: 0,\n\tenvironment: 0,\n\tloopStart: 0,\n\tloopExit: 0,\n\tidleTime: 0,\n\tuvMetricsInfo: {\n\t\tloopCount: 0,\n\t\tevents: 0,\n\t\teventsWaiting: 0\n\t},\n\tdetail: undefined,\n\ttoJSON() {\n\t\treturn this;\n\t}\n};\nexport class PerformanceEntry {\n\t__unenv__ = true;\n\tdetail;\n\tentryType = \"event\";\n\tname;\n\tstartTime;\n\tconstructor(name, options) {\n\t\tthis.name = name;\n\t\tthis.startTime = options?.startTime || _performanceNow();\n\t\tthis.detail = options?.detail;\n\t}\n\tget duration() {\n\t\treturn _performanceNow() - this.startTime;\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tentryType: this.entryType,\n\t\t\tstartTime: this.startTime,\n\t\t\tduration: this.duration,\n\t\t\tdetail: this.detail\n\t\t};\n\t}\n}\nexport const PerformanceMark = class PerformanceMark extends PerformanceEntry {\n\tentryType = \"mark\";\n\tconstructor() {\n\t\tsuper(...arguments);\n\t}\n\tget duration() {\n\t\treturn 0;\n\t}\n};\nexport class PerformanceMeasure extends PerformanceEntry {\n\tentryType = \"measure\";\n}\nexport class PerformanceResourceTiming extends PerformanceEntry {\n\tentryType = \"resource\";\n\tserverTiming = [];\n\tconnectEnd = 0;\n\tconnectStart = 0;\n\tdecodedBodySize = 0;\n\tdomainLookupEnd = 0;\n\tdomainLookupStart = 0;\n\tencodedBodySize = 0;\n\tfetchStart = 0;\n\tinitiatorType = \"\";\n\tname = \"\";\n\tnextHopProtocol = \"\";\n\tredirectEnd = 0;\n\tredirectStart = 0;\n\trequestStart = 0;\n\tresponseEnd = 0;\n\tresponseStart = 0;\n\tsecureConnectionStart = 0;\n\tstartTime = 0;\n\ttransferSize = 0;\n\tworkerStart = 0;\n\tresponseStatus = 0;\n}\nexport class PerformanceObserverEntryList {\n\t__unenv__ = true;\n\tgetEntries() {\n\t\treturn [];\n\t}\n\tgetEntriesByName(_name, _type) {\n\t\treturn [];\n\t}\n\tgetEntriesByType(type) {\n\t\treturn [];\n\t}\n}\nexport class Performance {\n\t__unenv__ = true;\n\ttimeOrigin = _timeOrigin;\n\teventCounts = new Map();\n\t_entries = [];\n\t_resourceTimingBufferSize = 0;\n\tnavigation = undefined;\n\ttiming = undefined;\n\ttimerify(_fn, _options) {\n\t\tthrow createNotImplementedError(\"Performance.timerify\");\n\t}\n\tget nodeTiming() {\n\t\treturn nodeTiming;\n\t}\n\teventLoopUtilization() {\n\t\treturn {};\n\t}\n\tmarkResourceTiming() {\n\t\treturn new PerformanceResourceTiming(\"\");\n\t}\n\tonresourcetimingbufferfull = null;\n\tnow() {\n\t\tif (this.timeOrigin === _timeOrigin) {\n\t\t\treturn _performanceNow();\n\t\t}\n\t\treturn Date.now() - this.timeOrigin;\n\t}\n\tclearMarks(markName) {\n\t\tthis._entries = markName ? this._entries.filter((e) => e.name !== markName) : this._entries.filter((e) => e.entryType !== \"mark\");\n\t}\n\tclearMeasures(measureName) {\n\t\tthis._entries = measureName ? this._entries.filter((e) => e.name !== measureName) : this._entries.filter((e) => e.entryType !== \"measure\");\n\t}\n\tclearResourceTimings() {\n\t\tthis._entries = this._entries.filter((e) => e.entryType !== \"resource\" || e.entryType !== \"navigation\");\n\t}\n\tgetEntries() {\n\t\treturn this._entries;\n\t}\n\tgetEntriesByName(name, type) {\n\t\treturn this._entries.filter((e) => e.name === name && (!type || e.entryType === type));\n\t}\n\tgetEntriesByType(type) {\n\t\treturn this._entries.filter((e) => e.entryType === type);\n\t}\n\tmark(name, options) {\n\t\tconst entry = new PerformanceMark(name, options);\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tmeasure(measureName, startOrMeasureOptions, endMark) {\n\t\tlet start;\n\t\tlet end;\n\t\tif (typeof startOrMeasureOptions === \"string\") {\n\t\t\tstart = this.getEntriesByName(startOrMeasureOptions, \"mark\")[0]?.startTime;\n\t\t\tend = this.getEntriesByName(endMark, \"mark\")[0]?.startTime;\n\t\t} else {\n\t\t\tstart = Number.parseFloat(startOrMeasureOptions?.start) || this.now();\n\t\t\tend = Number.parseFloat(startOrMeasureOptions?.end) || this.now();\n\t\t}\n\t\tconst entry = new PerformanceMeasure(measureName, {\n\t\t\tstartTime: start,\n\t\t\tdetail: {\n\t\t\t\tstart,\n\t\t\t\tend\n\t\t\t}\n\t\t});\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tsetResourceTimingBufferSize(maxSize) {\n\t\tthis._resourceTimingBufferSize = maxSize;\n\t}\n\taddEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.addEventListener\");\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.removeEventListener\");\n\t}\n\tdispatchEvent(event) {\n\t\tthrow createNotImplementedError(\"Performance.dispatchEvent\");\n\t}\n\ttoJSON() {\n\t\treturn this;\n\t}\n}\nexport class PerformanceObserver {\n\t__unenv__ = true;\n\tstatic supportedEntryTypes = [];\n\t_callback = null;\n\tconstructor(callback) {\n\t\tthis._callback = callback;\n\t}\n\ttakeRecords() {\n\t\treturn [];\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.disconnect\");\n\t}\n\tobserve(options) {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.observe\");\n\t}\n\tbind(fn) {\n\t\treturn fn;\n\t}\n\trunInAsyncScope(fn, thisArg, ...args) {\n\t\treturn fn.call(thisArg, ...args);\n\t}\n\tasyncId() {\n\t\treturn 0;\n\t}\n\ttriggerAsyncId() {\n\t\treturn 0;\n\t}\n\temitDestroy() {\n\t\treturn this;\n\t}\n}\nexport const performance = globalThis.performance && \"addEventListener\" in globalThis.performance ? globalThis.performance : new Performance();\n", "import {\n performance,\n Performance,\n PerformanceEntry,\n PerformanceMark,\n PerformanceMeasure,\n PerformanceObserver,\n PerformanceObserverEntryList,\n PerformanceResourceTiming\n} from \"node:perf_hooks\";\nglobalThis.performance = performance;\nglobalThis.Performance = Performance;\nglobalThis.PerformanceEntry = PerformanceEntry;\nglobalThis.PerformanceMark = PerformanceMark;\nglobalThis.PerformanceMeasure = PerformanceMeasure;\nglobalThis.PerformanceObserver = PerformanceObserver;\nglobalThis.PerformanceObserverEntryList = PerformanceObserverEntryList;\nglobalThis.PerformanceResourceTiming = PerformanceResourceTiming;\n", "import { Writable } from \"node:stream\";\nimport noop from \"../mock/noop.mjs\";\nimport { notImplemented, notImplementedClass } from \"../_internal/utils.mjs\";\nconst _console = globalThis.console;\nexport const _ignoreErrors = true;\nexport const _stderr = new Writable();\nexport const _stdout = new Writable();\nexport const log = _console?.log ?? noop;\nexport const info = _console?.info ?? log;\nexport const trace = _console?.trace ?? info;\nexport const debug = _console?.debug ?? log;\nexport const table = _console?.table ?? log;\nexport const error = _console?.error ?? log;\nexport const warn = _console?.warn ?? error;\nexport const createTask = _console?.createTask ?? /* @__PURE__ */ notImplemented(\"console.createTask\");\nexport const assert = /* @__PURE__ */ notImplemented(\"console.assert\");\nexport const clear = _console?.clear ?? noop;\nexport const count = _console?.count ?? noop;\nexport const countReset = _console?.countReset ?? noop;\nexport const dir = _console?.dir ?? noop;\nexport const dirxml = _console?.dirxml ?? noop;\nexport const group = _console?.group ?? noop;\nexport const groupEnd = _console?.groupEnd ?? noop;\nexport const groupCollapsed = _console?.groupCollapsed ?? noop;\nexport const profile = _console?.profile ?? noop;\nexport const profileEnd = _console?.profileEnd ?? noop;\nexport const time = _console?.time ?? noop;\nexport const timeEnd = _console?.timeEnd ?? noop;\nexport const timeLog = _console?.timeLog ?? noop;\nexport const timeStamp = _console?.timeStamp ?? noop;\nexport const Console = _console?.Console ?? /* @__PURE__ */ notImplementedClass(\"console.Console\");\nexport const _times = /* @__PURE__ */ new Map();\nexport function context() {\n\treturn _console;\n}\nexport const _stdoutErrorHandler = noop;\nexport const _stderrErrorHandler = noop;\nexport default {\n\t_times,\n\t_ignoreErrors,\n\t_stdoutErrorHandler,\n\t_stderrErrorHandler,\n\t_stdout,\n\t_stderr,\n\tassert,\n\tclear,\n\tConsole,\n\tcount,\n\tcountReset,\n\tdebug,\n\tdir,\n\tdirxml,\n\terror,\n\tcontext,\n\tcreateTask,\n\tgroup,\n\tgroupEnd,\n\tgroupCollapsed,\n\tinfo,\n\tlog,\n\tprofile,\n\tprofileEnd,\n\ttable,\n\ttime,\n\ttimeEnd,\n\ttimeLog,\n\ttimeStamp,\n\ttrace,\n\twarn\n};\n", "export default Object.assign(() => {}, { __unenv__: true });\n", "import {\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times,\n Console\n} from \"unenv/node/console\";\nexport {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n} from \"unenv/node/console\";\nconst workerdConsole = globalThis[\"console\"];\nexport const {\n assert,\n clear,\n // @ts-expect-error undocumented public API\n context,\n count,\n countReset,\n // @ts-expect-error undocumented public API\n createTask,\n debug,\n dir,\n dirxml,\n error,\n group,\n groupCollapsed,\n groupEnd,\n info,\n log,\n profile,\n profileEnd,\n table,\n time,\n timeEnd,\n timeLog,\n timeStamp,\n trace,\n warn\n} = workerdConsole;\nObject.assign(workerdConsole, {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n});\nexport default workerdConsole;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/console\";\nglobalThis.console = defaultExport;", "export const hrtime = /* @__PURE__ */ Object.assign(function hrtime(startTime) {\n\tconst now = Date.now();\n\tconst seconds = Math.trunc(now / 1e3);\n\tconst nanos = now % 1e3 * 1e6;\n\tif (startTime) {\n\t\tlet diffSeconds = seconds - startTime[0];\n\t\tlet diffNanos = nanos - startTime[0];\n\t\tif (diffNanos < 0) {\n\t\t\tdiffSeconds = diffSeconds - 1;\n\t\t\tdiffNanos = 1e9 + diffNanos;\n\t\t}\n\t\treturn [diffSeconds, diffNanos];\n\t}\n\treturn [seconds, nanos];\n}, { bigint: function bigint() {\n\treturn BigInt(Date.now() * 1e6);\n} });\n", "import { EventEmitter } from \"node:events\";\nimport { ReadStream, WriteStream } from \"node:tty\";\nimport { notImplemented, createNotImplementedError } from \"../../../_internal/utils.mjs\";\nexport class Process extends EventEmitter {\n\tenv;\n\thrtime;\n\tnextTick;\n\tconstructor(impl) {\n\t\tsuper();\n\t\tthis.env = impl.env;\n\t\tthis.hrtime = impl.hrtime;\n\t\tthis.nextTick = impl.nextTick;\n\t\tfor (const prop of [...Object.getOwnPropertyNames(Process.prototype), ...Object.getOwnPropertyNames(EventEmitter.prototype)]) {\n\t\t\tconst value = this[prop];\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tthis[prop] = value.bind(this);\n\t\t\t}\n\t\t}\n\t}\n\temitWarning(warning, type, code) {\n\t\tconsole.warn(`${code ? `[${code}] ` : \"\"}${type ? `${type}: ` : \"\"}${warning}`);\n\t}\n\temit(...args) {\n\t\treturn super.emit(...args);\n\t}\n\tlisteners(eventName) {\n\t\treturn super.listeners(eventName);\n\t}\n\t#stdin;\n\t#stdout;\n\t#stderr;\n\tget stdin() {\n\t\treturn this.#stdin ??= new ReadStream(0);\n\t}\n\tget stdout() {\n\t\treturn this.#stdout ??= new WriteStream(1);\n\t}\n\tget stderr() {\n\t\treturn this.#stderr ??= new WriteStream(2);\n\t}\n\t#cwd = \"/\";\n\tchdir(cwd) {\n\t\tthis.#cwd = cwd;\n\t}\n\tcwd() {\n\t\treturn this.#cwd;\n\t}\n\tarch = \"\";\n\tplatform = \"\";\n\targv = [];\n\targv0 = \"\";\n\texecArgv = [];\n\texecPath = \"\";\n\ttitle = \"\";\n\tpid = 200;\n\tppid = 100;\n\tget version() {\n\t\treturn \"\";\n\t}\n\tget versions() {\n\t\treturn {};\n\t}\n\tget allowedNodeEnvironmentFlags() {\n\t\treturn new Set();\n\t}\n\tget sourceMapsEnabled() {\n\t\treturn false;\n\t}\n\tget debugPort() {\n\t\treturn 0;\n\t}\n\tget throwDeprecation() {\n\t\treturn false;\n\t}\n\tget traceDeprecation() {\n\t\treturn false;\n\t}\n\tget features() {\n\t\treturn {};\n\t}\n\tget release() {\n\t\treturn {};\n\t}\n\tget connected() {\n\t\treturn false;\n\t}\n\tget config() {\n\t\treturn {};\n\t}\n\tget moduleLoadList() {\n\t\treturn [];\n\t}\n\tconstrainedMemory() {\n\t\treturn 0;\n\t}\n\tavailableMemory() {\n\t\treturn 0;\n\t}\n\tuptime() {\n\t\treturn 0;\n\t}\n\tresourceUsage() {\n\t\treturn {};\n\t}\n\tref() {}\n\tunref() {}\n\tumask() {\n\t\tthrow createNotImplementedError(\"process.umask\");\n\t}\n\tgetBuiltinModule() {\n\t\treturn undefined;\n\t}\n\tgetActiveResourcesInfo() {\n\t\tthrow createNotImplementedError(\"process.getActiveResourcesInfo\");\n\t}\n\texit() {\n\t\tthrow createNotImplementedError(\"process.exit\");\n\t}\n\treallyExit() {\n\t\tthrow createNotImplementedError(\"process.reallyExit\");\n\t}\n\tkill() {\n\t\tthrow createNotImplementedError(\"process.kill\");\n\t}\n\tabort() {\n\t\tthrow createNotImplementedError(\"process.abort\");\n\t}\n\tdlopen() {\n\t\tthrow createNotImplementedError(\"process.dlopen\");\n\t}\n\tsetSourceMapsEnabled() {\n\t\tthrow createNotImplementedError(\"process.setSourceMapsEnabled\");\n\t}\n\tloadEnvFile() {\n\t\tthrow createNotImplementedError(\"process.loadEnvFile\");\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"process.disconnect\");\n\t}\n\tcpuUsage() {\n\t\tthrow createNotImplementedError(\"process.cpuUsage\");\n\t}\n\tsetUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.setUncaughtExceptionCaptureCallback\");\n\t}\n\thasUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.hasUncaughtExceptionCaptureCallback\");\n\t}\n\tinitgroups() {\n\t\tthrow createNotImplementedError(\"process.initgroups\");\n\t}\n\topenStdin() {\n\t\tthrow createNotImplementedError(\"process.openStdin\");\n\t}\n\tassert() {\n\t\tthrow createNotImplementedError(\"process.assert\");\n\t}\n\tbinding() {\n\t\tthrow createNotImplementedError(\"process.binding\");\n\t}\n\tpermission = { has: /* @__PURE__ */ notImplemented(\"process.permission.has\") };\n\treport = {\n\t\tdirectory: \"\",\n\t\tfilename: \"\",\n\t\tsignal: \"SIGUSR2\",\n\t\tcompact: false,\n\t\treportOnFatalError: false,\n\t\treportOnSignal: false,\n\t\treportOnUncaughtException: false,\n\t\tgetReport: /* @__PURE__ */ notImplemented(\"process.report.getReport\"),\n\t\twriteReport: /* @__PURE__ */ notImplemented(\"process.report.writeReport\")\n\t};\n\tfinalization = {\n\t\tregister: /* @__PURE__ */ notImplemented(\"process.finalization.register\"),\n\t\tunregister: /* @__PURE__ */ notImplemented(\"process.finalization.unregister\"),\n\t\tregisterBeforeExit: /* @__PURE__ */ notImplemented(\"process.finalization.registerBeforeExit\")\n\t};\n\tmemoryUsage = Object.assign(() => ({\n\t\tarrayBuffers: 0,\n\t\trss: 0,\n\t\texternal: 0,\n\t\theapTotal: 0,\n\t\theapUsed: 0\n\t}), { rss: () => 0 });\n\tmainModule = undefined;\n\tdomain = undefined;\n\tsend = undefined;\n\texitCode = undefined;\n\tchannel = undefined;\n\tgetegid = undefined;\n\tgeteuid = undefined;\n\tgetgid = undefined;\n\tgetgroups = undefined;\n\tgetuid = undefined;\n\tsetegid = undefined;\n\tseteuid = undefined;\n\tsetgid = undefined;\n\tsetgroups = undefined;\n\tsetuid = undefined;\n\t_events = undefined;\n\t_eventsCount = undefined;\n\t_exiting = undefined;\n\t_maxListeners = undefined;\n\t_debugEnd = undefined;\n\t_debugProcess = undefined;\n\t_fatalException = undefined;\n\t_getActiveHandles = undefined;\n\t_getActiveRequests = undefined;\n\t_kill = undefined;\n\t_preload_modules = undefined;\n\t_rawDebug = undefined;\n\t_startProfilerIdleNotifier = undefined;\n\t_stopProfilerIdleNotifier = undefined;\n\t_tickCallback = undefined;\n\t_disconnect = undefined;\n\t_handleQueue = undefined;\n\t_pendingMessage = undefined;\n\t_channel = undefined;\n\t_send = undefined;\n\t_linkedBinding = undefined;\n}\n", "export class WriteStream {\n\tfd;\n\tcolumns = 80;\n\trows = 24;\n\tisTTY = false;\n\tconstructor(fd) {\n\t\tthis.fd = fd;\n\t}\n\tclearLine(dir, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tclearScreenDown(callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tcursorTo(x, y, callback) {\n\t\tcallback && typeof callback === \"function\" && callback();\n\t\treturn false;\n\t}\n\tmoveCursor(dx, dy, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tgetColorDepth(env) {\n\t\treturn 1;\n\t}\n\thasColors(count, env) {\n\t\treturn false;\n\t}\n\tgetWindowSize() {\n\t\treturn [this.columns, this.rows];\n\t}\n\twrite(str, encoding, cb) {\n\t\tif (str instanceof Uint8Array) {\n\t\t\tstr = new TextDecoder().decode(str);\n\t\t}\n\t\ttry {\n\t\t\tconsole.log(str);\n\t\t} catch {}\n\t\tcb && typeof cb === \"function\" && cb();\n\t\treturn false;\n\t}\n}\n", "export class ReadStream {\n\tfd;\n\tisRaw = false;\n\tisTTY = false;\n\tconstructor(fd) {\n\t\tthis.fd = fd;\n\t}\n\tsetRawMode(mode) {\n\t\tthis.isRaw = mode;\n\t\treturn this;\n\t}\n}\n", "import { hrtime as UnenvHrTime } from \"unenv/node/internal/process/hrtime\";\nimport { Process as UnenvProcess } from \"unenv/node/internal/process/process\";\nconst globalProcess = globalThis[\"process\"];\nexport const getBuiltinModule = globalProcess.getBuiltinModule;\nexport const { exit, platform, nextTick } = getBuiltinModule(\n \"node:process\"\n);\nconst unenvProcess = new UnenvProcess({\n env: globalProcess.env,\n hrtime: UnenvHrTime,\n nextTick\n});\nexport const {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n finalization,\n features,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n on,\n off,\n once,\n pid,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n} = unenvProcess;\nconst _process = {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n exit,\n finalization,\n features,\n getBuiltinModule,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n nextTick,\n on,\n off,\n once,\n pid,\n platform,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n // @ts-expect-error old API\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n};\nexport default _process;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/process\";\nglobalThis.process = defaultExport;", "const NIL_UUID = \"00000000-0000-0000-0000-000000000000\";\nexport { NIL_UUID };\n", "import * as __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__ from \"@hot-updater/core\";\nvar __webpack_modules__ = {\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const ANY = Symbol('SemVer ANY');\n class Comparator {\n static get ANY() {\n return ANY;\n }\n constructor(comp, options){\n options = parseOptions(options);\n if (comp instanceof Comparator) {\n if (!!options.loose === comp.loose) return comp;\n comp = comp.value;\n }\n comp = comp.trim().split(/\\s+/).join(' ');\n debug('comparator', comp, options);\n this.options = options;\n this.loose = !!options.loose;\n this.parse(comp);\n if (this.semver === ANY) this.value = '';\n else this.value = this.operator + this.semver.version;\n debug('comp', this);\n }\n parse(comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];\n const m = comp.match(r);\n if (!m) throw new TypeError(`Invalid comparator: ${comp}`);\n this.operator = void 0 !== m[1] ? m[1] : '';\n if ('=' === this.operator) this.operator = '';\n if (m[2]) this.semver = new SemVer(m[2], this.options.loose);\n else this.semver = ANY;\n }\n toString() {\n return this.value;\n }\n test(version) {\n debug('Comparator.test', version, this.options.loose);\n if (this.semver === ANY || version === ANY) return true;\n if ('string' == typeof version) try {\n version = new SemVer(version, this.options);\n } catch (er) {\n return false;\n }\n return cmp(version, this.operator, this.semver, this.options);\n }\n intersects(comp, options) {\n if (!(comp instanceof Comparator)) throw new TypeError('a Comparator is required');\n if ('' === this.operator) {\n if ('' === this.value) return true;\n return new Range(comp.value, options).test(this.value);\n }\n if ('' === comp.operator) {\n if ('' === comp.value) return true;\n return new Range(this.value, options).test(comp.semver);\n }\n options = parseOptions(options);\n if (options.includePrerelease && ('<0.0.0-0' === this.value || '<0.0.0-0' === comp.value)) return false;\n if (!options.includePrerelease && (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) return false;\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) return true;\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) return true;\n if (this.semver.version === comp.semver.version && this.operator.includes('=') && comp.operator.includes('=')) return true;\n if (cmp(this.semver, '<', comp.semver, options) && this.operator.startsWith('>') && comp.operator.startsWith('<')) return true;\n if (cmp(this.semver, '>', comp.semver, options) && this.operator.startsWith('<') && comp.operator.startsWith('>')) return true;\n return false;\n }\n }\n module.exports = Comparator;\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const cmp = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SPACE_CHARACTERS = /\\s+/g;\n class Range {\n constructor(range, options){\n options = parseOptions(options);\n if (range instanceof Range) {\n if (!!options.loose === range.loose && !!options.includePrerelease === range.includePrerelease) return range;\n return new Range(range.raw, options);\n }\n if (range instanceof Comparator) {\n this.raw = range.value;\n this.set = [\n [\n range\n ]\n ];\n this.formatted = void 0;\n return this;\n }\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ');\n this.set = this.raw.split('||').map((r)=>this.parseRange(r.trim())).filter((c)=>c.length);\n if (!this.set.length) throw new TypeError(`Invalid SemVer Range: ${this.raw}`);\n if (this.set.length > 1) {\n const first = this.set[0];\n this.set = this.set.filter((c)=>!isNullSet(c[0]));\n if (0 === this.set.length) this.set = [\n first\n ];\n else if (this.set.length > 1) {\n for (const c of this.set)if (1 === c.length && isAny(c[0])) {\n this.set = [\n c\n ];\n break;\n }\n }\n }\n this.formatted = void 0;\n }\n get range() {\n if (void 0 === this.formatted) {\n this.formatted = '';\n for(let i = 0; i < this.set.length; i++){\n if (i > 0) this.formatted += '||';\n const comps = this.set[i];\n for(let k = 0; k < comps.length; k++){\n if (k > 0) this.formatted += ' ';\n this.formatted += comps[k].toString().trim();\n }\n }\n }\n return this.formatted;\n }\n format() {\n return this.range;\n }\n toString() {\n return this.range;\n }\n parseRange(range) {\n const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);\n const memoKey = memoOpts + ':' + range;\n const cached = cache.get(memoKey);\n if (cached) return cached;\n const loose = this.options.loose;\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease));\n debug('hyphen replace', range);\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);\n debug('comparator trim', range);\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace);\n debug('tilde trim', range);\n range = range.replace(re[t.CARETTRIM], caretTrimReplace);\n debug('caret trim', range);\n let rangeList = range.split(' ').map((comp)=>parseComparator(comp, this.options)).join(' ').split(/\\s+/).map((comp)=>replaceGTE0(comp, this.options));\n if (loose) rangeList = rangeList.filter((comp)=>{\n debug('loose invalid filter', comp, this.options);\n return !!comp.match(re[t.COMPARATORLOOSE]);\n });\n debug('range list', rangeList);\n const rangeMap = new Map();\n const comparators = rangeList.map((comp)=>new Comparator(comp, this.options));\n for (const comp of comparators){\n if (isNullSet(comp)) return [\n comp\n ];\n rangeMap.set(comp.value, comp);\n }\n if (rangeMap.size > 1 && rangeMap.has('')) rangeMap.delete('');\n const result = [\n ...rangeMap.values()\n ];\n cache.set(memoKey, result);\n return result;\n }\n intersects(range, options) {\n if (!(range instanceof Range)) throw new TypeError('a Range is required');\n return this.set.some((thisComparators)=>isSatisfiable(thisComparators, options) && range.set.some((rangeComparators)=>isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator)=>rangeComparators.every((rangeComparator)=>thisComparator.intersects(rangeComparator, options)))));\n }\n test(version) {\n if (!version) return false;\n if ('string' == typeof version) try {\n version = new SemVer(version, this.options);\n } catch (er) {\n return false;\n }\n for(let i = 0; i < this.set.length; i++)if (testSet(this.set[i], version, this.options)) return true;\n return false;\n }\n }\n module.exports = Range;\n const LRU = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/lrucache.js\");\n const cache = new LRU();\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const { safeRe: re, t, comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const isNullSet = (c)=>'<0.0.0-0' === c.value;\n const isAny = (c)=>'' === c.value;\n const isSatisfiable = (comparators, options)=>{\n let result = true;\n const remainingComparators = comparators.slice();\n let testComparator = remainingComparators.pop();\n while(result && remainingComparators.length){\n result = remainingComparators.every((otherComparator)=>testComparator.intersects(otherComparator, options));\n testComparator = remainingComparators.pop();\n }\n return result;\n };\n const parseComparator = (comp, options)=>{\n debug('comp', comp, options);\n comp = replaceCarets(comp, options);\n debug('caret', comp);\n comp = replaceTildes(comp, options);\n debug('tildes', comp);\n comp = replaceXRanges(comp, options);\n debug('xrange', comp);\n comp = replaceStars(comp, options);\n debug('stars', comp);\n return comp;\n };\n const isX = (id)=>!id || 'x' === id.toLowerCase() || '*' === id;\n const replaceTildes = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>replaceTilde(c, options)).join(' ');\n const replaceTilde = (comp, options)=>{\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];\n return comp.replace(r, (_, M, m, p, pr)=>{\n debug('tilde', comp, _, M, m, p, pr);\n let ret;\n if (isX(M)) ret = '';\n else if (isX(m)) ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;\n else if (isX(p)) ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;\n else if (pr) {\n debug('replaceTilde pr', pr);\n ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;\n } else ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;\n debug('tilde return', ret);\n return ret;\n });\n };\n const replaceCarets = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>replaceCaret(c, options)).join(' ');\n const replaceCaret = (comp, options)=>{\n debug('caret', comp, options);\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];\n const z = options.includePrerelease ? '-0' : '';\n return comp.replace(r, (_, M, m, p, pr)=>{\n debug('caret', comp, _, M, m, p, pr);\n let ret;\n if (isX(M)) ret = '';\n else if (isX(m)) ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;\n else if (isX(p)) ret = '0' === M ? `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;\n else if (pr) {\n debug('replaceCaret pr', pr);\n ret = '0' === M ? '0' === m ? `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0` : `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;\n } else {\n debug('no pr');\n ret = '0' === M ? '0' === m ? `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0` : `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0` : `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;\n }\n debug('caret return', ret);\n return ret;\n });\n };\n const replaceXRanges = (comp, options)=>{\n debug('replaceXRanges', comp, options);\n return comp.split(/\\s+/).map((c)=>replaceXRange(c, options)).join(' ');\n };\n const replaceXRange = (comp, options)=>{\n comp = comp.trim();\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];\n return comp.replace(r, (ret, gtlt, M, m, p, pr)=>{\n debug('xRange', comp, ret, gtlt, M, m, p, pr);\n const xM = isX(M);\n const xm = xM || isX(m);\n const xp = xm || isX(p);\n const anyX = xp;\n if ('=' === gtlt && anyX) gtlt = '';\n pr = options.includePrerelease ? '-0' : '';\n if (xM) ret = '>' === gtlt || '<' === gtlt ? '<0.0.0-0' : '*';\n else if (gtlt && anyX) {\n if (xm) m = 0;\n p = 0;\n if ('>' === gtlt) {\n gtlt = '>=';\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else {\n m = +m + 1;\n p = 0;\n }\n } else if ('<=' === gtlt) {\n gtlt = '<';\n if (xm) M = +M + 1;\n else m = +m + 1;\n }\n if ('<' === gtlt) pr = '-0';\n ret = `${gtlt + M}.${m}.${p}${pr}`;\n } else if (xm) ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;\n else if (xp) ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;\n debug('xRange return', ret);\n return ret;\n });\n };\n const replaceStars = (comp, options)=>{\n debug('replaceStars', comp, options);\n return comp.trim().replace(re[t.STAR], '');\n };\n const replaceGTE0 = (comp, options)=>{\n debug('replaceGTE0', comp, options);\n return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '');\n };\n const hyphenReplace = (incPr)=>($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr)=>{\n from = isX(fM) ? '' : isX(fm) ? `>=${fM}.0.0${incPr ? '-0' : ''}` : isX(fp) ? `>=${fM}.${fm}.0${incPr ? '-0' : ''}` : fpr ? `>=${from}` : `>=${from}${incPr ? '-0' : ''}`;\n to = isX(tM) ? '' : isX(tm) ? `<${+tM + 1}.0.0-0` : isX(tp) ? `<${tM}.${+tm + 1}.0-0` : tpr ? `<=${tM}.${tm}.${tp}-${tpr}` : incPr ? `<${tM}.${tm}.${+tp + 1}-0` : `<=${to}`;\n return `${from} ${to}`.trim();\n };\n const testSet = (set, version, options)=>{\n for(let i = 0; i < set.length; i++)if (!set[i].test(version)) return false;\n if (version.prerelease.length && !options.includePrerelease) {\n for(let i = 0; i < set.length; i++){\n debug(set[i].semver);\n if (set[i].semver !== Comparator.ANY) {\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver;\n if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) return true;\n }\n }\n }\n return false;\n }\n return true;\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const parseOptions = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\");\n const { compareIdentifiers } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\");\n class SemVer {\n constructor(version, options){\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (!!options.loose === version.loose && !!options.includePrerelease === version.includePrerelease) return version;\n version = version.version;\n } else if ('string' != typeof version) throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n if (version.length > MAX_LENGTH) throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);\n debug('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);\n if (!m) throw new TypeError(`Invalid Version: ${version}`);\n this.raw = version;\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) throw new TypeError('Invalid major version');\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) throw new TypeError('Invalid minor version');\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) throw new TypeError('Invalid patch version');\n if (m[4]) this.prerelease = m[4].split('.').map((id)=>{\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) return num;\n }\n return id;\n });\n else this.prerelease = [];\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) this.version += `-${this.prerelease.join('.')}`;\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug('SemVer.compare', this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if ('string' == typeof other && other === this.version) return 0;\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) return 0;\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n if (this.prerelease.length && !other.prerelease.length) return -1;\n if (!this.prerelease.length && other.prerelease.length) return 1;\n if (!this.prerelease.length && !other.prerelease.length) return 0;\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (void 0 === a && void 0 === b) return 0;\n if (void 0 === b) return 1;\n if (void 0 === a) return -1;\n else if (a === b) continue;\n else return compareIdentifiers(a, b);\n }while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) other = new SemVer(other, this.options);\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n debug('build compare', i, a, b);\n if (void 0 === a && void 0 === b) return 0;\n if (void 0 === b) return 1;\n if (void 0 === a) return -1;\n else if (a === b) continue;\n else return compareIdentifiers(a, b);\n }while (++i);\n }\n inc(release, identifier, identifierBase) {\n switch(release){\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier, identifierBase);\n break;\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier, identifierBase);\n break;\n case 'prepatch':\n this.prerelease.length = 0;\n this.inc('patch', identifier, identifierBase);\n this.inc('pre', identifier, identifierBase);\n break;\n case 'prerelease':\n if (0 === this.prerelease.length) this.inc('patch', identifier, identifierBase);\n this.inc('pre', identifier, identifierBase);\n break;\n case 'major':\n if (0 !== this.minor || 0 !== this.patch || 0 === this.prerelease.length) this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'minor':\n if (0 !== this.patch || 0 === this.prerelease.length) this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'patch':\n if (0 === this.prerelease.length) this.patch++;\n this.prerelease = [];\n break;\n case 'pre':\n {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && false === identifierBase) throw new Error('invalid increment argument: identifier is empty');\n if (0 === this.prerelease.length) this.prerelease = [\n base\n ];\n else {\n let i = this.prerelease.length;\n while(--i >= 0)if ('number' == typeof this.prerelease[i]) {\n this.prerelease[i]++;\n i = -2;\n }\n if (-1 === i) {\n if (identifier === this.prerelease.join('.') && false === identifierBase) throw new Error('invalid increment argument: identifier already exists');\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [\n identifier,\n base\n ];\n if (false === identifierBase) prerelease = [\n identifier\n ];\n if (0 === compareIdentifiers(this.prerelease[0], identifier)) {\n if (isNaN(this.prerelease[1])) this.prerelease = prerelease;\n } else this.prerelease = prerelease;\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) this.raw += `+${this.build.join('.')}`;\n return this;\n }\n }\n module.exports = SemVer;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/clean.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const clean = (version, options)=>{\n const s = parse(version.trim().replace(/^[=v]+/, ''), options);\n return s ? s.version : null;\n };\n module.exports = clean;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const eq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\");\n const neq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const cmp = (a, op, b, loose)=>{\n switch(op){\n case '===':\n if ('object' == typeof a) a = a.version;\n if ('object' == typeof b) b = b.version;\n return a === b;\n case '!==':\n if ('object' == typeof a) a = a.version;\n if ('object' == typeof b) b = b.version;\n return a !== b;\n case '':\n case '=':\n case '==':\n return eq(a, b, loose);\n case '!=':\n return neq(a, b, loose);\n case '>':\n return gt(a, b, loose);\n case '>=':\n return gte(a, b, loose);\n case '<':\n return lt(a, b, loose);\n case '<=':\n return lte(a, b, loose);\n default:\n throw new TypeError(`Invalid operator: ${op}`);\n }\n };\n module.exports = cmp;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/coerce.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const { safeRe: re, t } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const coerce = (version, options)=>{\n if (version instanceof SemVer) return version;\n if ('number' == typeof version) version = String(version);\n if ('string' != typeof version) return null;\n options = options || {};\n let match = null;\n if (options.rtl) {\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];\n let next;\n while((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)){\n if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;\n }\n coerceRtlRegex.lastIndex = -1;\n } else match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);\n if (null === match) return null;\n const major = match[2];\n const minor = match[3] || '0';\n const patch = match[4] || '0';\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '';\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : '';\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);\n };\n module.exports = coerce;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const compareBuild = (a, b, loose)=>{\n const versionA = new SemVer(a, loose);\n const versionB = new SemVer(b, loose);\n return versionA.compare(versionB) || versionA.compareBuild(versionB);\n };\n module.exports = compareBuild;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-loose.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const compareLoose = (a, b)=>compare(a, b, true);\n module.exports = compareLoose;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const compare = (a, b, loose)=>new SemVer(a, loose).compare(new SemVer(b, loose));\n module.exports = compare;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/diff.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const diff = (version1, version2)=>{\n const v1 = parse(version1, null, true);\n const v2 = parse(version2, null, true);\n const comparison = v1.compare(v2);\n if (0 === comparison) return null;\n const v1Higher = comparison > 0;\n const highVersion = v1Higher ? v1 : v2;\n const lowVersion = v1Higher ? v2 : v1;\n const highHasPre = !!highVersion.prerelease.length;\n const lowHasPre = !!lowVersion.prerelease.length;\n if (lowHasPre && !highHasPre) {\n if (!lowVersion.patch && !lowVersion.minor) return 'major';\n if (highVersion.patch) return 'patch';\n if (highVersion.minor) return 'minor';\n return 'major';\n }\n const prefix = highHasPre ? 'pre' : '';\n if (v1.major !== v2.major) return prefix + 'major';\n if (v1.minor !== v2.minor) return prefix + 'minor';\n if (v1.patch !== v2.patch) return prefix + 'patch';\n return 'prerelease';\n };\n module.exports = diff;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const eq = (a, b, loose)=>0 === compare(a, b, loose);\n module.exports = eq;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const gt = (a, b, loose)=>compare(a, b, loose) > 0;\n module.exports = gt;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const gte = (a, b, loose)=>compare(a, b, loose) >= 0;\n module.exports = gte;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/inc.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const inc = (version, release, options, identifier, identifierBase)=>{\n if ('string' == typeof options) {\n identifierBase = identifier;\n identifier = options;\n options = void 0;\n }\n try {\n return new SemVer(version instanceof SemVer ? version.version : version, options).inc(release, identifier, identifierBase).version;\n } catch (er) {\n return null;\n }\n };\n module.exports = inc;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const lt = (a, b, loose)=>compare(a, b, loose) < 0;\n module.exports = lt;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const lte = (a, b, loose)=>compare(a, b, loose) <= 0;\n module.exports = lte;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/major.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const major = (a, loose)=>new SemVer(a, loose).major;\n module.exports = major;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/minor.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const minor = (a, loose)=>new SemVer(a, loose).minor;\n module.exports = minor;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const neq = (a, b, loose)=>0 !== compare(a, b, loose);\n module.exports = neq;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const parse = (version, options, throwErrors = false)=>{\n if (version instanceof SemVer) return version;\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) return null;\n throw er;\n }\n };\n module.exports = parse;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/patch.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const patch = (a, loose)=>new SemVer(a, loose).patch;\n module.exports = patch;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/prerelease.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const prerelease = (version, options)=>{\n const parsed = parse(version, options);\n return parsed && parsed.prerelease.length ? parsed.prerelease : null;\n };\n module.exports = prerelease;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rcompare.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const rcompare = (a, b, loose)=>compare(b, a, loose);\n module.exports = rcompare;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rsort.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const rsort = (list, loose)=>list.sort((a, b)=>compareBuild(b, a, loose));\n module.exports = rsort;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = (version, range, options)=>{\n try {\n range = new Range(range, options);\n } catch (er) {\n return false;\n }\n return range.test(version);\n };\n module.exports = satisfies;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/sort.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const sort = (list, loose)=>list.sort((a, b)=>compareBuild(a, b, loose));\n module.exports = sort;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/valid.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const valid = (version, options)=>{\n const v = parse(version, options);\n return v ? v.version : null;\n };\n module.exports = valid;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/index.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const internalRe = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\");\n const constants = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const identifiers = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\");\n const parse = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/parse.js\");\n const valid = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/valid.js\");\n const clean = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/clean.js\");\n const inc = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/inc.js\");\n const diff = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/diff.js\");\n const major = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/major.js\");\n const minor = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/minor.js\");\n const patch = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/patch.js\");\n const prerelease = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/prerelease.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const rcompare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rcompare.js\");\n const compareLoose = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-loose.js\");\n const compareBuild = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare-build.js\");\n const sort = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/sort.js\");\n const rsort = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/rsort.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const eq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/eq.js\");\n const neq = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/neq.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const cmp = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/cmp.js\");\n const coerce = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/coerce.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const toComparators = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/to-comparators.js\");\n const maxSatisfying = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/max-satisfying.js\");\n const minSatisfying = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-satisfying.js\");\n const minVersion = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-version.js\");\n const validRange = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/valid.js\");\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const gtr = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/gtr.js\");\n const ltr = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/ltr.js\");\n const intersects = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/intersects.js\");\n const simplifyRange = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/simplify.js\");\n const subset = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/subset.js\");\n module.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\": function(module) {\n const SEMVER_SPEC_VERSION = '2.0.0';\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease'\n ];\n module.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\": function(module) {\n const debug = 'object' == typeof process && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args)=>console.error('SEMVER', ...args) : ()=>{};\n module.exports = debug;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/identifiers.js\": function(module) {\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a, b)=>{\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n if (anum && bnum) {\n a *= 1;\n b *= 1;\n }\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n };\n const rcompareIdentifiers = (a, b)=>compareIdentifiers(b, a);\n module.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/lrucache.js\": function(module) {\n class LRUCache {\n constructor(){\n this.max = 1000;\n this.map = new Map();\n }\n get(key) {\n const value = this.map.get(key);\n if (void 0 === value) return;\n this.map.delete(key);\n this.map.set(key, value);\n return value;\n }\n delete(key) {\n return this.map.delete(key);\n }\n set(key, value) {\n const deleted = this.delete(key);\n if (!deleted && void 0 !== value) {\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value;\n this.delete(firstKey);\n }\n this.map.set(key, value);\n }\n return this;\n }\n }\n module.exports = LRUCache;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/parse-options.js\": function(module) {\n const looseOption = Object.freeze({\n loose: true\n });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options)=>{\n if (!options) return emptyOpts;\n if ('object' != typeof options) return looseOption;\n return options;\n };\n module.exports = parseOptions;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/re.js\": function(module, exports, __webpack_require__) {\n const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH } = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/constants.js\");\n const debug = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/internal/debug.js\");\n exports = module.exports = {};\n const re = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = '[a-zA-Z0-9-]';\n const safeRegexReplacements = [\n [\n '\\\\s',\n 1\n ],\n [\n '\\\\d',\n MAX_LENGTH\n ],\n [\n LETTERDASHNUMBER,\n MAX_SAFE_BUILD_LENGTH\n ]\n ];\n const makeSafeRegex = (value)=>{\n for (const [token, max] of safeRegexReplacements)value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n return value;\n };\n const createToken = (name, value, isGlobal)=>{\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : void 0);\n };\n createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n createToken('NUMERICIDENTIFIERLOOSE', '\\\\d+');\n createToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})`);\n createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);\n createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);\n createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\n createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`);\n createToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n createToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\n createToken('FULL', `^${src[t.FULLPLAIN]}$`);\n createToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);\n createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`);\n createToken('GTLT', '((?:<|>)?=?)');\n createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);\n createToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);\n createToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\n createToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('COERCEPLAIN', `(^|[^\\\\d])(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken('COERCEFULL', src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + \"(?:$|[^\\\\d])\");\n createToken('COERCERTL', src[t.COERCE], true);\n createToken('COERCERTLFULL', src[t.COERCEFULL], true);\n createToken('LONETILDE', '(?:~>?)');\n createToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = '$1~';\n createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\n createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('LONECARET', '(?:\\\\^)');\n createToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = '$1^';\n createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\n createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\n createToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n createToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = '$1$2$3';\n createToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t.XRANGEPLAIN]})\\\\s*\\$`);\n createToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t.XRANGEPLAINLOOSE]})\\\\s*\\$`);\n createToken('STAR', '(<|>)?=?\\\\s*\\\\*');\n createToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$');\n createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$');\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/gtr.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const gtr = (version, range, options)=>outside(version, range, '>', options);\n module.exports = gtr;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/intersects.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const intersects = (r1, r2, options)=>{\n r1 = new Range(r1, options);\n r2 = new Range(r2, options);\n return r1.intersects(r2, options);\n };\n module.exports = intersects;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/ltr.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const outside = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\");\n const ltr = (version, range, options)=>outside(version, range, '<', options);\n module.exports = ltr;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/max-satisfying.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const maxSatisfying = (versions, range, options)=>{\n let max = null;\n let maxSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range(range, options);\n } catch (er) {\n return null;\n }\n versions.forEach((v)=>{\n if (rangeObj.test(v)) {\n if (!max || -1 === maxSV.compare(v)) {\n max = v;\n maxSV = new SemVer(max, options);\n }\n }\n });\n return max;\n };\n module.exports = maxSatisfying;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-satisfying.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const minSatisfying = (versions, range, options)=>{\n let min = null;\n let minSV = null;\n let rangeObj = null;\n try {\n rangeObj = new Range(range, options);\n } catch (er) {\n return null;\n }\n versions.forEach((v)=>{\n if (rangeObj.test(v)) {\n if (!min || 1 === minSV.compare(v)) {\n min = v;\n minSV = new SemVer(min, options);\n }\n }\n });\n return min;\n };\n module.exports = minSatisfying;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/min-version.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const minVersion = (range, loose)=>{\n range = new Range(range, loose);\n let minver = new SemVer('0.0.0');\n if (range.test(minver)) return minver;\n minver = new SemVer('0.0.0-0');\n if (range.test(minver)) return minver;\n minver = null;\n for(let i = 0; i < range.set.length; ++i){\n const comparators = range.set[i];\n let setMin = null;\n comparators.forEach((comparator)=>{\n const compver = new SemVer(comparator.semver.version);\n switch(comparator.operator){\n case '>':\n if (0 === compver.prerelease.length) compver.patch++;\n else compver.prerelease.push(0);\n compver.raw = compver.format();\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) setMin = compver;\n break;\n case '<':\n case '<=':\n break;\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`);\n }\n });\n if (setMin && (!minver || gt(minver, setMin))) minver = setMin;\n }\n if (minver && range.test(minver)) return minver;\n return null;\n };\n module.exports = minVersion;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/outside.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const SemVer = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/semver.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const { ANY } = Comparator;\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const gt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gt.js\");\n const lt = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lt.js\");\n const lte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/lte.js\");\n const gte = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/gte.js\");\n const outside = (version, range, hilo, options)=>{\n version = new SemVer(version, options);\n range = new Range(range, options);\n let gtfn, ltefn, ltfn, comp, ecomp;\n switch(hilo){\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break;\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n if (satisfies(version, range, options)) return false;\n for(let i = 0; i < range.set.length; ++i){\n const comparators = range.set[i];\n let high = null;\n let low = null;\n comparators.forEach((comparator)=>{\n if (comparator.semver === ANY) comparator = new Comparator('>=0.0.0');\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, options)) high = comparator;\n else if (ltfn(comparator.semver, low.semver, options)) low = comparator;\n });\n if (high.operator === comp || high.operator === ecomp) return false;\n if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) return false;\n if (low.operator === ecomp && ltfn(version, low.semver)) return false;\n }\n return true;\n };\n module.exports = outside;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/simplify.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n module.exports = (versions, range, options)=>{\n const set = [];\n let first = null;\n let prev = null;\n const v = versions.sort((a, b)=>compare(a, b, options));\n for (const version of v){\n const included = satisfies(version, range, options);\n if (included) {\n prev = version;\n if (!first) first = version;\n } else {\n if (prev) set.push([\n first,\n prev\n ]);\n prev = null;\n first = null;\n }\n }\n if (first) set.push([\n first,\n null\n ]);\n const ranges = [];\n for (const [min, max] of set)if (min === max) ranges.push(min);\n else if (max || min !== v[0]) {\n if (max) {\n if (min === v[0]) ranges.push(`<=${max}`);\n else ranges.push(`${min} - ${max}`);\n } else ranges.push(`>=${min}`);\n } else ranges.push('*');\n const simplified = ranges.join(' || ');\n const original = 'string' == typeof range.raw ? range.raw : String(range);\n return simplified.length < original.length ? simplified : range;\n };\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/subset.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const Comparator = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/comparator.js\");\n const { ANY } = Comparator;\n const satisfies = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/satisfies.js\");\n const compare = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/functions/compare.js\");\n const subset = (sub, dom, options = {})=>{\n if (sub === dom) return true;\n sub = new Range(sub, options);\n dom = new Range(dom, options);\n let sawNonNull = false;\n OUTER: for (const simpleSub of sub.set){\n for (const simpleDom of dom.set){\n const isSub = simpleSubset(simpleSub, simpleDom, options);\n sawNonNull = sawNonNull || null !== isSub;\n if (isSub) continue OUTER;\n }\n if (sawNonNull) return false;\n }\n return true;\n };\n const minimumVersionWithPreRelease = [\n new Comparator('>=0.0.0-0')\n ];\n const minimumVersion = [\n new Comparator('>=0.0.0')\n ];\n const simpleSubset = (sub, dom, options)=>{\n if (sub === dom) return true;\n if (1 === sub.length && sub[0].semver === ANY) {\n if (1 === dom.length && dom[0].semver === ANY) return true;\n sub = options.includePrerelease ? minimumVersionWithPreRelease : minimumVersion;\n }\n if (1 === dom.length && dom[0].semver === ANY) {\n if (options.includePrerelease) return true;\n dom = minimumVersion;\n }\n const eqSet = new Set();\n let gt, lt;\n for (const c of sub)if ('>' === c.operator || '>=' === c.operator) gt = higherGT(gt, c, options);\n else if ('<' === c.operator || '<=' === c.operator) lt = lowerLT(lt, c, options);\n else eqSet.add(c.semver);\n if (eqSet.size > 1) return null;\n let gtltComp;\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options);\n if (gtltComp > 0) return null;\n if (0 === gtltComp && ('>=' !== gt.operator || '<=' !== lt.operator)) return null;\n }\n for (const eq of eqSet){\n if (gt && !satisfies(eq, String(gt), options)) return null;\n if (lt && !satisfies(eq, String(lt), options)) return null;\n for (const c of dom)if (!satisfies(eq, String(c), options)) return false;\n return true;\n }\n let higher, lower;\n let hasDomLT, hasDomGT;\n let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;\n let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;\n if (needDomLTPre && 1 === needDomLTPre.prerelease.length && '<' === lt.operator && 0 === needDomLTPre.prerelease[0]) needDomLTPre = false;\n for (const c of dom){\n hasDomGT = hasDomGT || '>' === c.operator || '>=' === c.operator;\n hasDomLT = hasDomLT || '<' === c.operator || '<=' === c.operator;\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) needDomGTPre = false;\n }\n if ('>' === c.operator || '>=' === c.operator) {\n higher = higherGT(gt, c, options);\n if (higher === c && higher !== gt) return false;\n } else if ('>=' === gt.operator && !satisfies(gt.semver, String(c), options)) return false;\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) needDomLTPre = false;\n }\n if ('<' === c.operator || '<=' === c.operator) {\n lower = lowerLT(lt, c, options);\n if (lower === c && lower !== lt) return false;\n } else if ('<=' === lt.operator && !satisfies(lt.semver, String(c), options)) return false;\n }\n if (!c.operator && (lt || gt) && 0 !== gtltComp) return false;\n }\n if (gt && hasDomLT && !lt && 0 !== gtltComp) return false;\n if (lt && hasDomGT && !gt && 0 !== gtltComp) return false;\n if (needDomGTPre || needDomLTPre) return false;\n return true;\n };\n const higherGT = (a, b, options)=>{\n if (!a) return b;\n const comp = compare(a.semver, b.semver, options);\n return comp > 0 ? a : comp < 0 ? b : '>' === b.operator && '>=' === a.operator ? b : a;\n };\n const lowerLT = (a, b, options)=>{\n if (!a) return b;\n const comp = compare(a.semver, b.semver, options);\n return comp < 0 ? a : comp > 0 ? b : '<' === b.operator && '<=' === a.operator ? b : a;\n };\n module.exports = subset;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/to-comparators.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const toComparators = (range, options)=>new Range(range, options).set.map((comp)=>comp.map((c)=>c.value).join(' ').trim().split(' '));\n module.exports = toComparators;\n },\n \"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/ranges/valid.js\": function(module, __unused_webpack_exports, __webpack_require__) {\n const Range = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/classes/range.js\");\n const validRange = (range, options)=>{\n try {\n return new Range(range, options).range || '*';\n } catch (er) {\n return null;\n }\n };\n module.exports = validRange;\n }\n};\nvar __webpack_module_cache__ = {};\nfunction __webpack_require__(moduleId) {\n var cachedModule = __webpack_module_cache__[moduleId];\n if (void 0 !== cachedModule) return cachedModule.exports;\n var module = __webpack_module_cache__[moduleId] = {\n exports: {}\n };\n __webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n return module.exports;\n}\n(()=>{\n __webpack_require__.n = (module)=>{\n var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;\n __webpack_require__.d(getter, {\n a: getter\n });\n return getter;\n };\n})();\n(()=>{\n __webpack_require__.d = (exports, definition)=>{\n for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, {\n enumerable: true,\n get: definition[key]\n });\n };\n})();\n(()=>{\n __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);\n})();\nvar semver = __webpack_require__(\"../../node_modules/.pnpm/semver@7.6.3/node_modules/semver/index.js\");\nvar semver_default = /*#__PURE__*/ __webpack_require__.n(semver);\nconst semverSatisfies = (targetAppVersion, currentVersion)=>{\n const currentCoerce = semver_default().coerce(currentVersion);\n if (!currentCoerce) return false;\n return semver_default().satisfies(currentCoerce.version, targetAppVersion);\n};\nconst INIT_BUNDLE_ROLLBACK_UPDATE_INFO = {\n message: null,\n id: __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID,\n shouldForceUpdate: true,\n status: \"ROLLBACK\"\n};\nconst makeResponse = (bundle, status)=>({\n id: bundle.id,\n message: bundle.message,\n shouldForceUpdate: \"ROLLBACK\" === status ? true : bundle.shouldForceUpdate,\n status\n });\nconst getUpdateInfo = async (bundles, { platform, bundleId, appVersion, minBundleId = __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID, channel = \"production\" })=>{\n const candidateBundles = [];\n for (const b of bundles)if (!(b.platform !== platform || b.channel !== channel || !semverSatisfies(b.targetAppVersion, appVersion) || !b.enabled || minBundleId && b.id.localeCompare(minBundleId) < 0)) candidateBundles.push(b);\n if (0 === candidateBundles.length) {\n if (bundleId === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID || minBundleId && bundleId.localeCompare(minBundleId) <= 0) return null;\n return INIT_BUNDLE_ROLLBACK_UPDATE_INFO;\n }\n let latestCandidate = null;\n let updateCandidate = null;\n let rollbackCandidate = null;\n let currentBundle;\n for (const b of candidateBundles){\n if (!latestCandidate || b.id.localeCompare(latestCandidate.id) > 0) latestCandidate = b;\n if (b.id === bundleId) currentBundle = b;\n else if (bundleId !== __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) {\n if (b.id.localeCompare(bundleId) > 0) {\n if (!updateCandidate || b.id.localeCompare(updateCandidate.id) > 0) updateCandidate = b;\n } else if (b.id.localeCompare(bundleId) < 0) {\n if (!rollbackCandidate || b.id.localeCompare(rollbackCandidate.id) > 0) rollbackCandidate = b;\n }\n }\n }\n if (bundleId === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) {\n if (latestCandidate && latestCandidate.id.localeCompare(bundleId) > 0) return makeResponse(latestCandidate, \"UPDATE\");\n return null;\n }\n if (currentBundle) {\n if (latestCandidate && latestCandidate.id.localeCompare(currentBundle.id) > 0) return makeResponse(latestCandidate, \"UPDATE\");\n return null;\n }\n if (updateCandidate) return makeResponse(updateCandidate, \"UPDATE\");\n if (rollbackCandidate) return makeResponse(rollbackCandidate, \"ROLLBACK\");\n if (minBundleId && bundleId.localeCompare(minBundleId) <= 0) return null;\n return INIT_BUNDLE_ROLLBACK_UPDATE_INFO;\n};\nconst filterCompatibleAppVersions = (targetAppVersionList, currentVersion)=>{\n const compatibleAppVersionList = targetAppVersionList.filter((version)=>semverSatisfies(version, currentVersion));\n return compatibleAppVersionList.sort((a, b)=>b.localeCompare(a));\n};\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction concat(...buffers) {\n const size = buffers.reduce((acc, { length })=>acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n for (const buffer of buffers){\n buf.set(buffer, i);\n i += buffer.length;\n }\n return buf;\n}\nfunction encodeBase64(input) {\n if (Uint8Array.prototype.toBase64) return input.toBase64();\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for(let i = 0; i < input.length; i += CHUNK_SIZE)arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));\n return btoa(arr.join(''));\n}\nfunction decodeBase64(encoded) {\n if (Uint8Array.fromBase64) return Uint8Array.fromBase64(encoded);\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for(let i = 0; i < binary.length; i++)bytes[i] = binary.charCodeAt(i);\n return bytes;\n}\nfunction decode(input) {\n if (Uint8Array.fromBase64) return Uint8Array.fromBase64('string' == typeof input ? input : decoder.decode(input), {\n alphabet: 'base64url'\n });\n let encoded = input;\n if (encoded instanceof Uint8Array) encoded = decoder.decode(encoded);\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/\\s/g, '');\n try {\n return decodeBase64(encoded);\n } catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n}\nfunction encode(input) {\n let unencoded = input;\n if ('string' == typeof unencoded) unencoded = encoder.encode(unencoded);\n if (Uint8Array.prototype.toBase64) return unencoded.toBase64({\n alphabet: 'base64url',\n omitPadding: true\n });\n return encodeBase64(unencoded).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nclass JOSEError extends Error {\n static code = 'ERR_JOSE_GENERIC';\n code = 'ERR_JOSE_GENERIC';\n constructor(message, options){\n super(message, options);\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nclass JWTClaimValidationFailed extends JOSEError {\n static code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified'){\n super(message, {\n cause: {\n claim,\n reason,\n payload\n }\n });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nclass JWTExpired extends JOSEError {\n static code = 'ERR_JWT_EXPIRED';\n code = 'ERR_JWT_EXPIRED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified'){\n super(message, {\n cause: {\n claim,\n reason,\n payload\n }\n });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nclass JOSEAlgNotAllowed extends JOSEError {\n static code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n}\nclass JOSENotSupported extends JOSEError {\n static code = 'ERR_JOSE_NOT_SUPPORTED';\n code = 'ERR_JOSE_NOT_SUPPORTED';\n}\nclass JWSInvalid extends JOSEError {\n static code = 'ERR_JWS_INVALID';\n code = 'ERR_JWS_INVALID';\n}\nclass JWTInvalid extends JOSEError {\n static code = 'ERR_JWT_INVALID';\n code = 'ERR_JWT_INVALID';\n}\nclass JWKSMultipleMatchingKeys extends JOSEError {\n [Symbol.asyncIterator];\n static code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n constructor(message = 'multiple matching keys found in the JSON Web Key Set', options){\n super(message, options);\n }\n}\nclass JWSSignatureVerificationFailed extends JOSEError {\n static code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n constructor(message = 'signature verification failed', options){\n super(message, options);\n }\n}\nconst subtle_dsa = (alg, algorithm)=>{\n const hash = `SHA-${alg.slice(-3)}`;\n switch(alg){\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return {\n hash,\n name: 'HMAC'\n };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return {\n hash,\n name: 'RSA-PSS',\n saltLength: parseInt(alg.slice(-3), 10) >> 3\n };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return {\n hash,\n name: 'RSASSA-PKCS1-v1_5'\n };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return {\n hash,\n name: 'ECDSA',\n namedCurve: algorithm.namedCurve\n };\n case 'Ed25519':\n case 'EdDSA':\n return {\n name: 'Ed25519'\n };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n};\nconst check_key_length = (alg, key)=>{\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if ('number' != typeof modulusLength || modulusLength < 2048) throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n};\nfunction unusable(name, prop = 'algorithm.name') {\n return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\n}\nfunction isAlgorithm(algorithm, name) {\n return algorithm.name === name;\n}\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction getNamedCurve(alg) {\n switch(alg){\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usage) {\n if (usage && !key.usages.includes(usage)) throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);\n}\nfunction checkSigCryptoKey(key, alg, usage) {\n switch(alg){\n case 'HS256':\n case 'HS384':\n case 'HS512':\n {\n if (!isAlgorithm(key.algorithm, 'HMAC')) throw unusable('HMAC');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512':\n {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5')) throw unusable('RSASSA-PKCS1-v1_5');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512':\n {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS')) throw unusable('RSA-PSS');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'Ed25519':\n case 'EdDSA':\n if (!isAlgorithm(key.algorithm, 'Ed25519')) throw unusable('Ed25519');\n break;\n case 'ES256':\n case 'ES384':\n case 'ES512':\n {\n if (!isAlgorithm(key.algorithm, 'ECDSA')) throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected) throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\nfunction invalid_key_input_message(msg, actual, ...types) {\n types = types.filter(Boolean);\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n } else if (2 === types.length) msg += `one of type ${types[0]} or ${types[1]}.`;\n else msg += `of type ${types[0]}.`;\n if (null == actual) msg += ` Received ${actual}`;\n else if ('function' == typeof actual && actual.name) msg += ` Received function ${actual.name}`;\n else if ('object' == typeof actual && null != actual) {\n if (actual.constructor?.name) msg += ` Received an instance of ${actual.constructor.name}`;\n }\n return msg;\n}\nconst invalid_key_input = (actual, ...types)=>invalid_key_input_message('Key must be ', actual, ...types);\nfunction withAlg(alg, actual, ...types) {\n return invalid_key_input_message(`Key for the ${alg} algorithm must be `, actual, ...types);\n}\nconst get_sign_verify_key = async (alg, key, usage)=>{\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) throw new TypeError(invalid_key_input(key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n return crypto.subtle.importKey('raw', key, {\n hash: `SHA-${alg.slice(-3)}`,\n name: 'HMAC'\n }, false, [\n usage\n ]);\n }\n checkSigCryptoKey(key, alg, usage);\n return key;\n};\nconst sign = async (alg, key, data)=>{\n const cryptoKey = await get_sign_verify_key(alg, key, 'sign');\n check_key_length(alg, cryptoKey);\n const signature = await crypto.subtle.sign(subtle_dsa(alg, cryptoKey.algorithm), cryptoKey, data);\n return new Uint8Array(signature);\n};\nconst is_disjoint = (...headers)=>{\n const sources = headers.filter(Boolean);\n if (0 === sources.length || 1 === sources.length) return true;\n let acc;\n for (const header of sources){\n const parameters = Object.keys(header);\n if (!acc || 0 === acc.size) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters){\n if (acc.has(parameter)) return false;\n acc.add(parameter);\n }\n }\n return true;\n};\nfunction isCryptoKey(key) {\n return key?.[Symbol.toStringTag] === 'CryptoKey';\n}\nfunction isKeyObject(key) {\n return key?.[Symbol.toStringTag] === 'KeyObject';\n}\nconst is_key_like = (key)=>isCryptoKey(key) || isKeyObject(key);\nfunction isObjectLike(value) {\n return 'object' == typeof value && null !== value;\n}\nconst is_object = (input)=>{\n if (!isObjectLike(input) || '[object Object]' !== Object.prototype.toString.call(input)) return false;\n if (null === Object.getPrototypeOf(input)) return true;\n let proto = input;\n while(null !== Object.getPrototypeOf(proto))proto = Object.getPrototypeOf(proto);\n return Object.getPrototypeOf(input) === proto;\n};\nfunction isJWK(key) {\n return is_object(key) && 'string' == typeof key.kty;\n}\nfunction isPrivateJWK(key) {\n return 'oct' !== key.kty && 'string' == typeof key.d;\n}\nfunction isPublicJWK(key) {\n return 'oct' !== key.kty && void 0 === key.d;\n}\nfunction isSecretJWK(key) {\n return 'oct' === key.kty && 'string' == typeof key.k;\n}\nconst tag = (key)=>key?.[Symbol.toStringTag];\nconst jwkMatchesOp = (alg, key, usage)=>{\n if (void 0 !== key.use) {\n let expected;\n switch(usage){\n case 'sign':\n case 'verify':\n expected = 'sig';\n break;\n case 'encrypt':\n case 'decrypt':\n expected = 'enc';\n break;\n }\n if (key.use !== expected) throw new TypeError(`Invalid key for this operation, its \"use\" must be \"${expected}\" when present`);\n }\n if (void 0 !== key.alg && key.alg !== alg) throw new TypeError(`Invalid key for this operation, its \"alg\" must be \"${alg}\" when present`);\n if (Array.isArray(key.key_ops)) {\n let expectedKeyOp;\n switch(true){\n case 'sign' === usage || 'verify' === usage:\n case 'dir' === alg:\n case alg.includes('CBC-HS'):\n expectedKeyOp = usage;\n break;\n case alg.startsWith('PBES2'):\n expectedKeyOp = 'deriveBits';\n break;\n case /^A\\d{3}(?:GCM)?(?:KW)?$/.test(alg):\n expectedKeyOp = !alg.includes('GCM') && alg.endsWith('KW') ? 'encrypt' === usage ? 'wrapKey' : 'unwrapKey' : usage;\n break;\n case 'encrypt' === usage && alg.startsWith('RSA'):\n expectedKeyOp = 'wrapKey';\n break;\n case 'decrypt' === usage:\n expectedKeyOp = alg.startsWith('RSA') ? 'unwrapKey' : 'deriveBits';\n break;\n }\n if (expectedKeyOp && key.key_ops?.includes?.(expectedKeyOp) === false) throw new TypeError(`Invalid key for this operation, its \"key_ops\" must include \"${expectedKeyOp}\" when present`);\n }\n return true;\n};\nconst symmetricTypeCheck = (alg, key, usage)=>{\n if (key instanceof Uint8Array) return;\n if (isJWK(key)) {\n if (isSecretJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError('JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present');\n }\n if (!is_key_like(key)) throw new TypeError(withAlg(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key', 'Uint8Array'));\n if ('secret' !== key.type) throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n};\nconst asymmetricTypeCheck = (alg, key, usage)=>{\n if (isJWK(key)) switch(usage){\n case 'decrypt':\n case 'sign':\n if (isPrivateJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError(\"JSON Web Key for this operation be a private JWK\");\n case 'encrypt':\n case 'verify':\n if (isPublicJWK(key) && jwkMatchesOp(alg, key, usage)) return;\n throw new TypeError(\"JSON Web Key for this operation be a public JWK\");\n }\n if (!is_key_like(key)) throw new TypeError(withAlg(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n if ('secret' === key.type) throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n if ('public' === key.type) switch(usage){\n case 'sign':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n case 'decrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n default:\n break;\n }\n if ('private' === key.type) switch(usage){\n case 'verify':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n case 'encrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n default:\n break;\n }\n};\nconst check_key_type = (alg, key, usage)=>{\n const symmetric = alg.startsWith('HS') || 'dir' === alg || alg.startsWith('PBES2') || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(alg) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(alg);\n if (symmetric) symmetricTypeCheck(alg, key, usage);\n else asymmetricTypeCheck(alg, key, usage);\n};\nconst validate_crit = (Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader)=>{\n if (void 0 !== joseHeader.crit && protectedHeader?.crit === void 0) throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n if (!protectedHeader || void 0 === protectedHeader.crit) return new Set();\n if (!Array.isArray(protectedHeader.crit) || 0 === protectedHeader.crit.length || protectedHeader.crit.some((input)=>'string' != typeof input || 0 === input.length)) throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n let recognized;\n recognized = void 0 !== recognizedOption ? new Map([\n ...Object.entries(recognizedOption),\n ...recognizedDefault.entries()\n ]) : recognizedDefault;\n for (const parameter of protectedHeader.crit){\n if (!recognized.has(parameter)) throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n if (void 0 === joseHeader[parameter]) throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n if (recognized.get(parameter) && void 0 === protectedHeader[parameter]) throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n return new Set(protectedHeader.crit);\n};\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch(jwk.kty){\n case 'RSA':\n switch(jwk.alg){\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = {\n name: 'RSA-PSS',\n hash: `SHA-${jwk.alg.slice(-3)}`\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = {\n name: 'RSASSA-PKCS1-v1_5',\n hash: `SHA-${jwk.alg.slice(-3)}`\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`\n };\n keyUsages = jwk.d ? [\n 'decrypt',\n 'unwrapKey'\n ] : [\n 'encrypt',\n 'wrapKey'\n ];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n case 'EC':\n switch(jwk.alg){\n case 'ES256':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-256'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ES384':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-384'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ES512':\n algorithm = {\n name: 'ECDSA',\n namedCurve: 'P-521'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = {\n name: 'ECDH',\n namedCurve: jwk.crv\n };\n keyUsages = jwk.d ? [\n 'deriveBits'\n ] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n case 'OKP':\n switch(jwk.alg){\n case 'Ed25519':\n case 'EdDSA':\n algorithm = {\n name: 'Ed25519'\n };\n keyUsages = jwk.d ? [\n 'sign'\n ] : [\n 'verify'\n ];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = {\n name: jwk.crv\n };\n keyUsages = jwk.d ? [\n 'deriveBits'\n ] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return {\n algorithm,\n keyUsages\n };\n}\nconst jwk_to_key = async (jwk)=>{\n if (!jwk.alg) throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const keyData = {\n ...jwk\n };\n delete keyData.alg;\n delete keyData.use;\n return crypto.subtle.importKey('jwk', keyData, algorithm, jwk.ext ?? !jwk.d, jwk.key_ops ?? keyUsages);\n};\nlet cache;\nconst handleJWK = async (key, jwk, alg, freeze = false)=>{\n cache ||= new WeakMap();\n let cached = cache.get(key);\n if (cached?.[alg]) return cached[alg];\n const cryptoKey = await jwk_to_key({\n ...jwk,\n alg\n });\n if (freeze) Object.freeze(key);\n if (cached) cached[alg] = cryptoKey;\n else cache.set(key, {\n [alg]: cryptoKey\n });\n return cryptoKey;\n};\nconst handleKeyObject = (keyObject, alg)=>{\n cache ||= new WeakMap();\n let cached = cache.get(keyObject);\n if (cached?.[alg]) return cached[alg];\n const isPublic = 'public' === keyObject.type;\n const extractable = !!isPublic;\n let cryptoKey;\n if ('x25519' === keyObject.asymmetricKeyType) {\n switch(alg){\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n break;\n default:\n throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, isPublic ? [] : [\n 'deriveBits'\n ]);\n }\n if ('ed25519' === keyObject.asymmetricKeyType) {\n if ('EdDSA' !== alg && 'Ed25519' !== alg) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n }\n if ('rsa' === keyObject.asymmetricKeyType) {\n let hash;\n switch(alg){\n case 'RSA-OAEP':\n hash = 'SHA-1';\n break;\n case 'RS256':\n case 'PS256':\n case 'RSA-OAEP-256':\n hash = 'SHA-256';\n break;\n case 'RS384':\n case 'PS384':\n case 'RSA-OAEP-384':\n hash = 'SHA-384';\n break;\n case 'RS512':\n case 'PS512':\n case 'RSA-OAEP-512':\n hash = 'SHA-512';\n break;\n default:\n throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n }\n if (alg.startsWith('RSA-OAEP')) return keyObject.toCryptoKey({\n name: 'RSA-OAEP',\n hash\n }, extractable, isPublic ? [\n 'encrypt'\n ] : [\n 'decrypt'\n ]);\n cryptoKey = keyObject.toCryptoKey({\n name: alg.startsWith('PS') ? 'RSA-PSS' : 'RSASSA-PKCS1-v1_5',\n hash\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n }\n if ('ec' === keyObject.asymmetricKeyType) {\n const nist = new Map([\n [\n 'prime256v1',\n 'P-256'\n ],\n [\n 'secp384r1',\n 'P-384'\n ],\n [\n 'secp521r1',\n 'P-521'\n ]\n ]);\n const namedCurve = nist.get(keyObject.asymmetricKeyDetails?.namedCurve);\n if (!namedCurve) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n if ('ES256' === alg && 'P-256' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if ('ES384' === alg && 'P-384' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if ('ES512' === alg && 'P-521' === namedCurve) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve\n }, extractable, [\n isPublic ? 'verify' : 'sign'\n ]);\n if (alg.startsWith('ECDH-ES')) cryptoKey = keyObject.toCryptoKey({\n name: 'ECDH',\n namedCurve\n }, extractable, isPublic ? [] : [\n 'deriveBits'\n ]);\n }\n if (!cryptoKey) throw new TypeError('given KeyObject instance cannot be used for this algorithm');\n if (cached) cached[alg] = cryptoKey;\n else cache.set(keyObject, {\n [alg]: cryptoKey\n });\n return cryptoKey;\n};\nconst normalize_key = async (key, alg)=>{\n if (key instanceof Uint8Array) return key;\n if (isCryptoKey(key)) return key;\n if (isKeyObject(key)) {\n if ('secret' === key.type) return key.export();\n if ('toCryptoKey' in key && 'function' == typeof key.toCryptoKey) try {\n return handleKeyObject(key, alg);\n } catch (err) {\n if (err instanceof TypeError) throw err;\n }\n let jwk = key.export({\n format: 'jwk'\n });\n return handleJWK(key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k) return decode(key.k);\n return handleJWK(key, key, alg, true);\n }\n throw new Error('unreachable');\n};\nclass FlattenedSign {\n #payload;\n #protectedHeader;\n #unprotectedHeader;\n constructor(payload){\n if (!(payload instanceof Uint8Array)) throw new TypeError('payload must be an instance of Uint8Array');\n this.#payload = payload;\n }\n setProtectedHeader(protectedHeader) {\n if (this.#protectedHeader) throw new TypeError('setProtectedHeader can only be called once');\n this.#protectedHeader = protectedHeader;\n return this;\n }\n setUnprotectedHeader(unprotectedHeader) {\n if (this.#unprotectedHeader) throw new TypeError('setUnprotectedHeader can only be called once');\n this.#unprotectedHeader = unprotectedHeader;\n return this;\n }\n async sign(key, options) {\n if (!this.#protectedHeader && !this.#unprotectedHeader) throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n if (!is_disjoint(this.#protectedHeader, this.#unprotectedHeader)) throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n const joseHeader = {\n ...this.#protectedHeader,\n ...this.#unprotectedHeader\n };\n const extensions = validate_crit(JWSInvalid, new Map([\n [\n 'b64',\n true\n ]\n ]), options?.crit, this.#protectedHeader, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = this.#protectedHeader.b64;\n if ('boolean' != typeof b64) throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n const { alg } = joseHeader;\n if ('string' != typeof alg || !alg) throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n check_key_type(alg, key, 'sign');\n let payload = this.#payload;\n if (b64) payload = encoder.encode(encode(payload));\n let protectedHeader;\n protectedHeader = this.#protectedHeader ? encoder.encode(encode(JSON.stringify(this.#protectedHeader))) : encoder.encode('');\n const data = concat(protectedHeader, encoder.encode('.'), payload);\n const k = await normalize_key(key, alg);\n const signature = await sign(alg, k, data);\n const jws = {\n signature: encode(signature),\n payload: ''\n };\n if (b64) jws.payload = decoder.decode(payload);\n if (this.#unprotectedHeader) jws.header = this.#unprotectedHeader;\n if (this.#protectedHeader) jws.protected = decoder.decode(protectedHeader);\n return jws;\n }\n}\nclass CompactSign {\n #flattened;\n constructor(payload){\n this.#flattened = new FlattenedSign(payload);\n }\n setProtectedHeader(protectedHeader) {\n this.#flattened.setProtectedHeader(protectedHeader);\n return this;\n }\n async sign(key, options) {\n const jws = await this.#flattened.sign(key, options);\n if (void 0 === jws.payload) throw new TypeError('use the flattened module for creating JWS with b64: false');\n return `${jws.protected}.${jws.payload}.${jws.signature}`;\n }\n}\nconst epoch = (date)=>Math.floor(date.getTime() / 1000);\nconst minute = 60;\nconst hour = 60 * minute;\nconst day = 24 * hour;\nconst week = 7 * day;\nconst year = 365.25 * day;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nconst secs = (str)=>{\n const matched = REGEX.exec(str);\n if (!matched || matched[4] && matched[1]) throw new TypeError('Invalid time period format');\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch(unit){\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if ('-' === matched[1] || 'ago' === matched[4]) return -numericDate;\n return numericDate;\n};\nfunction validateInput(label, input) {\n if (!Number.isFinite(input)) throw new TypeError(`Invalid ${label} input`);\n return input;\n}\nconst normalizeTyp = (value)=>value.toLowerCase().replace(/^application\\//, '');\nconst checkAudiencePresence = (audPayload, audOption)=>{\n if ('string' == typeof audPayload) return audOption.includes(audPayload);\n if (Array.isArray(audPayload)) return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n return false;\n};\nfunction validateClaimsSet(protectedHeader, encodedPayload, options = {}) {\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n } catch {}\n if (!is_object(payload)) throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n const { typ } = options;\n if (typ && ('string' != typeof protectedHeader.typ || normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [\n ...requiredClaims\n ];\n if (void 0 !== maxTokenAge) presenceCheck.push('iat');\n if (void 0 !== audience) presenceCheck.push('aud');\n if (void 0 !== subject) presenceCheck.push('sub');\n if (void 0 !== issuer) presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse()))if (!(claim in payload)) throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n if (issuer && !(Array.isArray(issuer) ? issuer : [\n issuer\n ]).includes(payload.iss)) throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n if (subject && payload.sub !== subject) throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n if (audience && !checkAudiencePresence(payload.aud, 'string' == typeof audience ? [\n audience\n ] : audience)) throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n let tolerance;\n switch(typeof options.clockTolerance){\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((void 0 !== payload.iat || maxTokenAge) && 'number' != typeof payload.iat) throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n if (void 0 !== payload.nbf) {\n if ('number' != typeof payload.nbf) throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n if (payload.nbf > now + tolerance) throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n }\n if (void 0 !== payload.exp) {\n if ('number' != typeof payload.exp) throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n if (payload.exp <= now - tolerance) throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = 'number' == typeof maxTokenAge ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n if (age < 0 - tolerance) throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n }\n return payload;\n}\nclass JWTClaimsBuilder {\n #payload;\n constructor(payload){\n if (!is_object(payload)) throw new TypeError('JWT Claims Set MUST be an object');\n this.#payload = structuredClone(payload);\n }\n data() {\n return encoder.encode(JSON.stringify(this.#payload));\n }\n get iss() {\n return this.#payload.iss;\n }\n set iss(value) {\n this.#payload.iss = value;\n }\n get sub() {\n return this.#payload.sub;\n }\n set sub(value) {\n this.#payload.sub = value;\n }\n get aud() {\n return this.#payload.aud;\n }\n set aud(value) {\n this.#payload.aud = value;\n }\n set jti(value) {\n this.#payload.jti = value;\n }\n set nbf(value) {\n if ('number' == typeof value) this.#payload.nbf = validateInput('setNotBefore', value);\n else if (value instanceof Date) this.#payload.nbf = validateInput('setNotBefore', epoch(value));\n else this.#payload.nbf = epoch(new Date()) + secs(value);\n }\n set exp(value) {\n if ('number' == typeof value) this.#payload.exp = validateInput('setExpirationTime', value);\n else if (value instanceof Date) this.#payload.exp = validateInput('setExpirationTime', epoch(value));\n else this.#payload.exp = epoch(new Date()) + secs(value);\n }\n set iat(value) {\n if (void 0 === value) this.#payload.iat = epoch(new Date());\n else if (value instanceof Date) this.#payload.iat = validateInput('setIssuedAt', epoch(value));\n else if ('string' == typeof value) this.#payload.iat = validateInput('setIssuedAt', epoch(new Date()) + secs(value));\n else this.#payload.iat = validateInput('setIssuedAt', value);\n }\n}\nclass SignJWT {\n #protectedHeader;\n #jwt;\n constructor(payload = {}){\n this.#jwt = new JWTClaimsBuilder(payload);\n }\n setIssuer(issuer) {\n this.#jwt.iss = issuer;\n return this;\n }\n setSubject(subject) {\n this.#jwt.sub = subject;\n return this;\n }\n setAudience(audience) {\n this.#jwt.aud = audience;\n return this;\n }\n setJti(jwtId) {\n this.#jwt.jti = jwtId;\n return this;\n }\n setNotBefore(input) {\n this.#jwt.nbf = input;\n return this;\n }\n setExpirationTime(input) {\n this.#jwt.exp = input;\n return this;\n }\n setIssuedAt(input) {\n this.#jwt.iat = input;\n return this;\n }\n setProtectedHeader(protectedHeader) {\n this.#protectedHeader = protectedHeader;\n return this;\n }\n async sign(key, options) {\n const sig = new CompactSign(this.#jwt.data());\n sig.setProtectedHeader(this.#protectedHeader);\n if (Array.isArray(this.#protectedHeader?.crit) && this.#protectedHeader.crit.includes('b64') && false === this.#protectedHeader.b64) throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n return sig.sign(key, options);\n }\n}\nconst withJwtSignedUrl = async ({ pathPrefix = \"\", data, reqUrl, jwtSecret })=>{\n if (!data) return null;\n if (data.id === __WEBPACK_EXTERNAL_MODULE__hot_updater_core_132f924c__.NIL_UUID) return {\n ...data,\n fileUrl: null\n };\n const key = `${data.id}/bundle.zip`;\n const token = await signToken(key, jwtSecret);\n const url = new URL(reqUrl);\n url.pathname = `${pathPrefix}/${key}`;\n url.searchParams.set(\"token\", token);\n return {\n ...data,\n fileUrl: url.toString()\n };\n};\nconst signToken = async (key, jwtSecret)=>{\n const secretKey = new TextEncoder().encode(jwtSecret);\n const token = await new SignJWT({\n key\n }).setProtectedHeader({\n alg: \"HS256\"\n }).setExpirationTime(\"60s\").sign(secretKey);\n return token;\n};\nconst verify = async (alg, key, signature, data)=>{\n const cryptoKey = await get_sign_verify_key(alg, key, 'verify');\n check_key_length(alg, cryptoKey);\n const algorithm = subtle_dsa(alg, cryptoKey.algorithm);\n try {\n return await crypto.subtle.verify(algorithm, cryptoKey, signature, data);\n } catch {\n return false;\n }\n};\nconst validate_algorithms = (option, algorithms)=>{\n if (void 0 !== algorithms && (!Array.isArray(algorithms) || algorithms.some((s)=>'string' != typeof s))) throw new TypeError(`\"${option}\" option must be an array of strings`);\n if (!algorithms) return;\n return new Set(algorithms);\n};\nasync function flattenedVerify(jws, key, options) {\n if (!is_object(jws)) throw new JWSInvalid('Flattened JWS must be an object');\n if (void 0 === jws.protected && void 0 === jws.header) throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n if (void 0 !== jws.protected && 'string' != typeof jws.protected) throw new JWSInvalid('JWS Protected Header incorrect type');\n if (void 0 === jws.payload) throw new JWSInvalid('JWS Payload missing');\n if ('string' != typeof jws.signature) throw new JWSInvalid('JWS Signature missing or incorrect type');\n if (void 0 !== jws.header && !is_object(jws.header)) throw new JWSInvalid('JWS Unprotected Header incorrect type');\n let parsedProt = {};\n if (jws.protected) try {\n const protectedHeader = decode(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n } catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n if (!is_disjoint(parsedProt, jws.header)) throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n const joseHeader = {\n ...parsedProt,\n ...jws.header\n };\n const extensions = validate_crit(JWSInvalid, new Map([\n [\n 'b64',\n true\n ]\n ]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if ('boolean' != typeof b64) throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n const { alg } = joseHeader;\n if ('string' != typeof alg || !alg) throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n const algorithms = options && validate_algorithms('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n if (b64) {\n if ('string' != typeof jws.payload) throw new JWSInvalid('JWS Payload must be a string');\n } else if ('string' != typeof jws.payload && !(jws.payload instanceof Uint8Array)) throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n let resolvedKey = false;\n if ('function' == typeof key) {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n }\n check_key_type(alg, key, 'verify');\n const data = concat(encoder.encode(jws.protected ?? ''), encoder.encode('.'), 'string' == typeof jws.payload ? encoder.encode(jws.payload) : jws.payload);\n let signature;\n try {\n signature = decode(jws.signature);\n } catch {\n throw new JWSInvalid('Failed to base64url decode the signature');\n }\n const k = await normalize_key(key, alg);\n const verified = await verify(alg, k, signature, data);\n if (!verified) throw new JWSSignatureVerificationFailed();\n let payload;\n if (b64) try {\n payload = decode(jws.payload);\n } catch {\n throw new JWSInvalid('Failed to base64url decode the payload');\n }\n else payload = 'string' == typeof jws.payload ? encoder.encode(jws.payload) : jws.payload;\n const result = {\n payload\n };\n if (void 0 !== jws.protected) result.protectedHeader = parsedProt;\n if (void 0 !== jws.header) result.unprotectedHeader = jws.header;\n if (resolvedKey) return {\n ...result,\n key: k\n };\n return result;\n}\nasync function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) jws = decoder.decode(jws);\n if ('string' != typeof jws) throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (3 !== length) throw new JWSInvalid('Invalid Compact JWS');\n const verified = await flattenedVerify({\n payload,\n protected: protectedHeader,\n signature\n }, key, options);\n const result = {\n payload: verified.payload,\n protectedHeader: verified.protectedHeader\n };\n if ('function' == typeof key) return {\n ...result,\n key: verified.key\n };\n return result;\n}\nasync function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && false === verified.protectedHeader.b64) throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n const payload = validateClaimsSet(verified.protectedHeader, verified.payload, options);\n const result = {\n payload,\n protectedHeader: verified.protectedHeader\n };\n if ('function' == typeof key) return {\n ...result,\n key: verified.key\n };\n return result;\n}\nconst verifyJwtToken = async ({ path, token, jwtSecret })=>{\n const key = path.replace(/^\\/+/, \"\");\n if (!token) return {\n valid: false,\n error: \"Missing token\"\n };\n try {\n const secretKey = new TextEncoder().encode(jwtSecret);\n const { payload } = await jwtVerify(token, secretKey);\n if (!payload || payload.key !== key) return {\n valid: false,\n error: \"Token does not match requested file\"\n };\n return {\n valid: true,\n key\n };\n } catch (error) {\n return {\n valid: false,\n error: \"Invalid or expired token\"\n };\n }\n};\nconst getFileResponse = async ({ key, handler })=>{\n const object = await handler(key);\n if (!object) return {\n status: 404,\n error: \"File not found\"\n };\n const pathParts = key.split(\"/\");\n const fileName = pathParts[pathParts.length - 1];\n const headers = {\n \"Content-Type\": object.contentType || \"application/octet-stream\",\n \"Content-Disposition\": `attachment; filename=${fileName}`\n };\n return {\n status: 200,\n responseHeaders: headers,\n responseBody: object.body\n };\n};\nconst verifyJwtSignedUrl = async ({ path, token, jwtSecret, handler })=>{\n const result = await verifyJwtToken({\n path,\n token,\n jwtSecret\n });\n if (!result.valid) {\n if (\"Missing token\" === result.error) return {\n status: 400,\n error: result.error\n };\n return {\n status: 403,\n error: result.error || \"Unauthorized\"\n };\n }\n return getFileResponse({\n key: result.key,\n handler\n });\n};\nexport { filterCompatibleAppVersions, getUpdateInfo, semverSatisfies, signToken, verifyJwtSignedUrl, verifyJwtToken, withJwtSignedUrl };\n", "// src/utils/body.ts\nimport { HonoRequest } from \"../request.js\";\nvar parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {\n const { all = false, dot = false } = options;\n const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;\n const contentType = headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"multipart/form-data\") || contentType?.startsWith(\"application/x-www-form-urlencoded\")) {\n return parseFormData(request, { all, dot });\n }\n return {};\n};\nasync function parseFormData(request, options) {\n const formData = await request.formData();\n if (formData) {\n return convertFormDataToBodyData(formData, options);\n }\n return {};\n}\nfunction convertFormDataToBodyData(formData, options) {\n const form = /* @__PURE__ */ Object.create(null);\n formData.forEach((value, key) => {\n const shouldParseAllValues = options.all || key.endsWith(\"[]\");\n if (!shouldParseAllValues) {\n form[key] = value;\n } else {\n handleParsingAllValues(form, key, value);\n }\n });\n if (options.dot) {\n Object.entries(form).forEach(([key, value]) => {\n const shouldParseDotValues = key.includes(\".\");\n if (shouldParseDotValues) {\n handleParsingNestedValues(form, key, value);\n delete form[key];\n }\n });\n }\n return form;\n}\nvar handleParsingAllValues = (form, key, value) => {\n if (form[key] !== void 0) {\n if (Array.isArray(form[key])) {\n ;\n form[key].push(value);\n } else {\n form[key] = [form[key], value];\n }\n } else {\n form[key] = value;\n }\n};\nvar handleParsingNestedValues = (form, key, value) => {\n let nestedForm = form;\n const keys = key.split(\".\");\n keys.forEach((key2, index) => {\n if (index === keys.length - 1) {\n nestedForm[key2] = value;\n } else {\n if (!nestedForm[key2] || typeof nestedForm[key2] !== \"object\" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) {\n nestedForm[key2] = /* @__PURE__ */ Object.create(null);\n }\n nestedForm = nestedForm[key2];\n }\n });\n};\nexport {\n parseBody\n};\n", "// src/utils/url.ts\nvar splitPath = (path) => {\n const paths = path.split(\"/\");\n if (paths[0] === \"\") {\n paths.shift();\n }\n return paths;\n};\nvar splitRoutingPath = (routePath) => {\n const { groups, path } = extractGroupsFromPath(routePath);\n const paths = splitPath(path);\n return replaceGroupMarks(paths, groups);\n};\nvar extractGroupsFromPath = (path) => {\n const groups = [];\n path = path.replace(/\\{[^}]+\\}/g, (match, index) => {\n const mark = `@${index}`;\n groups.push([mark, match]);\n return mark;\n });\n return { groups, path };\n};\nvar replaceGroupMarks = (paths, groups) => {\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = paths.length - 1; j >= 0; j--) {\n if (paths[j].includes(mark)) {\n paths[j] = paths[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n return paths;\n};\nvar patternCache = {};\nvar getPattern = (label) => {\n if (label === \"*\") {\n return \"*\";\n }\n const match = label.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n if (match) {\n if (!patternCache[label]) {\n if (match[2]) {\n patternCache[label] = [label, match[1], new RegExp(\"^\" + match[2] + \"$\")];\n } else {\n patternCache[label] = [label, match[1], true];\n }\n }\n return patternCache[label];\n }\n return null;\n};\nvar tryDecodeURI = (str) => {\n try {\n return decodeURI(str);\n } catch {\n return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {\n try {\n return decodeURI(match);\n } catch {\n return match;\n }\n });\n }\n};\nvar getPath = (request) => {\n const url = request.url;\n const start = url.indexOf(\"/\", 8);\n let i = start;\n for (; i < url.length; i++) {\n const charCode = url.charCodeAt(i);\n if (charCode === 37) {\n const queryIndex = url.indexOf(\"?\", i);\n const path = url.slice(start, queryIndex === -1 ? void 0 : queryIndex);\n return tryDecodeURI(path.includes(\"%25\") ? path.replace(/%25/g, \"%2525\") : path);\n } else if (charCode === 63) {\n break;\n }\n }\n return url.slice(start, i);\n};\nvar getQueryStrings = (url) => {\n const queryIndex = url.indexOf(\"?\", 8);\n return queryIndex === -1 ? \"\" : \"?\" + url.slice(queryIndex + 1);\n};\nvar getPathNoStrict = (request) => {\n const result = getPath(request);\n return result.length > 1 && result[result.length - 1] === \"/\" ? result.slice(0, -1) : result;\n};\nvar mergePath = (...paths) => {\n let p = \"\";\n let endsWithSlash = false;\n for (let path of paths) {\n if (p[p.length - 1] === \"/\") {\n p = p.slice(0, -1);\n endsWithSlash = true;\n }\n if (path[0] !== \"/\") {\n path = `/${path}`;\n }\n if (path === \"/\" && endsWithSlash) {\n p = `${p}/`;\n } else if (path !== \"/\") {\n p = `${p}${path}`;\n }\n if (path === \"/\" && p === \"\") {\n p = \"/\";\n }\n }\n return p;\n};\nvar checkOptionalParameter = (path) => {\n if (!path.match(/\\:.+\\?$/)) {\n return null;\n }\n const segments = path.split(\"/\");\n const results = [];\n let basePath = \"\";\n segments.forEach((segment) => {\n if (segment !== \"\" && !/\\:/.test(segment)) {\n basePath += \"/\" + segment;\n } else if (/\\:/.test(segment)) {\n if (/\\?/.test(segment)) {\n if (results.length === 0 && basePath === \"\") {\n results.push(\"/\");\n } else {\n results.push(basePath);\n }\n const optionalSegment = segment.replace(\"?\", \"\");\n basePath += \"/\" + optionalSegment;\n results.push(basePath);\n } else {\n basePath += \"/\" + segment;\n }\n }\n });\n return results.filter((v, i, a) => a.indexOf(v) === i);\n};\nvar _decodeURI = (value) => {\n if (!/[%+]/.test(value)) {\n return value;\n }\n if (value.indexOf(\"+\") !== -1) {\n value = value.replace(/\\+/g, \" \");\n }\n return /%/.test(value) ? decodeURIComponent_(value) : value;\n};\nvar _getQueryParam = (url, key, multiple) => {\n let encoded;\n if (!multiple && key && !/[%+]/.test(key)) {\n let keyIndex2 = url.indexOf(`?${key}`, 8);\n if (keyIndex2 === -1) {\n keyIndex2 = url.indexOf(`&${key}`, 8);\n }\n while (keyIndex2 !== -1) {\n const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);\n if (trailingKeyCode === 61) {\n const valueIndex = keyIndex2 + key.length + 2;\n const endIndex = url.indexOf(\"&\", valueIndex);\n return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));\n } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) {\n return \"\";\n }\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n encoded = /[%+]/.test(url);\n if (!encoded) {\n return void 0;\n }\n }\n const results = {};\n encoded ??= /[%+]/.test(url);\n let keyIndex = url.indexOf(\"?\", 8);\n while (keyIndex !== -1) {\n const nextKeyIndex = url.indexOf(\"&\", keyIndex + 1);\n let valueIndex = url.indexOf(\"=\", keyIndex);\n if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) {\n valueIndex = -1;\n }\n let name = url.slice(\n keyIndex + 1,\n valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex\n );\n if (encoded) {\n name = _decodeURI(name);\n }\n keyIndex = nextKeyIndex;\n if (name === \"\") {\n continue;\n }\n let value;\n if (valueIndex === -1) {\n value = \"\";\n } else {\n value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);\n if (encoded) {\n value = _decodeURI(value);\n }\n }\n if (multiple) {\n if (!(results[name] && Array.isArray(results[name]))) {\n results[name] = [];\n }\n ;\n results[name].push(value);\n } else {\n results[name] ??= value;\n }\n }\n return key ? results[key] : results;\n};\nvar getQueryParam = _getQueryParam;\nvar getQueryParams = (url, key) => {\n return _getQueryParam(url, key, true);\n};\nvar decodeURIComponent_ = decodeURIComponent;\nexport {\n checkOptionalParameter,\n decodeURIComponent_,\n getPath,\n getPathNoStrict,\n getPattern,\n getQueryParam,\n getQueryParams,\n getQueryStrings,\n mergePath,\n splitPath,\n splitRoutingPath\n};\n", "// src/request.ts\nimport { parseBody } from \"./utils/body.js\";\nimport { decodeURIComponent_, getQueryParam, getQueryParams } from \"./utils/url.js\";\nvar HonoRequest = class {\n raw;\n #validatedData;\n #matchResult;\n routeIndex = 0;\n path;\n bodyCache = {};\n constructor(request, path = \"/\", matchResult = [[]]) {\n this.raw = request;\n this.path = path;\n this.#matchResult = matchResult;\n this.#validatedData = {};\n }\n param(key) {\n return key ? this.getDecodedParam(key) : this.getAllDecodedParams();\n }\n getDecodedParam(key) {\n const paramKey = this.#matchResult[0][this.routeIndex][1][key];\n const param = this.getParamValue(paramKey);\n return param ? /\\%/.test(param) ? decodeURIComponent_(param) : param : void 0;\n }\n getAllDecodedParams() {\n const decoded = {};\n const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);\n for (const key of keys) {\n const value = this.getParamValue(this.#matchResult[0][this.routeIndex][1][key]);\n if (value && typeof value === \"string\") {\n decoded[key] = /\\%/.test(value) ? decodeURIComponent_(value) : value;\n }\n }\n return decoded;\n }\n getParamValue(paramKey) {\n return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey;\n }\n query(key) {\n return getQueryParam(this.url, key);\n }\n queries(key) {\n return getQueryParams(this.url, key);\n }\n header(name) {\n if (name) {\n return this.raw.headers.get(name.toLowerCase()) ?? void 0;\n }\n const headerData = {};\n this.raw.headers.forEach((value, key) => {\n headerData[key] = value;\n });\n return headerData;\n }\n async parseBody(options) {\n return this.bodyCache.parsedBody ??= await parseBody(this, options);\n }\n cachedBody = (key) => {\n const { bodyCache, raw } = this;\n const cachedBody = bodyCache[key];\n if (cachedBody) {\n return cachedBody;\n }\n const anyCachedKey = Object.keys(bodyCache)[0];\n if (anyCachedKey) {\n return bodyCache[anyCachedKey].then((body) => {\n if (anyCachedKey === \"json\") {\n body = JSON.stringify(body);\n }\n return new Response(body)[key]();\n });\n }\n return bodyCache[key] = raw[key]();\n };\n json() {\n return this.cachedBody(\"json\");\n }\n text() {\n return this.cachedBody(\"text\");\n }\n arrayBuffer() {\n return this.cachedBody(\"arrayBuffer\");\n }\n blob() {\n return this.cachedBody(\"blob\");\n }\n formData() {\n return this.cachedBody(\"formData\");\n }\n addValidatedData(target, data) {\n this.#validatedData[target] = data;\n }\n valid(target) {\n return this.#validatedData[target];\n }\n get url() {\n return this.raw.url;\n }\n get method() {\n return this.raw.method;\n }\n get matchedRoutes() {\n return this.#matchResult[0].map(([[, route]]) => route);\n }\n get routePath() {\n return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path;\n }\n};\nexport {\n HonoRequest\n};\n", "// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \""\";\n break;\n case 39:\n escape = \"'\";\n break;\n case 38:\n escape = \"&\";\n break;\n case 60:\n escape = \"<\";\n break;\n case 62:\n escape = \">\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n", "// src/context.ts\nimport { HonoRequest } from \"./request.js\";\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"./utils/html.js\";\nvar TEXT_PLAIN = \"text/plain; charset=UTF-8\";\nvar setHeaders = (headers, map = {}) => {\n Object.entries(map).forEach(([key, value]) => headers.set(key, value));\n return headers;\n};\nvar Context = class {\n #rawRequest;\n #req;\n env = {};\n #var;\n finalized = false;\n error;\n #status = 200;\n #executionCtx;\n #headers;\n #preparedHeaders;\n #res;\n #isFresh = true;\n #layout;\n #renderer;\n #notFoundHandler;\n #matchResult;\n #path;\n constructor(req, options) {\n this.#rawRequest = req;\n if (options) {\n this.#executionCtx = options.executionCtx;\n this.env = options.env;\n this.#notFoundHandler = options.notFoundHandler;\n this.#path = options.path;\n this.#matchResult = options.matchResult;\n }\n }\n get req() {\n this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);\n return this.#req;\n }\n get event() {\n if (this.#executionCtx && \"respondWith\" in this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no FetchEvent\");\n }\n }\n get executionCtx() {\n if (this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no ExecutionContext\");\n }\n }\n get res() {\n this.#isFresh = false;\n return this.#res ||= new Response(\"404 Not Found\", { status: 404 });\n }\n set res(_res) {\n this.#isFresh = false;\n if (this.#res && _res) {\n try {\n for (const [k, v] of this.#res.headers.entries()) {\n if (k === \"content-type\") {\n continue;\n }\n if (k === \"set-cookie\") {\n const cookies = this.#res.headers.getSetCookie();\n _res.headers.delete(\"set-cookie\");\n for (const cookie of cookies) {\n _res.headers.append(\"set-cookie\", cookie);\n }\n } else {\n _res.headers.set(k, v);\n }\n }\n } catch (e) {\n if (e instanceof TypeError && e.message.includes(\"immutable\")) {\n this.res = new Response(_res.body, {\n headers: _res.headers,\n status: _res.status\n });\n return;\n } else {\n throw e;\n }\n }\n }\n this.#res = _res;\n this.finalized = true;\n }\n render = (...args) => {\n this.#renderer ??= (content) => this.html(content);\n return this.#renderer(...args);\n };\n setLayout = (layout) => this.#layout = layout;\n getLayout = () => this.#layout;\n setRenderer = (renderer) => {\n this.#renderer = renderer;\n };\n header = (name, value, options) => {\n if (value === void 0) {\n if (this.#headers) {\n this.#headers.delete(name);\n } else if (this.#preparedHeaders) {\n delete this.#preparedHeaders[name.toLocaleLowerCase()];\n }\n if (this.finalized) {\n this.res.headers.delete(name);\n }\n return;\n }\n if (options?.append) {\n if (!this.#headers) {\n this.#isFresh = false;\n this.#headers = new Headers(this.#preparedHeaders);\n this.#preparedHeaders = {};\n }\n this.#headers.append(name, value);\n } else {\n if (this.#headers) {\n this.#headers.set(name, value);\n } else {\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[name.toLowerCase()] = value;\n }\n }\n if (this.finalized) {\n if (options?.append) {\n this.res.headers.append(name, value);\n } else {\n this.res.headers.set(name, value);\n }\n }\n };\n status = (status) => {\n this.#isFresh = false;\n this.#status = status;\n };\n set = (key, value) => {\n this.#var ??= /* @__PURE__ */ new Map();\n this.#var.set(key, value);\n };\n get = (key) => {\n return this.#var ? this.#var.get(key) : void 0;\n };\n get var() {\n if (!this.#var) {\n return {};\n }\n return Object.fromEntries(this.#var);\n }\n newResponse = (data, arg, headers) => {\n if (this.#isFresh && !headers && !arg && this.#status === 200) {\n return new Response(data, {\n headers: this.#preparedHeaders\n });\n }\n if (arg && typeof arg !== \"number\") {\n const header = new Headers(arg.headers);\n if (this.#headers) {\n this.#headers.forEach((v, k) => {\n if (k === \"set-cookie\") {\n header.append(k, v);\n } else {\n header.set(k, v);\n }\n });\n }\n const headers2 = setHeaders(header, this.#preparedHeaders);\n return new Response(data, {\n headers: headers2,\n status: arg.status ?? this.#status\n });\n }\n const status = typeof arg === \"number\" ? arg : this.#status;\n this.#preparedHeaders ??= {};\n this.#headers ??= new Headers();\n setHeaders(this.#headers, this.#preparedHeaders);\n if (this.#res) {\n this.#res.headers.forEach((v, k) => {\n if (k === \"set-cookie\") {\n this.#headers?.append(k, v);\n } else {\n this.#headers?.set(k, v);\n }\n });\n setHeaders(this.#headers, this.#preparedHeaders);\n }\n headers ??= {};\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === \"string\") {\n this.#headers.set(k, v);\n } else {\n this.#headers.delete(k);\n for (const v2 of v) {\n this.#headers.append(k, v2);\n }\n }\n }\n return new Response(data, {\n status,\n headers: this.#headers\n });\n };\n body = (data, arg, headers) => {\n return typeof arg === \"number\" ? this.newResponse(data, arg, headers) : this.newResponse(data, arg);\n };\n text = (text, arg, headers) => {\n if (!this.#preparedHeaders) {\n if (this.#isFresh && !headers && !arg) {\n return new Response(text);\n }\n this.#preparedHeaders = {};\n }\n this.#preparedHeaders[\"content-type\"] = TEXT_PLAIN;\n return typeof arg === \"number\" ? this.newResponse(text, arg, headers) : this.newResponse(text, arg);\n };\n json = (object, arg, headers) => {\n const body = JSON.stringify(object);\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[\"content-type\"] = \"application/json; charset=UTF-8\";\n return typeof arg === \"number\" ? this.newResponse(body, arg, headers) : this.newResponse(body, arg);\n };\n html = (html, arg, headers) => {\n this.#preparedHeaders ??= {};\n this.#preparedHeaders[\"content-type\"] = \"text/html; charset=UTF-8\";\n if (typeof html === \"object\") {\n return resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then((html2) => {\n return typeof arg === \"number\" ? this.newResponse(html2, arg, headers) : this.newResponse(html2, arg);\n });\n }\n return typeof arg === \"number\" ? this.newResponse(html, arg, headers) : this.newResponse(html, arg);\n };\n redirect = (location, status) => {\n this.#headers ??= new Headers();\n this.#headers.set(\"Location\", location);\n return this.newResponse(null, status ?? 302);\n };\n notFound = () => {\n this.#notFoundHandler ??= () => new Response();\n return this.#notFoundHandler(this);\n };\n};\nexport {\n Context,\n TEXT_PLAIN\n};\n", "// src/compose.ts\nimport { Context } from \"./context.js\";\nvar compose = (middleware, onError, onNotFound) => {\n return (context, next) => {\n let index = -1;\n return dispatch(0);\n async function dispatch(i) {\n if (i <= index) {\n throw new Error(\"next() called multiple times\");\n }\n index = i;\n let res;\n let isError = false;\n let handler;\n if (middleware[i]) {\n handler = middleware[i][0][0];\n if (context instanceof Context) {\n context.req.routeIndex = i;\n }\n } else {\n handler = i === middleware.length && next || void 0;\n }\n if (!handler) {\n if (context instanceof Context && context.finalized === false && onNotFound) {\n res = await onNotFound(context);\n }\n } else {\n try {\n res = await handler(context, () => {\n return dispatch(i + 1);\n });\n } catch (err) {\n if (err instanceof Error && context instanceof Context && onError) {\n context.error = err;\n res = await onError(err, context);\n isError = true;\n } else {\n throw err;\n }\n }\n }\n if (res && (context.finalized === false || isError)) {\n context.res = res;\n }\n return context;\n }\n };\n};\nexport {\n compose\n};\n", "// src/router.ts\nvar METHOD_NAME_ALL = \"ALL\";\nvar METHOD_NAME_ALL_LOWERCASE = \"all\";\nvar METHODS = [\"get\", \"post\", \"put\", \"delete\", \"options\", \"patch\"];\nvar MESSAGE_MATCHER_IS_ALREADY_BUILT = \"Can not add a route since the matcher is already built.\";\nvar UnsupportedPathError = class extends Error {\n};\nexport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHODS,\n METHOD_NAME_ALL,\n METHOD_NAME_ALL_LOWERCASE,\n UnsupportedPathError\n};\n", "// src/hono-base.ts\nimport { compose } from \"./compose.js\";\nimport { Context } from \"./context.js\";\nimport { METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE } from \"./router.js\";\nimport { getPath, getPathNoStrict, mergePath } from \"./utils/url.js\";\nvar COMPOSED_HANDLER = Symbol(\"composedHandler\");\nvar notFoundHandler = (c) => {\n return c.text(\"404 Not Found\", 404);\n};\nvar errorHandler = (err, c) => {\n if (\"getResponse\" in err) {\n return err.getResponse();\n }\n console.error(err);\n return c.text(\"Internal Server Error\", 500);\n};\nvar Hono = class {\n get;\n post;\n put;\n delete;\n options;\n patch;\n all;\n on;\n use;\n router;\n getPath;\n _basePath = \"/\";\n #path = \"/\";\n routes = [];\n constructor(options = {}) {\n const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE];\n allMethods.forEach((method) => {\n this[method] = (args1, ...args) => {\n if (typeof args1 === \"string\") {\n this.#path = args1;\n } else {\n this.addRoute(method, this.#path, args1);\n }\n args.forEach((handler) => {\n if (typeof handler !== \"string\") {\n this.addRoute(method, this.#path, handler);\n }\n });\n return this;\n };\n });\n this.on = (method, path, ...handlers) => {\n for (const p of [path].flat()) {\n this.#path = p;\n for (const m of [method].flat()) {\n handlers.map((handler) => {\n this.addRoute(m.toUpperCase(), this.#path, handler);\n });\n }\n }\n return this;\n };\n this.use = (arg1, ...handlers) => {\n if (typeof arg1 === \"string\") {\n this.#path = arg1;\n } else {\n this.#path = \"*\";\n handlers.unshift(arg1);\n }\n handlers.forEach((handler) => {\n this.addRoute(METHOD_NAME_ALL, this.#path, handler);\n });\n return this;\n };\n const strict = options.strict ?? true;\n delete options.strict;\n Object.assign(this, options);\n this.getPath = strict ? options.getPath ?? getPath : getPathNoStrict;\n }\n clone() {\n const clone = new Hono({\n router: this.router,\n getPath: this.getPath\n });\n clone.routes = this.routes;\n return clone;\n }\n notFoundHandler = notFoundHandler;\n errorHandler = errorHandler;\n route(path, app) {\n const subApp = this.basePath(path);\n app.routes.map((r) => {\n let handler;\n if (app.errorHandler === errorHandler) {\n handler = r.handler;\n } else {\n handler = async (c, next) => (await compose([], app.errorHandler)(c, () => r.handler(c, next))).res;\n handler[COMPOSED_HANDLER] = r.handler;\n }\n subApp.addRoute(r.method, r.path, handler);\n });\n return this;\n }\n basePath(path) {\n const subApp = this.clone();\n subApp._basePath = mergePath(this._basePath, path);\n return subApp;\n }\n onError = (handler) => {\n this.errorHandler = handler;\n return this;\n };\n notFound = (handler) => {\n this.notFoundHandler = handler;\n return this;\n };\n mount(path, applicationHandler, options) {\n let replaceRequest;\n let optionHandler;\n if (options) {\n if (typeof options === \"function\") {\n optionHandler = options;\n } else {\n optionHandler = options.optionHandler;\n replaceRequest = options.replaceRequest;\n }\n }\n const getOptions = optionHandler ? (c) => {\n const options2 = optionHandler(c);\n return Array.isArray(options2) ? options2 : [options2];\n } : (c) => {\n let executionContext = void 0;\n try {\n executionContext = c.executionCtx;\n } catch {\n }\n return [c.env, executionContext];\n };\n replaceRequest ||= (() => {\n const mergedPath = mergePath(this._basePath, path);\n const pathPrefixLength = mergedPath === \"/\" ? 0 : mergedPath.length;\n return (request) => {\n const url = new URL(request.url);\n url.pathname = url.pathname.slice(pathPrefixLength) || \"/\";\n return new Request(url, request);\n };\n })();\n const handler = async (c, next) => {\n const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));\n if (res) {\n return res;\n }\n await next();\n };\n this.addRoute(METHOD_NAME_ALL, mergePath(path, \"*\"), handler);\n return this;\n }\n addRoute(method, path, handler) {\n method = method.toUpperCase();\n path = mergePath(this._basePath, path);\n const r = { path, method, handler };\n this.router.add(method, path, [handler, r]);\n this.routes.push(r);\n }\n matchRoute(method, path) {\n return this.router.match(method, path);\n }\n handleError(err, c) {\n if (err instanceof Error) {\n return this.errorHandler(err, c);\n }\n throw err;\n }\n dispatch(request, executionCtx, env, method) {\n if (method === \"HEAD\") {\n return (async () => new Response(null, await this.dispatch(request, executionCtx, env, \"GET\")))();\n }\n const path = this.getPath(request, { env });\n const matchResult = this.matchRoute(method, path);\n const c = new Context(request, {\n path,\n matchResult,\n env,\n executionCtx,\n notFoundHandler: this.notFoundHandler\n });\n if (matchResult[0].length === 1) {\n let res;\n try {\n res = matchResult[0][0][0][0](c, async () => {\n c.res = await this.notFoundHandler(c);\n });\n } catch (err) {\n return this.handleError(err, c);\n }\n return res instanceof Promise ? res.then(\n (resolved) => resolved || (c.finalized ? c.res : this.notFoundHandler(c))\n ).catch((err) => this.handleError(err, c)) : res ?? this.notFoundHandler(c);\n }\n const composed = compose(matchResult[0], this.errorHandler, this.notFoundHandler);\n return (async () => {\n try {\n const context = await composed(c);\n if (!context.finalized) {\n throw new Error(\n \"Context is not finalized. Did you forget to return a Response object or `await next()`?\"\n );\n }\n return context.res;\n } catch (err) {\n return this.handleError(err, c);\n }\n })();\n }\n fetch = (request, ...rest) => {\n return this.dispatch(request, rest[1], rest[0], request.method);\n };\n request = (input, requestInit, Env, executionCtx) => {\n if (input instanceof Request) {\n if (requestInit !== void 0) {\n input = new Request(input, requestInit);\n }\n return this.fetch(input, Env, executionCtx);\n }\n input = input.toString();\n const path = /^https?:\\/\\//.test(input) ? input : `http://localhost${mergePath(\"/\", input)}`;\n const req = new Request(path, requestInit);\n return this.fetch(req, Env, executionCtx);\n };\n fire = () => {\n addEventListener(\"fetch\", (event) => {\n event.respondWith(this.dispatch(event.request, event, void 0, event.request.method));\n });\n };\n};\nexport {\n COMPOSED_HANDLER,\n Hono as HonoBase\n};\n", "// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class {\n index;\n varIndex;\n children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.children[regexpStr];\n if (!node) {\n if (Object.keys(this.children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.children[regexpStr] = new Node();\n if (name !== \"\") {\n node.varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.varIndex]);\n }\n } else {\n node = this.children[token];\n if (!node) {\n if (Object.keys(this.children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.children[token] = new Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.children[k];\n return (typeof c.varIndex === \"number\" ? `(${k})@${c.varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.index === \"number\") {\n strList.unshift(`#${this.index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n", "// src/router/reg-exp-router/trie.ts\nimport { Node } from \"./node.js\";\nvar Trie = class {\n context = { varIndex: 0 };\n root = new Node();\n insert(path, index, pathErrorCheckOnly) {\n const paramAssoc = [];\n const groups = [];\n for (let i = 0; ; ) {\n let replaced = false;\n path = path.replace(/\\{[^}]+\\}/g, (m) => {\n const mark = `@\\\\${i}`;\n groups[i] = [mark, m];\n i++;\n replaced = true;\n return mark;\n });\n if (!replaced) {\n break;\n }\n }\n const tokens = path.match(/(?::[^\\/]+)|(?:\\/\\*$)|./g) || [];\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = tokens.length - 1; j >= 0; j--) {\n if (tokens[j].indexOf(mark) !== -1) {\n tokens[j] = tokens[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n this.root.insert(tokens, index, paramAssoc, this.context, pathErrorCheckOnly);\n return paramAssoc;\n }\n buildRegExp() {\n let regexp = this.root.buildRegExpStr();\n if (regexp === \"\") {\n return [/^$/, [], []];\n }\n let captureIndex = 0;\n const indexReplacementMap = [];\n const paramReplacementMap = [];\n regexp = regexp.replace(/#(\\d+)|@(\\d+)|\\.\\*\\$/g, (_, handlerIndex, paramIndex) => {\n if (typeof handlerIndex !== \"undefined\") {\n indexReplacementMap[++captureIndex] = Number(handlerIndex);\n return \"$()\";\n }\n if (typeof paramIndex !== \"undefined\") {\n paramReplacementMap[Number(paramIndex)] = ++captureIndex;\n return \"\";\n }\n return \"\";\n });\n return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap];\n }\n};\nexport {\n Trie\n};\n", "// src/router/reg-exp-router/router.ts\nimport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHOD_NAME_ALL,\n UnsupportedPathError\n} from \"../../router.js\";\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { PATH_ERROR } from \"./node.js\";\nimport { Trie } from \"./trie.js\";\nvar emptyParam = [];\nvar nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];\nvar wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\nfunction buildWildcardRegExp(path) {\n return wildcardRegExpCache[path] ??= new RegExp(\n path === \"*\" ? \"\" : `^${path.replace(\n /\\/\\*$|([.\\\\+*[^\\]$()])/g,\n (_, metaChar) => metaChar ? `\\\\${metaChar}` : \"(?:|/.*)\"\n )}$`\n );\n}\nfunction clearWildcardRegExpCache() {\n wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\n}\nfunction buildMatcherFromPreprocessedRoutes(routes) {\n const trie = new Trie();\n const handlerData = [];\n if (routes.length === 0) {\n return nullMatcher;\n }\n const routesWithStaticPathFlag = routes.map(\n (route) => [!/\\*|\\/:/.test(route[0]), ...route]\n ).sort(\n ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length\n );\n const staticMap = /* @__PURE__ */ Object.create(null);\n for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) {\n const [pathErrorCheckOnly, path, handlers] = routesWithStaticPathFlag[i];\n if (pathErrorCheckOnly) {\n staticMap[path] = [handlers.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam];\n } else {\n j++;\n }\n let paramAssoc;\n try {\n paramAssoc = trie.insert(path, j, pathErrorCheckOnly);\n } catch (e) {\n throw e === PATH_ERROR ? new UnsupportedPathError(path) : e;\n }\n if (pathErrorCheckOnly) {\n continue;\n }\n handlerData[j] = handlers.map(([h, paramCount]) => {\n const paramIndexMap = /* @__PURE__ */ Object.create(null);\n paramCount -= 1;\n for (; paramCount >= 0; paramCount--) {\n const [key, value] = paramAssoc[paramCount];\n paramIndexMap[key] = value;\n }\n return [h, paramIndexMap];\n });\n }\n const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();\n for (let i = 0, len = handlerData.length; i < len; i++) {\n for (let j = 0, len2 = handlerData[i].length; j < len2; j++) {\n const map = handlerData[i][j]?.[1];\n if (!map) {\n continue;\n }\n const keys = Object.keys(map);\n for (let k = 0, len3 = keys.length; k < len3; k++) {\n map[keys[k]] = paramReplacementMap[map[keys[k]]];\n }\n }\n }\n const handlerMap = [];\n for (const i in indexReplacementMap) {\n handlerMap[i] = handlerData[indexReplacementMap[i]];\n }\n return [regexp, handlerMap, staticMap];\n}\nfunction findMiddleware(middleware, path) {\n if (!middleware) {\n return void 0;\n }\n for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) {\n if (buildWildcardRegExp(k).test(path)) {\n return [...middleware[k]];\n }\n }\n return void 0;\n}\nvar RegExpRouter = class {\n name = \"RegExpRouter\";\n middleware;\n routes;\n constructor() {\n this.middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n this.routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n }\n add(method, path, handler) {\n const { middleware, routes } = this;\n if (!middleware || !routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n if (!middleware[method]) {\n ;\n [middleware, routes].forEach((handlerMap) => {\n handlerMap[method] = /* @__PURE__ */ Object.create(null);\n Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => {\n handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]];\n });\n });\n }\n if (path === \"/*\") {\n path = \"*\";\n }\n const paramCount = (path.match(/\\/:/g) || []).length;\n if (/\\*$/.test(path)) {\n const re = buildWildcardRegExp(path);\n if (method === METHOD_NAME_ALL) {\n Object.keys(middleware).forEach((m) => {\n middleware[m][path] ||= findMiddleware(middleware[m], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n });\n } else {\n middleware[method][path] ||= findMiddleware(middleware[method], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n }\n Object.keys(middleware).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(middleware[m]).forEach((p) => {\n re.test(p) && middleware[m][p].push([handler, paramCount]);\n });\n }\n });\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(routes[m]).forEach(\n (p) => re.test(p) && routes[m][p].push([handler, paramCount])\n );\n }\n });\n return;\n }\n const paths = checkOptionalParameter(path) || [path];\n for (let i = 0, len = paths.length; i < len; i++) {\n const path2 = paths[i];\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n routes[m][path2] ||= [\n ...findMiddleware(middleware[m], path2) || findMiddleware(middleware[METHOD_NAME_ALL], path2) || []\n ];\n routes[m][path2].push([handler, paramCount - len + i + 1]);\n }\n });\n }\n }\n match(method, path) {\n clearWildcardRegExpCache();\n const matchers = this.buildAllMatchers();\n this.match = (method2, path2) => {\n const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];\n const staticMatch = matcher[2][path2];\n if (staticMatch) {\n return staticMatch;\n }\n const match = path2.match(matcher[0]);\n if (!match) {\n return [[], emptyParam];\n }\n const index = match.indexOf(\"\", 1);\n return [matcher[1][index], match];\n };\n return this.match(method, path);\n }\n buildAllMatchers() {\n const matchers = /* @__PURE__ */ Object.create(null);\n [...Object.keys(this.routes), ...Object.keys(this.middleware)].forEach((method) => {\n matchers[method] ||= this.buildMatcher(method);\n });\n this.middleware = this.routes = void 0;\n return matchers;\n }\n buildMatcher(method) {\n const routes = [];\n let hasOwnRoute = method === METHOD_NAME_ALL;\n [this.middleware, this.routes].forEach((r) => {\n const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) : [];\n if (ownRoute.length !== 0) {\n hasOwnRoute ||= true;\n routes.push(...ownRoute);\n } else if (method !== METHOD_NAME_ALL) {\n routes.push(\n ...Object.keys(r[METHOD_NAME_ALL]).map((path) => [path, r[METHOD_NAME_ALL][path]])\n );\n }\n });\n if (!hasOwnRoute) {\n return null;\n } else {\n return buildMatcherFromPreprocessedRoutes(routes);\n }\n }\n};\nexport {\n RegExpRouter\n};\n", "// src/router/smart-router/router.ts\nimport { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from \"../../router.js\";\nvar SmartRouter = class {\n name = \"SmartRouter\";\n routers = [];\n routes = [];\n constructor(init) {\n Object.assign(this, init);\n }\n add(method, path, handler) {\n if (!this.routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n this.routes.push([method, path, handler]);\n }\n match(method, path) {\n if (!this.routes) {\n throw new Error(\"Fatal error\");\n }\n const { routers, routes } = this;\n const len = routers.length;\n let i = 0;\n let res;\n for (; i < len; i++) {\n const router = routers[i];\n try {\n routes.forEach((args) => {\n router.add(...args);\n });\n res = router.match(method, path);\n } catch (e) {\n if (e instanceof UnsupportedPathError) {\n continue;\n }\n throw e;\n }\n this.match = router.match.bind(router);\n this.routers = [router];\n this.routes = void 0;\n break;\n }\n if (i === len) {\n throw new Error(\"Fatal error\");\n }\n this.name = `SmartRouter + ${this.activeRouter.name}`;\n return res;\n }\n get activeRouter() {\n if (this.routes || this.routers.length !== 1) {\n throw new Error(\"No active router has been determined yet.\");\n }\n return this.routers[0];\n }\n};\nexport {\n SmartRouter\n};\n", "// src/router/trie-router/node.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { getPattern, splitPath, splitRoutingPath } from \"../../utils/url.js\";\nvar Node = class {\n methods;\n children;\n patterns;\n order = 0;\n name;\n params = /* @__PURE__ */ Object.create(null);\n constructor(method, handler, children) {\n this.children = children || /* @__PURE__ */ Object.create(null);\n this.methods = [];\n this.name = \"\";\n if (method && handler) {\n const m = /* @__PURE__ */ Object.create(null);\n m[method] = { handler, possibleKeys: [], score: 0, name: this.name };\n this.methods = [m];\n }\n this.patterns = [];\n }\n insert(method, path, handler) {\n this.name = `${method} ${path}`;\n this.order = ++this.order;\n let curNode = this;\n const parts = splitRoutingPath(path);\n const possibleKeys = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const p = parts[i];\n if (Object.keys(curNode.children).includes(p)) {\n curNode = curNode.children[p];\n const pattern2 = getPattern(p);\n if (pattern2) {\n possibleKeys.push(pattern2[1]);\n }\n continue;\n }\n curNode.children[p] = new Node();\n const pattern = getPattern(p);\n if (pattern) {\n curNode.patterns.push(pattern);\n possibleKeys.push(pattern[1]);\n }\n curNode = curNode.children[p];\n }\n if (!curNode.methods.length) {\n curNode.methods = [];\n }\n const m = /* @__PURE__ */ Object.create(null);\n const handlerSet = {\n handler,\n possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i),\n name: this.name,\n score: this.order\n };\n m[method] = handlerSet;\n curNode.methods.push(m);\n return curNode;\n }\n gHSets(node, method, nodeParams, params) {\n const handlerSets = [];\n for (let i = 0, len = node.methods.length; i < len; i++) {\n const m = node.methods[i];\n const handlerSet = m[method] || m[METHOD_NAME_ALL];\n const processedSet = /* @__PURE__ */ Object.create(null);\n if (handlerSet !== void 0) {\n handlerSet.params = /* @__PURE__ */ Object.create(null);\n handlerSet.possibleKeys.forEach((key) => {\n const processed = processedSet[handlerSet.name];\n handlerSet.params[key] = params[key] && !processed ? params[key] : nodeParams[key] ?? params[key];\n processedSet[handlerSet.name] = true;\n });\n handlerSets.push(handlerSet);\n }\n }\n return handlerSets;\n }\n search(method, path) {\n const handlerSets = [];\n this.params = /* @__PURE__ */ Object.create(null);\n const curNode = this;\n let curNodes = [curNode];\n const parts = splitPath(path);\n for (let i = 0, len = parts.length; i < len; i++) {\n const part = parts[i];\n const isLast = i === len - 1;\n const tempNodes = [];\n for (let j = 0, len2 = curNodes.length; j < len2; j++) {\n const node = curNodes[j];\n const nextNode = node.children[part];\n if (nextNode) {\n nextNode.params = node.params;\n if (isLast === true) {\n if (nextNode.children[\"*\"]) {\n handlerSets.push(\n ...this.gHSets(nextNode.children[\"*\"], method, node.params, /* @__PURE__ */ Object.create(null))\n );\n }\n handlerSets.push(...this.gHSets(nextNode, method, node.params, /* @__PURE__ */ Object.create(null)));\n } else {\n tempNodes.push(nextNode);\n }\n }\n for (let k = 0, len3 = node.patterns.length; k < len3; k++) {\n const pattern = node.patterns[k];\n const params = { ...node.params };\n if (pattern === \"*\") {\n const astNode = node.children[\"*\"];\n if (astNode) {\n handlerSets.push(...this.gHSets(astNode, method, node.params, /* @__PURE__ */ Object.create(null)));\n tempNodes.push(astNode);\n }\n continue;\n }\n if (part === \"\") {\n continue;\n }\n const [key, name, matcher] = pattern;\n const child = node.children[key];\n const restPathString = parts.slice(i).join(\"/\");\n if (matcher instanceof RegExp && matcher.test(restPathString)) {\n params[name] = restPathString;\n handlerSets.push(...this.gHSets(child, method, node.params, params));\n continue;\n }\n if (matcher === true || matcher instanceof RegExp && matcher.test(part)) {\n if (typeof key === \"string\") {\n params[name] = part;\n if (isLast === true) {\n handlerSets.push(...this.gHSets(child, method, params, node.params));\n if (child.children[\"*\"]) {\n handlerSets.push(...this.gHSets(child.children[\"*\"], method, params, node.params));\n }\n } else {\n child.params = params;\n tempNodes.push(child);\n }\n }\n }\n }\n }\n curNodes = tempNodes;\n }\n const results = handlerSets.sort((a, b) => {\n return a.score - b.score;\n });\n return [results.map(({ handler, params }) => [handler, params])];\n }\n};\nexport {\n Node\n};\n", "// src/router/trie-router/router.ts\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { Node } from \"./node.js\";\nvar TrieRouter = class {\n name = \"TrieRouter\";\n node;\n constructor() {\n this.node = new Node();\n }\n add(method, path, handler) {\n const results = checkOptionalParameter(path);\n if (results) {\n for (const p of results) {\n this.node.insert(method, p, handler);\n }\n return;\n }\n this.node.insert(method, path, handler);\n }\n match(method, path) {\n return this.node.search(method, path);\n }\n};\nexport {\n TrieRouter\n};\n", "// src/hono.ts\nimport { HonoBase } from \"./hono-base.js\";\nimport { RegExpRouter } from \"./router/reg-exp-router/index.js\";\nimport { SmartRouter } from \"./router/smart-router/index.js\";\nimport { TrieRouter } from \"./router/trie-router/index.js\";\nvar Hono = class extends HonoBase {\n constructor(options = {}) {\n super(options);\n this.router = options.router ?? new SmartRouter({\n routers: [new RegExpRouter(), new TrieRouter()]\n });\n }\n};\nexport {\n Hono\n};\n", "import { filterCompatibleAppVersions } from \"@hot-updater/js\";\n\nimport {\n type GetBundlesArgs,\n NIL_UUID,\n type UpdateInfo,\n type UpdateStatus,\n} from \"@hot-updater/core\";\n\nexport const getUpdateInfo = async (\n DB: D1Database,\n {\n platform,\n appVersion,\n bundleId,\n minBundleId = NIL_UUID,\n channel = \"production\",\n }: GetBundlesArgs,\n) => {\n const appVersionList = await DB.prepare(\n /* sql */ `\n SELECT \n target_app_version\n FROM bundles\n WHERE platform = ?\n GROUP BY target_app_version\n `,\n )\n .bind(platform)\n .all<{ target_app_version: string; count: number }>();\n\n const targetAppVersionList = filterCompatibleAppVersions(\n appVersionList.results.map((group) => group.target_app_version),\n appVersion,\n );\n\n const sql = /* sql */ `\n WITH input AS (\n SELECT \n ? AS app_platform,\n ? AS app_version,\n ? AS bundle_id,\n ? AS min_bundle_id,\n ? AS channel,\n '00000000-0000-0000-0000-000000000000' AS nil_uuid\n ),\n update_candidate AS (\n SELECT \n b.id,\n b.should_force_update,\n b.message,\n 'UPDATE' AS status\n FROM bundles b, input\n WHERE b.enabled = 1\n AND b.platform = input.app_platform\n AND b.id >= input.bundle_id\n AND b.id >= input.min_bundle_id\n AND b.channel = input.channel\n AND b.target_app_version IN (${targetAppVersionList\n .map((version) => `'${version}'`)\n .join(\",\")})\n ORDER BY b.id DESC \n LIMIT 1\n ),\n rollback_candidate AS (\n SELECT \n b.id,\n 1 AS should_force_update,\n b.message,\n 'ROLLBACK' AS status\n FROM bundles b, input\n WHERE b.enabled = 1\n AND b.platform = input.app_platform\n AND b.id < input.bundle_id\n AND b.id >= input.min_bundle_id\n ORDER BY b.id DESC\n LIMIT 1\n ),\n final_result AS (\n SELECT * FROM update_candidate\n UNION ALL\n SELECT * FROM rollback_candidate\n WHERE NOT EXISTS (SELECT 1 FROM update_candidate)\n )\n SELECT id, should_force_update, message, status\n FROM final_result, input\n WHERE id <> bundle_id\n \n UNION ALL\n \n SELECT \n nil_uuid AS id,\n 1 AS should_force_update,\n NULL AS message,\n 'ROLLBACK' AS status\n FROM input\n WHERE (SELECT COUNT(*) FROM final_result) = 0\n AND bundle_id > min_bundle_id;\n`;\n\n const result = await DB.prepare(sql)\n .bind(platform, appVersion, bundleId, minBundleId, channel)\n .first<{\n id: string;\n should_force_update: number;\n status: UpdateStatus;\n message: string | null;\n }>();\n\n if (!result) {\n return null;\n }\n\n return {\n id: result.id,\n shouldForceUpdate: Boolean(result.should_force_update),\n status: result.status,\n message: result.message,\n } as UpdateInfo;\n};\n", "import { NIL_UUID } from \"@hot-updater/core\";\nimport { verifyJwtSignedUrl, withJwtSignedUrl } from \"@hot-updater/js\";\nimport { Hono } from \"hono\";\nimport { getUpdateInfo } from \"./getUpdateInfo\";\n\ntype Env = {\n DB: D1Database;\n BUCKET: R2Bucket;\n JWT_SECRET: string;\n};\n\nconst app = new Hono<{ Bindings: Env }>();\n\napp.get(\"/api/check-update\", async (c) => {\n const bundleId = c.req.header(\"x-bundle-id\") as string;\n const appPlatform = c.req.header(\"x-app-platform\") as \"ios\" | \"android\";\n const appVersion = c.req.header(\"x-app-version\") as string;\n const minBundleId = c.req.header(\"x-min-bundle-id\") as string | undefined;\n const channel = c.req.header(\"x-channel\") as string | undefined;\n\n if (!bundleId || !appPlatform || !appVersion) {\n return c.json(\n { error: \"Missing bundleId, appPlatform, or appVersion\" },\n 400,\n );\n }\n\n const updateInfo = await getUpdateInfo(c.env.DB, {\n appVersion,\n bundleId,\n platform: appPlatform,\n minBundleId: minBundleId || NIL_UUID,\n channel: channel || \"production\",\n });\n\n const appUpdateInfo = await withJwtSignedUrl({\n data: updateInfo,\n reqUrl: c.req.url,\n jwtSecret: c.env.JWT_SECRET,\n });\n\n return c.json(appUpdateInfo, 200);\n});\n\napp.get(\"*\", async (c) => {\n const result = await verifyJwtSignedUrl({\n path: c.req.path,\n token: c.req.query(\"token\"),\n jwtSecret: c.env.JWT_SECRET,\n handler: async (key) => {\n const object = await c.env.BUCKET.get(key);\n if (!object) {\n return null;\n }\n return {\n body: object.body,\n contentType: object.httpMetadata?.contentType,\n };\n },\n });\n\n if (result.status !== 200) {\n return c.json({ error: result.error }, result.status);\n }\n\n return c.body(result.responseBody, 200, result.responseHeaders);\n});\n\nexport default app;\n"],
|
|
6
|
+
"mappings": "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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;AACJ,IAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAAD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,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",
|
|
7
7
|
"names": ["PerformanceMark", "clear", "count", "countReset", "createTask", "debug", "dir", "dirxml", "error", "group", "groupCollapsed", "groupEnd", "info", "log", "profile", "profileEnd", "table", "time", "timeEnd", "timeLog", "timeStamp", "trace", "warn", "hrtime", "dir", "env", "count", "cwd", "hrtime", "assert", "__webpack_require__", "debug", "version", "cache", "release", "versions", "version", "error", "raw", "context", "context", "app", "env", "context", "context", "Node", "Node", "Hono", "platform", "channel", "group", "version", "Hono", "channel"]
|
|
8
8
|
}
|