This commit is contained in:
2025-04-11 21:17:54 -04:00
parent ad7c0da6dd
commit 8edc4ab0b4
38 changed files with 5992 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
export { matchers } from './matchers.js';
export const nodes = [
() => import('./nodes/0'),
() => import('./nodes/1'),
() => import('./nodes/2')
];
export const server_loads = [];
export const dictionary = {
"/": [2]
};
export const hooks = {
handleError: (({ error }) => { console.error(error) }),
reroute: (() => {}),
transport: {}
};
export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode]));
export const hash = false;
export const decode = (type, value) => decoders[type](value);
export { default as root } from '../root.js';

View File

@@ -0,0 +1 @@
export const matchers = {};

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+layout.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+page.svelte";

View File

@@ -21,7 +21,7 @@ export const options = {
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\t\t" + head + "\n\t</head>\n\t<body data-sveltekit-preload-data=\"hover\">\n\t\t<div style=\"display: contents\">" + body + "</div>\n\t</body>\n</html>\n",
error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
},
version_hash: "19ddiqn"
version_hash: "1du9zss"
};
export async function get_hooks() {

View File

@@ -0,0 +1,111 @@
{
".svelte-kit/generated/client-optimized/app.js": {
"file": "_app/immutable/entry/app.JMsWNEBf.js",
"name": "entry/app",
"src": ".svelte-kit/generated/client-optimized/app.js",
"isEntry": true,
"imports": [
"_7LwFGTVl.js",
"_CvwgUIOn.js",
"_C1JNRcsB.js",
"_DtKB1_9u.js"
],
"dynamicImports": [
".svelte-kit/generated/client-optimized/nodes/0.js",
".svelte-kit/generated/client-optimized/nodes/1.js",
".svelte-kit/generated/client-optimized/nodes/2.js"
]
},
".svelte-kit/generated/client-optimized/nodes/0.js": {
"file": "_app/immutable/nodes/0.C10SzQKY.js",
"name": "nodes/0",
"src": ".svelte-kit/generated/client-optimized/nodes/0.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_C1JNRcsB.js",
"_7LwFGTVl.js"
],
"css": [
"_app/immutable/assets/0.BJxIG_zl.css"
]
},
".svelte-kit/generated/client-optimized/nodes/1.js": {
"file": "_app/immutable/nodes/1.CmP9Wh21.js",
"name": "nodes/1",
"src": ".svelte-kit/generated/client-optimized/nodes/1.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_C1JNRcsB.js",
"_G3SYufGp.js",
"_7LwFGTVl.js",
"_CvwgUIOn.js",
"_Bkzr8dUC.js"
]
},
".svelte-kit/generated/client-optimized/nodes/2.js": {
"file": "_app/immutable/nodes/2.CpB6OS4x.js",
"name": "nodes/2",
"src": ".svelte-kit/generated/client-optimized/nodes/2.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_C1JNRcsB.js",
"_G3SYufGp.js",
"_7LwFGTVl.js",
"_CvwgUIOn.js",
"_DtKB1_9u.js"
]
},
"_7LwFGTVl.js": {
"file": "_app/immutable/chunks/7LwFGTVl.js",
"name": "runtime"
},
"_Bkzr8dUC.js": {
"file": "_app/immutable/chunks/Bkzr8dUC.js",
"name": "entry",
"imports": [
"_7LwFGTVl.js",
"_DtKB1_9u.js"
]
},
"_C1JNRcsB.js": {
"file": "_app/immutable/chunks/C1JNRcsB.js",
"name": "disclose-version",
"imports": [
"_7LwFGTVl.js"
]
},
"_CvwgUIOn.js": {
"file": "_app/immutable/chunks/CvwgUIOn.js",
"name": "render",
"imports": [
"_7LwFGTVl.js",
"_C1JNRcsB.js"
]
},
"_DtKB1_9u.js": {
"file": "_app/immutable/chunks/DtKB1_9u.js",
"name": "index-client",
"imports": [
"_7LwFGTVl.js"
]
},
"_G3SYufGp.js": {
"file": "_app/immutable/chunks/G3SYufGp.js",
"name": "legacy",
"imports": [
"_7LwFGTVl.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/client/entry.js": {
"file": "_app/immutable/entry/start.B9R_ECDu.js",
"name": "entry/start",
"src": "node_modules/@sveltejs/kit/src/runtime/client/entry.js",
"isEntry": true,
"imports": [
"_Bkzr8dUC.js"
]
}
}

View File

@@ -0,0 +1 @@
/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0)}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-green-700:oklch(52.7% .154 150.069);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-700:oklch(52.5% .223 3.958);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-bold:700;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-800{--tw-gradient-from:var(--color-blue-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-900{--tw-gradient-from:var(--color-blue-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-700{--tw-gradient-from:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-700{--tw-gradient-from:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-700{--tw-gradient-to:var(--color-green-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-700{--tw-gradient-to:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-700{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-700{--tw-gradient-to:var(--color-red-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-32{padding-top:calc(var(--spacing)*32)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-center{text-align:center}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}@media (hover:hover){.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:transform:hover{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mb-0{margin-bottom:calc(var(--spacing)*0)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:pl-12{padding-left:calc(var(--spacing)*12)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}

View File

@@ -0,0 +1 @@
/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0)}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-green-700:oklch(52.7% .154 150.069);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-700:oklch(52.5% .223 3.958);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-bold:700;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-800{--tw-gradient-from:var(--color-blue-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-900{--tw-gradient-from:var(--color-blue-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-700{--tw-gradient-from:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-700{--tw-gradient-from:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-700{--tw-gradient-to:var(--color-green-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-700{--tw-gradient-to:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-700{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-700{--tw-gradient-to:var(--color-red-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-32{padding-top:calc(var(--spacing)*32)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-center{text-align:center}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}@media (hover:hover){.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:transform:hover{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mb-0{margin-bottom:calc(var(--spacing)*0)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:pl-12{padding-left:calc(var(--spacing)*12)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}

View File

@@ -0,0 +1 @@
var fn=Array.isArray,un=Array.prototype.indexOf,Zn=Array.from,$n=Object.defineProperty,V=Object.getOwnPropertyDescriptor,on=Object.getOwnPropertyDescriptors,_n=Object.prototype,cn=Array.prototype,Pt=Object.getPrototypeOf,bt=Object.isExtensible;const Wn=()=>{};function Xn(t){return t()}function St(t){for(var e=0;e<t.length;e++)t[e]()}const A=2,Ct=4,it=8,gt=16,O=32,H=64,nt=128,m=256,et=512,y=1024,I=2048,M=4096,L=8192,ut=16384,vn=32768,Ft=65536,zn=1<<17,hn=1<<19,Mt=1<<20,pt=1<<21,G=Symbol("$state"),Jn=Symbol("legacy props");function qt(t){return t===this.v}function pn(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function jt(t){return!pn(t,this.v)}function dn(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function wn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function yn(t){throw new Error("https://svelte.dev/e/effect_orphan")}function En(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Qn(){throw new Error("https://svelte.dev/e/hydration_failed")}function te(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function gn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function mn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Tn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let ot=!1;function ne(){ot=!0}const ee=1,re=2,le=16,ae=1,se=2,fe=4,ie=8,ue=16,oe=1,_e=2,xn="[",An="[!",Rn="]",Lt={},E=Symbol();let p=null;function Dt(t){p=t}function ce(t,e=!1,n){var r=p={p,c:null,d:!1,e:null,m:!1,s:t,x:null,l:null};ot&&!e&&(p.l={s:null,u:null,r1:[],r2:Tt(!1)}),kn(()=>{r.d=!0})}function ve(t){const e=p;if(e!==null){const u=e.e;if(u!==null){var n=h,r=v;e.e=null;try{for(var l=0;l<u.length;l++){var a=u[l];at(a.effect),Y(a.reaction),$t(a.fn)}}finally{at(n),Y(r)}}p=e.p,e.m=!0}return{}}function _t(){return!ot||p!==null&&p.l===null}function j(t){if(typeof t!="object"||t===null||G in t)return t;const e=Pt(t);if(e!==_n&&e!==cn)return t;var n=new Map,r=fn(t),l=k(0),a=v,u=i=>{var s=v;Y(a);var f=i();return Y(s),f};return r&&n.set("length",k(t.length)),new Proxy(t,{defineProperty(i,s,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&gn();var _=n.get(s);return _===void 0?(_=u(()=>k(f.value)),n.set(s,_)):N(_,u(()=>j(f.value))),!0},deleteProperty(i,s){var f=n.get(s);if(f===void 0)s in i&&n.set(s,u(()=>k(E)));else{if(r&&typeof s=="string"){var _=n.get("length"),o=Number(s);Number.isInteger(o)&&o<_.v&&N(_,o)}N(f,E),It(l)}return!0},get(i,s,f){var x;if(s===G)return t;var _=n.get(s),o=s in i;if(_===void 0&&(!o||(x=V(i,s))!=null&&x.writable)&&(_=u(()=>k(j(o?i[s]:E))),n.set(s,_)),_!==void 0){var c=B(_);return c===E?void 0:c}return Reflect.get(i,s,f)},getOwnPropertyDescriptor(i,s){var f=Reflect.getOwnPropertyDescriptor(i,s);if(f&&"value"in f){var _=n.get(s);_&&(f.value=B(_))}else if(f===void 0){var o=n.get(s),c=o==null?void 0:o.v;if(o!==void 0&&c!==E)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return f},has(i,s){var c;if(s===G)return!0;var f=n.get(s),_=f!==void 0&&f.v!==E||Reflect.has(i,s);if(f!==void 0||h!==null&&(!_||(c=V(i,s))!=null&&c.writable)){f===void 0&&(f=u(()=>k(_?j(i[s]):E)),n.set(s,f));var o=B(f);if(o===E)return!1}return _},set(i,s,f,_){var Rt;var o=n.get(s),c=s in i;if(r&&s==="length")for(var x=f;x<o.v;x+=1){var J=n.get(x+"");J!==void 0?N(J,E):x in i&&(J=u(()=>k(E)),n.set(x+"",J))}o===void 0?(!c||(Rt=V(i,s))!=null&&Rt.writable)&&(o=u(()=>k(void 0)),N(o,u(()=>j(f))),n.set(s,o)):(c=o.v!==E,N(o,u(()=>j(f))));var Q=Reflect.getOwnPropertyDescriptor(i,s);if(Q!=null&&Q.set&&Q.set.call(_,f),!c){if(r&&typeof s=="string"){var At=n.get("length"),ht=Number(s);Number.isInteger(ht)&&ht>=At.v&&N(At,ht+1)}It(l)}return!0},ownKeys(i){B(l);var s=Reflect.ownKeys(i).filter(o=>{var c=n.get(o);return c===void 0||c.v!==E});for(var[f,_]of n)_.v!==E&&!(f in i)&&s.push(f);return s},setPrototypeOf(){mn()}})}function It(t,e=1){N(t,t.v+e)}function mt(t){var e=A|I,n=v!==null&&(v.f&A)!==0?v:null;return h===null||n!==null&&(n.f&m)!==0?e|=m:h.f|=Mt,{ctx:p,deps:null,effects:null,equals:qt,f:e,fn:t,reactions:null,rv:0,v:null,wv:0,parent:n??h}}function he(t){const e=mt(t);return nn(e),e}function pe(t){const e=mt(t);return e.equals=jt,e}function Yt(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;n<e.length;n+=1)F(e[n])}}function bn(t){for(var e=t.parent;e!==null;){if((e.f&A)===0)return e;e=e.parent}return null}function Ht(t){var e,n=h;at(bn(t));try{Yt(t),e=an(t)}finally{at(n)}return e}function Ut(t){var e=Ht(t),n=(P||(t.f&m)!==0)&&t.deps!==null?M:y;b(t,n),t.equals(e)||(t.v=e,t.wv=rn())}const Z=new Map;function Tt(t,e){var n={f:0,v:t,reactions:null,equals:qt,rv:0,wv:0};return n}function k(t,e){const n=Tt(t);return nn(n),n}function de(t,e=!1){var r;const n=Tt(t);return e||(n.equals=jt),ot&&p!==null&&p.l!==null&&((r=p.l).s??(r.s=[])).push(n),n}function N(t,e,n=!1){v!==null&&!D&&_t()&&(v.f&(A|gt))!==0&&!(w!=null&&w.includes(t))&&Tn();let r=n?j(e):e;return Dn(t,r)}function Dn(t,e){if(!t.equals(e)){var n=t.v;X?Z.set(t,e):Z.set(t,n),t.v=e,(t.f&A)!==0&&((t.f&I)!==0&&Ht(t),b(t,(t.f&m)===0?y:M)),t.wv=rn(),Bt(t,I),_t()&&h!==null&&(h.f&y)!==0&&(h.f&(O|H))===0&&(T===null?jn([t]):T.push(t))}return e}function Bt(t,e){var n=t.reactions;if(n!==null)for(var r=_t(),l=n.length,a=0;a<l;a++){var u=n[a],i=u.f;(i&I)===0&&(!r&&u===h||(b(u,e),(i&(y|m))!==0&&((i&A)!==0?Bt(u,M):vt(u))))}}function Vt(t){console.warn("https://svelte.dev/e/hydration_mismatch")}let C=!1;function we(t){C=t}let R;function $(t){if(t===null)throw Vt(),Lt;return R=t}function ye(){return $(q(R))}function Ee(t){if(C){if(q(R)!==null)throw Vt(),Lt;R=t}}function ge(t=1){if(C){for(var e=t,n=R;e--;)n=q(n);R=n}}function me(){for(var t=0,e=R;;){if(e.nodeType===8){var n=e.data;if(n===Rn){if(t===0)return e;t-=1}else(n===xn||n===An)&&(t+=1)}var r=q(e);e.remove(),e=r}}var Ot,In,Gt,Kt;function Te(){if(Ot===void 0){Ot=window,In=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;Gt=V(e,"firstChild").get,Kt=V(e,"nextSibling").get,bt(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),bt(n)&&(n.__t=void 0)}}function dt(t=""){return document.createTextNode(t)}function wt(t){return Gt.call(t)}function q(t){return Kt.call(t)}function xe(t,e){if(!C)return wt(t);var n=wt(R);if(n===null)n=R.appendChild(dt());else if(e&&n.nodeType!==3){var r=dt();return n==null||n.before(r),$(r),r}return $(n),n}function Ae(t,e){if(!C){var n=wt(t);return n instanceof Comment&&n.data===""?q(n):n}return R}function Re(t,e=1,n=!1){let r=C?R:t;for(var l;e--;)l=r,r=q(r);if(!C)return r;var a=r==null?void 0:r.nodeType;if(n&&a!==3){var u=dt();return r===null?l==null||l.after(u):r.before(u),$(u),u}return $(r),r}function be(t){t.textContent=""}function Zt(t){h===null&&v===null&&yn(),v!==null&&(v.f&m)!==0&&h===null&&wn(),X&&dn()}function On(t,e){var n=e.last;n===null?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}function U(t,e,n,r=!0){var l=h,a={ctx:p,deps:null,nodes_start:null,nodes_end:null,f:t|I,first:null,fn:e,last:null,next:null,parent:l,prev:null,teardown:null,transitions:null,wv:0};if(n)try{xt(a),a.f|=vn}catch(s){throw F(a),s}else e!==null&&vt(a);var u=n&&a.deps===null&&a.first===null&&a.nodes_start===null&&a.teardown===null&&(a.f&(Mt|nt))===0;if(!u&&r&&(l!==null&&On(a,l),v!==null&&(v.f&A)!==0)){var i=v;(i.effects??(i.effects=[])).push(a)}return a}function kn(t){const e=U(it,null,!1);return b(e,y),e.teardown=t,e}function De(t){Zt();var e=h!==null&&(h.f&O)!==0&&p!==null&&!p.m;if(e){var n=p;(n.e??(n.e=[])).push({fn:t,effect:h,reaction:v})}else{var r=$t(t);return r}}function Ie(t){return Zt(),Nn(t)}function Oe(t){const e=U(H,t,!0);return(n={})=>new Promise(r=>{n.outro?Cn(e,()=>{F(e),r(void 0)}):(F(e),r(void 0))})}function $t(t){return U(Ct,t,!1)}function Nn(t){return U(it,t,!0)}function ke(t,e=[],n=mt){const r=e.map(n);return Pn(()=>t(...r.map(B)))}function Pn(t,e=0){return U(it|gt|e,t,!0)}function Ne(t,e=!0){return U(it|O,t,!0,e)}function Wt(t){var e=t.teardown;if(e!==null){const n=X,r=v;Nt(!0),Y(null);try{e.call(null)}finally{Nt(n),Y(r)}}}function Xt(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){var r=n.next;(n.f&H)!==0?n.parent=null:F(n,e),n=r}}function Sn(t){for(var e=t.first;e!==null;){var n=e.next;(e.f&O)===0&&F(e),e=n}}function F(t,e=!0){var n=!1;if((e||(t.f&hn)!==0)&&t.nodes_start!==null){for(var r=t.nodes_start,l=t.nodes_end;r!==null;){var a=r===l?null:q(r);r.remove(),r=a}n=!0}Xt(t,e&&!n),ft(t,0),b(t,ut);var u=t.transitions;if(u!==null)for(const s of u)s.stop();Wt(t);var i=t.parent;i!==null&&i.first!==null&&zt(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=null}function zt(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function Cn(t,e){var n=[];Jt(t,n,!0),Fn(n,()=>{F(t),e&&e()})}function Fn(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var l of t)l.out(r)}else e()}function Jt(t,e,n){if((t.f&L)===0){if(t.f^=L,t.transitions!==null)for(const u of t.transitions)(u.is_global||n)&&e.push(u);for(var r=t.first;r!==null;){var l=r.next,a=(r.f&Ft)!==0||(r.f&O)!==0;Jt(r,e,a?n:!1),r=l}}}function Pe(t){Qt(t,!0)}function Qt(t,e){if((t.f&L)!==0){t.f^=L,(t.f&y)===0&&(t.f^=y),z(t)&&(b(t,I),vt(t));for(var n=t.first;n!==null;){var r=n.next,l=(n.f&Ft)!==0||(n.f&O)!==0;Qt(n,l?e:!1),n=r}if(t.transitions!==null)for(const a of t.transitions)(a.is_global||e)&&a.in()}}let W=[],yt=[];function tn(){var t=W;W=[],St(t)}function Mn(){var t=yt;yt=[],St(t)}function Se(t){W.length===0&&queueMicrotask(tn),W.push(t)}function kt(){W.length>0&&tn(),yt.length>0&&Mn()}let tt=!1,rt=!1,lt=null,S=!1,X=!1;function Nt(t){X=t}let K=[];let v=null,D=!1;function Y(t){v=t}let h=null;function at(t){h=t}let w=null;function qn(t){w=t}function nn(t){v!==null&&v.f&pt&&(w===null?qn([t]):w.push(t))}let d=null,g=0,T=null;function jn(t){T=t}let en=1,st=0,P=!1;function rn(){return++en}function z(t){var o;var e=t.f;if((e&I)!==0)return!0;if((e&M)!==0){var n=t.deps,r=(e&m)!==0;if(n!==null){var l,a,u=(e&et)!==0,i=r&&h!==null&&!P,s=n.length;if(u||i){var f=t,_=f.parent;for(l=0;l<s;l++)a=n[l],(u||!((o=a==null?void 0:a.reactions)!=null&&o.includes(f)))&&(a.reactions??(a.reactions=[])).push(f);u&&(f.f^=et),i&&_!==null&&(_.f&m)===0&&(f.f^=m)}for(l=0;l<s;l++)if(a=n[l],z(a)&&Ut(a),a.wv>t.wv)return!0}(!r||h!==null&&!P)&&b(t,y)}return!1}function Ln(t,e){for(var n=e;n!==null;){if((n.f&nt)!==0)try{n.fn(t);return}catch{n.f^=nt}n=n.parent}throw tt=!1,t}function Yn(t){return(t.f&ut)===0&&(t.parent===null||(t.parent.f&nt)===0)}function ct(t,e,n,r){if(tt){if(n===null&&(tt=!1),Yn(e))throw t;return}n!==null&&(tt=!0);{Ln(t,e);return}}function ln(t,e,n=!0){var r=t.reactions;if(r!==null)for(var l=0;l<r.length;l++){var a=r[l];w!=null&&w.includes(t)||((a.f&A)!==0?ln(a,e,!1):e===a&&(n?b(a,I):(a.f&y)!==0&&b(a,M),vt(a)))}}function an(t){var x;var e=d,n=g,r=T,l=v,a=P,u=w,i=p,s=D,f=t.f;d=null,g=0,T=null,P=(f&m)!==0&&(D||!S||v===null),v=(f&(O|H))===0?t:null,w=null,Dt(t.ctx),D=!1,st++,t.f|=pt;try{var _=(0,t.fn)(),o=t.deps;if(d!==null){var c;if(ft(t,g),o!==null&&g>0)for(o.length=g+d.length,c=0;c<d.length;c++)o[g+c]=d[c];else t.deps=o=d;if(!P)for(c=g;c<o.length;c++)((x=o[c]).reactions??(x.reactions=[])).push(t)}else o!==null&&g<o.length&&(ft(t,g),o.length=g);if(_t()&&T!==null&&!D&&o!==null&&(t.f&(A|M|I))===0)for(c=0;c<T.length;c++)ln(T[c],t);return l!==t&&(st++,T!==null&&(r===null?r=T:r.push(...T))),_}finally{d=e,g=n,T=r,v=l,P=a,w=u,Dt(i),D=s,t.f^=pt}}function Hn(t,e){let n=e.reactions;if(n!==null){var r=un.call(n,t);if(r!==-1){var l=n.length-1;l===0?n=e.reactions=null:(n[r]=n[l],n.pop())}}n===null&&(e.f&A)!==0&&(d===null||!d.includes(e))&&(b(e,M),(e.f&(m|et))===0&&(e.f^=et),Yt(e),ft(e,0))}function ft(t,e){var n=t.deps;if(n!==null)for(var r=e;r<n.length;r++)Hn(t,n[r])}function xt(t){var e=t.f;if((e&ut)===0){b(t,y);var n=h,r=p,l=S;h=t,S=!0;try{(e&gt)!==0?Sn(t):Xt(t),Wt(t);var a=an(t);t.teardown=typeof a=="function"?a:null,t.wv=en;var u=t.deps,i}catch(s){ct(s,t,n,r||t.ctx)}finally{S=l,h=n}}}function Un(){try{En()}catch(t){if(lt!==null)ct(t,lt,null);else throw t}}function sn(){var t=S;try{var e=0;for(S=!0;K.length>0;){e++>1e3&&Un();var n=K,r=n.length;K=[];for(var l=0;l<r;l++){var a=Vn(n[l]);Bn(a)}Z.clear()}}finally{rt=!1,S=t,lt=null}}function Bn(t){var e=t.length;if(e!==0)for(var n=0;n<e;n++){var r=t[n];if((r.f&(ut|L))===0)try{z(r)&&(xt(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null?zt(r):r.fn=null))}catch(l){ct(l,r,null,r.ctx)}}}function vt(t){rt||(rt=!0,queueMicrotask(sn));for(var e=lt=t;e.parent!==null;){e=e.parent;var n=e.f;if((n&(H|O))!==0){if((n&y)===0)return;e.f^=y}}K.push(e)}function Vn(t){for(var e=[],n=t;n!==null;){var r=n.f,l=(r&(O|H))!==0,a=l&&(r&y)!==0;if(!a&&(r&L)===0){if((r&Ct)!==0)e.push(n);else if(l)n.f^=y;else{var u=v;try{v=n,z(n)&&xt(n)}catch(f){ct(f,n,null,n.ctx)}finally{v=u}}var i=n.first;if(i!==null){n=i;continue}}var s=n.parent;for(n=n.next;n===null&&s!==null;)n=s.next,s=s.parent}return e}function Gn(t){var e;for(kt();K.length>0;)rt=!0,sn(),kt();return e}async function Ce(){await Promise.resolve(),Gn()}function B(t){var e=t.f,n=(e&A)!==0;if(v!==null&&!D){if(!(w!=null&&w.includes(t))){var r=v.deps;t.rv<st&&(t.rv=st,d===null&&r!==null&&r[g]===t?g++:d===null?d=[t]:(!P||!d.includes(t))&&d.push(t))}}else if(n&&t.deps===null&&t.effects===null){var l=t,a=l.parent;a!==null&&(a.f&m)===0&&(l.f^=m)}return n&&(l=t,z(l)&&Ut(l)),X&&Z.has(t)?Z.get(t):t.v}function Fe(t){var e=D;try{return D=!0,t()}finally{D=e}}const Kn=-7169;function b(t,e){t.f=t.f&Kn|e}function Me(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(G in t)Et(t);else if(!Array.isArray(t))for(let e in t){const n=t[e];typeof n=="object"&&n&&G in n&&Et(n)}}}function Et(t,e=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!e.has(t)){e.add(t),t instanceof Date&&t.getTime();for(let r in t)try{Et(t[r],e)}catch{}const n=Pt(t);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=on(n);for(let l in r){const a=r[l].get;if(a)try{a.call(t)}catch{}}}}}export{de as $,at as A,fn as B,v as C,h as D,Ft as E,Te as F,wt as G,xn as H,q as I,Lt as J,we as K,$ as L,ye as M,Rn as N,Vt as O,Qn as P,be as Q,Zn as R,Oe as S,dt as T,pe as U,An as V,me as W,Pe as X,Cn as Y,L as Z,Dn as _,De as a,Tt as a0,re as a1,Jt as a2,Fn as a3,ee as a4,le as a5,N as a6,ge as a7,In as a8,oe as a9,_e as aa,E as ab,$t as ac,Nn as ad,Se as ae,G as af,V as ag,te as ah,zn as ai,fe as aj,jt as ak,j as al,ie as am,Jn as an,se as ao,ae as ap,ue as aq,Gn as ar,k as as,Ce as at,he as au,pn as av,Fe as b,p as c,Xn as d,Me as e,mt as f,B as g,ne as h,Pn as i,Ne as j,F as k,ot as l,C as m,Wn as n,R as o,Ae as p,ce as q,St as r,ve as s,ke as t,Ie as u,xe as v,Ee as w,Re as x,$n as y,Y as z};

View File

@@ -0,0 +1,3 @@
var Xt=t=>{throw TypeError(t)};var je=(t,e,n)=>e.has(t)||Xt("Cannot "+n);var A=(t,e,n)=>(je(t,e,"read from private field"),n?n.call(t):e.get(t)),P=(t,e,n)=>e.has(t)?Xt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{n as Ut,av as $e,as as C,g as O,a6 as N,at as De}from"./7LwFGTVl.js";import{o as Zt}from"./DtKB1_9u.js";const q=[];function jt(t,e=Ut){let n=null;const a=new Set;function r(o){if($e(t,o)&&(t=o,n)){const c=!q.length;for(const l of a)l[1](),q.push(l,t);if(c){for(let l=0;l<q.length;l+=2)q[l][0](q[l+1]);q.length=0}}}function s(o){r(o(t))}function i(o,c=Ut){const l=[o,c];return a.add(l),a.size===1&&(n=e(r,s)||Ut),o(t),()=>{a.delete(l),a.size===0&&n&&(n(),n=null)}}return{set:r,update:s,subscribe:i}}new URL("sveltekit-internal://");function Fe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ve(t){return t.split("%25").map(decodeURI).join("%25")}function Be(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Lt({href:t}){return t.split("#")[0]}function qe(t,e,n,a=!1){const r=new URL(t);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return l=>(n(l),i[o](l));e();const c=Reflect.get(i,o);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];a&&s.push("hash");for(const i of s)Object.defineProperty(r,i,{get(){return e(),t[i]},enumerable:!0,configurable:!0});return r}function Me(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}function Ge(t){const e=atob(t),n=new Uint8Array(e.length);for(let a=0;a<e.length;a++)n[a]=e.charCodeAt(a);return n.buffer}const ze=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&W.delete($t(t)),ze(t,e));const W=new Map;function He(t,e){const n=$t(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){let{body:r,...s}=JSON.parse(a.textContent);const i=a.getAttribute("data-ttl");return i&&W.set(n,{body:r,init:s,ttl:1e3*Number(i)}),a.getAttribute("data-b64")!==null&&(r=Ge(r)),Promise.resolve(new Response(r,s))}return window.fetch(t,e)}function Ke(t,e,n){if(W.size>0){const a=$t(t,n),r=W.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);W.delete(a)}}return window.fetch(e,n)}function $t(t,e){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const r=[];e.headers&&r.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&r.push(e.body),a+=`[data-hash="${Me(...r)}"]`}return a}const We=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Ye(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${Xe(t).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const i=a.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Tt(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Tt(String.fromCharCode(...c.slice(2).split("-").map(p=>parseInt(p,16))));const d=We.exec(c),[,u,y,f,m]=d;return e.push({name:f,matcher:m,optional:!!u,rest:!!y,chained:y?l===1&&i[0]==="":!1}),y?"(.*?)":u?"([^/]*)?":"([^/]+?)"}return Tt(c)}).join("")}).join("")}/?$`),params:e}}function Je(t){return!/^\([^)]+\)$/.test(t)}function Xe(t){return t.slice(1).split("/").filter(Je)}function Ze(t,e,n){const a={},r=t.slice(1),s=r.filter(o=>o!==void 0);let i=0;for(let o=0;o<e.length;o+=1){const c=e[o];let l=r[o-i];if(c.chained&&c.rest&&i&&(l=r.slice(o-i,o+1).filter(d=>d).join("/"),i=0),l===void 0){c.rest&&(a[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){a[c.name]=l;const d=e[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&c.chained&&(i=0),!d&&!u&&Object.keys(a).length===s.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return a}function Tt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Qe({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[c,l,d]])=>{const{pattern:u,params:y}=Ye(o),f={id:o,exec:m=>{const p=u.exec(m);if(p)return Ze(p,y,a)},errors:[1,...d||[]].map(m=>t[m]),layouts:[0,...l||[]].map(i),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(o){const c=o<0;return c&&(o=~o),[c,t[o]]}function i(o){return o===void 0?o:[r.has(o),t[o]]}}function de(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function Qt(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var ce;const x=((ce=globalThis.__sveltekit_1du9zss)==null?void 0:ce.base)??"";var le;const tn=((le=globalThis.__sveltekit_1du9zss)==null?void 0:le.assets)??x,en="1744420217058",pe="sveltekit:snapshot",ge="sveltekit:scroll",me="sveltekit:states",nn="sveltekit:pageurl",G="sveltekit:history",Z="sveltekit:navigation",F={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},bt=location.origin;function ye(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function Dt(){return{x:pageXOffset,y:pageYOffset}}function M(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const te={...F,"":F.hover};function we(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function _e(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=we(t)}}function Ct(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,s=!a||!!r||At(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(a==null?void 0:a.origin)===bt&&t.hasAttribute("download");return{url:a,external:s,target:r,download:i}}function dt(t){let e=null,n=null,a=null,r=null,s=null,i=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=M(o,"preload-code")),r===null&&(r=M(o,"preload-data")),e===null&&(e=M(o,"keepfocus")),n===null&&(n=M(o,"noscroll")),s===null&&(s=M(o,"reload")),i===null&&(i=M(o,"replacestate")),o=we(o);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:te[a??"off"],preload_data:te[r??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(i)}}function ee(t){const e=jt(t);let n=!0;function a(){n=!0,e.update(i=>i)}function r(i){n=!1,e.set(i)}function s(i){let o;return e.subscribe(c=>{(o===void 0||n&&c!==o)&&i(o=c)})}return{notify:a,set:r,subscribe:s}}const ve={v:()=>{}};function rn(){const{set:t,subscribe:e}=jt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${tn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const i=(await r.json()).version!==en;return i&&(t(!0),ve.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:e,check:a}}function At(t,e,n){return t.origin!==bt||!t.pathname.startsWith(e)?!0:n?!(t.pathname===e+"/"||t.pathname===e+"/index.html"||t.protocol==="file:"&&t.pathname.replace(/\/[^/]+\.html?$/,"")===e):!1}function qn(t){}function ne(t){const e=on(t),n=new ArrayBuffer(e.length),a=new DataView(n);for(let r=0;r<n.byteLength;r++)a.setUint8(r,e.charCodeAt(r));return n}const an="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function on(t){t.length%4===0&&(t=t.replace(/==?$/,""));let e="",n=0,a=0;for(let r=0;r<t.length;r++)n<<=6,n|=an.indexOf(t[r]),a+=6,a===24&&(e+=String.fromCharCode((n&16711680)>>16),e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255),n=a=0);return a===12?(n>>=4,e+=String.fromCharCode(n)):a===18&&(n>>=2,e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255)),e}const sn=-1,cn=-2,ln=-3,fn=-4,un=-5,hn=-6;function dn(t,e){if(typeof t=="number")return r(t,!0);if(!Array.isArray(t)||t.length===0)throw new Error("Invalid input");const n=t,a=Array(n.length);function r(s,i=!1){if(s===sn)return;if(s===ln)return NaN;if(s===fn)return 1/0;if(s===un)return-1/0;if(s===hn)return-0;if(i)throw new Error("Invalid input");if(s in a)return a[s];const o=n[s];if(!o||typeof o!="object")a[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const c=o[0],l=e==null?void 0:e[c];if(l)return a[s]=l(r(o[1]));switch(c){case"Date":a[s]=new Date(o[1]);break;case"Set":const d=new Set;a[s]=d;for(let f=1;f<o.length;f+=1)d.add(r(o[f]));break;case"Map":const u=new Map;a[s]=u;for(let f=1;f<o.length;f+=2)u.set(r(o[f]),r(o[f+1]));break;case"RegExp":a[s]=new RegExp(o[1],o[2]);break;case"Object":a[s]=Object(o[1]);break;case"BigInt":a[s]=BigInt(o[1]);break;case"null":const y=Object.create(null);a[s]=y;for(let f=1;f<o.length;f+=2)y[o[f]]=r(o[f+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const f=globalThis[c],m=o[1],p=ne(m),h=new f(p);a[s]=h;break}case"ArrayBuffer":{const f=o[1],m=ne(f);a[s]=m;break}default:throw new Error(`Unknown type ${c}`)}}else{const c=new Array(o.length);a[s]=c;for(let l=0;l<o.length;l+=1){const d=o[l];d!==cn&&(c[l]=r(d))}}else{const c={};a[s]=c;for(const l in o){const d=o[l];c[l]=r(d)}}return a[s]}return r(0)}const be=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...be];const pn=new Set([...be]);[...pn];function gn(t){return t.filter(e=>e!=null)}class kt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Ft{constructor(e,n){this.status=e,this.location=n}}class Vt extends Error{constructor(e,n,a){super(a),this.status=e,this.text=n}}const mn="x-sveltekit-invalidated",yn="x-sveltekit-trailing-slash";function pt(t){return t instanceof kt||t instanceof Vt?t.status:500}function wn(t){return t instanceof Vt?t.text:"Internal Error"}let U,Q,xt;const _n=Zt.toString().includes("$$")||/function \w+\(\) \{\}/.test(Zt.toString());var nt,rt,at,ot,st,it,ct,lt,fe,ft,ue,ut,he;_n?(U={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Q={current:null},xt={current:!1}):(U=new(fe=class{constructor(){P(this,nt,C({}));P(this,rt,C(null));P(this,at,C(null));P(this,ot,C({}));P(this,st,C({id:null}));P(this,it,C({}));P(this,ct,C(-1));P(this,lt,C(new URL("https://example.com")))}get data(){return O(A(this,nt))}set data(e){N(A(this,nt),e)}get form(){return O(A(this,rt))}set form(e){N(A(this,rt),e)}get error(){return O(A(this,at))}set error(e){N(A(this,at),e)}get params(){return O(A(this,ot))}set params(e){N(A(this,ot),e)}get route(){return O(A(this,st))}set route(e){N(A(this,st),e)}get state(){return O(A(this,it))}set state(e){N(A(this,it),e)}get status(){return O(A(this,ct))}set status(e){N(A(this,ct),e)}get url(){return O(A(this,lt))}set url(e){N(A(this,lt),e)}},nt=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ct=new WeakMap,lt=new WeakMap,fe),Q=new(ue=class{constructor(){P(this,ft,C(null))}get current(){return O(A(this,ft))}set current(e){N(A(this,ft),e)}},ft=new WeakMap,ue),xt=new(he=class{constructor(){P(this,ut,C(!1))}get current(){return O(A(this,ut))}set current(e){N(A(this,ut),e)}},ut=new WeakMap,he),ve.v=()=>xt.current=!0);function vn(t){Object.assign(U,t)}const bn="/__data.json",An=".html__data.json";function kn(t){return t.endsWith(".html")?t.replace(/\.html$/,An):t.replace(/\/$/,"")+bn}const Sn=new Set(["icon","shortcut icon","apple-touch-icon"]),B=de(ge)??{},tt=de(pe)??{},$={url:ee({}),page:ee({}),navigating:jt(null),updated:rn()};function Bt(t){B[t]=Dt()}function En(t,e){let n=t+1;for(;B[n];)delete B[n],n+=1;for(n=e+1;tt[n];)delete tt[n],n+=1}function H(t){return location.href=t.href,new Promise(()=>{})}async function Ae(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(x||"/");t&&await t.update()}}function re(){}let qt,Ot,gt,j,Nt,k;const mt=[],yt=[];let L=null;const ht=new Map,ke=new Set,Rn=new Set,Y=new Set;let v={branch:[],error:null,url:null},Mt=!1,wt=!1,ae=!0,et=!1,K=!1,Se=!1,Gt=!1,Ee,E,T,V;const J=new Set;async function Hn(t,e,n){var r,s,i,o;document.URL!==location.href&&(location.href=location.href),k=t,await((s=(r=t.hooks).init)==null?void 0:s.call(r)),qt=Qe(t),j=document.documentElement,Nt=e,Ot=t.nodes[0],gt=t.nodes[1],Ot(),gt(),E=(i=history.state)==null?void 0:i[G],T=(o=history.state)==null?void 0:o[Z],E||(E=T=Date.now(),history.replaceState({...history.state,[G]:E,[Z]:T},""));const a=B[E];a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y)),n?await jn(Nt,n):await X({type:"enter",url:ye(k.hash?Dn(new URL(location.href)):location.href),replace_state:!0}),Nn()}function In(){mt.length=0,Gt=!1}function Re(t){yt.some(e=>e==null?void 0:e.snapshot)&&(tt[t]=yt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Ie(t){var e;(e=tt[t])==null||e.forEach((n,a)=>{var r,s;(s=(r=yt[a])==null?void 0:r.snapshot)==null||s.restore(n)})}function oe(){Bt(E),Qt(ge,B),Re(T),Qt(pe,tt)}async function Ue(t,e,n,a){return X({type:"goto",url:ye(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Gt=!0),e.invalidate&&e.invalidate.forEach(On)}})}async function Un(t){if(t.id!==(L==null?void 0:L.id)){const e={};J.add(e),L={id:t.id,token:e,promise:xe({...t,preload:e}).then(n=>(J.delete(e),n.type==="loaded"&&n.state.error&&(L=null),n))}}return L.promise}async function Pt(t){var n;const e=(n=await Et(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(a=>a==null?void 0:a[1]()))}function Le(t,e,n){var r;v=t.state;const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(U,t.props.page),Ee=new k.root({target:e,props:{...t.props,stores:$,components:yt},hydrate:n,sync:!1}),Ie(T),n){const s={from:null,to:{params:v.params,route:{id:((r=v.route)==null?void 0:r.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};Y.forEach(i=>i(s))}wt=!0}function _t({url:t,params:e,branch:n,status:a,error:r,route:s,form:i}){let o="never";if(x&&(t.pathname===x||t.pathname===x+"/"))o="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(o=f.slash);t.pathname=Fe(t.pathname,o),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:r,route:s},props:{constructors:gn(n).map(f=>f.node.component),page:Wt(U)}};i!==void 0&&(c.props.form=i);let l={},d=!U,u=0;for(let f=0;f<Math.max(n.length,v.branch.length);f+=1){const m=n[f],p=v.branch[f];(m==null?void 0:m.data)!==(p==null?void 0:p.data)&&(d=!0),m&&(l={...l,...m.data},d&&(c.props[`data_${u}`]=l),u+=1)}return(!v.url||t.href!==v.url.href||v.error!==r||i!==void 0&&i!==U.form||d)&&(c.props.page={error:r,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:a,url:new URL(t),form:i??null,data:d?l:U.data}),c}async function zt({loader:t,parent:e,url:n,params:a,route:r,server_data_node:s}){var d,u,y;let i=null,o=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await t();if((d=l.universal)!=null&&d.load){let f=function(...p){for(const h of p){const{href:_}=new URL(h,n);c.dependencies.add(_)}};const m={route:new Proxy(r,{get:(p,h)=>(o&&(c.route=!0),p[h])}),params:new Proxy(a,{get:(p,h)=>(o&&c.params.add(h),p[h])}),data:(s==null?void 0:s.data)??null,url:qe(n,()=>{o&&(c.url=!0)},p=>{o&&c.search_params.add(p)},k.hash),async fetch(p,h){p instanceof Request&&(h={body:p.method==="GET"||p.method==="HEAD"?void 0:await p.blob(),cache:p.cache,credentials:p.credentials,headers:[...p.headers].length?p.headers:void 0,integrity:p.integrity,keepalive:p.keepalive,method:p.method,mode:p.mode,redirect:p.redirect,referrer:p.referrer,referrerPolicy:p.referrerPolicy,signal:p.signal,...h});const{resolved:_,promise:R}=Te(p,h,n);return o&&f(_.href),R},setHeaders:()=>{},depends:f,parent(){return o&&(c.parent=!0),e()},untrack(p){o=!1;try{return p()}finally{o=!0}}};i=await l.universal.load.call(null,m)??null}return{node:l,loader:t,server:s,universal:(u=l.universal)!=null&&u.load?{type:"data",data:i,uses:c}:null,data:i??(s==null?void 0:s.data)??null,slash:((y=l.universal)==null?void 0:y.trailingSlash)??(s==null?void 0:s.slash)}}function Te(t,e,n){let a=t instanceof Request?t.url:t;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const s=wt?Ke(a,r.href,e):He(a,e);return{resolved:r,promise:s}}function se(t,e,n,a,r,s){if(Gt)return!0;if(!r)return!1;if(r.parent&&t||r.route&&e||r.url&&n)return!0;for(const i of r.search_params)if(a.has(i))return!0;for(const i of r.params)if(s[i]!==v.params[i])return!0;for(const i of r.dependencies)if(mt.some(o=>o(new URL(i))))return!0;return!1}function Ht(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function Ln(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),s=e.searchParams.getAll(a);r.every(i=>s.includes(i))&&s.every(i=>r.includes(i))&&n.delete(a)}return n}function ie({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:Wt(U),constructors:[]}}}async function xe({id:t,invalidating:e,url:n,params:a,route:r,preload:s}){if((L==null?void 0:L.id)===t)return J.delete(L.token),L.promise;const{errors:i,layouts:o,leaf:c}=r,l=[...o,c];i.forEach(g=>g==null?void 0:g().catch(()=>{})),l.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let d=null;const u=v.url?t!==vt(v.url):!1,y=v.route?r.id!==v.route.id:!1,f=Ln(v.url,n);let m=!1;const p=l.map((g,w)=>{var D;const b=v.branch[w],S=!!(g!=null&&g[0])&&((b==null?void 0:b.loader)!==g[1]||se(m,y,u,f,(D=b.server)==null?void 0:D.uses,a));return S&&(m=!0),S});if(p.some(Boolean)){try{d=await Oe(n,p)}catch(g){const w=await z(g,{url:n,params:a,route:{id:t}});return J.has(s)?ie({error:w,url:n,params:a,route:r}):St({status:pt(g),error:w,url:n,route:r})}if(d.type==="redirect")return d}const h=d==null?void 0:d.nodes;let _=!1;const R=l.map(async(g,w)=>{var Rt;if(!g)return;const b=v.branch[w],S=h==null?void 0:h[w];if((!S||S.type==="skip")&&g[1]===(b==null?void 0:b.loader)&&!se(_,y,u,f,(Rt=b.universal)==null?void 0:Rt.uses,a))return b;if(_=!0,(S==null?void 0:S.type)==="error")throw S;return zt({loader:g[1],url:n,params:a,route:r,parent:async()=>{var Jt;const Yt={};for(let It=0;It<w;It+=1)Object.assign(Yt,(Jt=await R[It])==null?void 0:Jt.data);return Yt},server_data_node:Ht(S===void 0&&g[0]?{type:"skip"}:S??null,g[0]?b==null?void 0:b.server:void 0)})});for(const g of R)g.catch(()=>{});const I=[];for(let g=0;g<l.length;g+=1)if(l[g])try{I.push(await R[g])}catch(w){if(w instanceof Ft)return{type:"redirect",location:w.location};if(J.has(s))return ie({error:await z(w,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=pt(w),S;if(h!=null&&h.includes(w))b=w.status??b,S=w.error;else if(w instanceof kt)S=w.body;else{if(await $.updated.check())return await Ae(),await H(n);S=await z(w,{params:a,url:n,route:{id:r.id}})}const D=await Tn(g,I,i);return D?_t({url:n,params:a,branch:I.slice(0,D.idx).concat(D.node),status:b,error:S,route:r}):await Ce(n,{id:r.id},S,b)}else I.push(void 0);return _t({url:n,params:a,branch:I,status:200,error:null,route:r,form:e?void 0:null})}async function Tn(t,e,n){for(;t--;)if(n[t]){let a=t;for(;!e[a];)a-=1;try{return{idx:a+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function St({status:t,error:e,url:n,route:a}){const r={};let s=null;if(k.server_loads[0]===0)try{const o=await Oe(n,[!0]);if(o.type!=="data"||o.nodes[0]&&o.nodes[0].type!=="data")throw 0;s=o.nodes[0]??null}catch{(n.origin!==bt||n.pathname!==location.pathname||Mt)&&await H(n)}try{const o=await zt({loader:Ot,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Ht(s)}),c={node:await gt(),loader:gt,universal:null,server:null,data:null};return _t({url:n,params:r,branch:[o,c],status:t,error:e,route:null})}catch(o){if(o instanceof Ft)return Ue(new URL(o.location,location.href),{},0);throw o}}async function xn(t){const e=t.href;if(ht.has(e))return ht.get(e);let n;try{const a=(async()=>{let r=await k.hooks.reroute({url:new URL(t),fetch:async(s,i)=>Te(s,i,t).promise})??t;if(typeof r=="string"){const s=new URL(t);k.hash?s.hash=r:s.pathname=r,r=s}return r})();ht.set(e,a),n=await a}catch{ht.delete(e);return}return n}async function Et(t,e){if(t&&!At(t,x,k.hash)){const n=await xn(t);if(!n)return;const a=Pn(n);for(const r of qt){const s=r.exec(a);if(s)return{id:vt(t),invalidating:e,route:r,params:Be(s),url:t}}}}function Pn(t){return Ve(k.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(x.length))||"/"}function vt(t){return(k.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Pe({url:t,type:e,intent:n,delta:a}){let r=!1;const s=Kt(v,n,t,e);a!==void 0&&(s.navigation.delta=a);const i={...s.navigation,cancel:()=>{r=!0,s.reject(new Error("navigation cancelled"))}};return et||ke.forEach(o=>o(i)),r?null:s}async function X({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:s,state:i={},redirect_count:o=0,nav_token:c={},accept:l=re,block:d=re}){const u=V;V=c;const y=await Et(e,!1),f=t==="enter"?Kt(v,y,e,t):Pe({url:e,type:t,delta:n==null?void 0:n.delta,intent:y});if(!f){d(),V===c&&(V=u);return}const m=E,p=T;l(),et=!0,wt&&f.navigation.type!=="enter"&&$.navigating.set(Q.current=f.navigation);let h=y&&await xe(y);if(!h){if(At(e,x,k.hash))return await H(e);h=await Ce(e,{id:null},await z(new Vt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(y==null?void 0:y.url)||e,V!==c)return f.reject(new Error("navigation aborted")),!1;if(h.type==="redirect")if(o>=20)h=await St({status:500,error:await z(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return await Ue(new URL(h.location,e).href,{},o+1,c),!1;else h.props.page.status>=400&&await $.updated.check()&&(await Ae(),await H(e));if(In(),Bt(m),Re(p),h.props.page.url.pathname!==e.pathname&&(e.pathname=h.props.page.url.pathname),i=n?n.state:i,!n){const g=s?0:1,w={[G]:E+=g,[Z]:T+=g,[me]:i};(s?history.replaceState:history.pushState).call(history,w,"",e),s||En(E,T)}if(L=null,h.props.page.state=i,wt){v=h.state,h.props.page&&(h.props.page.url=e);const g=(await Promise.all(Array.from(Rn,w=>w(f.navigation)))).filter(w=>typeof w=="function");if(g.length>0){let w=function(){g.forEach(b=>{Y.delete(b)})};g.push(w),g.forEach(b=>{Y.add(b)})}Ee.$set(h.props),vn(h.props.page),Se=!0}else Le(h,Nt,!1);const{activeElement:_}=document;await De();const R=n?n.scroll:r?Dt():null;if(ae){const g=e.hash&&document.getElementById(decodeURIComponent(k.hash?e.hash.split("#")[2]??"":e.hash.slice(1)));R?scrollTo(R.x,R.y):g?g.scrollIntoView():scrollTo(0,0)}const I=document.activeElement!==_&&document.activeElement!==document.body;!a&&!I&&$n(),ae=!0,h.props.page&&Object.assign(U,h.props.page),et=!1,t==="popstate"&&Ie(T),f.fulfil(void 0),Y.forEach(g=>g(f.navigation)),$.navigating.set(Q.current=null)}async function Ce(t,e,n,a){return t.origin===bt&&t.pathname===location.pathname&&!Mt?await St({status:a,error:n,url:t,route:e}):await H(t)}function Cn(){let t,e,n;j.addEventListener("mousemove",o=>{const c=o.target;clearTimeout(t),t=setTimeout(()=>{s(c,F.hover)},20)});function a(o){o.defaultPrevented||s(o.composedPath()[0],F.tap)}j.addEventListener("mousedown",a),j.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting&&(Pt(new URL(c.target.href)),r.unobserve(c.target))},{threshold:0});async function s(o,c){const l=_e(o,j),d=l===e&&c>=n;if(!l||d)return;const{url:u,external:y,download:f}=Ct(l,x,k.hash);if(y||f)return;const m=dt(l),p=u&&vt(v.url)===vt(u);if(!(m.reload||p))if(c<=m.preload_data){e=l,n=F.tap;const h=await Et(u,!1);if(!h)return;Un(h)}else c<=m.preload_code&&(e=l,n=c,Pt(u))}function i(){r.disconnect();for(const o of j.querySelectorAll("a")){const{url:c,external:l,download:d}=Ct(o,x,k.hash);if(l||d)continue;const u=dt(o);u.reload||(u.preload_code===F.viewport&&r.observe(o),u.preload_code===F.eager&&Pt(c))}}Y.add(i),i()}function z(t,e){if(t instanceof kt)return t.body;const n=pt(t),a=wn(t);return k.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function On(t){if(typeof t=="function")mt.push(t);else{const{href:e}=new URL(t,location.href);mt.push(n=>n.href===e)}}function Nn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(oe(),!et){const r=Kt(v,void 0,null,"leave"),s={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};ke.forEach(i=>i(s))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&oe()}),(e=navigator.connection)!=null&&e.saveData||Cn(),j.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=_e(n.composedPath()[0],j);if(!a)return;const{url:r,external:s,target:i,download:o}=Ct(a,x,k.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=dt(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(k.hash?r.hash.replace(/^#/,""):r.href).split("#"),y=d===Lt(location);if(s||c.reload&&(!y||!u)){Pe({url:r,type:"link"})?et=!0:n.preventDefault();return}if(u!==void 0&&y){const[,f]=v.url.href.split("#");if(f===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const m=a.ownerDocument.getElementById(decodeURIComponent(u));m&&(m.scrollIntoView(),m.focus())}return}if(K=!0,Bt(E),t(r),!c.replace_state)return;K=!1}n.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await X({type:"link",url:r,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??r.href===location.href})}),j.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(At(o,x,!1))return;const c=n.target,l=dt(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(c),u=r==null?void 0:r.getAttribute("name");u&&d.append(u,(r==null?void 0:r.getAttribute("value"))??""),o.search=new URLSearchParams(d).toString(),X({type:"form",url:o,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??o.href===location.href})}),addEventListener("popstate",async n=>{var a;if((a=n.state)!=null&&a[G]){const r=n.state[G];if(V={},r===E)return;const s=B[r],i=n.state[me]??{},o=new URL(n.state[nn]??location.href),c=n.state[Z],l=v.url?Lt(location)===Lt(v.url):!1;if(c===T&&(Se||l)){i!==U.state&&(U.state=i),t(o),B[E]=Dt(),s&&scrollTo(s.x,s.y),E=r;return}const u=r-E;await X({type:"popstate",url:o,popped:{state:i,scroll:s,delta:u},accept:()=>{E=r,T=c},block:()=>{history.go(-u)},nav_token:V})}else if(!K){const r=new URL(location.href);t(r),k.hash&&location.reload()}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[G]:++E,[Z]:T},"",location.href))});for(const n of document.querySelectorAll("link"))Sn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&$.navigating.set(Q.current=null)});function t(n){v.url=U.url=n,$.page.set(Wt(U)),$.page.notify()}}async function jn(t,{status:e=200,error:n,node_ids:a,params:r,route:s,server_route:i,data:o,form:c}){Mt=!0;const l=new URL(location.href);let d;({params:r={},route:s={id:null}}=await Et(l,!1)||{}),d=qt.find(({id:f})=>f===s.id);let u,y=!0;try{const f=a.map(async(p,h)=>{const _=o[h];return _!=null&&_.uses&&(_.uses=Ne(_.uses)),zt({loader:k.nodes[p],url:l,params:r,route:s,parent:async()=>{const R={};for(let I=0;I<h;I+=1)Object.assign(R,(await f[I]).data);return R},server_data_node:Ht(_)})}),m=await Promise.all(f);if(d){const p=d.layouts;for(let h=0;h<p.length;h++)p[h]||m.splice(h,0,void 0)}u=_t({url:l,params:r,branch:m,status:e,error:n,form:c,route:d??null})}catch(f){if(f instanceof Ft){await H(new URL(f.location,location.href));return}u=await St({status:pt(f),error:await z(f,{url:l,params:r,route:s}),url:l,route:s}),t.textContent="",y=!1}u.props.page&&(u.props.page.state={}),Le(u,t,y)}async function Oe(t,e){var s;const n=new URL(t);n.pathname=kn(t.pathname),t.pathname.endsWith("/")&&n.searchParams.append(yn,"1"),n.searchParams.append(mn,e.map(i=>i?"1":"0").join(""));const a=window.fetch,r=await a(n.href,{});if(!r.ok){let i;throw(s=r.headers.get("content-type"))!=null&&s.includes("application/json")?i=await r.json():r.status===404?i="Not Found":r.status===500&&(i="Internal Error"),new kt(r.status,i)}return new Promise(async i=>{var y;const o=new Map,c=r.body.getReader(),l=new TextDecoder;function d(f){return dn(f,{...k.decoders,Promise:m=>new Promise((p,h)=>{o.set(m,{fulfil:p,reject:h})})})}let u="";for(;;){const{done:f,value:m}=await c.read();if(f&&!u)break;for(u+=!m&&u?`
`:l.decode(m,{stream:!0});;){const p=u.indexOf(`
`);if(p===-1)break;const h=JSON.parse(u.slice(0,p));if(u=u.slice(p+1),h.type==="redirect")return i(h);if(h.type==="data")(y=h.nodes)==null||y.forEach(_=>{(_==null?void 0:_.type)==="data"&&(_.uses=Ne(_.uses),_.data=d(_.data))}),i(h);else if(h.type==="chunk"){const{id:_,data:R,error:I}=h,g=o.get(_);o.delete(_),I?g.reject(d(I)):g.fulfil(d(R))}}}})}function Ne(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}function $n(){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const e=document.body,n=e.getAttribute("tabindex");e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),n!==null?e.setAttribute("tabindex",n):e.removeAttribute("tabindex");const a=getSelection();if(a&&a.type!=="None"){const r=[];for(let s=0;s<a.rangeCount;s+=1)r.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===r.length){for(let s=0;s<a.rangeCount;s+=1){const i=r[s],o=a.getRangeAt(s);if(i.commonAncestorContainer!==o.commonAncestorContainer||i.startContainer!==o.startContainer||i.endContainer!==o.endContainer||i.startOffset!==o.startOffset||i.endOffset!==o.endOffset)return}a.removeAllRanges()}})}}}function Kt(t,e,n,a){var c,l;let r,s;const i=new Promise((d,u)=>{r=d,s=u});return i.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((l=e==null?void 0:e.route)==null?void 0:l.id)??null},url:n},willUnload:!e,type:a,complete:i},fulfil:r,reject:s}}function Wt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Dn(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}export{Hn as a,qn as l,U as p,$ as s};

View File

@@ -0,0 +1 @@
import{T as i,G as f,a8 as p,D as _,a9 as h,aa as E,m as d,o,M as T,L as g}from"./7LwFGTVl.js";function y(n){var t=document.createElement("template");return t.innerHTML=n,t.content}function r(n,t){var e=_;e.nodes_start===null&&(e.nodes_start=n,e.nodes_end=t)}function x(n,t){var e=(t&h)!==0,c=(t&E)!==0,a,m=!n.startsWith("<!>");return()=>{if(d)return r(o,null),o;a===void 0&&(a=y(m?n:"<!>"+n),e||(a=f(a)));var s=c||p?document.importNode(a,!0):a.cloneNode(!0);if(e){var l=f(s),v=s.lastChild;r(l,v)}else r(s,s);return s}}function L(n=""){if(!d){var t=i(n+"");return r(t,t),t}var e=o;return e.nodeType!==3&&(e.before(e=i()),g(e)),r(e,e),e}function N(){if(d)return r(o,null),o;var n=document.createDocumentFragment(),t=document.createComment(""),e=i();return n.append(t,e),r(t,e),n}function P(n,t){if(d){_.nodes_end=o,T();return}n!==null&&n.before(t)}const M="5";var u;typeof window<"u"&&((u=window.__svelte??(window.__svelte={})).v??(u.v=new Set)).add(M);export{P as a,r as b,N as c,L as d,x as t};

View File

@@ -0,0 +1 @@
import{y as P,z as R,A as O,B as V,C as k,D as I,F as b,G as C,H as Y,I as j,J as T,K as g,L as A,M as q,o as p,N as B,O as $,P as z,Q as F,R as G,S as J,T as K,j as Q,q as W,c as U,m as E,s as X}from"./7LwFGTVl.js";import{b as Z}from"./C1JNRcsB.js";const x=["touchstart","touchmove"];function rr(r){return x.includes(r)}const er=new Set,D=new Set;function m(r){var N;var e=this,s=e.ownerDocument,c=r.type,i=((N=r.composedPath)==null?void 0:N.call(r))||[],t=i[0]||r.target,u=0,_=r.__root;if(_){var d=i.indexOf(_);if(d!==-1&&(e===document||e===window)){r.__root=e;return}var h=i.indexOf(e);if(h===-1)return;d<=h&&(u=d)}if(t=i[u]||r.target,t!==e){P(r,"currentTarget",{configurable:!0,get(){return t||s}});var w=k,o=I;R(null),O(null);try{for(var a,n=[];t!==null;){var f=t.assignedSlot||t.parentNode||t.host||null;try{var l=t["__"+c];if(l!=null&&(!t.disabled||r.target===t))if(V(l)){var[H,...M]=l;H.apply(t,[r,...M])}else l.call(t,r)}catch(v){a?n.push(v):a=v}if(r.cancelBubble||f===e||f===null)break;t=f}if(a){for(let v of n)queueMicrotask(()=>{throw v});throw a}}finally{r.__root=e,delete r.currentTarget,R(w),O(o)}}}function nr(r,e){var s=e==null?"":typeof e=="object"?e+"":e;s!==(r.__t??(r.__t=r.nodeValue))&&(r.__t=s,r.nodeValue=s+"")}function tr(r,e){return L(r,e)}function or(r,e){b(),e.intro=e.intro??!1;const s=e.target,c=E,i=p;try{for(var t=C(s);t&&(t.nodeType!==8||t.data!==Y);)t=j(t);if(!t)throw T;g(!0),A(t),q();const u=L(r,{...e,anchor:t});if(p===null||p.nodeType!==8||p.data!==B)throw $(),T;return g(!1),u}catch(u){if(u===T)return e.recover===!1&&z(),b(),F(s),g(!1),tr(r,e);throw u}finally{g(c),A(i)}}const y=new Map;function L(r,{target:e,anchor:s,props:c={},events:i,context:t,intro:u=!0}){b();var _=new Set,d=o=>{for(var a=0;a<o.length;a++){var n=o[a];if(!_.has(n)){_.add(n);var f=rr(n);e.addEventListener(n,m,{passive:f});var l=y.get(n);l===void 0?(document.addEventListener(n,m,{passive:f}),y.set(n,1)):y.set(n,l+1)}}};d(G(er)),D.add(d);var h=void 0,w=J(()=>{var o=s??e.appendChild(K());return Q(()=>{if(t){W({});var a=U;a.c=t}i&&(c.$$events=i),E&&Z(o,null),h=r(o,c)||{},E&&(I.nodes_end=p),t&&X()}),()=>{var f;for(var a of _){e.removeEventListener(a,m);var n=y.get(a);--n===0?(document.removeEventListener(a,m),y.delete(a)):y.set(a,n)}D.delete(d),o!==s&&((f=o.parentNode)==null||f.removeChild(o))}});return S.set(h,w),h}let S=new WeakMap;function ir(r,e){const s=S.get(r);return s?(S.delete(r),s(e)):Promise.resolve()}export{or as h,tr as m,nr as s,ir as u};

View File

@@ -0,0 +1 @@
import{a as o,c as t,l as c,b as l}from"./7LwFGTVl.js";function u(n){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function r(n){t===null&&u(),c&&t.l!==null?a(t).m.push(n):o(()=>{const e=l(n);if(typeof e=="function")return e})}function a(n){var e=n.l;return e.u??(e.u={a:[],b:[],m:[]})}export{r as o};

View File

@@ -0,0 +1 @@
import{c as d,u as g,a as l,r as i,b,g as p,d as m,e as h,f as v,h as k}from"./7LwFGTVl.js";function x(n=!1){const s=d,e=s.l.u;if(!e)return;let o=()=>h(s.s);if(n){let a=0,t={};const _=v(()=>{let c=!1;const r=s.s;for(const f in r)r[f]!==t[f]&&(t[f]=r[f],c=!0);return c&&a++,a});o=()=>p(_)}e.b.length&&g(()=>{u(s,o),i(e.b)}),l(()=>{const a=b(()=>e.m.map(m));return()=>{for(const t of a)typeof t=="function"&&t()}}),e.a.length&&l(()=>{u(s,o),i(e.a)})}function u(n,s){if(n.l.s)for(const e of n.l.s)p(e);s()}k();export{x as i};

View File

@@ -0,0 +1,2 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.C10SzQKY.js","../chunks/C1JNRcsB.js","../chunks/7LwFGTVl.js","../assets/0.BJxIG_zl.css","../nodes/1.CmP9Wh21.js","../chunks/G3SYufGp.js","../chunks/CvwgUIOn.js","../chunks/Bkzr8dUC.js","../chunks/DtKB1_9u.js","../nodes/2.CpB6OS4x.js"])))=>i.map(i=>d[i]);
var X=t=>{throw TypeError(t)};var J=(t,e,r)=>e.has(t)||X("Cannot "+r);var E=(t,e,r)=>(J(t,e,"read from private field"),r?r.call(t):e.get(t)),B=(t,e,r)=>e.has(t)?X("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),U=(t,e,r,n)=>(J(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);import{m as D,M as ae,i as se,E as ne,H as de,V as _e,W as ve,L as he,K as Q,X as p,j as Z,Y as z,ab as me,o as ie,ac as ge,ad as Ee,b as K,ae as be,af as fe,ag as Pe,ah as ye,ai as Re,f as $,U as Se,aj as Ie,g as h,ak as Ae,al as Te,a6 as k,$ as ce,am as Oe,an as ue,l as Le,ao as we,ap as De,aq as ke,ar as qe,y as Ce,q as Ne,u as je,a as Be,as as Y,at as Ue,p as C,x as Ye,s as Ve,v as He,w as Me,au as V,t as xe}from"../chunks/7LwFGTVl.js";import{h as Fe,m as Ge,u as We,s as Ze}from"../chunks/CvwgUIOn.js";import{t as oe,a as L,c as H,d as ze}from"../chunks/C1JNRcsB.js";import{o as Ke}from"../chunks/DtKB1_9u.js";function M(t,e,[r,n]=[0,0]){D&&r===0&&ae();var f=t,i=null,s=null,a=me,v=r>0?ne:0,c=!1;const b=(m,o=!0)=>{c=!0,P(o,m)},P=(m,o)=>{if(a===(a=m))return;let g=!1;if(D&&n!==-1){if(r===0){const _=f.data;_===de?n=0:_===_e?n=1/0:(n=parseInt(_.substring(1)),n!==n&&(n=a?1/0:-1))}const u=n>r;!!a===u&&(f=ve(),he(f),Q(!1),g=!0,n=-1)}a?(i?p(i):o&&(i=Z(()=>o(f))),s&&z(s,()=>{s=null})):(s?p(s):o&&(s=Z(()=>o(f,[r+1,n]))),i&&z(i,()=>{i=null})),g&&Q(!0)};se(()=>{c=!1,e(b),c||P(null,null)},v),D&&(f=ie)}function x(t,e,r){D&&ae();var n=t,f,i;se(()=>{f!==(f=e())&&(i&&(z(i),i=null),f&&(i=Z(()=>r(n,f))))},ne),D&&(n=ie)}function ee(t,e){return t===e||(t==null?void 0:t[fe])===e}function F(t={},e,r,n){return ge(()=>{var f,i;return Ee(()=>{f=i,i=[],K(()=>{t!==r(...i)&&(e(t,...i),f&&ee(r(...f),t)&&e(null,...f))})}),()=>{be(()=>{i&&ee(r(...i),t)&&e(null,...i)})}}),t}let N=!1;function Xe(t){var e=N;try{return N=!1,[t(),N]}finally{N=e}}function te(t){var e;return((e=t.ctx)==null?void 0:e.d)??!1}function G(t,e,r,n){var j;var f=(r&De)!==0,i=!Le||(r&we)!==0,s=(r&Oe)!==0,a=(r&ke)!==0,v=!1,c;s?[c,v]=Xe(()=>t[e]):c=t[e];var b=fe in t||ue in t,P=s&&(((j=Pe(t,e))==null?void 0:j.set)??(b&&e in t&&(d=>t[e]=d)))||void 0,m=n,o=!0,g=!1,u=()=>(g=!0,o&&(o=!1,a?m=K(n):m=n),m);c===void 0&&n!==void 0&&(P&&i&&ye(),c=u(),P&&P(c));var _;if(i)_=()=>{var d=t[e];return d===void 0?u():(o=!0,g=!1,d)};else{var A=(f?$:Se)(()=>t[e]);A.f|=Re,_=()=>{var d=h(A);return d!==void 0&&(m=void 0),d===void 0?m:d}}if((r&Ie)===0)return _;if(P){var O=t.$$legacy;return function(d,T){return arguments.length>0?((!i||!T||O||v)&&P(T?_():d),d):_()}}var R=!1,S=ce(c),l=$(()=>{var d=_(),T=h(S);return R?(R=!1,T):S.v=d});return s&&h(l),f||(l.equals=Ae),function(d,T){if(arguments.length>0){const w=T?h(l):i&&s?Te(d):d;if(!l.equals(w)){if(R=!0,k(S,w),g&&m!==void 0&&(m=w),te(l))return d;K(()=>h(l))}return d}return te(l)?l.v:h(l)}}function Je(t){return class extends Qe{constructor(e){super({component:t,...e})}}}var I,y;class Qe{constructor(e){B(this,I);B(this,y);var i;var r=new Map,n=(s,a)=>{var v=ce(a);return r.set(s,v),v};const f=new Proxy({...e.props||{},$$events:{}},{get(s,a){return h(r.get(a)??n(a,Reflect.get(s,a)))},has(s,a){return a===ue?!0:(h(r.get(a)??n(a,Reflect.get(s,a))),Reflect.has(s,a))},set(s,a,v){return k(r.get(a)??n(a,v),v),Reflect.set(s,a,v)}});U(this,y,(e.hydrate?Fe:Ge)(e.component,{target:e.target,anchor:e.anchor,props:f,context:e.context,intro:e.intro??!1,recover:e.recover})),(!((i=e==null?void 0:e.props)!=null&&i.$$host)||e.sync===!1)&&qe(),U(this,I,f.$$events);for(const s of Object.keys(E(this,y)))s==="$set"||s==="$destroy"||s==="$on"||Ce(this,s,{get(){return E(this,y)[s]},set(a){E(this,y)[s]=a},enumerable:!0});E(this,y).$set=s=>{Object.assign(f,s)},E(this,y).$destroy=()=>{We(E(this,y))}}$set(e){E(this,y).$set(e)}$on(e,r){E(this,I)[e]=E(this,I)[e]||[];const n=(...f)=>r.call(this,...f);return E(this,I)[e].push(n),()=>{E(this,I)[e]=E(this,I)[e].filter(f=>f!==n)}}$destroy(){E(this,y).$destroy()}}I=new WeakMap,y=new WeakMap;const pe="modulepreload",$e=function(t,e){return new URL(t,e).href},re={},W=function(e,r,n){let f=Promise.resolve();if(r&&r.length>0){const s=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),v=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));f=Promise.allSettled(r.map(c=>{if(c=$e(c,n),c in re)return;re[c]=!0;const b=c.endsWith(".css"),P=b?'[rel="stylesheet"]':"";if(!!n)for(let g=s.length-1;g>=0;g--){const u=s[g];if(u.href===c&&(!b||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${P}`))return;const o=document.createElement("link");if(o.rel=b?"stylesheet":pe,b||(o.as="script"),o.crossOrigin="",o.href=c,v&&o.setAttribute("nonce",v),document.head.appendChild(o),b)return new Promise((g,u)=>{o.addEventListener("load",g),o.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(s){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s}return f.then(s=>{for(const a of s||[])a.status==="rejected"&&i(a.reason);return e().catch(i)})},ot={};var et=oe('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),tt=oe("<!> <!>",1);function rt(t,e){Ne(e,!0);let r=G(e,"components",23,()=>[]),n=G(e,"data_0",3,null),f=G(e,"data_1",3,null);je(()=>e.stores.page.set(e.page)),Be(()=>{e.stores,e.page,e.constructors,r(),e.form,n(),f(),e.stores.page.notify()});let i=Y(!1),s=Y(!1),a=Y(null);Ke(()=>{const u=e.stores.page.subscribe(()=>{h(i)&&(k(s,!0),Ue().then(()=>{k(a,document.title||"untitled page",!0)}))});return k(i,!0),u});const v=V(()=>e.constructors[1]);var c=tt(),b=C(c);{var P=u=>{var _=H();const A=V(()=>e.constructors[0]);var O=C(_);x(O,()=>h(A),(R,S)=>{F(S(R,{get data(){return n()},get form(){return e.form},children:(l,j)=>{var d=H(),T=C(d);x(T,()=>h(v),(w,le)=>{F(le(w,{get data(){return f()},get form(){return e.form}}),q=>r()[1]=q,()=>{var q;return(q=r())==null?void 0:q[1]})}),L(l,d)},$$slots:{default:!0}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),L(u,_)},m=u=>{var _=H();const A=V(()=>e.constructors[0]);var O=C(_);x(O,()=>h(A),(R,S)=>{F(S(R,{get data(){return n()},get form(){return e.form}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),L(u,_)};M(b,u=>{e.constructors[1]?u(P):u(m,!1)})}var o=Ye(b,2);{var g=u=>{var _=et(),A=He(_);{var O=R=>{var S=ze();xe(()=>Ze(S,h(a))),L(R,S)};M(A,R=>{h(s)&&R(O)})}Me(_),L(u,_)};M(o,u=>{h(i)&&u(g)})}L(t,c),Ve()}const lt=Je(rt),dt=[()=>W(()=>import("../nodes/0.C10SzQKY.js"),__vite__mapDeps([0,1,2,3]),import.meta.url),()=>W(()=>import("../nodes/1.CmP9Wh21.js"),__vite__mapDeps([4,1,2,5,6,7,8]),import.meta.url),()=>W(()=>import("../nodes/2.CpB6OS4x.js"),__vite__mapDeps([9,1,2,5,6,8]),import.meta.url)],_t=[],vt={"/":[2]},at={handleError:({error:t})=>{console.error(t)},reroute:()=>{},transport:{}},st=Object.fromEntries(Object.entries(at.transport).map(([t,e])=>[t,e.decode])),ht=!1,mt=(t,e)=>st[t](e);export{mt as decode,st as decoders,vt as dictionary,ht as hash,at as hooks,ot as matchers,dt as nodes,lt as root,_t as server_loads};

View File

@@ -0,0 +1 @@
import{l as o,a as r}from"../chunks/Bkzr8dUC.js";export{o as load_css,r as start};

View File

@@ -0,0 +1 @@
import{c as s,a as i}from"../chunks/C1JNRcsB.js";import{i as p,E as f,j as c,n as m,k as d,m as h,o as l,p as _}from"../chunks/7LwFGTVl.js";function u(o,t,...a){var n=o,e=m,r;p(()=>{e!==(e=t())&&(r&&(d(r),r=null),r=c(()=>e(n,...a)))},f),h&&(n=l)}function E(o,t){var a=s(),n=_(a);u(n,()=>t.children),i(o,a)}export{E as component};

View File

@@ -0,0 +1 @@
import{t as g,a as h}from"../chunks/C1JNRcsB.js";import{i as v}from"../chunks/G3SYufGp.js";import{q as l,p as d,t as x,s as _,v as a,w as o,x as $}from"../chunks/7LwFGTVl.js";import{s as p}from"../chunks/CvwgUIOn.js";import{s as k,p as m}from"../chunks/Bkzr8dUC.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var q=g("<h1> </h1> <p> </p>",1);function A(n,c){l(c,!1),v();var r=q(),t=d(r),f=a(t,!0);o(t);var e=$(t,2),u=a(e,!0);o(e),x(()=>{var s;p(f,i.status),p(u,(s=i.error)==null?void 0:s.message)}),h(n,r),_()}export{A as component};

View File

@@ -0,0 +1,19 @@
import{t as W,a as j}from"../chunks/C1JNRcsB.js";import{i as K}from"../chunks/G3SYufGp.js";import{T as Q,i as J,L as N,m as k,G as ee,M as te,g as A,U as se,V as ae,W as L,K as Y,o as I,N as re,X as G,j as U,Y as ie,Z as z,R as $,D as H,_ as le,$ as V,a0 as O,a1 as ne,a2 as oe,Q as ce,a3 as de,k as ve,a4 as ue,a5 as fe,I as ge,B as pe,q as he,t as Z,s as xe,a6 as be,x as T,v as _,w,a7 as me}from"../chunks/7LwFGTVl.js";import{s as B}from"../chunks/CvwgUIOn.js";import{o as ye}from"../chunks/DtKB1_9u.js";function we(a,e){return e}function _e(a,e,t,o){for(var v=[],d=e.length,n=0;n<d;n++)oe(e[n].e,v,!0);var u=d>0&&v.length===0&&t!==null;if(u){var g=t.parentNode;ce(g),g.append(t),o.clear(),C(a,e[0].prev,e[d-1].next)}de(v,()=>{for(var p=0;p<d;p++){var s=e[p];u||(o.delete(s.k),C(a,s.prev,s.next)),ve(s.e,!u)}})}function ke(a,e,t,o,v,d=null){var n=a,u={flags:e,items:new Map,first:null};{var g=a;n=k?N(ee(g)):g.appendChild(Q())}k&&te();var p=null,s=!1,h=se(()=>{var r=t();return pe(r)?r:r==null?[]:$(r)});J(()=>{var r=A(h),c=r.length;if(s&&c===0)return;s=c===0;let i=!1;if(k){var b=n.data===ae;b!==(c===0)&&(n=L(),N(n),Y(!1),i=!0)}if(k){for(var x=null,l,f=0;f<c;f++){if(I.nodeType===8&&I.data===re){n=I,i=!0,Y(!1);break}var E=r[f],m=o(E,f);l=F(I,u,x,null,E,m,f,v,e,t),u.items.set(m,l),x=l}c>0&&N(L())}k||Ae(r,u,n,v,e,o,t),d!==null&&(c===0?p?G(p):p=U(()=>d(n)):p!==null&&ie(p,()=>{p=null})),i&&Y(!0),A(h)}),k&&(n=I)}function Ae(a,e,t,o,v,d,n){var u=a.length,g=e.items,p=e.first,s=p,h,r=null,c=[],i=[],b,x,l,f;for(f=0;f<u;f+=1){if(b=a[f],x=d(b,f),l=g.get(x),l===void 0){var E=s?s.e.nodes_start:t;r=F(E,e,r,r===null?e.first:r.next,b,x,f,o,v,n),g.set(x,r),c=[],i=[],s=r.next;continue}if(Ce(l,b,f),(l.e.f&z)!==0&&G(l.e),l!==s){if(h!==void 0&&h.has(l)){if(c.length<i.length){var m=i[0],y;r=m.prev;var R=c[0],S=c[c.length-1];for(y=0;y<c.length;y+=1)q(c[y],m,t);for(y=0;y<i.length;y+=1)h.delete(i[y]);C(e,R.prev,S.next),C(e,r,R),C(e,S,m),s=m,r=S,f-=1,c=[],i=[]}else h.delete(l),q(l,s,t),C(e,l.prev,l.next),C(e,l,r===null?e.first:r.next),C(e,r,l),r=l;continue}for(c=[],i=[];s!==null&&s.k!==x;)(s.e.f&z)===0&&(h??(h=new Set)).add(s),i.push(s),s=s.next;if(s===null)continue;l=s}c.push(l),r=l,s=l.next}if(s!==null||h!==void 0){for(var M=h===void 0?[]:$(h);s!==null;)(s.e.f&z)===0&&M.push(s),s=s.next;var P=M.length;if(P>0){var X=u===0?t:null;_e(e,M,X,g)}}H.first=e.first&&e.first.e,H.last=r&&r.e}function Ce(a,e,t,o){le(a.v,e),a.i=t}function F(a,e,t,o,v,d,n,u,g,p){var s=(g&ue)!==0,h=(g&fe)===0,r=s?h?V(v):O(v):v,c=(g&ne)===0?n:O(n),i={i:c,v:r,k:d,a:null,e:null,prev:t,next:o};try{return i.e=U(()=>u(a,r,c,p),k),i.e.prev=t&&t.e,i.e.next=o&&o.e,t===null?e.first=i:(t.next=i,t.e.next=i.e),o!==null&&(o.prev=i,o.e.prev=i.e),i}finally{}}function q(a,e,t){for(var o=a.next?a.next.e.nodes_start:t,v=e?e.e.nodes_start:t,d=a.e.nodes_start;d!==o;){var n=ge(d);v.before(d),d=n}}function C(a,e,t){e===null?a.first=t:(e.next=t,e.e.next=t&&t.e),t!==null&&(t.prev=e,t.e.prev=e&&e.e)}function Te(a,e,t){var o=a==null?"":""+a;return o===""?null:o}function D(a,e,t,o,v,d){var n=a.__className;if(k||n!==t||n===void 0){var u=Te(t);(!k||u!==a.getAttribute("class"))&&(u==null?a.removeAttribute("class"):a.className=u),a.__className=t}return d}var Ee=W('<div class="bg-opacity-50 rounded-lg bg-gray-800 p-8 transition-all duration-300 hover:-translate-y-2 hover:transform hover:bg-gray-700"><div class="mb-6 text-4xl"> </div> <h3 class="mb-4 text-2xl font-bold"> </h3> <p class="text-gray-300"> </p></div>'),Ie=W(`<div class="min-h-screen bg-gradient-to-b from-gray-900 to-gray-800 font-sans text-gray-100"><nav class="bg-opacity-90 fixed z-10 w-full bg-gray-900"><div class="container mx-auto flex items-center justify-between px-6 py-4"><div class="flex items-center"><span class="text-2xl font-bold text-blue-500">A2Z</span> <span class="text-2xl font-bold">Software</span></div> <div class="hidden space-x-8 md:flex"><a href="#about" class="transition hover:text-blue-400">About</a> <a href="#services" class="transition hover:text-blue-400">Services</a> <a href="#solutions" class="transition hover:text-blue-400">Solutions</a> <a href="#contact" class="transition hover:text-blue-400">Contact</a></div> <button class="focus:outline-none md:hidden" aria-label="Toggle Menu"><svg class="h-6 w-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></nav> <section class="px-6 pt-32 pb-24"><div class="container mx-auto text-center"><h1>Innovating Tomorrow's Technology Today</h1> <p>A2ZSoftware delivers cutting-edge solutions at the intersection of technology and business,
empowering organizations to thrive in the digital landscape.</p> <div><a href="#solutions" class="rounded-lg bg-blue-600 px-8 py-3 font-bold text-white transition hover:bg-blue-700">Explore Solutions</a> <a href="#contact" class="rounded-lg border-2 border-blue-500 bg-transparent px-8 py-3 font-bold text-blue-400 transition hover:bg-blue-500 hover:text-white">Contact Us</a></div></div></section> <section id="about" class="bg-opacity-70 bg-gray-800 py-20"><div class="container mx-auto px-6"><div class="flex flex-col items-center md:flex-row"><div class="mb-10 md:mb-0 md:w-1/2"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-600 p-2"><span class="font-bold text-blue-400">About Us</span></div> <h2 class="mb-6 text-4xl font-bold">Pioneering the Future of Technology</h2> <p class="mb-6 text-gray-300">At A2ZSoftware, we're a growing startup determined to redefine what's possible in the
tech industry. Guided by a spirit of innovation and the drive to offer unique solutions,
we help businesses stay competitive in a digital-first world.</p> <p class="mb-6 text-gray-300">Our close-knit team merges deep technical expertise with entrepreneurial insight,
crafting tailored strategies that address current challenges and anticipate new market
opportunities. Were committed to pushing boundaries and delivering transformative
outcomes.</p> <p class="mb-6 text-gray-300">Although were still establishing our footprint, we strive to earn our clients trust by
streamlining processes, modernizing systems, and enhancing operational efficiency. At
A2ZSoftware, were passionate about tackling difficult problems and turning them into
innovative solutions.</p> <p class="mb-6 text-gray-300">Our culture is built on collaboration, continuous learning, and a commitment to
excellence. Every project begins with open communication and ends with tangible results.
By embracing emerging technologies and forward-thinking strategies, we believe we can
empower businesses to become more adaptable, sustainable, and prepared for the future.</p> <div class="mt-8 flex flex-wrap gap-8"><div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">10+</div> <div class="text-sm text-gray-400">Years of<br>Experience</div></div> <div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">300+</div> <div class="text-sm text-gray-400">Projects<br>Completed</div></div> <div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">98%</div> <div class="text-sm text-gray-400">Client<br>Satisfaction</div></div></div></div> <div class="md:w-1/2 md:pl-12"><div class="grid grid-cols-2 gap-4"><div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-blue-700 to-purple-700 p-6"><span class="text-5xl">🚀</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-purple-700 to-pink-700 p-6"><span class="text-5xl">💡</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-pink-700 to-red-700 p-6"><span class="text-5xl">⚙️</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-blue-700 to-green-700 p-6"><span class="text-5xl">🔍</span></div></div></div></div></div></section> <section id="services" class="bg-gray-900 py-20"><div class="container mx-auto px-6"><div class="mb-16 text-center"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-600 p-2"><span class="font-bold text-blue-400">Our Services</span></div> <h2 class="mb-6 text-4xl font-bold">Comprehensive Technology Solutions</h2> <p class="mx-auto max-w-3xl text-gray-300">We offer a wide range of services designed to help businesses leverage technology for
growth, efficiency, and innovation.</p></div> <div class="grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4"></div></div></section> <section id="solutions" class="bg-gradient-to-r from-blue-900 to-purple-900 py-20"><div class="container mx-auto px-6"><div class="mb-16 text-center"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-500 p-2"><span class="font-bold text-blue-300">Our Approach</span></div> <h2 class="mb-6 text-4xl font-bold">Innovative Solutions for Complex Challenges</h2> <p class="mx-auto max-w-3xl text-gray-300">We combine creativity with technical expertise to develop solutions that address your most
pressing business challenges.</p></div> <div class="grid grid-cols-1 gap-8 md:grid-cols-3"><div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Discovery</h3> <p class="mb-6 text-gray-300">We begin by understanding your business, challenges, and goals through in-depth
consultation and analysis.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">1</span></div></div> <div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Innovation</h3> <p class="mb-6 text-gray-300">Our experts design tailored solutions leveraging cutting-edge technologies and
methodologies.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">2</span></div></div> <div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Implementation</h3> <p class="mb-6 text-gray-300">We bring solutions to life with meticulous development, testing, and deployment
processes.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">3</span></div></div></div></div></section> <section id="contact" class="bg-gradient-to-r from-blue-800 to-purple-900 py-20"><div class="container mx-auto px-6 text-center"><h2 class="mb-8 text-4xl font-bold">Ready to Transform Your Business?</h2> <p class="mx-auto mb-12 max-w-3xl text-xl text-gray-300">Let's collaborate to create innovative solutions that drive your business forward in the
digital age.</p> <form class="mx-auto max-w-lg"><div class="mb-6 flex flex-col gap-4 md:flex-row"><div class="flex-1"><label for="name" class="sr-only">Your Name</label> <input type="text" id="name" placeholder="Your Name" class="w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></div> <div class="flex-1"><label for="email" class="sr-only">Your Email</label> <input type="email" id="email" placeholder="Your Email" class="w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></div></div> <div><label for="message" class="sr-only">Your Message</label> <textarea id="message" placeholder="Your Message" rows="4" class="mb-6 w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></textarea></div> <button type="submit" class="w-full rounded-lg bg-blue-600 px-8 py-3 font-bold text-white transition hover:bg-blue-700">Get in Touch</button></form></div></section> <footer class="bg-gray-900 py-12"><div class="container mx-auto px-6"><div class="flex flex-col justify-between md:flex-row"><div class="mb-8 md:mb-0"><div class="mb-4 flex items-center"><span class="text-2xl font-bold text-blue-500">A2Z</span> <span class="text-2xl font-bold">Software</span></div> <p class="max-w-xs text-gray-400">Transforming businesses through innovative technology solutions.</p></div> <div class="grid grid-cols-2 gap-8 md:grid-cols-3"><div><h3 class="mb-4 text-lg font-bold">Company</h3> <ul class="space-y-2"><li><a href="#about" class="text-gray-400 transition hover:text-white">About</a></li> <li><a href="/careers" class="text-gray-400 transition hover:text-white">Careers</a></li> <li><a href="/blog" class="text-gray-400 transition hover:text-white">Blog</a></li></ul></div> <div><h3 class="mb-4 text-lg font-bold">Services</h3> <ul class="space-y-2"><li><a href="/services/development" class="text-gray-400 transition hover:text-white">Development</a></li> <li><a href="/services/consulting" class="text-gray-400 transition hover:text-white">Consulting</a></li> <li><a href="/services/cloud" class="text-gray-400 transition hover:text-white">Cloud Solutions</a></li> <li><a href="/services/ai-ml" class="text-gray-400 transition hover:text-white">AI & ML</a></li></ul></div> <div><h3 class="mb-4 text-lg font-bold">Connect</h3> <ul class="space-y-2"><li><a href="#contact" class="text-gray-400 transition hover:text-white">Contact</a></li> <li><a href="https://linkedin.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">LinkedIn</a></li> <li><a href="https://twitter.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">GitHub</a></li></ul></div></div></div> <div class="mt-12 flex flex-col items-center justify-between border-t border-gray-800 pt-8 md:flex-row"><p class="text-gray-500">© 2025 A2Z Software Inc. All rights reserved.</p> <div class="mt-4 flex space-x-6 md:mt-0"><a href="https://facebook.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="Facebook"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M22.675 0h-21.35c-.732 0-1.325.593-1.325 1.325v21.351c0 .731.593 1.324 1.325 1.324h11.495v-9.294h-3.128v-3.622h3.128v-2.671c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24l-1.918.001c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12v9.293h6.116c.73 0 1.323-.593 1.323-1.325v-21.35c0-.732-.593-1.325-1.325-1.325z"></path></svg></a> <a href="https://twitter.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="Twitter"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path></svg></a> <a href="https://github.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a> <a href="https://linkedin.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg></a></div></div></div></footer></div>`);function Be(a,e){he(e,!1);let t=V(!1);ye(()=>{be(t,!0),document.querySelectorAll('a[href^="#"]').forEach(i=>{i.addEventListener("click",function(b){b.preventDefault();const x=this.getAttribute("href"),l=document.querySelector(x);l&&window.scrollTo({top:l.offsetTop-80,behavior:"smooth"})})})});const o=[{title:"Digital Transformation",description:"Reimagine your business for the digital age",icon:"🔄"},{title:"Cloud Solutions",description:"Scalable infrastructure for modern enterprises",icon:"☁️"},{title:"AI Integration",description:"Intelligent solutions for complex problems",icon:"🧠"},{title:"Custom Development",description:"Tailored software for your unique needs",icon:"💻"}];K();var v=Ie(),d=T(_(v),2),n=_(d),u=_(n),g=T(u,2),p=T(g,2);w(n),w(d);var s=T(d,4),h=_(s),r=T(_(h),2);ke(r,5,()=>o,we,(c,i)=>{var b=Ee(),x=_(b),l=_(x,!0);w(x);var f=T(x,2),E=_(f,!0);w(f);var m=T(f,2),y=_(m,!0);w(m),w(b),Z(()=>{B(l,A(i).icon),B(E,A(i).title),B(y,A(i).description)}),j(c,b)}),w(r),w(h),w(s),me(6),w(v),Z(()=>{D(u,1,`mb-6 text-5xl font-bold md:text-6xl ${(A(t)?"opacity-100":"opacity-0")??""} transition-opacity duration-1000`),D(g,1,`mx-auto mb-12 max-w-3xl text-xl text-gray-300 md:text-2xl ${(A(t)?"opacity-100":"opacity-0")??""} transition-opacity delay-300 duration-1000`),D(p,1,`flex flex-col justify-center gap-4 sm:flex-row ${(A(t)?"opacity-100":"opacity-0")??""} transition-opacity delay-500 duration-1000`)}),j(a,v),xe()}export{Be as component};

View File

@@ -0,0 +1 @@
{"version":"1744420217058"}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,73 @@
{
".svelte-kit/generated/server/internal.js": {
"file": "internal.js",
"name": "internal",
"src": ".svelte-kit/generated/server/internal.js",
"isEntry": true,
"imports": [
"_internal.js"
]
},
"_equality.js": {
"file": "chunks/equality.js",
"name": "equality"
},
"_exports.js": {
"file": "chunks/exports.js",
"name": "exports",
"imports": [
"_equality.js"
]
},
"_index.js": {
"file": "chunks/index.js",
"name": "index"
},
"_internal.js": {
"file": "chunks/internal.js",
"name": "internal",
"imports": [
"_equality.js",
"_index.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte": {
"file": "entries/fallbacks/error.svelte.js",
"name": "entries/fallbacks/error.svelte",
"src": "node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte",
"isEntry": true,
"imports": [
"_index.js",
"_equality.js",
"_exports.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/server/index.js": {
"file": "index.js",
"name": "index",
"src": "node_modules/@sveltejs/kit/src/runtime/server/index.js",
"isEntry": true,
"imports": [
"_internal.js",
"_exports.js"
]
},
"src/routes/+layout.svelte": {
"file": "entries/pages/_layout.svelte.js",
"name": "entries/pages/_layout.svelte",
"src": "src/routes/+layout.svelte",
"isEntry": true,
"css": [
"_app/immutable/assets/_layout.2aiTIyXI.css"
]
},
"src/routes/+page.svelte": {
"file": "entries/pages/_page.svelte.js",
"name": "entries/pages/_page.svelte",
"src": "src/routes/+page.svelte",
"isEntry": true,
"imports": [
"_index.js"
]
}
}

View File

@@ -0,0 +1 @@
/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0)}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-green-700:oklch(52.7% .154 150.069);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-700:oklch(52.5% .223 3.958);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-bold:700;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-800{--tw-gradient-from:var(--color-blue-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-900{--tw-gradient-from:var(--color-blue-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-700{--tw-gradient-from:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-700{--tw-gradient-from:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-700{--tw-gradient-to:var(--color-green-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-700{--tw-gradient-to:var(--color-pink-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-700{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-900{--tw-gradient-to:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-700{--tw-gradient-to:var(--color-red-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-32{padding-top:calc(var(--spacing)*32)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-center{text-align:center}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}@media (hover:hover){.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:transform:hover{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mb-0{margin-bottom:calc(var(--spacing)*0)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:pl-12{padding-left:calc(var(--spacing)*12)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}

View File

@@ -0,0 +1,41 @@
var is_array = Array.isArray;
var index_of = Array.prototype.indexOf;
var array_from = Array.from;
var define_property = Object.defineProperty;
var get_descriptor = Object.getOwnPropertyDescriptor;
var object_prototype = Object.prototype;
var array_prototype = Array.prototype;
var get_prototype_of = Object.getPrototypeOf;
var is_extensible = Object.isExtensible;
const noop = () => {
};
function run_all(arr) {
for (var i = 0; i < arr.length; i++) {
arr[i]();
}
}
function equals(value) {
return value === this.v;
}
function safe_not_equal(a, b) {
return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
}
function safe_equals(value) {
return !safe_not_equal(value, this.v);
}
export {
array_prototype as a,
get_prototype_of as b,
is_extensible as c,
index_of as d,
equals as e,
define_property as f,
get_descriptor as g,
array_from as h,
is_array as i,
safe_not_equal as j,
noop as n,
object_prototype as o,
run_all as r,
safe_equals as s
};

View File

@@ -0,0 +1,229 @@
import { n as noop, j as safe_not_equal } from "./equality.js";
import "clsx";
const internal = new URL("sveltekit-internal://");
function resolve(base, path) {
if (path[0] === "/" && path[1] === "/") return path;
let url = new URL(base, internal);
url = new URL(path, url);
return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href;
}
function normalize_path(path, trailing_slash) {
if (path === "/" || trailing_slash === "ignore") return path;
if (trailing_slash === "never") {
return path.endsWith("/") ? path.slice(0, -1) : path;
} else if (trailing_slash === "always" && !path.endsWith("/")) {
return path + "/";
}
return path;
}
function decode_pathname(pathname) {
return pathname.split("%25").map(decodeURI).join("%25");
}
function decode_params(params) {
for (const key in params) {
params[key] = decodeURIComponent(params[key]);
}
return params;
}
function make_trackable(url, callback, search_params_callback, allow_hash = false) {
const tracked = new URL(url);
Object.defineProperty(tracked, "searchParams", {
value: new Proxy(tracked.searchParams, {
get(obj, key) {
if (key === "get" || key === "getAll" || key === "has") {
return (param) => {
search_params_callback(param);
return obj[key](param);
};
}
callback();
const value = Reflect.get(obj, key);
return typeof value === "function" ? value.bind(obj) : value;
}
}),
enumerable: true,
configurable: true
});
const tracked_url_properties = ["href", "pathname", "search", "toString", "toJSON"];
if (allow_hash) tracked_url_properties.push("hash");
for (const property of tracked_url_properties) {
Object.defineProperty(tracked, property, {
get() {
callback();
return url[property];
},
enumerable: true,
configurable: true
});
}
{
tracked[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(url, opts);
};
tracked.searchParams[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(url.searchParams, opts);
};
}
if (!allow_hash) {
disable_hash(tracked);
}
return tracked;
}
function disable_hash(url) {
allow_nodejs_console_log(url);
Object.defineProperty(url, "hash", {
get() {
throw new Error(
"Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead"
);
}
});
}
function disable_search(url) {
allow_nodejs_console_log(url);
for (const property of ["search", "searchParams"]) {
Object.defineProperty(url, property, {
get() {
throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);
}
});
}
}
function allow_nodejs_console_log(url) {
{
url[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(new URL(url), opts);
};
}
}
const subscriber_queue = [];
function readable(value, start) {
return {
subscribe: writable(value, start).subscribe
};
}
function writable(value, start = noop) {
let stop = null;
const subscribers = /* @__PURE__ */ new Set();
function set(new_value) {
if (safe_not_equal(value, new_value)) {
value = new_value;
if (stop) {
const run_queue = !subscriber_queue.length;
for (const subscriber of subscribers) {
subscriber[1]();
subscriber_queue.push(subscriber, value);
}
if (run_queue) {
for (let i = 0; i < subscriber_queue.length; i += 2) {
subscriber_queue[i][0](subscriber_queue[i + 1]);
}
subscriber_queue.length = 0;
}
}
}
}
function update(fn) {
set(fn(
/** @type {T} */
value
));
}
function subscribe(run, invalidate = noop) {
const subscriber = [run, invalidate];
subscribers.add(subscriber);
if (subscribers.size === 1) {
stop = start(set, update) || noop;
}
run(
/** @type {T} */
value
);
return () => {
subscribers.delete(subscriber);
if (subscribers.size === 0 && stop) {
stop();
stop = null;
}
};
}
return { set, update, subscribe };
}
function validator(expected) {
function validate(module, file) {
if (!module) return;
for (const key in module) {
if (key[0] === "_" || expected.has(key)) continue;
const values = [...expected.values()];
const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf("."))) ?? `valid exports are ${values.join(", ")}, or anything with a '_' prefix`;
throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : ""} (${hint})`);
}
}
return validate;
}
function hint_for_supported_files(key, ext = ".js") {
const supported_files = [];
if (valid_layout_exports.has(key)) {
supported_files.push(`+layout${ext}`);
}
if (valid_page_exports.has(key)) {
supported_files.push(`+page${ext}`);
}
if (valid_layout_server_exports.has(key)) {
supported_files.push(`+layout.server${ext}`);
}
if (valid_page_server_exports.has(key)) {
supported_files.push(`+page.server${ext}`);
}
if (valid_server_exports.has(key)) {
supported_files.push(`+server${ext}`);
}
if (supported_files.length > 0) {
return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(", ")}${supported_files.length > 1 ? " or " : ""}${supported_files.at(-1)}`;
}
}
const valid_layout_exports = /* @__PURE__ */ new Set([
"load",
"prerender",
"csr",
"ssr",
"trailingSlash",
"config"
]);
const valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, "entries"]);
const valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]);
const valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, "actions", "entries"]);
const valid_server_exports = /* @__PURE__ */ new Set([
"GET",
"POST",
"PATCH",
"PUT",
"DELETE",
"OPTIONS",
"HEAD",
"fallback",
"prerender",
"trailingSlash",
"config",
"entries"
]);
const validate_layout_exports = validator(valid_layout_exports);
const validate_page_exports = validator(valid_page_exports);
const validate_layout_server_exports = validator(valid_layout_server_exports);
const validate_page_server_exports = validator(valid_page_server_exports);
const validate_server_exports = validator(valid_server_exports);
export {
decode_params as a,
validate_layout_exports as b,
validate_page_server_exports as c,
disable_search as d,
validate_page_exports as e,
resolve as f,
decode_pathname as g,
validate_server_exports as h,
make_trackable as m,
normalize_path as n,
readable as r,
validate_layout_server_exports as v,
writable as w
};

View File

@@ -0,0 +1,141 @@
import "clsx";
const HYDRATION_START = "[";
const HYDRATION_END = "]";
const HYDRATION_ERROR = {};
const UNINITIALIZED = Symbol();
function lifecycle_outside_component(name) {
{
throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);
}
}
const ATTR_REGEX = /[&"<]/g;
const CONTENT_REGEX = /[&<]/g;
function escape_html(value, is_attr) {
const str = String(value ?? "");
const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
pattern.lastIndex = 0;
let escaped = "";
let last = 0;
while (pattern.test(str)) {
const i = pattern.lastIndex - 1;
const ch = str[i];
escaped += str.substring(last, i) + (ch === "&" ? "&amp;" : ch === '"' ? "&quot;" : "&lt;");
last = i + 1;
}
return escaped + str.substring(last);
}
function to_class(value, hash, directives) {
var classname = value == null ? "" : "" + value;
return classname === "" ? null : classname;
}
var current_component = null;
function getContext(key) {
const context_map = get_or_init_context_map();
const result = (
/** @type {T} */
context_map.get(key)
);
return result;
}
function setContext(key, context) {
get_or_init_context_map().set(key, context);
return context;
}
function get_or_init_context_map(name) {
if (current_component === null) {
lifecycle_outside_component();
}
return current_component.c ??= new Map(get_parent_context(current_component) || void 0);
}
function push(fn) {
current_component = { p: current_component, c: null, d: null };
}
function pop() {
var component = (
/** @type {Component} */
current_component
);
var ondestroy = component.d;
if (ondestroy) {
on_destroy.push(...ondestroy);
}
current_component = component.p;
}
function get_parent_context(component_context) {
let parent = component_context.p;
while (parent !== null) {
const context_map = parent.c;
if (context_map !== null) {
return context_map;
}
parent = parent.p;
}
return null;
}
const BLOCK_OPEN = `<!--${HYDRATION_START}-->`;
const BLOCK_CLOSE = `<!--${HYDRATION_END}-->`;
let on_destroy = [];
function props_id_generator(prefix) {
let uid = 1;
return () => `${prefix}s${uid++}`;
}
function render(component, options = {}) {
const uid = props_id_generator(options.idPrefix ? options.idPrefix + "-" : "");
const payload = {
out: "",
css: /* @__PURE__ */ new Set(),
head: { title: "", out: "", css: /* @__PURE__ */ new Set(), uid },
uid
};
const prev_on_destroy = on_destroy;
on_destroy = [];
payload.out += BLOCK_OPEN;
if (options.context) {
push();
current_component.c = options.context;
}
component(payload, options.props ?? {}, {}, {});
if (options.context) {
pop();
}
payload.out += BLOCK_CLOSE;
for (const cleanup of on_destroy) cleanup();
on_destroy = prev_on_destroy;
let head = payload.head.out + payload.head.title;
for (const { hash, code } of payload.css) {
head += `<style id="${hash}">${code}</style>`;
}
return {
head,
html: payload.out,
body: payload.out
};
}
function stringify(value) {
return true ? value : value == null ? "" : value + "";
}
function attr_class(value, hash, directives) {
var result = to_class(value);
return result ? ` class="${escape_html(result, true)}"` : "";
}
function ensure_array_like(array_like_or_iterator) {
if (array_like_or_iterator) {
return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);
}
return [];
}
export {
HYDRATION_ERROR as H,
UNINITIALIZED as U,
HYDRATION_START as a,
HYDRATION_END as b,
pop as c,
ensure_array_like as d,
escape_html as e,
attr_class as f,
getContext as g,
stringify as h,
push as p,
render as r,
setContext as s
};

View File

@@ -0,0 +1,1771 @@
import { o as object_prototype, a as array_prototype, g as get_descriptor, b as get_prototype_of, i as is_array, s as safe_equals, e as equals, c as is_extensible, r as run_all, d as index_of, f as define_property, h as array_from } from "./equality.js";
import { U as UNINITIALIZED, H as HYDRATION_ERROR, a as HYDRATION_START, b as HYDRATION_END, r as render, p as push$1, s as setContext, c as pop$1 } from "./index.js";
import "clsx";
const BROWSER = false;
let base = "";
let assets = base;
const app_dir = "_app";
const initial = { base, assets };
function override(paths) {
base = paths.base;
assets = paths.assets;
}
function reset() {
base = initial.base;
assets = initial.assets;
}
function set_assets(path) {
assets = initial.assets = path;
}
let public_env = {};
let safe_public_env = {};
function set_private_env(environment) {
}
function set_public_env(environment) {
public_env = environment;
}
function set_safe_public_env(environment) {
safe_public_env = environment;
}
const DERIVED = 1 << 1;
const EFFECT = 1 << 2;
const RENDER_EFFECT = 1 << 3;
const BLOCK_EFFECT = 1 << 4;
const BRANCH_EFFECT = 1 << 5;
const ROOT_EFFECT = 1 << 6;
const BOUNDARY_EFFECT = 1 << 7;
const UNOWNED = 1 << 8;
const DISCONNECTED = 1 << 9;
const CLEAN = 1 << 10;
const DIRTY = 1 << 11;
const MAYBE_DIRTY = 1 << 12;
const INERT = 1 << 13;
const DESTROYED = 1 << 14;
const EFFECT_RAN = 1 << 15;
const EFFECT_TRANSPARENT = 1 << 16;
const HEAD_EFFECT = 1 << 19;
const EFFECT_HAS_DERIVED = 1 << 20;
const EFFECT_IS_UPDATING = 1 << 21;
const STATE_SYMBOL = Symbol("$state");
const LEGACY_PROPS = Symbol("legacy props");
function effect_update_depth_exceeded() {
{
throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);
}
}
function hydration_failed() {
{
throw new Error(`https://svelte.dev/e/hydration_failed`);
}
}
function state_descriptors_fixed() {
{
throw new Error(`https://svelte.dev/e/state_descriptors_fixed`);
}
}
function state_prototype_fixed() {
{
throw new Error(`https://svelte.dev/e/state_prototype_fixed`);
}
}
function state_unsafe_mutation() {
{
throw new Error(`https://svelte.dev/e/state_unsafe_mutation`);
}
}
let tracing_mode_flag = false;
let component_context = null;
function set_component_context(context) {
component_context = context;
}
function push(props, runes = false, fn) {
var ctx = component_context = {
p: component_context,
c: null,
d: false,
e: null,
m: false,
s: props,
x: null,
l: null
};
teardown(() => {
ctx.d = true;
});
}
function pop(component) {
const context_stack_item = component_context;
if (context_stack_item !== null) {
const component_effects = context_stack_item.e;
if (component_effects !== null) {
var previous_effect = active_effect;
var previous_reaction = active_reaction;
context_stack_item.e = null;
try {
for (var i = 0; i < component_effects.length; i++) {
var component_effect = component_effects[i];
set_active_effect(component_effect.effect);
set_active_reaction(component_effect.reaction);
effect(component_effect.fn);
}
} finally {
set_active_effect(previous_effect);
set_active_reaction(previous_reaction);
}
}
component_context = context_stack_item.p;
context_stack_item.m = true;
}
return (
/** @type {T} */
{}
);
}
function is_runes() {
return true;
}
function proxy(value) {
if (typeof value !== "object" || value === null || STATE_SYMBOL in value) {
return value;
}
const prototype = get_prototype_of(value);
if (prototype !== object_prototype && prototype !== array_prototype) {
return value;
}
var sources = /* @__PURE__ */ new Map();
var is_proxied_array = is_array(value);
var version = /* @__PURE__ */ state(0);
var reaction = active_reaction;
var with_parent = (fn) => {
var previous_reaction = active_reaction;
set_active_reaction(reaction);
var result = fn();
set_active_reaction(previous_reaction);
return result;
};
if (is_proxied_array) {
sources.set("length", /* @__PURE__ */ state(
/** @type {any[]} */
value.length
));
}
return new Proxy(
/** @type {any} */
value,
{
defineProperty(_, prop, descriptor) {
if (!("value" in descriptor) || descriptor.configurable === false || descriptor.enumerable === false || descriptor.writable === false) {
state_descriptors_fixed();
}
var s = sources.get(prop);
if (s === void 0) {
s = with_parent(() => /* @__PURE__ */ state(descriptor.value));
sources.set(prop, s);
} else {
set(
s,
with_parent(() => proxy(descriptor.value))
);
}
return true;
},
deleteProperty(target, prop) {
var s = sources.get(prop);
if (s === void 0) {
if (prop in target) {
sources.set(
prop,
with_parent(() => /* @__PURE__ */ state(UNINITIALIZED))
);
}
} else {
if (is_proxied_array && typeof prop === "string") {
var ls = (
/** @type {Source<number>} */
sources.get("length")
);
var n = Number(prop);
if (Number.isInteger(n) && n < ls.v) {
set(ls, n);
}
}
set(s, UNINITIALIZED);
update_version(version);
}
return true;
},
get(target, prop, receiver) {
if (prop === STATE_SYMBOL) {
return value;
}
var s = sources.get(prop);
var exists = prop in target;
if (s === void 0 && (!exists || get_descriptor(target, prop)?.writable)) {
s = with_parent(() => /* @__PURE__ */ state(proxy(exists ? target[prop] : UNINITIALIZED)));
sources.set(prop, s);
}
if (s !== void 0) {
var v = get(s);
return v === UNINITIALIZED ? void 0 : v;
}
return Reflect.get(target, prop, receiver);
},
getOwnPropertyDescriptor(target, prop) {
var descriptor = Reflect.getOwnPropertyDescriptor(target, prop);
if (descriptor && "value" in descriptor) {
var s = sources.get(prop);
if (s) descriptor.value = get(s);
} else if (descriptor === void 0) {
var source2 = sources.get(prop);
var value2 = source2?.v;
if (source2 !== void 0 && value2 !== UNINITIALIZED) {
return {
enumerable: true,
configurable: true,
value: value2,
writable: true
};
}
}
return descriptor;
},
has(target, prop) {
if (prop === STATE_SYMBOL) {
return true;
}
var s = sources.get(prop);
var has = s !== void 0 && s.v !== UNINITIALIZED || Reflect.has(target, prop);
if (s !== void 0 || active_effect !== null && (!has || get_descriptor(target, prop)?.writable)) {
if (s === void 0) {
s = with_parent(() => /* @__PURE__ */ state(has ? proxy(target[prop]) : UNINITIALIZED));
sources.set(prop, s);
}
var value2 = get(s);
if (value2 === UNINITIALIZED) {
return false;
}
}
return has;
},
set(target, prop, value2, receiver) {
var s = sources.get(prop);
var has = prop in target;
if (is_proxied_array && prop === "length") {
for (var i = value2; i < /** @type {Source<number>} */
s.v; i += 1) {
var other_s = sources.get(i + "");
if (other_s !== void 0) {
set(other_s, UNINITIALIZED);
} else if (i in target) {
other_s = with_parent(() => /* @__PURE__ */ state(UNINITIALIZED));
sources.set(i + "", other_s);
}
}
}
if (s === void 0) {
if (!has || get_descriptor(target, prop)?.writable) {
s = with_parent(() => /* @__PURE__ */ state(void 0));
set(
s,
with_parent(() => proxy(value2))
);
sources.set(prop, s);
}
} else {
has = s.v !== UNINITIALIZED;
set(
s,
with_parent(() => proxy(value2))
);
}
var descriptor = Reflect.getOwnPropertyDescriptor(target, prop);
if (descriptor?.set) {
descriptor.set.call(receiver, value2);
}
if (!has) {
if (is_proxied_array && typeof prop === "string") {
var ls = (
/** @type {Source<number>} */
sources.get("length")
);
var n = Number(prop);
if (Number.isInteger(n) && n >= ls.v) {
set(ls, n + 1);
}
}
update_version(version);
}
return true;
},
ownKeys(target) {
get(version);
var own_keys = Reflect.ownKeys(target).filter((key2) => {
var source3 = sources.get(key2);
return source3 === void 0 || source3.v !== UNINITIALIZED;
});
for (var [key, source2] of sources) {
if (source2.v !== UNINITIALIZED && !(key in target)) {
own_keys.push(key);
}
}
return own_keys;
},
setPrototypeOf() {
state_prototype_fixed();
}
}
);
}
function update_version(signal, d = 1) {
set(signal, signal.v + d);
}
function destroy_derived_effects(derived) {
var effects = derived.effects;
if (effects !== null) {
derived.effects = null;
for (var i = 0; i < effects.length; i += 1) {
destroy_effect(
/** @type {Effect} */
effects[i]
);
}
}
}
function get_derived_parent_effect(derived) {
var parent = derived.parent;
while (parent !== null) {
if ((parent.f & DERIVED) === 0) {
return (
/** @type {Effect} */
parent
);
}
parent = parent.parent;
}
return null;
}
function execute_derived(derived) {
var value;
var prev_active_effect = active_effect;
set_active_effect(get_derived_parent_effect(derived));
{
try {
destroy_derived_effects(derived);
value = update_reaction(derived);
} finally {
set_active_effect(prev_active_effect);
}
}
return value;
}
function update_derived(derived) {
var value = execute_derived(derived);
var status = (skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;
set_signal_status(derived, status);
if (!derived.equals(value)) {
derived.v = value;
derived.wv = increment_write_version();
}
}
const old_values = /* @__PURE__ */ new Map();
function source(v, stack) {
var signal = {
f: 0,
// TODO ideally we could skip this altogether, but it causes type errors
v,
reactions: null,
equals,
rv: 0,
wv: 0
};
return signal;
}
// @__NO_SIDE_EFFECTS__
function state(v, stack) {
const s = source(v);
push_reaction_value(s);
return s;
}
// @__NO_SIDE_EFFECTS__
function mutable_source(initial_value, immutable = false) {
const s = source(initial_value);
if (!immutable) {
s.equals = safe_equals;
}
return s;
}
function set(source2, value, should_proxy = false) {
if (active_reaction !== null && !untracking && is_runes() && (active_reaction.f & (DERIVED | BLOCK_EFFECT)) !== 0 && !reaction_sources?.includes(source2)) {
state_unsafe_mutation();
}
let new_value = should_proxy ? proxy(value) : value;
return internal_set(source2, new_value);
}
function internal_set(source2, value) {
if (!source2.equals(value)) {
var old_value = source2.v;
if (is_destroying_effect) {
old_values.set(source2, value);
} else {
old_values.set(source2, old_value);
}
source2.v = value;
if ((source2.f & DERIVED) !== 0) {
if ((source2.f & DIRTY) !== 0) {
execute_derived(
/** @type {Derived} */
source2
);
}
set_signal_status(source2, (source2.f & UNOWNED) === 0 ? CLEAN : MAYBE_DIRTY);
}
source2.wv = increment_write_version();
mark_reactions(source2, DIRTY);
if (active_effect !== null && (active_effect.f & CLEAN) !== 0 && (active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0) {
if (untracked_writes === null) {
set_untracked_writes([source2]);
} else {
untracked_writes.push(source2);
}
}
}
return value;
}
function mark_reactions(signal, status) {
var reactions = signal.reactions;
if (reactions === null) return;
var length = reactions.length;
for (var i = 0; i < length; i++) {
var reaction = reactions[i];
var flags = reaction.f;
if ((flags & DIRTY) !== 0) continue;
set_signal_status(reaction, status);
if ((flags & (CLEAN | UNOWNED)) !== 0) {
if ((flags & DERIVED) !== 0) {
mark_reactions(
/** @type {Derived} */
reaction,
MAYBE_DIRTY
);
} else {
schedule_effect(
/** @type {Effect} */
reaction
);
}
}
}
}
function hydration_mismatch(location) {
{
console.warn(`https://svelte.dev/e/hydration_mismatch`);
}
}
let hydrating = false;
function set_hydrating(value) {
hydrating = value;
}
let hydrate_node;
function set_hydrate_node(node) {
if (node === null) {
hydration_mismatch();
throw HYDRATION_ERROR;
}
return hydrate_node = node;
}
function hydrate_next() {
return set_hydrate_node(
/** @type {TemplateNode} */
/* @__PURE__ */ get_next_sibling(hydrate_node)
);
}
var $window;
var first_child_getter;
var next_sibling_getter;
function init_operations() {
if ($window !== void 0) {
return;
}
$window = window;
var element_prototype = Element.prototype;
var node_prototype = Node.prototype;
var text_prototype = Text.prototype;
first_child_getter = get_descriptor(node_prototype, "firstChild").get;
next_sibling_getter = get_descriptor(node_prototype, "nextSibling").get;
if (is_extensible(element_prototype)) {
element_prototype.__click = void 0;
element_prototype.__className = void 0;
element_prototype.__attributes = null;
element_prototype.__style = void 0;
element_prototype.__e = void 0;
}
if (is_extensible(text_prototype)) {
text_prototype.__t = void 0;
}
}
function create_text(value = "") {
return document.createTextNode(value);
}
// @__NO_SIDE_EFFECTS__
function get_first_child(node) {
return first_child_getter.call(node);
}
// @__NO_SIDE_EFFECTS__
function get_next_sibling(node) {
return next_sibling_getter.call(node);
}
function clear_text_content(node) {
node.textContent = "";
}
function push_effect(effect2, parent_effect) {
var parent_last = parent_effect.last;
if (parent_last === null) {
parent_effect.last = parent_effect.first = effect2;
} else {
parent_last.next = effect2;
effect2.prev = parent_last;
parent_effect.last = effect2;
}
}
function create_effect(type, fn, sync, push2 = true) {
var parent = active_effect;
var effect2 = {
ctx: component_context,
deps: null,
nodes_start: null,
nodes_end: null,
f: type | DIRTY,
first: null,
fn,
last: null,
next: null,
parent,
prev: null,
teardown: null,
transitions: null,
wv: 0
};
if (sync) {
try {
update_effect(effect2);
effect2.f |= EFFECT_RAN;
} catch (e) {
destroy_effect(effect2);
throw e;
}
} else if (fn !== null) {
schedule_effect(effect2);
}
var inert = sync && effect2.deps === null && effect2.first === null && effect2.nodes_start === null && effect2.teardown === null && (effect2.f & (EFFECT_HAS_DERIVED | BOUNDARY_EFFECT)) === 0;
if (!inert && push2) {
if (parent !== null) {
push_effect(effect2, parent);
}
if (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {
var derived = (
/** @type {Derived} */
active_reaction
);
(derived.effects ??= []).push(effect2);
}
}
return effect2;
}
function teardown(fn) {
const effect2 = create_effect(RENDER_EFFECT, null, false);
set_signal_status(effect2, CLEAN);
effect2.teardown = fn;
return effect2;
}
function component_root(fn) {
const effect2 = create_effect(ROOT_EFFECT, fn, true);
return (options2 = {}) => {
return new Promise((fulfil) => {
if (options2.outro) {
pause_effect(effect2, () => {
destroy_effect(effect2);
fulfil(void 0);
});
} else {
destroy_effect(effect2);
fulfil(void 0);
}
});
};
}
function effect(fn) {
return create_effect(EFFECT, fn, false);
}
function branch(fn, push2 = true) {
return create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push2);
}
function execute_effect_teardown(effect2) {
var teardown2 = effect2.teardown;
if (teardown2 !== null) {
const previously_destroying_effect = is_destroying_effect;
const previous_reaction = active_reaction;
set_is_destroying_effect(true);
set_active_reaction(null);
try {
teardown2.call(null);
} finally {
set_is_destroying_effect(previously_destroying_effect);
set_active_reaction(previous_reaction);
}
}
}
function destroy_effect_children(signal, remove_dom = false) {
var effect2 = signal.first;
signal.first = signal.last = null;
while (effect2 !== null) {
var next = effect2.next;
if ((effect2.f & ROOT_EFFECT) !== 0) {
effect2.parent = null;
} else {
destroy_effect(effect2, remove_dom);
}
effect2 = next;
}
}
function destroy_block_effect_children(signal) {
var effect2 = signal.first;
while (effect2 !== null) {
var next = effect2.next;
if ((effect2.f & BRANCH_EFFECT) === 0) {
destroy_effect(effect2);
}
effect2 = next;
}
}
function destroy_effect(effect2, remove_dom = true) {
var removed = false;
if ((remove_dom || (effect2.f & HEAD_EFFECT) !== 0) && effect2.nodes_start !== null) {
var node = effect2.nodes_start;
var end = effect2.nodes_end;
while (node !== null) {
var next = node === end ? null : (
/** @type {TemplateNode} */
/* @__PURE__ */ get_next_sibling(node)
);
node.remove();
node = next;
}
removed = true;
}
destroy_effect_children(effect2, remove_dom && !removed);
remove_reactions(effect2, 0);
set_signal_status(effect2, DESTROYED);
var transitions = effect2.transitions;
if (transitions !== null) {
for (const transition of transitions) {
transition.stop();
}
}
execute_effect_teardown(effect2);
var parent = effect2.parent;
if (parent !== null && parent.first !== null) {
unlink_effect(effect2);
}
effect2.next = effect2.prev = effect2.teardown = effect2.ctx = effect2.deps = effect2.fn = effect2.nodes_start = effect2.nodes_end = null;
}
function unlink_effect(effect2) {
var parent = effect2.parent;
var prev = effect2.prev;
var next = effect2.next;
if (prev !== null) prev.next = next;
if (next !== null) next.prev = prev;
if (parent !== null) {
if (parent.first === effect2) parent.first = next;
if (parent.last === effect2) parent.last = prev;
}
}
function pause_effect(effect2, callback) {
var transitions = [];
pause_children(effect2, transitions, true);
run_out_transitions(transitions, () => {
destroy_effect(effect2);
if (callback) callback();
});
}
function run_out_transitions(transitions, fn) {
var remaining = transitions.length;
if (remaining > 0) {
var check = () => --remaining || fn();
for (var transition of transitions) {
transition.out(check);
}
} else {
fn();
}
}
function pause_children(effect2, transitions, local) {
if ((effect2.f & INERT) !== 0) return;
effect2.f ^= INERT;
if (effect2.transitions !== null) {
for (const transition of effect2.transitions) {
if (transition.is_global || local) {
transitions.push(transition);
}
}
}
var child = effect2.first;
while (child !== null) {
var sibling = child.next;
var transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;
pause_children(child, transitions, transparent ? local : false);
child = sibling;
}
}
let micro_tasks = [];
let idle_tasks = [];
function run_micro_tasks() {
var tasks = micro_tasks;
micro_tasks = [];
run_all(tasks);
}
function run_idle_tasks() {
var tasks = idle_tasks;
idle_tasks = [];
run_all(tasks);
}
function flush_tasks() {
if (micro_tasks.length > 0) {
run_micro_tasks();
}
if (idle_tasks.length > 0) {
run_idle_tasks();
}
}
let is_throwing_error = false;
let is_flushing = false;
let last_scheduled_effect = null;
let is_updating_effect = false;
let is_destroying_effect = false;
function set_is_destroying_effect(value) {
is_destroying_effect = value;
}
let queued_root_effects = [];
let dev_effect_stack = [];
let active_reaction = null;
let untracking = false;
function set_active_reaction(reaction) {
active_reaction = reaction;
}
let active_effect = null;
function set_active_effect(effect2) {
active_effect = effect2;
}
let reaction_sources = null;
function set_reaction_sources(sources) {
reaction_sources = sources;
}
function push_reaction_value(value) {
if (active_reaction !== null && active_reaction.f & EFFECT_IS_UPDATING) {
if (reaction_sources === null) {
set_reaction_sources([value]);
} else {
reaction_sources.push(value);
}
}
}
let new_deps = null;
let skipped_deps = 0;
let untracked_writes = null;
function set_untracked_writes(value) {
untracked_writes = value;
}
let write_version = 1;
let read_version = 0;
let skip_reaction = false;
function increment_write_version() {
return ++write_version;
}
function check_dirtiness(reaction) {
var flags = reaction.f;
if ((flags & DIRTY) !== 0) {
return true;
}
if ((flags & MAYBE_DIRTY) !== 0) {
var dependencies = reaction.deps;
var is_unowned = (flags & UNOWNED) !== 0;
if (dependencies !== null) {
var i;
var dependency;
var is_disconnected = (flags & DISCONNECTED) !== 0;
var is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction;
var length = dependencies.length;
if (is_disconnected || is_unowned_connected) {
var derived = (
/** @type {Derived} */
reaction
);
var parent = derived.parent;
for (i = 0; i < length; i++) {
dependency = dependencies[i];
if (is_disconnected || !dependency?.reactions?.includes(derived)) {
(dependency.reactions ??= []).push(derived);
}
}
if (is_disconnected) {
derived.f ^= DISCONNECTED;
}
if (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {
derived.f ^= UNOWNED;
}
}
for (i = 0; i < length; i++) {
dependency = dependencies[i];
if (check_dirtiness(
/** @type {Derived} */
dependency
)) {
update_derived(
/** @type {Derived} */
dependency
);
}
if (dependency.wv > reaction.wv) {
return true;
}
}
}
if (!is_unowned || active_effect !== null && !skip_reaction) {
set_signal_status(reaction, CLEAN);
}
}
return false;
}
function propagate_error(error, effect2) {
var current = effect2;
while (current !== null) {
if ((current.f & BOUNDARY_EFFECT) !== 0) {
try {
current.fn(error);
return;
} catch {
current.f ^= BOUNDARY_EFFECT;
}
}
current = current.parent;
}
is_throwing_error = false;
throw error;
}
function should_rethrow_error(effect2) {
return (effect2.f & DESTROYED) === 0 && (effect2.parent === null || (effect2.parent.f & BOUNDARY_EFFECT) === 0);
}
function handle_error(error, effect2, previous_effect, component_context2) {
if (is_throwing_error) {
if (previous_effect === null) {
is_throwing_error = false;
}
if (should_rethrow_error(effect2)) {
throw error;
}
return;
}
if (previous_effect !== null) {
is_throwing_error = true;
}
{
propagate_error(error, effect2);
return;
}
}
function schedule_possible_effect_self_invalidation(signal, effect2, root2 = true) {
var reactions = signal.reactions;
if (reactions === null) return;
for (var i = 0; i < reactions.length; i++) {
var reaction = reactions[i];
if (reaction_sources?.includes(signal)) continue;
if ((reaction.f & DERIVED) !== 0) {
schedule_possible_effect_self_invalidation(
/** @type {Derived} */
reaction,
effect2,
false
);
} else if (effect2 === reaction) {
if (root2) {
set_signal_status(reaction, DIRTY);
} else if ((reaction.f & CLEAN) !== 0) {
set_signal_status(reaction, MAYBE_DIRTY);
}
schedule_effect(
/** @type {Effect} */
reaction
);
}
}
}
function update_reaction(reaction) {
var previous_deps = new_deps;
var previous_skipped_deps = skipped_deps;
var previous_untracked_writes = untracked_writes;
var previous_reaction = active_reaction;
var previous_skip_reaction = skip_reaction;
var previous_reaction_sources = reaction_sources;
var previous_component_context = component_context;
var previous_untracking = untracking;
var flags = reaction.f;
new_deps = /** @type {null | Value[]} */
null;
skipped_deps = 0;
untracked_writes = null;
skip_reaction = (flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);
active_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;
reaction_sources = null;
set_component_context(reaction.ctx);
untracking = false;
read_version++;
reaction.f |= EFFECT_IS_UPDATING;
try {
var result = (
/** @type {Function} */
(0, reaction.fn)()
);
var deps = reaction.deps;
if (new_deps !== null) {
var i;
remove_reactions(reaction, skipped_deps);
if (deps !== null && skipped_deps > 0) {
deps.length = skipped_deps + new_deps.length;
for (i = 0; i < new_deps.length; i++) {
deps[skipped_deps + i] = new_deps[i];
}
} else {
reaction.deps = deps = new_deps;
}
if (!skip_reaction) {
for (i = skipped_deps; i < deps.length; i++) {
(deps[i].reactions ??= []).push(reaction);
}
}
} else if (deps !== null && skipped_deps < deps.length) {
remove_reactions(reaction, skipped_deps);
deps.length = skipped_deps;
}
if (is_runes() && untracked_writes !== null && !untracking && deps !== null && (reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0) {
for (i = 0; i < /** @type {Source[]} */
untracked_writes.length; i++) {
schedule_possible_effect_self_invalidation(
untracked_writes[i],
/** @type {Effect} */
reaction
);
}
}
if (previous_reaction !== reaction) {
read_version++;
if (untracked_writes !== null) {
if (previous_untracked_writes === null) {
previous_untracked_writes = untracked_writes;
} else {
previous_untracked_writes.push(.../** @type {Source[]} */
untracked_writes);
}
}
}
return result;
} finally {
new_deps = previous_deps;
skipped_deps = previous_skipped_deps;
untracked_writes = previous_untracked_writes;
active_reaction = previous_reaction;
skip_reaction = previous_skip_reaction;
reaction_sources = previous_reaction_sources;
set_component_context(previous_component_context);
untracking = previous_untracking;
reaction.f ^= EFFECT_IS_UPDATING;
}
}
function remove_reaction(signal, dependency) {
let reactions = dependency.reactions;
if (reactions !== null) {
var index = index_of.call(reactions, signal);
if (index !== -1) {
var new_length = reactions.length - 1;
if (new_length === 0) {
reactions = dependency.reactions = null;
} else {
reactions[index] = reactions[new_length];
reactions.pop();
}
}
}
if (reactions === null && (dependency.f & DERIVED) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
// allows us to skip the expensive work of disconnecting and immediately reconnecting it
(new_deps === null || !new_deps.includes(dependency))) {
set_signal_status(dependency, MAYBE_DIRTY);
if ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {
dependency.f ^= DISCONNECTED;
}
destroy_derived_effects(
/** @type {Derived} **/
dependency
);
remove_reactions(
/** @type {Derived} **/
dependency,
0
);
}
}
function remove_reactions(signal, start_index) {
var dependencies = signal.deps;
if (dependencies === null) return;
for (var i = start_index; i < dependencies.length; i++) {
remove_reaction(signal, dependencies[i]);
}
}
function update_effect(effect2) {
var flags = effect2.f;
if ((flags & DESTROYED) !== 0) {
return;
}
set_signal_status(effect2, CLEAN);
var previous_effect = active_effect;
var previous_component_context = component_context;
var was_updating_effect = is_updating_effect;
active_effect = effect2;
is_updating_effect = true;
try {
if ((flags & BLOCK_EFFECT) !== 0) {
destroy_block_effect_children(effect2);
} else {
destroy_effect_children(effect2);
}
execute_effect_teardown(effect2);
var teardown2 = update_reaction(effect2);
effect2.teardown = typeof teardown2 === "function" ? teardown2 : null;
effect2.wv = write_version;
var deps = effect2.deps;
var dep;
if (BROWSER && tracing_mode_flag && (effect2.f & DIRTY) !== 0 && deps !== null) ;
if (BROWSER) ;
} catch (error) {
handle_error(error, effect2, previous_effect, previous_component_context || effect2.ctx);
} finally {
is_updating_effect = was_updating_effect;
active_effect = previous_effect;
}
}
function infinite_loop_guard() {
try {
effect_update_depth_exceeded();
} catch (error) {
if (last_scheduled_effect !== null) {
{
handle_error(error, last_scheduled_effect, null);
}
} else {
throw error;
}
}
}
function flush_queued_root_effects() {
var was_updating_effect = is_updating_effect;
try {
var flush_count = 0;
is_updating_effect = true;
while (queued_root_effects.length > 0) {
if (flush_count++ > 1e3) {
infinite_loop_guard();
}
var root_effects = queued_root_effects;
var length = root_effects.length;
queued_root_effects = [];
for (var i = 0; i < length; i++) {
var collected_effects = process_effects(root_effects[i]);
flush_queued_effects(collected_effects);
}
old_values.clear();
}
} finally {
is_flushing = false;
is_updating_effect = was_updating_effect;
last_scheduled_effect = null;
}
}
function flush_queued_effects(effects) {
var length = effects.length;
if (length === 0) return;
for (var i = 0; i < length; i++) {
var effect2 = effects[i];
if ((effect2.f & (DESTROYED | INERT)) === 0) {
try {
if (check_dirtiness(effect2)) {
update_effect(effect2);
if (effect2.deps === null && effect2.first === null && effect2.nodes_start === null) {
if (effect2.teardown === null) {
unlink_effect(effect2);
} else {
effect2.fn = null;
}
}
}
} catch (error) {
handle_error(error, effect2, null, effect2.ctx);
}
}
}
}
function schedule_effect(signal) {
if (!is_flushing) {
is_flushing = true;
queueMicrotask(flush_queued_root_effects);
}
var effect2 = last_scheduled_effect = signal;
while (effect2.parent !== null) {
effect2 = effect2.parent;
var flags = effect2.f;
if ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {
if ((flags & CLEAN) === 0) return;
effect2.f ^= CLEAN;
}
}
queued_root_effects.push(effect2);
}
function process_effects(root2) {
var effects = [];
var effect2 = root2;
while (effect2 !== null) {
var flags = effect2.f;
var is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;
var is_skippable_branch = is_branch && (flags & CLEAN) !== 0;
if (!is_skippable_branch && (flags & INERT) === 0) {
if ((flags & EFFECT) !== 0) {
effects.push(effect2);
} else if (is_branch) {
effect2.f ^= CLEAN;
} else {
var previous_active_reaction = active_reaction;
try {
active_reaction = effect2;
if (check_dirtiness(effect2)) {
update_effect(effect2);
}
} catch (error) {
handle_error(error, effect2, null, effect2.ctx);
} finally {
active_reaction = previous_active_reaction;
}
}
var child = effect2.first;
if (child !== null) {
effect2 = child;
continue;
}
}
var parent = effect2.parent;
effect2 = effect2.next;
while (effect2 === null && parent !== null) {
effect2 = parent.next;
parent = parent.parent;
}
}
return effects;
}
function flushSync(fn) {
var result;
flush_tasks();
while (queued_root_effects.length > 0) {
is_flushing = true;
flush_queued_root_effects();
flush_tasks();
}
return (
/** @type {T} */
result
);
}
function get(signal) {
var flags = signal.f;
var is_derived = (flags & DERIVED) !== 0;
if (active_reaction !== null && !untracking) {
if (!reaction_sources?.includes(signal)) {
var deps = active_reaction.deps;
if (signal.rv < read_version) {
signal.rv = read_version;
if (new_deps === null && deps !== null && deps[skipped_deps] === signal) {
skipped_deps++;
} else if (new_deps === null) {
new_deps = [signal];
} else if (!skip_reaction || !new_deps.includes(signal)) {
new_deps.push(signal);
}
}
}
} else if (is_derived && /** @type {Derived} */
signal.deps === null && /** @type {Derived} */
signal.effects === null) {
var derived = (
/** @type {Derived} */
signal
);
var parent = derived.parent;
if (parent !== null && (parent.f & UNOWNED) === 0) {
derived.f ^= UNOWNED;
}
}
if (is_derived) {
derived = /** @type {Derived} */
signal;
if (check_dirtiness(derived)) {
update_derived(derived);
}
}
if (is_destroying_effect && old_values.has(signal)) {
return old_values.get(signal);
}
return signal.v;
}
const STATUS_MASK = -7169;
function set_signal_status(signal, status) {
signal.f = signal.f & STATUS_MASK | status;
}
const PASSIVE_EVENTS = ["touchstart", "touchmove"];
function is_passive_event(name) {
return PASSIVE_EVENTS.includes(name);
}
const all_registered_events = /* @__PURE__ */ new Set();
const root_event_handles = /* @__PURE__ */ new Set();
function handle_event_propagation(event) {
var handler_element = this;
var owner_document = (
/** @type {Node} */
handler_element.ownerDocument
);
var event_name = event.type;
var path = event.composedPath?.() || [];
var current_target = (
/** @type {null | Element} */
path[0] || event.target
);
var path_idx = 0;
var handled_at = event.__root;
if (handled_at) {
var at_idx = path.indexOf(handled_at);
if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */
window)) {
event.__root = handler_element;
return;
}
var handler_idx = path.indexOf(handler_element);
if (handler_idx === -1) {
return;
}
if (at_idx <= handler_idx) {
path_idx = at_idx;
}
}
current_target = /** @type {Element} */
path[path_idx] || event.target;
if (current_target === handler_element) return;
define_property(event, "currentTarget", {
configurable: true,
get() {
return current_target || owner_document;
}
});
var previous_reaction = active_reaction;
var previous_effect = active_effect;
set_active_reaction(null);
set_active_effect(null);
try {
var throw_error;
var other_errors = [];
while (current_target !== null) {
var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */
current_target.host || null;
try {
var delegated = current_target["__" + event_name];
if (delegated != null && (!/** @type {any} */
current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
// -> the target could not have been disabled because it emits the event in the first place
event.target === current_target)) {
if (is_array(delegated)) {
var [fn, ...data] = delegated;
fn.apply(current_target, [event, ...data]);
} else {
delegated.call(current_target, event);
}
}
} catch (error) {
if (throw_error) {
other_errors.push(error);
} else {
throw_error = error;
}
}
if (event.cancelBubble || parent_element === handler_element || parent_element === null) {
break;
}
current_target = parent_element;
}
if (throw_error) {
for (let error of other_errors) {
queueMicrotask(() => {
throw error;
});
}
throw throw_error;
}
} finally {
event.__root = handler_element;
delete event.currentTarget;
set_active_reaction(previous_reaction);
set_active_effect(previous_effect);
}
}
function assign_nodes(start, end) {
var effect2 = (
/** @type {Effect} */
active_effect
);
if (effect2.nodes_start === null) {
effect2.nodes_start = start;
effect2.nodes_end = end;
}
}
function mount(component, options2) {
return _mount(component, options2);
}
function hydrate(component, options2) {
init_operations();
options2.intro = options2.intro ?? false;
const target = options2.target;
const was_hydrating = hydrating;
const previous_hydrate_node = hydrate_node;
try {
var anchor = (
/** @type {TemplateNode} */
/* @__PURE__ */ get_first_child(target)
);
while (anchor && (anchor.nodeType !== 8 || /** @type {Comment} */
anchor.data !== HYDRATION_START)) {
anchor = /** @type {TemplateNode} */
/* @__PURE__ */ get_next_sibling(anchor);
}
if (!anchor) {
throw HYDRATION_ERROR;
}
set_hydrating(true);
set_hydrate_node(
/** @type {Comment} */
anchor
);
hydrate_next();
const instance = _mount(component, { ...options2, anchor });
if (hydrate_node === null || hydrate_node.nodeType !== 8 || /** @type {Comment} */
hydrate_node.data !== HYDRATION_END) {
hydration_mismatch();
throw HYDRATION_ERROR;
}
set_hydrating(false);
return (
/** @type {Exports} */
instance
);
} catch (error) {
if (error === HYDRATION_ERROR) {
if (options2.recover === false) {
hydration_failed();
}
init_operations();
clear_text_content(target);
set_hydrating(false);
return mount(component, options2);
}
throw error;
} finally {
set_hydrating(was_hydrating);
set_hydrate_node(previous_hydrate_node);
}
}
const document_listeners = /* @__PURE__ */ new Map();
function _mount(Component, { target, anchor, props = {}, events, context, intro = true }) {
init_operations();
var registered_events = /* @__PURE__ */ new Set();
var event_handle = (events2) => {
for (var i = 0; i < events2.length; i++) {
var event_name = events2[i];
if (registered_events.has(event_name)) continue;
registered_events.add(event_name);
var passive = is_passive_event(event_name);
target.addEventListener(event_name, handle_event_propagation, { passive });
var n = document_listeners.get(event_name);
if (n === void 0) {
document.addEventListener(event_name, handle_event_propagation, { passive });
document_listeners.set(event_name, 1);
} else {
document_listeners.set(event_name, n + 1);
}
}
};
event_handle(array_from(all_registered_events));
root_event_handles.add(event_handle);
var component = void 0;
var unmount2 = component_root(() => {
var anchor_node = anchor ?? target.appendChild(create_text());
branch(() => {
if (context) {
push({});
var ctx = (
/** @type {ComponentContext} */
component_context
);
ctx.c = context;
}
if (events) {
props.$$events = events;
}
if (hydrating) {
assign_nodes(
/** @type {TemplateNode} */
anchor_node,
null
);
}
component = Component(anchor_node, props) || {};
if (hydrating) {
active_effect.nodes_end = hydrate_node;
}
if (context) {
pop();
}
});
return () => {
for (var event_name of registered_events) {
target.removeEventListener(event_name, handle_event_propagation);
var n = (
/** @type {number} */
document_listeners.get(event_name)
);
if (--n === 0) {
document.removeEventListener(event_name, handle_event_propagation);
document_listeners.delete(event_name);
} else {
document_listeners.set(event_name, n);
}
}
root_event_handles.delete(event_handle);
if (anchor_node !== anchor) {
anchor_node.parentNode?.removeChild(anchor_node);
}
};
});
mounted_components.set(component, unmount2);
return component;
}
let mounted_components = /* @__PURE__ */ new WeakMap();
function unmount(component, options2) {
const fn = mounted_components.get(component);
if (fn) {
mounted_components.delete(component);
return fn(options2);
}
return Promise.resolve();
}
function asClassComponent$1(component) {
return class extends Svelte4Component {
/** @param {any} options */
constructor(options2) {
super({
component,
...options2
});
}
};
}
class Svelte4Component {
/** @type {any} */
#events;
/** @type {Record<string, any>} */
#instance;
/**
* @param {ComponentConstructorOptions & {
* component: any;
* }} options
*/
constructor(options2) {
var sources = /* @__PURE__ */ new Map();
var add_source = (key, value) => {
var s = /* @__PURE__ */ mutable_source(value);
sources.set(key, s);
return s;
};
const props = new Proxy(
{ ...options2.props || {}, $$events: {} },
{
get(target, prop) {
return get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
},
has(target, prop) {
if (prop === LEGACY_PROPS) return true;
get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
return Reflect.has(target, prop);
},
set(target, prop, value) {
set(sources.get(prop) ?? add_source(prop, value), value);
return Reflect.set(target, prop, value);
}
}
);
this.#instance = (options2.hydrate ? hydrate : mount)(options2.component, {
target: options2.target,
anchor: options2.anchor,
props,
context: options2.context,
intro: options2.intro ?? false,
recover: options2.recover
});
if (!options2?.props?.$$host || options2.sync === false) {
flushSync();
}
this.#events = props.$$events;
for (const key of Object.keys(this.#instance)) {
if (key === "$set" || key === "$destroy" || key === "$on") continue;
define_property(this, key, {
get() {
return this.#instance[key];
},
/** @param {any} value */
set(value) {
this.#instance[key] = value;
},
enumerable: true
});
}
this.#instance.$set = /** @param {Record<string, any>} next */
(next) => {
Object.assign(props, next);
};
this.#instance.$destroy = () => {
unmount(this.#instance);
};
}
/** @param {Record<string, any>} props */
$set(props) {
this.#instance.$set(props);
}
/**
* @param {string} event
* @param {(...args: any[]) => any} callback
* @returns {any}
*/
$on(event, callback) {
this.#events[event] = this.#events[event] || [];
const cb = (...args) => callback.call(this, ...args);
this.#events[event].push(cb);
return () => {
this.#events[event] = this.#events[event].filter(
/** @param {any} fn */
(fn) => fn !== cb
);
};
}
$destroy() {
this.#instance.$destroy();
}
}
let read_implementation = null;
function set_read_implementation(fn) {
read_implementation = fn;
}
function set_manifest(_) {
}
function asClassComponent(component) {
const component_constructor = asClassComponent$1(component);
const _render = (props, { context } = {}) => {
const result = render(component, { props, context });
return {
css: { code: "", map: null },
head: result.head,
html: result.body
};
};
component_constructor.render = _render;
return component_constructor;
}
let prerendering = false;
function set_building() {
}
function set_prerendering() {
prerendering = true;
}
function Root($$payload, $$props) {
push$1();
let {
stores,
page,
constructors,
components = [],
form,
data_0 = null,
data_1 = null
} = $$props;
{
setContext("__svelte__", stores);
}
{
stores.page.set(page);
}
const Pyramid_1 = constructors[1];
if (constructors[1]) {
$$payload.out += "<!--[-->";
const Pyramid_0 = constructors[0];
$$payload.out += `<!---->`;
Pyramid_0($$payload, {
data: data_0,
form,
children: ($$payload2) => {
$$payload2.out += `<!---->`;
Pyramid_1($$payload2, { data: data_1, form });
$$payload2.out += `<!---->`;
},
$$slots: { default: true }
});
$$payload.out += `<!---->`;
} else {
$$payload.out += "<!--[!-->";
const Pyramid_0 = constructors[0];
$$payload.out += `<!---->`;
Pyramid_0($$payload, { data: data_0, form });
$$payload.out += `<!---->`;
}
$$payload.out += `<!--]--> `;
{
$$payload.out += "<!--[!-->";
}
$$payload.out += `<!--]-->`;
pop$1();
}
const root = asClassComponent(Root);
const options = {
app_template_contains_nonce: false,
csp: { "mode": "auto", "directives": { "upgrade-insecure-requests": false, "block-all-mixed-content": false }, "reportOnly": { "upgrade-insecure-requests": false, "block-all-mixed-content": false } },
csrf_check_origin: true,
embedded: false,
env_public_prefix: "PUBLIC_",
env_private_prefix: "",
hash_routing: false,
hooks: null,
// added lazily, via `get_hooks`
preload_strategy: "modulepreload",
root,
service_worker: false,
templates: {
app: ({ head, body, assets: assets2, nonce, env }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <link rel="icon" href="' + assets2 + '/favicon.png" />\n <meta name="viewport" content="width=device-width, initial-scale=1" />\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
error: ({ status, message }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <title>' + message + `</title>
<style>
body {
--bg: white;
--fg: #222;
--divider: #ccc;
background: var(--bg);
color: var(--fg);
font-family:
system-ui,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Oxygen,
Ubuntu,
Cantarell,
'Open Sans',
'Helvetica Neue',
sans-serif;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
.error {
display: flex;
align-items: center;
max-width: 32rem;
margin: 0 1rem;
}
.status {
font-weight: 200;
font-size: 3rem;
line-height: 1;
position: relative;
top: -0.05rem;
}
.message {
border-left: 1px solid var(--divider);
padding: 0 0 0 1rem;
margin: 0 0 0 1rem;
min-height: 2.5rem;
display: flex;
align-items: center;
}
.message h1 {
font-weight: 400;
font-size: 1em;
margin: 0;
}
@media (prefers-color-scheme: dark) {
body {
--bg: #222;
--fg: #ddd;
--divider: #666;
}
}
</style>
</head>
<body>
<div class="error">
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
},
version_hash: "1du9zss"
};
async function get_hooks() {
let handle;
let handleFetch;
let handleError;
let init;
let reroute;
let transport;
return {
handle,
handleFetch,
handleError,
init,
reroute,
transport
};
}
export {
BROWSER as B,
assets as a,
base as b,
app_dir as c,
read_implementation as d,
options as e,
set_private_env as f,
get_hooks as g,
prerendering as h,
set_public_env as i,
set_safe_public_env as j,
set_read_implementation as k,
set_assets as l,
set_building as m,
set_manifest as n,
override as o,
public_env as p,
set_prerendering as q,
reset as r,
safe_public_env as s
};

View File

@@ -0,0 +1,63 @@
import { g as getContext, e as escape_html, c as pop, p as push } from "../../chunks/index.js";
import "clsx";
import { n as noop } from "../../chunks/equality.js";
import { w as writable } from "../../chunks/exports.js";
const SNAPSHOT_KEY = "sveltekit:snapshot";
const SCROLL_KEY = "sveltekit:scroll";
function create_updated_store() {
const { set, subscribe } = writable(false);
{
return {
subscribe,
// eslint-disable-next-line @typescript-eslint/require-await
check: async () => false
};
}
}
const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString());
if (is_legacy) {
({
data: {},
form: null,
error: null,
params: {},
route: { id: null },
state: {},
status: -1,
url: new URL("https://example.com")
});
}
function get(key, parse = JSON.parse) {
try {
return parse(sessionStorage[key]);
} catch {
}
}
get(SCROLL_KEY) ?? {};
get(SNAPSHOT_KEY) ?? {};
const stores = {
updated: /* @__PURE__ */ create_updated_store()
};
({
check: stores.updated.check
});
function context() {
return getContext("__request__");
}
const page$1 = {
get error() {
return context().page.error;
},
get status() {
return context().page.status;
}
};
const page = page$1;
function Error$1($$payload, $$props) {
push();
$$payload.out += `<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`;
pop();
}
export {
Error$1 as default
};

View File

@@ -0,0 +1,9 @@
import "clsx";
function _layout($$payload, $$props) {
let { children } = $$props;
children($$payload);
$$payload.out += `<!---->`;
}
export {
_layout as default
};

View File

@@ -0,0 +1,55 @@
import { d as ensure_array_like, f as attr_class, e as escape_html, c as pop, p as push, h as stringify } from "../../chunks/index.js";
function _page($$payload, $$props) {
push();
const services = [
{
title: "Digital Transformation",
description: "Reimagine your business for the digital age",
icon: "🔄"
},
{
title: "Cloud Solutions",
description: "Scalable infrastructure for modern enterprises",
icon: "☁️"
},
{
title: "AI Integration",
description: "Intelligent solutions for complex problems",
icon: "🧠"
},
{
title: "Custom Development",
description: "Tailored software for your unique needs",
icon: "💻"
}
];
const each_array = ensure_array_like(services);
$$payload.out += `<div class="min-h-screen bg-gradient-to-b from-gray-900 to-gray-800 font-sans text-gray-100"><nav class="bg-opacity-90 fixed z-10 w-full bg-gray-900"><div class="container mx-auto flex items-center justify-between px-6 py-4"><div class="flex items-center"><span class="text-2xl font-bold text-blue-500">A2Z</span> <span class="text-2xl font-bold">Software</span></div> <div class="hidden space-x-8 md:flex"><a href="#about" class="transition hover:text-blue-400">About</a> <a href="#services" class="transition hover:text-blue-400">Services</a> <a href="#solutions" class="transition hover:text-blue-400">Solutions</a> <a href="#contact" class="transition hover:text-blue-400">Contact</a></div> <button class="focus:outline-none md:hidden" aria-label="Toggle Menu"><svg class="h-6 w-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></nav> <section class="px-6 pt-32 pb-24"><div class="container mx-auto text-center"><h1${attr_class(`mb-6 text-5xl font-bold md:text-6xl ${stringify("opacity-0")} transition-opacity duration-1000`)}>Innovating Tomorrow's Technology Today</h1> <p${attr_class(`mx-auto mb-12 max-w-3xl text-xl text-gray-300 md:text-2xl ${stringify("opacity-0")} transition-opacity delay-300 duration-1000`)}>A2ZSoftware delivers cutting-edge solutions at the intersection of technology and business,
empowering organizations to thrive in the digital landscape.</p> <div${attr_class(`flex flex-col justify-center gap-4 sm:flex-row ${stringify("opacity-0")} transition-opacity delay-500 duration-1000`)}><a href="#solutions" class="rounded-lg bg-blue-600 px-8 py-3 font-bold text-white transition hover:bg-blue-700">Explore Solutions</a> <a href="#contact" class="rounded-lg border-2 border-blue-500 bg-transparent px-8 py-3 font-bold text-blue-400 transition hover:bg-blue-500 hover:text-white">Contact Us</a></div></div></section> <section id="about" class="bg-opacity-70 bg-gray-800 py-20"><div class="container mx-auto px-6"><div class="flex flex-col items-center md:flex-row"><div class="mb-10 md:mb-0 md:w-1/2"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-600 p-2"><span class="font-bold text-blue-400">About Us</span></div> <h2 class="mb-6 text-4xl font-bold">Pioneering the Future of Technology</h2> <p class="mb-6 text-gray-300">At A2ZSoftware, we're a growing startup determined to redefine what's possible in the
tech industry. Guided by a spirit of innovation and the drive to offer unique solutions,
we help businesses stay competitive in a digital-first world.</p> <p class="mb-6 text-gray-300">Our close-knit team merges deep technical expertise with entrepreneurial insight,
crafting tailored strategies that address current challenges and anticipate new market
opportunities. Were committed to pushing boundaries and delivering transformative
outcomes.</p> <p class="mb-6 text-gray-300">Although were still establishing our footprint, we strive to earn our clients trust by
streamlining processes, modernizing systems, and enhancing operational efficiency. At
A2ZSoftware, were passionate about tackling difficult problems and turning them into
innovative solutions.</p> <p class="mb-6 text-gray-300">Our culture is built on collaboration, continuous learning, and a commitment to
excellence. Every project begins with open communication and ends with tangible results.
By embracing emerging technologies and forward-thinking strategies, we believe we can
empower businesses to become more adaptable, sustainable, and prepared for the future.</p> <div class="mt-8 flex flex-wrap gap-8"><div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">10+</div> <div class="text-sm text-gray-400">Years of<br>Experience</div></div> <div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">300+</div> <div class="text-sm text-gray-400">Projects<br>Completed</div></div> <div class="flex items-center"><div class="mr-4 text-4xl text-blue-500">98%</div> <div class="text-sm text-gray-400">Client<br>Satisfaction</div></div></div></div> <div class="md:w-1/2 md:pl-12"><div class="grid grid-cols-2 gap-4"><div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-blue-700 to-purple-700 p-6"><span class="text-5xl">🚀</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-purple-700 to-pink-700 p-6"><span class="text-5xl">💡</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-pink-700 to-red-700 p-6"><span class="text-5xl">⚙️</span></div> <div class="flex h-48 items-center justify-center rounded-lg bg-gradient-to-br from-blue-700 to-green-700 p-6"><span class="text-5xl">🔍</span></div></div></div></div></div></section> <section id="services" class="bg-gray-900 py-20"><div class="container mx-auto px-6"><div class="mb-16 text-center"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-600 p-2"><span class="font-bold text-blue-400">Our Services</span></div> <h2 class="mb-6 text-4xl font-bold">Comprehensive Technology Solutions</h2> <p class="mx-auto max-w-3xl text-gray-300">We offer a wide range of services designed to help businesses leverage technology for
growth, efficiency, and innovation.</p></div> <div class="grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4"><!--[-->`;
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let service = each_array[$$index];
$$payload.out += `<div class="bg-opacity-50 rounded-lg bg-gray-800 p-8 transition-all duration-300 hover:-translate-y-2 hover:transform hover:bg-gray-700"><div class="mb-6 text-4xl">${escape_html(service.icon)}</div> <h3 class="mb-4 text-2xl font-bold">${escape_html(service.title)}</h3> <p class="text-gray-300">${escape_html(service.description)}</p></div>`;
}
$$payload.out += `<!--]--></div></div></section> <section id="solutions" class="bg-gradient-to-r from-blue-900 to-purple-900 py-20"><div class="container mx-auto px-6"><div class="mb-16 text-center"><div class="bg-opacity-20 mb-4 inline-block rounded-lg bg-blue-500 p-2"><span class="font-bold text-blue-300">Our Approach</span></div> <h2 class="mb-6 text-4xl font-bold">Innovative Solutions for Complex Challenges</h2> <p class="mx-auto max-w-3xl text-gray-300">We combine creativity with technical expertise to develop solutions that address your most
pressing business challenges.</p></div> <div class="grid grid-cols-1 gap-8 md:grid-cols-3"><div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Discovery</h3> <p class="mb-6 text-gray-300">We begin by understanding your business, challenges, and goals through in-depth
consultation and analysis.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">1</span></div></div> <div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Innovation</h3> <p class="mb-6 text-gray-300">Our experts design tailored solutions leveraging cutting-edge technologies and
methodologies.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">2</span></div></div> <div class="bg-opacity-30 rounded-lg bg-gray-800 p-8"><h3 class="mb-4 text-2xl font-bold">Implementation</h3> <p class="mb-6 text-gray-300">We bring solutions to life with meticulous development, testing, and deployment
processes.</p> <div class="mb-2 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500"><span class="text-2xl">3</span></div></div></div></div></section> <section id="contact" class="bg-gradient-to-r from-blue-800 to-purple-900 py-20"><div class="container mx-auto px-6 text-center"><h2 class="mb-8 text-4xl font-bold">Ready to Transform Your Business?</h2> <p class="mx-auto mb-12 max-w-3xl text-xl text-gray-300">Let's collaborate to create innovative solutions that drive your business forward in the
digital age.</p> <form class="mx-auto max-w-lg"><div class="mb-6 flex flex-col gap-4 md:flex-row"><div class="flex-1"><label for="name" class="sr-only">Your Name</label> <input type="text" id="name" placeholder="Your Name" class="w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></div> <div class="flex-1"><label for="email" class="sr-only">Your Email</label> <input type="email" id="email" placeholder="Your Email" class="w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></div></div> <div><label for="message" class="sr-only">Your Message</label> <textarea id="message" placeholder="Your Message" rows="4" class="mb-6 w-full rounded-lg border border-gray-700 bg-gray-800 px-4 py-3 text-white focus:border-blue-500 focus:outline-none"></textarea></div> <button type="submit" class="w-full rounded-lg bg-blue-600 px-8 py-3 font-bold text-white transition hover:bg-blue-700">Get in Touch</button></form></div></section> <footer class="bg-gray-900 py-12"><div class="container mx-auto px-6"><div class="flex flex-col justify-between md:flex-row"><div class="mb-8 md:mb-0"><div class="mb-4 flex items-center"><span class="text-2xl font-bold text-blue-500">A2Z</span> <span class="text-2xl font-bold">Software</span></div> <p class="max-w-xs text-gray-400">Transforming businesses through innovative technology solutions.</p></div> <div class="grid grid-cols-2 gap-8 md:grid-cols-3"><div><h3 class="mb-4 text-lg font-bold">Company</h3> <ul class="space-y-2"><li><a href="#about" class="text-gray-400 transition hover:text-white">About</a></li> <li><a href="/careers" class="text-gray-400 transition hover:text-white">Careers</a></li> <li><a href="/blog" class="text-gray-400 transition hover:text-white">Blog</a></li></ul></div> <div><h3 class="mb-4 text-lg font-bold">Services</h3> <ul class="space-y-2"><li><a href="/services/development" class="text-gray-400 transition hover:text-white">Development</a></li> <li><a href="/services/consulting" class="text-gray-400 transition hover:text-white">Consulting</a></li> <li><a href="/services/cloud" class="text-gray-400 transition hover:text-white">Cloud Solutions</a></li> <li><a href="/services/ai-ml" class="text-gray-400 transition hover:text-white">AI &amp; ML</a></li></ul></div> <div><h3 class="mb-4 text-lg font-bold">Connect</h3> <ul class="space-y-2"><li><a href="#contact" class="text-gray-400 transition hover:text-white">Contact</a></li> <li><a href="https://linkedin.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">LinkedIn</a></li> <li><a href="https://twitter.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">Twitter</a></li> <li><a href="https://github.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer">GitHub</a></li></ul></div></div></div> <div class="mt-12 flex flex-col items-center justify-between border-t border-gray-800 pt-8 md:flex-row"><p class="text-gray-500">© 2025 A2Z Software Inc. All rights reserved.</p> <div class="mt-4 flex space-x-6 md:mt-0"><a href="https://facebook.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="Facebook"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M22.675 0h-21.35c-.732 0-1.325.593-1.325 1.325v21.351c0 .731.593 1.324 1.325 1.324h11.495v-9.294h-3.128v-3.622h3.128v-2.671c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24l-1.918.001c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12v9.293h6.116c.73 0 1.323-.593 1.323-1.325v-21.35c0-.732-.593-1.325-1.325-1.325z"></path></svg></a> <a href="https://twitter.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="Twitter"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path></svg></a> <a href="https://github.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a> <a href="https://linkedin.com" class="text-gray-400 transition hover:text-white" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn"><svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg></a></div></div></div></footer></div>`;
pop();
}
export {
_page as default
};

View File

@@ -0,0 +1,3321 @@
import { B as BROWSER, a as assets, b as base, c as app_dir, p as public_env, s as safe_public_env, o as override, r as reset, d as read_implementation, e as options, g as get_hooks, f as set_private_env, h as prerendering, i as set_public_env, j as set_safe_public_env, k as set_read_implementation } from "./chunks/internal.js";
import * as devalue from "devalue";
import { m as make_trackable, d as disable_search, a as decode_params, r as readable, w as writable, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, n as normalize_path, f as resolve, g as decode_pathname, h as validate_server_exports } from "./chunks/exports.js";
import { parse, serialize } from "cookie";
import * as set_cookie_parser from "set-cookie-parser";
const SVELTE_KIT_ASSETS = "/_svelte_kit_assets";
const ENDPOINT_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
const PAGE_METHODS = ["GET", "POST", "HEAD"];
function negotiate(accept, types) {
const parts = [];
accept.split(",").forEach((str, i) => {
const match = /([^/ \t]+)\/([^; \t]+)[ \t]*(?:;[ \t]*q=([0-9.]+))?/.exec(str);
if (match) {
const [, type, subtype, q = "1"] = match;
parts.push({ type, subtype, q: +q, i });
}
});
parts.sort((a, b) => {
if (a.q !== b.q) {
return b.q - a.q;
}
if (a.subtype === "*" !== (b.subtype === "*")) {
return a.subtype === "*" ? 1 : -1;
}
if (a.type === "*" !== (b.type === "*")) {
return a.type === "*" ? 1 : -1;
}
return a.i - b.i;
});
let accepted;
let min_priority = Infinity;
for (const mimetype of types) {
const [type, subtype] = mimetype.split("/");
const priority = parts.findIndex(
(part) => (part.type === type || part.type === "*") && (part.subtype === subtype || part.subtype === "*")
);
if (priority !== -1 && priority < min_priority) {
accepted = mimetype;
min_priority = priority;
}
}
return accepted;
}
function is_content_type(request, ...types) {
const type = request.headers.get("content-type")?.split(";", 1)[0].trim() ?? "";
return types.includes(type.toLowerCase());
}
function is_form_content_type(request) {
return is_content_type(
request,
"application/x-www-form-urlencoded",
"multipart/form-data",
"text/plain"
);
}
let request_event = null;
let als;
import("node:async_hooks").then((hooks) => als = new hooks.AsyncLocalStorage()).catch(() => {
});
function with_event(event, fn) {
try {
request_event = event;
return als ? als.run(event, fn) : fn();
} finally {
request_event = null;
}
}
class HttpError {
/**
* @param {number} status
* @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body
*/
constructor(status, body2) {
this.status = status;
if (typeof body2 === "string") {
this.body = { message: body2 };
} else if (body2) {
this.body = body2;
} else {
this.body = { message: `Error: ${status}` };
}
}
toString() {
return JSON.stringify(this.body);
}
}
class Redirect {
/**
* @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status
* @param {string} location
*/
constructor(status, location) {
this.status = status;
this.location = location;
}
}
class SvelteKitError extends Error {
/**
* @param {number} status
* @param {string} text
* @param {string} message
*/
constructor(status, text2, message) {
super(message);
this.status = status;
this.text = text2;
}
}
class ActionFailure {
/**
* @param {number} status
* @param {T} data
*/
constructor(status, data) {
this.status = status;
this.data = data;
}
}
const DATA_SUFFIX = "/__data.json";
const HTML_DATA_SUFFIX = ".html__data.json";
function has_data_suffix(pathname) {
return pathname.endsWith(DATA_SUFFIX) || pathname.endsWith(HTML_DATA_SUFFIX);
}
function add_data_suffix(pathname) {
if (pathname.endsWith(".html")) return pathname.replace(/\.html$/, HTML_DATA_SUFFIX);
return pathname.replace(/\/$/, "") + DATA_SUFFIX;
}
function strip_data_suffix(pathname) {
if (pathname.endsWith(HTML_DATA_SUFFIX)) {
return pathname.slice(0, -HTML_DATA_SUFFIX.length) + ".html";
}
return pathname.slice(0, -DATA_SUFFIX.length);
}
const ROUTE_SUFFIX = "/__route.js";
function has_resolution_suffix(pathname) {
return pathname.endsWith(ROUTE_SUFFIX);
}
function add_resolution_suffix(pathname) {
return pathname.replace(/\/$/, "") + ROUTE_SUFFIX;
}
function strip_resolution_suffix(pathname) {
return pathname.slice(0, -ROUTE_SUFFIX.length);
}
function json(data, init2) {
const body2 = JSON.stringify(data);
const headers2 = new Headers(init2?.headers);
if (!headers2.has("content-length")) {
headers2.set("content-length", encoder$3.encode(body2).byteLength.toString());
}
if (!headers2.has("content-type")) {
headers2.set("content-type", "application/json");
}
return new Response(body2, {
...init2,
headers: headers2
});
}
const encoder$3 = new TextEncoder();
function text(body2, init2) {
const headers2 = new Headers(init2?.headers);
if (!headers2.has("content-length")) {
const encoded = encoder$3.encode(body2);
headers2.set("content-length", encoded.byteLength.toString());
return new Response(encoded, {
...init2,
headers: headers2
});
}
return new Response(body2, {
...init2,
headers: headers2
});
}
function coalesce_to_error(err) {
return err instanceof Error || err && /** @type {any} */
err.name && /** @type {any} */
err.message ? (
/** @type {Error} */
err
) : new Error(JSON.stringify(err));
}
function normalize_error(error) {
return (
/** @type {import('../runtime/control.js').Redirect | HttpError | SvelteKitError | Error} */
error
);
}
function get_status(error) {
return error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;
}
function get_message(error) {
return error instanceof SvelteKitError ? error.text : "Internal Error";
}
const escape_html_attr_dict = {
"&": "&amp;",
'"': "&quot;"
// Svelte also escapes < because the escape function could be called inside a `noscript` there
// https://github.com/sveltejs/svelte/security/advisories/GHSA-8266-84wp-wv5c
// However, that doesn't apply in SvelteKit
};
const escape_html_dict = {
"&": "&amp;",
"<": "&lt;"
};
const surrogates = (
// high surrogate without paired low surrogate
"[\\ud800-\\udbff](?![\\udc00-\\udfff])|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\udc00-\\udfff]"
);
const escape_html_attr_regex = new RegExp(
`[${Object.keys(escape_html_attr_dict).join("")}]|` + surrogates,
"g"
);
const escape_html_regex = new RegExp(
`[${Object.keys(escape_html_dict).join("")}]|` + surrogates,
"g"
);
function escape_html(str, is_attr) {
const dict = is_attr ? escape_html_attr_dict : escape_html_dict;
const escaped_str = str.replace(is_attr ? escape_html_attr_regex : escape_html_regex, (match) => {
if (match.length === 2) {
return match;
}
return dict[match] ?? `&#${match.charCodeAt(0)};`;
});
return escaped_str;
}
function method_not_allowed(mod, method) {
return text(`${method} method not allowed`, {
status: 405,
headers: {
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405
// "The server must generate an Allow header field in a 405 status code response"
allow: allowed_methods(mod).join(", ")
}
});
}
function allowed_methods(mod) {
const allowed = ENDPOINT_METHODS.filter((method) => method in mod);
if ("GET" in mod || "HEAD" in mod) allowed.push("HEAD");
return allowed;
}
function static_error_page(options2, status, message) {
let page = options2.templates.error({ status, message: escape_html(message) });
return text(page, {
headers: { "content-type": "text/html; charset=utf-8" },
status
});
}
async function handle_fatal_error(event, options2, error) {
error = error instanceof HttpError ? error : coalesce_to_error(error);
const status = get_status(error);
const body2 = await handle_error_and_jsonify(event, options2, error);
const type = negotiate(event.request.headers.get("accept") || "text/html", [
"application/json",
"text/html"
]);
if (event.isDataRequest || type === "application/json") {
return json(body2, {
status
});
}
return static_error_page(options2, status, body2.message);
}
async function handle_error_and_jsonify(event, options2, error) {
if (error instanceof HttpError) {
return error.body;
}
const status = get_status(error);
const message = get_message(error);
return await with_event(
event,
() => options2.hooks.handleError({ error, event, status, message })
) ?? { message };
}
function redirect_response(status, location) {
const response = new Response(void 0, {
status,
headers: { location }
});
return response;
}
function clarify_devalue_error(event, error) {
if (error.path) {
return `Data returned from \`load\` while rendering ${event.route.id} is not serializable: ${error.message} (data${error.path})`;
}
if (error.path === "") {
return `Data returned from \`load\` while rendering ${event.route.id} is not a plain object`;
}
return error.message;
}
function stringify_uses(node) {
const uses = [];
if (node.uses && node.uses.dependencies.size > 0) {
uses.push(`"dependencies":${JSON.stringify(Array.from(node.uses.dependencies))}`);
}
if (node.uses && node.uses.search_params.size > 0) {
uses.push(`"search_params":${JSON.stringify(Array.from(node.uses.search_params))}`);
}
if (node.uses && node.uses.params.size > 0) {
uses.push(`"params":${JSON.stringify(Array.from(node.uses.params))}`);
}
if (node.uses?.parent) uses.push('"parent":1');
if (node.uses?.route) uses.push('"route":1');
if (node.uses?.url) uses.push('"url":1');
return `"uses":{${uses.join(",")}}`;
}
function has_prerendered_path(manifest, pathname) {
return manifest._.prerendered_routes.has(pathname) || pathname.at(-1) === "/" && manifest._.prerendered_routes.has(pathname.slice(0, -1));
}
async function render_endpoint(event, mod, state) {
const method = (
/** @type {import('types').HttpMethod} */
event.request.method
);
let handler = mod[method] || mod.fallback;
if (method === "HEAD" && mod.GET && !mod.HEAD) {
handler = mod.GET;
}
if (!handler) {
return method_not_allowed(mod, method);
}
const prerender = mod.prerender ?? state.prerender_default;
if (prerender && (mod.POST || mod.PATCH || mod.PUT || mod.DELETE)) {
throw new Error("Cannot prerender endpoints that have mutative methods");
}
if (state.prerendering && !state.prerendering.inside_reroute && !prerender) {
if (state.depth > 0) {
throw new Error(`${event.route.id} is not prerenderable`);
} else {
return new Response(void 0, { status: 204 });
}
}
try {
const response = await with_event(
event,
() => handler(
/** @type {import('@sveltejs/kit').RequestEvent<Record<string, any>>} */
event
)
);
if (!(response instanceof Response)) {
throw new Error(
`Invalid response from route ${event.url.pathname}: handler should return a Response object`
);
}
if (state.prerendering && (!state.prerendering.inside_reroute || prerender)) {
const cloned = new Response(response.clone().body, {
status: response.status,
statusText: response.statusText,
headers: new Headers(response.headers)
});
cloned.headers.set("x-sveltekit-prerender", String(prerender));
if (state.prerendering.inside_reroute && prerender) {
cloned.headers.set(
"x-sveltekit-routeid",
encodeURI(
/** @type {string} */
event.route.id
)
);
state.prerendering.dependencies.set(event.url.pathname, { response: cloned, body: null });
} else {
return cloned;
}
}
return response;
} catch (e) {
if (e instanceof Redirect) {
return new Response(void 0, {
status: e.status,
headers: { location: e.location }
});
}
throw e;
}
}
function is_endpoint_request(event) {
const { method, headers: headers2 } = event.request;
if (ENDPOINT_METHODS.includes(method) && !PAGE_METHODS.includes(method)) {
return true;
}
if (method === "POST" && headers2.get("x-sveltekit-action") === "true") return false;
const accept = event.request.headers.get("accept") ?? "*/*";
return negotiate(accept, ["*", "text/html"]) !== "text/html";
}
function compact(arr) {
return arr.filter(
/** @returns {val is NonNullable<T>} */
(val) => val != null
);
}
function is_action_json_request(event) {
const accept = negotiate(event.request.headers.get("accept") ?? "*/*", [
"application/json",
"text/html"
]);
return accept === "application/json" && event.request.method === "POST";
}
async function handle_action_json_request(event, options2, server) {
const actions = server?.actions;
if (!actions) {
const no_actions_error = new SvelteKitError(
405,
"Method Not Allowed",
`POST method not allowed. No form actions exist for ${"this page"}`
);
return action_json(
{
type: "error",
error: await handle_error_and_jsonify(event, options2, no_actions_error)
},
{
status: no_actions_error.status,
headers: {
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405
// "The server must generate an Allow header field in a 405 status code response"
allow: "GET"
}
}
);
}
check_named_default_separate(actions);
try {
const data = await call_action(event, actions);
if (false) ;
if (data instanceof ActionFailure) {
return action_json({
type: "failure",
status: data.status,
// @ts-expect-error we assign a string to what is supposed to be an object. That's ok
// because we don't use the object outside, and this way we have better code navigation
// through knowing where the related interface is used.
data: stringify_action_response(
data.data,
/** @type {string} */
event.route.id,
options2.hooks.transport
)
});
} else {
return action_json({
type: "success",
status: data ? 200 : 204,
// @ts-expect-error see comment above
data: stringify_action_response(
data,
/** @type {string} */
event.route.id,
options2.hooks.transport
)
});
}
} catch (e) {
const err = normalize_error(e);
if (err instanceof Redirect) {
return action_json_redirect(err);
}
return action_json(
{
type: "error",
error: await handle_error_and_jsonify(event, options2, check_incorrect_fail_use(err))
},
{
status: get_status(err)
}
);
}
}
function check_incorrect_fail_use(error) {
return error instanceof ActionFailure ? new Error('Cannot "throw fail()". Use "return fail()"') : error;
}
function action_json_redirect(redirect) {
return action_json({
type: "redirect",
status: redirect.status,
location: redirect.location
});
}
function action_json(data, init2) {
return json(data, init2);
}
function is_action_request(event) {
return event.request.method === "POST";
}
async function handle_action_request(event, server) {
const actions = server?.actions;
if (!actions) {
event.setHeaders({
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405
// "The server must generate an Allow header field in a 405 status code response"
allow: "GET"
});
return {
type: "error",
error: new SvelteKitError(
405,
"Method Not Allowed",
`POST method not allowed. No form actions exist for ${"this page"}`
)
};
}
check_named_default_separate(actions);
try {
const data = await call_action(event, actions);
if (false) ;
if (data instanceof ActionFailure) {
return {
type: "failure",
status: data.status,
data: data.data
};
} else {
return {
type: "success",
status: 200,
// @ts-expect-error this will be removed upon serialization, so `undefined` is the same as omission
data
};
}
} catch (e) {
const err = normalize_error(e);
if (err instanceof Redirect) {
return {
type: "redirect",
status: err.status,
location: err.location
};
}
return {
type: "error",
error: check_incorrect_fail_use(err)
};
}
}
function check_named_default_separate(actions) {
if (actions.default && Object.keys(actions).length > 1) {
throw new Error(
"When using named actions, the default action cannot be used. See the docs for more info: https://svelte.dev/docs/kit/form-actions#named-actions"
);
}
}
async function call_action(event, actions) {
const url = new URL(event.request.url);
let name = "default";
for (const param of url.searchParams) {
if (param[0].startsWith("/")) {
name = param[0].slice(1);
if (name === "default") {
throw new Error('Cannot use reserved action name "default"');
}
break;
}
}
const action = actions[name];
if (!action) {
throw new SvelteKitError(404, "Not Found", `No action with name '${name}' found`);
}
if (!is_form_content_type(event.request)) {
throw new SvelteKitError(
415,
"Unsupported Media Type",
`Form actions expect form-encoded data — received ${event.request.headers.get(
"content-type"
)}`
);
}
return with_event(event, () => action(event));
}
function validate_action_return(data) {
if (data instanceof Redirect) {
throw new Error("Cannot `return redirect(...)` — use `redirect(...)` instead");
}
if (data instanceof HttpError) {
throw new Error("Cannot `return error(...)` — use `error(...)` or `return fail(...)` instead");
}
}
function uneval_action_response(data, route_id, transport) {
const replacer = (thing) => {
for (const key2 in transport) {
const encoded = transport[key2].encode(thing);
if (encoded) {
return `app.decode('${key2}', ${devalue.uneval(encoded, replacer)})`;
}
}
};
return try_serialize(data, (value) => devalue.uneval(value, replacer), route_id);
}
function stringify_action_response(data, route_id, transport) {
const encoders = Object.fromEntries(
Object.entries(transport).map(([key2, value]) => [key2, value.encode])
);
return try_serialize(data, (value) => devalue.stringify(value, encoders), route_id);
}
function try_serialize(data, fn, route_id) {
try {
return fn(data);
} catch (e) {
const error = (
/** @type {any} */
e
);
if (data instanceof Response) {
throw new Error(
`Data returned from action inside ${route_id} is not serializable. Form actions need to return plain objects or fail(). E.g. return { success: true } or return fail(400, { message: "invalid" });`
);
}
if ("path" in error) {
let message = `Data returned from action inside ${route_id} is not serializable: ${error.message}`;
if (error.path !== "") message += ` (data.${error.path})`;
throw new Error(message);
}
throw error;
}
}
function validate_depends(route_id, dep) {
const match = /^(moz-icon|view-source|jar):/.exec(dep);
if (match) {
console.warn(
`${route_id}: Calling \`depends('${dep}')\` will throw an error in Firefox because \`${match[1]}\` is a special URI scheme`
);
}
}
const INVALIDATED_PARAM = "x-sveltekit-invalidated";
const TRAILING_SLASH_PARAM = "x-sveltekit-trailing-slash";
function b64_encode(buffer) {
if (globalThis.Buffer) {
return Buffer.from(buffer).toString("base64");
}
const little_endian = new Uint8Array(new Uint16Array([1]).buffer)[0] > 0;
return btoa(
new TextDecoder(little_endian ? "utf-16le" : "utf-16be").decode(
new Uint16Array(new Uint8Array(buffer))
)
);
}
function get_relative_path(from, to) {
const from_parts = from.split(/[/\\]/);
const to_parts = to.split(/[/\\]/);
from_parts.pop();
while (from_parts[0] === to_parts[0]) {
from_parts.shift();
to_parts.shift();
}
let i = from_parts.length;
while (i--) from_parts[i] = "..";
return from_parts.concat(to_parts).join("/");
}
async function load_server_data({ event, state, node, parent }) {
if (!node?.server) return null;
let is_tracking = true;
const uses = {
dependencies: /* @__PURE__ */ new Set(),
params: /* @__PURE__ */ new Set(),
parent: false,
route: false,
url: false,
search_params: /* @__PURE__ */ new Set()
};
const load = node.server.load;
const slash = node.server.trailingSlash;
if (!load) {
return { type: "data", data: null, uses, slash };
}
const url = make_trackable(
event.url,
() => {
if (is_tracking) {
uses.url = true;
}
},
(param) => {
if (is_tracking) {
uses.search_params.add(param);
}
}
);
if (state.prerendering) {
disable_search(url);
}
let done = false;
const result = await with_event(
event,
() => load.call(null, {
...event,
fetch: (info, init2) => {
const url2 = new URL(info instanceof Request ? info.url : info, event.url);
if (BROWSER && done && !uses.dependencies.has(url2.href)) ;
return event.fetch(info, init2);
},
/** @param {string[]} deps */
depends: (...deps) => {
for (const dep of deps) {
const { href } = new URL(dep, event.url);
if (BROWSER) ;
uses.dependencies.add(href);
}
},
params: new Proxy(event.params, {
get: (target, key2) => {
if (BROWSER && done && typeof key2 === "string" && !uses.params.has(key2)) ;
if (is_tracking) {
uses.params.add(key2);
}
return target[
/** @type {string} */
key2
];
}
}),
parent: async () => {
if (BROWSER && done && !uses.parent) ;
if (is_tracking) {
uses.parent = true;
}
return parent();
},
route: new Proxy(event.route, {
get: (target, key2) => {
if (BROWSER && done && typeof key2 === "string" && !uses.route) ;
if (is_tracking) {
uses.route = true;
}
return target[
/** @type {'id'} */
key2
];
}
}),
url,
untrack(fn) {
is_tracking = false;
try {
return fn();
} finally {
is_tracking = true;
}
}
})
);
done = true;
return {
type: "data",
data: result ?? null,
uses,
slash
};
}
async function load_data({
event,
fetched,
node,
parent,
server_data_promise,
state,
resolve_opts,
csr
}) {
const server_data_node = await server_data_promise;
if (!node?.universal?.load) {
return server_data_node?.data ?? null;
}
const result = await node.universal.load.call(null, {
url: event.url,
params: event.params,
data: server_data_node?.data ?? null,
route: event.route,
fetch: create_universal_fetch(event, state, fetched, csr, resolve_opts),
setHeaders: event.setHeaders,
depends: () => {
},
parent,
untrack: (fn) => fn()
});
return result ?? null;
}
function create_universal_fetch(event, state, fetched, csr, resolve_opts) {
const universal_fetch = async (input, init2) => {
const cloned_body = input instanceof Request && input.body ? input.clone().body : null;
const cloned_headers = input instanceof Request && [...input.headers].length ? new Headers(input.headers) : init2?.headers;
let response = await event.fetch(input, init2);
const url = new URL(input instanceof Request ? input.url : input, event.url);
const same_origin = url.origin === event.url.origin;
let dependency;
if (same_origin) {
if (state.prerendering) {
dependency = { response, body: null };
state.prerendering.dependencies.set(url.pathname, dependency);
}
} else if (url.protocol === "https:" || url.protocol === "http:") {
const mode = input instanceof Request ? input.mode : init2?.mode ?? "cors";
if (mode === "no-cors") {
response = new Response("", {
status: response.status,
statusText: response.statusText,
headers: response.headers
});
} else {
const acao = response.headers.get("access-control-allow-origin");
if (!acao || acao !== event.url.origin && acao !== "*") {
throw new Error(
`CORS error: ${acao ? "Incorrect" : "No"} 'Access-Control-Allow-Origin' header is present on the requested resource`
);
}
}
}
const proxy = new Proxy(response, {
get(response2, key2, _receiver) {
async function push_fetched(body2, is_b64) {
const status_number = Number(response2.status);
if (isNaN(status_number)) {
throw new Error(
`response.status is not a number. value: "${response2.status}" type: ${typeof response2.status}`
);
}
fetched.push({
url: same_origin ? url.href.slice(event.url.origin.length) : url.href,
method: event.request.method,
request_body: (
/** @type {string | ArrayBufferView | undefined} */
input instanceof Request && cloned_body ? await stream_to_string(cloned_body) : init2?.body
),
request_headers: cloned_headers,
response_body: body2,
response: response2,
is_b64
});
}
if (key2 === "arrayBuffer") {
return async () => {
const buffer = await response2.arrayBuffer();
if (dependency) {
dependency.body = new Uint8Array(buffer);
}
if (buffer instanceof ArrayBuffer) {
await push_fetched(b64_encode(buffer), true);
}
return buffer;
};
}
async function text2() {
const body2 = await response2.text();
if (!body2 || typeof body2 === "string") {
await push_fetched(body2, false);
}
if (dependency) {
dependency.body = body2;
}
return body2;
}
if (key2 === "text") {
return text2;
}
if (key2 === "json") {
return async () => {
return JSON.parse(await text2());
};
}
return Reflect.get(response2, key2, response2);
}
});
if (csr) {
const get = response.headers.get;
response.headers.get = (key2) => {
const lower = key2.toLowerCase();
const value = get.call(response.headers, lower);
if (value && !lower.startsWith("x-sveltekit-")) {
const included = resolve_opts.filterSerializedResponseHeaders(lower, value);
if (!included) {
throw new Error(
`Failed to get response header "${lower}" — it must be included by the \`filterSerializedResponseHeaders\` option: https://svelte.dev/docs/kit/hooks#Server-hooks-handle (at ${event.route.id})`
);
}
}
return value;
};
}
return proxy;
};
return (input, init2) => {
const response = universal_fetch(input, init2);
response.catch(() => {
});
return response;
};
}
async function stream_to_string(stream) {
let result = "";
const reader = stream.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
result += decoder.decode(value);
}
return result;
}
function hash(...values) {
let hash2 = 5381;
for (const value of values) {
if (typeof value === "string") {
let i = value.length;
while (i) hash2 = hash2 * 33 ^ value.charCodeAt(--i);
} else if (ArrayBuffer.isView(value)) {
const buffer = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
let i = buffer.length;
while (i) hash2 = hash2 * 33 ^ buffer[--i];
} else {
throw new TypeError("value must be a string or TypedArray");
}
}
return (hash2 >>> 0).toString(36);
}
const replacements = {
"<": "\\u003C",
"\u2028": "\\u2028",
"\u2029": "\\u2029"
};
const pattern = new RegExp(`[${Object.keys(replacements).join("")}]`, "g");
function serialize_data(fetched, filter, prerendering2 = false) {
const headers2 = {};
let cache_control = null;
let age = null;
let varyAny = false;
for (const [key2, value] of fetched.response.headers) {
if (filter(key2, value)) {
headers2[key2] = value;
}
if (key2 === "cache-control") cache_control = value;
else if (key2 === "age") age = value;
else if (key2 === "vary" && value.trim() === "*") varyAny = true;
}
const payload = {
status: fetched.response.status,
statusText: fetched.response.statusText,
headers: headers2,
body: fetched.response_body
};
const safe_payload = JSON.stringify(payload).replace(pattern, (match) => replacements[match]);
const attrs = [
'type="application/json"',
"data-sveltekit-fetched",
`data-url="${escape_html(fetched.url, true)}"`
];
if (fetched.is_b64) {
attrs.push("data-b64");
}
if (fetched.request_headers || fetched.request_body) {
const values = [];
if (fetched.request_headers) {
values.push([...new Headers(fetched.request_headers)].join(","));
}
if (fetched.request_body) {
values.push(fetched.request_body);
}
attrs.push(`data-hash="${hash(...values)}"`);
}
if (!prerendering2 && fetched.method === "GET" && cache_control && !varyAny) {
const match = /s-maxage=(\d+)/g.exec(cache_control) ?? /max-age=(\d+)/g.exec(cache_control);
if (match) {
const ttl = +match[1] - +(age ?? "0");
attrs.push(`data-ttl="${ttl}"`);
}
}
return `<script ${attrs.join(" ")}>${safe_payload}<\/script>`;
}
const s = JSON.stringify;
const encoder$2 = new TextEncoder();
function sha256(data) {
if (!key[0]) precompute();
const out = init.slice(0);
const array2 = encode(data);
for (let i = 0; i < array2.length; i += 16) {
const w = array2.subarray(i, i + 16);
let tmp;
let a;
let b;
let out0 = out[0];
let out1 = out[1];
let out2 = out[2];
let out3 = out[3];
let out4 = out[4];
let out5 = out[5];
let out6 = out[6];
let out7 = out[7];
for (let i2 = 0; i2 < 64; i2++) {
if (i2 < 16) {
tmp = w[i2];
} else {
a = w[i2 + 1 & 15];
b = w[i2 + 14 & 15];
tmp = w[i2 & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i2 & 15] + w[i2 + 9 & 15] | 0;
}
tmp = tmp + out7 + (out4 >>> 6 ^ out4 >>> 11 ^ out4 >>> 25 ^ out4 << 26 ^ out4 << 21 ^ out4 << 7) + (out6 ^ out4 & (out5 ^ out6)) + key[i2];
out7 = out6;
out6 = out5;
out5 = out4;
out4 = out3 + tmp | 0;
out3 = out2;
out2 = out1;
out1 = out0;
out0 = tmp + (out1 & out2 ^ out3 & (out1 ^ out2)) + (out1 >>> 2 ^ out1 >>> 13 ^ out1 >>> 22 ^ out1 << 30 ^ out1 << 19 ^ out1 << 10) | 0;
}
out[0] = out[0] + out0 | 0;
out[1] = out[1] + out1 | 0;
out[2] = out[2] + out2 | 0;
out[3] = out[3] + out3 | 0;
out[4] = out[4] + out4 | 0;
out[5] = out[5] + out5 | 0;
out[6] = out[6] + out6 | 0;
out[7] = out[7] + out7 | 0;
}
const bytes = new Uint8Array(out.buffer);
reverse_endianness(bytes);
return base64(bytes);
}
const init = new Uint32Array(8);
const key = new Uint32Array(64);
function precompute() {
function frac(x) {
return (x - Math.floor(x)) * 4294967296;
}
let prime = 2;
for (let i = 0; i < 64; prime++) {
let is_prime = true;
for (let factor = 2; factor * factor <= prime; factor++) {
if (prime % factor === 0) {
is_prime = false;
break;
}
}
if (is_prime) {
if (i < 8) {
init[i] = frac(prime ** (1 / 2));
}
key[i] = frac(prime ** (1 / 3));
i++;
}
}
}
function reverse_endianness(bytes) {
for (let i = 0; i < bytes.length; i += 4) {
const a = bytes[i + 0];
const b = bytes[i + 1];
const c = bytes[i + 2];
const d = bytes[i + 3];
bytes[i + 0] = d;
bytes[i + 1] = c;
bytes[i + 2] = b;
bytes[i + 3] = a;
}
}
function encode(str) {
const encoded = encoder$2.encode(str);
const length = encoded.length * 8;
const size = 512 * Math.ceil((length + 65) / 512);
const bytes = new Uint8Array(size / 8);
bytes.set(encoded);
bytes[encoded.length] = 128;
reverse_endianness(bytes);
const words = new Uint32Array(bytes.buffer);
words[words.length - 2] = Math.floor(length / 4294967296);
words[words.length - 1] = length;
return words;
}
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
function base64(bytes) {
const l = bytes.length;
let result = "";
let i;
for (i = 2; i < l; i += 3) {
result += chars[bytes[i - 2] >> 2];
result += chars[(bytes[i - 2] & 3) << 4 | bytes[i - 1] >> 4];
result += chars[(bytes[i - 1] & 15) << 2 | bytes[i] >> 6];
result += chars[bytes[i] & 63];
}
if (i === l + 1) {
result += chars[bytes[i - 2] >> 2];
result += chars[(bytes[i - 2] & 3) << 4];
result += "==";
}
if (i === l) {
result += chars[bytes[i - 2] >> 2];
result += chars[(bytes[i - 2] & 3) << 4 | bytes[i - 1] >> 4];
result += chars[(bytes[i - 1] & 15) << 2];
result += "=";
}
return result;
}
const array = new Uint8Array(16);
function generate_nonce() {
crypto.getRandomValues(array);
return base64(array);
}
const quoted = /* @__PURE__ */ new Set([
"self",
"unsafe-eval",
"unsafe-hashes",
"unsafe-inline",
"none",
"strict-dynamic",
"report-sample",
"wasm-unsafe-eval",
"script"
]);
const crypto_pattern = /^(nonce|sha\d\d\d)-/;
class BaseProvider {
/** @type {boolean} */
#use_hashes;
/** @type {boolean} */
#script_needs_csp;
/** @type {boolean} */
#script_src_needs_csp;
/** @type {boolean} */
#script_src_elem_needs_csp;
/** @type {boolean} */
#style_needs_csp;
/** @type {boolean} */
#style_src_needs_csp;
/** @type {boolean} */
#style_src_attr_needs_csp;
/** @type {boolean} */
#style_src_elem_needs_csp;
/** @type {import('types').CspDirectives} */
#directives;
/** @type {import('types').Csp.Source[]} */
#script_src;
/** @type {import('types').Csp.Source[]} */
#script_src_elem;
/** @type {import('types').Csp.Source[]} */
#style_src;
/** @type {import('types').Csp.Source[]} */
#style_src_attr;
/** @type {import('types').Csp.Source[]} */
#style_src_elem;
/** @type {string} */
#nonce;
/**
* @param {boolean} use_hashes
* @param {import('types').CspDirectives} directives
* @param {string} nonce
*/
constructor(use_hashes, directives, nonce) {
this.#use_hashes = use_hashes;
this.#directives = directives;
const d = this.#directives;
this.#script_src = [];
this.#script_src_elem = [];
this.#style_src = [];
this.#style_src_attr = [];
this.#style_src_elem = [];
const effective_script_src = d["script-src"] || d["default-src"];
const script_src_elem = d["script-src-elem"];
const effective_style_src = d["style-src"] || d["default-src"];
const style_src_attr = d["style-src-attr"];
const style_src_elem = d["style-src-elem"];
const needs_csp = (directive) => !!directive && !directive.some((value) => value === "unsafe-inline");
this.#script_src_needs_csp = needs_csp(effective_script_src);
this.#script_src_elem_needs_csp = needs_csp(script_src_elem);
this.#style_src_needs_csp = needs_csp(effective_style_src);
this.#style_src_attr_needs_csp = needs_csp(style_src_attr);
this.#style_src_elem_needs_csp = needs_csp(style_src_elem);
this.#script_needs_csp = this.#script_src_needs_csp || this.#script_src_elem_needs_csp;
this.#style_needs_csp = this.#style_src_needs_csp || this.#style_src_attr_needs_csp || this.#style_src_elem_needs_csp;
this.script_needs_nonce = this.#script_needs_csp && !this.#use_hashes;
this.style_needs_nonce = this.#style_needs_csp && !this.#use_hashes;
this.#nonce = nonce;
}
/** @param {string} content */
add_script(content) {
if (!this.#script_needs_csp) return;
const source = this.#use_hashes ? `sha256-${sha256(content)}` : `nonce-${this.#nonce}`;
if (this.#script_src_needs_csp) {
this.#script_src.push(source);
}
if (this.#script_src_elem_needs_csp) {
this.#script_src_elem.push(source);
}
}
/** @param {string} content */
add_style(content) {
if (!this.#style_needs_csp) return;
const source = this.#use_hashes ? `sha256-${sha256(content)}` : `nonce-${this.#nonce}`;
if (this.#style_src_needs_csp) {
this.#style_src.push(source);
}
if (this.#style_src_attr_needs_csp) {
this.#style_src_attr.push(source);
}
if (this.#style_src_elem_needs_csp) {
const sha256_empty_comment_hash = "sha256-9OlNO0DNEeaVzHL4RZwCLsBHA8WBQ8toBp/4F5XV2nc=";
const d = this.#directives;
if (d["style-src-elem"] && !d["style-src-elem"].includes(sha256_empty_comment_hash) && !this.#style_src_elem.includes(sha256_empty_comment_hash)) {
this.#style_src_elem.push(sha256_empty_comment_hash);
}
if (source !== sha256_empty_comment_hash) {
this.#style_src_elem.push(source);
}
}
}
/**
* @param {boolean} [is_meta]
*/
get_header(is_meta = false) {
const header = [];
const directives = { ...this.#directives };
if (this.#style_src.length > 0) {
directives["style-src"] = [
...directives["style-src"] || directives["default-src"] || [],
...this.#style_src
];
}
if (this.#style_src_attr.length > 0) {
directives["style-src-attr"] = [
...directives["style-src-attr"] || [],
...this.#style_src_attr
];
}
if (this.#style_src_elem.length > 0) {
directives["style-src-elem"] = [
...directives["style-src-elem"] || [],
...this.#style_src_elem
];
}
if (this.#script_src.length > 0) {
directives["script-src"] = [
...directives["script-src"] || directives["default-src"] || [],
...this.#script_src
];
}
if (this.#script_src_elem.length > 0) {
directives["script-src-elem"] = [
...directives["script-src-elem"] || [],
...this.#script_src_elem
];
}
for (const key2 in directives) {
if (is_meta && (key2 === "frame-ancestors" || key2 === "report-uri" || key2 === "sandbox")) {
continue;
}
const value = (
/** @type {string[] | true} */
directives[key2]
);
if (!value) continue;
const directive = [key2];
if (Array.isArray(value)) {
value.forEach((value2) => {
if (quoted.has(value2) || crypto_pattern.test(value2)) {
directive.push(`'${value2}'`);
} else {
directive.push(value2);
}
});
}
header.push(directive.join(" "));
}
return header.join("; ");
}
}
class CspProvider extends BaseProvider {
get_meta() {
const content = this.get_header(true);
if (!content) {
return;
}
return `<meta http-equiv="content-security-policy" content="${escape_html(content, true)}">`;
}
}
class CspReportOnlyProvider extends BaseProvider {
/**
* @param {boolean} use_hashes
* @param {import('types').CspDirectives} directives
* @param {string} nonce
*/
constructor(use_hashes, directives, nonce) {
super(use_hashes, directives, nonce);
if (Object.values(directives).filter((v) => !!v).length > 0) {
const has_report_to = directives["report-to"]?.length ?? 0 > 0;
const has_report_uri = directives["report-uri"]?.length ?? 0 > 0;
if (!has_report_to && !has_report_uri) {
throw Error(
"`content-security-policy-report-only` must be specified with either the `report-to` or `report-uri` directives, or both"
);
}
}
}
}
class Csp {
/** @readonly */
nonce = generate_nonce();
/** @type {CspProvider} */
csp_provider;
/** @type {CspReportOnlyProvider} */
report_only_provider;
/**
* @param {import('./types.js').CspConfig} config
* @param {import('./types.js').CspOpts} opts
*/
constructor({ mode, directives, reportOnly }, { prerender }) {
const use_hashes = mode === "hash" || mode === "auto" && prerender;
this.csp_provider = new CspProvider(use_hashes, directives, this.nonce);
this.report_only_provider = new CspReportOnlyProvider(use_hashes, reportOnly, this.nonce);
}
get script_needs_nonce() {
return this.csp_provider.script_needs_nonce || this.report_only_provider.script_needs_nonce;
}
get style_needs_nonce() {
return this.csp_provider.style_needs_nonce || this.report_only_provider.style_needs_nonce;
}
/** @param {string} content */
add_script(content) {
this.csp_provider.add_script(content);
this.report_only_provider.add_script(content);
}
/** @param {string} content */
add_style(content) {
this.csp_provider.add_style(content);
this.report_only_provider.add_style(content);
}
}
function defer() {
let fulfil;
let reject;
const promise = new Promise((f, r) => {
fulfil = f;
reject = r;
});
return { promise, fulfil, reject };
}
function create_async_iterator() {
const deferred = [defer()];
return {
iterator: {
[Symbol.asyncIterator]() {
return {
next: async () => {
const next = await deferred[0].promise;
if (!next.done) deferred.shift();
return next;
}
};
}
},
push: (value) => {
deferred[deferred.length - 1].fulfil({
value,
done: false
});
deferred.push(defer());
},
done: () => {
deferred[deferred.length - 1].fulfil({ done: true });
}
};
}
function exec(match, params, matchers) {
const result = {};
const values = match.slice(1);
const values_needing_match = values.filter((value) => value !== void 0);
let buffered = 0;
for (let i = 0; i < params.length; i += 1) {
const param = params[i];
let value = values[i - buffered];
if (param.chained && param.rest && buffered) {
value = values.slice(i - buffered, i + 1).filter((s2) => s2).join("/");
buffered = 0;
}
if (value === void 0) {
if (param.rest) result[param.name] = "";
continue;
}
if (!param.matcher || matchers[param.matcher](value)) {
result[param.name] = value;
const next_param = params[i + 1];
const next_value = values[i + 1];
if (next_param && !next_param.rest && next_param.optional && next_value && param.chained) {
buffered = 0;
}
if (!next_param && !next_value && Object.keys(result).length === values_needing_match.length) {
buffered = 0;
}
continue;
}
if (param.optional && param.chained) {
buffered++;
continue;
}
return;
}
if (buffered) return;
return result;
}
function generate_route_object(route, url, manifest) {
const { errors, layouts, leaf } = route;
const nodes = [...errors, ...layouts.map((l) => l?.[1]), leaf[1]].filter((n) => typeof n === "number").map((n) => `'${n}': () => ${create_client_import(manifest._.client.nodes?.[n], url)}`).join(",\n ");
return [
`{
id: ${s(route.id)}`,
`errors: ${s(route.errors)}`,
`layouts: ${s(route.layouts)}`,
`leaf: ${s(route.leaf)}`,
`nodes: {
${nodes}
}
}`
].join(",\n ");
}
function create_client_import(import_path, url) {
if (!import_path) return "Promise.resolve({})";
if (import_path[0] === "/") {
return `import('${import_path}')`;
}
if (assets !== "") {
return `import('${assets}/${import_path}')`;
}
let path = get_relative_path(url.pathname, `${base}/${import_path}`);
if (path[0] !== ".") path = `./${path}`;
return `import('${path}')`;
}
async function resolve_route(resolved_path, url, manifest) {
if (!manifest._.client.routes) {
return text("Server-side route resolution disabled", { status: 400 });
}
let route = null;
let params = {};
const matchers = await manifest._.matchers();
for (const candidate of manifest._.client.routes) {
const match = candidate.pattern.exec(resolved_path);
if (!match) continue;
const matched = exec(match, candidate.params, matchers);
if (matched) {
route = candidate;
params = decode_params(matched);
break;
}
}
return create_server_routing_response(route, params, url, manifest).response;
}
function create_server_routing_response(route, params, url, manifest) {
const headers2 = new Headers({
"content-type": "application/javascript; charset=utf-8"
});
if (route) {
const csr_route = generate_route_object(route, url, manifest);
const body2 = `${create_css_import(route, url, manifest)}
export const route = ${csr_route}; export const params = ${JSON.stringify(params)};`;
return { response: text(body2, { headers: headers2 }), body: body2 };
} else {
return { response: text("", { headers: headers2 }), body: "" };
}
}
function create_css_import(route, url, manifest) {
const { errors, layouts, leaf } = route;
let css = "";
for (const node of [...errors, ...layouts.map((l) => l?.[1]), leaf[1]]) {
if (typeof node !== "number") continue;
const node_css = manifest._.client.css?.[node];
for (const css_path of node_css ?? []) {
css += `'${assets || base}/${css_path}',`;
}
}
if (!css) return "";
return `${create_client_import(
/** @type {string} */
manifest._.client.start,
url
)}.then(x => x.load_css([${css}]));`;
}
const updated = {
...readable(false),
check: () => false
};
const encoder$1 = new TextEncoder();
async function render_response({
branch,
fetched,
options: options2,
manifest,
state,
page_config,
status,
error = null,
event,
resolve_opts,
action_result
}) {
if (state.prerendering) {
if (options2.csp.mode === "nonce") {
throw new Error('Cannot use prerendering if config.kit.csp.mode === "nonce"');
}
if (options2.app_template_contains_nonce) {
throw new Error("Cannot use prerendering if page template contains %sveltekit.nonce%");
}
}
const { client } = manifest._;
const modulepreloads = new Set(client.imports);
const stylesheets = new Set(client.stylesheets);
const fonts = new Set(client.fonts);
const link_header_preloads = /* @__PURE__ */ new Set();
const inline_styles = /* @__PURE__ */ new Map();
let rendered;
const form_value = action_result?.type === "success" || action_result?.type === "failure" ? action_result.data ?? null : null;
let base$1 = base;
let assets$1 = assets;
let base_expression = s(base);
{
if (!state.prerendering?.fallback) {
const segments = event.url.pathname.slice(base.length).split("/").slice(2);
base$1 = segments.map(() => "..").join("/") || ".";
base_expression = `new URL(${s(base$1)}, location).pathname.slice(0, -1)`;
if (!assets || assets[0] === "/" && assets !== SVELTE_KIT_ASSETS) {
assets$1 = base$1;
}
} else if (options2.hash_routing) {
base_expression = "new URL('.', location).pathname.slice(0, -1)";
}
}
if (page_config.ssr) {
const props = {
stores: {
page: writable(null),
navigating: writable(null),
updated
},
constructors: await Promise.all(
branch.map(({ node }) => {
if (!node.component) {
throw new Error(`Missing +page.svelte component for route ${event.route.id}`);
}
return node.component();
})
),
form: form_value
};
let data2 = {};
for (let i = 0; i < branch.length; i += 1) {
data2 = { ...data2, ...branch[i].data };
props[`data_${i}`] = data2;
}
props.page = {
error,
params: (
/** @type {Record<string, any>} */
event.params
),
route: event.route,
status,
url: event.url,
data: data2,
form: form_value,
state: {}
};
override({ base: base$1, assets: assets$1 });
const render_opts = {
context: /* @__PURE__ */ new Map([
[
"__request__",
{
page: props.page
}
]
])
};
{
try {
rendered = options2.root.render(props, render_opts);
} finally {
reset();
}
}
for (const { node } of branch) {
for (const url of node.imports) modulepreloads.add(url);
for (const url of node.stylesheets) stylesheets.add(url);
for (const url of node.fonts) fonts.add(url);
if (node.inline_styles && !client.inline) {
Object.entries(await node.inline_styles()).forEach(([k, v]) => inline_styles.set(k, v));
}
}
} else {
rendered = { head: "", html: "", css: { code: "", map: null } };
}
let head = "";
let body2 = rendered.html;
const csp = new Csp(options2.csp, {
prerender: !!state.prerendering
});
const prefixed = (path) => {
if (path.startsWith("/")) {
return base + path;
}
return `${assets$1}/${path}`;
};
const style = client.inline ? client.inline?.style : Array.from(inline_styles.values()).join("\n");
if (style) {
const attributes = [];
if (csp.style_needs_nonce) attributes.push(` nonce="${csp.nonce}"`);
csp.add_style(style);
head += `
<style${attributes.join("")}>${style}</style>`;
}
for (const dep of stylesheets) {
const path = prefixed(dep);
const attributes = ['rel="stylesheet"'];
if (inline_styles.has(dep)) {
attributes.push("disabled", 'media="(max-width: 0)"');
} else {
if (resolve_opts.preload({ type: "css", path })) {
const preload_atts = ['rel="preload"', 'as="style"'];
link_header_preloads.add(`<${encodeURI(path)}>; ${preload_atts.join(";")}; nopush`);
}
}
head += `
<link href="${path}" ${attributes.join(" ")}>`;
}
for (const dep of fonts) {
const path = prefixed(dep);
if (resolve_opts.preload({ type: "font", path })) {
const ext = dep.slice(dep.lastIndexOf(".") + 1);
const attributes = [
'rel="preload"',
'as="font"',
`type="font/${ext}"`,
`href="${path}"`,
"crossorigin"
];
head += `
<link ${attributes.join(" ")}>`;
}
}
const global = `__sveltekit_${options2.version_hash}`;
const { data, chunks } = get_data(
event,
options2,
branch.map((b) => b.server_data),
csp,
global
);
if (page_config.ssr && page_config.csr) {
body2 += `
${fetched.map(
(item) => serialize_data(item, resolve_opts.filterSerializedResponseHeaders, !!state.prerendering)
).join("\n ")}`;
}
if (page_config.csr) {
const route = manifest._.client.routes?.find((r) => r.id === event.route.id) ?? null;
if (client.uses_env_dynamic_public && state.prerendering) {
modulepreloads.add(`${app_dir}/env.js`);
}
if (!client.inline) {
const included_modulepreloads = Array.from(modulepreloads, (dep) => prefixed(dep)).filter(
(path) => resolve_opts.preload({ type: "js", path })
);
for (const path of included_modulepreloads) {
link_header_preloads.add(`<${encodeURI(path)}>; rel="modulepreload"; nopush`);
if (options2.preload_strategy !== "modulepreload") {
head += `
<link rel="preload" as="script" crossorigin="anonymous" href="${path}">`;
} else if (state.prerendering) {
head += `
<link rel="modulepreload" href="${path}">`;
}
}
}
if (manifest._.client.routes && state.prerendering && !state.prerendering.fallback) {
const pathname = add_resolution_suffix(event.url.pathname);
state.prerendering.dependencies.set(
pathname,
create_server_routing_response(route, event.params, new URL(pathname, event.url), manifest)
);
}
const blocks = [];
const load_env_eagerly = client.uses_env_dynamic_public && state.prerendering;
const properties = [`base: ${base_expression}`];
if (assets) {
properties.push(`assets: ${s(assets)}`);
}
if (client.uses_env_dynamic_public) {
properties.push(`env: ${load_env_eagerly ? "null" : s(public_env)}`);
}
if (chunks) {
blocks.push("const deferred = new Map();");
properties.push(`defer: (id) => new Promise((fulfil, reject) => {
deferred.set(id, { fulfil, reject });
})`);
properties.push(`resolve: ({ id, data, error }) => {
const try_to_resolve = () => {
if (!deferred.has(id)) {
setTimeout(try_to_resolve, 0);
return;
}
const { fulfil, reject } = deferred.get(id);
deferred.delete(id);
if (error) reject(error);
else fulfil(data);
}
try_to_resolve();
}`);
}
blocks.push(`${global} = {
${properties.join(",\n ")}
};`);
const args = ["element"];
blocks.push("const element = document.currentScript.parentElement;");
if (page_config.ssr) {
const serialized = { form: "null", error: "null" };
if (form_value) {
serialized.form = uneval_action_response(
form_value,
/** @type {string} */
event.route.id,
options2.hooks.transport
);
}
if (error) {
serialized.error = devalue.uneval(error);
}
const hydrate = [
`node_ids: [${branch.map(({ node }) => node.index).join(", ")}]`,
`data: ${data}`,
`form: ${serialized.form}`,
`error: ${serialized.error}`
];
if (status !== 200) {
hydrate.push(`status: ${status}`);
}
if (manifest._.client.routes) {
if (route) {
const stringified = generate_route_object(route, event.url, manifest).replaceAll(
"\n",
"\n "
);
hydrate.push(`params: ${devalue.uneval(event.params)}`, `server_route: ${stringified}`);
}
} else if (options2.embedded) {
hydrate.push(`params: ${devalue.uneval(event.params)}`, `route: ${s(event.route)}`);
}
const indent = " ".repeat(load_env_eagerly ? 7 : 6);
args.push(`{
${indent} ${hydrate.join(`,
${indent} `)}
${indent}}`);
}
const boot = client.inline ? `${client.inline.script}
__sveltekit_${options2.version_hash}.app.start(${args.join(", ")});` : client.app ? `Promise.all([
import(${s(prefixed(client.start))}),
import(${s(prefixed(client.app))})
]).then(([kit, app]) => {
kit.start(app, ${args.join(", ")});
});` : `import(${s(prefixed(client.start))}).then((app) => {
app.start(${args.join(", ")})
});`;
if (load_env_eagerly) {
blocks.push(`import(${s(`${base$1}/${app_dir}/env.js`)}).then(({ env }) => {
${global}.env = env;
${boot.replace(/\n/g, "\n ")}
});`);
} else {
blocks.push(boot);
}
if (options2.service_worker) {
const opts = "";
blocks.push(`if ('serviceWorker' in navigator) {
addEventListener('load', function () {
navigator.serviceWorker.register('${prefixed("service-worker.js")}'${opts});
});
}`);
}
const init_app = `
{
${blocks.join("\n\n ")}
}
`;
csp.add_script(init_app);
body2 += `
<script${csp.script_needs_nonce ? ` nonce="${csp.nonce}"` : ""}>${init_app}<\/script>
`;
}
const headers2 = new Headers({
"x-sveltekit-page": "true",
"content-type": "text/html"
});
if (state.prerendering) {
const http_equiv = [];
const csp_headers = csp.csp_provider.get_meta();
if (csp_headers) {
http_equiv.push(csp_headers);
}
if (state.prerendering.cache) {
http_equiv.push(`<meta http-equiv="cache-control" content="${state.prerendering.cache}">`);
}
if (http_equiv.length > 0) {
head = http_equiv.join("\n") + head;
}
} else {
const csp_header = csp.csp_provider.get_header();
if (csp_header) {
headers2.set("content-security-policy", csp_header);
}
const report_only_header = csp.report_only_provider.get_header();
if (report_only_header) {
headers2.set("content-security-policy-report-only", report_only_header);
}
if (link_header_preloads.size) {
headers2.set("link", Array.from(link_header_preloads).join(", "));
}
}
head += rendered.head;
const html = options2.templates.app({
head,
body: body2,
assets: assets$1,
nonce: (
/** @type {string} */
csp.nonce
),
env: safe_public_env
});
const transformed = await resolve_opts.transformPageChunk({
html,
done: true
}) || "";
if (!chunks) {
headers2.set("etag", `"${hash(transformed)}"`);
}
return !chunks ? text(transformed, {
status,
headers: headers2
}) : new Response(
new ReadableStream({
async start(controller) {
controller.enqueue(encoder$1.encode(transformed + "\n"));
for await (const chunk of chunks) {
controller.enqueue(encoder$1.encode(chunk));
}
controller.close();
},
type: "bytes"
}),
{
headers: headers2
}
);
}
function get_data(event, options2, nodes, csp, global) {
let promise_id = 1;
let count = 0;
const { iterator, push, done } = create_async_iterator();
function replacer(thing) {
if (typeof thing?.then === "function") {
const id = promise_id++;
count += 1;
thing.then(
/** @param {any} data */
(data) => ({ data })
).catch(
/** @param {any} error */
async (error) => ({
error: await handle_error_and_jsonify(event, options2, error)
})
).then(
/**
* @param {{data: any; error: any}} result
*/
async ({ data, error }) => {
count -= 1;
let str;
try {
str = devalue.uneval({ id, data, error }, replacer);
} catch {
error = await handle_error_and_jsonify(
event,
options2,
new Error(`Failed to serialize promise while rendering ${event.route.id}`)
);
data = void 0;
str = devalue.uneval({ id, data, error }, replacer);
}
const nonce = csp.script_needs_nonce ? ` nonce="${csp.nonce}"` : "";
push(`<script${nonce}>${global}.resolve(${str})<\/script>
`);
if (count === 0) done();
}
);
return `${global}.defer(${id})`;
} else {
for (const key2 in options2.hooks.transport) {
const encoded = options2.hooks.transport[key2].encode(thing);
if (encoded) {
return `app.decode('${key2}', ${devalue.uneval(encoded, replacer)})`;
}
}
}
}
try {
const strings = nodes.map((node) => {
if (!node) return "null";
return `{"type":"data","data":${devalue.uneval(node.data, replacer)},${stringify_uses(node)}${node.slash ? `,"slash":${JSON.stringify(node.slash)}` : ""}}`;
});
return {
data: `[${strings.join(",")}]`,
chunks: count > 0 ? iterator : null
};
} catch (e) {
throw new Error(clarify_devalue_error(
event,
/** @type {any} */
e
));
}
}
class PageNodes {
data;
/**
* @param {Array<import('types').SSRNode | undefined>} nodes
*/
constructor(nodes) {
this.data = nodes;
}
layouts() {
return this.data.slice(0, -1);
}
page() {
return this.data.at(-1);
}
validate() {
for (const layout of this.layouts()) {
if (layout) {
validate_layout_server_exports(
layout.server,
/** @type {string} */
layout.server_id
);
validate_layout_exports(
layout.universal,
/** @type {string} */
layout.universal_id
);
}
}
const page = this.page();
if (page) {
validate_page_server_exports(
page.server,
/** @type {string} */
page.server_id
);
validate_page_exports(
page.universal,
/** @type {string} */
page.universal_id
);
}
}
/**
* @template {'prerender' | 'ssr' | 'csr' | 'trailingSlash' | 'entries'} Option
* @template {(import('types').UniversalNode | import('types').ServerNode)[Option]} Value
* @param {Option} option
* @returns {Value | undefined}
*/
#get_option(option) {
return this.data.reduce(
(value, node) => {
return (
/** @type {Value} TypeScript's too dumb to understand this */
node?.universal?.[option] ?? node?.server?.[option] ?? value
);
},
/** @type {Value | undefined} */
void 0
);
}
csr() {
return this.#get_option("csr") ?? true;
}
ssr() {
return this.#get_option("ssr") ?? true;
}
prerender() {
return this.#get_option("prerender") ?? false;
}
trailing_slash() {
return this.#get_option("trailingSlash") ?? "never";
}
get_config() {
let current = {};
for (const node of this.data) {
if (!node?.universal?.config && !node?.server?.config) continue;
current = {
...current,
...node?.universal?.config,
...node?.server?.config
};
}
return Object.keys(current).length ? current : void 0;
}
should_prerender_data() {
return this.data.some(
// prerender in case of trailingSlash because the client retrieves that value from the server
(node) => node?.server?.load || node?.server?.trailingSlash !== void 0
);
}
}
async function respond_with_error({
event,
options: options2,
manifest,
state,
status,
error,
resolve_opts
}) {
if (event.request.headers.get("x-sveltekit-error")) {
return static_error_page(
options2,
status,
/** @type {Error} */
error.message
);
}
const fetched = [];
try {
const branch = [];
const default_layout = await manifest._.nodes[0]();
const nodes = new PageNodes([default_layout]);
const ssr = nodes.ssr();
const csr = nodes.csr();
if (ssr) {
state.error = true;
const server_data_promise = load_server_data({
event,
state,
node: default_layout,
// eslint-disable-next-line @typescript-eslint/require-await
parent: async () => ({})
});
const server_data = await server_data_promise;
const data = await load_data({
event,
fetched,
node: default_layout,
// eslint-disable-next-line @typescript-eslint/require-await
parent: async () => ({}),
resolve_opts,
server_data_promise,
state,
csr
});
branch.push(
{
node: default_layout,
server_data,
data
},
{
node: await manifest._.nodes[1](),
// 1 is always the root error
data: null,
server_data: null
}
);
}
return await render_response({
options: options2,
manifest,
state,
page_config: {
ssr,
csr
},
status,
error: await handle_error_and_jsonify(event, options2, error),
branch,
fetched,
event,
resolve_opts
});
} catch (e) {
if (e instanceof Redirect) {
return redirect_response(e.status, e.location);
}
return static_error_page(
options2,
get_status(e),
(await handle_error_and_jsonify(event, options2, e)).message
);
}
}
function once(fn) {
let done = false;
let result;
return () => {
if (done) return result;
done = true;
return result = fn();
};
}
const encoder = new TextEncoder();
async function render_data(event, route, options2, manifest, state, invalidated_data_nodes, trailing_slash) {
if (!route.page) {
return new Response(void 0, {
status: 404
});
}
try {
const node_ids = [...route.page.layouts, route.page.leaf];
const invalidated = invalidated_data_nodes ?? node_ids.map(() => true);
let aborted = false;
const url = new URL(event.url);
url.pathname = normalize_path(url.pathname, trailing_slash);
const new_event = { ...event, url };
const functions = node_ids.map((n, i) => {
return once(async () => {
try {
if (aborted) {
return (
/** @type {import('types').ServerDataSkippedNode} */
{
type: "skip"
}
);
}
const node = n == void 0 ? n : await manifest._.nodes[n]();
return load_server_data({
event: new_event,
state,
node,
parent: async () => {
const data2 = {};
for (let j = 0; j < i; j += 1) {
const parent = (
/** @type {import('types').ServerDataNode | null} */
await functions[j]()
);
if (parent) {
Object.assign(data2, parent.data);
}
}
return data2;
}
});
} catch (e) {
aborted = true;
throw e;
}
});
});
const promises = functions.map(async (fn, i) => {
if (!invalidated[i]) {
return (
/** @type {import('types').ServerDataSkippedNode} */
{
type: "skip"
}
);
}
return fn();
});
let length = promises.length;
const nodes = await Promise.all(
promises.map(
(p, i) => p.catch(async (error) => {
if (error instanceof Redirect) {
throw error;
}
length = Math.min(length, i + 1);
return (
/** @type {import('types').ServerErrorNode} */
{
type: "error",
error: await handle_error_and_jsonify(event, options2, error),
status: error instanceof HttpError || error instanceof SvelteKitError ? error.status : void 0
}
);
})
)
);
const { data, chunks } = get_data_json(event, options2, nodes);
if (!chunks) {
return json_response(data);
}
return new Response(
new ReadableStream({
async start(controller) {
controller.enqueue(encoder.encode(data));
for await (const chunk of chunks) {
controller.enqueue(encoder.encode(chunk));
}
controller.close();
},
type: "bytes"
}),
{
headers: {
// we use a proprietary content type to prevent buffering.
// the `text` prefix makes it inspectable
"content-type": "text/sveltekit-data",
"cache-control": "private, no-store"
}
}
);
} catch (e) {
const error = normalize_error(e);
if (error instanceof Redirect) {
return redirect_json_response(error);
} else {
return json_response(await handle_error_and_jsonify(event, options2, error), 500);
}
}
}
function json_response(json2, status = 200) {
return text(typeof json2 === "string" ? json2 : JSON.stringify(json2), {
status,
headers: {
"content-type": "application/json",
"cache-control": "private, no-store"
}
});
}
function redirect_json_response(redirect) {
return json_response({
type: "redirect",
location: redirect.location
});
}
function get_data_json(event, options2, nodes) {
let promise_id = 1;
let count = 0;
const { iterator, push, done } = create_async_iterator();
const reducers = {
...Object.fromEntries(
Object.entries(options2.hooks.transport).map(([key2, value]) => [key2, value.encode])
),
/** @param {any} thing */
Promise: (thing) => {
if (typeof thing?.then === "function") {
const id = promise_id++;
count += 1;
let key2 = "data";
thing.catch(
/** @param {any} e */
async (e) => {
key2 = "error";
return handle_error_and_jsonify(
event,
options2,
/** @type {any} */
e
);
}
).then(
/** @param {any} value */
async (value) => {
let str;
try {
str = devalue.stringify(value, reducers);
} catch {
const error = await handle_error_and_jsonify(
event,
options2,
new Error(`Failed to serialize promise while rendering ${event.route.id}`)
);
key2 = "error";
str = devalue.stringify(error, reducers);
}
count -= 1;
push(`{"type":"chunk","id":${id},"${key2}":${str}}
`);
if (count === 0) done();
}
);
return id;
}
}
};
try {
const strings = nodes.map((node) => {
if (!node) return "null";
if (node.type === "error" || node.type === "skip") {
return JSON.stringify(node);
}
return `{"type":"data","data":${devalue.stringify(node.data, reducers)},${stringify_uses(
node
)}${node.slash ? `,"slash":${JSON.stringify(node.slash)}` : ""}}`;
});
return {
data: `{"type":"data","nodes":[${strings.join(",")}]}
`,
chunks: count > 0 ? iterator : null
};
} catch (e) {
throw new Error(clarify_devalue_error(
event,
/** @type {any} */
e
));
}
}
const MAX_DEPTH = 10;
async function render_page(event, page, options2, manifest, state, nodes, resolve_opts) {
if (state.depth > MAX_DEPTH) {
return text(`Not found: ${event.url.pathname}`, {
status: 404
// TODO in some cases this should be 500. not sure how to differentiate
});
}
if (is_action_json_request(event)) {
const node = await manifest._.nodes[page.leaf]();
return handle_action_json_request(event, options2, node?.server);
}
try {
const leaf_node = (
/** @type {import('types').SSRNode} */
nodes.page()
);
let status = 200;
let action_result = void 0;
if (is_action_request(event)) {
action_result = await handle_action_request(event, leaf_node.server);
if (action_result?.type === "redirect") {
return redirect_response(action_result.status, action_result.location);
}
if (action_result?.type === "error") {
status = get_status(action_result.error);
}
if (action_result?.type === "failure") {
status = action_result.status;
}
}
const should_prerender = nodes.prerender();
if (should_prerender) {
const mod = leaf_node.server;
if (mod?.actions) {
throw new Error("Cannot prerender pages with actions");
}
} else if (state.prerendering) {
return new Response(void 0, {
status: 204
});
}
state.prerender_default = should_prerender;
const should_prerender_data = nodes.should_prerender_data();
const data_pathname = add_data_suffix(event.url.pathname);
const fetched = [];
if (nodes.ssr() === false && !(state.prerendering && should_prerender_data)) {
if (BROWSER && action_result && !event.request.headers.has("x-sveltekit-action")) ;
return await render_response({
branch: [],
fetched,
page_config: {
ssr: false,
csr: nodes.csr()
},
status,
error: null,
event,
options: options2,
manifest,
state,
resolve_opts
});
}
const branch = [];
let load_error = null;
const server_promises = nodes.data.map((node, i) => {
if (load_error) {
throw load_error;
}
return Promise.resolve().then(async () => {
try {
if (node === leaf_node && action_result?.type === "error") {
throw action_result.error;
}
return await load_server_data({
event,
state,
node,
parent: async () => {
const data = {};
for (let j = 0; j < i; j += 1) {
const parent = await server_promises[j];
if (parent) Object.assign(data, parent.data);
}
return data;
}
});
} catch (e) {
load_error = /** @type {Error} */
e;
throw load_error;
}
});
});
const csr = nodes.csr();
const load_promises = nodes.data.map((node, i) => {
if (load_error) throw load_error;
return Promise.resolve().then(async () => {
try {
return await load_data({
event,
fetched,
node,
parent: async () => {
const data = {};
for (let j = 0; j < i; j += 1) {
Object.assign(data, await load_promises[j]);
}
return data;
},
resolve_opts,
server_data_promise: server_promises[i],
state,
csr
});
} catch (e) {
load_error = /** @type {Error} */
e;
throw load_error;
}
});
});
for (const p of server_promises) p.catch(() => {
});
for (const p of load_promises) p.catch(() => {
});
for (let i = 0; i < nodes.data.length; i += 1) {
const node = nodes.data[i];
if (node) {
try {
const server_data = await server_promises[i];
const data = await load_promises[i];
branch.push({ node, server_data, data });
} catch (e) {
const err = normalize_error(e);
if (err instanceof Redirect) {
if (state.prerendering && should_prerender_data) {
const body2 = JSON.stringify({
type: "redirect",
location: err.location
});
state.prerendering.dependencies.set(data_pathname, {
response: text(body2),
body: body2
});
}
return redirect_response(err.status, err.location);
}
const status2 = get_status(err);
const error = await handle_error_and_jsonify(event, options2, err);
while (i--) {
if (page.errors[i]) {
const index = (
/** @type {number} */
page.errors[i]
);
const node2 = await manifest._.nodes[index]();
let j = i;
while (!branch[j]) j -= 1;
return await render_response({
event,
options: options2,
manifest,
state,
resolve_opts,
page_config: { ssr: true, csr: true },
status: status2,
error,
branch: compact(branch.slice(0, j + 1)).concat({
node: node2,
data: null,
server_data: null
}),
fetched
});
}
}
return static_error_page(options2, status2, error.message);
}
} else {
branch.push(null);
}
}
if (state.prerendering && should_prerender_data) {
let { data, chunks } = get_data_json(
event,
options2,
branch.map((node) => node?.server_data)
);
if (chunks) {
for await (const chunk of chunks) {
data += chunk;
}
}
state.prerendering.dependencies.set(data_pathname, {
response: text(data),
body: data
});
}
const ssr = nodes.ssr();
return await render_response({
event,
options: options2,
manifest,
state,
resolve_opts,
page_config: {
csr: nodes.csr(),
ssr
},
status,
error: null,
branch: ssr === false ? [] : compact(branch),
action_result,
fetched
});
} catch (e) {
return await respond_with_error({
event,
options: options2,
manifest,
state,
status: 500,
error: e,
resolve_opts
});
}
}
const INVALID_COOKIE_CHARACTER_REGEX = /[\x00-\x1F\x7F()<>@,;:"/[\]?={} \t]/;
function validate_options(options2) {
if (options2?.path === void 0) {
throw new Error("You must specify a `path` when setting, deleting or serializing cookies");
}
}
function get_cookies(request, url) {
const header = request.headers.get("cookie") ?? "";
const initial_cookies = parse(header, { decode: (value) => value });
let normalized_url;
const new_cookies = {};
const defaults = {
httpOnly: true,
sameSite: "lax",
secure: url.hostname === "localhost" && url.protocol === "http:" ? false : true
};
const cookies = {
// The JSDoc param annotations appearing below for get, set and delete
// are necessary to expose the `cookie` library types to
// typescript users. `@type {import('@sveltejs/kit').Cookies}` above is not
// sufficient to do so.
/**
* @param {string} name
* @param {import('cookie').CookieParseOptions} [opts]
*/
get(name, opts) {
const c = new_cookies[name];
if (c && domain_matches(url.hostname, c.options.domain) && path_matches(url.pathname, c.options.path)) {
return c.value;
}
const req_cookies = parse(header, { decode: opts?.decode });
const cookie = req_cookies[name];
return cookie;
},
/**
* @param {import('cookie').CookieParseOptions} [opts]
*/
getAll(opts) {
const cookies2 = parse(header, { decode: opts?.decode });
for (const c of Object.values(new_cookies)) {
if (domain_matches(url.hostname, c.options.domain) && path_matches(url.pathname, c.options.path)) {
cookies2[c.name] = c.value;
}
}
return Object.entries(cookies2).map(([name, value]) => ({ name, value }));
},
/**
* @param {string} name
* @param {string} value
* @param {import('./page/types.js').Cookie['options']} options
*/
set(name, value, options2) {
const illegal_characters = name.match(INVALID_COOKIE_CHARACTER_REGEX);
if (illegal_characters) {
console.warn(
`The cookie name "${name}" will be invalid in SvelteKit 3.0 as it contains ${illegal_characters.join(
" and "
)}. See RFC 2616 for more details https://datatracker.ietf.org/doc/html/rfc2616#section-2.2`
);
}
validate_options(options2);
set_internal(name, value, { ...defaults, ...options2 });
},
/**
* @param {string} name
* @param {import('./page/types.js').Cookie['options']} options
*/
delete(name, options2) {
validate_options(options2);
cookies.set(name, "", { ...options2, maxAge: 0 });
},
/**
* @param {string} name
* @param {string} value
* @param {import('./page/types.js').Cookie['options']} options
*/
serialize(name, value, options2) {
validate_options(options2);
let path = options2.path;
if (!options2.domain || options2.domain === url.hostname) {
if (!normalized_url) {
throw new Error("Cannot serialize cookies until after the route is determined");
}
path = resolve(normalized_url, path);
}
return serialize(name, value, { ...defaults, ...options2, path });
}
};
function get_cookie_header(destination, header2) {
const combined_cookies = {
// cookies sent by the user agent have lowest precedence
...initial_cookies
};
for (const key2 in new_cookies) {
const cookie = new_cookies[key2];
if (!domain_matches(destination.hostname, cookie.options.domain)) continue;
if (!path_matches(destination.pathname, cookie.options.path)) continue;
const encoder2 = cookie.options.encode || encodeURIComponent;
combined_cookies[cookie.name] = encoder2(cookie.value);
}
if (header2) {
const parsed = parse(header2, { decode: (value) => value });
for (const name in parsed) {
combined_cookies[name] = parsed[name];
}
}
return Object.entries(combined_cookies).map(([name, value]) => `${name}=${value}`).join("; ");
}
const internal_queue = [];
function set_internal(name, value, options2) {
if (!normalized_url) {
internal_queue.push(() => set_internal(name, value, options2));
return;
}
let path = options2.path;
if (!options2.domain || options2.domain === url.hostname) {
path = resolve(normalized_url, path);
}
new_cookies[name] = { name, value, options: { ...options2, path } };
}
function set_trailing_slash(trailing_slash) {
normalized_url = normalize_path(url.pathname, trailing_slash);
internal_queue.forEach((fn) => fn());
}
return { cookies, new_cookies, get_cookie_header, set_internal, set_trailing_slash };
}
function domain_matches(hostname, constraint) {
if (!constraint) return true;
const normalized = constraint[0] === "." ? constraint.slice(1) : constraint;
if (hostname === normalized) return true;
return hostname.endsWith("." + normalized);
}
function path_matches(path, constraint) {
if (!constraint) return true;
const normalized = constraint.endsWith("/") ? constraint.slice(0, -1) : constraint;
if (path === normalized) return true;
return path.startsWith(normalized + "/");
}
function add_cookies_to_headers(headers2, cookies) {
for (const new_cookie of cookies) {
const { name, value, options: options2 } = new_cookie;
headers2.append("set-cookie", serialize(name, value, options2));
if (options2.path.endsWith(".html")) {
const path = add_data_suffix(options2.path);
headers2.append("set-cookie", serialize(name, value, { ...options2, path }));
}
}
}
function create_fetch({ event, options: options2, manifest, state, get_cookie_header, set_internal }) {
const server_fetch = async (info, init2) => {
const original_request = normalize_fetch_input(info, init2, event.url);
let mode = (info instanceof Request ? info.mode : init2?.mode) ?? "cors";
let credentials = (info instanceof Request ? info.credentials : init2?.credentials) ?? "same-origin";
return options2.hooks.handleFetch({
event,
request: original_request,
fetch: async (info2, init3) => {
const request = normalize_fetch_input(info2, init3, event.url);
const url = new URL(request.url);
if (!request.headers.has("origin")) {
request.headers.set("origin", event.url.origin);
}
if (info2 !== original_request) {
mode = (info2 instanceof Request ? info2.mode : init3?.mode) ?? "cors";
credentials = (info2 instanceof Request ? info2.credentials : init3?.credentials) ?? "same-origin";
}
if ((request.method === "GET" || request.method === "HEAD") && (mode === "no-cors" && url.origin !== event.url.origin || url.origin === event.url.origin)) {
request.headers.delete("origin");
}
if (url.origin !== event.url.origin) {
if (`.${url.hostname}`.endsWith(`.${event.url.hostname}`) && credentials !== "omit") {
const cookie = get_cookie_header(url, request.headers.get("cookie"));
if (cookie) request.headers.set("cookie", cookie);
}
return fetch(request);
}
const prefix = assets || base;
const decoded = decodeURIComponent(url.pathname);
const filename = (decoded.startsWith(prefix) ? decoded.slice(prefix.length) : decoded).slice(1);
const filename_html = `${filename}/index.html`;
const is_asset = manifest.assets.has(filename) || filename in manifest._.server_assets;
const is_asset_html = manifest.assets.has(filename_html) || filename_html in manifest._.server_assets;
if (is_asset || is_asset_html) {
const file = is_asset ? filename : filename_html;
if (state.read) {
const type = is_asset ? manifest.mimeTypes[filename.slice(filename.lastIndexOf("."))] : "text/html";
return new Response(state.read(file), {
headers: type ? { "content-type": type } : {}
});
} else if (read_implementation && file in manifest._.server_assets) {
const length = manifest._.server_assets[file];
const type = manifest.mimeTypes[file.slice(file.lastIndexOf("."))];
return new Response(read_implementation(file), {
headers: {
"Content-Length": "" + length,
"Content-Type": type
}
});
}
return await fetch(request);
}
if (has_prerendered_path(manifest, base + decoded)) {
return await fetch(request);
}
if (credentials !== "omit") {
const cookie = get_cookie_header(url, request.headers.get("cookie"));
if (cookie) {
request.headers.set("cookie", cookie);
}
const authorization = event.request.headers.get("authorization");
if (authorization && !request.headers.has("authorization")) {
request.headers.set("authorization", authorization);
}
}
if (!request.headers.has("accept")) {
request.headers.set("accept", "*/*");
}
if (!request.headers.has("accept-language")) {
request.headers.set(
"accept-language",
/** @type {string} */
event.request.headers.get("accept-language")
);
}
const response = await respond(request, options2, manifest, {
...state,
depth: state.depth + 1
});
const set_cookie = response.headers.get("set-cookie");
if (set_cookie) {
for (const str of set_cookie_parser.splitCookiesString(set_cookie)) {
const { name, value, ...options3 } = set_cookie_parser.parseString(str, {
decodeValues: false
});
const path = options3.path ?? (url.pathname.split("/").slice(0, -1).join("/") || "/");
set_internal(name, value, {
path,
encode: (value2) => value2,
.../** @type {import('cookie').CookieSerializeOptions} */
options3
});
}
}
return response;
}
});
};
return (input, init2) => {
const response = server_fetch(input, init2);
response.catch(() => {
});
return response;
};
}
function normalize_fetch_input(info, init2, url) {
if (info instanceof Request) {
return info;
}
return new Request(typeof info === "string" ? new URL(info, url) : info, init2);
}
let body;
let etag;
let headers;
function get_public_env(request) {
body ??= `export const env=${JSON.stringify(public_env)}`;
etag ??= `W/${Date.now()}`;
headers ??= new Headers({
"content-type": "application/javascript; charset=utf-8",
etag
});
if (request.headers.get("if-none-match") === etag) {
return new Response(void 0, { status: 304, headers });
}
return new Response(body, { headers });
}
const default_transform = ({ html }) => html;
const default_filter = () => false;
const default_preload = ({ type }) => type === "js" || type === "css";
const page_methods = /* @__PURE__ */ new Set(["GET", "HEAD", "POST"]);
const allowed_page_methods = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
async function respond(request, options2, manifest, state) {
const url = new URL(request.url);
if (options2.csrf_check_origin) {
const forbidden = is_form_content_type(request) && (request.method === "POST" || request.method === "PUT" || request.method === "PATCH" || request.method === "DELETE") && request.headers.get("origin") !== url.origin;
if (forbidden) {
const csrf_error = new HttpError(
403,
`Cross-site ${request.method} form submissions are forbidden`
);
if (request.headers.get("accept") === "application/json") {
return json(csrf_error.body, { status: csrf_error.status });
}
return text(csrf_error.body.message, { status: csrf_error.status });
}
}
if (options2.hash_routing && url.pathname !== base + "/" && url.pathname !== "/[fallback]") {
return text("Not found", { status: 404 });
}
let invalidated_data_nodes;
const is_route_resolution_request = has_resolution_suffix(url.pathname);
const is_data_request = has_data_suffix(url.pathname);
if (is_route_resolution_request) {
url.pathname = strip_resolution_suffix(url.pathname);
} else if (is_data_request) {
url.pathname = strip_data_suffix(url.pathname) + (url.searchParams.get(TRAILING_SLASH_PARAM) === "1" ? "/" : "") || "/";
url.searchParams.delete(TRAILING_SLASH_PARAM);
invalidated_data_nodes = url.searchParams.get(INVALIDATED_PARAM)?.split("").map((node) => node === "1");
url.searchParams.delete(INVALIDATED_PARAM);
}
const headers2 = {};
const { cookies, new_cookies, get_cookie_header, set_internal, set_trailing_slash } = get_cookies(
request,
url
);
const event = {
cookies,
// @ts-expect-error `fetch` needs to be created after the `event` itself
fetch: null,
getClientAddress: state.getClientAddress || (() => {
throw new Error(
`${"@sveltejs/adapter-auto"} does not specify getClientAddress. Please raise an issue`
);
}),
locals: {},
params: {},
platform: state.platform,
request,
route: { id: null },
setHeaders: (new_headers) => {
for (const key2 in new_headers) {
const lower = key2.toLowerCase();
const value = new_headers[key2];
if (lower === "set-cookie") {
throw new Error(
"Use `event.cookies.set(name, value, options)` instead of `event.setHeaders` to set cookies"
);
} else if (lower in headers2) {
throw new Error(`"${key2}" header is already set`);
} else {
headers2[lower] = value;
if (state.prerendering && lower === "cache-control") {
state.prerendering.cache = /** @type {string} */
value;
}
}
}
},
url,
isDataRequest: is_data_request,
isSubRequest: state.depth > 0
};
event.fetch = create_fetch({
event,
options: options2,
manifest,
state,
get_cookie_header,
set_internal
});
if (state.emulator?.platform) {
event.platform = await state.emulator.platform({
config: {},
prerender: !!state.prerendering?.fallback
});
}
let resolved_path;
const prerendering_reroute_state = state.prerendering?.inside_reroute;
try {
if (state.prerendering) state.prerendering.inside_reroute = true;
resolved_path = await options2.hooks.reroute({ url: new URL(url), fetch: event.fetch }) ?? url.pathname;
} catch {
return text("Internal Server Error", {
status: 500
});
} finally {
if (state.prerendering) state.prerendering.inside_reroute = prerendering_reroute_state;
}
try {
resolved_path = decode_pathname(resolved_path);
} catch {
return text("Malformed URI", { status: 400 });
}
if (resolved_path !== url.pathname && !state.prerendering?.fallback && has_prerendered_path(manifest, resolved_path)) {
const url2 = new URL(request.url);
url2.pathname = is_data_request ? add_data_suffix(resolved_path) : is_route_resolution_request ? add_resolution_suffix(resolved_path) : resolved_path;
const response = await fetch(url2, request);
const headers22 = new Headers(response.headers);
if (headers22.has("content-encoding")) {
headers22.delete("content-encoding");
headers22.delete("content-length");
}
return new Response(response.body, {
headers: headers22,
status: response.status,
statusText: response.statusText
});
}
let route = null;
if (base && !state.prerendering?.fallback) {
if (!resolved_path.startsWith(base)) {
return text("Not found", { status: 404 });
}
resolved_path = resolved_path.slice(base.length) || "/";
}
if (is_route_resolution_request) {
return resolve_route(resolved_path, new URL(request.url), manifest);
}
if (resolved_path === `/${app_dir}/env.js`) {
return get_public_env(request);
}
if (resolved_path.startsWith(`/${app_dir}`)) {
const headers22 = new Headers();
headers22.set("cache-control", "public, max-age=0, must-revalidate");
return text("Not found", { status: 404, headers: headers22 });
}
if (!state.prerendering?.fallback) {
const matchers = await manifest._.matchers();
for (const candidate of manifest._.routes) {
const match = candidate.pattern.exec(resolved_path);
if (!match) continue;
const matched = exec(match, candidate.params, matchers);
if (matched) {
route = candidate;
event.route = { id: route.id };
event.params = decode_params(matched);
break;
}
}
}
let resolve_opts = {
transformPageChunk: default_transform,
filterSerializedResponseHeaders: default_filter,
preload: default_preload
};
let trailing_slash = "never";
try {
const page_nodes = route?.page ? new PageNodes(await load_page_nodes(route.page, manifest)) : void 0;
if (route) {
if (url.pathname === base || url.pathname === base + "/") {
trailing_slash = "always";
} else if (page_nodes) {
if (BROWSER) ;
trailing_slash = page_nodes.trailing_slash();
} else if (route.endpoint) {
const node = await route.endpoint();
trailing_slash = node.trailingSlash ?? "never";
if (BROWSER) ;
}
if (!is_data_request) {
const normalized = normalize_path(url.pathname, trailing_slash);
if (normalized !== url.pathname && !state.prerendering?.fallback) {
return new Response(void 0, {
status: 308,
headers: {
"x-sveltekit-normalize": "1",
location: (
// ensure paths starting with '//' are not treated as protocol-relative
(normalized.startsWith("//") ? url.origin + normalized : normalized) + (url.search === "?" ? "" : url.search)
)
}
});
}
}
if (state.before_handle || state.emulator?.platform) {
let config = {};
let prerender = false;
if (route.endpoint) {
const node = await route.endpoint();
config = node.config ?? config;
prerender = node.prerender ?? prerender;
} else if (page_nodes) {
config = page_nodes.get_config() ?? config;
prerender = page_nodes.prerender();
}
if (state.before_handle) {
state.before_handle(event, config, prerender);
}
if (state.emulator?.platform) {
event.platform = await state.emulator.platform({ config, prerender });
}
}
}
set_trailing_slash(trailing_slash);
if (state.prerendering && !state.prerendering.fallback && !state.prerendering.inside_reroute) {
disable_search(url);
}
const response = await with_event(
event,
() => options2.hooks.handle({
event,
resolve: (event2, opts) => (
// counter-intuitively, we need to clear the event, so that it's not
// e.g. accessible when loading modules needed to handle the request
with_event(
null,
() => resolve2(event2, page_nodes, opts).then((response2) => {
for (const key2 in headers2) {
const value = headers2[key2];
response2.headers.set(
key2,
/** @type {string} */
value
);
}
add_cookies_to_headers(response2.headers, Object.values(new_cookies));
if (state.prerendering && event2.route.id !== null) {
response2.headers.set("x-sveltekit-routeid", encodeURI(event2.route.id));
}
return response2;
})
)
)
})
);
if (response.status === 200 && response.headers.has("etag")) {
let if_none_match_value = request.headers.get("if-none-match");
if (if_none_match_value?.startsWith('W/"')) {
if_none_match_value = if_none_match_value.substring(2);
}
const etag2 = (
/** @type {string} */
response.headers.get("etag")
);
if (if_none_match_value === etag2) {
const headers22 = new Headers({ etag: etag2 });
for (const key2 of [
"cache-control",
"content-location",
"date",
"expires",
"vary",
"set-cookie"
]) {
const value = response.headers.get(key2);
if (value) headers22.set(key2, value);
}
return new Response(void 0, {
status: 304,
headers: headers22
});
}
}
if (is_data_request && response.status >= 300 && response.status <= 308) {
const location = response.headers.get("location");
if (location) {
return redirect_json_response(new Redirect(
/** @type {any} */
response.status,
location
));
}
}
return response;
} catch (e) {
if (e instanceof Redirect) {
const response = is_data_request ? redirect_json_response(e) : route?.page && is_action_json_request(event) ? action_json_redirect(e) : redirect_response(e.status, e.location);
add_cookies_to_headers(response.headers, Object.values(new_cookies));
return response;
}
return await handle_fatal_error(event, options2, e);
}
async function resolve2(event2, page_nodes, opts) {
try {
if (opts) {
resolve_opts = {
transformPageChunk: opts.transformPageChunk || default_transform,
filterSerializedResponseHeaders: opts.filterSerializedResponseHeaders || default_filter,
preload: opts.preload || default_preload
};
}
if (options2.hash_routing || state.prerendering?.fallback) {
return await render_response({
event: event2,
options: options2,
manifest,
state,
page_config: { ssr: false, csr: true },
status: 200,
error: null,
branch: [],
fetched: [],
resolve_opts
});
}
if (route) {
const method = (
/** @type {import('types').HttpMethod} */
event2.request.method
);
let response;
if (is_data_request) {
response = await render_data(
event2,
route,
options2,
manifest,
state,
invalidated_data_nodes,
trailing_slash
);
} else if (route.endpoint && (!route.page || is_endpoint_request(event2))) {
response = await render_endpoint(event2, await route.endpoint(), state);
} else if (route.page) {
if (!page_nodes) {
throw new Error("page_nodes not found. This should never happen");
} else if (page_methods.has(method)) {
response = await render_page(
event2,
route.page,
options2,
manifest,
state,
page_nodes,
resolve_opts
);
} else {
const allowed_methods2 = new Set(allowed_page_methods);
const node = await manifest._.nodes[route.page.leaf]();
if (node?.server?.actions) {
allowed_methods2.add("POST");
}
if (method === "OPTIONS") {
response = new Response(null, {
status: 204,
headers: {
allow: Array.from(allowed_methods2.values()).join(", ")
}
});
} else {
const mod = [...allowed_methods2].reduce(
(acc, curr) => {
acc[curr] = true;
return acc;
},
/** @type {Record<string, any>} */
{}
);
response = method_not_allowed(mod, method);
}
}
} else {
throw new Error("Route is neither page nor endpoint. This should never happen");
}
if (request.method === "GET" && route.page && route.endpoint) {
const vary = response.headers.get("vary")?.split(",")?.map((v) => v.trim().toLowerCase());
if (!(vary?.includes("accept") || vary?.includes("*"))) {
response = new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: new Headers(response.headers)
});
response.headers.append("Vary", "Accept");
}
}
return response;
}
if (state.error && event2.isSubRequest) {
const headers22 = new Headers(request.headers);
headers22.set("x-sveltekit-error", "true");
return await fetch(request, { headers: headers22 });
}
if (state.error) {
return text("Internal Server Error", {
status: 500
});
}
if (state.depth === 0) {
return await respond_with_error({
event: event2,
options: options2,
manifest,
state,
status: 404,
error: new SvelteKitError(404, "Not Found", `Not found: ${event2.url.pathname}`),
resolve_opts
});
}
if (state.prerendering) {
return text("not found", { status: 404 });
}
return await fetch(request);
} catch (e) {
return await handle_fatal_error(event2, options2, e);
} finally {
event2.cookies.set = () => {
throw new Error("Cannot use `cookies.set(...)` after the response has been generated");
};
event2.setHeaders = () => {
throw new Error("Cannot use `setHeaders(...)` after the response has been generated");
};
}
}
}
function load_page_nodes(page, manifest) {
return Promise.all([
// we use == here rather than === because [undefined] serializes as "[null]"
...page.layouts.map((n) => n == void 0 ? n : manifest._.nodes[n]()),
manifest._.nodes[page.leaf]()
]);
}
function filter_private_env(env, { public_prefix, private_prefix }) {
return Object.fromEntries(
Object.entries(env).filter(
([k]) => k.startsWith(private_prefix) && (public_prefix === "" || !k.startsWith(public_prefix))
)
);
}
function filter_public_env(env, { public_prefix, private_prefix }) {
return Object.fromEntries(
Object.entries(env).filter(
([k]) => k.startsWith(public_prefix) && (private_prefix === "" || !k.startsWith(private_prefix))
)
);
}
const prerender_env_handler = {
get({ type }, prop) {
throw new Error(
`Cannot read values from $env/dynamic/${type} while prerendering (attempted to read env.${prop.toString()}). Use $env/static/${type} instead`
);
}
};
let init_promise;
class Server {
/** @type {import('types').SSROptions} */
#options;
/** @type {import('@sveltejs/kit').SSRManifest} */
#manifest;
/** @param {import('@sveltejs/kit').SSRManifest} manifest */
constructor(manifest) {
this.#options = options;
this.#manifest = manifest;
}
/**
* @param {{
* env: Record<string, string>;
* read?: (file: string) => ReadableStream;
* }} opts
*/
async init({ env, read }) {
const prefixes = {
public_prefix: this.#options.env_public_prefix,
private_prefix: this.#options.env_private_prefix
};
const private_env = filter_private_env(env, prefixes);
const public_env2 = filter_public_env(env, prefixes);
set_private_env(
prerendering ? new Proxy({ type: "private" }, prerender_env_handler) : private_env
);
set_public_env(
prerendering ? new Proxy({ type: "public" }, prerender_env_handler) : public_env2
);
set_safe_public_env(public_env2);
if (read) {
set_read_implementation(read);
}
await (init_promise ??= (async () => {
try {
const module = await get_hooks();
this.#options.hooks = {
handle: module.handle || (({ event, resolve: resolve2 }) => resolve2(event)),
handleError: module.handleError || (({ error }) => console.error(error)),
handleFetch: module.handleFetch || (({ request, fetch: fetch2 }) => fetch2(request)),
reroute: module.reroute || (() => {
}),
transport: module.transport || {}
};
if (module.init) {
await module.init();
}
} catch (error) {
{
throw error;
}
}
})());
}
/**
* @param {Request} request
* @param {import('types').RequestOptions} options
*/
async respond(request, options2) {
return respond(request, this.#options, this.#manifest, {
...options2,
error: false,
depth: 0
});
}
}
export {
Server
};

View File

@@ -0,0 +1,13 @@
import { g, e, l, m, n, q, f, i, k, j } from "./chunks/internal.js";
export {
g as get_hooks,
e as options,
l as set_assets,
m as set_building,
n as set_manifest,
q as set_prerendering,
f as set_private_env,
i as set_public_env,
k as set_read_implementation,
j as set_safe_public_env
};

View File

@@ -0,0 +1,36 @@
export const manifest = (() => {
function __memo(fn) {
let value;
return () => value ??= (value = fn());
}
return {
appDir: "_app",
appPath: "_app",
assets: new Set(["favicon.png"]),
mimeTypes: {".png":"image/png"},
_: {
client: {start:"_app/immutable/entry/start.B9R_ECDu.js",app:"_app/immutable/entry/app.JMsWNEBf.js",imports:["_app/immutable/entry/start.B9R_ECDu.js","_app/immutable/chunks/Bkzr8dUC.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/DtKB1_9u.js","_app/immutable/entry/app.JMsWNEBf.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/CvwgUIOn.js","_app/immutable/chunks/C1JNRcsB.js","_app/immutable/chunks/DtKB1_9u.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js'))
],
routes: [
{
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
}
],
prerendered_routes: new Set([]),
matchers: async () => {
return { };
},
server_assets: {}
}
}
})();

View File

@@ -0,0 +1,36 @@
export const manifest = (() => {
function __memo(fn) {
let value;
return () => value ??= (value = fn());
}
return {
appDir: "_app",
appPath: "_app",
assets: new Set(["favicon.png"]),
mimeTypes: {".png":"image/png"},
_: {
client: {start:"_app/immutable/entry/start.B9R_ECDu.js",app:"_app/immutable/entry/app.JMsWNEBf.js",imports:["_app/immutable/entry/start.B9R_ECDu.js","_app/immutable/chunks/Bkzr8dUC.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/DtKB1_9u.js","_app/immutable/entry/app.JMsWNEBf.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/CvwgUIOn.js","_app/immutable/chunks/C1JNRcsB.js","_app/immutable/chunks/DtKB1_9u.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js'))
],
routes: [
{
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
}
],
prerendered_routes: new Set([]),
matchers: async () => {
return { };
},
server_assets: {}
}
}
})();

View File

@@ -0,0 +1,8 @@
export const index = 0;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;
export const imports = ["_app/immutable/nodes/0.C10SzQKY.js","_app/immutable/chunks/C1JNRcsB.js","_app/immutable/chunks/7LwFGTVl.js"];
export const stylesheets = ["_app/immutable/assets/0.BJxIG_zl.css"];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 1;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;
export const imports = ["_app/immutable/nodes/1.CmP9Wh21.js","_app/immutable/chunks/C1JNRcsB.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/G3SYufGp.js","_app/immutable/chunks/CvwgUIOn.js","_app/immutable/chunks/Bkzr8dUC.js","_app/immutable/chunks/DtKB1_9u.js"];
export const stylesheets = [];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 2;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/2.CpB6OS4x.js","_app/immutable/chunks/C1JNRcsB.js","_app/immutable/chunks/7LwFGTVl.js","_app/immutable/chunks/G3SYufGp.js","_app/immutable/chunks/CvwgUIOn.js","_app/immutable/chunks/DtKB1_9u.js"];
export const stylesheets = [];
export const fonts = [];