import {Buffer} from "node:buffer"; globalThis.Buffer = Buffer; import {AsyncLocalStorage} from "node:async_hooks"; globalThis.AsyncLocalStorage = AsyncLocalStorage; const defaultDefineProperty = Object.defineProperty; Object.defineProperty = function(o, p, a) { if(p=== '__import_unsupported' && Boolean(globalThis.__import_unsupported)) { return; } return defaultDefineProperty(o, p, a); }; globalThis.openNextDebug = false;globalThis.openNextVersion = "3.7.6"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/@opennextjs/aws/dist/utils/error.js function isOpenNextError(e) { try { return "__openNextInternal" in e; } catch { return false; } } var init_error = __esm({ "node_modules/@opennextjs/aws/dist/utils/error.js"() { } }); // node_modules/@opennextjs/aws/dist/adapters/logger.js function debug(...args) { if (globalThis.openNextDebug) { console.log(...args); } } function warn(...args) { console.warn(...args); } function error(...args) { if (args.some((arg) => isDownplayedErrorLog(arg))) { return debug(...args); } if (args.some((arg) => isOpenNextError(arg))) { const error2 = args.find((arg) => isOpenNextError(arg)); if (error2.logLevel < getOpenNextErrorLogLevel()) { return; } if (error2.logLevel === 0) { return console.log(...args.map((arg) => isOpenNextError(arg) ? `${arg.name}: ${arg.message}` : arg)); } if (error2.logLevel === 1) { return warn(...args.map((arg) => isOpenNextError(arg) ? `${arg.name}: ${arg.message}` : arg)); } return console.error(...args); } console.error(...args); } function getOpenNextErrorLogLevel() { const strLevel = process.env.OPEN_NEXT_ERROR_LOG_LEVEL ?? "1"; switch (strLevel.toLowerCase()) { case "debug": case "0": return 0; case "error": case "2": return 2; default: return 1; } } var DOWNPLAYED_ERROR_LOGS, isDownplayedErrorLog; var init_logger = __esm({ "node_modules/@opennextjs/aws/dist/adapters/logger.js"() { init_error(); DOWNPLAYED_ERROR_LOGS = [ { clientName: "S3Client", commandName: "GetObjectCommand", errorName: "NoSuchKey" } ]; isDownplayedErrorLog = (errorLog) => DOWNPLAYED_ERROR_LOGS.some((downplayedInput) => downplayedInput.clientName === errorLog?.clientName && downplayedInput.commandName === errorLog?.commandName && (downplayedInput.errorName === errorLog?.error?.name || downplayedInput.errorName === errorLog?.error?.Code)); } }); // node_modules/@opennextjs/aws/node_modules/cookie/dist/index.js var require_dist = __commonJS({ "node_modules/@opennextjs/aws/node_modules/cookie/dist/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = parse3; exports.serialize = serialize; var cookieNameRegExp = /^[\u0021-\u003A\u003C\u003E-\u007E]+$/; var cookieValueRegExp = /^[\u0021-\u003A\u003C-\u007E]*$/; var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i; var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/; var __toString = Object.prototype.toString; var NullObject = /* @__PURE__ */ (() => { const C = function() { }; C.prototype = /* @__PURE__ */ Object.create(null); return C; })(); function parse3(str, options) { const obj = new NullObject(); const len = str.length; if (len < 2) return obj; const dec = options?.decode || decode; let index = 0; do { const eqIdx = str.indexOf("=", index); if (eqIdx === -1) break; const colonIdx = str.indexOf(";", index); const endIdx = colonIdx === -1 ? len : colonIdx; if (eqIdx > endIdx) { index = str.lastIndexOf(";", eqIdx - 1) + 1; continue; } const keyStartIdx = startIndex(str, index, eqIdx); const keyEndIdx = endIndex(str, eqIdx, keyStartIdx); const key = str.slice(keyStartIdx, keyEndIdx); if (obj[key] === void 0) { let valStartIdx = startIndex(str, eqIdx + 1, endIdx); let valEndIdx = endIndex(str, endIdx, valStartIdx); const value = dec(str.slice(valStartIdx, valEndIdx)); obj[key] = value; } index = endIdx + 1; } while (index < len); return obj; } function startIndex(str, index, max) { do { const code = str.charCodeAt(index); if (code !== 32 && code !== 9) return index; } while (++index < max); return max; } function endIndex(str, index, min) { while (index > min) { const code = str.charCodeAt(--index); if (code !== 32 && code !== 9) return index + 1; } return min; } function serialize(name, val, options) { const enc = options?.encode || encodeURIComponent; if (!cookieNameRegExp.test(name)) { throw new TypeError(`argument name is invalid: ${name}`); } const value = enc(val); if (!cookieValueRegExp.test(value)) { throw new TypeError(`argument val is invalid: ${val}`); } let str = name + "=" + value; if (!options) return str; if (options.maxAge !== void 0) { if (!Number.isInteger(options.maxAge)) { throw new TypeError(`option maxAge is invalid: ${options.maxAge}`); } str += "; Max-Age=" + options.maxAge; } if (options.domain) { if (!domainValueRegExp.test(options.domain)) { throw new TypeError(`option domain is invalid: ${options.domain}`); } str += "; Domain=" + options.domain; } if (options.path) { if (!pathValueRegExp.test(options.path)) { throw new TypeError(`option path is invalid: ${options.path}`); } str += "; Path=" + options.path; } if (options.expires) { if (!isDate(options.expires) || !Number.isFinite(options.expires.valueOf())) { throw new TypeError(`option expires is invalid: ${options.expires}`); } str += "; Expires=" + options.expires.toUTCString(); } if (options.httpOnly) { str += "; HttpOnly"; } if (options.secure) { str += "; Secure"; } if (options.partitioned) { str += "; Partitioned"; } if (options.priority) { const priority = typeof options.priority === "string" ? options.priority.toLowerCase() : void 0; switch (priority) { case "low": str += "; Priority=Low"; break; case "medium": str += "; Priority=Medium"; break; case "high": str += "; Priority=High"; break; default: throw new TypeError(`option priority is invalid: ${options.priority}`); } } if (options.sameSite) { const sameSite = typeof options.sameSite === "string" ? options.sameSite.toLowerCase() : options.sameSite; switch (sameSite) { case true: case "strict": str += "; SameSite=Strict"; break; case "lax": str += "; SameSite=Lax"; break; case "none": str += "; SameSite=None"; break; default: throw new TypeError(`option sameSite is invalid: ${options.sameSite}`); } } return str; } function decode(str) { if (str.indexOf("%") === -1) return str; try { return decodeURIComponent(str); } catch (e) { return str; } } function isDate(val) { return __toString.call(val) === "[object Date]"; } } }); // node_modules/@opennextjs/aws/dist/http/util.js function parseSetCookieHeader(cookies) { if (!cookies) { return []; } if (typeof cookies === "string") { return cookies.split(/(? c.trim()); } return cookies; } function getQueryFromIterator(it) { const query = {}; for (const [key, value] of it) { if (key in query) { if (Array.isArray(query[key])) { query[key].push(value); } else { query[key] = [query[key], value]; } } else { query[key] = value; } } return query; } var init_util = __esm({ "node_modules/@opennextjs/aws/dist/http/util.js"() { } }); // node_modules/@opennextjs/aws/dist/overrides/converters/utils.js function getQueryFromSearchParams(searchParams) { return getQueryFromIterator(searchParams.entries()); } var init_utils = __esm({ "node_modules/@opennextjs/aws/dist/overrides/converters/utils.js"() { init_util(); } }); // node_modules/@opennextjs/aws/dist/overrides/converters/edge.js var edge_exports = {}; __export(edge_exports, { default: () => edge_default }); import { Buffer as Buffer2 } from "node:buffer"; var import_cookie, NULL_BODY_STATUSES, converter, edge_default; var init_edge = __esm({ "node_modules/@opennextjs/aws/dist/overrides/converters/edge.js"() { import_cookie = __toESM(require_dist(), 1); init_util(); init_utils(); NULL_BODY_STATUSES = /* @__PURE__ */ new Set([101, 103, 204, 205, 304]); converter = { convertFrom: async (event) => { const url = new URL(event.url); const searchParams = url.searchParams; const query = getQueryFromSearchParams(searchParams); const body = await event.arrayBuffer(); const headers = {}; event.headers.forEach((value, key) => { headers[key] = value; }); const rawPath = url.pathname; const method = event.method; const shouldHaveBody = method !== "GET" && method !== "HEAD"; const cookieHeader = event.headers.get("cookie"); const cookies = cookieHeader ? import_cookie.default.parse(cookieHeader) : {}; return { type: "core", method, rawPath, url: event.url, body: shouldHaveBody ? Buffer2.from(body) : void 0, headers, remoteAddress: event.headers.get("x-forwarded-for") ?? "::1", query, cookies }; }, convertTo: async (result) => { if ("internalEvent" in result) { const request = new Request(result.internalEvent.url, { body: result.internalEvent.body, method: result.internalEvent.method, headers: { ...result.internalEvent.headers, "x-forwarded-host": result.internalEvent.headers.host } }); if (globalThis.__dangerous_ON_edge_converter_returns_request === true) { return request; } const cfCache = (result.isISR || result.internalEvent.rawPath.startsWith("/_next/image")) && process.env.DISABLE_CACHE !== "true" ? { cacheEverything: true } : {}; return fetch(request, { // This is a hack to make sure that the response is cached by Cloudflare // See https://developers.cloudflare.com/workers/examples/cache-using-fetch/#caching-html-resources // @ts-expect-error - This is a Cloudflare specific option cf: cfCache }); } const headers = new Headers(); for (const [key, value] of Object.entries(result.headers)) { if (key === "set-cookie" && typeof value === "string") { const cookies = parseSetCookieHeader(value); for (const cookie of cookies) { headers.append(key, cookie); } continue; } if (Array.isArray(value)) { for (const v of value) { headers.append(key, v); } } else { headers.set(key, value); } } const body = NULL_BODY_STATUSES.has(result.statusCode) ? null : result.body; return new Response(body, { status: result.statusCode, headers }); }, name: "edge" }; edge_default = converter; } }); // node_modules/@opennextjs/aws/dist/overrides/wrappers/cloudflare-edge.js var cloudflare_edge_exports = {}; __export(cloudflare_edge_exports, { default: () => cloudflare_edge_default }); var cfPropNameMapping, handler, cloudflare_edge_default; var init_cloudflare_edge = __esm({ "node_modules/@opennextjs/aws/dist/overrides/wrappers/cloudflare-edge.js"() { cfPropNameMapping = { // The city name is percent-encoded. // See https://github.com/vercel/vercel/blob/4cb6143/packages/functions/src/headers.ts#L94C19-L94C37 city: [encodeURIComponent, "x-open-next-city"], country: "x-open-next-country", regionCode: "x-open-next-region", latitude: "x-open-next-latitude", longitude: "x-open-next-longitude" }; handler = async (handler3, converter2) => async (request, env, ctx) => { globalThis.process = process; for (const [key, value] of Object.entries(env)) { if (typeof value === "string") { process.env[key] = value; } } const internalEvent = await converter2.convertFrom(request); const cfProperties = request.cf; for (const [propName, mapping] of Object.entries(cfPropNameMapping)) { const propValue = cfProperties?.[propName]; if (propValue != null) { const [encode, headerName] = Array.isArray(mapping) ? mapping : [null, mapping]; internalEvent.headers[headerName] = encode ? encode(propValue) : propValue; } } const response = await handler3(internalEvent, { waitUntil: ctx.waitUntil.bind(ctx) }); const result = await converter2.convertTo(response); return result; }; cloudflare_edge_default = { wrapper: handler, name: "cloudflare-edge", supportStreaming: true, edgeRuntime: true }; } }); // node_modules/@opennextjs/aws/dist/overrides/originResolver/pattern-env.js var pattern_env_exports = {}; __export(pattern_env_exports, { default: () => pattern_env_default }); var envLoader, pattern_env_default; var init_pattern_env = __esm({ "node_modules/@opennextjs/aws/dist/overrides/originResolver/pattern-env.js"() { init_logger(); envLoader = { name: "env", resolve: async (_path) => { try { const origin = JSON.parse(process.env.OPEN_NEXT_ORIGIN ?? "{}"); for (const [key, value] of Object.entries(globalThis.openNextConfig.functions ?? {}).filter(([key2]) => key2 !== "default")) { if (value.patterns.some((pattern) => { return new RegExp( // transform glob pattern to regex `/${pattern.replace(/\*\*/g, "(.*)").replace(/\*/g, "([^/]*)").replace(/\//g, "\\/").replace(/\?/g, ".")}` ).test(_path); })) { debug("Using origin", key, value.patterns); return origin[key]; } } if (_path.startsWith("/_next/image") && origin.imageOptimizer) { debug("Using origin", "imageOptimizer", _path); return origin.imageOptimizer; } if (origin.default) { debug("Using default origin", origin.default, _path); return origin.default; } return false; } catch (e) { error("Error while resolving origin", e); return false; } } }; pattern_env_default = envLoader; } }); // node_modules/@opennextjs/aws/dist/overrides/assetResolver/dummy.js var dummy_exports = {}; __export(dummy_exports, { default: () => dummy_default }); var resolver, dummy_default; var init_dummy = __esm({ "node_modules/@opennextjs/aws/dist/overrides/assetResolver/dummy.js"() { resolver = { name: "dummy" }; dummy_default = resolver; } }); // node_modules/@opennextjs/aws/dist/utils/stream.js import { Readable } from "node:stream"; function toReadableStream(value, isBase64) { return Readable.toWeb(Readable.from(Buffer.from(value, isBase64 ? "base64" : "utf8"))); } function emptyReadableStream() { if (process.env.OPEN_NEXT_FORCE_NON_EMPTY_RESPONSE === "true") { return Readable.toWeb(Readable.from([Buffer.from("SOMETHING")])); } return Readable.toWeb(Readable.from([])); } var init_stream = __esm({ "node_modules/@opennextjs/aws/dist/utils/stream.js"() { } }); // node_modules/@opennextjs/aws/dist/overrides/proxyExternalRequest/fetch.js var fetch_exports = {}; __export(fetch_exports, { default: () => fetch_default }); var fetchProxy, fetch_default; var init_fetch = __esm({ "node_modules/@opennextjs/aws/dist/overrides/proxyExternalRequest/fetch.js"() { init_stream(); fetchProxy = { name: "fetch-proxy", // @ts-ignore proxy: async (internalEvent) => { const { url, headers: eventHeaders, method, body } = internalEvent; const headers = Object.fromEntries(Object.entries(eventHeaders).filter(([key]) => key.toLowerCase() !== "cf-connecting-ip")); const response = await fetch(url, { method, headers, body }); const responseHeaders = {}; response.headers.forEach((value, key) => { responseHeaders[key] = value; }); return { type: "core", headers: responseHeaders, statusCode: response.status, isBase64Encoded: true, body: response.body ?? emptyReadableStream() }; } }; fetch_default = fetchProxy; } }); // .next/server/edge-runtime-webpack.js var require_edge_runtime_webpack = __commonJS({ ".next/server/edge-runtime-webpack.js"() { "use strict"; (() => { "use strict"; var e = {}, r = {}; function t(o) { var n = r[o]; if (void 0 !== n) return n.exports; var i = r[o] = { exports: {} }, a = true; try { e[o](i, i.exports, t), a = false; } finally { a && delete r[o]; } return i.exports; } t.m = e, t.amdO = {}, (() => { var e2 = []; t.O = (r2, o, n, i) => { if (o) { i = i || 0; for (var a = e2.length; a > 0 && e2[a - 1][2] > i; a--) e2[a] = e2[a - 1]; e2[a] = [o, n, i]; return; } for (var l = 1 / 0, a = 0; a < e2.length; a++) { for (var [o, n, i] = e2[a], u = true, f = 0; f < o.length; f++) l >= i && Object.keys(t.O).every((e3) => t.O[e3](o[f])) ? o.splice(f--, 1) : (u = false, i < l && (l = i)); if (u) { e2.splice(a--, 1); var s = n(); void 0 !== s && (r2 = s); } } return r2; }; })(), t.n = (e2) => { var r2 = e2 && e2.__esModule ? () => e2.default : () => e2; return t.d(r2, { a: r2 }), r2; }, t.d = (e2, r2) => { for (var o in r2) t.o(r2, o) && !t.o(e2, o) && Object.defineProperty(e2, o, { enumerable: true, get: r2[o] }); }, t.g = function() { if ("object" == typeof globalThis) return globalThis; try { return this || Function("return this")(); } catch (e2) { if ("object" == typeof window) return window; } }(), t.o = (e2, r2) => Object.prototype.hasOwnProperty.call(e2, r2), t.r = (e2) => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e2, "__esModule", { value: true }); }, (() => { var e2 = { 993: 0 }; t.O.j = (r3) => 0 === e2[r3]; var r2 = (r3, o2) => { var n, i, [a, l, u] = o2, f = 0; if (a.some((r4) => 0 !== e2[r4])) { for (n in l) t.o(l, n) && (t.m[n] = l[n]); if (u) var s = u(t); } for (r3 && r3(o2); f < a.length; f++) i = a[f], t.o(e2, i) && e2[i] && e2[i][0](), e2[i] = 0; return t.O(s); }, o = self.webpackChunk_N_E = self.webpackChunk_N_E || []; o.forEach(r2.bind(null, 0)), o.push = r2.bind(null, o.push.bind(o)); })(); })(); } }); // node-built-in-modules:node:async_hooks var node_async_hooks_exports = {}; import * as node_async_hooks_star from "node:async_hooks"; var init_node_async_hooks = __esm({ "node-built-in-modules:node:async_hooks"() { __reExport(node_async_hooks_exports, node_async_hooks_star); } }); // node-built-in-modules:node:buffer var node_buffer_exports = {}; import * as node_buffer_star from "node:buffer"; var init_node_buffer = __esm({ "node-built-in-modules:node:buffer"() { __reExport(node_buffer_exports, node_buffer_star); } }); // .next/server/middleware.js var require_middleware = __commonJS({ ".next/server/middleware.js"() { "use strict"; (self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([[826], { 67: (e) => { "use strict"; e.exports = (init_node_async_hooks(), __toCommonJS(node_async_hooks_exports)); }, 195: (e) => { "use strict"; e.exports = (init_node_buffer(), __toCommonJS(node_buffer_exports)); }, 441: (e, t, r) => { "use strict"; let n; r.r(t), r.d(t, { default: () => eI }); var a, i, o, s, c, l, d, u, p, h, f, g, y, w, m = {}; async function b() { let e2 = "_ENTRIES" in globalThis && _ENTRIES.middleware_instrumentation && (await _ENTRIES.middleware_instrumentation).register; if (e2) try { await e2(); } catch (e3) { throw e3.message = `An error occurred while loading instrumentation hook: ${e3.message}`, e3; } } r.r(m), r.d(m, { config: () => eR, default: () => ex }); let v = null; function S() { return v || (v = b()), v; } function E(e2) { return `The edge runtime does not support Node.js '${e2}' module. Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`; } process !== r.g.process && (process.env = r.g.process.env, r.g.process = process), Object.defineProperty(globalThis, "__import_unsupported", { value: function(e2) { let t2 = new Proxy(function() { }, { get(t3, r2) { if ("then" === r2) return {}; throw Error(E(e2)); }, construct() { throw Error(E(e2)); }, apply(r2, n2, a2) { if ("function" == typeof a2[0]) return a2[0](t2); throw Error(E(e2)); } }); return new Proxy({}, { get: () => t2 }); }, enumerable: false, configurable: false }), S(); var _ = r(416), A = r(329); let P = Symbol("response"), C = Symbol("passThrough"), x = Symbol("waitUntil"); class R { constructor(e2) { this[x] = [], this[C] = false; } respondWith(e2) { this[P] || (this[P] = Promise.resolve(e2)); } passThroughOnException() { this[C] = true; } waitUntil(e2) { this[x].push(e2); } } class T extends R { constructor(e2) { super(e2.request), this.sourcePage = e2.page; } get request() { throw new _.qJ({ page: this.sourcePage }); } respondWith() { throw new _.qJ({ page: this.sourcePage }); } } var O = r(669), k = r(241); function I(e2, t2) { let r2 = "string" == typeof t2 ? new URL(t2) : t2, n2 = new URL(e2, t2), a2 = r2.protocol + "//" + r2.host; return n2.protocol + "//" + n2.host === a2 ? n2.toString().replace(a2, "") : n2.toString(); } var N = r(718); let H = [["RSC"], ["Next-Router-State-Tree"], ["Next-Router-Prefetch"]], M = ["__nextFallback", "__nextLocale", "__nextInferredLocaleFromDefault", "__nextDefaultLocale", "__nextIsNotFound", "_rsc"], D = ["__nextDataReq"], U = "nxtP", W = { shared: "shared", reactServerComponents: "rsc", serverSideRendering: "ssr", actionBrowser: "action-browser", api: "api", middleware: "middleware", instrument: "instrument", edgeAsset: "edge-asset", appPagesBrowser: "app-pages-browser", appMetadataRoute: "app-metadata-route", appRouteHandler: "app-route-handler" }; ({ ...W, GROUP: { serverOnly: [W.reactServerComponents, W.actionBrowser, W.appMetadataRoute, W.appRouteHandler, W.instrument], clientOnly: [W.serverSideRendering, W.appPagesBrowser], nonClientServerTarget: [W.middleware, W.api], app: [W.reactServerComponents, W.actionBrowser, W.appMetadataRoute, W.appRouteHandler, W.serverSideRendering, W.appPagesBrowser, W.shared, W.instrument] } }); var L = r(217); class K extends Error { constructor() { super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers"); } static callable() { throw new K(); } } class j extends Headers { constructor(e2) { super(), this.headers = new Proxy(e2, { get(t2, r2, n2) { if ("symbol" == typeof r2) return L.g.get(t2, r2, n2); let a2 = r2.toLowerCase(), i2 = Object.keys(e2).find((e3) => e3.toLowerCase() === a2); if (void 0 !== i2) return L.g.get(t2, i2, n2); }, set(t2, r2, n2, a2) { if ("symbol" == typeof r2) return L.g.set(t2, r2, n2, a2); let i2 = r2.toLowerCase(), o2 = Object.keys(e2).find((e3) => e3.toLowerCase() === i2); return L.g.set(t2, o2 ?? r2, n2, a2); }, has(t2, r2) { if ("symbol" == typeof r2) return L.g.has(t2, r2); let n2 = r2.toLowerCase(), a2 = Object.keys(e2).find((e3) => e3.toLowerCase() === n2); return void 0 !== a2 && L.g.has(t2, a2); }, deleteProperty(t2, r2) { if ("symbol" == typeof r2) return L.g.deleteProperty(t2, r2); let n2 = r2.toLowerCase(), a2 = Object.keys(e2).find((e3) => e3.toLowerCase() === n2); return void 0 === a2 || L.g.deleteProperty(t2, a2); } }); } static seal(e2) { return new Proxy(e2, { get(e3, t2, r2) { switch (t2) { case "append": case "delete": case "set": return K.callable; default: return L.g.get(e3, t2, r2); } } }); } merge(e2) { return Array.isArray(e2) ? e2.join(", ") : e2; } static from(e2) { return e2 instanceof Headers ? e2 : new j(e2); } append(e2, t2) { let r2 = this.headers[e2]; "string" == typeof r2 ? this.headers[e2] = [r2, t2] : Array.isArray(r2) ? r2.push(t2) : this.headers[e2] = t2; } delete(e2) { delete this.headers[e2]; } get(e2) { let t2 = this.headers[e2]; return void 0 !== t2 ? this.merge(t2) : null; } has(e2) { return void 0 !== this.headers[e2]; } set(e2, t2) { this.headers[e2] = t2; } forEach(e2, t2) { for (let [r2, n2] of this.entries()) e2.call(t2, n2, r2, this); } *entries() { for (let e2 of Object.keys(this.headers)) { let t2 = e2.toLowerCase(), r2 = this.get(t2); yield [t2, r2]; } } *keys() { for (let e2 of Object.keys(this.headers)) { let t2 = e2.toLowerCase(); yield t2; } } *values() { for (let e2 of Object.keys(this.headers)) { let t2 = this.get(e2); yield t2; } } [Symbol.iterator]() { return this.entries(); } } var J = r(938); let B = Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"); class $ { disable() { throw B; } getStore() { } run() { throw B; } exit() { throw B; } enterWith() { throw B; } } let V = globalThis.AsyncLocalStorage; function G() { return V ? new V() : new $(); } let q = G(); class F extends Error { constructor() { super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options"); } static callable() { throw new F(); } } class z { static seal(e2) { return new Proxy(e2, { get(e3, t2, r2) { switch (t2) { case "clear": case "delete": case "set": return F.callable; default: return L.g.get(e3, t2, r2); } } }); } } let X = Symbol.for("next.mutated.cookies"); class Y { static wrap(e2, t2) { let r2 = new J.nV(new Headers()); for (let t3 of e2.getAll()) r2.set(t3); let n2 = [], a2 = /* @__PURE__ */ new Set(), i2 = () => { let e3 = q.getStore(); if (e3 && (e3.pathWasRevalidated = true), n2 = r2.getAll().filter((e4) => a2.has(e4.name)), t2) { let e4 = []; for (let t3 of n2) { let r3 = new J.nV(new Headers()); r3.set(t3), e4.push(r3.toString()); } t2(e4); } }; return new Proxy(r2, { get(e3, t3, r3) { switch (t3) { case X: return n2; case "delete": return function(...t4) { a2.add("string" == typeof t4[0] ? t4[0] : t4[0].name); try { e3.delete(...t4); } finally { i2(); } }; case "set": return function(...t4) { a2.add("string" == typeof t4[0] ? t4[0] : t4[0].name); try { return e3.set(...t4); } finally { i2(); } }; default: return L.g.get(e3, t3, r3); } } }); } } !function(e2) { e2.handleRequest = "BaseServer.handleRequest", e2.run = "BaseServer.run", e2.pipe = "BaseServer.pipe", e2.getStaticHTML = "BaseServer.getStaticHTML", e2.render = "BaseServer.render", e2.renderToResponseWithComponents = "BaseServer.renderToResponseWithComponents", e2.renderToResponse = "BaseServer.renderToResponse", e2.renderToHTML = "BaseServer.renderToHTML", e2.renderError = "BaseServer.renderError", e2.renderErrorToResponse = "BaseServer.renderErrorToResponse", e2.renderErrorToHTML = "BaseServer.renderErrorToHTML", e2.render404 = "BaseServer.render404"; }(a || (a = {})), function(e2) { e2.loadDefaultErrorComponents = "LoadComponents.loadDefaultErrorComponents", e2.loadComponents = "LoadComponents.loadComponents"; }(i || (i = {})), function(e2) { e2.getRequestHandler = "NextServer.getRequestHandler", e2.getServer = "NextServer.getServer", e2.getServerRequestHandler = "NextServer.getServerRequestHandler", e2.createServer = "createServer.createServer"; }(o || (o = {})), function(e2) { e2.compression = "NextNodeServer.compression", e2.getBuildId = "NextNodeServer.getBuildId", e2.createComponentTree = "NextNodeServer.createComponentTree", e2.clientComponentLoading = "NextNodeServer.clientComponentLoading", e2.getLayoutOrPageModule = "NextNodeServer.getLayoutOrPageModule", e2.generateStaticRoutes = "NextNodeServer.generateStaticRoutes", e2.generateFsStaticRoutes = "NextNodeServer.generateFsStaticRoutes", e2.generatePublicRoutes = "NextNodeServer.generatePublicRoutes", e2.generateImageRoutes = "NextNodeServer.generateImageRoutes.route", e2.sendRenderResult = "NextNodeServer.sendRenderResult", e2.proxyRequest = "NextNodeServer.proxyRequest", e2.runApi = "NextNodeServer.runApi", e2.render = "NextNodeServer.render", e2.renderHTML = "NextNodeServer.renderHTML", e2.imageOptimizer = "NextNodeServer.imageOptimizer", e2.getPagePath = "NextNodeServer.getPagePath", e2.getRoutesManifest = "NextNodeServer.getRoutesManifest", e2.findPageComponents = "NextNodeServer.findPageComponents", e2.getFontManifest = "NextNodeServer.getFontManifest", e2.getServerComponentManifest = "NextNodeServer.getServerComponentManifest", e2.getRequestHandler = "NextNodeServer.getRequestHandler", e2.renderToHTML = "NextNodeServer.renderToHTML", e2.renderError = "NextNodeServer.renderError", e2.renderErrorToHTML = "NextNodeServer.renderErrorToHTML", e2.render404 = "NextNodeServer.render404", e2.startResponse = "NextNodeServer.startResponse", e2.route = "route", e2.onProxyReq = "onProxyReq", e2.apiResolver = "apiResolver", e2.internalFetch = "internalFetch"; }(s || (s = {})), (c || (c = {})).startServer = "startServer.startServer", function(e2) { e2.getServerSideProps = "Render.getServerSideProps", e2.getStaticProps = "Render.getStaticProps", e2.renderToString = "Render.renderToString", e2.renderDocument = "Render.renderDocument", e2.createBodyResult = "Render.createBodyResult"; }(l || (l = {})), function(e2) { e2.renderToString = "AppRender.renderToString", e2.renderToReadableStream = "AppRender.renderToReadableStream", e2.getBodyResult = "AppRender.getBodyResult", e2.fetch = "AppRender.fetch"; }(d || (d = {})), (u || (u = {})).executeRoute = "Router.executeRoute", (p || (p = {})).runHandler = "Node.runHandler", (h || (h = {})).runHandler = "AppRouteRouteHandlers.runHandler", function(e2) { e2.generateMetadata = "ResolveMetadata.generateMetadata", e2.generateViewport = "ResolveMetadata.generateViewport"; }(f || (f = {})), (g || (g = {})).execute = "Middleware.execute"; let Z = ["Middleware.execute", "BaseServer.handleRequest", "Render.getServerSideProps", "Render.getStaticProps", "AppRender.fetch", "AppRender.getBodyResult", "Render.renderDocument", "Node.runHandler", "AppRouteRouteHandlers.runHandler", "ResolveMetadata.generateMetadata", "ResolveMetadata.generateViewport", "NextNodeServer.createComponentTree", "NextNodeServer.findPageComponents", "NextNodeServer.getLayoutOrPageModule", "NextNodeServer.startResponse", "NextNodeServer.clientComponentLoading"], Q = ["NextNodeServer.findPageComponents", "NextNodeServer.createComponentTree", "NextNodeServer.clientComponentLoading"], { context: ee, propagation: et, trace: er, SpanStatusCode: en, SpanKind: ea, ROOT_CONTEXT: ei } = n = r(439), eo = (e2) => null !== e2 && "object" == typeof e2 && "function" == typeof e2.then, es = (e2, t2) => { (null == t2 ? void 0 : t2.bubble) === true ? e2.setAttribute("next.bubble", true) : (t2 && e2.recordException(t2), e2.setStatus({ code: en.ERROR, message: null == t2 ? void 0 : t2.message })), e2.end(); }, ec = /* @__PURE__ */ new Map(), el = n.createContextKey("next.rootSpanId"), ed = 0, eu = () => ed++; class ep { getTracerInstance() { return er.getTracer("next.js", "0.0.1"); } getContext() { return ee; } getActiveScopeSpan() { return er.getSpan(null == ee ? void 0 : ee.active()); } withPropagatedContext(e2, t2, r2) { let n2 = ee.active(); if (er.getSpanContext(n2)) return t2(); let a2 = et.extract(n2, e2, r2); return ee.with(a2, t2); } trace(...e2) { var t2; let [r2, n2, a2] = e2, { fn: i2, options: o2 } = "function" == typeof n2 ? { fn: n2, options: {} } : { fn: a2, options: { ...n2 } }, s2 = o2.spanName ?? r2; if (!Z.includes(r2) && "1" !== process.env.NEXT_OTEL_VERBOSE || o2.hideSpan) return i2(); let c2 = this.getSpanContext((null == o2 ? void 0 : o2.parentSpan) ?? this.getActiveScopeSpan()), l2 = false; c2 ? (null == (t2 = er.getSpanContext(c2)) ? void 0 : t2.isRemote) && (l2 = true) : (c2 = (null == ee ? void 0 : ee.active()) ?? ei, l2 = true); let d2 = eu(); return o2.attributes = { "next.span_name": s2, "next.span_type": r2, ...o2.attributes }, ee.with(c2.setValue(el, d2), () => this.getTracerInstance().startActiveSpan(s2, o2, (e3) => { let t3 = "performance" in globalThis ? globalThis.performance.now() : void 0, n3 = () => { ec.delete(d2), t3 && process.env.NEXT_OTEL_PERFORMANCE_PREFIX && Q.includes(r2 || "") && performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(r2.split(".").pop() || "").replace(/[A-Z]/g, (e4) => "-" + e4.toLowerCase())}`, { start: t3, end: performance.now() }); }; l2 && ec.set(d2, new Map(Object.entries(o2.attributes ?? {}))); try { if (i2.length > 1) return i2(e3, (t5) => es(e3, t5)); let t4 = i2(e3); if (eo(t4)) return t4.then((t5) => (e3.end(), t5)).catch((t5) => { throw es(e3, t5), t5; }).finally(n3); return e3.end(), n3(), t4; } catch (t4) { throw es(e3, t4), n3(), t4; } })); } wrap(...e2) { let t2 = this, [r2, n2, a2] = 3 === e2.length ? e2 : [e2[0], {}, e2[1]]; return Z.includes(r2) || "1" === process.env.NEXT_OTEL_VERBOSE ? function() { let e3 = n2; "function" == typeof e3 && "function" == typeof a2 && (e3 = e3.apply(this, arguments)); let i2 = arguments.length - 1, o2 = arguments[i2]; if ("function" != typeof o2) return t2.trace(r2, e3, () => a2.apply(this, arguments)); { let n3 = t2.getContext().bind(ee.active(), o2); return t2.trace(r2, e3, (e4, t3) => (arguments[i2] = function(e5) { return null == t3 || t3(e5), n3.apply(this, arguments); }, a2.apply(this, arguments))); } } : a2; } startSpan(...e2) { let [t2, r2] = e2, n2 = this.getSpanContext((null == r2 ? void 0 : r2.parentSpan) ?? this.getActiveScopeSpan()); return this.getTracerInstance().startSpan(t2, r2, n2); } getSpanContext(e2) { return e2 ? er.setSpan(ee.active(), e2) : void 0; } getRootSpanAttributes() { let e2 = ee.active().getValue(el); return ec.get(e2); } } let eh = (() => { let e2 = new ep(); return () => e2; })(), ef = "__prerender_bypass"; Symbol("__next_preview_data"), Symbol(ef); class eg { constructor(e2, t2, r2, n2) { var a2; let i2 = e2 && function(e3, t3) { let r3 = j.from(e3.headers); return { isOnDemandRevalidate: r3.get("x-prerender-revalidate") === t3.previewModeId, revalidateOnlyGenerated: r3.has("x-prerender-revalidate-if-generated") }; }(t2, e2).isOnDemandRevalidate, o2 = null == (a2 = r2.get(ef)) ? void 0 : a2.value; this.isEnabled = !!(!i2 && o2 && e2 && o2 === e2.previewModeId), this._previewModeId = null == e2 ? void 0 : e2.previewModeId, this._mutableCookies = n2; } enable() { if (!this._previewModeId) throw Error("Invariant: previewProps missing previewModeId this should never happen"); this._mutableCookies.set({ name: ef, value: this._previewModeId, httpOnly: true, sameSite: "none", secure: true, path: "/" }); } disable() { this._mutableCookies.set({ name: ef, value: "", httpOnly: true, sameSite: "none", secure: true, path: "/", expires: /* @__PURE__ */ new Date(0) }); } } function ey(e2, t2) { if ("x-middleware-set-cookie" in e2.headers && "string" == typeof e2.headers["x-middleware-set-cookie"]) { let r2 = e2.headers["x-middleware-set-cookie"], n2 = new Headers(); for (let e3 of (0, A.l$)(r2)) n2.append("set-cookie", e3); for (let e3 of new J.nV(n2).getAll()) t2.set(e3); } } let ew = { wrap(e2, { req: t2, res: r2, renderOpts: n2 }, a2) { let i2; function o2(e3) { r2 && r2.setHeader("Set-Cookie", e3); } n2 && "previewProps" in n2 && (i2 = n2.previewProps); let s2 = {}, c2 = { get headers() { return s2.headers || (s2.headers = function(e3) { let t3 = j.from(e3); for (let e4 of H) t3.delete(e4.toString().toLowerCase()); return j.seal(t3); }(t2.headers)), s2.headers; }, get cookies() { if (!s2.cookies) { let e3 = new J.qC(j.from(t2.headers)); ey(t2, e3), s2.cookies = z.seal(e3); } return s2.cookies; }, get mutableCookies() { if (!s2.mutableCookies) { let e3 = function(e4, t3) { let r3 = new J.qC(j.from(e4)); return Y.wrap(r3, t3); }(t2.headers, (null == n2 ? void 0 : n2.onUpdateCookies) || (r2 ? o2 : void 0)); ey(t2, e3), s2.mutableCookies = e3; } return s2.mutableCookies; }, get draftMode() { return s2.draftMode || (s2.draftMode = new eg(i2, t2, this.cookies, this.mutableCookies)), s2.draftMode; }, reactLoadableManifest: (null == n2 ? void 0 : n2.reactLoadableManifest) || {}, assetPrefix: (null == n2 ? void 0 : n2.assetPrefix) || "" }; return e2.run(c2, a2, c2); } }, em = G(); function eb() { return { previewModeId: process.env.__NEXT_PREVIEW_MODE_ID, previewModeSigningKey: process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY || "", previewModeEncryptionKey: process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY || "" }; } class ev extends O.I { constructor(e2) { super(e2.input, e2.init), this.sourcePage = e2.page; } get request() { throw new _.qJ({ page: this.sourcePage }); } respondWith() { throw new _.qJ({ page: this.sourcePage }); } waitUntil() { throw new _.qJ({ page: this.sourcePage }); } } let eS = { keys: (e2) => Array.from(e2.keys()), get: (e2, t2) => e2.get(t2) ?? void 0 }, eE = (e2, t2) => eh().withPropagatedContext(e2.headers, t2, eS), e_ = false; async function eA(e2) { let t2, n2; !function() { if (!e_ && (e_ = true, "true" === process.env.NEXT_PRIVATE_TEST_PROXY)) { let { interceptTestApis: e3, wrapRequestHandler: t3 } = r(177); e3(), eE = t3(eE); } }(), await S(); let a2 = void 0 !== self.__BUILD_MANIFEST; e2.request.url = e2.request.url.replace(/\.rsc($|\?)/, "$1"); let i2 = new N.c(e2.request.url, { headers: e2.request.headers, nextConfig: e2.request.nextConfig }); for (let e3 of [...i2.searchParams.keys()]) { let t3 = i2.searchParams.getAll(e3); if (e3 !== U && e3.startsWith(U)) { let r2 = e3.substring(U.length); for (let e4 of (i2.searchParams.delete(r2), t3)) i2.searchParams.append(r2, e4); i2.searchParams.delete(e3); } } let o2 = i2.buildId; i2.buildId = ""; let s2 = e2.request.headers["x-nextjs-data"]; s2 && "/index" === i2.pathname && (i2.pathname = "/"); let c2 = (0, A.EK)(e2.request.headers), l2 = /* @__PURE__ */ new Map(); if (!a2) for (let e3 of H) { let t3 = e3.toString().toLowerCase(); c2.get(t3) && (l2.set(t3, c2.get(t3)), c2.delete(t3)); } let d2 = new ev({ page: e2.page, input: function(e3, t3) { let r2 = "string" == typeof e3, n3 = r2 ? new URL(e3) : e3; for (let e4 of M) n3.searchParams.delete(e4); if (t3) for (let e4 of D) n3.searchParams.delete(e4); return r2 ? n3.toString() : n3; }(i2, true).toString(), init: { body: e2.request.body, geo: e2.request.geo, headers: c2, ip: e2.request.ip, method: e2.request.method, nextConfig: e2.request.nextConfig, signal: e2.request.signal } }); s2 && Object.defineProperty(d2, "__isData", { enumerable: false, value: true }), !globalThis.__incrementalCache && e2.IncrementalCache && (globalThis.__incrementalCache = new e2.IncrementalCache({ appDir: true, fetchCache: true, minimalMode: true, fetchCacheKeyPrefix: "", dev: false, requestHeaders: e2.request.headers, requestProtocol: "https", getPrerenderManifest: () => ({ version: -1, routes: {}, dynamicRoutes: {}, notFoundRoutes: [], preview: eb() }) })); let u2 = new T({ request: d2, page: e2.page }); if ((t2 = await eE(d2, () => "/middleware" === e2.page || "/src/middleware" === e2.page ? eh().trace(g.execute, { spanName: `middleware ${d2.method} ${d2.nextUrl.pathname}`, attributes: { "http.target": d2.nextUrl.pathname, "http.method": d2.method } }, () => ew.wrap(em, { req: d2, renderOpts: { onUpdateCookies: (e3) => { n2 = e3; }, previewProps: eb() } }, () => e2.handler(d2, u2))) : e2.handler(d2, u2))) && !(t2 instanceof Response)) throw TypeError("Expected an instance of Response to be returned"); t2 && n2 && t2.headers.set("set-cookie", n2); let p2 = null == t2 ? void 0 : t2.headers.get("x-middleware-rewrite"); if (t2 && p2 && !a2) { let r2 = new N.c(p2, { forceLocale: true, headers: e2.request.headers, nextConfig: e2.request.nextConfig }); r2.host === d2.nextUrl.host && (r2.buildId = o2 || r2.buildId, t2.headers.set("x-middleware-rewrite", String(r2))); let n3 = I(String(r2), String(i2)); s2 && t2.headers.set("x-nextjs-rewrite", n3); } let h2 = null == t2 ? void 0 : t2.headers.get("Location"); if (t2 && h2 && !a2) { let r2 = new N.c(h2, { forceLocale: false, headers: e2.request.headers, nextConfig: e2.request.nextConfig }); t2 = new Response(t2.body, t2), r2.host === d2.nextUrl.host && (r2.buildId = o2 || r2.buildId, t2.headers.set("Location", String(r2))), s2 && (t2.headers.delete("Location"), t2.headers.set("x-nextjs-redirect", I(String(r2), String(i2)))); } let f2 = t2 || k.x.next(), y2 = f2.headers.get("x-middleware-override-headers"), w2 = []; if (y2) { for (let [e3, t3] of l2) f2.headers.set(`x-middleware-request-${e3}`, t3), w2.push(e3); w2.length > 0 && f2.headers.set("x-middleware-override-headers", y2 + "," + w2.join(",")); } return { response: f2, waitUntil: Promise.all(u2[x]), fetchMetrics: d2.fetchMetrics }; } var eP = r(784), eC = r(635); !function(e2) { e2.SUPER_ADMIN = "SUPER_ADMIN", e2.SHOP_ADMIN = "SHOP_ADMIN", e2.ARTIST = "ARTIST", e2.CLIENT = "CLIENT"; }(y || (y = {})), function(e2) { e2.PENDING = "PENDING", e2.CONFIRMED = "CONFIRMED", e2.IN_PROGRESS = "IN_PROGRESS", e2.COMPLETED = "COMPLETED", e2.CANCELLED = "CANCELLED"; }(w || (w = {})); let ex = (0, eP.withAuth)(function(e2) { let t2 = e2.nextauth.token, { pathname: r2 } = e2.nextUrl; if (r2.startsWith("/admin")) { if (!t2) return eC.NextResponse.redirect(new URL("/auth/signin", e2.url)); let r3 = t2.role; if (r3 !== y.SHOP_ADMIN && r3 !== y.SUPER_ADMIN) return eC.NextResponse.redirect(new URL("/unauthorized", e2.url)); } if (r2.startsWith("/artist-dashboard")) { if (!t2) return eC.NextResponse.redirect(new URL("/auth/signin", e2.url)); let r3 = t2.role; if (r3 !== y.ARTIST && r3 !== y.SHOP_ADMIN && r3 !== y.SUPER_ADMIN) return eC.NextResponse.redirect(new URL("/unauthorized", e2.url)); } if (r2.startsWith("/artist") && !r2.startsWith("/artists")) { if (!t2) return eC.NextResponse.redirect(new URL("/auth/signin", e2.url)); let r3 = t2.role; if (r3 !== y.ARTIST && r3 !== y.SHOP_ADMIN && r3 !== y.SUPER_ADMIN) return eC.NextResponse.redirect(new URL("/unauthorized", e2.url)); } if (r2.startsWith("/api/admin")) { if (!t2) return eC.NextResponse.json({ error: "Authentication required" }, { status: 401 }); let e3 = t2.role; if (e3 !== y.SHOP_ADMIN && e3 !== y.SUPER_ADMIN) return eC.NextResponse.json({ error: "Insufficient permissions" }, { status: 403 }); } return eC.NextResponse.next(); }, { callbacks: { authorized: ({ token: e2, req: t2 }) => { let { pathname: r2 } = t2.nextUrl; return !!(["/", "/artists", "/contact", "/book", "/aftercare", "/gift-cards", "/specials", "/terms", "/privacy", "/auth/signin", "/auth/error", "/unauthorized"].some((e3) => r2 === e3 || r2.startsWith(e3)) || r2.match(/^\/artists\/[^\/]+$/) || r2.startsWith("/api/auth") || r2.startsWith("/api/public")) || !!e2; } } }), eR = { matcher: ["/((?!_next/static|_next/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*)"] }, eT = { ...m }, eO = eT.middleware || eT.default, ek = "/middleware"; if ("function" != typeof eO) throw Error(`The Middleware "${ek}" must export a \`middleware\` or a \`default\` function`); function eI(e2) { return eA({ ...e2, page: ek, handler: eO }); } }, 282: (e, t) => { "use strict"; function r(e2, t2, r2) { n(e2, t2), t2.set(e2, r2); } function n(e2, t2) { if (t2.has(e2)) throw TypeError("Cannot initialize the same private elements twice on an object"); } function a(e2, t2) { return e2.get(o(e2, t2)); } function i(e2, t2, r2) { return e2.set(o(e2, t2), r2), r2; } function o(e2, t2, r2) { if ("function" == typeof e2 ? e2 === t2 : e2.has(t2)) return arguments.length < 3 ? t2 : r2; throw TypeError("Private element is not present on this object"); } Object.defineProperty(t, "__esModule", { value: true }), t.SessionStore = void 0, t.defaultCookies = function(e2) { let t2 = e2 ? "__Secure-" : ""; return { sessionToken: { name: `${t2}next-auth.session-token`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2 } }, callbackUrl: { name: `${t2}next-auth.callback-url`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2 } }, csrfToken: { name: `${e2 ? "__Host-" : ""}next-auth.csrf-token`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2 } }, pkceCodeVerifier: { name: `${t2}next-auth.pkce.code_verifier`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2, maxAge: 900 } }, state: { name: `${t2}next-auth.state`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2, maxAge: 900 } }, nonce: { name: `${t2}next-auth.nonce`, options: { httpOnly: true, sameSite: "lax", path: "/", secure: e2 } } }; }; var s = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), l = /* @__PURE__ */ new WeakMap(), d = /* @__PURE__ */ new WeakSet(); class u { constructor(e2, t2, o2) { !function(e3, t3) { n(e3, t3), t3.add(e3); }(this, d), r(this, s, {}), r(this, c, void 0), r(this, l, void 0), i(l, this, o2), i(c, this, e2); let { cookies: u2 } = t2, { name: p2 } = e2; if ("function" == typeof (null == u2 ? void 0 : u2.getAll)) for (let { name: e3, value: t3 } of u2.getAll()) e3.startsWith(p2) && (a(s, this)[e3] = t3); else if (u2 instanceof Map) for (let e3 of u2.keys()) e3.startsWith(p2) && (a(s, this)[e3] = u2.get(e3)); else for (let e3 in u2) e3.startsWith(p2) && (a(s, this)[e3] = u2[e3]); } get value() { return Object.keys(a(s, this)).sort((e2, t2) => { var r2, n2; return parseInt(null !== (r2 = e2.split(".").pop()) && void 0 !== r2 ? r2 : "0") - parseInt(null !== (n2 = t2.split(".").pop()) && void 0 !== n2 ? n2 : "0"); }).map((e2) => a(s, this)[e2]).join(""); } chunk(e2, t2) { let r2 = o(d, this, h).call(this); for (let n2 of o(d, this, p).call(this, { name: a(c, this).name, value: e2, options: { ...a(c, this).options, ...t2 } })) r2[n2.name] = n2; return Object.values(r2); } clean() { return Object.values(o(d, this, h).call(this)); } } function p(e2) { let t2 = Math.ceil(e2.value.length / 3933); if (1 === t2) return a(s, this)[e2.name] = e2.value, [e2]; let r2 = []; for (let n2 = 0; n2 < t2; n2++) { let t3 = `${e2.name}.${n2}`, i2 = e2.value.substr(3933 * n2, 3933); r2.push({ ...e2, name: t3, value: i2 }), a(s, this)[t3] = i2; } return a(l, this).debug("CHUNKING_SESSION_COOKIE", { message: "Session cookie exceeds allowed 4096 bytes.", emptyCookieSize: 163, valueSize: e2.value.length, chunks: r2.map((e3) => e3.value.length + 163) }), r2; } function h() { let e2 = {}; for (let r2 in a(s, this)) { var t2; null === (t2 = a(s, this)) || void 0 === t2 || delete t2[r2], e2[r2] = { name: r2, value: "", options: { ...a(c, this).options, maxAge: 0 } }; } return e2; } t.SessionStore = u; }, 859: (e, t, r) => { "use strict"; var n = r(476); Object.defineProperty(t, "__esModule", { value: true }); var a = { encode: true, decode: true, getToken: true }; t.decode = p, t.encode = u, t.getToken = h; var i = r(507), o = n(r(728)), s = r(532), c = r(282), l = r(555); Object.keys(l).forEach(function(e2) { !("default" === e2 || "__esModule" === e2 || Object.prototype.hasOwnProperty.call(a, e2)) && (e2 in t && t[e2] === l[e2] || Object.defineProperty(t, e2, { enumerable: true, get: function() { return l[e2]; } })); }); let d = () => Date.now() / 1e3 | 0; async function u(e2) { let { token: t2 = {}, secret: r2, maxAge: n2 = 2592e3, salt: a2 = "" } = e2, o2 = await f(r2, a2); return await new i.EncryptJWT(t2).setProtectedHeader({ alg: "dir", enc: "A256GCM" }).setIssuedAt().setExpirationTime(d() + n2).setJti((0, s.v4)()).encrypt(o2); } async function p(e2) { let { token: t2, secret: r2, salt: n2 = "" } = e2; if (!t2) return null; let a2 = await f(r2, n2), { payload: o2 } = await (0, i.jwtDecrypt)(t2, a2, { clockTolerance: 15 }); return o2; } async function h(e2) { var t2, r2, n2, a2; let { req: i2, secureCookie: o2 = null !== (t2 = null === (r2 = process.env.NEXTAUTH_URL) || void 0 === r2 ? void 0 : r2.startsWith("https://")) && void 0 !== t2 ? t2 : !!process.env.VERCEL, cookieName: s2 = o2 ? "__Secure-next-auth.session-token" : "next-auth.session-token", raw: l2, decode: d2 = p, logger: u2 = console, secret: h2 = null !== (n2 = process.env.NEXTAUTH_SECRET) && void 0 !== n2 ? n2 : process.env.AUTH_SECRET } = e2; if (!i2) throw Error("Must pass `req` to JWT getToken()"); let f2 = new c.SessionStore({ name: s2, options: { secure: o2 } }, { cookies: i2.cookies, headers: i2.headers }, u2).value, g = i2.headers instanceof Headers ? i2.headers.get("authorization") : null === (a2 = i2.headers) || void 0 === a2 ? void 0 : a2.authorization; if (f2 || (null == g ? void 0 : g.split(" ")[0]) !== "Bearer" || (f2 = decodeURIComponent(g.split(" ")[1])), !f2) return null; if (l2) return f2; try { return await d2({ token: f2, secret: h2 }); } catch (e3) { return null; } } async function f(e2, t2) { return await (0, o.default)("sha256", e2, t2, `NextAuth.js Generated Encryption Key${t2 ? ` (${t2})` : ""}`, 32); } }, 555: (e, t) => { "use strict"; Object.defineProperty(t, "__esModule", { value: true }); }, 784: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: true }); var n = {}; Object.defineProperty(t, "default", { enumerable: true, get: function() { return a.default; } }); var a = function(e2, t2) { if (e2 && e2.__esModule) return e2; if (null === e2 || "object" != typeof e2 && "function" != typeof e2) return { default: e2 }; var r2 = i(void 0); if (r2 && r2.has(e2)) return r2.get(e2); var n2 = { __proto__: null }, a2 = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e2) if ("default" !== o && {}.hasOwnProperty.call(e2, o)) { var s = a2 ? Object.getOwnPropertyDescriptor(e2, o) : null; s && (s.get || s.set) ? Object.defineProperty(n2, o, s) : n2[o] = e2[o]; } return n2.default = e2, r2 && r2.set(e2, n2), n2; }(r(93)); function i(e2) { if ("function" != typeof WeakMap) return null; var t2 = /* @__PURE__ */ new WeakMap(), r2 = /* @__PURE__ */ new WeakMap(); return (i = function(e3) { return e3 ? r2 : t2; })(e2); } Object.keys(a).forEach(function(e2) { !("default" === e2 || "__esModule" === e2 || Object.prototype.hasOwnProperty.call(n, e2)) && (e2 in t && t[e2] === a[e2] || Object.defineProperty(t, e2, { enumerable: true, get: function() { return a[e2]; } })); }); }, 93: (e, t, r) => { "use strict"; var n = r(476); Object.defineProperty(t, "__esModule", { value: true }), t.default = void 0, t.withAuth = c; var a = r(635), i = r(859), o = n(r(66)); async function s(e2, t2, r2) { var n2, s2, c2, l, d, u, p, h, f, g, y; let { pathname: w, search: m, origin: b, basePath: v } = e2.nextUrl, S = null !== (n2 = null == t2 || null === (s2 = t2.pages) || void 0 === s2 ? void 0 : s2.signIn) && void 0 !== n2 ? n2 : "/api/auth/signin", E = null !== (c2 = null == t2 || null === (l = t2.pages) || void 0 === l ? void 0 : l.error) && void 0 !== c2 ? c2 : "/api/auth/error", _ = (0, o.default)(process.env.NEXTAUTH_URL).path; if (`${v}${w}`.startsWith(_) || [S, E].includes(w) || ["/_next", "/favicon.ico"].some((e3) => w.startsWith(e3))) return; let A = null !== (d = null !== (u = null == t2 ? void 0 : t2.secret) && void 0 !== u ? u : process.env.NEXTAUTH_SECRET) && void 0 !== d ? d : process.env.AUTH_SECRET; if (!A) { console.error("[next-auth][error][NO_SECRET]", ` https://next-auth.js.org/errors#no_secret`); let e3 = new URL(`${v}${E}`, b); return e3.searchParams.append("error", "Configuration"), a.NextResponse.redirect(e3); } let P = await (0, i.getToken)({ req: e2, decode: null == t2 || null === (p = t2.jwt) || void 0 === p ? void 0 : p.decode, cookieName: null == t2 || null === (h = t2.cookies) || void 0 === h || null === (h = h.sessionToken) || void 0 === h ? void 0 : h.name, secret: A }); if (null !== (f = await (null == t2 || null === (g = t2.callbacks) || void 0 === g || null === (y = g.authorized) || void 0 === y ? void 0 : y.call(g, { req: e2, token: P }))) && void 0 !== f ? f : !!P) return await (null == r2 ? void 0 : r2(P)); let C = new URL(`${v}${S}`, b); return C.searchParams.append("callbackUrl", `${v}${w}${m}`), a.NextResponse.redirect(C); } function c(...e2) { if (!e2.length || e2[0] instanceof Request) return s(...e2); if ("function" == typeof e2[0]) { let t3 = e2[0], r2 = e2[1]; return async (...e3) => await s(e3[0], r2, async (r3) => (e3[0].nextauth = { token: r3 }, await t3(...e3))); } let t2 = e2[0]; return async (...e3) => await s(e3[0], t2); } t.default = c; }, 532: (e, t, r) => { "use strict"; r.r(t), r.d(t, { NIL: () => T, parse: () => y, stringify: () => p, v1: () => g, v3: () => P, v4: () => C, v5: () => R, validate: () => l, version: () => O }); var n, a, i, o = new Uint8Array(16); function s() { if (!n && !(n = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto))) throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported"); return n(o); } let c = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i, l = function(e2) { return "string" == typeof e2 && c.test(e2); }; for (var d = [], u = 0; u < 256; ++u) d.push((u + 256).toString(16).substr(1)); let p = function(e2) { var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, r2 = (d[e2[t2 + 0]] + d[e2[t2 + 1]] + d[e2[t2 + 2]] + d[e2[t2 + 3]] + "-" + d[e2[t2 + 4]] + d[e2[t2 + 5]] + "-" + d[e2[t2 + 6]] + d[e2[t2 + 7]] + "-" + d[e2[t2 + 8]] + d[e2[t2 + 9]] + "-" + d[e2[t2 + 10]] + d[e2[t2 + 11]] + d[e2[t2 + 12]] + d[e2[t2 + 13]] + d[e2[t2 + 14]] + d[e2[t2 + 15]]).toLowerCase(); if (!l(r2)) throw TypeError("Stringified UUID is invalid"); return r2; }; var h = 0, f = 0; let g = function(e2, t2, r2) { var n2 = t2 && r2 || 0, o2 = t2 || Array(16), c2 = (e2 = e2 || {}).node || a, l2 = void 0 !== e2.clockseq ? e2.clockseq : i; if (null == c2 || null == l2) { var d2 = e2.random || (e2.rng || s)(); null == c2 && (c2 = a = [1 | d2[0], d2[1], d2[2], d2[3], d2[4], d2[5]]), null == l2 && (l2 = i = (d2[6] << 8 | d2[7]) & 16383); } var u2 = void 0 !== e2.msecs ? e2.msecs : Date.now(), g2 = void 0 !== e2.nsecs ? e2.nsecs : f + 1, y2 = u2 - h + (g2 - f) / 1e4; if (y2 < 0 && void 0 === e2.clockseq && (l2 = l2 + 1 & 16383), (y2 < 0 || u2 > h) && void 0 === e2.nsecs && (g2 = 0), g2 >= 1e4) throw Error("uuid.v1(): Can't create more than 10M uuids/sec"); h = u2, f = g2, i = l2; var w2 = ((268435455 & (u2 += 122192928e5)) * 1e4 + g2) % 4294967296; o2[n2++] = w2 >>> 24 & 255, o2[n2++] = w2 >>> 16 & 255, o2[n2++] = w2 >>> 8 & 255, o2[n2++] = 255 & w2; var m2 = u2 / 4294967296 * 1e4 & 268435455; o2[n2++] = m2 >>> 8 & 255, o2[n2++] = 255 & m2, o2[n2++] = m2 >>> 24 & 15 | 16, o2[n2++] = m2 >>> 16 & 255, o2[n2++] = l2 >>> 8 | 128, o2[n2++] = 255 & l2; for (var b2 = 0; b2 < 6; ++b2) o2[n2 + b2] = c2[b2]; return t2 || p(o2); }, y = function(e2) { if (!l(e2)) throw TypeError("Invalid UUID"); var t2, r2 = new Uint8Array(16); return r2[0] = (t2 = parseInt(e2.slice(0, 8), 16)) >>> 24, r2[1] = t2 >>> 16 & 255, r2[2] = t2 >>> 8 & 255, r2[3] = 255 & t2, r2[4] = (t2 = parseInt(e2.slice(9, 13), 16)) >>> 8, r2[5] = 255 & t2, r2[6] = (t2 = parseInt(e2.slice(14, 18), 16)) >>> 8, r2[7] = 255 & t2, r2[8] = (t2 = parseInt(e2.slice(19, 23), 16)) >>> 8, r2[9] = 255 & t2, r2[10] = (t2 = parseInt(e2.slice(24, 36), 16)) / 1099511627776 & 255, r2[11] = t2 / 4294967296 & 255, r2[12] = t2 >>> 24 & 255, r2[13] = t2 >>> 16 & 255, r2[14] = t2 >>> 8 & 255, r2[15] = 255 & t2, r2; }; function w(e2, t2, r2) { function n2(e3, n3, a2, i2) { if ("string" == typeof e3 && (e3 = function(e4) { e4 = unescape(encodeURIComponent(e4)); for (var t3 = [], r3 = 0; r3 < e4.length; ++r3) t3.push(e4.charCodeAt(r3)); return t3; }(e3)), "string" == typeof n3 && (n3 = y(n3)), 16 !== n3.length) throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); var o2 = new Uint8Array(16 + e3.length); if (o2.set(n3), o2.set(e3, n3.length), (o2 = r2(o2))[6] = 15 & o2[6] | t2, o2[8] = 63 & o2[8] | 128, a2) { i2 = i2 || 0; for (var s2 = 0; s2 < 16; ++s2) a2[i2 + s2] = o2[s2]; return a2; } return p(o2); } try { n2.name = e2; } catch (e3) { } return n2.DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8", n2.URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8", n2; } function m(e2) { return (e2 + 64 >>> 9 << 4) + 14 + 1; } function b(e2, t2) { var r2 = (65535 & e2) + (65535 & t2); return (e2 >> 16) + (t2 >> 16) + (r2 >> 16) << 16 | 65535 & r2; } function v(e2, t2, r2, n2, a2, i2) { var o2; return b((o2 = b(b(t2, e2), b(n2, i2))) << a2 | o2 >>> 32 - a2, r2); } function S(e2, t2, r2, n2, a2, i2, o2) { return v(t2 & r2 | ~t2 & n2, e2, t2, a2, i2, o2); } function E(e2, t2, r2, n2, a2, i2, o2) { return v(t2 & n2 | r2 & ~n2, e2, t2, a2, i2, o2); } function _(e2, t2, r2, n2, a2, i2, o2) { return v(t2 ^ r2 ^ n2, e2, t2, a2, i2, o2); } function A(e2, t2, r2, n2, a2, i2, o2) { return v(r2 ^ (t2 | ~n2), e2, t2, a2, i2, o2); } let P = w("v3", 48, function(e2) { if ("string" == typeof e2) { var t2 = unescape(encodeURIComponent(e2)); e2 = new Uint8Array(t2.length); for (var r2 = 0; r2 < t2.length; ++r2) e2[r2] = t2.charCodeAt(r2); } return function(e3) { for (var t3 = [], r3 = 32 * e3.length, n2 = "0123456789abcdef", a2 = 0; a2 < r3; a2 += 8) { var i2 = e3[a2 >> 5] >>> a2 % 32 & 255, o2 = parseInt(n2.charAt(i2 >>> 4 & 15) + n2.charAt(15 & i2), 16); t3.push(o2); } return t3; }(function(e3, t3) { e3[t3 >> 5] |= 128 << t3 % 32, e3[m(t3) - 1] = t3; for (var r3 = 1732584193, n2 = -271733879, a2 = -1732584194, i2 = 271733878, o2 = 0; o2 < e3.length; o2 += 16) { var s2 = r3, c2 = n2, l2 = a2, d2 = i2; r3 = S(r3, n2, a2, i2, e3[o2], 7, -680876936), i2 = S(i2, r3, n2, a2, e3[o2 + 1], 12, -389564586), a2 = S(a2, i2, r3, n2, e3[o2 + 2], 17, 606105819), n2 = S(n2, a2, i2, r3, e3[o2 + 3], 22, -1044525330), r3 = S(r3, n2, a2, i2, e3[o2 + 4], 7, -176418897), i2 = S(i2, r3, n2, a2, e3[o2 + 5], 12, 1200080426), a2 = S(a2, i2, r3, n2, e3[o2 + 6], 17, -1473231341), n2 = S(n2, a2, i2, r3, e3[o2 + 7], 22, -45705983), r3 = S(r3, n2, a2, i2, e3[o2 + 8], 7, 1770035416), i2 = S(i2, r3, n2, a2, e3[o2 + 9], 12, -1958414417), a2 = S(a2, i2, r3, n2, e3[o2 + 10], 17, -42063), n2 = S(n2, a2, i2, r3, e3[o2 + 11], 22, -1990404162), r3 = S(r3, n2, a2, i2, e3[o2 + 12], 7, 1804603682), i2 = S(i2, r3, n2, a2, e3[o2 + 13], 12, -40341101), a2 = S(a2, i2, r3, n2, e3[o2 + 14], 17, -1502002290), n2 = S(n2, a2, i2, r3, e3[o2 + 15], 22, 1236535329), r3 = E(r3, n2, a2, i2, e3[o2 + 1], 5, -165796510), i2 = E(i2, r3, n2, a2, e3[o2 + 6], 9, -1069501632), a2 = E(a2, i2, r3, n2, e3[o2 + 11], 14, 643717713), n2 = E(n2, a2, i2, r3, e3[o2], 20, -373897302), r3 = E(r3, n2, a2, i2, e3[o2 + 5], 5, -701558691), i2 = E(i2, r3, n2, a2, e3[o2 + 10], 9, 38016083), a2 = E(a2, i2, r3, n2, e3[o2 + 15], 14, -660478335), n2 = E(n2, a2, i2, r3, e3[o2 + 4], 20, -405537848), r3 = E(r3, n2, a2, i2, e3[o2 + 9], 5, 568446438), i2 = E(i2, r3, n2, a2, e3[o2 + 14], 9, -1019803690), a2 = E(a2, i2, r3, n2, e3[o2 + 3], 14, -187363961), n2 = E(n2, a2, i2, r3, e3[o2 + 8], 20, 1163531501), r3 = E(r3, n2, a2, i2, e3[o2 + 13], 5, -1444681467), i2 = E(i2, r3, n2, a2, e3[o2 + 2], 9, -51403784), a2 = E(a2, i2, r3, n2, e3[o2 + 7], 14, 1735328473), n2 = E(n2, a2, i2, r3, e3[o2 + 12], 20, -1926607734), r3 = _(r3, n2, a2, i2, e3[o2 + 5], 4, -378558), i2 = _(i2, r3, n2, a2, e3[o2 + 8], 11, -2022574463), a2 = _(a2, i2, r3, n2, e3[o2 + 11], 16, 1839030562), n2 = _(n2, a2, i2, r3, e3[o2 + 14], 23, -35309556), r3 = _(r3, n2, a2, i2, e3[o2 + 1], 4, -1530992060), i2 = _(i2, r3, n2, a2, e3[o2 + 4], 11, 1272893353), a2 = _(a2, i2, r3, n2, e3[o2 + 7], 16, -155497632), n2 = _(n2, a2, i2, r3, e3[o2 + 10], 23, -1094730640), r3 = _(r3, n2, a2, i2, e3[o2 + 13], 4, 681279174), i2 = _(i2, r3, n2, a2, e3[o2], 11, -358537222), a2 = _(a2, i2, r3, n2, e3[o2 + 3], 16, -722521979), n2 = _(n2, a2, i2, r3, e3[o2 + 6], 23, 76029189), r3 = _(r3, n2, a2, i2, e3[o2 + 9], 4, -640364487), i2 = _(i2, r3, n2, a2, e3[o2 + 12], 11, -421815835), a2 = _(a2, i2, r3, n2, e3[o2 + 15], 16, 530742520), n2 = _(n2, a2, i2, r3, e3[o2 + 2], 23, -995338651), r3 = A(r3, n2, a2, i2, e3[o2], 6, -198630844), i2 = A(i2, r3, n2, a2, e3[o2 + 7], 10, 1126891415), a2 = A(a2, i2, r3, n2, e3[o2 + 14], 15, -1416354905), n2 = A(n2, a2, i2, r3, e3[o2 + 5], 21, -57434055), r3 = A(r3, n2, a2, i2, e3[o2 + 12], 6, 1700485571), i2 = A(i2, r3, n2, a2, e3[o2 + 3], 10, -1894986606), a2 = A(a2, i2, r3, n2, e3[o2 + 10], 15, -1051523), n2 = A(n2, a2, i2, r3, e3[o2 + 1], 21, -2054922799), r3 = A(r3, n2, a2, i2, e3[o2 + 8], 6, 1873313359), i2 = A(i2, r3, n2, a2, e3[o2 + 15], 10, -30611744), a2 = A(a2, i2, r3, n2, e3[o2 + 6], 15, -1560198380), n2 = A(n2, a2, i2, r3, e3[o2 + 13], 21, 1309151649), r3 = A(r3, n2, a2, i2, e3[o2 + 4], 6, -145523070), i2 = A(i2, r3, n2, a2, e3[o2 + 11], 10, -1120210379), a2 = A(a2, i2, r3, n2, e3[o2 + 2], 15, 718787259), n2 = A(n2, a2, i2, r3, e3[o2 + 9], 21, -343485551), r3 = b(r3, s2), n2 = b(n2, c2), a2 = b(a2, l2), i2 = b(i2, d2); } return [r3, n2, a2, i2]; }(function(e3) { if (0 === e3.length) return []; for (var t3 = 8 * e3.length, r3 = new Uint32Array(m(t3)), n2 = 0; n2 < t3; n2 += 8) r3[n2 >> 5] |= (255 & e3[n2 / 8]) << n2 % 32; return r3; }(e2), 8 * e2.length)); }), C = function(e2, t2, r2) { var n2 = (e2 = e2 || {}).random || (e2.rng || s)(); if (n2[6] = 15 & n2[6] | 64, n2[8] = 63 & n2[8] | 128, t2) { r2 = r2 || 0; for (var a2 = 0; a2 < 16; ++a2) t2[r2 + a2] = n2[a2]; return t2; } return p(n2); }; function x(e2, t2) { return e2 << t2 | e2 >>> 32 - t2; } let R = w("v5", 80, function(e2) { var t2 = [1518500249, 1859775393, 2400959708, 3395469782], r2 = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; if ("string" == typeof e2) { var n2 = unescape(encodeURIComponent(e2)); e2 = []; for (var a2 = 0; a2 < n2.length; ++a2) e2.push(n2.charCodeAt(a2)); } else Array.isArray(e2) || (e2 = Array.prototype.slice.call(e2)); e2.push(128); for (var i2 = Math.ceil((e2.length / 4 + 2) / 16), o2 = Array(i2), s2 = 0; s2 < i2; ++s2) { for (var c2 = new Uint32Array(16), l2 = 0; l2 < 16; ++l2) c2[l2] = e2[64 * s2 + 4 * l2] << 24 | e2[64 * s2 + 4 * l2 + 1] << 16 | e2[64 * s2 + 4 * l2 + 2] << 8 | e2[64 * s2 + 4 * l2 + 3]; o2[s2] = c2; } o2[i2 - 1][14] = (e2.length - 1) * 8 / 4294967296, o2[i2 - 1][14] = Math.floor(o2[i2 - 1][14]), o2[i2 - 1][15] = (e2.length - 1) * 8 & 4294967295; for (var d2 = 0; d2 < i2; ++d2) { for (var u2 = new Uint32Array(80), p2 = 0; p2 < 16; ++p2) u2[p2] = o2[d2][p2]; for (var h2 = 16; h2 < 80; ++h2) u2[h2] = x(u2[h2 - 3] ^ u2[h2 - 8] ^ u2[h2 - 14] ^ u2[h2 - 16], 1); for (var f2 = r2[0], g2 = r2[1], y2 = r2[2], w2 = r2[3], m2 = r2[4], b2 = 0; b2 < 80; ++b2) { var v2 = Math.floor(b2 / 20), S2 = x(f2, 5) + function(e3, t3, r3, n3) { switch (e3) { case 0: return t3 & r3 ^ ~t3 & n3; case 1: case 3: return t3 ^ r3 ^ n3; case 2: return t3 & r3 ^ t3 & n3 ^ r3 & n3; } }(v2, g2, y2, w2) + m2 + t2[v2] + u2[b2] >>> 0; m2 = w2, w2 = y2, y2 = x(g2, 30) >>> 0, g2 = f2, f2 = S2; } r2[0] = r2[0] + f2 >>> 0, r2[1] = r2[1] + g2 >>> 0, r2[2] = r2[2] + y2 >>> 0, r2[3] = r2[3] + w2 >>> 0, r2[4] = r2[4] + m2 >>> 0; } return [r2[0] >> 24 & 255, r2[0] >> 16 & 255, r2[0] >> 8 & 255, 255 & r2[0], r2[1] >> 24 & 255, r2[1] >> 16 & 255, r2[1] >> 8 & 255, 255 & r2[1], r2[2] >> 24 & 255, r2[2] >> 16 & 255, r2[2] >> 8 & 255, 255 & r2[2], r2[3] >> 24 & 255, r2[3] >> 16 & 255, r2[3] >> 8 & 255, 255 & r2[3], r2[4] >> 24 & 255, r2[4] >> 16 & 255, r2[4] >> 8 & 255, 255 & r2[4]]; }), T = "00000000-0000-0000-0000-000000000000", O = function(e2) { if (!l(e2)) throw TypeError("Invalid UUID"); return parseInt(e2.substr(14, 1), 16); }; }, 66: (e, t) => { "use strict"; Object.defineProperty(t, "__esModule", { value: true }), t.default = function(e2) { var t2; let r = new URL("http://localhost:3000/api/auth"); e2 && !e2.startsWith("http") && (e2 = `https://${e2}`); let n = new URL(null !== (t2 = e2) && void 0 !== t2 ? t2 : r), a = ("/" === n.pathname ? r.pathname : n.pathname).replace(/\/$/, ""), i = `${n.origin}${a}`; return { origin: n.origin, host: n.host, path: a, base: i, toString: () => i }; }; }, 945: (e) => { "use strict"; var t = Object.defineProperty, r = Object.getOwnPropertyDescriptor, n = Object.getOwnPropertyNames, a = Object.prototype.hasOwnProperty, i = {}; function o(e2) { var t2; let r2 = ["path" in e2 && e2.path && `Path=${e2.path}`, "expires" in e2 && (e2.expires || 0 === e2.expires) && `Expires=${("number" == typeof e2.expires ? new Date(e2.expires) : e2.expires).toUTCString()}`, "maxAge" in e2 && "number" == typeof e2.maxAge && `Max-Age=${e2.maxAge}`, "domain" in e2 && e2.domain && `Domain=${e2.domain}`, "secure" in e2 && e2.secure && "Secure", "httpOnly" in e2 && e2.httpOnly && "HttpOnly", "sameSite" in e2 && e2.sameSite && `SameSite=${e2.sameSite}`, "partitioned" in e2 && e2.partitioned && "Partitioned", "priority" in e2 && e2.priority && `Priority=${e2.priority}`].filter(Boolean), n2 = `${e2.name}=${encodeURIComponent(null != (t2 = e2.value) ? t2 : "")}`; return 0 === r2.length ? n2 : `${n2}; ${r2.join("; ")}`; } function s(e2) { let t2 = /* @__PURE__ */ new Map(); for (let r2 of e2.split(/; */)) { if (!r2) continue; let e3 = r2.indexOf("="); if (-1 === e3) { t2.set(r2, "true"); continue; } let [n2, a2] = [r2.slice(0, e3), r2.slice(e3 + 1)]; try { t2.set(n2, decodeURIComponent(null != a2 ? a2 : "true")); } catch { } } return t2; } function c(e2) { var t2, r2; if (!e2) return; let [[n2, a2], ...i2] = s(e2), { domain: o2, expires: c2, httponly: u2, maxage: p2, path: h, samesite: f, secure: g, partitioned: y, priority: w } = Object.fromEntries(i2.map(([e3, t3]) => [e3.toLowerCase(), t3])); return function(e3) { let t3 = {}; for (let r3 in e3) e3[r3] && (t3[r3] = e3[r3]); return t3; }({ name: n2, value: decodeURIComponent(a2), domain: o2, ...c2 && { expires: new Date(c2) }, ...u2 && { httpOnly: true }, ..."string" == typeof p2 && { maxAge: Number(p2) }, path: h, ...f && { sameSite: l.includes(t2 = (t2 = f).toLowerCase()) ? t2 : void 0 }, ...g && { secure: true }, ...w && { priority: d.includes(r2 = (r2 = w).toLowerCase()) ? r2 : void 0 }, ...y && { partitioned: true } }); } ((e2, r2) => { for (var n2 in r2) t(e2, n2, { get: r2[n2], enumerable: true }); })(i, { RequestCookies: () => u, ResponseCookies: () => p, parseCookie: () => s, parseSetCookie: () => c, stringifyCookie: () => o }), e.exports = ((e2, i2, o2, s2) => { if (i2 && "object" == typeof i2 || "function" == typeof i2) for (let c2 of n(i2)) a.call(e2, c2) || c2 === o2 || t(e2, c2, { get: () => i2[c2], enumerable: !(s2 = r(i2, c2)) || s2.enumerable }); return e2; })(t({}, "__esModule", { value: true }), i); var l = ["strict", "lax", "none"], d = ["low", "medium", "high"], u = class { constructor(e2) { this._parsed = /* @__PURE__ */ new Map(), this._headers = e2; let t2 = e2.get("cookie"); if (t2) for (let [e3, r2] of s(t2)) this._parsed.set(e3, { name: e3, value: r2 }); } [Symbol.iterator]() { return this._parsed[Symbol.iterator](); } get size() { return this._parsed.size; } get(...e2) { let t2 = "string" == typeof e2[0] ? e2[0] : e2[0].name; return this._parsed.get(t2); } getAll(...e2) { var t2; let r2 = Array.from(this._parsed); if (!e2.length) return r2.map(([e3, t3]) => t3); let n2 = "string" == typeof e2[0] ? e2[0] : null == (t2 = e2[0]) ? void 0 : t2.name; return r2.filter(([e3]) => e3 === n2).map(([e3, t3]) => t3); } has(e2) { return this._parsed.has(e2); } set(...e2) { let [t2, r2] = 1 === e2.length ? [e2[0].name, e2[0].value] : e2, n2 = this._parsed; return n2.set(t2, { name: t2, value: r2 }), this._headers.set("cookie", Array.from(n2).map(([e3, t3]) => o(t3)).join("; ")), this; } delete(e2) { let t2 = this._parsed, r2 = Array.isArray(e2) ? e2.map((e3) => t2.delete(e3)) : t2.delete(e2); return this._headers.set("cookie", Array.from(t2).map(([e3, t3]) => o(t3)).join("; ")), r2; } clear() { return this.delete(Array.from(this._parsed.keys())), this; } [Symbol.for("edge-runtime.inspect.custom")]() { return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; } toString() { return [...this._parsed.values()].map((e2) => `${e2.name}=${encodeURIComponent(e2.value)}`).join("; "); } }, p = class { constructor(e2) { var t2, r2, n2; this._parsed = /* @__PURE__ */ new Map(), this._headers = e2; let a2 = null != (n2 = null != (r2 = null == (t2 = e2.getSetCookie) ? void 0 : t2.call(e2)) ? r2 : e2.get("set-cookie")) ? n2 : []; for (let e3 of Array.isArray(a2) ? a2 : function(e4) { if (!e4) return []; var t3, r3, n3, a3, i2, o2 = [], s2 = 0; function c2() { for (; s2 < e4.length && /\s/.test(e4.charAt(s2)); ) s2 += 1; return s2 < e4.length; } for (; s2 < e4.length; ) { for (t3 = s2, i2 = false; c2(); ) if ("," === (r3 = e4.charAt(s2))) { for (n3 = s2, s2 += 1, c2(), a3 = s2; s2 < e4.length && "=" !== (r3 = e4.charAt(s2)) && ";" !== r3 && "," !== r3; ) s2 += 1; s2 < e4.length && "=" === e4.charAt(s2) ? (i2 = true, s2 = a3, o2.push(e4.substring(t3, n3)), t3 = s2) : s2 = n3 + 1; } else s2 += 1; (!i2 || s2 >= e4.length) && o2.push(e4.substring(t3, e4.length)); } return o2; }(a2)) { let t3 = c(e3); t3 && this._parsed.set(t3.name, t3); } } get(...e2) { let t2 = "string" == typeof e2[0] ? e2[0] : e2[0].name; return this._parsed.get(t2); } getAll(...e2) { var t2; let r2 = Array.from(this._parsed.values()); if (!e2.length) return r2; let n2 = "string" == typeof e2[0] ? e2[0] : null == (t2 = e2[0]) ? void 0 : t2.name; return r2.filter((e3) => e3.name === n2); } has(e2) { return this._parsed.has(e2); } set(...e2) { let [t2, r2, n2] = 1 === e2.length ? [e2[0].name, e2[0].value, e2[0]] : e2, a2 = this._parsed; return a2.set(t2, function(e3 = { name: "", value: "" }) { return "number" == typeof e3.expires && (e3.expires = new Date(e3.expires)), e3.maxAge && (e3.expires = new Date(Date.now() + 1e3 * e3.maxAge)), (null === e3.path || void 0 === e3.path) && (e3.path = "/"), e3; }({ name: t2, value: r2, ...n2 })), function(e3, t3) { for (let [, r3] of (t3.delete("set-cookie"), e3)) { let e4 = o(r3); t3.append("set-cookie", e4); } }(a2, this._headers), this; } delete(...e2) { let [t2, r2, n2] = "string" == typeof e2[0] ? [e2[0]] : [e2[0].name, e2[0].path, e2[0].domain]; return this.set({ name: t2, path: r2, domain: n2, value: "", expires: /* @__PURE__ */ new Date(0) }); } [Symbol.for("edge-runtime.inspect.custom")]() { return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; } toString() { return [...this._parsed.values()].map(o).join("; "); } }; }, 439: (e, t, r) => { (() => { "use strict"; var t2 = { 491: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.ContextAPI = void 0; let n2 = r2(223), a2 = r2(172), i2 = r2(930), o = "context", s = new n2.NoopContextManager(); class c { constructor() { } static getInstance() { return this._instance || (this._instance = new c()), this._instance; } setGlobalContextManager(e3) { return (0, a2.registerGlobal)(o, e3, i2.DiagAPI.instance()); } active() { return this._getContextManager().active(); } with(e3, t4, r3, ...n3) { return this._getContextManager().with(e3, t4, r3, ...n3); } bind(e3, t4) { return this._getContextManager().bind(e3, t4); } _getContextManager() { return (0, a2.getGlobal)(o) || s; } disable() { this._getContextManager().disable(), (0, a2.unregisterGlobal)(o, i2.DiagAPI.instance()); } } t3.ContextAPI = c; }, 930: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.DiagAPI = void 0; let n2 = r2(56), a2 = r2(912), i2 = r2(957), o = r2(172); class s { constructor() { function e3(e4) { return function(...t5) { let r3 = (0, o.getGlobal)("diag"); if (r3) return r3[e4](...t5); }; } let t4 = this; t4.setLogger = (e4, r3 = { logLevel: i2.DiagLogLevel.INFO }) => { var n3, s2, c; if (e4 === t4) { let e5 = Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation"); return t4.error(null !== (n3 = e5.stack) && void 0 !== n3 ? n3 : e5.message), false; } "number" == typeof r3 && (r3 = { logLevel: r3 }); let l = (0, o.getGlobal)("diag"), d = (0, a2.createLogLevelDiagLogger)(null !== (s2 = r3.logLevel) && void 0 !== s2 ? s2 : i2.DiagLogLevel.INFO, e4); if (l && !r3.suppressOverrideMessage) { let e5 = null !== (c = Error().stack) && void 0 !== c ? c : ""; l.warn(`Current logger will be overwritten from ${e5}`), d.warn(`Current logger will overwrite one already registered from ${e5}`); } return (0, o.registerGlobal)("diag", d, t4, true); }, t4.disable = () => { (0, o.unregisterGlobal)("diag", t4); }, t4.createComponentLogger = (e4) => new n2.DiagComponentLogger(e4), t4.verbose = e3("verbose"), t4.debug = e3("debug"), t4.info = e3("info"), t4.warn = e3("warn"), t4.error = e3("error"); } static instance() { return this._instance || (this._instance = new s()), this._instance; } } t3.DiagAPI = s; }, 653: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.MetricsAPI = void 0; let n2 = r2(660), a2 = r2(172), i2 = r2(930), o = "metrics"; class s { constructor() { } static getInstance() { return this._instance || (this._instance = new s()), this._instance; } setGlobalMeterProvider(e3) { return (0, a2.registerGlobal)(o, e3, i2.DiagAPI.instance()); } getMeterProvider() { return (0, a2.getGlobal)(o) || n2.NOOP_METER_PROVIDER; } getMeter(e3, t4, r3) { return this.getMeterProvider().getMeter(e3, t4, r3); } disable() { (0, a2.unregisterGlobal)(o, i2.DiagAPI.instance()); } } t3.MetricsAPI = s; }, 181: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.PropagationAPI = void 0; let n2 = r2(172), a2 = r2(874), i2 = r2(194), o = r2(277), s = r2(369), c = r2(930), l = "propagation", d = new a2.NoopTextMapPropagator(); class u { constructor() { this.createBaggage = s.createBaggage, this.getBaggage = o.getBaggage, this.getActiveBaggage = o.getActiveBaggage, this.setBaggage = o.setBaggage, this.deleteBaggage = o.deleteBaggage; } static getInstance() { return this._instance || (this._instance = new u()), this._instance; } setGlobalPropagator(e3) { return (0, n2.registerGlobal)(l, e3, c.DiagAPI.instance()); } inject(e3, t4, r3 = i2.defaultTextMapSetter) { return this._getGlobalPropagator().inject(e3, t4, r3); } extract(e3, t4, r3 = i2.defaultTextMapGetter) { return this._getGlobalPropagator().extract(e3, t4, r3); } fields() { return this._getGlobalPropagator().fields(); } disable() { (0, n2.unregisterGlobal)(l, c.DiagAPI.instance()); } _getGlobalPropagator() { return (0, n2.getGlobal)(l) || d; } } t3.PropagationAPI = u; }, 997: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.TraceAPI = void 0; let n2 = r2(172), a2 = r2(846), i2 = r2(139), o = r2(607), s = r2(930), c = "trace"; class l { constructor() { this._proxyTracerProvider = new a2.ProxyTracerProvider(), this.wrapSpanContext = i2.wrapSpanContext, this.isSpanContextValid = i2.isSpanContextValid, this.deleteSpan = o.deleteSpan, this.getSpan = o.getSpan, this.getActiveSpan = o.getActiveSpan, this.getSpanContext = o.getSpanContext, this.setSpan = o.setSpan, this.setSpanContext = o.setSpanContext; } static getInstance() { return this._instance || (this._instance = new l()), this._instance; } setGlobalTracerProvider(e3) { let t4 = (0, n2.registerGlobal)(c, this._proxyTracerProvider, s.DiagAPI.instance()); return t4 && this._proxyTracerProvider.setDelegate(e3), t4; } getTracerProvider() { return (0, n2.getGlobal)(c) || this._proxyTracerProvider; } getTracer(e3, t4) { return this.getTracerProvider().getTracer(e3, t4); } disable() { (0, n2.unregisterGlobal)(c, s.DiagAPI.instance()), this._proxyTracerProvider = new a2.ProxyTracerProvider(); } } t3.TraceAPI = l; }, 277: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.deleteBaggage = t3.setBaggage = t3.getActiveBaggage = t3.getBaggage = void 0; let n2 = r2(491), a2 = (0, r2(780).createContextKey)("OpenTelemetry Baggage Key"); function i2(e3) { return e3.getValue(a2) || void 0; } t3.getBaggage = i2, t3.getActiveBaggage = function() { return i2(n2.ContextAPI.getInstance().active()); }, t3.setBaggage = function(e3, t4) { return e3.setValue(a2, t4); }, t3.deleteBaggage = function(e3) { return e3.deleteValue(a2); }; }, 993: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.BaggageImpl = void 0; class r2 { constructor(e3) { this._entries = e3 ? new Map(e3) : /* @__PURE__ */ new Map(); } getEntry(e3) { let t4 = this._entries.get(e3); if (t4) return Object.assign({}, t4); } getAllEntries() { return Array.from(this._entries.entries()).map(([e3, t4]) => [e3, t4]); } setEntry(e3, t4) { let n2 = new r2(this._entries); return n2._entries.set(e3, t4), n2; } removeEntry(e3) { let t4 = new r2(this._entries); return t4._entries.delete(e3), t4; } removeEntries(...e3) { let t4 = new r2(this._entries); for (let r3 of e3) t4._entries.delete(r3); return t4; } clear() { return new r2(); } } t3.BaggageImpl = r2; }, 830: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.baggageEntryMetadataSymbol = void 0, t3.baggageEntryMetadataSymbol = Symbol("BaggageEntryMetadata"); }, 369: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.baggageEntryMetadataFromString = t3.createBaggage = void 0; let n2 = r2(930), a2 = r2(993), i2 = r2(830), o = n2.DiagAPI.instance(); t3.createBaggage = function(e3 = {}) { return new a2.BaggageImpl(new Map(Object.entries(e3))); }, t3.baggageEntryMetadataFromString = function(e3) { return "string" != typeof e3 && (o.error(`Cannot create baggage metadata from unknown type: ${typeof e3}`), e3 = ""), { __TYPE__: i2.baggageEntryMetadataSymbol, toString: () => e3 }; }; }, 67: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.context = void 0; let n2 = r2(491); t3.context = n2.ContextAPI.getInstance(); }, 223: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NoopContextManager = void 0; let n2 = r2(780); class a2 { active() { return n2.ROOT_CONTEXT; } with(e3, t4, r3, ...n3) { return t4.call(r3, ...n3); } bind(e3, t4) { return t4; } enable() { return this; } disable() { return this; } } t3.NoopContextManager = a2; }, 780: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.ROOT_CONTEXT = t3.createContextKey = void 0, t3.createContextKey = function(e3) { return Symbol.for(e3); }; class r2 { constructor(e3) { let t4 = this; t4._currentContext = e3 ? new Map(e3) : /* @__PURE__ */ new Map(), t4.getValue = (e4) => t4._currentContext.get(e4), t4.setValue = (e4, n2) => { let a2 = new r2(t4._currentContext); return a2._currentContext.set(e4, n2), a2; }, t4.deleteValue = (e4) => { let n2 = new r2(t4._currentContext); return n2._currentContext.delete(e4), n2; }; } } t3.ROOT_CONTEXT = new r2(); }, 506: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.diag = void 0; let n2 = r2(930); t3.diag = n2.DiagAPI.instance(); }, 56: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.DiagComponentLogger = void 0; let n2 = r2(172); class a2 { constructor(e3) { this._namespace = e3.namespace || "DiagComponentLogger"; } debug(...e3) { return i2("debug", this._namespace, e3); } error(...e3) { return i2("error", this._namespace, e3); } info(...e3) { return i2("info", this._namespace, e3); } warn(...e3) { return i2("warn", this._namespace, e3); } verbose(...e3) { return i2("verbose", this._namespace, e3); } } function i2(e3, t4, r3) { let a3 = (0, n2.getGlobal)("diag"); if (a3) return r3.unshift(t4), a3[e3](...r3); } t3.DiagComponentLogger = a2; }, 972: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.DiagConsoleLogger = void 0; let r2 = [{ n: "error", c: "error" }, { n: "warn", c: "warn" }, { n: "info", c: "info" }, { n: "debug", c: "debug" }, { n: "verbose", c: "trace" }]; class n2 { constructor() { for (let e3 = 0; e3 < r2.length; e3++) this[r2[e3].n] = /* @__PURE__ */ function(e4) { return function(...t4) { if (console) { let r3 = console[e4]; if ("function" != typeof r3 && (r3 = console.log), "function" == typeof r3) return r3.apply(console, t4); } }; }(r2[e3].c); } } t3.DiagConsoleLogger = n2; }, 912: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.createLogLevelDiagLogger = void 0; let n2 = r2(957); t3.createLogLevelDiagLogger = function(e3, t4) { function r3(r4, n3) { let a2 = t4[r4]; return "function" == typeof a2 && e3 >= n3 ? a2.bind(t4) : function() { }; } return e3 < n2.DiagLogLevel.NONE ? e3 = n2.DiagLogLevel.NONE : e3 > n2.DiagLogLevel.ALL && (e3 = n2.DiagLogLevel.ALL), t4 = t4 || {}, { error: r3("error", n2.DiagLogLevel.ERROR), warn: r3("warn", n2.DiagLogLevel.WARN), info: r3("info", n2.DiagLogLevel.INFO), debug: r3("debug", n2.DiagLogLevel.DEBUG), verbose: r3("verbose", n2.DiagLogLevel.VERBOSE) }; }; }, 957: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.DiagLogLevel = void 0, function(e3) { e3[e3.NONE = 0] = "NONE", e3[e3.ERROR = 30] = "ERROR", e3[e3.WARN = 50] = "WARN", e3[e3.INFO = 60] = "INFO", e3[e3.DEBUG = 70] = "DEBUG", e3[e3.VERBOSE = 80] = "VERBOSE", e3[e3.ALL = 9999] = "ALL"; }(t3.DiagLogLevel || (t3.DiagLogLevel = {})); }, 172: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.unregisterGlobal = t3.getGlobal = t3.registerGlobal = void 0; let n2 = r2(200), a2 = r2(521), i2 = r2(130), o = a2.VERSION.split(".")[0], s = Symbol.for(`opentelemetry.js.api.${o}`), c = n2._globalThis; t3.registerGlobal = function(e3, t4, r3, n3 = false) { var i3; let o2 = c[s] = null !== (i3 = c[s]) && void 0 !== i3 ? i3 : { version: a2.VERSION }; if (!n3 && o2[e3]) { let t5 = Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e3}`); return r3.error(t5.stack || t5.message), false; } if (o2.version !== a2.VERSION) { let t5 = Error(`@opentelemetry/api: Registration of version v${o2.version} for ${e3} does not match previously registered API v${a2.VERSION}`); return r3.error(t5.stack || t5.message), false; } return o2[e3] = t4, r3.debug(`@opentelemetry/api: Registered a global for ${e3} v${a2.VERSION}.`), true; }, t3.getGlobal = function(e3) { var t4, r3; let n3 = null === (t4 = c[s]) || void 0 === t4 ? void 0 : t4.version; if (n3 && (0, i2.isCompatible)(n3)) return null === (r3 = c[s]) || void 0 === r3 ? void 0 : r3[e3]; }, t3.unregisterGlobal = function(e3, t4) { t4.debug(`@opentelemetry/api: Unregistering a global for ${e3} v${a2.VERSION}.`); let r3 = c[s]; r3 && delete r3[e3]; }; }, 130: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.isCompatible = t3._makeCompatibilityCheck = void 0; let n2 = r2(521), a2 = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/; function i2(e3) { let t4 = /* @__PURE__ */ new Set([e3]), r3 = /* @__PURE__ */ new Set(), n3 = e3.match(a2); if (!n3) return () => false; let i3 = { major: +n3[1], minor: +n3[2], patch: +n3[3], prerelease: n3[4] }; if (null != i3.prerelease) return function(t5) { return t5 === e3; }; function o(e4) { return r3.add(e4), false; } return function(e4) { if (t4.has(e4)) return true; if (r3.has(e4)) return false; let n4 = e4.match(a2); if (!n4) return o(e4); let s = { major: +n4[1], minor: +n4[2], patch: +n4[3], prerelease: n4[4] }; return null != s.prerelease || i3.major !== s.major ? o(e4) : 0 === i3.major ? i3.minor === s.minor && i3.patch <= s.patch ? (t4.add(e4), true) : o(e4) : i3.minor <= s.minor ? (t4.add(e4), true) : o(e4); }; } t3._makeCompatibilityCheck = i2, t3.isCompatible = i2(n2.VERSION); }, 886: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.metrics = void 0; let n2 = r2(653); t3.metrics = n2.MetricsAPI.getInstance(); }, 901: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.ValueType = void 0, function(e3) { e3[e3.INT = 0] = "INT", e3[e3.DOUBLE = 1] = "DOUBLE"; }(t3.ValueType || (t3.ValueType = {})); }, 102: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.createNoopMeter = t3.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = t3.NOOP_OBSERVABLE_GAUGE_METRIC = t3.NOOP_OBSERVABLE_COUNTER_METRIC = t3.NOOP_UP_DOWN_COUNTER_METRIC = t3.NOOP_HISTOGRAM_METRIC = t3.NOOP_COUNTER_METRIC = t3.NOOP_METER = t3.NoopObservableUpDownCounterMetric = t3.NoopObservableGaugeMetric = t3.NoopObservableCounterMetric = t3.NoopObservableMetric = t3.NoopHistogramMetric = t3.NoopUpDownCounterMetric = t3.NoopCounterMetric = t3.NoopMetric = t3.NoopMeter = void 0; class r2 { constructor() { } createHistogram(e3, r3) { return t3.NOOP_HISTOGRAM_METRIC; } createCounter(e3, r3) { return t3.NOOP_COUNTER_METRIC; } createUpDownCounter(e3, r3) { return t3.NOOP_UP_DOWN_COUNTER_METRIC; } createObservableGauge(e3, r3) { return t3.NOOP_OBSERVABLE_GAUGE_METRIC; } createObservableCounter(e3, r3) { return t3.NOOP_OBSERVABLE_COUNTER_METRIC; } createObservableUpDownCounter(e3, r3) { return t3.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC; } addBatchObservableCallback(e3, t4) { } removeBatchObservableCallback(e3) { } } t3.NoopMeter = r2; class n2 { } t3.NoopMetric = n2; class a2 extends n2 { add(e3, t4) { } } t3.NoopCounterMetric = a2; class i2 extends n2 { add(e3, t4) { } } t3.NoopUpDownCounterMetric = i2; class o extends n2 { record(e3, t4) { } } t3.NoopHistogramMetric = o; class s { addCallback(e3) { } removeCallback(e3) { } } t3.NoopObservableMetric = s; class c extends s { } t3.NoopObservableCounterMetric = c; class l extends s { } t3.NoopObservableGaugeMetric = l; class d extends s { } t3.NoopObservableUpDownCounterMetric = d, t3.NOOP_METER = new r2(), t3.NOOP_COUNTER_METRIC = new a2(), t3.NOOP_HISTOGRAM_METRIC = new o(), t3.NOOP_UP_DOWN_COUNTER_METRIC = new i2(), t3.NOOP_OBSERVABLE_COUNTER_METRIC = new c(), t3.NOOP_OBSERVABLE_GAUGE_METRIC = new l(), t3.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new d(), t3.createNoopMeter = function() { return t3.NOOP_METER; }; }, 660: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NOOP_METER_PROVIDER = t3.NoopMeterProvider = void 0; let n2 = r2(102); class a2 { getMeter(e3, t4, r3) { return n2.NOOP_METER; } } t3.NoopMeterProvider = a2, t3.NOOP_METER_PROVIDER = new a2(); }, 200: function(e2, t3, r2) { var n2 = this && this.__createBinding || (Object.create ? function(e3, t4, r3, n3) { void 0 === n3 && (n3 = r3), Object.defineProperty(e3, n3, { enumerable: true, get: function() { return t4[r3]; } }); } : function(e3, t4, r3, n3) { void 0 === n3 && (n3 = r3), e3[n3] = t4[r3]; }), a2 = this && this.__exportStar || function(e3, t4) { for (var r3 in e3) "default" === r3 || Object.prototype.hasOwnProperty.call(t4, r3) || n2(t4, e3, r3); }; Object.defineProperty(t3, "__esModule", { value: true }), a2(r2(46), t3); }, 651: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3._globalThis = void 0, t3._globalThis = "object" == typeof globalThis ? globalThis : r.g; }, 46: function(e2, t3, r2) { var n2 = this && this.__createBinding || (Object.create ? function(e3, t4, r3, n3) { void 0 === n3 && (n3 = r3), Object.defineProperty(e3, n3, { enumerable: true, get: function() { return t4[r3]; } }); } : function(e3, t4, r3, n3) { void 0 === n3 && (n3 = r3), e3[n3] = t4[r3]; }), a2 = this && this.__exportStar || function(e3, t4) { for (var r3 in e3) "default" === r3 || Object.prototype.hasOwnProperty.call(t4, r3) || n2(t4, e3, r3); }; Object.defineProperty(t3, "__esModule", { value: true }), a2(r2(651), t3); }, 939: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.propagation = void 0; let n2 = r2(181); t3.propagation = n2.PropagationAPI.getInstance(); }, 874: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NoopTextMapPropagator = void 0; class r2 { inject(e3, t4) { } extract(e3, t4) { return e3; } fields() { return []; } } t3.NoopTextMapPropagator = r2; }, 194: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.defaultTextMapSetter = t3.defaultTextMapGetter = void 0, t3.defaultTextMapGetter = { get(e3, t4) { if (null != e3) return e3[t4]; }, keys: (e3) => null == e3 ? [] : Object.keys(e3) }, t3.defaultTextMapSetter = { set(e3, t4, r2) { null != e3 && (e3[t4] = r2); } }; }, 845: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.trace = void 0; let n2 = r2(997); t3.trace = n2.TraceAPI.getInstance(); }, 403: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NonRecordingSpan = void 0; let n2 = r2(476); class a2 { constructor(e3 = n2.INVALID_SPAN_CONTEXT) { this._spanContext = e3; } spanContext() { return this._spanContext; } setAttribute(e3, t4) { return this; } setAttributes(e3) { return this; } addEvent(e3, t4) { return this; } setStatus(e3) { return this; } updateName(e3) { return this; } end(e3) { } isRecording() { return false; } recordException(e3, t4) { } } t3.NonRecordingSpan = a2; }, 614: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NoopTracer = void 0; let n2 = r2(491), a2 = r2(607), i2 = r2(403), o = r2(139), s = n2.ContextAPI.getInstance(); class c { startSpan(e3, t4, r3 = s.active()) { if (null == t4 ? void 0 : t4.root) return new i2.NonRecordingSpan(); let n3 = r3 && (0, a2.getSpanContext)(r3); return "object" == typeof n3 && "string" == typeof n3.spanId && "string" == typeof n3.traceId && "number" == typeof n3.traceFlags && (0, o.isSpanContextValid)(n3) ? new i2.NonRecordingSpan(n3) : new i2.NonRecordingSpan(); } startActiveSpan(e3, t4, r3, n3) { let i3, o2, c2; if (arguments.length < 2) return; 2 == arguments.length ? c2 = t4 : 3 == arguments.length ? (i3 = t4, c2 = r3) : (i3 = t4, o2 = r3, c2 = n3); let l = null != o2 ? o2 : s.active(), d = this.startSpan(e3, i3, l), u = (0, a2.setSpan)(l, d); return s.with(u, c2, void 0, d); } } t3.NoopTracer = c; }, 124: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.NoopTracerProvider = void 0; let n2 = r2(614); class a2 { getTracer(e3, t4, r3) { return new n2.NoopTracer(); } } t3.NoopTracerProvider = a2; }, 125: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.ProxyTracer = void 0; let n2 = new (r2(614)).NoopTracer(); class a2 { constructor(e3, t4, r3, n3) { this._provider = e3, this.name = t4, this.version = r3, this.options = n3; } startSpan(e3, t4, r3) { return this._getTracer().startSpan(e3, t4, r3); } startActiveSpan(e3, t4, r3, n3) { let a3 = this._getTracer(); return Reflect.apply(a3.startActiveSpan, a3, arguments); } _getTracer() { if (this._delegate) return this._delegate; let e3 = this._provider.getDelegateTracer(this.name, this.version, this.options); return e3 ? (this._delegate = e3, this._delegate) : n2; } } t3.ProxyTracer = a2; }, 846: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.ProxyTracerProvider = void 0; let n2 = r2(125), a2 = new (r2(124)).NoopTracerProvider(); class i2 { getTracer(e3, t4, r3) { var a3; return null !== (a3 = this.getDelegateTracer(e3, t4, r3)) && void 0 !== a3 ? a3 : new n2.ProxyTracer(this, e3, t4, r3); } getDelegate() { var e3; return null !== (e3 = this._delegate) && void 0 !== e3 ? e3 : a2; } setDelegate(e3) { this._delegate = e3; } getDelegateTracer(e3, t4, r3) { var n3; return null === (n3 = this._delegate) || void 0 === n3 ? void 0 : n3.getTracer(e3, t4, r3); } } t3.ProxyTracerProvider = i2; }, 996: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.SamplingDecision = void 0, function(e3) { e3[e3.NOT_RECORD = 0] = "NOT_RECORD", e3[e3.RECORD = 1] = "RECORD", e3[e3.RECORD_AND_SAMPLED = 2] = "RECORD_AND_SAMPLED"; }(t3.SamplingDecision || (t3.SamplingDecision = {})); }, 607: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.getSpanContext = t3.setSpanContext = t3.deleteSpan = t3.setSpan = t3.getActiveSpan = t3.getSpan = void 0; let n2 = r2(780), a2 = r2(403), i2 = r2(491), o = (0, n2.createContextKey)("OpenTelemetry Context Key SPAN"); function s(e3) { return e3.getValue(o) || void 0; } function c(e3, t4) { return e3.setValue(o, t4); } t3.getSpan = s, t3.getActiveSpan = function() { return s(i2.ContextAPI.getInstance().active()); }, t3.setSpan = c, t3.deleteSpan = function(e3) { return e3.deleteValue(o); }, t3.setSpanContext = function(e3, t4) { return c(e3, new a2.NonRecordingSpan(t4)); }, t3.getSpanContext = function(e3) { var t4; return null === (t4 = s(e3)) || void 0 === t4 ? void 0 : t4.spanContext(); }; }, 325: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.TraceStateImpl = void 0; let n2 = r2(564); class a2 { constructor(e3) { this._internalState = /* @__PURE__ */ new Map(), e3 && this._parse(e3); } set(e3, t4) { let r3 = this._clone(); return r3._internalState.has(e3) && r3._internalState.delete(e3), r3._internalState.set(e3, t4), r3; } unset(e3) { let t4 = this._clone(); return t4._internalState.delete(e3), t4; } get(e3) { return this._internalState.get(e3); } serialize() { return this._keys().reduce((e3, t4) => (e3.push(t4 + "=" + this.get(t4)), e3), []).join(","); } _parse(e3) { !(e3.length > 512) && (this._internalState = e3.split(",").reverse().reduce((e4, t4) => { let r3 = t4.trim(), a3 = r3.indexOf("="); if (-1 !== a3) { let i2 = r3.slice(0, a3), o = r3.slice(a3 + 1, t4.length); (0, n2.validateKey)(i2) && (0, n2.validateValue)(o) && e4.set(i2, o); } return e4; }, /* @__PURE__ */ new Map()), this._internalState.size > 32 && (this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, 32)))); } _keys() { return Array.from(this._internalState.keys()).reverse(); } _clone() { let e3 = new a2(); return e3._internalState = new Map(this._internalState), e3; } } t3.TraceStateImpl = a2; }, 564: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.validateValue = t3.validateKey = void 0; let r2 = "[_0-9a-z-*/]", n2 = `[a-z]${r2}{0,255}`, a2 = `[a-z0-9]${r2}{0,240}@[a-z]${r2}{0,13}`, i2 = RegExp(`^(?:${n2}|${a2})$`), o = /^[ -~]{0,255}[!-~]$/, s = /,|=/; t3.validateKey = function(e3) { return i2.test(e3); }, t3.validateValue = function(e3) { return o.test(e3) && !s.test(e3); }; }, 98: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.createTraceState = void 0; let n2 = r2(325); t3.createTraceState = function(e3) { return new n2.TraceStateImpl(e3); }; }, 476: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.INVALID_SPAN_CONTEXT = t3.INVALID_TRACEID = t3.INVALID_SPANID = void 0; let n2 = r2(475); t3.INVALID_SPANID = "0000000000000000", t3.INVALID_TRACEID = "00000000000000000000000000000000", t3.INVALID_SPAN_CONTEXT = { traceId: t3.INVALID_TRACEID, spanId: t3.INVALID_SPANID, traceFlags: n2.TraceFlags.NONE }; }, 357: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.SpanKind = void 0, function(e3) { e3[e3.INTERNAL = 0] = "INTERNAL", e3[e3.SERVER = 1] = "SERVER", e3[e3.CLIENT = 2] = "CLIENT", e3[e3.PRODUCER = 3] = "PRODUCER", e3[e3.CONSUMER = 4] = "CONSUMER"; }(t3.SpanKind || (t3.SpanKind = {})); }, 139: (e2, t3, r2) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.wrapSpanContext = t3.isSpanContextValid = t3.isValidSpanId = t3.isValidTraceId = void 0; let n2 = r2(476), a2 = r2(403), i2 = /^([0-9a-f]{32})$/i, o = /^[0-9a-f]{16}$/i; function s(e3) { return i2.test(e3) && e3 !== n2.INVALID_TRACEID; } function c(e3) { return o.test(e3) && e3 !== n2.INVALID_SPANID; } t3.isValidTraceId = s, t3.isValidSpanId = c, t3.isSpanContextValid = function(e3) { return s(e3.traceId) && c(e3.spanId); }, t3.wrapSpanContext = function(e3) { return new a2.NonRecordingSpan(e3); }; }, 847: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.SpanStatusCode = void 0, function(e3) { e3[e3.UNSET = 0] = "UNSET", e3[e3.OK = 1] = "OK", e3[e3.ERROR = 2] = "ERROR"; }(t3.SpanStatusCode || (t3.SpanStatusCode = {})); }, 475: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.TraceFlags = void 0, function(e3) { e3[e3.NONE = 0] = "NONE", e3[e3.SAMPLED = 1] = "SAMPLED"; }(t3.TraceFlags || (t3.TraceFlags = {})); }, 521: (e2, t3) => { Object.defineProperty(t3, "__esModule", { value: true }), t3.VERSION = void 0, t3.VERSION = "1.6.0"; } }, n = {}; function a(e2) { var r2 = n[e2]; if (void 0 !== r2) return r2.exports; var i2 = n[e2] = { exports: {} }, o = true; try { t2[e2].call(i2.exports, i2, i2.exports, a), o = false; } finally { o && delete n[e2]; } return i2.exports; } a.ab = "//"; var i = {}; (() => { Object.defineProperty(i, "__esModule", { value: true }), i.trace = i.propagation = i.metrics = i.diag = i.context = i.INVALID_SPAN_CONTEXT = i.INVALID_TRACEID = i.INVALID_SPANID = i.isValidSpanId = i.isValidTraceId = i.isSpanContextValid = i.createTraceState = i.TraceFlags = i.SpanStatusCode = i.SpanKind = i.SamplingDecision = i.ProxyTracerProvider = i.ProxyTracer = i.defaultTextMapSetter = i.defaultTextMapGetter = i.ValueType = i.createNoopMeter = i.DiagLogLevel = i.DiagConsoleLogger = i.ROOT_CONTEXT = i.createContextKey = i.baggageEntryMetadataFromString = void 0; var e2 = a(369); Object.defineProperty(i, "baggageEntryMetadataFromString", { enumerable: true, get: function() { return e2.baggageEntryMetadataFromString; } }); var t3 = a(780); Object.defineProperty(i, "createContextKey", { enumerable: true, get: function() { return t3.createContextKey; } }), Object.defineProperty(i, "ROOT_CONTEXT", { enumerable: true, get: function() { return t3.ROOT_CONTEXT; } }); var r2 = a(972); Object.defineProperty(i, "DiagConsoleLogger", { enumerable: true, get: function() { return r2.DiagConsoleLogger; } }); var n2 = a(957); Object.defineProperty(i, "DiagLogLevel", { enumerable: true, get: function() { return n2.DiagLogLevel; } }); var o = a(102); Object.defineProperty(i, "createNoopMeter", { enumerable: true, get: function() { return o.createNoopMeter; } }); var s = a(901); Object.defineProperty(i, "ValueType", { enumerable: true, get: function() { return s.ValueType; } }); var c = a(194); Object.defineProperty(i, "defaultTextMapGetter", { enumerable: true, get: function() { return c.defaultTextMapGetter; } }), Object.defineProperty(i, "defaultTextMapSetter", { enumerable: true, get: function() { return c.defaultTextMapSetter; } }); var l = a(125); Object.defineProperty(i, "ProxyTracer", { enumerable: true, get: function() { return l.ProxyTracer; } }); var d = a(846); Object.defineProperty(i, "ProxyTracerProvider", { enumerable: true, get: function() { return d.ProxyTracerProvider; } }); var u = a(996); Object.defineProperty(i, "SamplingDecision", { enumerable: true, get: function() { return u.SamplingDecision; } }); var p = a(357); Object.defineProperty(i, "SpanKind", { enumerable: true, get: function() { return p.SpanKind; } }); var h = a(847); Object.defineProperty(i, "SpanStatusCode", { enumerable: true, get: function() { return h.SpanStatusCode; } }); var f = a(475); Object.defineProperty(i, "TraceFlags", { enumerable: true, get: function() { return f.TraceFlags; } }); var g = a(98); Object.defineProperty(i, "createTraceState", { enumerable: true, get: function() { return g.createTraceState; } }); var y = a(139); Object.defineProperty(i, "isSpanContextValid", { enumerable: true, get: function() { return y.isSpanContextValid; } }), Object.defineProperty(i, "isValidTraceId", { enumerable: true, get: function() { return y.isValidTraceId; } }), Object.defineProperty(i, "isValidSpanId", { enumerable: true, get: function() { return y.isValidSpanId; } }); var w = a(476); Object.defineProperty(i, "INVALID_SPANID", { enumerable: true, get: function() { return w.INVALID_SPANID; } }), Object.defineProperty(i, "INVALID_TRACEID", { enumerable: true, get: function() { return w.INVALID_TRACEID; } }), Object.defineProperty(i, "INVALID_SPAN_CONTEXT", { enumerable: true, get: function() { return w.INVALID_SPAN_CONTEXT; } }); let m = a(67); Object.defineProperty(i, "context", { enumerable: true, get: function() { return m.context; } }); let b = a(506); Object.defineProperty(i, "diag", { enumerable: true, get: function() { return b.diag; } }); let v = a(886); Object.defineProperty(i, "metrics", { enumerable: true, get: function() { return v.metrics; } }); let S = a(939); Object.defineProperty(i, "propagation", { enumerable: true, get: function() { return S.propagation; } }); let E = a(845); Object.defineProperty(i, "trace", { enumerable: true, get: function() { return E.trace; } }), i.default = { context: m.context, diag: b.diag, metrics: v.metrics, propagation: S.propagation, trace: E.trace }; })(), e.exports = i; })(); }, 133: (e) => { (() => { "use strict"; "undefined" != typeof __nccwpck_require__ && (__nccwpck_require__.ab = "//"); var t = {}; (() => { t.parse = function(t2, r2) { if ("string" != typeof t2) throw TypeError("argument str must be a string"); for (var a2 = {}, i = t2.split(n), o = (r2 || {}).decode || e2, s = 0; s < i.length; s++) { var c = i[s], l = c.indexOf("="); if (!(l < 0)) { var d = c.substr(0, l).trim(), u = c.substr(++l, c.length).trim(); '"' == u[0] && (u = u.slice(1, -1)), void 0 == a2[d] && (a2[d] = function(e3, t3) { try { return t3(e3); } catch (t4) { return e3; } }(u, o)); } } return a2; }, t.serialize = function(e3, t2, n2) { var i = n2 || {}, o = i.encode || r; if ("function" != typeof o) throw TypeError("option encode is invalid"); if (!a.test(e3)) throw TypeError("argument name is invalid"); var s = o(t2); if (s && !a.test(s)) throw TypeError("argument val is invalid"); var c = e3 + "=" + s; if (null != i.maxAge) { var l = i.maxAge - 0; if (isNaN(l) || !isFinite(l)) throw TypeError("option maxAge is invalid"); c += "; Max-Age=" + Math.floor(l); } if (i.domain) { if (!a.test(i.domain)) throw TypeError("option domain is invalid"); c += "; Domain=" + i.domain; } if (i.path) { if (!a.test(i.path)) throw TypeError("option path is invalid"); c += "; Path=" + i.path; } if (i.expires) { if ("function" != typeof i.expires.toUTCString) throw TypeError("option expires is invalid"); c += "; Expires=" + i.expires.toUTCString(); } if (i.httpOnly && (c += "; HttpOnly"), i.secure && (c += "; Secure"), i.sameSite) switch ("string" == typeof i.sameSite ? i.sameSite.toLowerCase() : i.sameSite) { case true: case "strict": c += "; SameSite=Strict"; break; case "lax": c += "; SameSite=Lax"; break; case "none": c += "; SameSite=None"; break; default: throw TypeError("option sameSite is invalid"); } return c; }; var e2 = decodeURIComponent, r = encodeURIComponent, n = /; */, a = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; })(), e.exports = t; })(); }, 340: (e, t, r) => { var n; (() => { var a = { 226: function(a2, i2) { !function(o2, s2) { "use strict"; var c = "function", l = "undefined", d = "object", u = "string", p = "major", h = "model", f = "name", g = "type", y = "vendor", w = "version", m = "architecture", b = "console", v = "mobile", S = "tablet", E = "smarttv", _ = "wearable", A = "embedded", P = "Amazon", C = "Apple", x = "ASUS", R = "BlackBerry", T = "Browser", O = "Chrome", k = "Firefox", I = "Google", N = "Huawei", H = "Microsoft", M = "Motorola", D = "Opera", U = "Samsung", W = "Sharp", L = "Sony", K = "Xiaomi", j = "Zebra", J = "Facebook", B = "Chromium OS", $ = "Mac OS", V = function(e2, t2) { var r2 = {}; for (var n2 in e2) t2[n2] && t2[n2].length % 2 == 0 ? r2[n2] = t2[n2].concat(e2[n2]) : r2[n2] = e2[n2]; return r2; }, G = function(e2) { for (var t2 = {}, r2 = 0; r2 < e2.length; r2++) t2[e2[r2].toUpperCase()] = e2[r2]; return t2; }, q = function(e2, t2) { return typeof e2 === u && -1 !== F(t2).indexOf(F(e2)); }, F = function(e2) { return e2.toLowerCase(); }, z = function(e2, t2) { if (typeof e2 === u) return e2 = e2.replace(/^\s\s*/, ""), typeof t2 === l ? e2 : e2.substring(0, 350); }, X = function(e2, t2) { for (var r2, n2, a3, i3, o3, l2, u2 = 0; u2 < t2.length && !o3; ) { var p2 = t2[u2], h2 = t2[u2 + 1]; for (r2 = n2 = 0; r2 < p2.length && !o3 && p2[r2]; ) if (o3 = p2[r2++].exec(e2)) for (a3 = 0; a3 < h2.length; a3++) l2 = o3[++n2], typeof (i3 = h2[a3]) === d && i3.length > 0 ? 2 === i3.length ? typeof i3[1] == c ? this[i3[0]] = i3[1].call(this, l2) : this[i3[0]] = i3[1] : 3 === i3.length ? typeof i3[1] !== c || i3[1].exec && i3[1].test ? this[i3[0]] = l2 ? l2.replace(i3[1], i3[2]) : void 0 : this[i3[0]] = l2 ? i3[1].call(this, l2, i3[2]) : void 0 : 4 === i3.length && (this[i3[0]] = l2 ? i3[3].call(this, l2.replace(i3[1], i3[2])) : void 0) : this[i3] = l2 || s2; u2 += 2; } }, Y = function(e2, t2) { for (var r2 in t2) if (typeof t2[r2] === d && t2[r2].length > 0) { for (var n2 = 0; n2 < t2[r2].length; n2++) if (q(t2[r2][n2], e2)) return "?" === r2 ? s2 : r2; } else if (q(t2[r2], e2)) return "?" === r2 ? s2 : r2; return e2; }, Z = { ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2e3: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", 10: ["NT 6.4", "NT 10.0"], RT: "ARM" }, Q = { browser: [[/\b(?:crmo|crios)\/([\w\.]+)/i], [w, [f, "Chrome"]], [/edg(?:e|ios|a)?\/([\w\.]+)/i], [w, [f, "Edge"]], [/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i], [f, w], [/opios[\/ ]+([\w\.]+)/i], [w, [f, D + " Mini"]], [/\bopr\/([\w\.]+)/i], [w, [f, D]], [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, /(ba?idubrowser)[\/ ]?([\w\.]+)/i, /(?:ms|\()(ie) ([\w\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i, /(heytap|ovi)browser\/([\d\.]+)/i, /(weibo)__([\d\.]+)/i], [f, w], [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], [w, [f, "UC" + T]], [/microm.+\bqbcore\/([\w\.]+)/i, /\bqbcore\/([\w\.]+).+microm/i], [w, [f, "WeChat(Win) Desktop"]], [/micromessenger\/([\w\.]+)/i], [w, [f, "WeChat"]], [/konqueror\/([\w\.]+)/i], [w, [f, "Konqueror"]], [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], [w, [f, "IE"]], [/ya(?:search)?browser\/([\w\.]+)/i], [w, [f, "Yandex"]], [/(avast|avg)\/([\w\.]+)/i], [[f, /(.+)/, "$1 Secure " + T], w], [/\bfocus\/([\w\.]+)/i], [w, [f, k + " Focus"]], [/\bopt\/([\w\.]+)/i], [w, [f, D + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [w, [f, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [w, [f, "Dolphin"]], [/coast\/([\w\.]+)/i], [w, [f, D + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [w, [f, "MIUI " + T]], [/fxios\/([-\w\.]+)/i], [w, [f, k]], [/\bqihu|(qi?ho?o?|360)browser/i], [[f, "360 " + T]], [/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i], [[f, /(.+)/, "$1 " + T], w], [/(comodo_dragon)\/([\w\.]+)/i], [[f, /_/g, " "], w], [/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i], [f, w], [/(metasr)[\/ ]?([\w\.]+)/i, /(lbbrowser)/i, /\[(linkedin)app\]/i], [f], [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], [[f, J], w], [/(kakao(?:talk|story))[\/ ]([\w\.]+)/i, /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, /safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(chromium|instagram)[\/ ]([-\w\.]+)/i], [f, w], [/\bgsa\/([\w\.]+) .*safari\//i], [w, [f, "GSA"]], [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], [w, [f, "TikTok"]], [/headlesschrome(?:\/([\w\.]+)| )/i], [w, [f, O + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[f, O + " WebView"], w], [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], [w, [f, "Android " + T]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], [f, w], [/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i], [w, [f, "Mobile Safari"]], [/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i], [w, f], [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], [f, [w, Y, { "1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/" }]], [/(webkit|khtml)\/([\w\.]+)/i], [f, w], [/(navigator|netscape\d?)\/([-\w\.]+)/i], [[f, "Netscape"], w], [/mobile vr; rv:([\w\.]+)\).+firefox/i], [w, [f, k + " Reality"]], [/ekiohf.+(flow)\/([\w\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, /(firefox)\/([\w\.]+)/i, /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, /(links) \(([\w\.]+)/i, /panasonic;(viera)/i], [f, w], [/(cobalt)\/([\w\.]+)/i], [f, [w, /master.|lts./, ""]]], cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i], [[m, "amd64"]], [/(ia32(?=;))/i], [[m, F]], [/((?:i[346]|x)86)[;\)]/i], [[m, "ia32"]], [/\b(aarch64|arm(v?8e?l?|_?64))\b/i], [[m, "arm64"]], [/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i], [[m, "armhf"]], [/windows (ce|mobile); ppc;/i], [[m, "arm"]], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i], [[m, /ower/, "", F]], [/(sun4\w)[;\)]/i], [[m, "sparc"]], [/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i], [[m, F]]], device: [[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i], [h, [y, U], [g, S]], [/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, /samsung[- ]([-\w]+)/i, /sec-(sgh\w+)/i], [h, [y, U], [g, v]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [h, [y, C], [g, v]], [/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i], [h, [y, C], [g, S]], [/(macintosh);/i], [h, [y, C]], [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], [h, [y, W], [g, v]], [/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i], [h, [y, N], [g, S]], [/(?:huawei|honor)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i], [h, [y, N], [g, v]], [/\b(poco[\w ]+)(?: bui|\))/i, /\b; (\w+) build\/hm\1/i, /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i], [[h, /_/g, " "], [y, K], [g, v]], [/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i], [[h, /_/g, " "], [y, K], [g, S]], [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i], [h, [y, "OPPO"], [g, v]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [h, [y, "Vivo"], [g, v]], [/\b(rmx[12]\d{3})(?: bui|;|\))/i], [h, [y, "Realme"], [g, v]], [/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, /\bmot(?:orola)?[- ](\w*)/i, /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i], [h, [y, M], [g, v]], [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], [h, [y, M], [g, S]], [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], [h, [y, "LG"], [g, S]], [/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, /\blg-?([\d\w]+) bui/i], [h, [y, "LG"], [g, v]], [/(ideatab[-\w ]+)/i, /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i], [h, [y, "Lenovo"], [g, S]], [/(?:maemo|nokia).*(n900|lumia \d+)/i, /nokia[-_ ]?([-\w\.]*)/i], [[h, /_/g, " "], [y, "Nokia"], [g, v]], [/(pixel c)\b/i], [h, [y, I], [g, S]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [h, [y, I], [g, v]], [/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i], [h, [y, L], [g, v]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[h, "Xperia Tablet"], [y, L], [g, S]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [h, [y, "OnePlus"], [g, v]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i], [h, [y, P], [g, S]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], [[h, /(.+)/g, "Fire Phone $1"], [y, P], [g, v]], [/(playbook);[-\w\),; ]+(rim)/i], [h, y, [g, S]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [h, [y, R], [g, v]], [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], [h, [y, x], [g, S]], [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], [h, [y, x], [g, v]], [/(nexus 9)/i], [h, [y, "HTC"], [g, S]], [/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i], [y, [h, /_/g, " "], [g, v]], [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], [h, [y, "Acer"], [g, S]], [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i], [h, [y, "Meizu"], [g, v]], [/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i, /(hp) ([\w ]+\w)/i, /(asus)-?(\w+)/i, /(microsoft); (lumia[\w ]+)/i, /(lenovo)[-_ ]?([-\w]+)/i, /(jolla)/i, /(oppo) ?([\w ]+) bui/i], [y, h, [g, v]], [/(kobo)\s(ereader|touch)/i, /(archos) (gamepad2?)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\/([\w\.]+)/i, /(nook)[\w ]+build\/(\w+)/i, /(dell) (strea[kpr\d ]*[\dko])/i, /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, /(trinity)[- ]*(t\d{3}) bui/i, /(gigaset)[- ]+(q\w{1,9}) bui/i, /(vodafone) ([\w ]+)(?:\)| bui)/i], [y, h, [g, S]], [/(surface duo)/i], [h, [y, H], [g, S]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [h, [y, "Fairphone"], [g, v]], [/(u304aa)/i], [h, [y, "AT&T"], [g, v]], [/\bsie-(\w*)/i], [h, [y, "Siemens"], [g, v]], [/\b(rct\w+) b/i], [h, [y, "RCA"], [g, S]], [/\b(venue[\d ]{2,7}) b/i], [h, [y, "Dell"], [g, S]], [/\b(q(?:mv|ta)\w+) b/i], [h, [y, "Verizon"], [g, S]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [h, [y, "Barnes & Noble"], [g, S]], [/\b(tm\d{3}\w+) b/i], [h, [y, "NuVision"], [g, S]], [/\b(k88) b/i], [h, [y, "ZTE"], [g, S]], [/\b(nx\d{3}j) b/i], [h, [y, "ZTE"], [g, v]], [/\b(gen\d{3}) b.+49h/i], [h, [y, "Swiss"], [g, v]], [/\b(zur\d{3}) b/i], [h, [y, "Swiss"], [g, S]], [/\b((zeki)?tb.*\b) b/i], [h, [y, "Zeki"], [g, S]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[y, "Dragon Touch"], h, [g, S]], [/\b(ns-?\w{0,9}) b/i], [h, [y, "Insignia"], [g, S]], [/\b((nxa|next)-?\w{0,9}) b/i], [h, [y, "NextBook"], [g, S]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[y, "Voice"], h, [g, v]], [/\b(lvtel\-)?(v1[12]) b/i], [[y, "LvTel"], h, [g, v]], [/\b(ph-1) /i], [h, [y, "Essential"], [g, v]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [h, [y, "Envizen"], [g, S]], [/\b(trio[-\w\. ]+) b/i], [h, [y, "MachSpeed"], [g, S]], [/\btu_(1491) b/i], [h, [y, "Rotor"], [g, S]], [/(shield[\w ]+) b/i], [h, [y, "Nvidia"], [g, S]], [/(sprint) (\w+)/i], [y, h, [g, v]], [/(kin\.[onetw]{3})/i], [[h, /\./g, " "], [y, H], [g, v]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [h, [y, j], [g, S]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [h, [y, j], [g, v]], [/smart-tv.+(samsung)/i], [y, [g, E]], [/hbbtv.+maple;(\d+)/i], [[h, /^/, "SmartTV"], [y, U], [g, E]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[y, "LG"], [g, E]], [/(apple) ?tv/i], [y, [h, C + " TV"], [g, E]], [/crkey/i], [[h, O + "cast"], [y, I], [g, E]], [/droid.+aft(\w)( bui|\))/i], [h, [y, P], [g, E]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [h, [y, W], [g, E]], [/(bravia[\w ]+)( bui|\))/i], [h, [y, L], [g, E]], [/(mitv-\w{5}) bui/i], [h, [y, K], [g, E]], [/Hbbtv.*(technisat) (.*);/i], [y, h, [g, E]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[y, z], [h, z], [g, E]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[g, E]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [y, h, [g, b]], [/droid.+; (shield) bui/i], [h, [y, "Nvidia"], [g, b]], [/(playstation [345portablevi]+)/i], [h, [y, L], [g, b]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [h, [y, H], [g, b]], [/((pebble))app/i], [y, h, [g, _]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [h, [y, C], [g, _]], [/droid.+; (glass) \d/i], [h, [y, I], [g, _]], [/droid.+; (wt63?0{2,3})\)/i], [h, [y, j], [g, _]], [/(quest( 2| pro)?)/i], [h, [y, J], [g, _]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [y, [g, A]], [/(aeobc)\b/i], [h, [y, P], [g, A]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i], [h, [g, v]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], [h, [g, S]], [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], [[g, S]], [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], [[g, v]], [/(android[-\w\. ]{0,9});.+buil/i], [h, [y, "Generic"]]], engine: [[/windows.+ edge\/([\w\.]+)/i], [w, [f, "EdgeHTML"]], [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i], [w, [f, "Blink"]], [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, /ekioh(flow)\/([\w\.]+)/i, /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, /(icab)[\/ ]([23]\.[\d\.]+)/i, /\b(libweb)/i], [f, w], [/rv\:([\w\.]{1,9})\b.+(gecko)/i], [w, f]], os: [[/microsoft (windows) (vista|xp)/i], [f, w], [/(windows) nt 6\.2; (arm)/i, /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i], [f, [w, Y, Z]], [/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i], [[f, "Windows"], [w, Y, Z]], [/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, /ios;fbsv\/([\d\.]+)/i, /cfnetwork\/.+darwin/i], [[w, /_/g, "."], [f, "iOS"]], [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i], [[f, $], [w, /_/g, "."]], [/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i], [w, f], [/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i, /(blackberry)\w*\/([\w\.]*)/i, /(tizen|kaios)[\/ ]([\w\.]+)/i, /\((series40);/i], [f, w], [/\(bb(10);/i], [w, [f, R]], [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i], [w, [f, "Symbian"]], [/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i], [w, [f, k + " OS"]], [/web0s;.+rt(tv)/i, /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i], [w, [f, "webOS"]], [/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i], [w, [f, "watchOS"]], [/crkey\/([\d\.]+)/i], [w, [f, O + "cast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[f, B], w], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\/(\d+\.[\w\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\);]+)/i, /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, /(mint)[\/\(\) ]?(\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, /(hurd|linux) ?([\w\.]*)/i, /(gnu) ?([\w\.]*)/i, /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, /(haiku) (\w+)/i], [f, w], [/(sunos) ?([\w\.\d]*)/i], [[f, "Solaris"], w], [/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, /(unix) ?([\w\.]*)/i], [f, w]] }, ee = function(e2, t2) { if (typeof e2 === d && (t2 = e2, e2 = s2), !(this instanceof ee)) return new ee(e2, t2).getResult(); var r2 = typeof o2 !== l && o2.navigator ? o2.navigator : s2, n2 = e2 || (r2 && r2.userAgent ? r2.userAgent : ""), a3 = r2 && r2.userAgentData ? r2.userAgentData : s2, i3 = t2 ? V(Q, t2) : Q, b2 = r2 && r2.userAgent == n2; return this.getBrowser = function() { var e3, t3 = {}; return t3[f] = s2, t3[w] = s2, X.call(t3, n2, i3.browser), t3[p] = typeof (e3 = t3[w]) === u ? e3.replace(/[^\d\.]/g, "").split(".")[0] : s2, b2 && r2 && r2.brave && typeof r2.brave.isBrave == c && (t3[f] = "Brave"), t3; }, this.getCPU = function() { var e3 = {}; return e3[m] = s2, X.call(e3, n2, i3.cpu), e3; }, this.getDevice = function() { var e3 = {}; return e3[y] = s2, e3[h] = s2, e3[g] = s2, X.call(e3, n2, i3.device), b2 && !e3[g] && a3 && a3.mobile && (e3[g] = v), b2 && "Macintosh" == e3[h] && r2 && typeof r2.standalone !== l && r2.maxTouchPoints && r2.maxTouchPoints > 2 && (e3[h] = "iPad", e3[g] = S), e3; }, this.getEngine = function() { var e3 = {}; return e3[f] = s2, e3[w] = s2, X.call(e3, n2, i3.engine), e3; }, this.getOS = function() { var e3 = {}; return e3[f] = s2, e3[w] = s2, X.call(e3, n2, i3.os), b2 && !e3[f] && a3 && "Unknown" != a3.platform && (e3[f] = a3.platform.replace(/chrome os/i, B).replace(/macos/i, $)), e3; }, this.getResult = function() { return { ua: this.getUA(), browser: this.getBrowser(), engine: this.getEngine(), os: this.getOS(), device: this.getDevice(), cpu: this.getCPU() }; }, this.getUA = function() { return n2; }, this.setUA = function(e3) { return n2 = typeof e3 === u && e3.length > 350 ? z(e3, 350) : e3, this; }, this.setUA(n2), this; }; ee.VERSION = "1.0.35", ee.BROWSER = G([f, w, p]), ee.CPU = G([m]), ee.DEVICE = G([h, y, g, b, v, E, S, _, A]), ee.ENGINE = ee.OS = G([f, w]), typeof i2 !== l ? (a2.exports && (i2 = a2.exports = ee), i2.UAParser = ee) : r.amdO ? void 0 !== (n = function() { return ee; }.call(t, r, t, e)) && (e.exports = n) : typeof o2 !== l && (o2.UAParser = ee); var et = typeof o2 !== l && (o2.jQuery || o2.Zepto); if (et && !et.ua) { var er = new ee(); et.ua = er.getResult(), et.ua.get = function() { return er.getUA(); }, et.ua.set = function(e2) { er.setUA(e2); var t2 = er.getResult(); for (var r2 in t2) et.ua[r2] = t2[r2]; }; } }("object" == typeof window ? window : this); } }, i = {}; function o(e2) { var t2 = i[e2]; if (void 0 !== t2) return t2.exports; var r2 = i[e2] = { exports: {} }, n2 = true; try { a[e2].call(r2.exports, r2, r2.exports, o), n2 = false; } finally { n2 && delete i[e2]; } return r2.exports; } o.ab = "//"; var s = o(226); e.exports = s; })(); }, 635: (e, t, r) => { "use strict"; function n() { throw Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'); } r.r(t), r.d(t, { ImageResponse: () => n, NextRequest: () => a.I, NextResponse: () => i.x, URLPattern: () => d, userAgent: () => l, userAgentFromString: () => c }); var a = r(669), i = r(241), o = r(340), s = r.n(o); function c(e2) { return { ...s()(e2), isBot: void 0 !== e2 && /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e2) }; } function l({ headers: e2 }) { return c(e2.get("user-agent") || void 0); } let d = "undefined" == typeof URLPattern ? void 0 : URLPattern; }, 416: (e, t, r) => { "use strict"; r.d(t, { Y5: () => i, cR: () => a, qJ: () => n }); class n extends Error { constructor({ page: e2 }) { super(`The middleware "${e2}" accepts an async API directly with the form: export function middleware(request, event) { return NextResponse.redirect('/new-location') } Read more: https://nextjs.org/docs/messages/middleware-new-signature `); } } class a extends Error { constructor() { super(`The request.page has been deprecated in favour of \`URLPattern\`. Read more: https://nextjs.org/docs/messages/middleware-request-page `); } } class i extends Error { constructor() { super(`The request.ua has been removed in favour of \`userAgent\` function. Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent `); } } }, 718: (e, t, r) => { "use strict"; function n(e2) { return e2.replace(/\/$/, "") || "/"; } function a(e2) { let t2 = e2.indexOf("#"), r2 = e2.indexOf("?"), n2 = r2 > -1 && (t2 < 0 || r2 < t2); return n2 || t2 > -1 ? { pathname: e2.substring(0, n2 ? r2 : t2), query: n2 ? e2.substring(r2, t2 > -1 ? t2 : void 0) : "", hash: t2 > -1 ? e2.slice(t2) : "" } : { pathname: e2, query: "", hash: "" }; } function i(e2, t2) { if (!e2.startsWith("/") || !t2) return e2; let { pathname: r2, query: n2, hash: i2 } = a(e2); return "" + t2 + r2 + n2 + i2; } function o(e2, t2) { if (!e2.startsWith("/") || !t2) return e2; let { pathname: r2, query: n2, hash: i2 } = a(e2); return "" + r2 + t2 + n2 + i2; } function s(e2, t2) { if ("string" != typeof e2) return false; let { pathname: r2 } = a(e2); return r2 === t2 || r2.startsWith(t2 + "/"); } function c(e2, t2) { let r2; let n2 = e2.split("/"); return (t2 || []).some((t3) => !!n2[1] && n2[1].toLowerCase() === t3.toLowerCase() && (r2 = t3, n2.splice(1, 1), e2 = n2.join("/") || "/", true)), { pathname: e2, detectedLocale: r2 }; } r.d(t, { c: () => p }); let l = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/; function d(e2, t2) { return new URL(String(e2).replace(l, "localhost"), t2 && String(t2).replace(l, "localhost")); } let u = Symbol("NextURLInternal"); class p { constructor(e2, t2, r2) { let n2, a2; "object" == typeof t2 && "pathname" in t2 || "string" == typeof t2 ? (n2 = t2, a2 = r2 || {}) : a2 = r2 || t2 || {}, this[u] = { url: d(e2, n2 ?? a2.base), options: a2, basePath: "" }, this.analyze(); } analyze() { var e2, t2, r2, n2, a2; let i2 = function(e3, t3) { var r3, n3; let { basePath: a3, i18n: i3, trailingSlash: o3 } = null != (r3 = t3.nextConfig) ? r3 : {}, l3 = { pathname: e3, trailingSlash: "/" !== e3 ? e3.endsWith("/") : o3 }; a3 && s(l3.pathname, a3) && (l3.pathname = function(e4, t4) { if (!s(e4, t4)) return e4; let r4 = e4.slice(t4.length); return r4.startsWith("/") ? r4 : "/" + r4; }(l3.pathname, a3), l3.basePath = a3); let d2 = l3.pathname; if (l3.pathname.startsWith("/_next/data/") && l3.pathname.endsWith(".json")) { let e4 = l3.pathname.replace(/^\/_next\/data\//, "").replace(/\.json$/, "").split("/"), r4 = e4[0]; l3.buildId = r4, d2 = "index" !== e4[1] ? "/" + e4.slice(1).join("/") : "/", true === t3.parseData && (l3.pathname = d2); } if (i3) { let e4 = t3.i18nProvider ? t3.i18nProvider.analyze(l3.pathname) : c(l3.pathname, i3.locales); l3.locale = e4.detectedLocale, l3.pathname = null != (n3 = e4.pathname) ? n3 : l3.pathname, !e4.detectedLocale && l3.buildId && (e4 = t3.i18nProvider ? t3.i18nProvider.analyze(d2) : c(d2, i3.locales)).detectedLocale && (l3.locale = e4.detectedLocale); } return l3; }(this[u].url.pathname, { nextConfig: this[u].options.nextConfig, parseData: true, i18nProvider: this[u].options.i18nProvider }), o2 = function(e3, t3) { let r3; if ((null == t3 ? void 0 : t3.host) && !Array.isArray(t3.host)) r3 = t3.host.toString().split(":", 1)[0]; else { if (!e3.hostname) return; r3 = e3.hostname; } return r3.toLowerCase(); }(this[u].url, this[u].options.headers); this[u].domainLocale = this[u].options.i18nProvider ? this[u].options.i18nProvider.detectDomainLocale(o2) : function(e3, t3, r3) { if (e3) for (let i3 of (r3 && (r3 = r3.toLowerCase()), e3)) { var n3, a3; if (t3 === (null == (n3 = i3.domain) ? void 0 : n3.split(":", 1)[0].toLowerCase()) || r3 === i3.defaultLocale.toLowerCase() || (null == (a3 = i3.locales) ? void 0 : a3.some((e4) => e4.toLowerCase() === r3))) return i3; } }(null == (t2 = this[u].options.nextConfig) ? void 0 : null == (e2 = t2.i18n) ? void 0 : e2.domains, o2); let l2 = (null == (r2 = this[u].domainLocale) ? void 0 : r2.defaultLocale) || (null == (a2 = this[u].options.nextConfig) ? void 0 : null == (n2 = a2.i18n) ? void 0 : n2.defaultLocale); this[u].url.pathname = i2.pathname, this[u].defaultLocale = l2, this[u].basePath = i2.basePath ?? "", this[u].buildId = i2.buildId, this[u].locale = i2.locale ?? l2, this[u].trailingSlash = i2.trailingSlash; } formatPathname() { var e2; let t2; return t2 = function(e3, t3, r2, n2) { if (!t3 || t3 === r2) return e3; let a2 = e3.toLowerCase(); return !n2 && (s(a2, "/api") || s(a2, "/" + t3.toLowerCase())) ? e3 : i(e3, "/" + t3); }((e2 = { basePath: this[u].basePath, buildId: this[u].buildId, defaultLocale: this[u].options.forceLocale ? void 0 : this[u].defaultLocale, locale: this[u].locale, pathname: this[u].url.pathname, trailingSlash: this[u].trailingSlash }).pathname, e2.locale, e2.buildId ? void 0 : e2.defaultLocale, e2.ignorePrefix), (e2.buildId || !e2.trailingSlash) && (t2 = n(t2)), e2.buildId && (t2 = o(i(t2, "/_next/data/" + e2.buildId), "/" === e2.pathname ? "index.json" : ".json")), t2 = i(t2, e2.basePath), !e2.buildId && e2.trailingSlash ? t2.endsWith("/") ? t2 : o(t2, "/") : n(t2); } formatSearch() { return this[u].url.search; } get buildId() { return this[u].buildId; } set buildId(e2) { this[u].buildId = e2; } get locale() { return this[u].locale ?? ""; } set locale(e2) { var t2, r2; if (!this[u].locale || !(null == (r2 = this[u].options.nextConfig) ? void 0 : null == (t2 = r2.i18n) ? void 0 : t2.locales.includes(e2))) throw TypeError(`The NextURL configuration includes no locale "${e2}"`); this[u].locale = e2; } get defaultLocale() { return this[u].defaultLocale; } get domainLocale() { return this[u].domainLocale; } get searchParams() { return this[u].url.searchParams; } get host() { return this[u].url.host; } set host(e2) { this[u].url.host = e2; } get hostname() { return this[u].url.hostname; } set hostname(e2) { this[u].url.hostname = e2; } get port() { return this[u].url.port; } set port(e2) { this[u].url.port = e2; } get protocol() { return this[u].url.protocol; } set protocol(e2) { this[u].url.protocol = e2; } get href() { let e2 = this.formatPathname(), t2 = this.formatSearch(); return `${this.protocol}//${this.host}${e2}${t2}${this.hash}`; } set href(e2) { this[u].url = d(e2), this.analyze(); } get origin() { return this[u].url.origin; } get pathname() { return this[u].url.pathname; } set pathname(e2) { this[u].url.pathname = e2; } get hash() { return this[u].url.hash; } set hash(e2) { this[u].url.hash = e2; } get search() { return this[u].url.search; } set search(e2) { this[u].url.search = e2; } get password() { return this[u].url.password; } set password(e2) { this[u].url.password = e2; } get username() { return this[u].url.username; } set username(e2) { this[u].url.username = e2; } get basePath() { return this[u].basePath; } set basePath(e2) { this[u].basePath = e2.startsWith("/") ? e2 : `/${e2}`; } toString() { return this.href; } toJSON() { return this.href; } [Symbol.for("edge-runtime.inspect.custom")]() { return { href: this.href, origin: this.origin, protocol: this.protocol, username: this.username, password: this.password, host: this.host, hostname: this.hostname, port: this.port, pathname: this.pathname, search: this.search, searchParams: this.searchParams, hash: this.hash }; } clone() { return new p(String(this), this[u].options); } } }, 217: (e, t, r) => { "use strict"; r.d(t, { g: () => n }); class n { static get(e2, t2, r2) { let n2 = Reflect.get(e2, t2, r2); return "function" == typeof n2 ? n2.bind(e2) : n2; } static set(e2, t2, r2, n2) { return Reflect.set(e2, t2, r2, n2); } static has(e2, t2) { return Reflect.has(e2, t2); } static deleteProperty(e2, t2) { return Reflect.deleteProperty(e2, t2); } } }, 938: (e, t, r) => { "use strict"; r.d(t, { Q7: () => n.stringifyCookie, nV: () => n.ResponseCookies, qC: () => n.RequestCookies }); var n = r(945); }, 669: (e, t, r) => { "use strict"; r.d(t, { I: () => c }); var n = r(718), a = r(329), i = r(416), o = r(938); let s = Symbol("internal request"); class c extends Request { constructor(e2, t2 = {}) { let r2 = "string" != typeof e2 && "url" in e2 ? e2.url : String(e2); (0, a.r4)(r2), e2 instanceof Request ? super(e2, t2) : super(r2, t2); let i2 = new n.c(r2, { headers: (0, a.lb)(this.headers), nextConfig: t2.nextConfig }); this[s] = { cookies: new o.qC(this.headers), geo: t2.geo || {}, ip: t2.ip, nextUrl: i2, url: i2.toString() }; } [Symbol.for("edge-runtime.inspect.custom")]() { return { cookies: this.cookies, geo: this.geo, ip: this.ip, nextUrl: this.nextUrl, url: this.url, bodyUsed: this.bodyUsed, cache: this.cache, credentials: this.credentials, destination: this.destination, headers: Object.fromEntries(this.headers), integrity: this.integrity, keepalive: this.keepalive, method: this.method, mode: this.mode, redirect: this.redirect, referrer: this.referrer, referrerPolicy: this.referrerPolicy, signal: this.signal }; } get cookies() { return this[s].cookies; } get geo() { return this[s].geo; } get ip() { return this[s].ip; } get nextUrl() { return this[s].nextUrl; } get page() { throw new i.cR(); } get ua() { throw new i.Y5(); } get url() { return this[s].url; } } }, 241: (e, t, r) => { "use strict"; r.d(t, { x: () => d }); var n = r(938), a = r(718), i = r(329), o = r(217); let s = Symbol("internal response"), c = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]); function l(e2, t2) { var r2; if (null == e2 ? void 0 : null == (r2 = e2.request) ? void 0 : r2.headers) { if (!(e2.request.headers instanceof Headers)) throw Error("request.headers must be an instance of Headers"); let r3 = []; for (let [n2, a2] of e2.request.headers) t2.set("x-middleware-request-" + n2, a2), r3.push(n2); t2.set("x-middleware-override-headers", r3.join(",")); } } class d extends Response { constructor(e2, t2 = {}) { super(e2, t2); let r2 = this.headers, c2 = new Proxy(new n.nV(r2), { get(e3, a2, i2) { switch (a2) { case "delete": case "set": return (...i3) => { let o2 = Reflect.apply(e3[a2], e3, i3), s2 = new Headers(r2); return o2 instanceof n.nV && r2.set("x-middleware-set-cookie", o2.getAll().map((e4) => (0, n.Q7)(e4)).join(",")), l(t2, s2), o2; }; default: return o.g.get(e3, a2, i2); } } }); this[s] = { cookies: c2, url: t2.url ? new a.c(t2.url, { headers: (0, i.lb)(r2), nextConfig: t2.nextConfig }) : void 0 }; } [Symbol.for("edge-runtime.inspect.custom")]() { return { cookies: this.cookies, url: this.url, body: this.body, bodyUsed: this.bodyUsed, headers: Object.fromEntries(this.headers), ok: this.ok, redirected: this.redirected, status: this.status, statusText: this.statusText, type: this.type }; } get cookies() { return this[s].cookies; } static json(e2, t2) { let r2 = Response.json(e2, t2); return new d(r2.body, r2); } static redirect(e2, t2) { let r2 = "number" == typeof t2 ? t2 : (null == t2 ? void 0 : t2.status) ?? 307; if (!c.has(r2)) throw RangeError('Failed to execute "redirect" on "response": Invalid status code'); let n2 = "object" == typeof t2 ? t2 : {}, a2 = new Headers(null == n2 ? void 0 : n2.headers); return a2.set("Location", (0, i.r4)(e2)), new d(null, { ...n2, headers: a2, status: r2 }); } static rewrite(e2, t2) { let r2 = new Headers(null == t2 ? void 0 : t2.headers); return r2.set("x-middleware-rewrite", (0, i.r4)(e2)), l(t2, r2), new d(null, { ...t2, headers: r2 }); } static next(e2) { let t2 = new Headers(null == e2 ? void 0 : e2.headers); return t2.set("x-middleware-next", "1"), l(e2, t2), new d(null, { ...e2, headers: t2 }); } } }, 329: (e, t, r) => { "use strict"; function n(e2) { let t2 = new Headers(); for (let [r2, n2] of Object.entries(e2)) for (let e3 of Array.isArray(n2) ? n2 : [n2]) void 0 !== e3 && ("number" == typeof e3 && (e3 = e3.toString()), t2.append(r2, e3)); return t2; } function a(e2) { var t2, r2, n2, a2, i2, o2 = [], s = 0; function c() { for (; s < e2.length && /\s/.test(e2.charAt(s)); ) s += 1; return s < e2.length; } for (; s < e2.length; ) { for (t2 = s, i2 = false; c(); ) if ("," === (r2 = e2.charAt(s))) { for (n2 = s, s += 1, c(), a2 = s; s < e2.length && "=" !== (r2 = e2.charAt(s)) && ";" !== r2 && "," !== r2; ) s += 1; s < e2.length && "=" === e2.charAt(s) ? (i2 = true, s = a2, o2.push(e2.substring(t2, n2)), t2 = s) : s = n2 + 1; } else s += 1; (!i2 || s >= e2.length) && o2.push(e2.substring(t2, e2.length)); } return o2; } function i(e2) { let t2 = {}, r2 = []; if (e2) for (let [n2, i2] of e2.entries()) "set-cookie" === n2.toLowerCase() ? (r2.push(...a(i2)), t2[n2] = 1 === r2.length ? r2[0] : r2) : t2[n2] = i2; return t2; } function o(e2) { try { return String(new URL(String(e2))); } catch (t2) { throw Error(`URL is malformed "${String(e2)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, { cause: t2 }); } } r.d(t, { EK: () => n, l$: () => a, lb: () => i, r4: () => o }); }, 488: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: true }), function(e2, t2) { for (var r2 in t2) Object.defineProperty(e2, r2, { enumerable: true, get: t2[r2] }); }(t, { getTestReqInfo: function() { return o; }, withRequest: function() { return i; } }); let n = new (r(67)).AsyncLocalStorage(); function a(e2, t2) { let r2 = t2.header(e2, "next-test-proxy-port"); if (r2) return { url: t2.url(e2), proxyPort: Number(r2), testData: t2.header(e2, "next-test-data") || "" }; } function i(e2, t2, r2) { let i2 = a(e2, t2); return i2 ? n.run(i2, r2) : r2(); } function o(e2, t2) { return n.getStore() || (e2 && t2 ? a(e2, t2) : void 0); } }, 375: (e, t, r) => { "use strict"; var n = r(195).Buffer; Object.defineProperty(t, "__esModule", { value: true }), function(e2, t2) { for (var r2 in t2) Object.defineProperty(e2, r2, { enumerable: true, get: t2[r2] }); }(t, { handleFetch: function() { return s; }, interceptFetch: function() { return c; }, reader: function() { return i; } }); let a = r(488), i = { url: (e2) => e2.url, header: (e2, t2) => e2.headers.get(t2) }; async function o(e2, t2) { let { url: r2, method: a2, headers: i2, body: o2, cache: s2, credentials: c2, integrity: l, mode: d, redirect: u, referrer: p, referrerPolicy: h } = t2; return { testData: e2, api: "fetch", request: { url: r2, method: a2, headers: [...Array.from(i2), ["next-test-stack", function() { let e3 = (Error().stack ?? "").split("\n"); for (let t3 = 1; t3 < e3.length; t3++) if (e3[t3].length > 0) { e3 = e3.slice(t3); break; } return (e3 = (e3 = (e3 = e3.filter((e4) => !e4.includes("/next/dist/"))).slice(0, 5)).map((e4) => e4.replace("webpack-internal:///(rsc)/", "").trim())).join(" "); }()]], body: o2 ? n.from(await t2.arrayBuffer()).toString("base64") : null, cache: s2, credentials: c2, integrity: l, mode: d, redirect: u, referrer: p, referrerPolicy: h } }; } async function s(e2, t2) { let r2 = (0, a.getTestReqInfo)(t2, i); if (!r2) return e2(t2); let { testData: s2, proxyPort: c2 } = r2, l = await o(s2, t2), d = await e2(`http://localhost:${c2}`, { method: "POST", body: JSON.stringify(l), next: { internal: true } }); if (!d.ok) throw Error(`Proxy request failed: ${d.status}`); let u = await d.json(), { api: p } = u; switch (p) { case "continue": return e2(t2); case "abort": case "unhandled": throw Error(`Proxy request aborted [${t2.method} ${t2.url}]`); } return function(e3) { let { status: t3, headers: r3, body: a2 } = e3.response; return new Response(a2 ? n.from(a2, "base64") : null, { status: t3, headers: new Headers(r3) }); }(u); } function c(e2) { return r.g.fetch = function(t2, r2) { var n2; return (null == r2 ? void 0 : null == (n2 = r2.next) ? void 0 : n2.internal) ? e2(t2, r2) : s(e2, new Request(t2, r2)); }, () => { r.g.fetch = e2; }; } }, 177: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: true }), function(e2, t2) { for (var r2 in t2) Object.defineProperty(e2, r2, { enumerable: true, get: t2[r2] }); }(t, { interceptTestApis: function() { return i; }, wrapRequestHandler: function() { return o; } }); let n = r(488), a = r(375); function i() { return (0, a.interceptFetch)(r.g.fetch); } function o(e2) { return (t2, r2) => (0, n.withRequest)(t2, a.reader, () => e2(t2, r2)); } }, 476: (e) => { e.exports = function(e2) { return e2 && e2.__esModule ? e2 : { default: e2 }; }, e.exports.__esModule = true, e.exports.default = e.exports; }, 728: (e, t, r) => { "use strict"; r.r(t), r.d(t, { default: () => o, hkdf: () => o }); let n = () => { if ("undefined" != typeof globalThis) return globalThis; if ("undefined" != typeof self) return self; if ("undefined" != typeof window) return window; throw Error("unable to locate global object"); }, a = async (e2, t2, r2, a2, i2) => { let { crypto: { subtle: o2 } } = n(); return new Uint8Array(await o2.deriveBits({ name: "HKDF", hash: `SHA-${e2.substr(3)}`, salt: r2, info: a2 }, await o2.importKey("raw", t2, "HKDF", false, ["deriveBits"]), i2 << 3)); }; function i(e2, t2) { if ("string" == typeof e2) return new TextEncoder().encode(e2); if (!(e2 instanceof Uint8Array)) throw TypeError(`"${t2}"" must be an instance of Uint8Array or a string`); return e2; } async function o(e2, t2, r2, n2, o2) { return a(function(e3) { switch (e3) { case "sha256": case "sha384": case "sha512": case "sha1": return e3; default: throw TypeError('unsupported "digest" value'); } }(e2), function(e3) { let t3 = i(e3, "ikm"); if (!t3.byteLength) throw TypeError('"ikm" must be at least one byte in length'); return t3; }(t2), i(r2, "salt"), function(e3) { let t3 = i(e3, "info"); if (t3.byteLength > 1024) throw TypeError('"info" must not contain more than 1024 bytes'); return t3; }(n2), function(e3, t3) { if ("number" != typeof e3 || !Number.isInteger(e3) || e3 < 1) throw TypeError('"keylen" must be a positive integer'); if (e3 > 255 * (parseInt(t3.substr(3), 10) >> 3 || 20)) throw TypeError('"keylen" too large'); return e3; }(o2, e2)); } }, 507: (e, t, r) => { "use strict"; r.r(t), r.d(t, { CompactEncrypt: () => tp, CompactSign: () => tg, EmbeddedJWK: () => tA, EncryptJWT: () => tv, FlattenedEncrypt: () => e3, FlattenedSign: () => tf, GeneralEncrypt: () => e8, GeneralSign: () => tw, SignJWT: () => tb, UnsecuredJWT: () => tN, base64url: () => a, calculateJwkThumbprint: () => tE, calculateJwkThumbprintUri: () => t_, compactDecrypt: () => eY, compactVerify: () => tr, createLocalJWKSet: () => tT, createRemoteJWKSet: () => tI, cryptoRuntime: () => tB, decodeJwt: () => tU, decodeProtectedHeader: () => tD, errors: () => n, exportJWK: () => e2, exportPKCS8: () => e1, exportSPKI: () => e0, flattenedDecrypt: () => eX, flattenedVerify: () => tt, generalDecrypt: () => eZ, generalVerify: () => tn, generateKeyPair: () => tj, generateSecret: () => tJ, importJWK: () => eW, importPKCS8: () => eU, importSPKI: () => eM, importX509: () => eD, jwtDecrypt: () => tu, jwtVerify: () => td }); var n = {}; r.r(n), r.d(n, { JOSEAlgNotAllowed: () => _, JOSEError: () => v, JOSENotSupported: () => A, JWEDecompressionFailed: () => C, JWEDecryptionFailed: () => P, JWEInvalid: () => x, JWKInvalid: () => O, JWKSInvalid: () => k, JWKSMultipleMatchingKeys: () => N, JWKSNoMatchingKey: () => I, JWKSTimeout: () => H, JWSInvalid: () => R, JWSSignatureVerificationFailed: () => M, JWTClaimValidationFailed: () => S, JWTExpired: () => E, JWTInvalid: () => T }); var a = {}; r.r(a), r.d(a, { decode: () => tM, encode: () => tH }); let i = crypto, o = (e10) => e10 instanceof CryptoKey, s = async (e10, t2) => { let r2 = `SHA-${e10.slice(-3)}`; return new Uint8Array(await i.subtle.digest(r2, t2)); }, c = new TextEncoder(), l = new TextDecoder(); function d(...e10) { let t2 = new Uint8Array(e10.reduce((e11, { length: t3 }) => e11 + t3, 0)), r2 = 0; return e10.forEach((e11) => { t2.set(e11, r2), r2 += e11.length; }), t2; } function u(e10, t2, r2) { if (t2 < 0 || t2 >= 4294967296) throw RangeError(`value must be >= 0 and <= ${4294967296 - 1}. Received ${t2}`); e10.set([t2 >>> 24, t2 >>> 16, t2 >>> 8, 255 & t2], r2); } function p(e10) { let t2 = new Uint8Array(8); return u(t2, Math.floor(e10 / 4294967296), 0), u(t2, e10 % 4294967296, 4), t2; } function h(e10) { let t2 = new Uint8Array(4); return u(t2, e10), t2; } function f(e10) { return d(h(e10.length), e10); } async function g(e10, t2, r2) { let n2 = Math.ceil((t2 >> 3) / 32), a2 = new Uint8Array(32 * n2); for (let t3 = 0; t3 < n2; t3++) { let n3 = new Uint8Array(4 + e10.length + r2.length); n3.set(h(t3 + 1)), n3.set(e10, 4), n3.set(r2, 4 + e10.length), a2.set(await s("sha256", n3), 32 * t3); } return a2.slice(0, t2 >> 3); } let y = (e10) => { let t2 = e10; "string" == typeof t2 && (t2 = c.encode(t2)); let r2 = []; for (let e11 = 0; e11 < t2.length; e11 += 32768) r2.push(String.fromCharCode.apply(null, t2.subarray(e11, e11 + 32768))); return btoa(r2.join("")); }, w = (e10) => y(e10).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"), m = (e10) => { let t2 = atob(e10), r2 = new Uint8Array(t2.length); for (let e11 = 0; e11 < t2.length; e11++) r2[e11] = t2.charCodeAt(e11); return r2; }, b = (e10) => { let t2 = e10; t2 instanceof Uint8Array && (t2 = l.decode(t2)), t2 = t2.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, ""); try { return m(t2); } catch (e11) { throw TypeError("The input to be decoded is not correctly encoded."); } }; class v extends Error { static get code() { return "ERR_JOSE_GENERIC"; } constructor(e10) { var t2; super(e10), this.code = "ERR_JOSE_GENERIC", this.name = this.constructor.name, null === (t2 = Error.captureStackTrace) || void 0 === t2 || t2.call(Error, this, this.constructor); } } class S extends v { static get code() { return "ERR_JWT_CLAIM_VALIDATION_FAILED"; } constructor(e10, t2 = "unspecified", r2 = "unspecified") { super(e10), this.code = "ERR_JWT_CLAIM_VALIDATION_FAILED", this.claim = t2, this.reason = r2; } } class E extends v { static get code() { return "ERR_JWT_EXPIRED"; } constructor(e10, t2 = "unspecified", r2 = "unspecified") { super(e10), this.code = "ERR_JWT_EXPIRED", this.claim = t2, this.reason = r2; } } class _ extends v { constructor() { super(...arguments), this.code = "ERR_JOSE_ALG_NOT_ALLOWED"; } static get code() { return "ERR_JOSE_ALG_NOT_ALLOWED"; } } class A extends v { constructor() { super(...arguments), this.code = "ERR_JOSE_NOT_SUPPORTED"; } static get code() { return "ERR_JOSE_NOT_SUPPORTED"; } } class P extends v { constructor() { super(...arguments), this.code = "ERR_JWE_DECRYPTION_FAILED", this.message = "decryption operation failed"; } static get code() { return "ERR_JWE_DECRYPTION_FAILED"; } } class C extends v { constructor() { super(...arguments), this.code = "ERR_JWE_DECOMPRESSION_FAILED", this.message = "decompression operation failed"; } static get code() { return "ERR_JWE_DECOMPRESSION_FAILED"; } } class x extends v { constructor() { super(...arguments), this.code = "ERR_JWE_INVALID"; } static get code() { return "ERR_JWE_INVALID"; } } class R extends v { constructor() { super(...arguments), this.code = "ERR_JWS_INVALID"; } static get code() { return "ERR_JWS_INVALID"; } } class T extends v { constructor() { super(...arguments), this.code = "ERR_JWT_INVALID"; } static get code() { return "ERR_JWT_INVALID"; } } class O extends v { constructor() { super(...arguments), this.code = "ERR_JWK_INVALID"; } static get code() { return "ERR_JWK_INVALID"; } } class k extends v { constructor() { super(...arguments), this.code = "ERR_JWKS_INVALID"; } static get code() { return "ERR_JWKS_INVALID"; } } class I extends v { constructor() { super(...arguments), this.code = "ERR_JWKS_NO_MATCHING_KEY", this.message = "no applicable key found in the JSON Web Key Set"; } static get code() { return "ERR_JWKS_NO_MATCHING_KEY"; } } class N extends v { constructor() { super(...arguments), this.code = "ERR_JWKS_MULTIPLE_MATCHING_KEYS", this.message = "multiple matching keys found in the JSON Web Key Set"; } static get code() { return "ERR_JWKS_MULTIPLE_MATCHING_KEYS"; } } Symbol.asyncIterator; class H extends v { constructor() { super(...arguments), this.code = "ERR_JWKS_TIMEOUT", this.message = "request timed out"; } static get code() { return "ERR_JWKS_TIMEOUT"; } } class M extends v { constructor() { super(...arguments), this.code = "ERR_JWS_SIGNATURE_VERIFICATION_FAILED", this.message = "signature verification failed"; } static get code() { return "ERR_JWS_SIGNATURE_VERIFICATION_FAILED"; } } let D = i.getRandomValues.bind(i); function U(e10) { switch (e10) { case "A128GCM": case "A128GCMKW": case "A192GCM": case "A192GCMKW": case "A256GCM": case "A256GCMKW": return 96; case "A128CBC-HS256": case "A192CBC-HS384": case "A256CBC-HS512": return 128; default: throw new A(`Unsupported JWE Algorithm: ${e10}`); } } let W = (e10) => D(new Uint8Array(U(e10) >> 3)), L = (e10, t2) => { if (t2.length << 3 !== U(e10)) throw new x("Invalid Initialization Vector length"); }, K = (e10, t2) => { let r2 = e10.byteLength << 3; if (r2 !== t2) throw new x(`Invalid Content Encryption Key length. Expected ${t2} bits, got ${r2} bits`); }, j = (e10, t2) => { if (!(e10 instanceof Uint8Array)) throw TypeError("First argument must be a buffer"); if (!(t2 instanceof Uint8Array)) throw TypeError("Second argument must be a buffer"); if (e10.length !== t2.length) throw TypeError("Input buffers must have the same length"); let r2 = e10.length, n2 = 0, a2 = -1; for (; ++a2 < r2; ) n2 |= e10[a2] ^ t2[a2]; return 0 === n2; }; function J(e10, t2 = "algorithm.name") { return TypeError(`CryptoKey does not support this operation, its ${t2} must be ${e10}`); } function B(e10, t2) { return e10.name === t2; } function $(e10) { return parseInt(e10.name.slice(4), 10); } function V(e10, t2) { if (t2.length && !t2.some((t3) => e10.usages.includes(t3))) { let e11 = "CryptoKey does not support this operation, its usages must include "; if (t2.length > 2) { let r2 = t2.pop(); e11 += `one of ${t2.join(", ")}, or ${r2}.`; } else 2 === t2.length ? e11 += `one of ${t2[0]} or ${t2[1]}.` : e11 += `${t2[0]}.`; throw TypeError(e11); } } function G(e10, t2, ...r2) { switch (t2) { case "A128GCM": case "A192GCM": case "A256GCM": { if (!B(e10.algorithm, "AES-GCM")) throw J("AES-GCM"); let r3 = parseInt(t2.slice(1, 4), 10); if (e10.algorithm.length !== r3) throw J(r3, "algorithm.length"); break; } case "A128KW": case "A192KW": case "A256KW": { if (!B(e10.algorithm, "AES-KW")) throw J("AES-KW"); let r3 = parseInt(t2.slice(1, 4), 10); if (e10.algorithm.length !== r3) throw J(r3, "algorithm.length"); break; } case "ECDH": switch (e10.algorithm.name) { case "ECDH": case "X25519": case "X448": break; default: throw J("ECDH, X25519, or X448"); } break; case "PBES2-HS256+A128KW": case "PBES2-HS384+A192KW": case "PBES2-HS512+A256KW": if (!B(e10.algorithm, "PBKDF2")) throw J("PBKDF2"); break; case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": { if (!B(e10.algorithm, "RSA-OAEP")) throw J("RSA-OAEP"); let r3 = parseInt(t2.slice(9), 10) || 1; if ($(e10.algorithm.hash) !== r3) throw J(`SHA-${r3}`, "algorithm.hash"); break; } default: throw TypeError("CryptoKey does not support this operation"); } V(e10, r2); } function q(e10, t2, ...r2) { if (r2.length > 2) { let t3 = r2.pop(); e10 += `one of type ${r2.join(", ")}, or ${t3}.`; } else 2 === r2.length ? e10 += `one of type ${r2[0]} or ${r2[1]}.` : e10 += `of type ${r2[0]}.`; return null == t2 ? e10 += ` Received ${t2}` : "function" == typeof t2 && t2.name ? e10 += ` Received function ${t2.name}` : "object" == typeof t2 && null != t2 && t2.constructor && t2.constructor.name && (e10 += ` Received an instance of ${t2.constructor.name}`), e10; } let F = (e10, ...t2) => q("Key must be ", e10, ...t2); function z(e10, t2, ...r2) { return q(`Key for the ${e10} algorithm must be `, t2, ...r2); } let X = (e10) => o(e10), Y = ["CryptoKey"]; async function Z(e10, t2, r2, n2, a2, o2) { let s2, c2; if (!(t2 instanceof Uint8Array)) throw TypeError(F(t2, "Uint8Array")); let l2 = parseInt(e10.slice(1, 4), 10), u2 = await i.subtle.importKey("raw", t2.subarray(l2 >> 3), "AES-CBC", false, ["decrypt"]), h2 = await i.subtle.importKey("raw", t2.subarray(0, l2 >> 3), { hash: `SHA-${l2 << 1}`, name: "HMAC" }, false, ["sign"]), f2 = d(o2, n2, r2, p(o2.length << 3)), g2 = new Uint8Array((await i.subtle.sign("HMAC", h2, f2)).slice(0, l2 >> 3)); try { s2 = j(a2, g2); } catch (e11) { } if (!s2) throw new P(); try { c2 = new Uint8Array(await i.subtle.decrypt({ iv: n2, name: "AES-CBC" }, u2, r2)); } catch (e11) { } if (!c2) throw new P(); return c2; } async function Q(e10, t2, r2, n2, a2, o2) { let s2; t2 instanceof Uint8Array ? s2 = await i.subtle.importKey("raw", t2, "AES-GCM", false, ["decrypt"]) : (G(t2, e10, "decrypt"), s2 = t2); try { return new Uint8Array(await i.subtle.decrypt({ additionalData: o2, iv: n2, name: "AES-GCM", tagLength: 128 }, s2, d(r2, a2))); } catch (e11) { throw new P(); } } let ee = async (e10, t2, r2, n2, a2, i2) => { if (!o(t2) && !(t2 instanceof Uint8Array)) throw TypeError(F(t2, ...Y, "Uint8Array")); switch (L(e10, n2), e10) { case "A128CBC-HS256": case "A192CBC-HS384": case "A256CBC-HS512": return t2 instanceof Uint8Array && K(t2, parseInt(e10.slice(-3), 10)), Z(e10, t2, r2, n2, a2, i2); case "A128GCM": case "A192GCM": case "A256GCM": return t2 instanceof Uint8Array && K(t2, parseInt(e10.slice(1, 4), 10)), Q(e10, t2, r2, n2, a2, i2); default: throw new A("Unsupported JWE Content Encryption Algorithm"); } }, et = async () => { throw new A('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.'); }, er = async () => { throw new A('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.'); }, en = (...e10) => { let t2; let r2 = e10.filter(Boolean); if (0 === r2.length || 1 === r2.length) return true; for (let e11 of r2) { let r3 = Object.keys(e11); if (!t2 || 0 === t2.size) { t2 = new Set(r3); continue; } for (let e12 of r3) { if (t2.has(e12)) return false; t2.add(e12); } } return true; }; function ea(e10) { if (!("object" == typeof e10 && null !== e10) || "[object Object]" !== Object.prototype.toString.call(e10)) return false; if (null === Object.getPrototypeOf(e10)) return true; let t2 = e10; for (; null !== Object.getPrototypeOf(t2); ) t2 = Object.getPrototypeOf(t2); return Object.getPrototypeOf(e10) === t2; } let ei = [{ hash: "SHA-256", name: "HMAC" }, true, ["sign"]]; function eo(e10, t2) { if (e10.algorithm.length !== parseInt(t2.slice(1, 4), 10)) throw TypeError(`Invalid key size for alg: ${t2}`); } function es(e10, t2, r2) { if (o(e10)) return G(e10, t2, r2), e10; if (e10 instanceof Uint8Array) return i.subtle.importKey("raw", e10, "AES-KW", true, [r2]); throw TypeError(F(e10, ...Y, "Uint8Array")); } let ec = async (e10, t2, r2) => { let n2 = await es(t2, e10, "wrapKey"); eo(n2, e10); let a2 = await i.subtle.importKey("raw", r2, ...ei); return new Uint8Array(await i.subtle.wrapKey("raw", a2, n2, "AES-KW")); }, el = async (e10, t2, r2) => { let n2 = await es(t2, e10, "unwrapKey"); eo(n2, e10); let a2 = await i.subtle.unwrapKey("raw", r2, n2, "AES-KW", ...ei); return new Uint8Array(await i.subtle.exportKey("raw", a2)); }; async function ed(e10, t2, r2, n2, a2 = new Uint8Array(0), s2 = new Uint8Array(0)) { let l2; if (!o(e10)) throw TypeError(F(e10, ...Y)); if (G(e10, "ECDH"), !o(t2)) throw TypeError(F(t2, ...Y)); G(t2, "ECDH", "deriveBits"); let u2 = d(f(c.encode(r2)), f(a2), f(s2), h(n2)); return l2 = "X25519" === e10.algorithm.name ? 256 : "X448" === e10.algorithm.name ? 448 : Math.ceil(parseInt(e10.algorithm.namedCurve.substr(-3), 10) / 8) << 3, g(new Uint8Array(await i.subtle.deriveBits({ name: e10.algorithm.name, public: e10 }, t2, l2)), n2, u2); } async function eu(e10) { if (!o(e10)) throw TypeError(F(e10, ...Y)); return i.subtle.generateKey(e10.algorithm, true, ["deriveBits"]); } function ep(e10) { if (!o(e10)) throw TypeError(F(e10, ...Y)); return ["P-256", "P-384", "P-521"].includes(e10.algorithm.namedCurve) || "X25519" === e10.algorithm.name || "X448" === e10.algorithm.name; } async function eh(e10, t2, r2, n2) { !function(e11) { if (!(e11 instanceof Uint8Array) || e11.length < 8) throw new x("PBES2 Salt Input must be 8 or more octets"); }(e10); let a2 = d(c.encode(t2), new Uint8Array([0]), e10), s2 = parseInt(t2.slice(13, 16), 10), l2 = { hash: `SHA-${t2.slice(8, 11)}`, iterations: r2, name: "PBKDF2", salt: a2 }, u2 = await function(e11, t3) { if (e11 instanceof Uint8Array) return i.subtle.importKey("raw", e11, "PBKDF2", false, ["deriveBits"]); if (o(e11)) return G(e11, t3, "deriveBits", "deriveKey"), e11; throw TypeError(F(e11, ...Y, "Uint8Array")); }(n2, t2); if (u2.usages.includes("deriveBits")) return new Uint8Array(await i.subtle.deriveBits(l2, u2, s2)); if (u2.usages.includes("deriveKey")) return i.subtle.deriveKey(l2, u2, { length: s2, name: "AES-KW" }, false, ["wrapKey", "unwrapKey"]); throw TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"'); } let ef = async (e10, t2, r2, n2 = 2048, a2 = D(new Uint8Array(16))) => { let i2 = await eh(a2, e10, n2, t2); return { encryptedKey: await ec(e10.slice(-6), i2, r2), p2c: n2, p2s: w(a2) }; }, eg = async (e10, t2, r2, n2, a2) => { let i2 = await eh(a2, e10, n2, t2); return el(e10.slice(-6), i2, r2); }; function ey(e10) { switch (e10) { case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": return "RSA-OAEP"; default: throw new A(`alg ${e10} is not supported either by JOSE or your javascript runtime`); } } let ew = (e10, t2) => { if (e10.startsWith("RS") || e10.startsWith("PS")) { let { modulusLength: r2 } = t2.algorithm; if ("number" != typeof r2 || r2 < 2048) throw TypeError(`${e10} requires key modulusLength to be 2048 bits or larger`); } }, em = async (e10, t2, r2) => { if (!o(t2)) throw TypeError(F(t2, ...Y)); if (G(t2, e10, "encrypt", "wrapKey"), ew(e10, t2), t2.usages.includes("encrypt")) return new Uint8Array(await i.subtle.encrypt(ey(e10), t2, r2)); if (t2.usages.includes("wrapKey")) { let n2 = await i.subtle.importKey("raw", r2, ...ei); return new Uint8Array(await i.subtle.wrapKey("raw", n2, t2, ey(e10))); } throw TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation'); }, eb = async (e10, t2, r2) => { if (!o(t2)) throw TypeError(F(t2, ...Y)); if (G(t2, e10, "decrypt", "unwrapKey"), ew(e10, t2), t2.usages.includes("decrypt")) return new Uint8Array(await i.subtle.decrypt(ey(e10), t2, r2)); if (t2.usages.includes("unwrapKey")) { let n2 = await i.subtle.unwrapKey("raw", r2, t2, ey(e10), ...ei); return new Uint8Array(await i.subtle.exportKey("raw", n2)); } throw TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation'); }; function ev(e10) { switch (e10) { case "A128GCM": return 128; case "A192GCM": return 192; case "A256GCM": case "A128CBC-HS256": return 256; case "A192CBC-HS384": return 384; case "A256CBC-HS512": return 512; default: throw new A(`Unsupported JWE Algorithm: ${e10}`); } } let eS = (e10) => D(new Uint8Array(ev(e10) >> 3)), eE = (e10, t2) => { let r2 = (e10.match(/.{1,64}/g) || []).join("\n"); return `-----BEGIN ${t2}----- ${r2} -----END ${t2}-----`; }, e_ = async (e10, t2, r2) => { if (!o(r2)) throw TypeError(F(r2, ...Y)); if (!r2.extractable) throw TypeError("CryptoKey is not extractable"); if (r2.type !== e10) throw TypeError(`key is not a ${e10} key`); return eE(y(new Uint8Array(await i.subtle.exportKey(t2, r2))), `${e10.toUpperCase()} KEY`); }, eA = (e10) => e_("public", "spki", e10), eP = (e10) => e_("private", "pkcs8", e10), eC = (e10, t2, r2 = 0) => { 0 === r2 && (t2.unshift(t2.length), t2.unshift(6)); let n2 = e10.indexOf(t2[0], r2); if (-1 === n2) return false; let a2 = e10.subarray(n2, n2 + t2.length); return a2.length === t2.length && (a2.every((e11, r3) => e11 === t2[r3]) || eC(e10, t2, n2 + 1)); }, ex = (e10) => { switch (true) { case eC(e10, [42, 134, 72, 206, 61, 3, 1, 7]): return "P-256"; case eC(e10, [43, 129, 4, 0, 34]): return "P-384"; case eC(e10, [43, 129, 4, 0, 35]): return "P-521"; case eC(e10, [43, 101, 110]): return "X25519"; case eC(e10, [43, 101, 111]): return "X448"; case eC(e10, [43, 101, 112]): return "Ed25519"; case eC(e10, [43, 101, 113]): return "Ed448"; default: throw new A("Invalid or unsupported EC Key Curve or OKP Key Sub Type"); } }, eR = async (e10, t2, r2, n2, a2) => { var o2; let s2, c2; let l2 = new Uint8Array(atob(r2.replace(e10, "")).split("").map((e11) => e11.charCodeAt(0))), d2 = "spki" === t2; switch (n2) { case "PS256": case "PS384": case "PS512": s2 = { name: "RSA-PSS", hash: `SHA-${n2.slice(-3)}` }, c2 = d2 ? ["verify"] : ["sign"]; break; case "RS256": case "RS384": case "RS512": s2 = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${n2.slice(-3)}` }, c2 = d2 ? ["verify"] : ["sign"]; break; case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": s2 = { name: "RSA-OAEP", hash: `SHA-${parseInt(n2.slice(-3), 10) || 1}` }, c2 = d2 ? ["encrypt", "wrapKey"] : ["decrypt", "unwrapKey"]; break; case "ES256": s2 = { name: "ECDSA", namedCurve: "P-256" }, c2 = d2 ? ["verify"] : ["sign"]; break; case "ES384": s2 = { name: "ECDSA", namedCurve: "P-384" }, c2 = d2 ? ["verify"] : ["sign"]; break; case "ES512": s2 = { name: "ECDSA", namedCurve: "P-521" }, c2 = d2 ? ["verify"] : ["sign"]; break; case "ECDH-ES": case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": { let e11 = ex(l2); s2 = e11.startsWith("P-") ? { name: "ECDH", namedCurve: e11 } : { name: e11 }, c2 = d2 ? [] : ["deriveBits"]; break; } case "EdDSA": s2 = { name: ex(l2) }, c2 = d2 ? ["verify"] : ["sign"]; break; default: throw new A('Invalid or unsupported "alg" (Algorithm) value'); } return i.subtle.importKey(t2, l2, s2, null !== (o2 = null == a2 ? void 0 : a2.extractable) && void 0 !== o2 && o2, c2); }, eT = (e10, t2, r2) => eR(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, "pkcs8", e10, t2, r2), eO = (e10, t2, r2) => eR(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "spki", e10, t2, r2); function ek(e10) { let t2 = [], r2 = 0; for (; r2 < e10.length; ) { let n2 = eI(e10.subarray(r2)); t2.push(n2), r2 += n2.byteLength; } return t2; } function eI(e10) { let t2 = 0, r2 = 31 & e10[0]; if (t2++, 31 === r2) { for (r2 = 0; e10[t2] >= 128; ) r2 = 128 * r2 + e10[t2] - 128, t2++; r2 = 128 * r2 + e10[t2] - 128, t2++; } let n2 = 0; if (e10[t2] < 128) n2 = e10[t2], t2++; else if (128 === n2) { for (n2 = 0; 0 !== e10[t2 + n2] || 0 !== e10[t2 + n2 + 1]; ) { if (n2 > e10.byteLength) throw TypeError("invalid indefinite form length"); n2++; } let r3 = t2 + n2 + 2; return { byteLength: r3, contents: e10.subarray(t2, t2 + n2), raw: e10.subarray(0, r3) }; } else { let r3 = 127 & e10[t2]; t2++, n2 = 0; for (let a3 = 0; a3 < r3; a3++) n2 = 256 * n2 + e10[t2], t2++; } let a2 = t2 + n2; return { byteLength: a2, contents: e10.subarray(t2, a2), raw: e10.subarray(0, a2) }; } let eN = (e10, t2, r2) => { let n2; try { n2 = eE(function(e11) { let t3 = ek(ek(eI(e11).contents)[0].contents); return y(t3[160 === t3[0].raw[0] ? 6 : 5].raw); }(m(e10.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, ""))), "PUBLIC KEY"); } catch (e11) { throw TypeError("Failed to parse the X.509 certificate", { cause: e11 }); } return eO(n2, t2, r2); }, eH = async (e10) => { var t2, r2; if (!e10.alg) throw TypeError('"alg" argument is required when "jwk.alg" is not present'); let { algorithm: n2, keyUsages: a2 } = function(e11) { let t3, r3; switch (e11.kty) { case "oct": switch (e11.alg) { case "HS256": case "HS384": case "HS512": t3 = { name: "HMAC", hash: `SHA-${e11.alg.slice(-3)}` }, r3 = ["sign", "verify"]; break; case "A128CBC-HS256": case "A192CBC-HS384": case "A256CBC-HS512": throw new A(`${e11.alg} keys cannot be imported as CryptoKey instances`); case "A128GCM": case "A192GCM": case "A256GCM": case "A128GCMKW": case "A192GCMKW": case "A256GCMKW": t3 = { name: "AES-GCM" }, r3 = ["encrypt", "decrypt"]; break; case "A128KW": case "A192KW": case "A256KW": t3 = { name: "AES-KW" }, r3 = ["wrapKey", "unwrapKey"]; break; case "PBES2-HS256+A128KW": case "PBES2-HS384+A192KW": case "PBES2-HS512+A256KW": t3 = { name: "PBKDF2" }, r3 = ["deriveBits"]; break; default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } break; case "RSA": switch (e11.alg) { case "PS256": case "PS384": case "PS512": t3 = { name: "RSA-PSS", hash: `SHA-${e11.alg.slice(-3)}` }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "RS256": case "RS384": case "RS512": t3 = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${e11.alg.slice(-3)}` }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": t3 = { name: "RSA-OAEP", hash: `SHA-${parseInt(e11.alg.slice(-3), 10) || 1}` }, r3 = e11.d ? ["decrypt", "unwrapKey"] : ["encrypt", "wrapKey"]; break; default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } break; case "EC": switch (e11.alg) { case "ES256": t3 = { name: "ECDSA", namedCurve: "P-256" }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "ES384": t3 = { name: "ECDSA", namedCurve: "P-384" }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "ES512": t3 = { name: "ECDSA", namedCurve: "P-521" }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "ECDH-ES": case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": t3 = { name: "ECDH", namedCurve: e11.crv }, r3 = e11.d ? ["deriveBits"] : []; break; default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } break; case "OKP": switch (e11.alg) { case "EdDSA": t3 = { name: e11.crv }, r3 = e11.d ? ["sign"] : ["verify"]; break; case "ECDH-ES": case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": t3 = { name: e11.crv }, r3 = e11.d ? ["deriveBits"] : []; break; default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } break; default: throw new A('Invalid or unsupported JWK "kty" (Key Type) Parameter value'); } return { algorithm: t3, keyUsages: r3 }; }(e10), o2 = [n2, null !== (t2 = e10.ext) && void 0 !== t2 && t2, null !== (r2 = e10.key_ops) && void 0 !== r2 ? r2 : a2]; if ("PBKDF2" === n2.name) return i.subtle.importKey("raw", b(e10.k), ...o2); let s2 = { ...e10 }; return delete s2.alg, delete s2.use, i.subtle.importKey("jwk", s2, ...o2); }; async function eM(e10, t2, r2) { if ("string" != typeof e10 || 0 !== e10.indexOf("-----BEGIN PUBLIC KEY-----")) throw TypeError('"spki" must be SPKI formatted string'); return eO(e10, t2, r2); } async function eD(e10, t2, r2) { if ("string" != typeof e10 || 0 !== e10.indexOf("-----BEGIN CERTIFICATE-----")) throw TypeError('"x509" must be X.509 formatted string'); return eN(e10, t2, r2); } async function eU(e10, t2, r2) { if ("string" != typeof e10 || 0 !== e10.indexOf("-----BEGIN PRIVATE KEY-----")) throw TypeError('"pkcs8" must be PKCS#8 formatted string'); return eT(e10, t2, r2); } async function eW(e10, t2, r2) { var n2; if (!ea(e10)) throw TypeError("JWK must be an object"); switch (t2 || (t2 = e10.alg), e10.kty) { case "oct": if ("string" != typeof e10.k || !e10.k) throw TypeError('missing "k" (Key Value) Parameter value'); if (null != r2 || (r2 = true !== e10.ext), r2) return eH({ ...e10, alg: t2, ext: null !== (n2 = e10.ext) && void 0 !== n2 && n2 }); return b(e10.k); case "RSA": if (void 0 !== e10.oth) throw new A('RSA JWK "oth" (Other Primes Info) Parameter value is not supported'); case "EC": case "OKP": return eH({ ...e10, alg: t2 }); default: throw new A('Unsupported "kty" (Key Type) Parameter value'); } } let eL = (e10, t2) => { if (!(t2 instanceof Uint8Array)) { if (!X(t2)) throw TypeError(z(e10, t2, ...Y, "Uint8Array")); if ("secret" !== t2.type) throw TypeError(`${Y.join(" or ")} instances for symmetric algorithms must be of type "secret"`); } }, eK = (e10, t2, r2) => { if (!X(t2)) throw TypeError(z(e10, t2, ...Y)); if ("secret" === t2.type) throw TypeError(`${Y.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`); if ("sign" === r2 && "public" === t2.type) throw TypeError(`${Y.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`); if ("decrypt" === r2 && "public" === t2.type) throw TypeError(`${Y.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`); if (t2.algorithm && "verify" === r2 && "private" === t2.type) throw TypeError(`${Y.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`); if (t2.algorithm && "encrypt" === r2 && "private" === t2.type) throw TypeError(`${Y.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`); }, ej = (e10, t2, r2) => { e10.startsWith("HS") || "dir" === e10 || e10.startsWith("PBES2") || /^A\d{3}(?:GCM)?KW$/.test(e10) ? eL(e10, t2) : eK(e10, t2, r2); }; async function eJ(e10, t2, r2, n2, a2) { if (!(r2 instanceof Uint8Array)) throw TypeError(F(r2, "Uint8Array")); let o2 = parseInt(e10.slice(1, 4), 10), s2 = await i.subtle.importKey("raw", r2.subarray(o2 >> 3), "AES-CBC", false, ["encrypt"]), c2 = await i.subtle.importKey("raw", r2.subarray(0, o2 >> 3), { hash: `SHA-${o2 << 1}`, name: "HMAC" }, false, ["sign"]), l2 = new Uint8Array(await i.subtle.encrypt({ iv: n2, name: "AES-CBC" }, s2, t2)), u2 = d(a2, n2, l2, p(a2.length << 3)); return { ciphertext: l2, tag: new Uint8Array((await i.subtle.sign("HMAC", c2, u2)).slice(0, o2 >> 3)) }; } async function eB(e10, t2, r2, n2, a2) { let o2; r2 instanceof Uint8Array ? o2 = await i.subtle.importKey("raw", r2, "AES-GCM", false, ["encrypt"]) : (G(r2, e10, "encrypt"), o2 = r2); let s2 = new Uint8Array(await i.subtle.encrypt({ additionalData: a2, iv: n2, name: "AES-GCM", tagLength: 128 }, o2, t2)), c2 = s2.slice(-16); return { ciphertext: s2.slice(0, -16), tag: c2 }; } let e$ = async (e10, t2, r2, n2, a2) => { if (!o(r2) && !(r2 instanceof Uint8Array)) throw TypeError(F(r2, ...Y, "Uint8Array")); switch (L(e10, n2), e10) { case "A128CBC-HS256": case "A192CBC-HS384": case "A256CBC-HS512": return r2 instanceof Uint8Array && K(r2, parseInt(e10.slice(-3), 10)), eJ(e10, t2, r2, n2, a2); case "A128GCM": case "A192GCM": case "A256GCM": return r2 instanceof Uint8Array && K(r2, parseInt(e10.slice(1, 4), 10)), eB(e10, t2, r2, n2, a2); default: throw new A("Unsupported JWE Content Encryption Algorithm"); } }; async function eV(e10, t2, r2, n2) { let a2 = e10.slice(0, 7); n2 || (n2 = W(a2)); let { ciphertext: i2, tag: o2 } = await e$(a2, r2, t2, n2, new Uint8Array(0)); return { encryptedKey: i2, iv: w(n2), tag: w(o2) }; } async function eG(e10, t2, r2, n2, a2) { return ee(e10.slice(0, 7), t2, r2, n2, a2, new Uint8Array(0)); } async function eq(e10, t2, r2, n2, a2) { switch (ej(e10, t2, "decrypt"), e10) { case "dir": if (void 0 !== r2) throw new x("Encountered unexpected JWE Encrypted Key"); return t2; case "ECDH-ES": if (void 0 !== r2) throw new x("Encountered unexpected JWE Encrypted Key"); case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": { let a3, i2; if (!ea(n2.epk)) throw new x('JOSE Header "epk" (Ephemeral Public Key) missing or invalid'); if (!ep(t2)) throw new A("ECDH with the provided key is not allowed or not supported by your javascript runtime"); let o2 = await eW(n2.epk, e10); if (void 0 !== n2.apu) { if ("string" != typeof n2.apu) throw new x('JOSE Header "apu" (Agreement PartyUInfo) invalid'); try { a3 = b(n2.apu); } catch (e11) { throw new x("Failed to base64url decode the apu"); } } if (void 0 !== n2.apv) { if ("string" != typeof n2.apv) throw new x('JOSE Header "apv" (Agreement PartyVInfo) invalid'); try { i2 = b(n2.apv); } catch (e11) { throw new x("Failed to base64url decode the apv"); } } let s2 = await ed(o2, t2, "ECDH-ES" === e10 ? n2.enc : e10, "ECDH-ES" === e10 ? ev(n2.enc) : parseInt(e10.slice(-5, -2), 10), a3, i2); if ("ECDH-ES" === e10) return s2; if (void 0 === r2) throw new x("JWE Encrypted Key missing"); return el(e10.slice(-6), s2, r2); } case "RSA1_5": case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": if (void 0 === r2) throw new x("JWE Encrypted Key missing"); return eb(e10, t2, r2); case "PBES2-HS256+A128KW": case "PBES2-HS384+A192KW": case "PBES2-HS512+A256KW": { let i2; if (void 0 === r2) throw new x("JWE Encrypted Key missing"); if ("number" != typeof n2.p2c) throw new x('JOSE Header "p2c" (PBES2 Count) missing or invalid'); let o2 = (null == a2 ? void 0 : a2.maxPBES2Count) || 1e4; if (n2.p2c > o2) throw new x('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds'); if ("string" != typeof n2.p2s) throw new x('JOSE Header "p2s" (PBES2 Salt) missing or invalid'); try { i2 = b(n2.p2s); } catch (e11) { throw new x("Failed to base64url decode the p2s"); } return eg(e10, t2, r2, n2.p2c, i2); } case "A128KW": case "A192KW": case "A256KW": if (void 0 === r2) throw new x("JWE Encrypted Key missing"); return el(e10, t2, r2); case "A128GCMKW": case "A192GCMKW": case "A256GCMKW": { let a3, i2; if (void 0 === r2) throw new x("JWE Encrypted Key missing"); if ("string" != typeof n2.iv) throw new x('JOSE Header "iv" (Initialization Vector) missing or invalid'); if ("string" != typeof n2.tag) throw new x('JOSE Header "tag" (Authentication Tag) missing or invalid'); try { a3 = b(n2.iv); } catch (e11) { throw new x("Failed to base64url decode the iv"); } try { i2 = b(n2.tag); } catch (e11) { throw new x("Failed to base64url decode the tag"); } return eG(e10, t2, r2, a3, i2); } default: throw new A('Invalid or unsupported "alg" (JWE Algorithm) header value'); } } let eF = function(e10, t2, r2, n2, a2) { let i2; if (void 0 !== a2.crit && void 0 === n2.crit) throw new e10('"crit" (Critical) Header Parameter MUST be integrity protected'); if (!n2 || void 0 === n2.crit) return /* @__PURE__ */ new Set(); if (!Array.isArray(n2.crit) || 0 === n2.crit.length || n2.crit.some((e11) => "string" != typeof e11 || 0 === e11.length)) throw new e10('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present'); for (let o2 of (i2 = void 0 !== r2 ? new Map([...Object.entries(r2), ...t2.entries()]) : t2, n2.crit)) { if (!i2.has(o2)) throw new A(`Extension Header Parameter "${o2}" is not recognized`); if (void 0 === a2[o2]) throw new e10(`Extension Header Parameter "${o2}" is missing`); if (i2.get(o2) && void 0 === n2[o2]) throw new e10(`Extension Header Parameter "${o2}" MUST be integrity protected`); } return new Set(n2.crit); }, ez = (e10, t2) => { if (void 0 !== t2 && (!Array.isArray(t2) || t2.some((e11) => "string" != typeof e11))) throw TypeError(`"${e10}" option must be an array of strings`); if (t2) return new Set(t2); }; async function eX(e10, t2, r2) { var n2; let a2, i2, o2, s2, u2, p2, h2; if (!ea(e10)) throw new x("Flattened JWE must be an object"); if (void 0 === e10.protected && void 0 === e10.header && void 0 === e10.unprotected) throw new x("JOSE Header missing"); if ("string" != typeof e10.iv) throw new x("JWE Initialization Vector missing or incorrect type"); if ("string" != typeof e10.ciphertext) throw new x("JWE Ciphertext missing or incorrect type"); if ("string" != typeof e10.tag) throw new x("JWE Authentication Tag missing or incorrect type"); if (void 0 !== e10.protected && "string" != typeof e10.protected) throw new x("JWE Protected Header incorrect type"); if (void 0 !== e10.encrypted_key && "string" != typeof e10.encrypted_key) throw new x("JWE Encrypted Key incorrect type"); if (void 0 !== e10.aad && "string" != typeof e10.aad) throw new x("JWE AAD incorrect type"); if (void 0 !== e10.header && !ea(e10.header)) throw new x("JWE Shared Unprotected Header incorrect type"); if (void 0 !== e10.unprotected && !ea(e10.unprotected)) throw new x("JWE Per-Recipient Unprotected Header incorrect type"); if (e10.protected) try { let t3 = b(e10.protected); a2 = JSON.parse(l.decode(t3)); } catch (e11) { throw new x("JWE Protected Header is invalid"); } if (!en(a2, e10.header, e10.unprotected)) throw new x("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint"); let f2 = { ...a2, ...e10.header, ...e10.unprotected }; if (eF(x, /* @__PURE__ */ new Map(), null == r2 ? void 0 : r2.crit, a2, f2), void 0 !== f2.zip) { if (!a2 || !a2.zip) throw new x('JWE "zip" (Compression Algorithm) Header MUST be integrity protected'); if ("DEF" !== f2.zip) throw new A('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value'); } let { alg: g2, enc: y2 } = f2; if ("string" != typeof g2 || !g2) throw new x("missing JWE Algorithm (alg) in JWE Header"); if ("string" != typeof y2 || !y2) throw new x("missing JWE Encryption Algorithm (enc) in JWE Header"); let w2 = r2 && ez("keyManagementAlgorithms", r2.keyManagementAlgorithms), m2 = r2 && ez("contentEncryptionAlgorithms", r2.contentEncryptionAlgorithms); if (w2 && !w2.has(g2)) throw new _('"alg" (Algorithm) Header Parameter not allowed'); if (m2 && !m2.has(y2)) throw new _('"enc" (Encryption Algorithm) Header Parameter not allowed'); if (void 0 !== e10.encrypted_key) try { i2 = b(e10.encrypted_key); } catch (e11) { throw new x("Failed to base64url decode the encrypted_key"); } let v2 = false; "function" == typeof t2 && (t2 = await t2(a2, e10), v2 = true); try { o2 = await eq(g2, t2, i2, f2, r2); } catch (e11) { if (e11 instanceof TypeError || e11 instanceof x || e11 instanceof A) throw e11; o2 = eS(y2); } try { s2 = b(e10.iv); } catch (e11) { throw new x("Failed to base64url decode the iv"); } try { u2 = b(e10.tag); } catch (e11) { throw new x("Failed to base64url decode the tag"); } let S2 = c.encode(null !== (n2 = e10.protected) && void 0 !== n2 ? n2 : ""); p2 = void 0 !== e10.aad ? d(S2, c.encode("."), c.encode(e10.aad)) : S2; try { h2 = b(e10.ciphertext); } catch (e11) { throw new x("Failed to base64url decode the ciphertext"); } let E2 = await ee(y2, o2, h2, s2, u2, p2); "DEF" === f2.zip && (E2 = await ((null == r2 ? void 0 : r2.inflateRaw) || et)(E2)); let P2 = { plaintext: E2 }; if (void 0 !== e10.protected && (P2.protectedHeader = a2), void 0 !== e10.aad) try { P2.additionalAuthenticatedData = b(e10.aad); } catch (e11) { throw new x("Failed to base64url decode the aad"); } return (void 0 !== e10.unprotected && (P2.sharedUnprotectedHeader = e10.unprotected), void 0 !== e10.header && (P2.unprotectedHeader = e10.header), v2) ? { ...P2, key: t2 } : P2; } async function eY(e10, t2, r2) { if (e10 instanceof Uint8Array && (e10 = l.decode(e10)), "string" != typeof e10) throw new x("Compact JWE must be a string or Uint8Array"); let { 0: n2, 1: a2, 2: i2, 3: o2, 4: s2, length: c2 } = e10.split("."); if (5 !== c2) throw new x("Invalid Compact JWE"); let d2 = await eX({ ciphertext: o2, iv: i2 || void 0, protected: n2 || void 0, tag: s2 || void 0, encrypted_key: a2 || void 0 }, t2, r2), u2 = { plaintext: d2.plaintext, protectedHeader: d2.protectedHeader }; return "function" == typeof t2 ? { ...u2, key: d2.key } : u2; } async function eZ(e10, t2, r2) { if (!ea(e10)) throw new x("General JWE must be an object"); if (!Array.isArray(e10.recipients) || !e10.recipients.every(ea)) throw new x("JWE Recipients missing or incorrect type"); if (!e10.recipients.length) throw new x("JWE Recipients has no members"); for (let n2 of e10.recipients) try { return await eX({ aad: e10.aad, ciphertext: e10.ciphertext, encrypted_key: n2.encrypted_key, header: n2.header, iv: e10.iv, protected: e10.protected, tag: e10.tag, unprotected: e10.unprotected }, t2, r2); } catch (e11) { } throw new P(); } let eQ = async (e10) => { if (e10 instanceof Uint8Array) return { kty: "oct", k: w(e10) }; if (!o(e10)) throw TypeError(F(e10, ...Y, "Uint8Array")); if (!e10.extractable) throw TypeError("non-extractable CryptoKey cannot be exported as a JWK"); let { ext: t2, key_ops: r2, alg: n2, use: a2, ...s2 } = await i.subtle.exportKey("jwk", e10); return s2; }; async function e0(e10) { return eA(e10); } async function e1(e10) { return eP(e10); } async function e2(e10) { return eQ(e10); } async function e5(e10, t2, r2, n2, a2 = {}) { let i2, o2, s2; switch (ej(e10, r2, "encrypt"), e10) { case "dir": s2 = r2; break; case "ECDH-ES": case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": { if (!ep(r2)) throw new A("ECDH with the provided key is not allowed or not supported by your javascript runtime"); let { apu: c2, apv: l2 } = a2, { epk: d2 } = a2; d2 || (d2 = (await eu(r2)).privateKey); let { x: u2, y: p2, crv: h2, kty: f2 } = await e2(d2), g2 = await ed(r2, d2, "ECDH-ES" === e10 ? t2 : e10, "ECDH-ES" === e10 ? ev(t2) : parseInt(e10.slice(-5, -2), 10), c2, l2); if (o2 = { epk: { x: u2, crv: h2, kty: f2 } }, "EC" === f2 && (o2.epk.y = p2), c2 && (o2.apu = w(c2)), l2 && (o2.apv = w(l2)), "ECDH-ES" === e10) { s2 = g2; break; } s2 = n2 || eS(t2); let y2 = e10.slice(-6); i2 = await ec(y2, g2, s2); break; } case "RSA1_5": case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": s2 = n2 || eS(t2), i2 = await em(e10, r2, s2); break; case "PBES2-HS256+A128KW": case "PBES2-HS384+A192KW": case "PBES2-HS512+A256KW": { s2 = n2 || eS(t2); let { p2c: c2, p2s: l2 } = a2; ({ encryptedKey: i2, ...o2 } = await ef(e10, r2, s2, c2, l2)); break; } case "A128KW": case "A192KW": case "A256KW": s2 = n2 || eS(t2), i2 = await ec(e10, r2, s2); break; case "A128GCMKW": case "A192GCMKW": case "A256GCMKW": { s2 = n2 || eS(t2); let { iv: c2 } = a2; ({ encryptedKey: i2, ...o2 } = await eV(e10, r2, s2, c2)); break; } default: throw new A('Invalid or unsupported "alg" (JWE Algorithm) header value'); } return { cek: s2, encryptedKey: i2, parameters: o2 }; } let e4 = Symbol(); class e3 { constructor(e10) { if (!(e10 instanceof Uint8Array)) throw TypeError("plaintext must be an instance of Uint8Array"); this._plaintext = e10; } setKeyManagementParameters(e10) { if (this._keyManagementParameters) throw TypeError("setKeyManagementParameters can only be called once"); return this._keyManagementParameters = e10, this; } setProtectedHeader(e10) { if (this._protectedHeader) throw TypeError("setProtectedHeader can only be called once"); return this._protectedHeader = e10, this; } setSharedUnprotectedHeader(e10) { if (this._sharedUnprotectedHeader) throw TypeError("setSharedUnprotectedHeader can only be called once"); return this._sharedUnprotectedHeader = e10, this; } setUnprotectedHeader(e10) { if (this._unprotectedHeader) throw TypeError("setUnprotectedHeader can only be called once"); return this._unprotectedHeader = e10, this; } setAdditionalAuthenticatedData(e10) { return this._aad = e10, this; } setContentEncryptionKey(e10) { if (this._cek) throw TypeError("setContentEncryptionKey can only be called once"); return this._cek = e10, this; } setInitializationVector(e10) { if (this._iv) throw TypeError("setInitializationVector can only be called once"); return this._iv = e10, this; } async encrypt(e10, t2) { let r2, n2, a2, i2, o2, s2, u2; if (!this._protectedHeader && !this._unprotectedHeader && !this._sharedUnprotectedHeader) throw new x("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()"); if (!en(this._protectedHeader, this._unprotectedHeader, this._sharedUnprotectedHeader)) throw new x("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint"); let p2 = { ...this._protectedHeader, ...this._unprotectedHeader, ...this._sharedUnprotectedHeader }; if (eF(x, /* @__PURE__ */ new Map(), null == t2 ? void 0 : t2.crit, this._protectedHeader, p2), void 0 !== p2.zip) { if (!this._protectedHeader || !this._protectedHeader.zip) throw new x('JWE "zip" (Compression Algorithm) Header MUST be integrity protected'); if ("DEF" !== p2.zip) throw new A('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value'); } let { alg: h2, enc: f2 } = p2; if ("string" != typeof h2 || !h2) throw new x('JWE "alg" (Algorithm) Header Parameter missing or invalid'); if ("string" != typeof f2 || !f2) throw new x('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid'); if ("dir" === h2) { if (this._cek) throw TypeError("setContentEncryptionKey cannot be called when using Direct Encryption"); } else if ("ECDH-ES" === h2 && this._cek) throw TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement"); { let a3; ({ cek: n2, encryptedKey: r2, parameters: a3 } = await e5(h2, f2, e10, this._cek, this._keyManagementParameters)), a3 && (t2 && e4 in t2 ? this._unprotectedHeader ? this._unprotectedHeader = { ...this._unprotectedHeader, ...a3 } : this.setUnprotectedHeader(a3) : this._protectedHeader ? this._protectedHeader = { ...this._protectedHeader, ...a3 } : this.setProtectedHeader(a3)); } if (this._iv || (this._iv = W(f2)), i2 = this._protectedHeader ? c.encode(w(JSON.stringify(this._protectedHeader))) : c.encode(""), this._aad ? (o2 = w(this._aad), a2 = d(i2, c.encode("."), c.encode(o2))) : a2 = i2, "DEF" === p2.zip) { let e11 = await ((null == t2 ? void 0 : t2.deflateRaw) || er)(this._plaintext); ({ ciphertext: s2, tag: u2 } = await e$(f2, e11, n2, this._iv, a2)); } else ({ ciphertext: s2, tag: u2 } = await e$(f2, this._plaintext, n2, this._iv, a2)); let g2 = { ciphertext: w(s2), iv: w(this._iv), tag: w(u2) }; return r2 && (g2.encrypted_key = w(r2)), o2 && (g2.aad = o2), this._protectedHeader && (g2.protected = l.decode(i2)), this._sharedUnprotectedHeader && (g2.unprotected = this._sharedUnprotectedHeader), this._unprotectedHeader && (g2.header = this._unprotectedHeader), g2; } } class e6 { constructor(e10, t2, r2) { this.parent = e10, this.key = t2, this.options = r2; } setUnprotectedHeader(e10) { if (this.unprotectedHeader) throw TypeError("setUnprotectedHeader can only be called once"); return this.unprotectedHeader = e10, this; } addRecipient(...e10) { return this.parent.addRecipient(...e10); } encrypt(...e10) { return this.parent.encrypt(...e10); } done() { return this.parent; } } class e8 { constructor(e10) { this._recipients = [], this._plaintext = e10; } addRecipient(e10, t2) { let r2 = new e6(this, e10, { crit: null == t2 ? void 0 : t2.crit }); return this._recipients.push(r2), r2; } setProtectedHeader(e10) { if (this._protectedHeader) throw TypeError("setProtectedHeader can only be called once"); return this._protectedHeader = e10, this; } setSharedUnprotectedHeader(e10) { if (this._unprotectedHeader) throw TypeError("setSharedUnprotectedHeader can only be called once"); return this._unprotectedHeader = e10, this; } setAdditionalAuthenticatedData(e10) { return this._aad = e10, this; } async encrypt(e10) { var t2, r2, n2; let a2; if (!this._recipients.length) throw new x("at least one recipient must be added"); if (e10 = { deflateRaw: null == e10 ? void 0 : e10.deflateRaw }, 1 === this._recipients.length) { let [t3] = this._recipients, r3 = await new e3(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(t3.unprotectedHeader).encrypt(t3.key, { ...t3.options, ...e10 }), n3 = { ciphertext: r3.ciphertext, iv: r3.iv, recipients: [{}], tag: r3.tag }; return r3.aad && (n3.aad = r3.aad), r3.protected && (n3.protected = r3.protected), r3.unprotected && (n3.unprotected = r3.unprotected), r3.encrypted_key && (n3.recipients[0].encrypted_key = r3.encrypted_key), r3.header && (n3.recipients[0].header = r3.header), n3; } for (let e11 = 0; e11 < this._recipients.length; e11++) { let t3 = this._recipients[e11]; if (!en(this._protectedHeader, this._unprotectedHeader, t3.unprotectedHeader)) throw new x("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint"); let r3 = { ...this._protectedHeader, ...this._unprotectedHeader, ...t3.unprotectedHeader }, { alg: n3 } = r3; if ("string" != typeof n3 || !n3) throw new x('JWE "alg" (Algorithm) Header Parameter missing or invalid'); if ("dir" === n3 || "ECDH-ES" === n3) throw new x('"dir" and "ECDH-ES" alg may only be used with a single recipient'); if ("string" != typeof r3.enc || !r3.enc) throw new x('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid'); if (a2) { if (a2 !== r3.enc) throw new x('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients'); } else a2 = r3.enc; if (eF(x, /* @__PURE__ */ new Map(), t3.options.crit, this._protectedHeader, r3), void 0 !== r3.zip && (!this._protectedHeader || !this._protectedHeader.zip)) throw new x('JWE "zip" (Compression Algorithm) Header MUST be integrity protected'); } let i2 = eS(a2), o2 = { ciphertext: "", iv: "", recipients: [], tag: "" }; for (let s2 = 0; s2 < this._recipients.length; s2++) { let c2 = this._recipients[s2], l2 = {}; o2.recipients.push(l2); let d2 = { ...this._protectedHeader, ...this._unprotectedHeader, ...c2.unprotectedHeader }.alg.startsWith("PBES2") ? 2048 + s2 : void 0; if (0 === s2) { let t3 = await new e3(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(i2).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(c2.unprotectedHeader).setKeyManagementParameters({ p2c: d2 }).encrypt(c2.key, { ...c2.options, ...e10, [e4]: true }); o2.ciphertext = t3.ciphertext, o2.iv = t3.iv, o2.tag = t3.tag, t3.aad && (o2.aad = t3.aad), t3.protected && (o2.protected = t3.protected), t3.unprotected && (o2.unprotected = t3.unprotected), l2.encrypted_key = t3.encrypted_key, t3.header && (l2.header = t3.header); continue; } let { encryptedKey: u2, parameters: p2 } = await e5((null === (t2 = c2.unprotectedHeader) || void 0 === t2 ? void 0 : t2.alg) || (null === (r2 = this._protectedHeader) || void 0 === r2 ? void 0 : r2.alg) || (null === (n2 = this._unprotectedHeader) || void 0 === n2 ? void 0 : n2.alg), a2, c2.key, i2, { p2c: d2 }); l2.encrypted_key = w(u2), (c2.unprotectedHeader || p2) && (l2.header = { ...c2.unprotectedHeader, ...p2 }); } return o2; } } function e9(e10, t2) { let r2 = `SHA-${e10.slice(-3)}`; switch (e10) { case "HS256": case "HS384": case "HS512": return { hash: r2, name: "HMAC" }; case "PS256": case "PS384": case "PS512": return { hash: r2, name: "RSA-PSS", saltLength: e10.slice(-3) >> 3 }; case "RS256": case "RS384": case "RS512": return { hash: r2, name: "RSASSA-PKCS1-v1_5" }; case "ES256": case "ES384": case "ES512": return { hash: r2, name: "ECDSA", namedCurve: t2.namedCurve }; case "EdDSA": return { name: t2.name }; default: throw new A(`alg ${e10} is not supported either by JOSE or your javascript runtime`); } } function e7(e10, t2, r2) { if (o(t2)) return !function(e11, t3, ...r3) { switch (t3) { case "HS256": case "HS384": case "HS512": { if (!B(e11.algorithm, "HMAC")) throw J("HMAC"); let r4 = parseInt(t3.slice(2), 10); if ($(e11.algorithm.hash) !== r4) throw J(`SHA-${r4}`, "algorithm.hash"); break; } case "RS256": case "RS384": case "RS512": { if (!B(e11.algorithm, "RSASSA-PKCS1-v1_5")) throw J("RSASSA-PKCS1-v1_5"); let r4 = parseInt(t3.slice(2), 10); if ($(e11.algorithm.hash) !== r4) throw J(`SHA-${r4}`, "algorithm.hash"); break; } case "PS256": case "PS384": case "PS512": { if (!B(e11.algorithm, "RSA-PSS")) throw J("RSA-PSS"); let r4 = parseInt(t3.slice(2), 10); if ($(e11.algorithm.hash) !== r4) throw J(`SHA-${r4}`, "algorithm.hash"); break; } case "EdDSA": if ("Ed25519" !== e11.algorithm.name && "Ed448" !== e11.algorithm.name) throw J("Ed25519 or Ed448"); break; case "ES256": case "ES384": case "ES512": { if (!B(e11.algorithm, "ECDSA")) throw J("ECDSA"); let r4 = function(e12) { switch (e12) { case "ES256": return "P-256"; case "ES384": return "P-384"; case "ES512": return "P-521"; default: throw Error("unreachable"); } }(t3); if (e11.algorithm.namedCurve !== r4) throw J(r4, "algorithm.namedCurve"); break; } default: throw TypeError("CryptoKey does not support this operation"); } V(e11, r3); }(t2, e10, r2), t2; if (t2 instanceof Uint8Array) { if (!e10.startsWith("HS")) throw TypeError(F(t2, ...Y)); return i.subtle.importKey("raw", t2, { hash: `SHA-${e10.slice(-3)}`, name: "HMAC" }, false, [r2]); } throw TypeError(F(t2, ...Y, "Uint8Array")); } let te = async (e10, t2, r2, n2) => { let a2 = await e7(e10, t2, "verify"); ew(e10, a2); let o2 = e9(e10, a2.algorithm); try { return await i.subtle.verify(o2, a2, r2, n2); } catch (e11) { return false; } }; async function tt(e10, t2, r2) { var n2; let a2, i2; if (!ea(e10)) throw new R("Flattened JWS must be an object"); if (void 0 === e10.protected && void 0 === e10.header) throw new R('Flattened JWS must have either of the "protected" or "header" members'); if (void 0 !== e10.protected && "string" != typeof e10.protected) throw new R("JWS Protected Header incorrect type"); if (void 0 === e10.payload) throw new R("JWS Payload missing"); if ("string" != typeof e10.signature) throw new R("JWS Signature missing or incorrect type"); if (void 0 !== e10.header && !ea(e10.header)) throw new R("JWS Unprotected Header incorrect type"); let o2 = {}; if (e10.protected) try { let t3 = b(e10.protected); o2 = JSON.parse(l.decode(t3)); } catch (e11) { throw new R("JWS Protected Header is invalid"); } if (!en(o2, e10.header)) throw new R("JWS Protected and JWS Unprotected Header Parameter names must be disjoint"); let s2 = { ...o2, ...e10.header }, u2 = eF(R, /* @__PURE__ */ new Map([["b64", true]]), null == r2 ? void 0 : r2.crit, o2, s2), p2 = true; if (u2.has("b64") && "boolean" != typeof (p2 = o2.b64)) throw new R('The "b64" (base64url-encode payload) Header Parameter must be a boolean'); let { alg: h2 } = s2; if ("string" != typeof h2 || !h2) throw new R('JWS "alg" (Algorithm) Header Parameter missing or invalid'); let f2 = r2 && ez("algorithms", r2.algorithms); if (f2 && !f2.has(h2)) throw new _('"alg" (Algorithm) Header Parameter not allowed'); if (p2) { if ("string" != typeof e10.payload) throw new R("JWS Payload must be a string"); } else if ("string" != typeof e10.payload && !(e10.payload instanceof Uint8Array)) throw new R("JWS Payload must be a string or an Uint8Array instance"); let g2 = false; "function" == typeof t2 && (t2 = await t2(o2, e10), g2 = true), ej(h2, t2, "verify"); let y2 = d(c.encode(null !== (n2 = e10.protected) && void 0 !== n2 ? n2 : ""), c.encode("."), "string" == typeof e10.payload ? c.encode(e10.payload) : e10.payload); try { a2 = b(e10.signature); } catch (e11) { throw new R("Failed to base64url decode the signature"); } if (!await te(h2, t2, a2, y2)) throw new M(); if (p2) try { i2 = b(e10.payload); } catch (e11) { throw new R("Failed to base64url decode the payload"); } else i2 = "string" == typeof e10.payload ? c.encode(e10.payload) : e10.payload; let w2 = { payload: i2 }; return (void 0 !== e10.protected && (w2.protectedHeader = o2), void 0 !== e10.header && (w2.unprotectedHeader = e10.header), g2) ? { ...w2, key: t2 } : w2; } async function tr(e10, t2, r2) { if (e10 instanceof Uint8Array && (e10 = l.decode(e10)), "string" != typeof e10) throw new R("Compact JWS must be a string or Uint8Array"); let { 0: n2, 1: a2, 2: i2, length: o2 } = e10.split("."); if (3 !== o2) throw new R("Invalid Compact JWS"); let s2 = await tt({ payload: a2, protected: n2, signature: i2 }, t2, r2), c2 = { payload: s2.payload, protectedHeader: s2.protectedHeader }; return "function" == typeof t2 ? { ...c2, key: s2.key } : c2; } async function tn(e10, t2, r2) { if (!ea(e10)) throw new R("General JWS must be an object"); if (!Array.isArray(e10.signatures) || !e10.signatures.every(ea)) throw new R("JWS Signatures missing or incorrect type"); for (let n2 of e10.signatures) try { return await tt({ header: n2.header, payload: e10.payload, protected: n2.protected, signature: n2.signature }, t2, r2); } catch (e11) { } throw new M(); } let ta = (e10) => Math.floor(e10.getTime() / 1e3), ti = /^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i, to = (e10) => { let t2 = ti.exec(e10); if (!t2) throw TypeError("Invalid time period format"); let r2 = parseFloat(t2[1]); switch (t2[2].toLowerCase()) { case "sec": case "secs": case "second": case "seconds": case "s": return Math.round(r2); case "minute": case "minutes": case "min": case "mins": case "m": return Math.round(60 * r2); case "hour": case "hours": case "hr": case "hrs": case "h": return Math.round(3600 * r2); case "day": case "days": case "d": return Math.round(86400 * r2); case "week": case "weeks": case "w": return Math.round(604800 * r2); default: return Math.round(31557600 * r2); } }, ts = (e10) => e10.toLowerCase().replace(/^application\//, ""), tc = (e10, t2) => "string" == typeof e10 ? t2.includes(e10) : !!Array.isArray(e10) && t2.some(Set.prototype.has.bind(new Set(e10))), tl = (e10, t2, r2 = {}) => { let n2, a2; let { typ: i2 } = r2; if (i2 && ("string" != typeof e10.typ || ts(e10.typ) !== ts(i2))) throw new S('unexpected "typ" JWT header value', "typ", "check_failed"); try { n2 = JSON.parse(l.decode(t2)); } catch (e11) { } if (!ea(n2)) throw new T("JWT Claims Set must be a top-level JSON object"); let { requiredClaims: o2 = [], issuer: s2, subject: c2, audience: d2, maxTokenAge: u2 } = r2; for (let e11 of (void 0 !== u2 && o2.push("iat"), void 0 !== d2 && o2.push("aud"), void 0 !== c2 && o2.push("sub"), void 0 !== s2 && o2.push("iss"), new Set(o2.reverse()))) if (!(e11 in n2)) throw new S(`missing required "${e11}" claim`, e11, "missing"); if (s2 && !(Array.isArray(s2) ? s2 : [s2]).includes(n2.iss)) throw new S('unexpected "iss" claim value', "iss", "check_failed"); if (c2 && n2.sub !== c2) throw new S('unexpected "sub" claim value', "sub", "check_failed"); if (d2 && !tc(n2.aud, "string" == typeof d2 ? [d2] : d2)) throw new S('unexpected "aud" claim value', "aud", "check_failed"); switch (typeof r2.clockTolerance) { case "string": a2 = to(r2.clockTolerance); break; case "number": a2 = r2.clockTolerance; break; case "undefined": a2 = 0; break; default: throw TypeError("Invalid clockTolerance option type"); } let { currentDate: p2 } = r2, h2 = ta(p2 || /* @__PURE__ */ new Date()); if ((void 0 !== n2.iat || u2) && "number" != typeof n2.iat) throw new S('"iat" claim must be a number', "iat", "invalid"); if (void 0 !== n2.nbf) { if ("number" != typeof n2.nbf) throw new S('"nbf" claim must be a number', "nbf", "invalid"); if (n2.nbf > h2 + a2) throw new S('"nbf" claim timestamp check failed', "nbf", "check_failed"); } if (void 0 !== n2.exp) { if ("number" != typeof n2.exp) throw new S('"exp" claim must be a number', "exp", "invalid"); if (n2.exp <= h2 - a2) throw new E('"exp" claim timestamp check failed', "exp", "check_failed"); } if (u2) { let e11 = h2 - n2.iat; if (e11 - a2 > ("number" == typeof u2 ? u2 : to(u2))) throw new E('"iat" claim timestamp check failed (too far in the past)', "iat", "check_failed"); if (e11 < 0 - a2) throw new S('"iat" claim timestamp check failed (it should be in the past)', "iat", "check_failed"); } return n2; }; async function td(e10, t2, r2) { var n2; let a2 = await tr(e10, t2, r2); if ((null === (n2 = a2.protectedHeader.crit) || void 0 === n2 ? void 0 : n2.includes("b64")) && false === a2.protectedHeader.b64) throw new T("JWTs MUST NOT use unencoded payload"); let i2 = { payload: tl(a2.protectedHeader, a2.payload, r2), protectedHeader: a2.protectedHeader }; return "function" == typeof t2 ? { ...i2, key: a2.key } : i2; } async function tu(e10, t2, r2) { let n2 = await eY(e10, t2, r2), a2 = tl(n2.protectedHeader, n2.plaintext, r2), { protectedHeader: i2 } = n2; if (void 0 !== i2.iss && i2.iss !== a2.iss) throw new S('replicated "iss" claim header parameter mismatch', "iss", "mismatch"); if (void 0 !== i2.sub && i2.sub !== a2.sub) throw new S('replicated "sub" claim header parameter mismatch', "sub", "mismatch"); if (void 0 !== i2.aud && JSON.stringify(i2.aud) !== JSON.stringify(a2.aud)) throw new S('replicated "aud" claim header parameter mismatch', "aud", "mismatch"); let o2 = { payload: a2, protectedHeader: i2 }; return "function" == typeof t2 ? { ...o2, key: n2.key } : o2; } class tp { constructor(e10) { this._flattened = new e3(e10); } setContentEncryptionKey(e10) { return this._flattened.setContentEncryptionKey(e10), this; } setInitializationVector(e10) { return this._flattened.setInitializationVector(e10), this; } setProtectedHeader(e10) { return this._flattened.setProtectedHeader(e10), this; } setKeyManagementParameters(e10) { return this._flattened.setKeyManagementParameters(e10), this; } async encrypt(e10, t2) { let r2 = await this._flattened.encrypt(e10, t2); return [r2.protected, r2.encrypted_key, r2.iv, r2.ciphertext, r2.tag].join("."); } } let th = async (e10, t2, r2) => { let n2 = await e7(e10, t2, "sign"); return ew(e10, n2), new Uint8Array(await i.subtle.sign(e9(e10, n2.algorithm), n2, r2)); }; class tf { constructor(e10) { if (!(e10 instanceof Uint8Array)) throw TypeError("payload must be an instance of Uint8Array"); this._payload = e10; } setProtectedHeader(e10) { if (this._protectedHeader) throw TypeError("setProtectedHeader can only be called once"); return this._protectedHeader = e10, this; } setUnprotectedHeader(e10) { if (this._unprotectedHeader) throw TypeError("setUnprotectedHeader can only be called once"); return this._unprotectedHeader = e10, this; } async sign(e10, t2) { let r2; if (!this._protectedHeader && !this._unprotectedHeader) throw new R("either setProtectedHeader or setUnprotectedHeader must be called before #sign()"); if (!en(this._protectedHeader, this._unprotectedHeader)) throw new R("JWS Protected and JWS Unprotected Header Parameter names must be disjoint"); let n2 = { ...this._protectedHeader, ...this._unprotectedHeader }, a2 = eF(R, /* @__PURE__ */ new Map([["b64", true]]), null == t2 ? void 0 : t2.crit, this._protectedHeader, n2), i2 = true; if (a2.has("b64") && "boolean" != typeof (i2 = this._protectedHeader.b64)) throw new R('The "b64" (base64url-encode payload) Header Parameter must be a boolean'); let { alg: o2 } = n2; if ("string" != typeof o2 || !o2) throw new R('JWS "alg" (Algorithm) Header Parameter missing or invalid'); ej(o2, e10, "sign"); let s2 = this._payload; i2 && (s2 = c.encode(w(s2))); let u2 = d(r2 = this._protectedHeader ? c.encode(w(JSON.stringify(this._protectedHeader))) : c.encode(""), c.encode("."), s2), p2 = { signature: w(await th(o2, e10, u2)), payload: "" }; return i2 && (p2.payload = l.decode(s2)), this._unprotectedHeader && (p2.header = this._unprotectedHeader), this._protectedHeader && (p2.protected = l.decode(r2)), p2; } } class tg { constructor(e10) { this._flattened = new tf(e10); } setProtectedHeader(e10) { return this._flattened.setProtectedHeader(e10), this; } async sign(e10, t2) { let r2 = await this._flattened.sign(e10, t2); if (void 0 === r2.payload) throw TypeError("use the flattened module for creating JWS with b64: false"); return `${r2.protected}.${r2.payload}.${r2.signature}`; } } class ty { constructor(e10, t2, r2) { this.parent = e10, this.key = t2, this.options = r2; } setProtectedHeader(e10) { if (this.protectedHeader) throw TypeError("setProtectedHeader can only be called once"); return this.protectedHeader = e10, this; } setUnprotectedHeader(e10) { if (this.unprotectedHeader) throw TypeError("setUnprotectedHeader can only be called once"); return this.unprotectedHeader = e10, this; } addSignature(...e10) { return this.parent.addSignature(...e10); } sign(...e10) { return this.parent.sign(...e10); } done() { return this.parent; } } class tw { constructor(e10) { this._signatures = [], this._payload = e10; } addSignature(e10, t2) { let r2 = new ty(this, e10, t2); return this._signatures.push(r2), r2; } async sign() { if (!this._signatures.length) throw new R("at least one signature must be added"); let e10 = { signatures: [], payload: "" }; for (let t2 = 0; t2 < this._signatures.length; t2++) { let r2 = this._signatures[t2], n2 = new tf(this._payload); n2.setProtectedHeader(r2.protectedHeader), n2.setUnprotectedHeader(r2.unprotectedHeader); let { payload: a2, ...i2 } = await n2.sign(r2.key, r2.options); if (0 === t2) e10.payload = a2; else if (e10.payload !== a2) throw new R("inconsistent use of JWS Unencoded Payload (RFC7797)"); e10.signatures.push(i2); } return e10; } } class tm { constructor(e10) { if (!ea(e10)) throw TypeError("JWT Claims Set MUST be an object"); this._payload = e10; } setIssuer(e10) { return this._payload = { ...this._payload, iss: e10 }, this; } setSubject(e10) { return this._payload = { ...this._payload, sub: e10 }, this; } setAudience(e10) { return this._payload = { ...this._payload, aud: e10 }, this; } setJti(e10) { return this._payload = { ...this._payload, jti: e10 }, this; } setNotBefore(e10) { return "number" == typeof e10 ? this._payload = { ...this._payload, nbf: e10 } : this._payload = { ...this._payload, nbf: ta(/* @__PURE__ */ new Date()) + to(e10) }, this; } setExpirationTime(e10) { return "number" == typeof e10 ? this._payload = { ...this._payload, exp: e10 } : this._payload = { ...this._payload, exp: ta(/* @__PURE__ */ new Date()) + to(e10) }, this; } setIssuedAt(e10) { return void 0 === e10 ? this._payload = { ...this._payload, iat: ta(/* @__PURE__ */ new Date()) } : this._payload = { ...this._payload, iat: e10 }, this; } } class tb extends tm { setProtectedHeader(e10) { return this._protectedHeader = e10, this; } async sign(e10, t2) { var r2; let n2 = new tg(c.encode(JSON.stringify(this._payload))); if (n2.setProtectedHeader(this._protectedHeader), Array.isArray(null === (r2 = this._protectedHeader) || void 0 === r2 ? void 0 : r2.crit) && this._protectedHeader.crit.includes("b64") && false === this._protectedHeader.b64) throw new T("JWTs MUST NOT use unencoded payload"); return n2.sign(e10, t2); } } class tv extends tm { setProtectedHeader(e10) { if (this._protectedHeader) throw TypeError("setProtectedHeader can only be called once"); return this._protectedHeader = e10, this; } setKeyManagementParameters(e10) { if (this._keyManagementParameters) throw TypeError("setKeyManagementParameters can only be called once"); return this._keyManagementParameters = e10, this; } setContentEncryptionKey(e10) { if (this._cek) throw TypeError("setContentEncryptionKey can only be called once"); return this._cek = e10, this; } setInitializationVector(e10) { if (this._iv) throw TypeError("setInitializationVector can only be called once"); return this._iv = e10, this; } replicateIssuerAsHeader() { return this._replicateIssuerAsHeader = true, this; } replicateSubjectAsHeader() { return this._replicateSubjectAsHeader = true, this; } replicateAudienceAsHeader() { return this._replicateAudienceAsHeader = true, this; } async encrypt(e10, t2) { let r2 = new tp(c.encode(JSON.stringify(this._payload))); return this._replicateIssuerAsHeader && (this._protectedHeader = { ...this._protectedHeader, iss: this._payload.iss }), this._replicateSubjectAsHeader && (this._protectedHeader = { ...this._protectedHeader, sub: this._payload.sub }), this._replicateAudienceAsHeader && (this._protectedHeader = { ...this._protectedHeader, aud: this._payload.aud }), r2.setProtectedHeader(this._protectedHeader), this._iv && r2.setInitializationVector(this._iv), this._cek && r2.setContentEncryptionKey(this._cek), this._keyManagementParameters && r2.setKeyManagementParameters(this._keyManagementParameters), r2.encrypt(e10, t2); } } let tS = (e10, t2) => { if ("string" != typeof e10 || !e10) throw new O(`${t2} missing or invalid`); }; async function tE(e10, t2) { let r2; if (!ea(e10)) throw TypeError("JWK must be an object"); if (null != t2 || (t2 = "sha256"), "sha256" !== t2 && "sha384" !== t2 && "sha512" !== t2) throw TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"'); switch (e10.kty) { case "EC": tS(e10.crv, '"crv" (Curve) Parameter'), tS(e10.x, '"x" (X Coordinate) Parameter'), tS(e10.y, '"y" (Y Coordinate) Parameter'), r2 = { crv: e10.crv, kty: e10.kty, x: e10.x, y: e10.y }; break; case "OKP": tS(e10.crv, '"crv" (Subtype of Key Pair) Parameter'), tS(e10.x, '"x" (Public Key) Parameter'), r2 = { crv: e10.crv, kty: e10.kty, x: e10.x }; break; case "RSA": tS(e10.e, '"e" (Exponent) Parameter'), tS(e10.n, '"n" (Modulus) Parameter'), r2 = { e: e10.e, kty: e10.kty, n: e10.n }; break; case "oct": tS(e10.k, '"k" (Key Value) Parameter'), r2 = { k: e10.k, kty: e10.kty }; break; default: throw new A('"kty" (Key Type) Parameter missing or unsupported'); } let n2 = c.encode(JSON.stringify(r2)); return w(await s(t2, n2)); } async function t_(e10, t2) { null != t2 || (t2 = "sha256"); let r2 = await tE(e10, t2); return `urn:ietf:params:oauth:jwk-thumbprint:sha-${t2.slice(-3)}:${r2}`; } async function tA(e10, t2) { let r2 = { ...e10, ...null == t2 ? void 0 : t2.header }; if (!ea(r2.jwk)) throw new R('"jwk" (JSON Web Key) Header Parameter must be a JSON object'); let n2 = await eW({ ...r2.jwk, ext: true }, r2.alg, true); if (n2 instanceof Uint8Array || "public" !== n2.type) throw new R('"jwk" (JSON Web Key) Header Parameter must be a public key'); return n2; } function tP(e10) { return e10 && "object" == typeof e10 && Array.isArray(e10.keys) && e10.keys.every(tC); } function tC(e10) { return ea(e10); } class tx { constructor(e10) { if (this._cached = /* @__PURE__ */ new WeakMap(), !tP(e10)) throw new k("JSON Web Key Set malformed"); this._jwks = function(e11) { return "function" == typeof structuredClone ? structuredClone(e11) : JSON.parse(JSON.stringify(e11)); }(e10); } async getKey(e10, t2) { let { alg: r2, kid: n2 } = { ...e10, ...null == t2 ? void 0 : t2.header }, a2 = function(e11) { switch ("string" == typeof e11 && e11.slice(0, 2)) { case "RS": case "PS": return "RSA"; case "ES": return "EC"; case "Ed": return "OKP"; default: throw new A('Unsupported "alg" value for a JSON Web Key Set'); } }(r2), i2 = this._jwks.keys.filter((e11) => { let t3 = a2 === e11.kty; if (t3 && "string" == typeof n2 && (t3 = n2 === e11.kid), t3 && "string" == typeof e11.alg && (t3 = r2 === e11.alg), t3 && "string" == typeof e11.use && (t3 = "sig" === e11.use), t3 && Array.isArray(e11.key_ops) && (t3 = e11.key_ops.includes("verify")), t3 && "EdDSA" === r2 && (t3 = "Ed25519" === e11.crv || "Ed448" === e11.crv), t3) switch (r2) { case "ES256": t3 = "P-256" === e11.crv; break; case "ES256K": t3 = "secp256k1" === e11.crv; break; case "ES384": t3 = "P-384" === e11.crv; break; case "ES512": t3 = "P-521" === e11.crv; } return t3; }), { 0: o2, length: s2 } = i2; if (0 === s2) throw new I(); if (1 !== s2) { let e11 = new N(), { _cached: t3 } = this; throw e11[Symbol.asyncIterator] = async function* () { for (let e12 of i2) try { yield await tR(t3, e12, r2); } catch (e13) { continue; } }, e11; } return tR(this._cached, o2, r2); } } async function tR(e10, t2, r2) { let n2 = e10.get(t2) || e10.set(t2, {}).get(t2); if (void 0 === n2[r2]) { let e11 = await eW({ ...t2, ext: true }, r2); if (e11 instanceof Uint8Array || "public" !== e11.type) throw new k("JSON Web Key Set members must be public keys"); n2[r2] = e11; } return n2[r2]; } function tT(e10) { let t2 = new tx(e10); return async function(e11, r2) { return t2.getKey(e11, r2); }; } let tO = async (e10, t2, r2) => { let n2, a2; let i2 = false; "function" == typeof AbortController && (n2 = new AbortController(), a2 = setTimeout(() => { i2 = true, n2.abort(); }, t2)); let o2 = await fetch(e10.href, { signal: n2 ? n2.signal : void 0, redirect: "manual", headers: r2.headers }).catch((e11) => { if (i2) throw new H(); throw e11; }); if (void 0 !== a2 && clearTimeout(a2), 200 !== o2.status) throw new v("Expected 200 OK from the JSON Web Key Set HTTP response"); try { return await o2.json(); } catch (e11) { throw new v("Failed to parse the JSON Web Key Set HTTP response as JSON"); } }; class tk extends tx { constructor(e10, t2) { if (super({ keys: [] }), this._jwks = void 0, !(e10 instanceof URL)) throw TypeError("url must be an instance of URL"); this._url = new URL(e10.href), this._options = { agent: null == t2 ? void 0 : t2.agent, headers: null == t2 ? void 0 : t2.headers }, this._timeoutDuration = "number" == typeof (null == t2 ? void 0 : t2.timeoutDuration) ? null == t2 ? void 0 : t2.timeoutDuration : 5e3, this._cooldownDuration = "number" == typeof (null == t2 ? void 0 : t2.cooldownDuration) ? null == t2 ? void 0 : t2.cooldownDuration : 3e4, this._cacheMaxAge = "number" == typeof (null == t2 ? void 0 : t2.cacheMaxAge) ? null == t2 ? void 0 : t2.cacheMaxAge : 6e5; } coolingDown() { return "number" == typeof this._jwksTimestamp && Date.now() < this._jwksTimestamp + this._cooldownDuration; } fresh() { return "number" == typeof this._jwksTimestamp && Date.now() < this._jwksTimestamp + this._cacheMaxAge; } async getKey(e10, t2) { this._jwks && this.fresh() || await this.reload(); try { return await super.getKey(e10, t2); } catch (r2) { if (r2 instanceof I && false === this.coolingDown()) return await this.reload(), super.getKey(e10, t2); throw r2; } } async reload() { this._pendingFetch && ("undefined" != typeof WebSocketPair || "undefined" != typeof navigator && "Cloudflare-Workers" === navigator.userAgent) && (this._pendingFetch = void 0), this._pendingFetch || (this._pendingFetch = tO(this._url, this._timeoutDuration, this._options).then((e10) => { if (!tP(e10)) throw new k("JSON Web Key Set malformed"); this._jwks = { keys: e10.keys }, this._jwksTimestamp = Date.now(), this._pendingFetch = void 0; }).catch((e10) => { throw this._pendingFetch = void 0, e10; })), await this._pendingFetch; } } function tI(e10, t2) { let r2 = new tk(e10, t2); return async function(e11, t3) { return r2.getKey(e11, t3); }; } class tN extends tm { encode() { let e10 = w(JSON.stringify({ alg: "none" })), t2 = w(JSON.stringify(this._payload)); return `${e10}.${t2}.`; } static decode(e10, t2) { let r2; if ("string" != typeof e10) throw new T("Unsecured JWT must be a string"); let { 0: n2, 1: a2, 2: i2, length: o2 } = e10.split("."); if (3 !== o2 || "" !== i2) throw new T("Invalid Unsecured JWT"); try { if (r2 = JSON.parse(l.decode(b(n2))), "none" !== r2.alg) throw Error(); } catch (e11) { throw new T("Invalid Unsecured JWT"); } return { payload: tl(r2, b(a2), t2), header: r2 }; } } let tH = w, tM = b; function tD(e10) { let t2; if ("string" == typeof e10) { let r2 = e10.split("."); (3 === r2.length || 5 === r2.length) && ([t2] = r2); } else if ("object" == typeof e10 && e10) { if ("protected" in e10) t2 = e10.protected; else throw TypeError("Token does not contain a Protected Header"); } try { if ("string" != typeof t2 || !t2) throw Error(); let e11 = JSON.parse(l.decode(tM(t2))); if (!ea(e11)) throw Error(); return e11; } catch (e11) { throw TypeError("Invalid Token or Protected Header formatting"); } } function tU(e10) { let t2, r2; if ("string" != typeof e10) throw new T("JWTs must use Compact JWS serialization, JWT must be a string"); let { 1: n2, length: a2 } = e10.split("."); if (5 === a2) throw new T("Only JWTs using Compact JWS serialization can be decoded"); if (3 !== a2) throw new T("Invalid JWT"); if (!n2) throw new T("JWTs must contain a payload"); try { t2 = tM(n2); } catch (e11) { throw new T("Failed to base64url decode the payload"); } try { r2 = JSON.parse(l.decode(t2)); } catch (e11) { throw new T("Failed to parse the decoded payload as JSON"); } if (!ea(r2)) throw new T("Invalid JWT Claims Set"); return r2; } async function tW(e10, t2) { var r2; let n2, a2, o2; switch (e10) { case "HS256": case "HS384": case "HS512": n2 = parseInt(e10.slice(-3), 10), a2 = { name: "HMAC", hash: `SHA-${n2}`, length: n2 }, o2 = ["sign", "verify"]; break; case "A128CBC-HS256": case "A192CBC-HS384": case "A256CBC-HS512": return D(new Uint8Array((n2 = parseInt(e10.slice(-3), 10)) >> 3)); case "A128KW": case "A192KW": case "A256KW": a2 = { name: "AES-KW", length: n2 = parseInt(e10.slice(1, 4), 10) }, o2 = ["wrapKey", "unwrapKey"]; break; case "A128GCMKW": case "A192GCMKW": case "A256GCMKW": case "A128GCM": case "A192GCM": case "A256GCM": a2 = { name: "AES-GCM", length: n2 = parseInt(e10.slice(1, 4), 10) }, o2 = ["encrypt", "decrypt"]; break; default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } return i.subtle.generateKey(a2, null !== (r2 = null == t2 ? void 0 : t2.extractable) && void 0 !== r2 && r2, o2); } function tL(e10) { var t2; let r2 = null !== (t2 = null == e10 ? void 0 : e10.modulusLength) && void 0 !== t2 ? t2 : 2048; if ("number" != typeof r2 || r2 < 2048) throw new A("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used"); return r2; } async function tK(e10, t2) { var r2, n2, a2; let o2, s2; switch (e10) { case "PS256": case "PS384": case "PS512": o2 = { name: "RSA-PSS", hash: `SHA-${e10.slice(-3)}`, publicExponent: new Uint8Array([1, 0, 1]), modulusLength: tL(t2) }, s2 = ["sign", "verify"]; break; case "RS256": case "RS384": case "RS512": o2 = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${e10.slice(-3)}`, publicExponent: new Uint8Array([1, 0, 1]), modulusLength: tL(t2) }, s2 = ["sign", "verify"]; break; case "RSA-OAEP": case "RSA-OAEP-256": case "RSA-OAEP-384": case "RSA-OAEP-512": o2 = { name: "RSA-OAEP", hash: `SHA-${parseInt(e10.slice(-3), 10) || 1}`, publicExponent: new Uint8Array([1, 0, 1]), modulusLength: tL(t2) }, s2 = ["decrypt", "unwrapKey", "encrypt", "wrapKey"]; break; case "ES256": o2 = { name: "ECDSA", namedCurve: "P-256" }, s2 = ["sign", "verify"]; break; case "ES384": o2 = { name: "ECDSA", namedCurve: "P-384" }, s2 = ["sign", "verify"]; break; case "ES512": o2 = { name: "ECDSA", namedCurve: "P-521" }, s2 = ["sign", "verify"]; break; case "EdDSA": s2 = ["sign", "verify"]; let c2 = null !== (r2 = null == t2 ? void 0 : t2.crv) && void 0 !== r2 ? r2 : "Ed25519"; switch (c2) { case "Ed25519": case "Ed448": o2 = { name: c2 }; break; default: throw new A("Invalid or unsupported crv option provided"); } break; case "ECDH-ES": case "ECDH-ES+A128KW": case "ECDH-ES+A192KW": case "ECDH-ES+A256KW": { s2 = ["deriveKey", "deriveBits"]; let e11 = null !== (n2 = null == t2 ? void 0 : t2.crv) && void 0 !== n2 ? n2 : "P-256"; switch (e11) { case "P-256": case "P-384": case "P-521": o2 = { name: "ECDH", namedCurve: e11 }; break; case "X25519": case "X448": o2 = { name: e11 }; break; default: throw new A("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448"); } break; } default: throw new A('Invalid or unsupported JWK "alg" (Algorithm) Parameter value'); } return i.subtle.generateKey(o2, null !== (a2 = null == t2 ? void 0 : t2.extractable) && void 0 !== a2 && a2, s2); } async function tj(e10, t2) { return tK(e10, t2); } async function tJ(e10, t2) { return tW(e10, t2); } let tB = "WebCryptoAPI"; } }, (e) => { var t = e(e.s = 441); (_ENTRIES = "undefined" == typeof _ENTRIES ? {} : _ENTRIES).middleware_middleware = t; }]); } }); // node_modules/@opennextjs/aws/dist/core/edgeFunctionHandler.js var edgeFunctionHandler_exports = {}; __export(edgeFunctionHandler_exports, { default: () => edgeFunctionHandler }); async function edgeFunctionHandler(request) { const path3 = new URL(request.url).pathname; const routes = globalThis._ROUTES; const correspondingRoute = routes.find((route) => route.regex.some((r) => new RegExp(r).test(path3))); if (!correspondingRoute) { throw new Error(`No route found for ${request.url}`); } const entry = await self._ENTRIES[`middleware_${correspondingRoute.name}`]; const result = await entry.default({ page: correspondingRoute.page, request: { ...request, page: { name: correspondingRoute.name } } }); globalThis.__openNextAls.getStore()?.pendingPromiseRunner.add(result.waitUntil); const response = result.response; return response; } var init_edgeFunctionHandler = __esm({ "node_modules/@opennextjs/aws/dist/core/edgeFunctionHandler.js"() { globalThis._ENTRIES = {}; globalThis.self = globalThis; globalThis._ROUTES = [{ "name": "middleware", "page": "/", "regex": ["^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/static|_next\\/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*))(.json)?[\\/#\\?]?$"] }]; require_edge_runtime_webpack(); require_middleware(); } }); // node_modules/@opennextjs/aws/dist/utils/promise.js init_logger(); var DetachedPromise = class { resolve; reject; promise; constructor() { let resolve; let reject; this.promise = new Promise((res, rej) => { resolve = res; reject = rej; }); this.resolve = resolve; this.reject = reject; } }; var DetachedPromiseRunner = class { promises = []; withResolvers() { const detachedPromise = new DetachedPromise(); this.promises.push(detachedPromise); return detachedPromise; } add(promise) { const detachedPromise = new DetachedPromise(); this.promises.push(detachedPromise); promise.then(detachedPromise.resolve, detachedPromise.reject); } async await() { debug(`Awaiting ${this.promises.length} detached promises`); const results = await Promise.allSettled(this.promises.map((p) => p.promise)); const rejectedPromises = results.filter((r) => r.status === "rejected"); rejectedPromises.forEach((r) => { error(r.reason); }); } }; async function awaitAllDetachedPromise() { const store = globalThis.__openNextAls.getStore(); const promisesToAwait = store?.pendingPromiseRunner.await() ?? Promise.resolve(); if (store?.waitUntil) { store.waitUntil(promisesToAwait); return; } await promisesToAwait; } function provideNextAfterProvider() { const NEXT_REQUEST_CONTEXT_SYMBOL = Symbol.for("@next/request-context"); const VERCEL_REQUEST_CONTEXT_SYMBOL = Symbol.for("@vercel/request-context"); const store = globalThis.__openNextAls.getStore(); const waitUntil = store?.waitUntil ?? ((promise) => store?.pendingPromiseRunner.add(promise)); const nextAfterContext = { get: () => ({ waitUntil }) }; globalThis[NEXT_REQUEST_CONTEXT_SYMBOL] = nextAfterContext; if (process.env.EMULATE_VERCEL_REQUEST_CONTEXT) { globalThis[VERCEL_REQUEST_CONTEXT_SYMBOL] = nextAfterContext; } } function runWithOpenNextRequestContext({ isISRRevalidation, waitUntil, requestId = Math.random().toString(36) }, fn) { return globalThis.__openNextAls.run({ requestId, pendingPromiseRunner: new DetachedPromiseRunner(), isISRRevalidation, waitUntil, writtenTags: /* @__PURE__ */ new Set() }, async () => { provideNextAfterProvider(); let result; try { result = await fn(); } finally { await awaitAllDetachedPromise(); } return result; }); } // node_modules/@opennextjs/aws/dist/adapters/middleware.js init_logger(); // node_modules/@opennextjs/aws/dist/core/createGenericHandler.js init_logger(); // node_modules/@opennextjs/aws/dist/core/resolve.js async function resolveConverter(converter2) { if (typeof converter2 === "function") { return converter2(); } const m_1 = await Promise.resolve().then(() => (init_edge(), edge_exports)); return m_1.default; } async function resolveWrapper(wrapper) { if (typeof wrapper === "function") { return wrapper(); } const m_1 = await Promise.resolve().then(() => (init_cloudflare_edge(), cloudflare_edge_exports)); return m_1.default; } async function resolveOriginResolver(originResolver) { if (typeof originResolver === "function") { return originResolver(); } const m_1 = await Promise.resolve().then(() => (init_pattern_env(), pattern_env_exports)); return m_1.default; } async function resolveAssetResolver(assetResolver) { if (typeof assetResolver === "function") { return assetResolver(); } const m_1 = await Promise.resolve().then(() => (init_dummy(), dummy_exports)); return m_1.default; } async function resolveProxyRequest(proxyRequest) { if (typeof proxyRequest === "function") { return proxyRequest(); } const m_1 = await Promise.resolve().then(() => (init_fetch(), fetch_exports)); return m_1.default; } // node_modules/@opennextjs/aws/dist/core/createGenericHandler.js async function createGenericHandler(handler3) { const config = await import("./open-next.config.mjs").then((m) => m.default); globalThis.openNextConfig = config; const handlerConfig = config[handler3.type]; const override = handlerConfig && "override" in handlerConfig ? handlerConfig.override : void 0; const converter2 = await resolveConverter(override?.converter); const { name, wrapper } = await resolveWrapper(override?.wrapper); debug("Using wrapper", name); return wrapper(handler3.handler, converter2); } // node_modules/@opennextjs/aws/dist/core/routing/util.js import crypto2 from "node:crypto"; import { parse as parseQs, stringify as stringifyQs } from "node:querystring"; import { Readable as Readable2 } from "node:stream"; // node_modules/@opennextjs/aws/dist/adapters/config/index.js init_logger(); import path from "node:path"; globalThis.__dirname ??= ""; var NEXT_DIR = path.join(__dirname, ".next"); var OPEN_NEXT_DIR = path.join(__dirname, ".open-next"); debug({ NEXT_DIR, OPEN_NEXT_DIR }); var NextConfig = { "env": {}, "webpack": null, "eslint": { "ignoreDuringBuilds": true }, "typescript": { "ignoreBuildErrors": true, "tsconfigPath": "tsconfig.json" }, "distDir": ".next", "cleanDistDir": true, "assetPrefix": "", "cacheMaxMemorySize": 52428800, "configOrigin": "next.config.mjs", "useFileSystemPublicRoutes": true, "generateEtags": true, "pageExtensions": ["tsx", "ts", "jsx", "js"], "poweredByHeader": true, "compress": true, "analyticsId": "", "images": { "deviceSizes": [640, 750, 828, 1080, 1200, 1920, 2048, 3840], "imageSizes": [16, 32, 48, 64, 96, 128, 256, 384], "path": "/_next/image", "loader": "default", "loaderFile": "", "domains": [], "disableStaticImages": false, "minimumCacheTTL": 60, "formats": ["image/webp"], "dangerouslyAllowSVG": false, "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;", "contentDispositionType": "inline", "remotePatterns": [], "unoptimized": true }, "devIndicators": { "buildActivity": true, "buildActivityPosition": "bottom-right" }, "onDemandEntries": { "maxInactiveAge": 6e4, "pagesBufferLength": 5 }, "amp": { "canonicalBase": "" }, "basePath": "", "sassOptions": {}, "trailingSlash": false, "i18n": null, "productionBrowserSourceMaps": false, "optimizeFonts": true, "excludeDefaultMomentLocales": true, "serverRuntimeConfig": {}, "publicRuntimeConfig": {}, "reactProductionProfiling": false, "reactStrictMode": null, "httpAgentOptions": { "keepAlive": true }, "outputFileTracing": true, "staticPageGenerationTimeout": 60, "swcMinify": true, "output": "standalone", "modularizeImports": { "@mui/icons-material": { "transform": "@mui/icons-material/{{member}}" }, "lodash": { "transform": "lodash/{{member}}" } }, "experimental": { "multiZoneDraftMode": false, "prerenderEarlyExit": false, "serverMinification": true, "serverSourceMaps": false, "linkNoTouchStart": false, "caseSensitiveRoutes": false, "clientRouterFilter": true, "clientRouterFilterRedirects": false, "fetchCacheKeyPrefix": "", "middlewarePrefetch": "flexible", "optimisticClientCache": true, "manualClientBasePath": false, "cpus": 11, "memoryBasedWorkersCount": false, "isrFlushToDisk": true, "workerThreads": false, "optimizeCss": false, "nextScriptWorkers": false, "scrollRestoration": false, "externalDir": false, "disableOptimizedLoading": false, "gzipSize": true, "craCompat": false, "esmExternals": true, "fullySpecified": false, "outputFileTracingRoot": "/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo", "swcTraceProfiling": false, "forceSwcTransforms": false, "largePageDataBytes": 128e3, "adjustFontFallbacks": false, "adjustFontFallbacksWithSizeAdjust": false, "typedRoutes": false, "instrumentationHook": false, "bundlePagesExternals": false, "parallelServerCompiles": false, "parallelServerBuildTraces": false, "ppr": false, "missingSuspenseWithCSRBailout": true, "optimizeServerReact": true, "useEarlyImport": false, "staleTimes": { "dynamic": 30, "static": 300 }, "optimizePackageImports": ["lucide-react", "date-fns", "lodash-es", "ramda", "antd", "react-bootstrap", "ahooks", "@ant-design/icons", "@headlessui/react", "@headlessui-float/react", "@heroicons/react/20/solid", "@heroicons/react/24/solid", "@heroicons/react/24/outline", "@visx/visx", "@tremor/react", "rxjs", "@mui/material", "@mui/icons-material", "recharts", "react-use", "@material-ui/core", "@material-ui/icons", "@tabler/icons-react", "mui-core", "react-icons/ai", "react-icons/bi", "react-icons/bs", "react-icons/cg", "react-icons/ci", "react-icons/di", "react-icons/fa", "react-icons/fa6", "react-icons/fc", "react-icons/fi", "react-icons/gi", "react-icons/go", "react-icons/gr", "react-icons/hi", "react-icons/hi2", "react-icons/im", "react-icons/io", "react-icons/io5", "react-icons/lia", "react-icons/lib", "react-icons/lu", "react-icons/md", "react-icons/pi", "react-icons/ri", "react-icons/rx", "react-icons/si", "react-icons/sl", "react-icons/tb", "react-icons/tfi", "react-icons/ti", "react-icons/vsc", "react-icons/wi"], "trustHostHeader": false, "isExperimentalCompile": false }, "configFileName": "next.config.mjs" }; var BuildId = "SVr_7PUfBPR5HoMg6Gqfy"; var RoutesManifest = { "basePath": "", "rewrites": { "beforeFiles": [], "afterFiles": [], "fallback": [] }, "redirects": [{ "source": "/:path+/", "destination": "/:path+", "internal": true, "statusCode": 308, "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$" }], "routes": { "static": [{ "page": "/", "regex": "^/(?:/)?$", "routeKeys": {}, "namedRegex": "^/(?:/)?$" }, { "page": "/_not-found", "regex": "^/_not\\-found(?:/)?$", "routeKeys": {}, "namedRegex": "^/_not\\-found(?:/)?$" }, { "page": "/admin", "regex": "^/admin(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin(?:/)?$" }, { "page": "/admin/analytics", "regex": "^/admin/analytics(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/analytics(?:/)?$" }, { "page": "/admin/artists", "regex": "^/admin/artists(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/artists(?:/)?$" }, { "page": "/admin/artists/new", "regex": "^/admin/artists/new(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/artists/new(?:/)?$" }, { "page": "/admin/calendar", "regex": "^/admin/calendar(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/calendar(?:/)?$" }, { "page": "/admin/portfolio", "regex": "^/admin/portfolio(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/portfolio(?:/)?$" }, { "page": "/admin/settings", "regex": "^/admin/settings(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/settings(?:/)?$" }, { "page": "/admin/uploads", "regex": "^/admin/uploads(?:/)?$", "routeKeys": {}, "namedRegex": "^/admin/uploads(?:/)?$" }, { "page": "/aftercare", "regex": "^/aftercare(?:/)?$", "routeKeys": {}, "namedRegex": "^/aftercare(?:/)?$" }, { "page": "/artist-dashboard", "regex": "^/artist\\-dashboard(?:/)?$", "routeKeys": {}, "namedRegex": "^/artist\\-dashboard(?:/)?$" }, { "page": "/artist-dashboard/portfolio", "regex": "^/artist\\-dashboard/portfolio(?:/)?$", "routeKeys": {}, "namedRegex": "^/artist\\-dashboard/portfolio(?:/)?$" }, { "page": "/artist-dashboard/profile", "regex": "^/artist\\-dashboard/profile(?:/)?$", "routeKeys": {}, "namedRegex": "^/artist\\-dashboard/profile(?:/)?$" }, { "page": "/artists", "regex": "^/artists(?:/)?$", "routeKeys": {}, "namedRegex": "^/artists(?:/)?$" }, { "page": "/auth/error", "regex": "^/auth/error(?:/)?$", "routeKeys": {}, "namedRegex": "^/auth/error(?:/)?$" }, { "page": "/auth/signin", "regex": "^/auth/signin(?:/)?$", "routeKeys": {}, "namedRegex": "^/auth/signin(?:/)?$" }, { "page": "/book", "regex": "^/book(?:/)?$", "routeKeys": {}, "namedRegex": "^/book(?:/)?$" }, { "page": "/contact", "regex": "^/contact(?:/)?$", "routeKeys": {}, "namedRegex": "^/contact(?:/)?$" }, { "page": "/deposit", "regex": "^/deposit(?:/)?$", "routeKeys": {}, "namedRegex": "^/deposit(?:/)?$" }, { "page": "/favicon.ico", "regex": "^/favicon\\.ico(?:/)?$", "routeKeys": {}, "namedRegex": "^/favicon\\.ico(?:/)?$" }, { "page": "/gift-cards", "regex": "^/gift\\-cards(?:/)?$", "routeKeys": {}, "namedRegex": "^/gift\\-cards(?:/)?$" }, { "page": "/privacy", "regex": "^/privacy(?:/)?$", "routeKeys": {}, "namedRegex": "^/privacy(?:/)?$" }, { "page": "/specials", "regex": "^/specials(?:/)?$", "routeKeys": {}, "namedRegex": "^/specials(?:/)?$" }, { "page": "/terms", "regex": "^/terms(?:/)?$", "routeKeys": {}, "namedRegex": "^/terms(?:/)?$" }], "dynamic": [{ "page": "/admin/artists/[id]", "regex": "^/admin/artists/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/admin/artists/(?[^/]+?)(?:/)?$" }, { "page": "/api/artists/[id]", "regex": "^/api/artists/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/artists/(?[^/]+?)(?:/)?$" }, { "page": "/api/auth/[...nextauth]", "regex": "^/api/auth/(.+?)(?:/)?$", "routeKeys": { "nxtPnextauth": "nxtPnextauth" }, "namedRegex": "^/api/auth/(?.+?)(?:/)?$" }, { "page": "/api/portfolio/[id]", "regex": "^/api/portfolio/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/portfolio/(?[^/]+?)(?:/)?$" }, { "page": "/artists/[id]", "regex": "^/artists/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/artists/(?[^/]+?)(?:/)?$" }, { "page": "/artists/[id]/book", "regex": "^/artists/([^/]+?)/book(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/artists/(?[^/]+?)/book(?:/)?$" }], "data": { "static": [], "dynamic": [] } }, "locales": [] }; var ConfigHeaders = []; var PrerenderManifest = { "version": 4, "routes": { "/favicon.ico": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "image/x-icon", "x-next-cache-tags": "_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico" }, "experimentalBypassFor": [{ "type": "header", "key": "Next-Action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/favicon.ico", "dataRoute": null } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { "previewModeId": "aa3e44cc5c2d8f61b9a7e308f9db0bf8", "previewModeSigningKey": "8aa982a30b271251dc2f1ffdd0eb252e3bc9e47f7d478e80f5dbb2abb1b39323", "previewModeEncryptionKey": "e63b6be95276873929b9ec08e113ea325ced41c2d494b0a69b62991e4c3688ab" } }; var MiddlewareManifest = { "version": 3, "middleware": { "/": { "files": ["server/edge-runtime-webpack.js", "server/middleware.js"], "name": "middleware", "page": "/", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/static|_next\\/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*))(.json)?[\\/#\\?]?$", "originalSource": "/((?!_next/static|_next/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "SVr_7PUfBPR5HoMg6Gqfy", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "eqMtY6RQJg8ZzpGru9Ni8jGmRicvhYvppy45/3SECqU=", "__NEXT_PREVIEW_MODE_ID": "aa3e44cc5c2d8f61b9a7e308f9db0bf8", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "e63b6be95276873929b9ec08e113ea325ced41c2d494b0a69b62991e4c3688ab", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "8aa982a30b271251dc2f1ffdd0eb252e3bc9e47f7d478e80f5dbb2abb1b39323" } } }, "functions": {}, "sortedMiddleware": ["/"] }; var AppPathRoutesManifest = { "/_not-found/page": "/_not-found", "/aftercare/page": "/aftercare", "/api/admin/migrate/route": "/api/admin/migrate", "/api/auth/[...nextauth]/route": "/api/auth/[...nextauth]", "/artists/[id]/book/page": "/artists/[id]/book", "/artists/page": "/artists", "/auth/error/page": "/auth/error", "/book/page": "/book", "/artists/[id]/page": "/artists/[id]", "/deposit/page": "/deposit", "/contact/page": "/contact", "/auth/signin/page": "/auth/signin", "/favicon.ico/route": "/favicon.ico", "/gift-cards/page": "/gift-cards", "/page": "/", "/privacy/page": "/privacy", "/terms/page": "/terms", "/specials/page": "/specials", "/api/admin/stats/route": "/api/admin/stats", "/api/artists/[id]/route": "/api/artists/[id]", "/api/files/bulk-delete/route": "/api/files/bulk-delete", "/api/appointments/route": "/api/appointments", "/api/artists/me/route": "/api/artists/me", "/api/files/folder/route": "/api/files/folder", "/api/artists/route": "/api/artists", "/api/files/stats/route": "/api/files/stats", "/api/files/route": "/api/files", "/api/portfolio/route": "/api/portfolio", "/api/portfolio/bulk-delete/route": "/api/portfolio/bulk-delete", "/api/portfolio/stats/route": "/api/portfolio/stats", "/api/portfolio/[id]/route": "/api/portfolio/[id]", "/api/users/route": "/api/users", "/api/settings/route": "/api/settings", "/api/upload/route": "/api/upload", "/admin/artists/[id]/page": "/admin/artists/[id]", "/admin/artists/new/page": "/admin/artists/new", "/admin/artists/page": "/admin/artists", "/admin/calendar/page": "/admin/calendar", "/admin/page": "/admin", "/artist-dashboard/page": "/artist-dashboard", "/artist-dashboard/portfolio/page": "/artist-dashboard/portfolio", "/admin/uploads/page": "/admin/uploads", "/admin/settings/page": "/admin/settings", "/admin/portfolio/page": "/admin/portfolio", "/admin/analytics/page": "/admin/analytics", "/artist-dashboard/profile/page": "/artist-dashboard/profile" }; var FunctionsConfigManifest = { "version": 1, "functions": { "/api/artists/[id]": {}, "/api/admin/stats": {}, "/api/artists/me": {}, "/api/files/bulk-delete": {}, "/api/files/folder": {}, "/api/artists": {}, "/api/files": {}, "/api/files/stats": {}, "/api/appointments": {}, "/api/portfolio/[id]": {}, "/api/portfolio/stats": {}, "/api/portfolio/bulk-delete": {}, "/api/portfolio": {}, "/api/settings": {}, "/api/users": {}, "/api/upload": {}, "/admin/portfolio": {}, "/admin/settings": {}, "/admin/uploads": {}, "/admin/analytics": {} } }; var PagesManifest = { "/_app": "pages/_app.js", "/_error": "pages/_error.js", "/_document": "pages/_document.js" }; process.env.NEXT_BUILD_ID = BuildId; // node_modules/@opennextjs/aws/dist/http/openNextResponse.js init_logger(); init_util(); import { Transform } from "node:stream"; // node_modules/@opennextjs/aws/dist/core/routing/util.js init_util(); init_logger(); // node_modules/@opennextjs/aws/dist/utils/binary.js var commonBinaryMimeTypes = /* @__PURE__ */ new Set([ "application/octet-stream", // Docs "application/epub+zip", "application/msword", "application/pdf", "application/rtf", "application/vnd.amazon.ebook", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", // Fonts "font/otf", "font/woff", "font/woff2", // Images "image/bmp", "image/gif", "image/jpeg", "image/png", "image/tiff", "image/vnd.microsoft.icon", "image/webp", // Audio "audio/3gpp", "audio/aac", "audio/basic", "audio/flac", "audio/mpeg", "audio/ogg", "audio/wavaudio/webm", "audio/x-aiff", "audio/x-midi", "audio/x-wav", // Video "video/3gpp", "video/mp2t", "video/mpeg", "video/ogg", "video/quicktime", "video/webm", "video/x-msvideo", // Archives "application/java-archive", "application/vnd.apple.installer+xml", "application/x-7z-compressed", "application/x-apple-diskimage", "application/x-bzip", "application/x-bzip2", "application/x-gzip", "application/x-java-archive", "application/x-rar-compressed", "application/x-tar", "application/x-zip", "application/zip", // Serialized data "application/x-protobuf" ]); function isBinaryContentType(contentType) { if (!contentType) return false; const value = contentType?.split(";")[0] ?? ""; return commonBinaryMimeTypes.has(value); } // node_modules/@opennextjs/aws/dist/core/routing/i18n/index.js init_stream(); init_logger(); // node_modules/@opennextjs/aws/dist/core/routing/i18n/accept-header.js function parse(raw, preferences, options) { const lowers = /* @__PURE__ */ new Map(); const header = raw.replace(/[ \t]/g, ""); if (preferences) { let pos = 0; for (const preference of preferences) { const lower = preference.toLowerCase(); lowers.set(lower, { orig: preference, pos: pos++ }); if (options.prefixMatch) { const parts2 = lower.split("-"); while (parts2.pop(), parts2.length > 0) { const joined = parts2.join("-"); if (!lowers.has(joined)) { lowers.set(joined, { orig: preference, pos: pos++ }); } } } } } const parts = header.split(","); const selections = []; const map = /* @__PURE__ */ new Set(); for (let i = 0; i < parts.length; ++i) { const part = parts[i]; if (!part) { continue; } const params = part.split(";"); if (params.length > 2) { throw new Error(`Invalid ${options.type} header`); } const token = params[0].toLowerCase(); if (!token) { throw new Error(`Invalid ${options.type} header`); } const selection = { token, pos: i, q: 1 }; if (preferences && lowers.has(token)) { selection.pref = lowers.get(token).pos; } map.add(selection.token); if (params.length === 2) { const q = params[1]; const [key, value] = q.split("="); if (!value || key !== "q" && key !== "Q") { throw new Error(`Invalid ${options.type} header`); } const score = Number.parseFloat(value); if (score === 0) { continue; } if (Number.isFinite(score) && score <= 1 && score >= 1e-3) { selection.q = score; } } selections.push(selection); } selections.sort((a, b) => { if (b.q !== a.q) { return b.q - a.q; } if (b.pref !== a.pref) { if (a.pref === void 0) { return 1; } if (b.pref === void 0) { return -1; } return a.pref - b.pref; } return a.pos - b.pos; }); const values = selections.map((selection) => selection.token); if (!preferences || !preferences.length) { return values; } const preferred = []; for (const selection of values) { if (selection === "*") { for (const [preference, value] of lowers) { if (!map.has(preference)) { preferred.push(value.orig); } } } else { const lower = selection.toLowerCase(); if (lowers.has(lower)) { preferred.push(lowers.get(lower).orig); } } } return preferred; } function acceptLanguage(header = "", preferences) { return parse(header, preferences, { type: "accept-language", prefixMatch: true })[0] || void 0; } // node_modules/@opennextjs/aws/dist/core/routing/i18n/index.js function isLocalizedPath(path3) { return NextConfig.i18n?.locales.includes(path3.split("/")[1].toLowerCase()) ?? false; } function getLocaleFromCookie(cookies) { const i18n = NextConfig.i18n; const nextLocale = cookies.NEXT_LOCALE?.toLowerCase(); return nextLocale ? i18n?.locales.find((locale) => nextLocale === locale.toLowerCase()) : void 0; } function detectDomainLocale({ hostname, detectedLocale }) { const i18n = NextConfig.i18n; const domains = i18n?.domains; if (!domains) { return; } const lowercasedLocale = detectedLocale?.toLowerCase(); for (const domain of domains) { const domainHostname = domain.domain.split(":", 1)[0].toLowerCase(); if (hostname === domainHostname || lowercasedLocale === domain.defaultLocale.toLowerCase() || domain.locales?.some((locale) => lowercasedLocale === locale.toLowerCase())) { return domain; } } } function detectLocale(internalEvent, i18n) { const domainLocale = detectDomainLocale({ hostname: internalEvent.headers.host }); if (i18n.localeDetection === false) { return domainLocale?.defaultLocale ?? i18n.defaultLocale; } const cookiesLocale = getLocaleFromCookie(internalEvent.cookies); const preferredLocale = acceptLanguage(internalEvent.headers["accept-language"], i18n?.locales); debug({ cookiesLocale, preferredLocale, defaultLocale: i18n.defaultLocale, domainLocale }); return domainLocale?.defaultLocale ?? cookiesLocale ?? preferredLocale ?? i18n.defaultLocale; } function localizePath(internalEvent) { const i18n = NextConfig.i18n; if (!i18n) { return internalEvent.rawPath; } if (isLocalizedPath(internalEvent.rawPath)) { return internalEvent.rawPath; } const detectedLocale = detectLocale(internalEvent, i18n); return `/${detectedLocale}${internalEvent.rawPath}`; } function handleLocaleRedirect(internalEvent) { const i18n = NextConfig.i18n; if (!i18n || i18n.localeDetection === false || internalEvent.rawPath !== "/") { return false; } const preferredLocale = acceptLanguage(internalEvent.headers["accept-language"], i18n?.locales); const detectedLocale = detectLocale(internalEvent, i18n); const domainLocale = detectDomainLocale({ hostname: internalEvent.headers.host }); const preferredDomain = detectDomainLocale({ detectedLocale: preferredLocale }); if (domainLocale && preferredDomain) { const isPDomain = preferredDomain.domain === domainLocale.domain; const isPLocale = preferredDomain.defaultLocale === preferredLocale; if (!isPDomain || !isPLocale) { const scheme = `http${preferredDomain.http ? "" : "s"}`; const rlocale = isPLocale ? "" : preferredLocale; return { type: "core", statusCode: 307, headers: { Location: `${scheme}://${preferredDomain.domain}/${rlocale}` }, body: emptyReadableStream(), isBase64Encoded: false }; } } const defaultLocale = domainLocale?.defaultLocale ?? i18n.defaultLocale; if (detectedLocale.toLowerCase() !== defaultLocale.toLowerCase()) { return { type: "core", statusCode: 307, headers: { Location: constructNextUrl(internalEvent.url, `/${detectedLocale}`) }, body: emptyReadableStream(), isBase64Encoded: false }; } return false; } // node_modules/@opennextjs/aws/dist/core/routing/queue.js function generateShardId(rawPath, maxConcurrency, prefix) { let a = cyrb128(rawPath); let t = a += 1831565813; t = Math.imul(t ^ t >>> 15, t | 1); t ^= t + Math.imul(t ^ t >>> 7, t | 61); const randomFloat = ((t ^ t >>> 14) >>> 0) / 4294967296; const randomInt = Math.floor(randomFloat * maxConcurrency); return `${prefix}-${randomInt}`; } function generateMessageGroupId(rawPath) { const maxConcurrency = Number.parseInt(process.env.MAX_REVALIDATE_CONCURRENCY ?? "10"); return generateShardId(rawPath, maxConcurrency, "revalidate"); } function cyrb128(str) { let h1 = 1779033703; let h2 = 3144134277; let h3 = 1013904242; let h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imul(h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); } h1 = Math.imul(h3 ^ h1 >>> 18, 597399067); h2 = Math.imul(h4 ^ h2 >>> 22, 2869860233); h3 = Math.imul(h1 ^ h3 >>> 17, 951274213); h4 = Math.imul(h2 ^ h4 >>> 19, 2716044179); h1 ^= h2 ^ h3 ^ h4, h2 ^= h1, h3 ^= h1, h4 ^= h1; return h1 >>> 0; } // node_modules/@opennextjs/aws/dist/core/routing/util.js function isExternal(url, host) { if (!url) return false; const pattern = /^https?:\/\//; if (host) { return pattern.test(url) && !url.includes(host); } return pattern.test(url); } function convertFromQueryString(query) { if (query === "") return {}; const queryParts = query.split("&"); return getQueryFromIterator(queryParts.map((p) => { const [key, value] = p.split("="); return [key, value]; })); } function getUrlParts(url, isExternal2) { if (!isExternal2) { const regex2 = /\/([^?]*)\??(.*)/; const match3 = url.match(regex2); return { hostname: "", pathname: match3?.[1] ? `/${match3[1]}` : url, protocol: "", queryString: match3?.[2] ?? "" }; } const regex = /^(https?:)\/\/?([^\/\s]+)(\/[^?]*)?(\?.*)?/; const match2 = url.match(regex); if (!match2) { throw new Error(`Invalid external URL: ${url}`); } return { protocol: match2[1] ?? "https:", hostname: match2[2], pathname: match2[3] ?? "", queryString: match2[4]?.slice(1) ?? "" }; } function constructNextUrl(baseUrl, path3) { const nextBasePath = NextConfig.basePath ?? ""; const url = new URL(`${nextBasePath}${path3}`, baseUrl); return url.href; } function convertToQueryString(query) { const queryStrings = []; Object.entries(query).forEach(([key, value]) => { if (Array.isArray(value)) { value.forEach((entry) => queryStrings.push(`${key}=${entry}`)); } else { queryStrings.push(`${key}=${value}`); } }); return queryStrings.length > 0 ? `?${queryStrings.join("&")}` : ""; } function getMiddlewareMatch(middlewareManifest2, functionsManifest) { if (functionsManifest?.functions?.["/_middleware"]) { return functionsManifest.functions["/_middleware"].matchers?.map(({ regexp }) => new RegExp(regexp)) ?? [/.*/]; } const rootMiddleware = middlewareManifest2.middleware["/"]; if (!rootMiddleware?.matchers) return []; return rootMiddleware.matchers.map(({ regexp }) => new RegExp(regexp)); } function escapeRegex(str, { isPath } = {}) { const result = str.replaceAll("(.)", "_\xB51_").replaceAll("(..)", "_\xB52_").replaceAll("(...)", "_\xB53_"); return isPath ? result : result.replaceAll("+", "_\xB54_"); } function unescapeRegex(str) { return str.replaceAll("_\xB51_", "(.)").replaceAll("_\xB52_", "(..)").replaceAll("_\xB53_", "(...)").replaceAll("_\xB54_", "+"); } function convertBodyToReadableStream(method, body) { if (method === "GET" || method === "HEAD") return void 0; if (!body) return void 0; const readable = new ReadableStream({ start(controller) { controller.enqueue(body); controller.close(); } }); return readable; } var CommonHeaders; (function(CommonHeaders2) { CommonHeaders2["CACHE_CONTROL"] = "cache-control"; CommonHeaders2["NEXT_CACHE"] = "x-nextjs-cache"; })(CommonHeaders || (CommonHeaders = {})); function normalizeLocationHeader(location, baseUrl, encodeQuery = false) { if (!URL.canParse(location)) { return location; } const locationURL = new URL(location); const origin = new URL(baseUrl).origin; let search = locationURL.search; if (encodeQuery && search) { search = `?${stringifyQs(parseQs(search.slice(1)))}`; } const href = `${locationURL.origin}${locationURL.pathname}${search}${locationURL.hash}`; if (locationURL.origin === origin) { return href.slice(origin.length); } return href; } // node_modules/@opennextjs/aws/dist/core/routingHandler.js init_logger(); // node_modules/@opennextjs/aws/dist/core/routing/cacheInterceptor.js import { createHash } from "node:crypto"; init_stream(); // node_modules/@opennextjs/aws/dist/utils/cache.js init_logger(); async function hasBeenRevalidated(key, tags, cacheEntry) { if (globalThis.openNextConfig.dangerous?.disableTagCache) { return false; } const value = cacheEntry.value; if (!value) { return true; } if ("type" in cacheEntry && cacheEntry.type === "page") { return false; } const lastModified = cacheEntry.lastModified ?? Date.now(); if (globalThis.tagCache.mode === "nextMode") { return await globalThis.tagCache.hasBeenRevalidated(tags, lastModified); } const _lastModified = await globalThis.tagCache.getLastModified(key, lastModified); return _lastModified === -1; } function getTagsFromValue(value) { if (!value) { return []; } try { return value.meta?.headers?.["x-next-cache-tags"]?.split(",") ?? []; } catch (e) { return []; } } // node_modules/@opennextjs/aws/dist/core/routing/cacheInterceptor.js init_logger(); var CACHE_ONE_YEAR = 60 * 60 * 24 * 365; var CACHE_ONE_MONTH = 60 * 60 * 24 * 30; var VARY_HEADER = "RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch, Next-Url"; async function computeCacheControl(path3, body, host, revalidate, lastModified) { let finalRevalidate = CACHE_ONE_YEAR; const existingRoute = Object.entries(PrerenderManifest.routes).find((p) => p[0] === path3)?.[1]; if (revalidate === void 0 && existingRoute) { finalRevalidate = existingRoute.initialRevalidateSeconds === false ? CACHE_ONE_YEAR : existingRoute.initialRevalidateSeconds; } else if (revalidate !== void 0) { finalRevalidate = revalidate === false ? CACHE_ONE_YEAR : revalidate; } const age = Math.round((Date.now() - (lastModified ?? 0)) / 1e3); const hash = (str) => createHash("md5").update(str).digest("hex"); const etag = hash(body); if (revalidate === 0) { return { "cache-control": "private, no-cache, no-store, max-age=0, must-revalidate", "x-opennext-cache": "ERROR", etag }; } if (finalRevalidate !== CACHE_ONE_YEAR) { const sMaxAge = Math.max(finalRevalidate - age, 1); debug("sMaxAge", { finalRevalidate, age, lastModified, revalidate }); const isStale = sMaxAge === 1; if (isStale) { let url = NextConfig.trailingSlash ? `${path3}/` : path3; if (NextConfig.basePath) { url = `${NextConfig.basePath}${url}`; } await globalThis.queue.send({ MessageBody: { host, url, eTag: etag, lastModified: lastModified ?? Date.now() }, MessageDeduplicationId: hash(`${path3}-${lastModified}-${etag}`), MessageGroupId: generateMessageGroupId(path3) }); } return { "cache-control": `s-maxage=${sMaxAge}, stale-while-revalidate=${CACHE_ONE_MONTH}`, "x-opennext-cache": isStale ? "STALE" : "HIT", etag }; } return { "cache-control": `s-maxage=${CACHE_ONE_YEAR}, stale-while-revalidate=${CACHE_ONE_MONTH}`, "x-opennext-cache": "HIT", etag }; } async function generateResult(event, localizedPath, cachedValue, lastModified) { debug("Returning result from experimental cache"); let body = ""; let type = "application/octet-stream"; let isDataRequest = false; switch (cachedValue.type) { case "app": isDataRequest = Boolean(event.headers.rsc); body = isDataRequest ? cachedValue.rsc : cachedValue.html; type = isDataRequest ? "text/x-component" : "text/html; charset=utf-8"; break; case "page": isDataRequest = Boolean(event.query.__nextDataReq); body = isDataRequest ? JSON.stringify(cachedValue.json) : cachedValue.html; type = isDataRequest ? "application/json" : "text/html; charset=utf-8"; break; } const cacheControl = await computeCacheControl(localizedPath, body, event.headers.host, cachedValue.revalidate, lastModified); return { type: "core", // sometimes other status codes can be cached, like 404. For these cases, we should return the correct status code statusCode: cachedValue.meta?.status ?? 200, body: toReadableStream(body, false), isBase64Encoded: false, headers: { ...cacheControl, "content-type": type, ...cachedValue.meta?.headers, vary: VARY_HEADER } }; } function escapePathDelimiters(segment, escapeEncoded) { return segment.replace(new RegExp(`([/#?]${escapeEncoded ? "|%(2f|23|3f|5c)" : ""})`, "gi"), (char) => encodeURIComponent(char)); } function decodePathParams(pathname) { return pathname.split("/").map((segment) => { try { return escapePathDelimiters(decodeURIComponent(segment), true); } catch (e) { return segment; } }).join("/"); } async function cacheInterceptor(event) { if (Boolean(event.headers["next-action"]) || Boolean(event.headers["x-prerender-revalidate"])) return event; const cookies = event.headers.cookie || ""; const hasPreviewData = cookies.includes("__prerender_bypass") || cookies.includes("__next_preview_data"); if (hasPreviewData) { debug("Preview mode detected, passing through to handler"); return event; } let localizedPath = localizePath(event); if (NextConfig.basePath) { localizedPath = localizedPath.replace(NextConfig.basePath, ""); } localizedPath = localizedPath.replace(/\/$/, ""); localizedPath = decodePathParams(localizedPath); debug("Checking cache for", localizedPath, PrerenderManifest); const isISR = Object.keys(PrerenderManifest.routes).includes(localizedPath ?? "/") || Object.values(PrerenderManifest.dynamicRoutes).some((dr) => new RegExp(dr.routeRegex).test(localizedPath)); debug("isISR", isISR); if (isISR) { try { const cachedData = await globalThis.incrementalCache.get(localizedPath ?? "/index"); debug("cached data in interceptor", cachedData); if (!cachedData?.value) { return event; } if (cachedData.value?.type === "app" || cachedData.value?.type === "route") { const tags = getTagsFromValue(cachedData.value); const _hasBeenRevalidated = await hasBeenRevalidated(localizedPath, tags, cachedData); if (_hasBeenRevalidated) { return event; } } const host = event.headers.host; switch (cachedData?.value?.type) { case "app": case "page": return generateResult(event, localizedPath, cachedData.value, cachedData.lastModified); case "redirect": { const cacheControl = await computeCacheControl(localizedPath, "", host, cachedData.value.revalidate, cachedData.lastModified); return { type: "core", statusCode: cachedData.value.meta?.status ?? 307, body: emptyReadableStream(), headers: { ...cachedData.value.meta?.headers ?? {}, ...cacheControl }, isBase64Encoded: false }; } case "route": { const cacheControl = await computeCacheControl(localizedPath, cachedData.value.body, host, cachedData.value.revalidate, cachedData.lastModified); const isBinary = isBinaryContentType(String(cachedData.value.meta?.headers?.["content-type"])); return { type: "core", statusCode: cachedData.value.meta?.status ?? 200, body: toReadableStream(cachedData.value.body, isBinary), headers: { ...cacheControl, ...cachedData.value.meta?.headers, vary: VARY_HEADER }, isBase64Encoded: isBinary }; } default: return event; } } catch (e) { debug("Error while fetching cache", e); return event; } } return event; } // node_modules/path-to-regexp/dist.es2015/index.js function lexer(str) { var tokens = []; var i = 0; while (i < str.length) { var char = str[i]; if (char === "*" || char === "+" || char === "?") { tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); continue; } if (char === "\\") { tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); continue; } if (char === "{") { tokens.push({ type: "OPEN", index: i, value: str[i++] }); continue; } if (char === "}") { tokens.push({ type: "CLOSE", index: i, value: str[i++] }); continue; } if (char === ":") { var name = ""; var j = i + 1; while (j < str.length) { var code = str.charCodeAt(j); if ( // `0-9` code >= 48 && code <= 57 || // `A-Z` code >= 65 && code <= 90 || // `a-z` code >= 97 && code <= 122 || // `_` code === 95 ) { name += str[j++]; continue; } break; } if (!name) throw new TypeError("Missing parameter name at ".concat(i)); tokens.push({ type: "NAME", index: i, value: name }); i = j; continue; } if (char === "(") { var count = 1; var pattern = ""; var j = i + 1; if (str[j] === "?") { throw new TypeError('Pattern cannot start with "?" at '.concat(j)); } while (j < str.length) { if (str[j] === "\\") { pattern += str[j++] + str[j++]; continue; } if (str[j] === ")") { count--; if (count === 0) { j++; break; } } else if (str[j] === "(") { count++; if (str[j + 1] !== "?") { throw new TypeError("Capturing groups are not allowed at ".concat(j)); } } pattern += str[j++]; } if (count) throw new TypeError("Unbalanced pattern at ".concat(i)); if (!pattern) throw new TypeError("Missing pattern at ".concat(i)); tokens.push({ type: "PATTERN", index: i, value: pattern }); i = j; continue; } tokens.push({ type: "CHAR", index: i, value: str[i++] }); } tokens.push({ type: "END", index: i, value: "" }); return tokens; } function parse2(str, options) { if (options === void 0) { options = {}; } var tokens = lexer(str); var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b; var result = []; var key = 0; var i = 0; var path3 = ""; var tryConsume = function(type) { if (i < tokens.length && tokens[i].type === type) return tokens[i++].value; }; var mustConsume = function(type) { var value2 = tryConsume(type); if (value2 !== void 0) return value2; var _a2 = tokens[i], nextType = _a2.type, index = _a2.index; throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type)); }; var consumeText = function() { var result2 = ""; var value2; while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) { result2 += value2; } return result2; }; var isSafe = function(value2) { for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) { var char2 = delimiter_1[_i]; if (value2.indexOf(char2) > -1) return true; } return false; }; var safePattern = function(prefix2) { var prev = result[result.length - 1]; var prevText = prefix2 || (prev && typeof prev === "string" ? prev : ""); if (prev && !prevText) { throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name, '"')); } if (!prevText || isSafe(prevText)) return "[^".concat(escapeString(delimiter), "]+?"); return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?"); }; while (i < tokens.length) { var char = tryConsume("CHAR"); var name = tryConsume("NAME"); var pattern = tryConsume("PATTERN"); if (name || pattern) { var prefix = char || ""; if (prefixes.indexOf(prefix) === -1) { path3 += prefix; prefix = ""; } if (path3) { result.push(path3); path3 = ""; } result.push({ name: name || key++, prefix, suffix: "", pattern: pattern || safePattern(prefix), modifier: tryConsume("MODIFIER") || "" }); continue; } var value = char || tryConsume("ESCAPED_CHAR"); if (value) { path3 += value; continue; } if (path3) { result.push(path3); path3 = ""; } var open = tryConsume("OPEN"); if (open) { var prefix = consumeText(); var name_1 = tryConsume("NAME") || ""; var pattern_1 = tryConsume("PATTERN") || ""; var suffix = consumeText(); mustConsume("CLOSE"); result.push({ name: name_1 || (pattern_1 ? key++ : ""), pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1, prefix, suffix, modifier: tryConsume("MODIFIER") || "" }); continue; } mustConsume("END"); } return result; } function compile(str, options) { return tokensToFunction(parse2(str, options), options); } function tokensToFunction(tokens, options) { if (options === void 0) { options = {}; } var reFlags = flags(options); var _a = options.encode, encode = _a === void 0 ? function(x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b; var matches = tokens.map(function(token) { if (typeof token === "object") { return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags); } }); return function(data) { var path3 = ""; for (var i = 0; i < tokens.length; i++) { var token = tokens[i]; if (typeof token === "string") { path3 += token; continue; } var value = data ? data[token.name] : void 0; var optional = token.modifier === "?" || token.modifier === "*"; var repeat = token.modifier === "*" || token.modifier === "+"; if (Array.isArray(value)) { if (!repeat) { throw new TypeError('Expected "'.concat(token.name, '" to not repeat, but got an array')); } if (value.length === 0) { if (optional) continue; throw new TypeError('Expected "'.concat(token.name, '" to not be empty')); } for (var j = 0; j < value.length; j++) { var segment = encode(value[j], token); if (validate && !matches[i].test(segment)) { throw new TypeError('Expected all "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); } path3 += token.prefix + segment + token.suffix; } continue; } if (typeof value === "string" || typeof value === "number") { var segment = encode(String(value), token); if (validate && !matches[i].test(segment)) { throw new TypeError('Expected "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); } path3 += token.prefix + segment + token.suffix; continue; } if (optional) continue; var typeOfMessage = repeat ? "an array" : "a string"; throw new TypeError('Expected "'.concat(token.name, '" to be ').concat(typeOfMessage)); } return path3; }; } function match(str, options) { var keys = []; var re = pathToRegexp(str, keys, options); return regexpToFunction(re, keys, options); } function regexpToFunction(re, keys, options) { if (options === void 0) { options = {}; } var _a = options.decode, decode = _a === void 0 ? function(x) { return x; } : _a; return function(pathname) { var m = re.exec(pathname); if (!m) return false; var path3 = m[0], index = m.index; var params = /* @__PURE__ */ Object.create(null); var _loop_1 = function(i2) { if (m[i2] === void 0) return "continue"; var key = keys[i2 - 1]; if (key.modifier === "*" || key.modifier === "+") { params[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) { return decode(value, key); }); } else { params[key.name] = decode(m[i2], key); } }; for (var i = 1; i < m.length; i++) { _loop_1(i); } return { path: path3, index, params }; }; } function escapeString(str) { return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); } function flags(options) { return options && options.sensitive ? "" : "i"; } function regexpToRegexp(path3, keys) { if (!keys) return path3; var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; var index = 0; var execResult = groupsRegex.exec(path3.source); while (execResult) { keys.push({ // Use parenthesized substring match if available, index otherwise name: execResult[1] || index++, prefix: "", suffix: "", modifier: "", pattern: "" }); execResult = groupsRegex.exec(path3.source); } return path3; } function arrayToRegexp(paths, keys, options) { var parts = paths.map(function(path3) { return pathToRegexp(path3, keys, options).source; }); return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options)); } function stringToRegexp(path3, keys, options) { return tokensToRegexp(parse2(path3, options), keys, options); } function tokensToRegexp(tokens, keys, options) { if (options === void 0) { options = {}; } var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function(x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f; var endsWithRe = "[".concat(escapeString(endsWith), "]|$"); var delimiterRe = "[".concat(escapeString(delimiter), "]"); var route = start ? "^" : ""; for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { var token = tokens_1[_i]; if (typeof token === "string") { route += escapeString(encode(token)); } else { var prefix = escapeString(encode(token.prefix)); var suffix = escapeString(encode(token.suffix)); if (token.pattern) { if (keys) keys.push(token); if (prefix || suffix) { if (token.modifier === "+" || token.modifier === "*") { var mod = token.modifier === "*" ? "?" : ""; route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod); } else { route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier); } } else { if (token.modifier === "+" || token.modifier === "*") { throw new TypeError('Can not repeat "'.concat(token.name, '" without a prefix and suffix')); } route += "(".concat(token.pattern, ")").concat(token.modifier); } } else { route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier); } } } if (end) { if (!strict) route += "".concat(delimiterRe, "?"); route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")"); } else { var endToken = tokens[tokens.length - 1]; var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0; if (!strict) { route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?"); } if (!isEndDelimited) { route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")"); } } return new RegExp(route, flags(options)); } function pathToRegexp(path3, keys, options) { if (path3 instanceof RegExp) return regexpToRegexp(path3, keys); if (Array.isArray(path3)) return arrayToRegexp(path3, keys, options); return stringToRegexp(path3, keys, options); } // node_modules/@opennextjs/aws/dist/utils/normalize-path.js import path2 from "node:path"; function normalizeRepeatedSlashes(url) { const urlNoQuery = url.host + url.pathname; return `${url.protocol}//${urlNoQuery.replace(/\\/g, "/").replace(/\/\/+/g, "/")}${url.search}`; } // node_modules/@opennextjs/aws/dist/core/routing/matcher.js init_stream(); init_logger(); // node_modules/@opennextjs/aws/dist/core/routing/routeMatcher.js var optionalLocalePrefixRegex = `^/(?:${RoutesManifest.locales.map((locale) => `${locale}/?`).join("|")})?`; var optionalBasepathPrefixRegex = RoutesManifest.basePath ? `^${RoutesManifest.basePath}/?` : "^/"; var optionalPrefix = optionalLocalePrefixRegex.replace("^/", optionalBasepathPrefixRegex); function routeMatcher(routeDefinitions) { const regexp = routeDefinitions.map((route) => ({ page: route.page, regexp: new RegExp(route.regex.replace("^/", optionalPrefix)) })); const appPathsSet = /* @__PURE__ */ new Set(); const routePathsSet = /* @__PURE__ */ new Set(); for (const [k, v] of Object.entries(AppPathRoutesManifest)) { if (k.endsWith("page")) { appPathsSet.add(v); } else if (k.endsWith("route")) { routePathsSet.add(v); } } return function matchRoute(path3) { const foundRoutes = regexp.filter((route) => route.regexp.test(path3)); return foundRoutes.map((foundRoute) => { let routeType = "page"; if (appPathsSet.has(foundRoute.page)) { routeType = "app"; } else if (routePathsSet.has(foundRoute.page)) { routeType = "route"; } return { route: foundRoute.page, type: routeType }; }); }; } var staticRouteMatcher = routeMatcher([ ...RoutesManifest.routes.static, ...getStaticAPIRoutes() ]); var dynamicRouteMatcher = routeMatcher(RoutesManifest.routes.dynamic); function getStaticAPIRoutes() { const createRouteDefinition = (route) => ({ page: route, regex: `^${route}(?:/)?$` }); const dynamicRoutePages = new Set(RoutesManifest.routes.dynamic.map(({ page }) => page)); const pagesStaticAPIRoutes = Object.keys(PagesManifest).filter((route) => route.startsWith("/api/") && !dynamicRoutePages.has(route)).map(createRouteDefinition); const appPathsStaticAPIRoutes = Object.values(AppPathRoutesManifest).filter((route) => route.startsWith("/api/") || route === "/api" && !dynamicRoutePages.has(route)).map(createRouteDefinition); return [...pagesStaticAPIRoutes, ...appPathsStaticAPIRoutes]; } // node_modules/@opennextjs/aws/dist/core/routing/matcher.js var routeHasMatcher = (headers, cookies, query) => (redirect) => { switch (redirect.type) { case "header": return !!headers?.[redirect.key.toLowerCase()] && new RegExp(redirect.value ?? "").test(headers[redirect.key.toLowerCase()] ?? ""); case "cookie": return !!cookies?.[redirect.key] && new RegExp(redirect.value ?? "").test(cookies[redirect.key] ?? ""); case "query": return query[redirect.key] && Array.isArray(redirect.value) ? redirect.value.reduce((prev, current) => prev || new RegExp(current).test(query[redirect.key]), false) : new RegExp(redirect.value ?? "").test(query[redirect.key] ?? ""); case "host": return headers?.host !== "" && new RegExp(redirect.value ?? "").test(headers.host); default: return false; } }; function checkHas(matcher, has, inverted = false) { return has ? has.reduce((acc, cur) => { if (acc === false) return false; return inverted ? !matcher(cur) : matcher(cur); }, true) : true; } var getParamsFromSource = (source) => (value) => { debug("value", value); const _match = source(value); return _match ? _match.params : {}; }; var computeParamHas = (headers, cookies, query) => (has) => { if (!has.value) return {}; const matcher = new RegExp(`^${has.value}$`); const fromSource = (value) => { const matches = value.match(matcher); return matches?.groups ?? {}; }; switch (has.type) { case "header": return fromSource(headers[has.key.toLowerCase()] ?? ""); case "cookie": return fromSource(cookies[has.key] ?? ""); case "query": return Array.isArray(query[has.key]) ? fromSource(query[has.key].join(",")) : fromSource(query[has.key] ?? ""); case "host": return fromSource(headers.host ?? ""); } }; function convertMatch(match2, toDestination, destination) { if (!match2) { return destination; } const { params } = match2; const isUsingParams = Object.keys(params).length > 0; return isUsingParams ? toDestination(params) : destination; } function getNextConfigHeaders(event, configHeaders) { if (!configHeaders) { return {}; } const matcher = routeHasMatcher(event.headers, event.cookies, event.query); const requestHeaders = {}; const localizedRawPath = localizePath(event); for (const { headers, has, missing, regex, source, locale } of configHeaders) { const path3 = locale === false ? event.rawPath : localizedRawPath; if (new RegExp(regex).test(path3) && checkHas(matcher, has) && checkHas(matcher, missing, true)) { const fromSource = match(source); const _match = fromSource(path3); headers.forEach((h) => { try { const key = convertMatch(_match, compile(h.key), h.key); const value = convertMatch(_match, compile(h.value), h.value); requestHeaders[key] = value; } catch { debug(`Error matching header ${h.key} with value ${h.value}`); requestHeaders[h.key] = h.value; } }); } } return requestHeaders; } function handleRewrites(event, rewrites) { const { rawPath, headers, query, cookies, url } = event; const localizedRawPath = localizePath(event); const matcher = routeHasMatcher(headers, cookies, query); const computeHas = computeParamHas(headers, cookies, query); const rewrite = rewrites.find((route) => { const path3 = route.locale === false ? rawPath : localizedRawPath; return new RegExp(route.regex).test(path3) && checkHas(matcher, route.has) && checkHas(matcher, route.missing, true); }); let finalQuery = query; let rewrittenUrl = url; const isExternalRewrite = isExternal(rewrite?.destination); debug("isExternalRewrite", isExternalRewrite); if (rewrite) { const { pathname, protocol, hostname, queryString } = getUrlParts(rewrite.destination, isExternalRewrite); const pathToUse = rewrite.locale === false ? rawPath : localizedRawPath; debug("urlParts", { pathname, protocol, hostname, queryString }); const toDestinationPath = compile(escapeRegex(pathname, { isPath: true })); const toDestinationHost = compile(escapeRegex(hostname)); const toDestinationQuery = compile(escapeRegex(queryString)); const params = { // params for the source ...getParamsFromSource(match(escapeRegex(rewrite.source, { isPath: true })))(pathToUse), // params for the has ...rewrite.has?.reduce((acc, cur) => { return Object.assign(acc, computeHas(cur)); }, {}), // params for the missing ...rewrite.missing?.reduce((acc, cur) => { return Object.assign(acc, computeHas(cur)); }, {}) }; const isUsingParams = Object.keys(params).length > 0; let rewrittenQuery = queryString; let rewrittenHost = hostname; let rewrittenPath = pathname; if (isUsingParams) { rewrittenPath = unescapeRegex(toDestinationPath(params)); rewrittenHost = unescapeRegex(toDestinationHost(params)); rewrittenQuery = unescapeRegex(toDestinationQuery(params)); } if (NextConfig.i18n && !isExternalRewrite) { const strippedPathLocale = rewrittenPath.replace(new RegExp(`^/(${NextConfig.i18n.locales.join("|")})`), ""); if (strippedPathLocale.startsWith("/api/")) { rewrittenPath = strippedPathLocale; } } rewrittenUrl = isExternalRewrite ? `${protocol}//${rewrittenHost}${rewrittenPath}` : new URL(rewrittenPath, event.url).href; finalQuery = { ...query, ...convertFromQueryString(rewrittenQuery) }; rewrittenUrl += convertToQueryString(finalQuery); debug("rewrittenUrl", { rewrittenUrl, finalQuery, isUsingParams }); } return { internalEvent: { ...event, query: finalQuery, rawPath: new URL(rewrittenUrl).pathname, url: rewrittenUrl }, __rewrite: rewrite, isExternalRewrite }; } function handleRepeatedSlashRedirect(event) { if (event.rawPath.match(/(\\|\/\/)/)) { return { type: event.type, statusCode: 308, headers: { Location: normalizeRepeatedSlashes(new URL(event.url)) }, body: emptyReadableStream(), isBase64Encoded: false }; } return false; } function handleTrailingSlashRedirect(event) { const url = new URL(event.rawPath, "http://localhost"); if ( // Someone is trying to redirect to a different origin, let's not do that url.host !== "localhost" || NextConfig.skipTrailingSlashRedirect || // We should not apply trailing slash redirect to API routes event.rawPath.startsWith("/api/") ) { return false; } const emptyBody = emptyReadableStream(); if (NextConfig.trailingSlash && !event.headers["x-nextjs-data"] && !event.rawPath.endsWith("/") && !event.rawPath.match(/[\w-]+\.[\w]+$/g)) { const headersLocation = event.url.split("?"); return { type: event.type, statusCode: 308, headers: { Location: `${headersLocation[0]}/${headersLocation[1] ? `?${headersLocation[1]}` : ""}` }, body: emptyBody, isBase64Encoded: false }; } if (!NextConfig.trailingSlash && event.rawPath.endsWith("/") && event.rawPath !== "/") { const headersLocation = event.url.split("?"); return { type: event.type, statusCode: 308, headers: { Location: `${headersLocation[0].replace(/\/$/, "")}${headersLocation[1] ? `?${headersLocation[1]}` : ""}` }, body: emptyBody, isBase64Encoded: false }; } return false; } function handleRedirects(event, redirects) { const repeatedSlashRedirect = handleRepeatedSlashRedirect(event); if (repeatedSlashRedirect) return repeatedSlashRedirect; const trailingSlashRedirect = handleTrailingSlashRedirect(event); if (trailingSlashRedirect) return trailingSlashRedirect; const localeRedirect = handleLocaleRedirect(event); if (localeRedirect) return localeRedirect; const { internalEvent, __rewrite } = handleRewrites(event, redirects.filter((r) => !r.internal)); if (__rewrite && !__rewrite.internal) { return { type: event.type, statusCode: __rewrite.statusCode ?? 308, headers: { Location: internalEvent.url }, body: emptyReadableStream(), isBase64Encoded: false }; } } function fixDataPage(internalEvent, buildId) { const { rawPath, query } = internalEvent; const basePath = NextConfig.basePath ?? ""; const dataPattern = `${basePath}/_next/data/${buildId}`; if (rawPath.startsWith("/_next/data") && !rawPath.startsWith(dataPattern)) { return { type: internalEvent.type, statusCode: 404, body: toReadableStream("{}"), headers: { "Content-Type": "application/json" }, isBase64Encoded: false }; } if (rawPath.startsWith(dataPattern) && rawPath.endsWith(".json")) { const newPath = `${basePath}${rawPath.slice(dataPattern.length, -".json".length).replace(/^\/index$/, "/")}`; query.__nextDataReq = "1"; return { ...internalEvent, rawPath: newPath, query, url: new URL(`${newPath}${convertToQueryString(query)}`, internalEvent.url).href }; } return internalEvent; } function handleFallbackFalse(internalEvent, prerenderManifest) { const { rawPath } = internalEvent; const { dynamicRoutes, routes } = prerenderManifest; const prerenderedFallbackRoutes = Object.entries(dynamicRoutes).filter(([, { fallback }]) => fallback === false); const routeFallback = prerenderedFallbackRoutes.some(([, { routeRegex }]) => { const routeRegexExp = new RegExp(routeRegex); return routeRegexExp.test(rawPath); }); const locales = NextConfig.i18n?.locales; const routesAlreadyHaveLocale = locales?.includes(rawPath.split("/")[1]) || // If we don't use locales, we don't need to add the default locale locales === void 0; let localizedPath = routesAlreadyHaveLocale ? rawPath : `/${NextConfig.i18n?.defaultLocale}${rawPath}`; if ( // Not if localizedPath is "/" tho, because that would not make it find `isPregenerated` below since it would be try to match an empty string. localizedPath !== "/" && NextConfig.trailingSlash && localizedPath.endsWith("/") ) { localizedPath = localizedPath.slice(0, -1); } const matchedStaticRoute = staticRouteMatcher(localizedPath); const prerenderedFallbackRoutesName = prerenderedFallbackRoutes.map(([name]) => name); const matchedDynamicRoute = dynamicRouteMatcher(localizedPath).filter(({ route }) => !prerenderedFallbackRoutesName.includes(route)); const isPregenerated = Object.keys(routes).includes(localizedPath); if (routeFallback && !isPregenerated && matchedStaticRoute.length === 0 && matchedDynamicRoute.length === 0) { return { event: { ...internalEvent, rawPath: "/404", url: constructNextUrl(internalEvent.url, "/404"), headers: { ...internalEvent.headers, "x-invoke-status": "404" } }, isISR: false }; } return { event: internalEvent, isISR: routeFallback || isPregenerated }; } // node_modules/@opennextjs/aws/dist/core/routing/middleware.js init_stream(); init_utils(); var middlewareManifest = MiddlewareManifest; var functionsConfigManifest = FunctionsConfigManifest; var middleMatch = getMiddlewareMatch(middlewareManifest, functionsConfigManifest); var REDIRECTS = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]); function defaultMiddlewareLoader() { return Promise.resolve().then(() => (init_edgeFunctionHandler(), edgeFunctionHandler_exports)); } async function handleMiddleware(internalEvent, initialSearch, middlewareLoader = defaultMiddlewareLoader) { const headers = internalEvent.headers; if (headers["x-isr"] && headers["x-prerender-revalidate"] === PrerenderManifest.preview.previewModeId) return internalEvent; const normalizedPath = localizePath(internalEvent); const hasMatch = middleMatch.some((r) => r.test(normalizedPath)); if (!hasMatch) return internalEvent; const initialUrl = new URL(normalizedPath, internalEvent.url); initialUrl.search = initialSearch; const url = initialUrl.href; const middleware = await middlewareLoader(); const result = await middleware.default({ // `geo` is pre Next 15. geo: { // The city name is percent-encoded. // See https://github.com/vercel/vercel/blob/4cb6143/packages/functions/src/headers.ts#L94C19-L94C37 city: decodeURIComponent(headers["x-open-next-city"]), country: headers["x-open-next-country"], region: headers["x-open-next-region"], latitude: headers["x-open-next-latitude"], longitude: headers["x-open-next-longitude"] }, headers, method: internalEvent.method || "GET", nextConfig: { basePath: NextConfig.basePath, i18n: NextConfig.i18n, trailingSlash: NextConfig.trailingSlash }, url, body: convertBodyToReadableStream(internalEvent.method, internalEvent.body) }); const statusCode = result.status; const responseHeaders = result.headers; const reqHeaders = {}; const resHeaders = {}; const filteredHeaders = [ "x-middleware-override-headers", "x-middleware-next", "x-middleware-rewrite", // We need to drop `content-encoding` because it will be decoded "content-encoding" ]; const xMiddlewareKey = "x-middleware-request-"; responseHeaders.forEach((value, key) => { if (key.startsWith(xMiddlewareKey)) { const k = key.substring(xMiddlewareKey.length); reqHeaders[k] = value; } else { if (filteredHeaders.includes(key.toLowerCase())) return; if (key.toLowerCase() === "set-cookie") { resHeaders[key] = resHeaders[key] ? [...resHeaders[key], value] : [value]; } else if (REDIRECTS.has(statusCode) && key.toLowerCase() === "location") { resHeaders[key] = normalizeLocationHeader(value, internalEvent.url); } else { resHeaders[key] = value; } } }); const rewriteUrl = responseHeaders.get("x-middleware-rewrite"); let isExternalRewrite = false; let middlewareQuery = internalEvent.query; let newUrl = internalEvent.url; if (rewriteUrl) { newUrl = rewriteUrl; if (isExternal(newUrl, internalEvent.headers.host)) { isExternalRewrite = true; } else { const rewriteUrlObject = new URL(rewriteUrl); middlewareQuery = getQueryFromSearchParams(rewriteUrlObject.searchParams); if ("__nextDataReq" in internalEvent.query) { middlewareQuery.__nextDataReq = internalEvent.query.__nextDataReq; } } } if (!rewriteUrl && !responseHeaders.get("x-middleware-next")) { const body = result.body ?? emptyReadableStream(); return { type: internalEvent.type, statusCode, headers: resHeaders, body, isBase64Encoded: false }; } return { responseHeaders: resHeaders, url: newUrl, rawPath: new URL(newUrl).pathname, type: internalEvent.type, headers: { ...internalEvent.headers, ...reqHeaders }, body: internalEvent.body, method: internalEvent.method, query: middlewareQuery, cookies: internalEvent.cookies, remoteAddress: internalEvent.remoteAddress, isExternalRewrite, rewriteStatusCode: statusCode }; } // node_modules/@opennextjs/aws/dist/core/routingHandler.js var MIDDLEWARE_HEADER_PREFIX = "x-middleware-response-"; var MIDDLEWARE_HEADER_PREFIX_LEN = MIDDLEWARE_HEADER_PREFIX.length; var INTERNAL_HEADER_PREFIX = "x-opennext-"; var INTERNAL_HEADER_INITIAL_URL = `${INTERNAL_HEADER_PREFIX}initial-url`; var INTERNAL_HEADER_LOCALE = `${INTERNAL_HEADER_PREFIX}locale`; var INTERNAL_HEADER_RESOLVED_ROUTES = `${INTERNAL_HEADER_PREFIX}resolved-routes`; var INTERNAL_HEADER_REWRITE_STATUS_CODE = `${INTERNAL_HEADER_PREFIX}rewrite-status-code`; var INTERNAL_EVENT_REQUEST_ID = `${INTERNAL_HEADER_PREFIX}request-id`; var geoHeaderToNextHeader = { "x-open-next-city": "x-vercel-ip-city", "x-open-next-country": "x-vercel-ip-country", "x-open-next-region": "x-vercel-ip-country-region", "x-open-next-latitude": "x-vercel-ip-latitude", "x-open-next-longitude": "x-vercel-ip-longitude" }; function applyMiddlewareHeaders(eventOrResult, middlewareHeaders) { const isResult = isInternalResult(eventOrResult); const headers = eventOrResult.headers; const keyPrefix = isResult ? "" : MIDDLEWARE_HEADER_PREFIX; Object.entries(middlewareHeaders).forEach(([key, value]) => { if (value) { headers[keyPrefix + key] = Array.isArray(value) ? value.join(",") : value; } }); } async function routingHandler(event, { assetResolver }) { try { for (const [openNextGeoName, nextGeoName] of Object.entries(geoHeaderToNextHeader)) { const value = event.headers[openNextGeoName]; if (value) { event.headers[nextGeoName] = value; } } for (const key of Object.keys(event.headers)) { if (key.startsWith(INTERNAL_HEADER_PREFIX) || key.startsWith(MIDDLEWARE_HEADER_PREFIX)) { delete event.headers[key]; } } let headers = getNextConfigHeaders(event, ConfigHeaders); let eventOrResult = fixDataPage(event, BuildId); if (isInternalResult(eventOrResult)) { return eventOrResult; } const redirect = handleRedirects(eventOrResult, RoutesManifest.redirects); if (redirect) { redirect.headers.Location = normalizeLocationHeader(redirect.headers.Location, event.url, true); debug("redirect", redirect); return redirect; } const middlewareEventOrResult = await handleMiddleware( eventOrResult, // We need to pass the initial search without any decoding // TODO: we'd need to refactor InternalEvent to include the initial querystring directly // Should be done in another PR because it is a breaking change new URL(event.url).search ); if (isInternalResult(middlewareEventOrResult)) { return middlewareEventOrResult; } headers = { ...middlewareEventOrResult.responseHeaders, ...headers }; let isExternalRewrite = middlewareEventOrResult.isExternalRewrite ?? false; eventOrResult = middlewareEventOrResult; if (!isExternalRewrite) { const beforeRewrite = handleRewrites(eventOrResult, RoutesManifest.rewrites.beforeFiles); eventOrResult = beforeRewrite.internalEvent; isExternalRewrite = beforeRewrite.isExternalRewrite; if (!isExternalRewrite) { const assetResult = await assetResolver?.maybeGetAssetResult?.(eventOrResult); if (assetResult) { applyMiddlewareHeaders(assetResult, headers); return assetResult; } } } const foundStaticRoute = staticRouteMatcher(eventOrResult.rawPath); const isStaticRoute = !isExternalRewrite && foundStaticRoute.length > 0; if (!(isStaticRoute || isExternalRewrite)) { const afterRewrite = handleRewrites(eventOrResult, RoutesManifest.rewrites.afterFiles); eventOrResult = afterRewrite.internalEvent; isExternalRewrite = afterRewrite.isExternalRewrite; } let isISR = false; if (!isExternalRewrite) { const fallbackResult = handleFallbackFalse(eventOrResult, PrerenderManifest); eventOrResult = fallbackResult.event; isISR = fallbackResult.isISR; } const foundDynamicRoute = dynamicRouteMatcher(eventOrResult.rawPath); const isDynamicRoute = !isExternalRewrite && foundDynamicRoute.length > 0; if (!(isDynamicRoute || isStaticRoute || isExternalRewrite)) { const fallbackRewrites = handleRewrites(eventOrResult, RoutesManifest.rewrites.fallback); eventOrResult = fallbackRewrites.internalEvent; isExternalRewrite = fallbackRewrites.isExternalRewrite; } const isNextImageRoute = eventOrResult.rawPath.startsWith("/_next/image"); const isRouteFoundBeforeAllRewrites = isStaticRoute || isDynamicRoute || isExternalRewrite; if (!(isRouteFoundBeforeAllRewrites || isNextImageRoute || // We need to check again once all rewrites have been applied staticRouteMatcher(eventOrResult.rawPath).length > 0 || dynamicRouteMatcher(eventOrResult.rawPath).length > 0)) { eventOrResult = { ...eventOrResult, rawPath: "/404", url: constructNextUrl(eventOrResult.url, "/404"), headers: { ...eventOrResult.headers, "x-middleware-response-cache-control": "private, no-cache, no-store, max-age=0, must-revalidate" } }; } if (globalThis.openNextConfig.dangerous?.enableCacheInterception && !isInternalResult(eventOrResult)) { debug("Cache interception enabled"); eventOrResult = await cacheInterceptor(eventOrResult); if (isInternalResult(eventOrResult)) { applyMiddlewareHeaders(eventOrResult, headers); return eventOrResult; } } applyMiddlewareHeaders(eventOrResult, headers); const resolvedRoutes = [ ...foundStaticRoute, ...foundDynamicRoute ]; debug("resolvedRoutes", resolvedRoutes); return { internalEvent: eventOrResult, isExternalRewrite, origin: false, isISR, resolvedRoutes, initialURL: event.url, locale: NextConfig.i18n ? detectLocale(eventOrResult, NextConfig.i18n) : void 0, rewriteStatusCode: middlewareEventOrResult.rewriteStatusCode }; } catch (e) { error("Error in routingHandler", e); return { internalEvent: { type: "core", method: "GET", rawPath: "/500", url: constructNextUrl(event.url, "/500"), headers: { ...event.headers }, query: event.query, cookies: event.cookies, remoteAddress: event.remoteAddress }, isExternalRewrite: false, origin: false, isISR: false, resolvedRoutes: [], initialURL: event.url, locale: NextConfig.i18n ? detectLocale(event, NextConfig.i18n) : void 0 }; } } function isInternalResult(eventOrResult) { return eventOrResult != null && "statusCode" in eventOrResult; } // node_modules/@opennextjs/aws/dist/adapters/middleware.js globalThis.internalFetch = fetch; globalThis.__openNextAls = new AsyncLocalStorage(); var defaultHandler = async (internalEvent, options) => { const middlewareConfig = globalThis.openNextConfig.middleware; const originResolver = await resolveOriginResolver(middlewareConfig?.originResolver); const externalRequestProxy = await resolveProxyRequest(middlewareConfig?.override?.proxyExternalRequest); const assetResolver = await resolveAssetResolver(middlewareConfig?.assetResolver); const requestId = Math.random().toString(36); return runWithOpenNextRequestContext({ isISRRevalidation: internalEvent.headers["x-isr"] === "1", waitUntil: options?.waitUntil, requestId }, async () => { const result = await routingHandler(internalEvent, { assetResolver }); if ("internalEvent" in result) { debug("Middleware intercepted event", internalEvent); if (!result.isExternalRewrite) { const origin = await originResolver.resolve(result.internalEvent.rawPath); return { type: "middleware", internalEvent: { ...result.internalEvent, headers: { ...result.internalEvent.headers, [INTERNAL_HEADER_INITIAL_URL]: internalEvent.url, [INTERNAL_HEADER_RESOLVED_ROUTES]: JSON.stringify(result.resolvedRoutes), [INTERNAL_EVENT_REQUEST_ID]: requestId, [INTERNAL_HEADER_REWRITE_STATUS_CODE]: String(result.rewriteStatusCode) } }, isExternalRewrite: result.isExternalRewrite, origin, isISR: result.isISR, initialURL: result.initialURL, resolvedRoutes: result.resolvedRoutes }; } try { return externalRequestProxy.proxy(result.internalEvent); } catch (e) { error("External request failed.", e); return { type: "middleware", internalEvent: { ...result.internalEvent, headers: { ...result.internalEvent.headers, [INTERNAL_EVENT_REQUEST_ID]: requestId }, rawPath: "/500", url: constructNextUrl(result.internalEvent.url, "/500"), method: "GET" }, // On error we need to rewrite to the 500 page which is an internal rewrite isExternalRewrite: false, origin: false, isISR: result.isISR, initialURL: result.internalEvent.url, resolvedRoutes: [{ route: "/500", type: "page" }] }; } } result.headers[INTERNAL_EVENT_REQUEST_ID] = requestId; debug("Middleware response", result); return result; }); }; var handler2 = await createGenericHandler({ handler: defaultHandler, type: "middleware" }); var middleware_default = { fetch: handler2 }; export { middleware_default as default, handler2 as handler };