quiz-mcp 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css +1 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.br +0 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.gz +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js +2 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js +1 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js +3 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js +1 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js +1 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js +1 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.br +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js +1 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.br +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js +1 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.br +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.gz +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js +2 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.br +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.gz +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js +1 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js.br +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js +9 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.br +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js +1 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.br +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js +2 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.br +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js +1 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.br +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js +4 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.br +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.gz +0 -0
- package/dist/client/_app/version.json +1 -0
- package/dist/client/_app/version.json.br +0 -0
- package/dist/client/_app/version.json.gz +0 -0
- package/dist/client/robots.txt +3 -0
- package/dist/env.js +94 -0
- package/dist/handler.js +1435 -0
- package/dist/index.js +345 -0
- package/dist/server/chunks/0-DMbzliU5.js +44 -0
- package/dist/server/chunks/0-DMbzliU5.js.map +1 -0
- package/dist/server/chunks/1-BPgly3Wz.js +9 -0
- package/dist/server/chunks/1-BPgly3Wz.js.map +1 -0
- package/dist/server/chunks/2-NzZFDUaQ.js +60 -0
- package/dist/server/chunks/2-NzZFDUaQ.js.map +1 -0
- package/dist/server/chunks/3-mMAf4OfT.js +37 -0
- package/dist/server/chunks/3-mMAf4OfT.js.map +1 -0
- package/dist/server/chunks/4-B6xeTrA4.js +37 -0
- package/dist/server/chunks/4-B6xeTrA4.js.map +1 -0
- package/dist/server/chunks/_error.svelte-DdU-RsvI.js +82 -0
- package/dist/server/chunks/_error.svelte-DdU-RsvI.js.map +1 -0
- package/dist/server/chunks/_layout.svelte-ByxFsgXH.js +106 -0
- package/dist/server/chunks/_layout.svelte-ByxFsgXH.js.map +1 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js +653 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js.map +1 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js +572 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js.map +1 -0
- package/dist/server/chunks/_page.svelte-DkIV_2wP.js +73 -0
- package/dist/server/chunks/_page.svelte-DkIV_2wP.js.map +1 -0
- package/dist/server/chunks/_server.ts-D6J6LtvY.js +39 -0
- package/dist/server/chunks/_server.ts-D6J6LtvY.js.map +1 -0
- package/dist/server/chunks/_server.ts-DCk3MOtj.js +35 -0
- package/dist/server/chunks/_server.ts-DCk3MOtj.js.map +1 -0
- package/dist/server/chunks/_server.ts-DLmpRTXg.js +101 -0
- package/dist/server/chunks/_server.ts-DLmpRTXg.js.map +1 -0
- package/dist/server/chunks/_server.ts-DSbw8FX3.js +219 -0
- package/dist/server/chunks/_server.ts-DSbw8FX3.js.map +1 -0
- package/dist/server/chunks/_server.ts-Dhx3VnxA.js +51 -0
- package/dist/server/chunks/_server.ts-Dhx3VnxA.js.map +1 -0
- package/dist/server/chunks/client-Bik_FcIp.js +27 -0
- package/dist/server/chunks/client-Bik_FcIp.js.map +1 -0
- package/dist/server/chunks/exports-zEtqeh3Y.js +286 -0
- package/dist/server/chunks/exports-zEtqeh3Y.js.map +1 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js +66 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js.map +1 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js +6 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js.map +1 -0
- package/dist/server/chunks/html-FW6Ia4bL.js +8 -0
- package/dist/server/chunks/html-FW6Ia4bL.js.map +1 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js +1411 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js.map +1 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js +318 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js.map +1 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js +169 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js.map +1 -0
- package/dist/server/index.js +7595 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/manifest.js +97 -0
- package/dist/server/manifest.js.map +1 -0
- package/dist/shims.js +32 -0
- package/package.json +3 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Ch5Bqlgz.js","sources":["../../../.svelte-kit/adapter-node/chunks/utils2.js","../../../.svelte-kit/adapter-node/chunks/index.js"],"sourcesContent":["const escaped = {\n \"<\": \"\\\\u003C\",\n \"\\\\\": \"\\\\\\\\\",\n \"\\b\": \"\\\\b\",\n \"\\f\": \"\\\\f\",\n \"\\n\": \"\\\\n\",\n \"\\r\": \"\\\\r\",\n \"\t\": \"\\\\t\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nclass DevalueError extends Error {\n /**\n * @param {string} message\n * @param {string[]} keys\n * @param {any} [value] - The value that failed to be serialized\n * @param {any} [root] - The root value being serialized\n */\n constructor(message, keys, value, root) {\n super(message);\n this.name = \"DevalueError\";\n this.path = keys.join(\"\");\n this.value = value;\n this.root = root;\n }\n}\nfunction is_primitive(thing) {\n return Object(thing) !== thing;\n}\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(\n Object.prototype\n).sort().join(\"\\0\");\nfunction is_plain_object(thing) {\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getPrototypeOf(proto) === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === object_proto_names;\n}\nfunction get_type(thing) {\n return Object.prototype.toString.call(thing).slice(8, -1);\n}\nfunction get_escaped_char(char) {\n switch (char) {\n case '\"':\n return '\\\\\"';\n case \"<\":\n return \"\\\\u003C\";\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \"\\n\":\n return \"\\\\n\";\n case \"\\r\":\n return \"\\\\r\";\n case \"\t\":\n return \"\\\\t\";\n case \"\\b\":\n return \"\\\\b\";\n case \"\\f\":\n return \"\\\\f\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n return char < \" \" ? `\\\\u${char.charCodeAt(0).toString(16).padStart(4, \"0\")}` : \"\";\n }\n}\nfunction stringify_string(str) {\n let result = \"\";\n let last_pos = 0;\n const len = str.length;\n for (let i = 0; i < len; i += 1) {\n const char = str[i];\n const replacement = get_escaped_char(char);\n if (replacement) {\n result += str.slice(last_pos, i) + replacement;\n last_pos = i + 1;\n }\n }\n return `\"${last_pos === 0 ? str : result + str.slice(last_pos)}\"`;\n}\nfunction enumerable_symbols(object) {\n return Object.getOwnPropertySymbols(object).filter(\n (symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable\n );\n}\nconst is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\nfunction stringify_key(key) {\n return is_identifier.test(key) ? \".\" + key : \"[\" + JSON.stringify(key) + \"]\";\n}\nexport {\n DevalueError as D,\n is_plain_object as a,\n stringify_string as b,\n escaped as c,\n enumerable_symbols as e,\n get_type as g,\n is_primitive as i,\n stringify_key as s\n};\n","import { i as is_primitive, g as get_type, D as DevalueError, a as is_plain_object, e as enumerable_symbols, s as stringify_key, b as stringify_string, c as escaped } from \"./utils2.js\";\nconst chars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$\";\nconst unsafe_chars = /[<\\b\\f\\n\\r\\t\\0\\u2028\\u2029]/g;\nconst reserved = /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;\nfunction uneval(value, replacer) {\n const counts = /* @__PURE__ */ new Map();\n const keys = [];\n const custom = /* @__PURE__ */ new Map();\n function walk(thing) {\n if (!is_primitive(thing)) {\n if (counts.has(thing)) {\n counts.set(thing, counts.get(thing) + 1);\n return;\n }\n counts.set(thing, 1);\n if (replacer) {\n const str2 = replacer(thing, (value2) => uneval(value2, replacer));\n if (typeof str2 === \"string\") {\n custom.set(thing, str2);\n return;\n }\n }\n if (typeof thing === \"function\") {\n throw new DevalueError(`Cannot stringify a function`, keys, thing, value);\n }\n const type = get_type(thing);\n switch (type) {\n case \"Number\":\n case \"BigInt\":\n case \"String\":\n case \"Boolean\":\n case \"Date\":\n case \"RegExp\":\n case \"URL\":\n case \"URLSearchParams\":\n return;\n case \"Array\":\n thing.forEach((value2, i) => {\n keys.push(`[${i}]`);\n walk(value2);\n keys.pop();\n });\n break;\n case \"Set\":\n Array.from(thing).forEach(walk);\n break;\n case \"Map\":\n for (const [key, value2] of thing) {\n keys.push(\n `.get(${is_primitive(key) ? stringify_primitive(key) : \"...\"})`\n );\n walk(value2);\n keys.pop();\n }\n break;\n case \"Int8Array\":\n case \"Uint8Array\":\n case \"Uint8ClampedArray\":\n case \"Int16Array\":\n case \"Uint16Array\":\n case \"Int32Array\":\n case \"Uint32Array\":\n case \"Float32Array\":\n case \"Float64Array\":\n case \"BigInt64Array\":\n case \"BigUint64Array\":\n walk(thing.buffer);\n return;\n case \"ArrayBuffer\":\n return;\n case \"Temporal.Duration\":\n case \"Temporal.Instant\":\n case \"Temporal.PlainDate\":\n case \"Temporal.PlainTime\":\n case \"Temporal.PlainDateTime\":\n case \"Temporal.PlainMonthDay\":\n case \"Temporal.PlainYearMonth\":\n case \"Temporal.ZonedDateTime\":\n return;\n default:\n if (!is_plain_object(thing)) {\n throw new DevalueError(\n `Cannot stringify arbitrary non-POJOs`,\n keys,\n thing,\n value\n );\n }\n if (enumerable_symbols(thing).length > 0) {\n throw new DevalueError(\n `Cannot stringify POJOs with symbolic keys`,\n keys,\n thing,\n value\n );\n }\n for (const key in thing) {\n keys.push(stringify_key(key));\n walk(thing[key]);\n keys.pop();\n }\n }\n }\n }\n walk(value);\n const names = /* @__PURE__ */ new Map();\n Array.from(counts).filter((entry) => entry[1] > 1).sort((a, b) => b[1] - a[1]).forEach((entry, i) => {\n names.set(entry[0], get_name(i));\n });\n function stringify2(thing) {\n if (names.has(thing)) {\n return names.get(thing);\n }\n if (is_primitive(thing)) {\n return stringify_primitive(thing);\n }\n if (custom.has(thing)) {\n return custom.get(thing);\n }\n const type = get_type(thing);\n switch (type) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n return `Object(${stringify2(thing.valueOf())})`;\n case \"RegExp\":\n return `new RegExp(${stringify_string(thing.source)}, \"${thing.flags}\")`;\n case \"Date\":\n return `new Date(${thing.getTime()})`;\n case \"URL\":\n return `new URL(${stringify_string(thing.toString())})`;\n case \"URLSearchParams\":\n return `new URLSearchParams(${stringify_string(thing.toString())})`;\n case \"Array\":\n const members = (\n /** @type {any[]} */\n thing.map(\n (v, i) => i in thing ? stringify2(v) : \"\"\n )\n );\n const tail = thing.length === 0 || thing.length - 1 in thing ? \"\" : \",\";\n return `[${members.join(\",\")}${tail}]`;\n case \"Set\":\n case \"Map\":\n return `new ${type}([${Array.from(thing).map(stringify2).join(\",\")}])`;\n case \"Int8Array\":\n case \"Uint8Array\":\n case \"Uint8ClampedArray\":\n case \"Int16Array\":\n case \"Uint16Array\":\n case \"Int32Array\":\n case \"Uint32Array\":\n case \"Float32Array\":\n case \"Float64Array\":\n case \"BigInt64Array\":\n case \"BigUint64Array\": {\n let str2 = `new ${type}`;\n if (counts.get(thing.buffer) === 1) {\n const array = new thing.constructor(thing.buffer);\n str2 += `([${array}])`;\n } else {\n str2 += `([${stringify2(thing.buffer)}])`;\n }\n const a = thing.byteOffset;\n const b = a + thing.byteLength;\n if (a > 0 || b !== thing.buffer.byteLength) {\n const m = +/(\\d+)/.exec(type)[1] / 8;\n str2 += `.subarray(${a / m},${b / m})`;\n }\n return str2;\n }\n case \"ArrayBuffer\": {\n const ui8 = new Uint8Array(thing);\n return `new Uint8Array([${ui8.toString()}]).buffer`;\n }\n case \"Temporal.Duration\":\n case \"Temporal.Instant\":\n case \"Temporal.PlainDate\":\n case \"Temporal.PlainTime\":\n case \"Temporal.PlainDateTime\":\n case \"Temporal.PlainMonthDay\":\n case \"Temporal.PlainYearMonth\":\n case \"Temporal.ZonedDateTime\":\n return `${type}.from(${stringify_string(thing.toString())})`;\n default:\n const keys2 = Object.keys(thing);\n const obj = keys2.map((key) => `${safe_key(key)}:${stringify2(thing[key])}`).join(\",\");\n const proto = Object.getPrototypeOf(thing);\n if (proto === null) {\n return keys2.length > 0 ? `{${obj},__proto__:null}` : `{__proto__:null}`;\n }\n return `{${obj}}`;\n }\n }\n const str = stringify2(value);\n if (names.size) {\n const params = [];\n const statements = [];\n const values = [];\n names.forEach((name, thing) => {\n params.push(name);\n if (custom.has(thing)) {\n values.push(\n /** @type {string} */\n custom.get(thing)\n );\n return;\n }\n if (is_primitive(thing)) {\n values.push(stringify_primitive(thing));\n return;\n }\n const type = get_type(thing);\n switch (type) {\n case \"Number\":\n case \"String\":\n case \"Boolean\":\n values.push(`Object(${stringify2(thing.valueOf())})`);\n break;\n case \"RegExp\":\n values.push(thing.toString());\n break;\n case \"Date\":\n values.push(`new Date(${thing.getTime()})`);\n break;\n case \"Array\":\n values.push(`Array(${thing.length})`);\n thing.forEach((v, i) => {\n statements.push(`${name}[${i}]=${stringify2(v)}`);\n });\n break;\n case \"Set\":\n values.push(`new Set`);\n statements.push(\n `${name}.${Array.from(thing).map((v) => `add(${stringify2(v)})`).join(\".\")}`\n );\n break;\n case \"Map\":\n values.push(`new Map`);\n statements.push(\n `${name}.${Array.from(thing).map(([k, v]) => `set(${stringify2(k)}, ${stringify2(v)})`).join(\".\")}`\n );\n break;\n case \"ArrayBuffer\":\n values.push(\n `new Uint8Array([${new Uint8Array(thing).join(\",\")}]).buffer`\n );\n break;\n default:\n values.push(\n Object.getPrototypeOf(thing) === null ? \"Object.create(null)\" : \"{}\"\n );\n Object.keys(thing).forEach((key) => {\n statements.push(\n `${name}${safe_prop(key)}=${stringify2(thing[key])}`\n );\n });\n }\n });\n statements.push(`return ${str}`);\n return `(function(${params.join(\",\")}){${statements.join(\n \";\"\n )}}(${values.join(\",\")}))`;\n } else {\n return str;\n }\n}\nfunction get_name(num) {\n let name = \"\";\n do {\n name = chars[num % chars.length] + name;\n num = ~~(num / chars.length) - 1;\n } while (num >= 0);\n return reserved.test(name) ? `${name}0` : name;\n}\nfunction escape_unsafe_char(c) {\n return escaped[c] || c;\n}\nfunction escape_unsafe_chars(str) {\n return str.replace(unsafe_chars, escape_unsafe_char);\n}\nfunction safe_key(key) {\n return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? key : escape_unsafe_chars(JSON.stringify(key));\n}\nfunction safe_prop(key) {\n return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? `.${key}` : `[${escape_unsafe_chars(JSON.stringify(key))}]`;\n}\nfunction stringify_primitive(thing) {\n if (typeof thing === \"string\") return stringify_string(thing);\n if (thing === void 0) return \"void 0\";\n if (thing === 0 && 1 / thing < 0) return \"-0\";\n const str = String(thing);\n if (typeof thing === \"number\") return str.replace(/^(-)?0\\./, \"$1.\");\n if (typeof thing === \"bigint\") return thing + \"n\";\n return str;\n}\nconst DERIVED = 1 << 1;\nconst EFFECT = 1 << 2;\nconst RENDER_EFFECT = 1 << 3;\nconst MANAGED_EFFECT = 1 << 24;\nconst BLOCK_EFFECT = 1 << 4;\nconst BRANCH_EFFECT = 1 << 5;\nconst ROOT_EFFECT = 1 << 6;\nconst BOUNDARY_EFFECT = 1 << 7;\nconst CONNECTED = 1 << 9;\nconst CLEAN = 1 << 10;\nconst DIRTY = 1 << 11;\nconst MAYBE_DIRTY = 1 << 12;\nconst INERT = 1 << 13;\nconst DESTROYED = 1 << 14;\nconst EFFECT_RAN = 1 << 15;\nconst EFFECT_TRANSPARENT = 1 << 16;\nconst EAGER_EFFECT = 1 << 17;\nconst HEAD_EFFECT = 1 << 18;\nconst EFFECT_PRESERVED = 1 << 19;\nconst USER_EFFECT = 1 << 20;\nconst WAS_MARKED = 1 << 15;\nconst REACTION_IS_UPDATING = 1 << 21;\nconst ASYNC = 1 << 22;\nconst ERROR_VALUE = 1 << 23;\nconst STATE_SYMBOL = /* @__PURE__ */ Symbol(\"$state\");\nconst LEGACY_PROPS = /* @__PURE__ */ Symbol(\"legacy props\");\nconst STALE_REACTION = new class StaleReactionError extends Error {\n name = \"StaleReactionError\";\n message = \"The reaction that called `getAbortSignal()` was re-run or destroyed\";\n}();\nconst COMMENT_NODE = 8;\nfunction lifecycle_outside_component(name) {\n {\n throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);\n }\n}\nconst HYDRATION_START = \"[\";\nconst HYDRATION_START_ELSE = \"[!\";\nconst HYDRATION_END = \"]\";\nconst HYDRATION_ERROR = {};\nconst ELEMENT_IS_NAMESPACED = 1;\nconst ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\nconst ELEMENT_IS_INPUT = 1 << 2;\nconst UNINITIALIZED = /* @__PURE__ */ Symbol();\nconst DOM_BOOLEAN_ATTRIBUTES = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\",\n \"webkitdirectory\",\n \"defer\",\n \"disablepictureinpicture\",\n \"disableremoteplayback\"\n];\nfunction is_boolean_attribute(name) {\n return DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\nconst PASSIVE_EVENTS = [\"touchstart\", \"touchmove\"];\nfunction is_passive_event(name) {\n return PASSIVE_EVENTS.includes(name);\n}\nconst ATTR_REGEX = /[&\"<]/g;\nconst CONTENT_REGEX = /[&<]/g;\nfunction escape_html(value, is_attr) {\n const str = String(value ?? \"\");\n const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n pattern.lastIndex = 0;\n let escaped2 = \"\";\n let last = 0;\n while (pattern.test(str)) {\n const i = pattern.lastIndex - 1;\n const ch = str[i];\n escaped2 += str.substring(last, i) + (ch === \"&\" ? \"&\" : ch === '\"' ? \""\" : \"<\");\n last = i + 1;\n }\n return escaped2 + str.substring(last);\n}\nfunction r(e) {\n var t, f, n = \"\";\n if (\"string\" == typeof e || \"number\" == typeof e) n += e;\n else if (\"object\" == typeof e) if (Array.isArray(e)) {\n var o = e.length;\n for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += \" \"), n += f);\n } else for (f in e) e[f] && (n && (n += \" \"), n += f);\n return n;\n}\nfunction clsx$1() {\n for (var e, t, f = 0, n = \"\", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += \" \"), n += t);\n return n;\n}\nconst replacements = {\n translate: /* @__PURE__ */ new Map([\n [true, \"yes\"],\n [false, \"no\"]\n ])\n};\nfunction attr(name, value, is_boolean = false) {\n if (name === \"hidden\" && value !== \"until-found\") {\n is_boolean = true;\n }\n if (value == null || !value && is_boolean) return \"\";\n const normalized = name in replacements && replacements[name].get(value) || value;\n const assignment = is_boolean ? \"\" : `=\"${escape_html(normalized, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction clsx(value) {\n if (typeof value === \"object\") {\n return clsx$1(value);\n } else {\n return value ?? \"\";\n }\n}\nconst whitespace = [...\" \t\\n\\r\\f \\v\\uFEFF\"];\nfunction to_class(value, hash, directives) {\n var classname = value == null ? \"\" : \"\" + value;\n if (hash) {\n classname = classname ? classname + \" \" + hash : hash;\n }\n if (directives) {\n for (var key in directives) {\n if (directives[key]) {\n classname = classname ? classname + \" \" + key : key;\n } else if (classname.length) {\n var len = key.length;\n var a = 0;\n while ((a = classname.indexOf(key, a)) >= 0) {\n var b = a + len;\n if ((a === 0 || whitespace.includes(classname[a - 1])) && (b === classname.length || whitespace.includes(classname[b]))) {\n classname = (a === 0 ? \"\" : classname.substring(0, a)) + classname.substring(b + 1);\n } else {\n a = b;\n }\n }\n }\n }\n }\n return classname === \"\" ? null : classname;\n}\nfunction append_styles(styles, important = false) {\n var separator = important ? \" !important;\" : \";\";\n var css = \"\";\n for (var key in styles) {\n var value = styles[key];\n if (value != null && value !== \"\") {\n css += \" \" + key + \": \" + value + separator;\n }\n }\n return css;\n}\nfunction to_css_name(name) {\n if (name[0] !== \"-\" || name[1] !== \"-\") {\n return name.toLowerCase();\n }\n return name;\n}\nfunction to_style(value, styles) {\n if (styles) {\n var new_style = \"\";\n var normal_styles;\n var important_styles;\n if (Array.isArray(styles)) {\n normal_styles = styles[0];\n important_styles = styles[1];\n } else {\n normal_styles = styles;\n }\n if (value) {\n value = String(value).replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, \"\").trim();\n var in_str = false;\n var in_apo = 0;\n var in_comment = false;\n var reserved_names = [];\n if (normal_styles) {\n reserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n }\n if (important_styles) {\n reserved_names.push(...Object.keys(important_styles).map(to_css_name));\n }\n var start_index = 0;\n var name_index = -1;\n const len = value.length;\n for (var i = 0; i < len; i++) {\n var c = value[i];\n if (in_comment) {\n if (c === \"/\" && value[i - 1] === \"*\") {\n in_comment = false;\n }\n } else if (in_str) {\n if (in_str === c) {\n in_str = false;\n }\n } else if (c === \"/\" && value[i + 1] === \"*\") {\n in_comment = true;\n } else if (c === '\"' || c === \"'\") {\n in_str = c;\n } else if (c === \"(\") {\n in_apo++;\n } else if (c === \")\") {\n in_apo--;\n }\n if (!in_comment && in_str === false && in_apo === 0) {\n if (c === \":\" && name_index === -1) {\n name_index = i;\n } else if (c === \";\" || i === len - 1) {\n if (name_index !== -1) {\n var name = to_css_name(value.substring(start_index, name_index).trim());\n if (!reserved_names.includes(name)) {\n if (c !== \";\") {\n i++;\n }\n var property = value.substring(start_index, i).trim();\n new_style += \" \" + property + \";\";\n }\n }\n start_index = i + 1;\n name_index = -1;\n }\n }\n }\n }\n if (normal_styles) {\n new_style += append_styles(normal_styles);\n }\n if (important_styles) {\n new_style += append_styles(important_styles, true);\n }\n new_style = new_style.trim();\n return new_style === \"\" ? null : new_style;\n }\n return value == null ? null : String(value);\n}\nconst BLOCK_OPEN = `<!--${HYDRATION_START}-->`;\nconst BLOCK_CLOSE = `<!--${HYDRATION_END}-->`;\nconst EMPTY_COMMENT = `<!---->`;\nlet controller = null;\nfunction abort() {\n controller?.abort(STALE_REACTION);\n controller = null;\n}\nfunction await_invalid() {\n const error = new Error(`await_invalid\nEncountered asynchronous work while rendering synchronously.\nhttps://svelte.dev/e/await_invalid`);\n error.name = \"Svelte error\";\n throw error;\n}\nfunction invalid_csp() {\n const error = new Error(`invalid_csp\n\\`csp.nonce\\` was set while \\`csp.hash\\` was \\`true\\`. These options cannot be used simultaneously.\nhttps://svelte.dev/e/invalid_csp`);\n error.name = \"Svelte error\";\n throw error;\n}\nfunction server_context_required() {\n const error = new Error(`server_context_required\nCould not resolve \\`render\\` context.\nhttps://svelte.dev/e/server_context_required`);\n error.name = \"Svelte error\";\n throw error;\n}\nvar ssr_context = null;\nfunction set_ssr_context(v) {\n ssr_context = v;\n}\nfunction getContext(key) {\n const context_map = get_or_init_context_map();\n const result = (\n /** @type {T} */\n context_map.get(key)\n );\n return result;\n}\nfunction setContext(key, context) {\n get_or_init_context_map().set(key, context);\n return context;\n}\nfunction get_or_init_context_map(name) {\n if (ssr_context === null) {\n lifecycle_outside_component();\n }\n return ssr_context.c ??= new Map(get_parent_context(ssr_context) || void 0);\n}\nfunction push(fn) {\n ssr_context = { p: ssr_context, c: null, r: null };\n}\nfunction pop() {\n ssr_context = /** @type {SSRContext} */\n ssr_context.p;\n}\nfunction get_parent_context(ssr_context2) {\n let parent = ssr_context2.p;\n while (parent !== null) {\n const context_map = parent.c;\n if (context_map !== null) {\n return context_map;\n }\n parent = parent.p;\n }\n return null;\n}\nfunction unresolved_hydratable(key, stack) {\n {\n console.warn(`https://svelte.dev/e/unresolved_hydratable`);\n }\n}\nfunction get_render_context() {\n const store = als?.getStore();\n {\n server_context_required();\n }\n return store;\n}\nlet als = null;\nlet text_encoder;\nlet crypto;\nasync function sha256(data) {\n text_encoder ??= new TextEncoder();\n crypto ??= globalThis.crypto?.subtle?.digest ? globalThis.crypto : (\n // @ts-ignore - we don't install node types in the prod build\n (await import(\"node:crypto\")).webcrypto\n );\n const hash_buffer = await crypto.subtle.digest(\"SHA-256\", text_encoder.encode(data));\n return base64_encode(hash_buffer);\n}\nfunction base64_encode(bytes) {\n if (globalThis.Buffer) {\n return globalThis.Buffer.from(bytes).toString(\"base64\");\n }\n let binary = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n}\nclass Renderer {\n /**\n * The contents of the renderer.\n * @type {RendererItem[]}\n */\n #out = [];\n /**\n * Any `onDestroy` callbacks registered during execution of this renderer.\n * @type {(() => void)[] | undefined}\n */\n #on_destroy = void 0;\n /**\n * Whether this renderer is a component body.\n * @type {boolean}\n */\n #is_component_body = false;\n /**\n * The type of string content that this renderer is accumulating.\n * @type {RendererType}\n */\n type;\n /** @type {Renderer | undefined} */\n #parent;\n /**\n * Asynchronous work associated with this renderer\n * @type {Promise<void> | undefined}\n */\n promise = void 0;\n /**\n * State which is associated with the content tree as a whole.\n * It will be re-exposed, uncopied, on all children.\n * @type {SSRState}\n * @readonly\n */\n global;\n /**\n * State that is local to the branch it is declared in.\n * It will be shallow-copied to all children.\n *\n * @type {{ select_value: string | undefined }}\n */\n local;\n /**\n * @param {SSRState} global\n * @param {Renderer | undefined} [parent]\n */\n constructor(global, parent) {\n this.#parent = parent;\n this.global = global;\n this.local = parent ? { ...parent.local } : { select_value: void 0 };\n this.type = parent ? parent.type : \"body\";\n }\n /**\n * @param {(renderer: Renderer) => void} fn\n */\n head(fn) {\n const head2 = new Renderer(this.global, this);\n head2.type = \"head\";\n this.#out.push(head2);\n head2.child(fn);\n }\n /**\n * @param {Array<Promise<void>>} blockers\n * @param {(renderer: Renderer) => void} fn\n */\n async_block(blockers, fn) {\n this.#out.push(BLOCK_OPEN);\n this.async(blockers, fn);\n this.#out.push(BLOCK_CLOSE);\n }\n /**\n * @param {Array<Promise<void>>} blockers\n * @param {(renderer: Renderer) => void} fn\n */\n async(blockers, fn) {\n let callback = fn;\n if (blockers.length > 0) {\n const context = ssr_context;\n callback = (renderer) => {\n return Promise.all(blockers).then(() => {\n const previous_context = ssr_context;\n try {\n set_ssr_context(context);\n return fn(renderer);\n } finally {\n set_ssr_context(previous_context);\n }\n });\n };\n }\n this.child(callback);\n }\n /**\n * @param {Array<() => void>} thunks\n */\n run(thunks) {\n const context = ssr_context;\n let promise = Promise.resolve(thunks[0]());\n const promises = [promise];\n for (const fn of thunks.slice(1)) {\n promise = promise.then(() => {\n const previous_context = ssr_context;\n set_ssr_context(context);\n try {\n return fn();\n } finally {\n set_ssr_context(previous_context);\n }\n });\n promises.push(promise);\n }\n return promises;\n }\n /**\n * Create a child renderer. The child renderer inherits the state from the parent,\n * but has its own content.\n * @param {(renderer: Renderer) => MaybePromise<void>} fn\n */\n child(fn) {\n const child = new Renderer(this.global, this);\n this.#out.push(child);\n const parent = ssr_context;\n set_ssr_context({\n ...ssr_context,\n p: parent,\n c: null,\n r: child\n });\n const result = fn(child);\n set_ssr_context(parent);\n if (result instanceof Promise) {\n if (child.global.mode === \"sync\") {\n await_invalid();\n }\n result.catch(() => {\n });\n child.promise = result;\n }\n return child;\n }\n /**\n * Create a component renderer. The component renderer inherits the state from the parent,\n * but has its own content. It is treated as an ordering boundary for ondestroy callbacks.\n * @param {(renderer: Renderer) => MaybePromise<void>} fn\n * @param {Function} [component_fn]\n * @returns {void}\n */\n component(fn, component_fn) {\n push();\n const child = this.child(fn);\n child.#is_component_body = true;\n pop();\n }\n /**\n * @param {Record<string, any>} attrs\n * @param {(renderer: Renderer) => void} fn\n * @param {string | undefined} [css_hash]\n * @param {Record<string, boolean> | undefined} [classes]\n * @param {Record<string, string> | undefined} [styles]\n * @param {number | undefined} [flags]\n * @param {boolean | undefined} [is_rich]\n * @returns {void}\n */\n select(attrs, fn, css_hash, classes, styles, flags, is_rich) {\n const { value, ...select_attrs } = attrs;\n this.push(`<select${attributes(select_attrs, css_hash, classes, styles, flags)}>`);\n this.child((renderer) => {\n renderer.local.select_value = value;\n fn(renderer);\n });\n this.push(`${is_rich ? \"<!>\" : \"\"}</select>`);\n }\n /**\n * @param {Record<string, any>} attrs\n * @param {string | number | boolean | ((renderer: Renderer) => void)} body\n * @param {string | undefined} [css_hash]\n * @param {Record<string, boolean> | undefined} [classes]\n * @param {Record<string, string> | undefined} [styles]\n * @param {number | undefined} [flags]\n * @param {boolean | undefined} [is_rich]\n */\n option(attrs, body, css_hash, classes, styles, flags, is_rich) {\n this.#out.push(`<option${attributes(attrs, css_hash, classes, styles, flags)}`);\n const close = (renderer, value, { head: head2, body: body2 }) => {\n if (\"value\" in attrs) {\n value = attrs.value;\n }\n if (value === this.local.select_value) {\n renderer.#out.push(\" selected\");\n }\n renderer.#out.push(`>${body2}${is_rich ? \"<!>\" : \"\"}</option>`);\n if (head2) {\n renderer.head((child) => child.push(head2));\n }\n };\n if (typeof body === \"function\") {\n this.child((renderer) => {\n const r2 = new Renderer(this.global, this);\n body(r2);\n if (this.global.mode === \"async\") {\n return r2.#collect_content_async().then((content) => {\n close(renderer, content.body.replaceAll(\"<!---->\", \"\"), content);\n });\n } else {\n const content = r2.#collect_content();\n close(renderer, content.body.replaceAll(\"<!---->\", \"\"), content);\n }\n });\n } else {\n close(this, body, { body });\n }\n }\n /**\n * @param {(renderer: Renderer) => void} fn\n */\n title(fn) {\n const path = this.get_path();\n const close = (head2) => {\n this.global.set_title(head2, path);\n };\n this.child((renderer) => {\n const r2 = new Renderer(renderer.global, renderer);\n fn(r2);\n if (renderer.global.mode === \"async\") {\n return r2.#collect_content_async().then((content) => {\n close(content.head);\n });\n } else {\n const content = r2.#collect_content();\n close(content.head);\n }\n });\n }\n /**\n * @param {string | (() => Promise<string>)} content\n */\n push(content) {\n if (typeof content === \"function\") {\n this.child(async (renderer) => renderer.push(await content()));\n } else {\n this.#out.push(content);\n }\n }\n /**\n * @param {() => void} fn\n */\n on_destroy(fn) {\n (this.#on_destroy ??= []).push(fn);\n }\n /**\n * @returns {number[]}\n */\n get_path() {\n return this.#parent ? [...this.#parent.get_path(), this.#parent.#out.indexOf(this)] : [];\n }\n /**\n * @deprecated this is needed for legacy component bindings\n */\n copy() {\n const copy = new Renderer(this.global, this.#parent);\n copy.#out = this.#out.map((item) => item instanceof Renderer ? item.copy() : item);\n copy.promise = this.promise;\n return copy;\n }\n /**\n * @param {Renderer} other\n * @deprecated this is needed for legacy component bindings\n */\n subsume(other) {\n if (this.global.mode !== other.global.mode) {\n throw new Error(\n \"invariant: A renderer cannot switch modes. If you're seeing this, there's a compiler bug. File an issue!\"\n );\n }\n this.local = other.local;\n this.#out = other.#out.map((item) => {\n if (item instanceof Renderer) {\n item.subsume(item);\n }\n return item;\n });\n this.promise = other.promise;\n this.type = other.type;\n }\n get length() {\n return this.#out.length;\n }\n /**\n * Only available on the server and when compiling with the `server` option.\n * Takes a component and returns an object with `body` and `head` properties on it, which you can use to populate the HTML when server-rendering your app.\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string; csp?: Csp }} [options]\n * @returns {RenderOutput}\n */\n static render(component, options = {}) {\n let sync;\n const result = (\n /** @type {RenderOutput} */\n {}\n );\n Object.defineProperties(result, {\n html: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).body;\n }\n },\n head: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).head;\n }\n },\n body: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).body;\n }\n },\n hashes: {\n value: {\n script: \"\"\n }\n },\n then: {\n value: (\n /**\n * this is not type-safe, but honestly it's the best I can do right now, and it's a straightforward function.\n *\n * @template TResult1\n * @template [TResult2=never]\n * @param { (value: SyncRenderOutput) => TResult1 } onfulfilled\n * @param { (reason: unknown) => TResult2 } onrejected\n */\n (onfulfilled, onrejected) => {\n {\n const result2 = sync ??= Renderer.#render(component, options);\n const user_result = onfulfilled({\n head: result2.head,\n body: result2.body,\n html: result2.body,\n hashes: { script: [] }\n });\n return Promise.resolve(user_result);\n }\n }\n )\n }\n });\n return result;\n }\n /**\n * Collect all of the `onDestroy` callbacks registered during rendering. In an async context, this is only safe to call\n * after awaiting `collect_async`.\n *\n * Child renderers are \"porous\" and don't affect execution order, but component body renderers\n * create ordering boundaries. Within a renderer, callbacks run in order until hitting a component boundary.\n * @returns {Iterable<() => void>}\n */\n *#collect_on_destroy() {\n for (const component of this.#traverse_components()) {\n yield* component.#collect_ondestroy();\n }\n }\n /**\n * Performs a depth-first search of renderers, yielding the deepest components first, then additional components as we backtrack up the tree.\n * @returns {Iterable<Renderer>}\n */\n *#traverse_components() {\n for (const child of this.#out) {\n if (typeof child !== \"string\") {\n yield* child.#traverse_components();\n }\n }\n if (this.#is_component_body) {\n yield this;\n }\n }\n /**\n * @returns {Iterable<() => void>}\n */\n *#collect_ondestroy() {\n if (this.#on_destroy) {\n for (const fn of this.#on_destroy) {\n yield fn;\n }\n }\n for (const child of this.#out) {\n if (child instanceof Renderer && !child.#is_component_body) {\n yield* child.#collect_ondestroy();\n }\n }\n }\n /**\n * Render a component. Throws if any of the children are performing asynchronous work.\n *\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string }} options\n * @returns {AccumulatedContent}\n */\n static #render(component, options) {\n var previous_context = ssr_context;\n try {\n const renderer = Renderer.#open_render(\"sync\", component, options);\n const content = renderer.#collect_content();\n return Renderer.#close_render(content, renderer);\n } finally {\n abort();\n set_ssr_context(previous_context);\n }\n }\n /**\n * Render a component.\n *\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string; csp?: Csp }} options\n * @returns {Promise<AccumulatedContent & { hashes: { script: Sha256Source[] } }>}\n */\n static async #render_async(component, options) {\n const previous_context = ssr_context;\n try {\n const renderer = Renderer.#open_render(\"async\", component, options);\n const content = await renderer.#collect_content_async();\n const hydratables = await renderer.#collect_hydratables();\n if (hydratables !== null) {\n content.head = hydratables + content.head;\n }\n return Renderer.#close_render(content, renderer);\n } finally {\n set_ssr_context(previous_context);\n abort();\n }\n }\n /**\n * Collect all of the code from the `out` array and return it as a string, or a promise resolving to a string.\n * @param {AccumulatedContent} content\n * @returns {AccumulatedContent}\n */\n #collect_content(content = { head: \"\", body: \"\" }) {\n for (const item of this.#out) {\n if (typeof item === \"string\") {\n content[this.type] += item;\n } else if (item instanceof Renderer) {\n item.#collect_content(content);\n }\n }\n return content;\n }\n /**\n * Collect all of the code from the `out` array and return it as a string.\n * @param {AccumulatedContent} content\n * @returns {Promise<AccumulatedContent>}\n */\n async #collect_content_async(content = { head: \"\", body: \"\" }) {\n await this.promise;\n for (const item of this.#out) {\n if (typeof item === \"string\") {\n content[this.type] += item;\n } else if (item instanceof Renderer) {\n await item.#collect_content_async(content);\n }\n }\n return content;\n }\n async #collect_hydratables() {\n const ctx = get_render_context().hydratable;\n for (const [_, key] of ctx.unresolved_promises) {\n unresolved_hydratable(key, ctx.lookup.get(key)?.stack ?? \"<missing stack trace>\");\n }\n for (const comparison of ctx.comparisons) {\n await comparison;\n }\n return await this.#hydratable_block(ctx);\n }\n /**\n * @template {Record<string, any>} Props\n * @param {'sync' | 'async'} mode\n * @param {import('svelte').Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string; csp?: Csp }} options\n * @returns {Renderer}\n */\n static #open_render(mode, component, options) {\n const renderer = new Renderer(\n new SSRState(mode, options.idPrefix ? options.idPrefix + \"-\" : \"\", options.csp)\n );\n renderer.push(BLOCK_OPEN);\n if (options.context) {\n push();\n ssr_context.c = options.context;\n ssr_context.r = renderer;\n }\n component(renderer, options.props ?? {});\n if (options.context) {\n pop();\n }\n renderer.push(BLOCK_CLOSE);\n return renderer;\n }\n /**\n * @param {AccumulatedContent} content\n * @param {Renderer} renderer\n * @returns {AccumulatedContent & { hashes: { script: Sha256Source[] } }}\n */\n static #close_render(content, renderer) {\n for (const cleanup of renderer.#collect_on_destroy()) {\n cleanup();\n }\n let head2 = content.head + renderer.global.get_title();\n let body = content.body;\n for (const { hash, code } of renderer.global.css) {\n head2 += `<style id=\"${hash}\">${code}</style>`;\n }\n return {\n head: head2,\n body,\n hashes: {\n script: renderer.global.csp.script_hashes\n }\n };\n }\n /**\n * @param {HydratableContext} ctx\n */\n async #hydratable_block(ctx) {\n if (ctx.lookup.size === 0) {\n return null;\n }\n let entries = [];\n let has_promises = false;\n for (const [k, v] of ctx.lookup) {\n if (v.promises) {\n has_promises = true;\n for (const p of v.promises) await p;\n }\n entries.push(`[${uneval(k)},${v.serialized}]`);\n }\n let prelude = `const h = (window.__svelte ??= {}).h ??= new Map();`;\n if (has_promises) {\n prelude = `const r = (v) => Promise.resolve(v);\n\t\t\t\t${prelude}`;\n }\n const body = `\n\t\t\t{\n\t\t\t\t${prelude}\n\n\t\t\t\tfor (const [k, v] of [\n\t\t\t\t\t${entries.join(\",\\n\t\t\t\t\t\")}\n\t\t\t\t]) {\n\t\t\t\t\th.set(k, v);\n\t\t\t\t}\n\t\t\t}\n\t\t`;\n let csp_attr = \"\";\n if (this.global.csp.nonce) {\n csp_attr = ` nonce=\"${this.global.csp.nonce}\"`;\n } else if (this.global.csp.hash) {\n const hash = await sha256(body);\n this.global.csp.script_hashes.push(`sha256-${hash}`);\n }\n return `\n\t\t<script${csp_attr}>${body}<\\/script>`;\n }\n}\nclass SSRState {\n /** @readonly @type {Csp & { script_hashes: Sha256Source[] }} */\n csp;\n /** @readonly @type {'sync' | 'async'} */\n mode;\n /** @readonly @type {() => string} */\n uid;\n /** @readonly @type {Set<{ hash: string; code: string }>} */\n css = /* @__PURE__ */ new Set();\n /** @type {{ path: number[], value: string }} */\n #title = { path: [], value: \"\" };\n /**\n * @param {'sync' | 'async'} mode\n * @param {string} id_prefix\n * @param {Csp} csp\n */\n constructor(mode, id_prefix = \"\", csp = { hash: false }) {\n this.mode = mode;\n this.csp = { ...csp, script_hashes: [] };\n let uid = 1;\n this.uid = () => `${id_prefix}s${uid++}`;\n }\n get_title() {\n return this.#title.value;\n }\n /**\n * Performs a depth-first (lexicographic) comparison using the path. Rejects sets\n * from earlier than or equal to the current value.\n * @param {string} value\n * @param {number[]} path\n */\n set_title(value, path) {\n const current = this.#title.path;\n let i = 0;\n let l = Math.min(path.length, current.length);\n while (i < l && path[i] === current[i]) i += 1;\n if (path[i] === void 0) return;\n if (current[i] === void 0 || path[i] > current[i]) {\n this.#title.path = path;\n this.#title.value = value;\n }\n }\n}\nconst INVALID_ATTR_NAME_CHAR_REGEX = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\nfunction render(component, options = {}) {\n if (options.csp?.hash && options.csp.nonce) {\n invalid_csp();\n }\n return Renderer.render(\n /** @type {Component<Props>} */\n component,\n options\n );\n}\nfunction head(hash, renderer, fn) {\n renderer.head((renderer2) => {\n renderer2.push(`<!--${hash}-->`);\n renderer2.child(fn);\n renderer2.push(EMPTY_COMMENT);\n });\n}\nfunction attributes(attrs, css_hash, classes, styles, flags = 0) {\n if (styles) {\n attrs.style = to_style(attrs.style, styles);\n }\n if (attrs.class) {\n attrs.class = clsx(attrs.class);\n }\n if (css_hash || classes) {\n attrs.class = to_class(attrs.class, css_hash, classes);\n }\n let attr_str = \"\";\n let name;\n const is_html = (flags & ELEMENT_IS_NAMESPACED) === 0;\n const lowercase = (flags & ELEMENT_PRESERVE_ATTRIBUTE_CASE) === 0;\n const is_input = (flags & ELEMENT_IS_INPUT) !== 0;\n for (name in attrs) {\n if (typeof attrs[name] === \"function\") continue;\n if (name[0] === \"$\" && name[1] === \"$\") continue;\n if (INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;\n var value = attrs[name];\n if (lowercase) {\n name = name.toLowerCase();\n }\n if (is_input) {\n if (name === \"defaultvalue\" || name === \"defaultchecked\") {\n name = name === \"defaultvalue\" ? \"value\" : \"checked\";\n if (attrs[name]) continue;\n }\n }\n attr_str += attr(name, value, is_html && is_boolean_attribute(name));\n }\n return attr_str;\n}\nfunction stringify(value) {\n return typeof value === \"string\" ? value : value == null ? \"\" : value + \"\";\n}\nfunction attr_class(value, hash, directives) {\n var result = to_class(value, hash, directives);\n return result ? ` class=\"${escape_html(result, true)}\"` : \"\";\n}\nfunction ensure_array_like(array_like_or_iterator) {\n if (array_like_or_iterator) {\n return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);\n }\n return [];\n}\nexport {\n ASYNC as A,\n BOUNDARY_EFFECT as B,\n COMMENT_NODE as C,\n DIRTY as D,\n ERROR_VALUE as E,\n attr_class as F,\n stringify as G,\n HYDRATION_ERROR as H,\n INERT as I,\n head as J,\n getContext as K,\n LEGACY_PROPS as L,\n MAYBE_DIRTY as M,\n ensure_array_like as N,\n ROOT_EFFECT as R,\n STATE_SYMBOL as S,\n UNINITIALIZED as U,\n WAS_MARKED as W,\n HYDRATION_END as a,\n HYDRATION_START as b,\n HYDRATION_START_ELSE as c,\n EFFECT_RAN as d,\n CONNECTED as e,\n CLEAN as f,\n DERIVED as g,\n EFFECT as h,\n BLOCK_EFFECT as i,\n BRANCH_EFFECT as j,\n RENDER_EFFECT as k,\n MANAGED_EFFECT as l,\n DESTROYED as m,\n HEAD_EFFECT as n,\n EFFECT_TRANSPARENT as o,\n EFFECT_PRESERVED as p,\n EAGER_EFFECT as q,\n STALE_REACTION as r,\n USER_EFFECT as s,\n REACTION_IS_UPDATING as t,\n uneval as u,\n is_passive_event as v,\n render as w,\n setContext as x,\n attr as y,\n escape_html as z\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
const baseLocale = "en";
|
|
2
|
+
const locales = (
|
|
3
|
+
/** @type {const} */
|
|
4
|
+
["en", "es", "ru", "ua"]
|
|
5
|
+
);
|
|
6
|
+
const cookieName = "PARAGLIDE_LOCALE";
|
|
7
|
+
const strategy = [
|
|
8
|
+
"cookie",
|
|
9
|
+
"preferredLanguage",
|
|
10
|
+
"globalVariable",
|
|
11
|
+
"baseLocale"
|
|
12
|
+
];
|
|
13
|
+
let serverAsyncLocalStorage = void 0;
|
|
14
|
+
function overwriteServerAsyncLocalStorage(value) {
|
|
15
|
+
serverAsyncLocalStorage = value;
|
|
16
|
+
}
|
|
17
|
+
globalThis.__paraglide = {};
|
|
18
|
+
let _locale;
|
|
19
|
+
let localeInitiallySet = false;
|
|
20
|
+
let getLocale = () => {
|
|
21
|
+
let locale;
|
|
22
|
+
if (serverAsyncLocalStorage) {
|
|
23
|
+
const locale2 = serverAsyncLocalStorage?.getStore()?.locale;
|
|
24
|
+
if (locale2) {
|
|
25
|
+
return locale2;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const strat of strategy) {
|
|
29
|
+
if (strat === "cookie") {
|
|
30
|
+
locale = extractLocaleFromCookie();
|
|
31
|
+
} else if (strat === "baseLocale") {
|
|
32
|
+
locale = baseLocale;
|
|
33
|
+
} else if (strat === "globalVariable" && _locale !== void 0) {
|
|
34
|
+
locale = _locale;
|
|
35
|
+
} else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {
|
|
36
|
+
const handler = customClientStrategies.get(strat);
|
|
37
|
+
if (handler) {
|
|
38
|
+
const result = handler.getLocale();
|
|
39
|
+
if (result instanceof Promise) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
locale = result;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (locale !== void 0) {
|
|
46
|
+
const asserted = assertIsLocale(locale);
|
|
47
|
+
if (!localeInitiallySet) {
|
|
48
|
+
_locale = asserted;
|
|
49
|
+
localeInitiallySet = true;
|
|
50
|
+
setLocale(asserted, { reload: false });
|
|
51
|
+
}
|
|
52
|
+
return asserted;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
throw new Error("No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found");
|
|
56
|
+
};
|
|
57
|
+
let setLocale = (newLocale, options) => {
|
|
58
|
+
({
|
|
59
|
+
...options
|
|
60
|
+
});
|
|
61
|
+
let currentLocale;
|
|
62
|
+
try {
|
|
63
|
+
currentLocale = getLocale();
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
const customSetLocalePromises = [];
|
|
67
|
+
for (const strat of strategy) {
|
|
68
|
+
if (strat === "globalVariable") {
|
|
69
|
+
_locale = newLocale;
|
|
70
|
+
} else if (strat === "cookie") {
|
|
71
|
+
{
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
} else if (strat === "baseLocale") {
|
|
75
|
+
continue;
|
|
76
|
+
} else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {
|
|
77
|
+
const handler = customClientStrategies.get(strat);
|
|
78
|
+
if (handler) {
|
|
79
|
+
let result = handler.setLocale(newLocale);
|
|
80
|
+
if (result instanceof Promise) {
|
|
81
|
+
result = result.catch((error) => {
|
|
82
|
+
throw new Error(`Custom strategy "${strat}" setLocale failed.`, {
|
|
83
|
+
cause: error
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
customSetLocalePromises.push(result);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (customSetLocalePromises.length) {
|
|
92
|
+
return Promise.all(customSetLocalePromises).then(() => {
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return;
|
|
96
|
+
};
|
|
97
|
+
let getUrlOrigin = () => {
|
|
98
|
+
if (serverAsyncLocalStorage) {
|
|
99
|
+
return serverAsyncLocalStorage.getStore()?.origin ?? "http://fallback.com";
|
|
100
|
+
} else if (typeof window !== "undefined") {
|
|
101
|
+
return window.location.origin;
|
|
102
|
+
}
|
|
103
|
+
return "http://fallback.com";
|
|
104
|
+
};
|
|
105
|
+
function isLocale(locale) {
|
|
106
|
+
if (typeof locale !== "string")
|
|
107
|
+
return false;
|
|
108
|
+
return !locale ? false : locales.some((item) => item.toLowerCase() === locale.toLowerCase());
|
|
109
|
+
}
|
|
110
|
+
function assertIsLocale(input) {
|
|
111
|
+
if (typeof input !== "string") {
|
|
112
|
+
throw new Error(`Invalid locale: ${input}. Expected a string.`);
|
|
113
|
+
}
|
|
114
|
+
const lowerInput = input.toLowerCase();
|
|
115
|
+
const matchedLocale = locales.find((item) => item.toLowerCase() === lowerInput);
|
|
116
|
+
if (!matchedLocale) {
|
|
117
|
+
throw new Error(`Invalid locale: ${input}. Expected one of: ${locales.join(", ")}`);
|
|
118
|
+
}
|
|
119
|
+
return matchedLocale;
|
|
120
|
+
}
|
|
121
|
+
const extractLocaleFromRequest = (request) => {
|
|
122
|
+
let locale;
|
|
123
|
+
for (const strat of strategy) {
|
|
124
|
+
if (strat === "cookie") {
|
|
125
|
+
locale = request.headers.get("cookie")?.split("; ").find((c) => c.startsWith(cookieName + "="))?.split("=")[1];
|
|
126
|
+
} else if (strat === "preferredLanguage") {
|
|
127
|
+
locale = extractLocaleFromHeader(request);
|
|
128
|
+
} else if (strat === "globalVariable") {
|
|
129
|
+
locale = _locale;
|
|
130
|
+
} else if (strat === "baseLocale") {
|
|
131
|
+
return baseLocale;
|
|
132
|
+
} else if (strat === "localStorage") {
|
|
133
|
+
continue;
|
|
134
|
+
} else if (isCustomStrategy(strat)) {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (locale !== void 0) {
|
|
138
|
+
if (!isLocale(locale)) {
|
|
139
|
+
locale = void 0;
|
|
140
|
+
} else {
|
|
141
|
+
return assertIsLocale(locale);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
throw new Error("No locale found. There is an error in your strategy. Try adding 'baseLocale' as the very last strategy. Read more here https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found");
|
|
146
|
+
};
|
|
147
|
+
const extractLocaleFromRequestAsync = async (request) => {
|
|
148
|
+
let locale;
|
|
149
|
+
for (const strat of strategy) {
|
|
150
|
+
if (isCustomStrategy(strat) && customServerStrategies.has(strat)) {
|
|
151
|
+
const handler = customServerStrategies.get(strat);
|
|
152
|
+
if (handler) {
|
|
153
|
+
locale = await handler.getLocale(request);
|
|
154
|
+
}
|
|
155
|
+
if (locale !== void 0 && isLocale(locale)) {
|
|
156
|
+
return assertIsLocale(locale);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
locale = extractLocaleFromRequest(request);
|
|
161
|
+
return assertIsLocale(locale);
|
|
162
|
+
};
|
|
163
|
+
function extractLocaleFromCookie() {
|
|
164
|
+
if (typeof document === "undefined" || !document.cookie) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const match = document.cookie.match(new RegExp(`(^| )${cookieName}=([^;]+)`));
|
|
168
|
+
const locale = match?.[2];
|
|
169
|
+
if (isLocale(locale)) {
|
|
170
|
+
return locale;
|
|
171
|
+
}
|
|
172
|
+
return void 0;
|
|
173
|
+
}
|
|
174
|
+
function extractLocaleFromHeader(request) {
|
|
175
|
+
const acceptLanguageHeader = request.headers.get("accept-language");
|
|
176
|
+
if (acceptLanguageHeader) {
|
|
177
|
+
const languages = acceptLanguageHeader.split(",").map((lang) => {
|
|
178
|
+
const [tag, q = "1"] = lang.trim().split(";q=");
|
|
179
|
+
const baseTag = tag?.split("-")[0]?.toLowerCase();
|
|
180
|
+
return {
|
|
181
|
+
fullTag: tag?.toLowerCase(),
|
|
182
|
+
baseTag,
|
|
183
|
+
q: Number(q)
|
|
184
|
+
};
|
|
185
|
+
}).sort((a, b) => b.q - a.q);
|
|
186
|
+
for (const lang of languages) {
|
|
187
|
+
if (isLocale(lang.fullTag)) {
|
|
188
|
+
return lang.fullTag;
|
|
189
|
+
} else if (isLocale(lang.baseTag)) {
|
|
190
|
+
return lang.baseTag;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return void 0;
|
|
194
|
+
}
|
|
195
|
+
return void 0;
|
|
196
|
+
}
|
|
197
|
+
let cachedUrl;
|
|
198
|
+
let cachedLocale;
|
|
199
|
+
function extractLocaleFromUrl(url) {
|
|
200
|
+
const urlString = typeof url === "string" ? url : url.href;
|
|
201
|
+
if (cachedUrl === urlString) {
|
|
202
|
+
return cachedLocale;
|
|
203
|
+
}
|
|
204
|
+
let result;
|
|
205
|
+
{
|
|
206
|
+
result = defaultUrlPatternExtractLocale(url);
|
|
207
|
+
}
|
|
208
|
+
cachedUrl = urlString;
|
|
209
|
+
cachedLocale = result;
|
|
210
|
+
return result;
|
|
211
|
+
}
|
|
212
|
+
function defaultUrlPatternExtractLocale(url) {
|
|
213
|
+
const urlObj = new URL(url, "http://dummy.com");
|
|
214
|
+
const pathSegments = urlObj.pathname.split("/").filter(Boolean);
|
|
215
|
+
if (pathSegments.length > 0) {
|
|
216
|
+
const potentialLocale = pathSegments[0];
|
|
217
|
+
if (isLocale(potentialLocale)) {
|
|
218
|
+
return potentialLocale;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return baseLocale;
|
|
222
|
+
}
|
|
223
|
+
function localizeUrl(url, options) {
|
|
224
|
+
{
|
|
225
|
+
return localizeUrlDefaultPattern(url, options);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
function localizeUrlDefaultPattern(url, options) {
|
|
229
|
+
const urlObj = typeof url === "string" ? new URL(url, getUrlOrigin()) : new URL(url);
|
|
230
|
+
const locale = options?.locale ?? getLocale();
|
|
231
|
+
const currentLocale = extractLocaleFromUrl(urlObj);
|
|
232
|
+
if (currentLocale === locale) {
|
|
233
|
+
return urlObj;
|
|
234
|
+
}
|
|
235
|
+
const pathSegments = urlObj.pathname.split("/").filter(Boolean);
|
|
236
|
+
if (pathSegments.length > 0 && isLocale(pathSegments[0])) {
|
|
237
|
+
pathSegments.shift();
|
|
238
|
+
}
|
|
239
|
+
if (locale === baseLocale) {
|
|
240
|
+
urlObj.pathname = "/" + pathSegments.join("/");
|
|
241
|
+
} else {
|
|
242
|
+
urlObj.pathname = "/" + locale + "/" + pathSegments.join("/");
|
|
243
|
+
}
|
|
244
|
+
return urlObj;
|
|
245
|
+
}
|
|
246
|
+
function deLocalizeUrl(url) {
|
|
247
|
+
{
|
|
248
|
+
return deLocalizeUrlDefaultPattern(url);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function deLocalizeUrlDefaultPattern(url) {
|
|
252
|
+
const urlObj = typeof url === "string" ? new URL(url, getUrlOrigin()) : new URL(url);
|
|
253
|
+
const pathSegments = urlObj.pathname.split("/").filter(Boolean);
|
|
254
|
+
if (pathSegments.length > 0 && isLocale(pathSegments[0])) {
|
|
255
|
+
urlObj.pathname = "/" + pathSegments.slice(1).join("/");
|
|
256
|
+
}
|
|
257
|
+
return urlObj;
|
|
258
|
+
}
|
|
259
|
+
async function shouldRedirect(input = {}) {
|
|
260
|
+
const locale = (
|
|
261
|
+
/** @type {ReturnType<typeof assertIsLocale>} */
|
|
262
|
+
await resolveLocale(input)
|
|
263
|
+
);
|
|
264
|
+
if (!strategy.includes("url")) {
|
|
265
|
+
return { shouldRedirect: false, locale, redirectUrl: void 0 };
|
|
266
|
+
}
|
|
267
|
+
const currentUrl = resolveUrl(input);
|
|
268
|
+
const localizedUrl = localizeUrl(currentUrl.href, { locale });
|
|
269
|
+
const shouldRedirectToLocalizedUrl = normalizeUrl(localizedUrl.href) !== normalizeUrl(currentUrl.href);
|
|
270
|
+
return {
|
|
271
|
+
shouldRedirect: shouldRedirectToLocalizedUrl,
|
|
272
|
+
locale,
|
|
273
|
+
redirectUrl: shouldRedirectToLocalizedUrl ? localizedUrl : void 0
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
async function resolveLocale(input) {
|
|
277
|
+
if (input.locale) {
|
|
278
|
+
return assertIsLocale(input.locale);
|
|
279
|
+
}
|
|
280
|
+
if (input.request) {
|
|
281
|
+
return extractLocaleFromRequestAsync(input.request);
|
|
282
|
+
}
|
|
283
|
+
return getLocale();
|
|
284
|
+
}
|
|
285
|
+
function resolveUrl(input) {
|
|
286
|
+
if (input.request) {
|
|
287
|
+
return new URL(input.request.url);
|
|
288
|
+
}
|
|
289
|
+
if (input.url instanceof URL) {
|
|
290
|
+
return new URL(input.url.href);
|
|
291
|
+
}
|
|
292
|
+
if (typeof input.url === "string") {
|
|
293
|
+
return new URL(input.url, getUrlOrigin());
|
|
294
|
+
}
|
|
295
|
+
if (typeof window !== "undefined" && window?.location?.href) {
|
|
296
|
+
return new URL(window.location.href);
|
|
297
|
+
}
|
|
298
|
+
throw new Error("shouldRedirect() requires either a request, an absolute URL, or must run in a browser environment.");
|
|
299
|
+
}
|
|
300
|
+
function normalizeUrl(url) {
|
|
301
|
+
const urlObj = new URL(url);
|
|
302
|
+
urlObj.pathname = urlObj.pathname.replace(/\/$/, "");
|
|
303
|
+
return urlObj.href;
|
|
304
|
+
}
|
|
305
|
+
function trackMessageCall(safeModuleId, locale) {
|
|
306
|
+
const store = serverAsyncLocalStorage?.getStore();
|
|
307
|
+
if (store) {
|
|
308
|
+
store.messageCalls?.add(`${safeModuleId}:${locale}`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
const customServerStrategies = /* @__PURE__ */ new Map();
|
|
312
|
+
const customClientStrategies = /* @__PURE__ */ new Map();
|
|
313
|
+
function isCustomStrategy(strategy2) {
|
|
314
|
+
return typeof strategy2 === "string" && /^custom-[A-Za-z0-9_-]+$/.test(strategy2);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export { strategy as a, serverAsyncLocalStorage as b, deLocalizeUrl as d, getLocale as g, overwriteServerAsyncLocalStorage as o, shouldRedirect as s, trackMessageCall as t };
|
|
318
|
+
//# sourceMappingURL=runtime-Bf5HkYyl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-Bf5HkYyl.js","sources":["../../../.svelte-kit/adapter-node/chunks/runtime.js"],"sourcesContent":["const baseLocale = \"en\";\nconst locales = (\n /** @type {const} */\n [\"en\", \"es\", \"ru\", \"ua\"]\n);\nconst cookieName = \"PARAGLIDE_LOCALE\";\nconst strategy = [\n \"cookie\",\n \"preferredLanguage\",\n \"globalVariable\",\n \"baseLocale\"\n];\nlet serverAsyncLocalStorage = void 0;\nfunction overwriteServerAsyncLocalStorage(value) {\n serverAsyncLocalStorage = value;\n}\nglobalThis.__paraglide = {};\nlet _locale;\nlet localeInitiallySet = false;\nlet getLocale = () => {\n let locale;\n if (serverAsyncLocalStorage) {\n const locale2 = serverAsyncLocalStorage?.getStore()?.locale;\n if (locale2) {\n return locale2;\n }\n }\n for (const strat of strategy) {\n if (strat === \"cookie\") {\n locale = extractLocaleFromCookie();\n } else if (strat === \"baseLocale\") {\n locale = baseLocale;\n } else if (strat === \"globalVariable\" && _locale !== void 0) {\n locale = _locale;\n } else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {\n const handler = customClientStrategies.get(strat);\n if (handler) {\n const result = handler.getLocale();\n if (result instanceof Promise) {\n continue;\n }\n locale = result;\n }\n }\n if (locale !== void 0) {\n const asserted = assertIsLocale(locale);\n if (!localeInitiallySet) {\n _locale = asserted;\n localeInitiallySet = true;\n setLocale(asserted, { reload: false });\n }\n return asserted;\n }\n }\n throw new Error(\"No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found\");\n};\nlet setLocale = (newLocale, options) => {\n ({\n ...options\n });\n let currentLocale;\n try {\n currentLocale = getLocale();\n } catch {\n }\n const customSetLocalePromises = [];\n for (const strat of strategy) {\n if (strat === \"globalVariable\") {\n _locale = newLocale;\n } else if (strat === \"cookie\") {\n {\n continue;\n }\n } else if (strat === \"baseLocale\") {\n continue;\n } else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {\n const handler = customClientStrategies.get(strat);\n if (handler) {\n let result = handler.setLocale(newLocale);\n if (result instanceof Promise) {\n result = result.catch((error) => {\n throw new Error(`Custom strategy \"${strat}\" setLocale failed.`, {\n cause: error\n });\n });\n customSetLocalePromises.push(result);\n }\n }\n }\n }\n if (customSetLocalePromises.length) {\n return Promise.all(customSetLocalePromises).then(() => {\n });\n }\n return;\n};\nlet getUrlOrigin = () => {\n if (serverAsyncLocalStorage) {\n return serverAsyncLocalStorage.getStore()?.origin ?? \"http://fallback.com\";\n } else if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"http://fallback.com\";\n};\nfunction isLocale(locale) {\n if (typeof locale !== \"string\")\n return false;\n return !locale ? false : locales.some((item) => item.toLowerCase() === locale.toLowerCase());\n}\nfunction assertIsLocale(input) {\n if (typeof input !== \"string\") {\n throw new Error(`Invalid locale: ${input}. Expected a string.`);\n }\n const lowerInput = input.toLowerCase();\n const matchedLocale = locales.find((item) => item.toLowerCase() === lowerInput);\n if (!matchedLocale) {\n throw new Error(`Invalid locale: ${input}. Expected one of: ${locales.join(\", \")}`);\n }\n return matchedLocale;\n}\nconst extractLocaleFromRequest = (request) => {\n let locale;\n for (const strat of strategy) {\n if (strat === \"cookie\") {\n locale = request.headers.get(\"cookie\")?.split(\"; \").find((c) => c.startsWith(cookieName + \"=\"))?.split(\"=\")[1];\n } else if (strat === \"preferredLanguage\") {\n locale = extractLocaleFromHeader(request);\n } else if (strat === \"globalVariable\") {\n locale = _locale;\n } else if (strat === \"baseLocale\") {\n return baseLocale;\n } else if (strat === \"localStorage\") {\n continue;\n } else if (isCustomStrategy(strat)) {\n continue;\n }\n if (locale !== void 0) {\n if (!isLocale(locale)) {\n locale = void 0;\n } else {\n return assertIsLocale(locale);\n }\n }\n }\n throw new Error(\"No locale found. There is an error in your strategy. Try adding 'baseLocale' as the very last strategy. Read more here https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found\");\n};\nconst extractLocaleFromRequestAsync = async (request) => {\n let locale;\n for (const strat of strategy) {\n if (isCustomStrategy(strat) && customServerStrategies.has(strat)) {\n const handler = customServerStrategies.get(strat);\n if (handler) {\n locale = await handler.getLocale(request);\n }\n if (locale !== void 0 && isLocale(locale)) {\n return assertIsLocale(locale);\n }\n }\n }\n locale = extractLocaleFromRequest(request);\n return assertIsLocale(locale);\n};\nfunction extractLocaleFromCookie() {\n if (typeof document === \"undefined\" || !document.cookie) {\n return;\n }\n const match = document.cookie.match(new RegExp(`(^| )${cookieName}=([^;]+)`));\n const locale = match?.[2];\n if (isLocale(locale)) {\n return locale;\n }\n return void 0;\n}\nfunction extractLocaleFromHeader(request) {\n const acceptLanguageHeader = request.headers.get(\"accept-language\");\n if (acceptLanguageHeader) {\n const languages = acceptLanguageHeader.split(\",\").map((lang) => {\n const [tag, q = \"1\"] = lang.trim().split(\";q=\");\n const baseTag = tag?.split(\"-\")[0]?.toLowerCase();\n return {\n fullTag: tag?.toLowerCase(),\n baseTag,\n q: Number(q)\n };\n }).sort((a, b) => b.q - a.q);\n for (const lang of languages) {\n if (isLocale(lang.fullTag)) {\n return lang.fullTag;\n } else if (isLocale(lang.baseTag)) {\n return lang.baseTag;\n }\n }\n return void 0;\n }\n return void 0;\n}\nlet cachedUrl;\nlet cachedLocale;\nfunction extractLocaleFromUrl(url) {\n const urlString = typeof url === \"string\" ? url : url.href;\n if (cachedUrl === urlString) {\n return cachedLocale;\n }\n let result;\n {\n result = defaultUrlPatternExtractLocale(url);\n }\n cachedUrl = urlString;\n cachedLocale = result;\n return result;\n}\nfunction defaultUrlPatternExtractLocale(url) {\n const urlObj = new URL(url, \"http://dummy.com\");\n const pathSegments = urlObj.pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0) {\n const potentialLocale = pathSegments[0];\n if (isLocale(potentialLocale)) {\n return potentialLocale;\n }\n }\n return baseLocale;\n}\nfunction localizeUrl(url, options) {\n {\n return localizeUrlDefaultPattern(url, options);\n }\n}\nfunction localizeUrlDefaultPattern(url, options) {\n const urlObj = typeof url === \"string\" ? new URL(url, getUrlOrigin()) : new URL(url);\n const locale = options?.locale ?? getLocale();\n const currentLocale = extractLocaleFromUrl(urlObj);\n if (currentLocale === locale) {\n return urlObj;\n }\n const pathSegments = urlObj.pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0 && isLocale(pathSegments[0])) {\n pathSegments.shift();\n }\n if (locale === baseLocale) {\n urlObj.pathname = \"/\" + pathSegments.join(\"/\");\n } else {\n urlObj.pathname = \"/\" + locale + \"/\" + pathSegments.join(\"/\");\n }\n return urlObj;\n}\nfunction deLocalizeUrl(url) {\n {\n return deLocalizeUrlDefaultPattern(url);\n }\n}\nfunction deLocalizeUrlDefaultPattern(url) {\n const urlObj = typeof url === \"string\" ? new URL(url, getUrlOrigin()) : new URL(url);\n const pathSegments = urlObj.pathname.split(\"/\").filter(Boolean);\n if (pathSegments.length > 0 && isLocale(pathSegments[0])) {\n urlObj.pathname = \"/\" + pathSegments.slice(1).join(\"/\");\n }\n return urlObj;\n}\nasync function shouldRedirect(input = {}) {\n const locale = (\n /** @type {ReturnType<typeof assertIsLocale>} */\n await resolveLocale(input)\n );\n if (!strategy.includes(\"url\")) {\n return { shouldRedirect: false, locale, redirectUrl: void 0 };\n }\n const currentUrl = resolveUrl(input);\n const localizedUrl = localizeUrl(currentUrl.href, { locale });\n const shouldRedirectToLocalizedUrl = normalizeUrl(localizedUrl.href) !== normalizeUrl(currentUrl.href);\n return {\n shouldRedirect: shouldRedirectToLocalizedUrl,\n locale,\n redirectUrl: shouldRedirectToLocalizedUrl ? localizedUrl : void 0\n };\n}\nasync function resolveLocale(input) {\n if (input.locale) {\n return assertIsLocale(input.locale);\n }\n if (input.request) {\n return extractLocaleFromRequestAsync(input.request);\n }\n return getLocale();\n}\nfunction resolveUrl(input) {\n if (input.request) {\n return new URL(input.request.url);\n }\n if (input.url instanceof URL) {\n return new URL(input.url.href);\n }\n if (typeof input.url === \"string\") {\n return new URL(input.url, getUrlOrigin());\n }\n if (typeof window !== \"undefined\" && window?.location?.href) {\n return new URL(window.location.href);\n }\n throw new Error(\"shouldRedirect() requires either a request, an absolute URL, or must run in a browser environment.\");\n}\nfunction normalizeUrl(url) {\n const urlObj = new URL(url);\n urlObj.pathname = urlObj.pathname.replace(/\\/$/, \"\");\n return urlObj.href;\n}\nfunction trackMessageCall(safeModuleId, locale) {\n const store = serverAsyncLocalStorage?.getStore();\n if (store) {\n store.messageCalls?.add(`${safeModuleId}:${locale}`);\n }\n}\nconst customServerStrategies = /* @__PURE__ */ new Map();\nconst customClientStrategies = /* @__PURE__ */ new Map();\nfunction isCustomStrategy(strategy2) {\n return typeof strategy2 === \"string\" && /^custom-[A-Za-z0-9_-]+$/.test(strategy2);\n}\nexport {\n strategy as a,\n serverAsyncLocalStorage as b,\n deLocalizeUrl as d,\n getLocale as g,\n overwriteServerAsyncLocalStorage as o,\n shouldRedirect as s,\n trackMessageCall as t\n};\n"],"names":[],"mappings":"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"}
|