diff --git a/.eslintignore b/.eslintignore index 8f9434ed3..444da4dcd 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,6 +2,7 @@ **/dist package-lock.json **/.angular +**/.svelte-kit /suites/todomvc/architecture-examples/* !/suites/todomvc/architecture-examples/angular diff --git a/.prettierignore b/.prettierignore index 40d154c13..4a66ccedd 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,6 +2,7 @@ **/dist package-lock.json **/.angular +**/.svelte-kit /suites/todomvc/architecture-examples/* !/suites/todomvc/architecture-examples/angular diff --git a/suites-experimental/finance/.gitignore b/suites-experimental/finance/.gitignore new file mode 100644 index 000000000..8ee847558 --- /dev/null +++ b/suites-experimental/finance/.gitignore @@ -0,0 +1 @@ +.svelte-kit diff --git a/suites-experimental/finance/README.md b/suites-experimental/finance/README.md new file mode 100644 index 000000000..13ef65562 --- /dev/null +++ b/suites-experimental/finance/README.md @@ -0,0 +1,72 @@ +## Description + +Finance portals combine three things on one page: a news front page, data-dense +market tables, and quotes that keep moving while the page is open. Small charts +are everywhere: canvas sparklines in the market strip, an intraday area chart, and +an SVG sparkline per table row. + +This workload is an original, self-contained SvelteKit (Svelte 5) app, +"Quoteboard", that reproduces those interactions. Its features and their weight +were picked from Firefox profiles of a popular finance portal's home page and +screener pages: which modules each page loads, element counts (the largest +restyles touched about 2,400 elements on the home page and 4,000 on the screener +page), and how styles are organized. It is **not** derived from that site's source code or +assets. All companies, prices and stories are fictional and generated +deterministically at startup (seeded PRNG, fixed clock, no network), so every run +renders identical data. + +## What are we testing + +- SvelteKit client-side navigation (hash router): `load` functions, JSON parsing + of API-shaped responses, and mounting a route's component tree +- Svelte 5 fine-grained reactivity: streamed quote updates touch only the cells + that show them, and `{#key}` re-creates price spans to restart their flash + animation +- Canvas 2D drawing (paths, gradients, dashed lines, text), measured once on + mount and resized through a `ResizeObserver` +- SVG sparklines built as path strings. Charts render in their final state, + with no draw-in animations +- A 13-column auto-layout table that is sorted, paginated and resized +- A squarified treemap heatmap of absolutely positioned tiles +- The profiled site's styling architecture: Svelte component-scoped CSS (hashed + `qb-` classes) next to `tw-`-prefixed Tailwind utilities, which makes style + computation cost per element comparable to the profiled site's +- A container query, `content-visibility: auto`, sticky headers, skeleton loaders +- Page-view instrumentation like real portals ship: a `MutationObserver`, + `checkVisibility()`, `getComputedStyle()` and `getBoundingClientRect()` per + module, and a link audit, serialized into a beacon payload that isn't sent + +## How are we testing + +The suite starts on the home page, which is rendered while loading and is not +measured. + +- `NavigateToTrending` clicks "Trending tickers" and waits until the screener + page has rendered a strip of quote cards, sector chips, its first 25 rows and + 25 related news stories. +- `SortTable` sorts by five columns in turn. +- `PaginateTable` steps through three pages, then shows 50 rows per page. +- `ToggleHeatmap` switches to the heatmap view and back to the table. +- `StreamQuotes` presses "Go live", which replays 20 quote messages, one per + task. Each updates up to 24 subscribed symbols, which flash and redraw their + charts. +- `NavigateToHome` clicks the logo. The home page renders a skeleton, then the + news stream that arrives a few tasks later. + +Simulated responses arrive on `MessageChannel` tasks rather than timers, so the +measured time doesn't include timer clamping. Navigations are the only history +entries, two per iteration, which keeps the workload well clear of browsers' +`pushState` rate limits. + +## Developer Documentation + +The app was created with SvelteKit and `@sveltejs/adapter-static`, using the hash +router with a single bundle (`output.bundleStrategy: "single"`), so it can be +served from any subdirectory and never fetches code during a step. It can be +previewed during development with `npm run dev`. To update the files run in the +harness, run `npm run build`, which regenerates the committed `dist/` directory, +including `resources.txt`. + +The built workload can be loaded within the harness at e.g. +`http://localhost:8080/?developerMode&suites=Finance-SvelteKit`, or directly at +`http://localhost:8080/suites-experimental/finance/dist/index.html`. diff --git a/suites-experimental/finance/dist/_app/immutable/assets/bundle.C00zWHvH.css b/suites-experimental/finance/dist/_app/immutable/assets/bundle.C00zWHvH.css new file mode 100644 index 000000000..fefcec3c1 --- /dev/null +++ b/suites-experimental/finance/dist/_app/immutable/assets/bundle.C00zWHvH.css @@ -0,0 +1 @@ +*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.up{color:var(--up)}.down{color:var(--down)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.section-title{margin-bottom:12px;font-size:18px;font-weight:700}.switch-group{background:var(--canvas);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.switch{color:var(--muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.switch.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000001f}.live-value{font-variant-numeric:tabular-nums;border-radius:3px;padding:0 2px}.flash-up{animation:.9s ease-out flash-up}.flash-down{animation:.9s ease-out flash-down}.loader{background:linear-gradient(90deg,#eceef1 25%,#f6f7f9 37%,#eceef1 63%) 0 0/400% 100%;border-radius:6px;animation:1.4s infinite shimmer}.tw-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}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-left-3{left:.75rem}.tw-top-1\/2{top:50%}.tw-col-span-full{grid-column:1/-1}.tw-mb-2{margin-bottom:.5rem}.tw-mb-3\.5{margin-bottom:.875rem}.tw-ml-auto{margin-left:auto}.tw-mt-2\.5{margin-top:.625rem}.tw-block{display:block}.tw-flex{display:flex}.tw-inline-flex{display:inline-flex}.tw-grid{display:grid}.tw-aspect-\[16\/10\]{aspect-ratio:16/10}.tw-h-3\.5{height:.875rem}.tw-w-3\/12{width:25%}.tw-w-6\/12{width:50%}.tw-w-full{width:100%}.tw-min-w-0{min-width:0}.tw-max-w-xl{max-width:36rem}.tw-flex-1{flex:1}.tw--translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-flex-wrap{flex-wrap:wrap}.tw-content-start{align-content:flex-start}.tw-items-start{align-items:flex-start}.tw-items-end{align-items:flex-end}.tw-items-center{align-items:center}.tw-items-baseline{align-items:baseline}.tw-justify-end{justify-content:flex-end}.tw-justify-between{justify-content:space-between}.tw-justify-items-end{justify-items:end}.tw-gap-0\.5{gap:.125rem}.tw-gap-1{gap:.25rem}.tw-gap-1\.5{gap:.375rem}.tw-gap-2{gap:.5rem}.tw-gap-3{gap:.75rem}.tw-gap-3\.5{gap:.875rem}.tw-gap-4{gap:1rem}.tw-gap-6{gap:1.5rem}.tw-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw-rounded{border-radius:.25rem}.tw-rounded-full{border-radius:9999px}.tw-border{border-width:1px}.tw-border-line{--tw-border-opacity:1;border-color:rgb(226 229 234/var(--tw-border-opacity,1))}.tw-px-1\.5{padding-left:.375rem;padding-right:.375rem}.tw-px-3{padding-left:.75rem;padding-right:.75rem}.tw-px-5{padding-left:1.25rem;padding-right:1.25rem}.tw-px-6{padding-left:1.5rem;padding-right:1.5rem}.tw-py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.tw-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.tw-py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.tw-py-8{padding-top:2rem;padding-bottom:2rem}.tw-pl-9{padding-left:2.25rem}.tw-pr-4{padding-right:1rem}.tw-text-2xl{font-size:1.5rem;line-height:2rem}.tw-text-\[10px\]{font-size:10px}.tw-text-\[11px\]{font-size:11px}.tw-text-\[13px\]{font-size:13px}.tw-text-\[26px\]{font-size:26px}.tw-text-base{font-size:1rem;line-height:1.5rem}.tw-text-xs{font-size:.75rem;line-height:1rem}.tw-font-bold{font-weight:700}.tw-font-medium{font-weight:500}.tw-font-semibold{font-weight:600}.tw-uppercase{text-transform:uppercase}.tw-text-accent{--tw-text-opacity:1;color:rgb(11 122 117/var(--tw-text-opacity,1))}.tw-text-muted{--tw-text-opacity:1;color:rgb(90 98 112/var(--tw-text-opacity,1))}.tw-opacity-60{opacity:.6}:root{--ink:#16191f;--muted:#5a6270;--line:#e2e5ea;--surface:#fff;--canvas:#f5f6f8;--accent:#0b7a75;--accent-soft:#e3f2f1;--up:#0a8a5f;--down:#d1344b;--up-flash:#0a8a5f38;--down-flash:#d1344b38;--radius:10px;color:var(--ink);background:var(--canvas);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}body{margin:0}@keyframes flash-up{0%{background-color:var(--up-flash)}to{background-color:#0000}}@keyframes flash-down{0%{background-color:var(--down-flash)}to{background-color:#0000}}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.hover\:tw-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:tw-underline:hover{text-decoration-line:underline}.site-footer.qb-2ubdqz{background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.icon.qb-2xoawr{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.site-header.qb-1skguwa{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.logo.qb-1skguwa{color:var(--accent);letter-spacing:-.5px;align-items:center;gap:6px;font-size:20px;font-weight:800;display:flex}.search.qb-1skguwa input:where(.qb-1skguwa){background:var(--canvas)}.section-item.qb-1skguwa{position:relative}.section-link.qb-1skguwa{white-space:nowrap;border-bottom:3px solid #0000;padding:8px 10px;font-weight:600;display:block}.section-link.active.qb-1skguwa{border-bottom-color:var(--accent);color:var(--accent)}.section-menu.qb-1skguwa{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:200px;padding:8px;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000001f}.section-item.qb-1skguwa:hover .section-menu:where(.qb-1skguwa),.section-item.qb-1skguwa:focus-within .section-menu:where(.qb-1skguwa){display:block}.sub-nav.qb-1skguwa{scrollbar-width:none;border-top:1px solid var(--line);background:var(--canvas);gap:4px;padding:0 20px;display:flex;overflow-x:auto}.sub-nav-link.qb-1skguwa{color:var(--muted);white-space:nowrap;padding:7px 10px;font-size:13px}.sub-nav-link.active.qb-1skguwa{color:var(--ink);font-weight:600}canvas.qb-npcchp{width:100%;height:32px;display:block}.icon-button.qb-1hsybi2{width:28px;height:28px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;display:inline-grid}.icon-button.qb-1hsybi2:hover{background:var(--canvas);color:var(--ink)}.icon-button[aria-pressed=true].qb-1hsybi2{color:var(--accent)}.ticker-card.qb-rrw1sj{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;flex:0 0 172px;gap:4px;padding:8px 10px;display:flex}.ticker-name.qb-rrw1sj{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}@container strip (width<=520px){.ticker-change.qb-rrw1sj .live-value+.live-value{display:none}}.track.qb-wbsx23{scrollbar-width:none;overflow-x:auto}.market-strip.qb-wbsx23 .track:where(.qb-wbsx23){container:strip/inline-size}.carousel-button.qb-wbsx23{border:1px solid var(--line);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.carousel-button.qb-wbsx23:disabled{opacity:.35;cursor:default}.live-toggle.qb-wbsx23{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.live-dot.qb-wbsx23{background:var(--muted);border-radius:50%;width:8px;height:8px}.live-toggle.on.qb-wbsx23 .live-dot:where(.qb-wbsx23){background:var(--down)}.market-strip.qb-1i1w4f6{background:var(--surface);border-bottom:1px solid var(--line);padding:10px 24px}.page.qb-1i1w4f6{max-width:1440px;margin:0 auto;padding:20px 24px 40px}.tabs.qb-g2wt4a{scrollbar-width:none;overflow-x:auto}.summary-tab.qb-g2wt4a{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:8px;flex:none;padding:6px 12px;font-size:12px;display:grid}.summary-tab.active.qb-g2wt4a{border-color:var(--accent);background:var(--accent-soft)}.price.qb-g2wt4a>.live-value:first-child{font-size:26px;font-weight:700}canvas.qb-g2wt4a{width:100%;height:260px;display:block}.sparkline-frame.qb-rimgcf{flex:none}svg.qb-rimgcf{display:block;overflow:visible}line.qb-rimgcf{stroke:var(--muted);stroke-dasharray:2 3;stroke-width:1px;opacity:.6}path.qb-rimgcf{fill:none;stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.up.qb-rimgcf path:where(.qb-rimgcf){stroke:var(--up)}.down.qb-rimgcf path:where(.qb-rimgcf){stroke:var(--down)}.quote-row.qb-1sxr454{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.quote-row.qb-1sxr454:last-child{border-bottom:none}.name.qb-1sxr454{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ticker-chip.qb-1vfn0l{border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.ticker-chip.qb-1vfn0l:hover{border-color:var(--accent)}.story.qb-4e2sq6{border-bottom:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.story.qb-4e2sq6:last-child{border-bottom:none}.story.lead.qb-4e2sq6{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:16px}.story-figure.qb-4e2sq6{content-visibility:auto;contain-intrinsic-size:auto 100px;border-radius:8px;margin:0;position:relative;overflow:hidden}.story-image.qb-4e2sq6{aspect-ratio:16/10;background:linear-gradient(135deg, hsl(var(--hue) 55% 62%), hsl(calc(var(--hue) + 50) 60% 38%))}.badge.qb-4e2sq6{color:#fff;background:#0009;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:8px;left:8px}.story-title.qb-4e2sq6{font-size:16px;font-weight:700;line-height:1.3}.lead.qb-4e2sq6 .story-title:where(.qb-4e2sq6){font-size:24px;line-height:1.2}.story-summary.qb-4e2sq6{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.publisher-logo.qb-4e2sq6{background:hsl(var(--hue) 30% 90%);width:18px;height:18px;color:hsl(var(--hue) 40% 30%);border-radius:4px;place-items:center;font-size:9px;font-weight:800;display:inline-grid}.premium-tag.qb-4e2sq6{color:#fff;background:#1f2a44;border-radius:4px;padding:0 6px;font-size:11px}@media (width<=760px){.story.qb-4e2sq6,.story.lead.qb-4e2sq6{grid-template-columns:96px minmax(0,1fr)}.story-summary.qb-4e2sq6{display:none}}.stream.qb-j6dzth,.stream.qb-bwt2nv{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:16px;display:grid}.skeleton.qb-bwt2nv{grid-template-columns:160px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.home.qb-jbfc3p{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.main-column.qb-jbfc3p{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;display:grid}.sidebar.qb-jbfc3p{gap:20px;display:grid;position:sticky;top:112px}@media (width<=900px){.home.qb-jbfc3p{grid-template-columns:minmax(0,1fr)}.sidebar.qb-jbfc3p{position:static}}.heatmap.qb-x507q8{background:var(--ink);border-radius:var(--radius);height:640px;position:relative;overflow:hidden}.heatmap-sector.qb-x507q8{border:1px solid #ffffff26;position:absolute}.heatmap-sector-name.qb-x507q8{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;padding:1px 6px;font-size:11px;font-weight:700;display:block;overflow:hidden}.heatmap-tile.qb-x507q8{color:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;overflow:hidden}.heatmap-tile.compact.qb-x507q8 .tile-change:where(.qb-x507q8),.heatmap-tile.tiny.qb-x507q8 .tile-symbol:where(.qb-x507q8){display:none}.tile-change.qb-x507q8{font-size:11px;font-weight:500}.range-cell.qb-m6kkko{width:140px}.range-bar.qb-m6kkko{background:#dde0e5;border-radius:2px;height:4px;margin-top:4px;position:relative}.range-fill.qb-m6kkko{background:linear-gradient(90deg, var(--down), #c5c9d0, var(--up));border-radius:2px;position:absolute;inset:0 auto 0 0}.range-marker.qb-m6kkko{background:var(--ink);border-radius:1px;width:3px;height:12px;margin-left:-1px;position:absolute;top:-4px}.badge.qb-la7qgc{text-align:center;border-radius:4px;min-width:32px;padding:1px 6px;font-size:12px;font-weight:700}.buy.qb-la7qgc{color:var(--up);background:#e0f3ec}.hold.qb-la7qgc{color:var(--muted);background:#f1f2f4}.sell.qb-la7qgc{color:var(--down);background:#fbe7ea}td.qb-1sdk356{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}.num.qb-1sdk356{text-align:right}.sticky-cell.qb-1sdk356{z-index:1;background:var(--surface);position:sticky;left:0}.symbol-link.qb-1sdk356{color:var(--accent)}.logo-mark.qb-1sdk356{background:hsl(var(--hue) 45% 88%);width:24px;height:24px;color:hsl(var(--hue) 45% 30%);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.name.qb-1sdk356{min-width:180px;max-width:220px}.row.qb-1sdk356:hover td:where(.qb-1sdk356){background:#f8f9fb}.scroller.qb-u09x6a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table.qb-u09x6a{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th.qb-u09x6a{border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);text-align:left;white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:600;position:sticky;top:0}th.num.qb-u09x6a{text-align:right}th.sticky-cell.qb-u09x6a{z-index:2;left:0}.sort-button.qb-u09x6a{font-weight:600}button.qb-o228hh{border:1px solid var(--line);background:var(--surface);border-radius:6px;place-items:center;min-width:30px;height:30px;display:grid}button.active.qb-o228hh{background:var(--ink);color:#fff}button.qb-o228hh:disabled{opacity:.4}.tabs.qb-ke0x0p{scrollbar-width:none;overflow-x:auto}.tab.qb-ke0x0p{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;padding:6px 14px;font-weight:600}.tab.active.qb-ke0x0p{background:var(--ink);border-color:var(--ink);color:#fff}.chips.qb-1whhm3x{scrollbar-width:none;overflow-x:auto}.chip.qb-1whhm3x{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip.active.qb-1whhm3x{border-color:var(--accent);background:var(--accent-soft)}.count.qb-1whhm3x{background:var(--canvas);color:var(--muted);border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.screener.qb-1m2pgqi{grid-template-columns:minmax(0,1fr)} diff --git a/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js b/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js new file mode 100644 index 000000000..a2e7c06cf --- /dev/null +++ b/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js @@ -0,0 +1,85 @@ +var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},r=t((()=>{})),i=t((()=>{})),a=t((()=>{r(),i()}));function o(e){return typeof e?.then==`function`}function s(e){for(var t=0;t{e=n,t=r}),resolve:e,reject:t}}var l,u,d,f,p,m,h,g,_,v,y,b,x=t((()=>{l=Array.isArray,u=Array.prototype.indexOf,d=Array.prototype.includes,f=Array.from,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,g=Object.prototype,_=Array.prototype,v=Object.getPrototypeOf,y=Object.isExtensible,b=()=>{}})),S,C,ee,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,w=t((()=>{S=1024,C=2048,ee=4096,te=8192,ne=16384,re=32768,ie=1<<25,ae=65536,oe=1<<19,se=1<<20,ce=1<<25,le=1<<21,ue=1<<22,de=1<<23,fe=Symbol(`$state`),pe=Symbol(`component`),me=Symbol(`legacy props`),he=Symbol(``),ge=Symbol(`attributes`),_e=Symbol(`class`),ve=Symbol(`style`),ye=Symbol(`text`),be=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},xe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`)})),Se,Ce,we,Te=t((()=>{Se={},Ce=Symbol(`uninitialized`),we=`http://www.w3.org/1999/xhtml`}));function Ee(){console.warn(`https://svelte.dev/e/derived_inert`)}function De(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Oe(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function ke(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var Ae=t((()=>{a()}));function je(e){E=e}function Me(e){if(e===null)throw De(),Se;return D=e}function Ne(){return Me(Mn(D))}function T(e){if(E){if(Mn(D)!==null)throw De(),Se;D=e}}function Pe(e=1){if(E){for(var t=e,n=D;t--;)n=Mn(n);D=n}}function Fe(e=!0){for(var t=0,n=D;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Mn(n);e&&n.remove(),n=i}}function Ie(e){if(!e||e.nodeType!==8)throw De(),Se;return e.data}var E,D,O=t((()=>{w(),Te(),Ae(),Un(),E=!1}));function Le(e){return e===this.v}function Re(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function ze(e){return!Re(e,this.v)}var Be=t((()=>{}));function Ve(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}var He=t((()=>{a()}));function Ue(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function We(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function Ge(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Ke(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function qe(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Je(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Ye(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Xe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Ze(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Qe(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function $e(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function et(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var tt=t((()=>{a(),He()})),nt,rt,it=t((()=>{nt=!1,rt=!1})),at=t((()=>{x()})),ot=t((()=>{at(),w(),B(),W()})),st=t((()=>{a(),x(),He()}));function ct(e){j=e}function k(e,t=!1,n){j={p:j,i:!1,c:null,e:null,s:e,x:null,r:U,l:rt&&!t?{s:null,u:null,$:[]}:null}}function A(e){var t=j,n=t.e;if(n!==null){t.e=null;for(var r of n)$n(r)}return e!==void 0&&(t.x=e),t.i=!0,j=t.p,lt(e)}function lt(e={}){return p(e,pe,{value:!0}),e}function ut(){return!rt||j!==null&&j.l===null}var j,dt=t((()=>{a(),tt(),W(),B(),it(),w(),x(),j=null}));function ft(){var e=ht;ht=[],s(e)}function pt(e){if(ht.length===0&&!nn){var t=ht;queueMicrotask(()=>{t===ht&&ft()})}ht.push(e)}function mt(){for(;ht.length>0;)ft()}var ht,gt=t((()=>{x(),dn(),ht=[]}));function _t(e,t){e.f=e.f&yt|t}function vt(e){e.f&512||e.deps===null?_t(e,S):_t(e,ee)}var yt,bt=t((()=>{w(),yt=~(C|ee|S)}));function xt(e,t){e.f&2048?t.set(e,C):e.f&4096&&t.get(e)!==2048&&t.set(e,ee),_t(e,S)}var St=t((()=>{w(),bt()})),Ct=t((()=>{w(),at(),W()})),wt=t((()=>{O(),Un(),gt(),w()}));function Tt(e){var t=H,n=U;br(null),xr(null);try{return e()}finally{br(t),xr(n)}}var Et=t((()=>{B(),W(),w(),wt()}));function Dt(e,t,n,r){let i=ut()?Nt:Ft;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=U,c=Ot(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){Gn(e,s)}kt()}}var d=At();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>Pt(e))).then(u).catch(e=>Gn(e,s)).finally(d)}l?l.then(()=>{s.f&16384?d():(c(),f(),kt())}):f()}function Ot(){var e=U,t=H,n=j,r=N;return function(i=!0){xr(e),br(t),ct(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function kt(e=!0){jt=!1,xr(null),br(null),ct(null),e&&N?.deactivate()}function At(){var e=U,t=e.b,n=N,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}var jt,Mt=t((()=>{w(),a(),dt(),Kn(),W(),dn(),Ht(),B()}));function Nt(e){var t=2|C;return U!==null&&(U.f|=oe),{ctx:j,deps:null,effects:null,equals:Le,f:t,fn:e,reactions:null,rv:0,v:Ce,wv:0,parent:U,ac:null}}function Pt(e,t,n){let r=U;r===null&&Ue();var i=void 0,a=fn(Ce),o=!H,s=new Set;return nr(()=>{var t=U,n=c();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==be&&n.reject(e)}).finally(kt)}catch(e){n.reject(e),kt()}var l=N;if(o){if(t.f&32768)var u=At();if(r.b?.is_rendered())l.async_deriveds.get(t)?.reject(Vt);else for(let e of s.values())e.reject(Vt);s.add(n),l.async_deriveds.set(t,n)}let d=(e,t=void 0)=>{u?.(),s.delete(n),t!==Vt&&(l.activate(),t?(a.f|=de,mn(a,t)):(a.f&8388608&&(a.f^=de),mn(a,e)),l.deactivate())};n.promise.then(d,e=>d(null,e||`unknown`))}),Zn(()=>{for(let e of s)e.reject(Vt)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function M(e){let t=Nt(e);return nt||Sr(t),t}function Ft(e){let t=Nt(e);return t.equals=ze,t}function It(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n{t.ac.abort(be),t.ac=null}),t.fn!==null&&(t.teardown=b),jr(t,0),sr(t))}function Bt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Mr(t)}var Vt,Ht=t((()=>{a(),w(),W(),Et(),Be(),tt(),Ae(),B(),Cn(),st(),it(),dt(),Te(),dn(),Mt(),x(),bt(),Ct(),Vt=Symbol(`obsolete`)}));function Ut(e){var t=nn,n=$t;$t=null,nn=!0;try{var r;for(e&&(Ut(),r=e());;){if(mt(),N===null)return r;N.flush()}}finally{nn=t,$t=n}}function Wt(){try{Je()}catch(e){Gn(e,tn)}}function Gt(e){var t=e.length;if(t!==0){for(var n=0;n0)){yn.clear();for(let e of un){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)un.has(n)&&(un.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Mr(n)}}un.clear()}}un=null}}function Kt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Kt(i,t,n,r):e&4194320&&!(e&2048)&&qt(i,t,r)&&(_t(i,C),Jt(i))}}function qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(d.call(t,r))return!0;if(r.f&2&&qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function Jt(e){N.schedule(e)}function Yt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),_t(e,S);for(var n=e.first;n!==null;)Yt(n,t),n=n.next}}function Xt(e){_t(e,S);for(var t=e.first;t!==null;)Xt(t),t=t.next}var Zt,Qt,N,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn=t((()=>{w(),it(),x(),W(),tt(),gt(),a(),Kn(),Cn(),B(),St(),Te(),bt(),st(),Ct(),Ht(),Zt=null,Qt=null,N=null,$t=null,en=null,tn=null,nn=!1,rn=!1,an=null,on=null,sn=0,cn=1,ln=class e{id=cn++;started=!1;linked=!0;prev=null;next=null;async_deriveds=new Map;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=0;#r=new Map;#i=null;#a=[];#o=[];#s=new Map;#c=new Map;#l=new Set;is_fork=!1;#u=!1;constructor(){Qt===null?Zt=Qt=this:(Qt.next=this,this.prev=Qt),Qt=this}#d(){if(this.is_fork)return!0;for(let e of this.#r.keys())if(!this.#f(e))return!0;return!1}#f(e){for(var t=e;t!==null;t=t.parent)if(this.#c.has(t))return!0;return!1}skip_effect(e){this.#c.has(e)||this.#c.set(e,{d:[],m:[]}),this.#l.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#c.get(e);if(n){this.#c.delete(e);for(var r of n.d)_t(r,C),t(r);for(r of n.m)_t(r,ee),t(r)}this.#l.add(e)}#p(){var e=[];for(let i of this.#a)if(!(i.f&16384||!(i.f&6144))){for(var t=i,n=!1;t.parent!==null;){t=t.parent;var r=t.f;if(r&96){if(!(r&1024)){n=!0;break}t.f^=S}}n||e.push(t)}return this.#a=[],e}#m(){this.started=!0;for(let[e,t]of this.#s)_t(e,t),this.schedule(e);this.apply();for(var t=an=[],n=[],r=on=[];this.#a.length>0;){sn++>1e3&&(this.#x(),Wt());for(let e of this.#p())try{this.#h(e,t,n)}catch(t){throw Xt(e),this.#d()||this.discard(),t}}if(N=null,r.length>0){var i=e.ensure();for(let e of r)i.schedule(e)}if(an=null,on=null,this.#d()){this.#y(n),this.#y(t);for(let[e,t]of this.#c)Yt(e,t);r.length>0&&N.#m();return}let a=this.#g();if(a)this.#y(n),this.#y(t),a.#v(this);else{this.#s.clear();for(let e of this.#e)e(this);this.#e.clear(),$t=this,Gt(n),Gt(t),$t=null,this.#i?.resolve();var o=N;this.#n===0&&(this.#a.length===0||o!==null)&&(this.#x(),nt&&(this.#b(),N=o)),o!==null&&(yn.clear(),o.#m())}}#h(e,t,n){e.f^=S;for(var r=e.first;r!==null;){var i=r.f,a=!!(i&96);if(!(a&&i&1024||i&8192||this.#c.has(r))&&r.fn!==null){a?r.f^=S:i&4?t.push(r):nt&&i&16777224?n.push(r):Er(r)&&(i&16&&this.add_dirty_reaction(r,ee),Mr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#g(){for(var e=this.prev;e!==null;e=e.prev)if(!e.is_fork&&this.#_(e))return e;return null}#_(e){for(let[t,[,n]]of this.current)if(!n&&e.current.has(t))return!0;return!1}#v(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_reactions(e.#s);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#s.delete(i),_t(i,C),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),N=this,this.#m()}#y(e){for(var t=0;t!u.current.get(e)[1]);if(u.started&&r.length!==0){var i=r.filter(e=>!this.current.has(e));if(i.length===0)e&&u.discard();else if(t.length>0){if(e)for(let e of this.#l)u.unskip_effect(e,e=>{e.f&4194320?u.schedule(e):u.#y([e])});u.activate();var a=new Set,o=new Map;for(var s of t)Kt(s,i,a,o);o=new Map;var c=[...u.current].filter(([e,t])=>{let n=this.current.get(e);return!n||n[0]!==t[0]||n[1]!==t[1]}).map(([e])=>e);if(c.length>0)for(let e of this.#o)!(e.f&155648)&&qt(e,c,o)&&(e.f&4194320?(_t(e,C),u.schedule(e)):u.add_dirty_reaction(e,C));if(u.#a.length>0&&!u.#u){u.apply();for(var l of u.#p())u.#h(l,[],[])}u.deactivate()}}}}increment(e,t){if(this.#n+=1,e){let e=this.#r.get(t)??0;this.#r.set(t,e+1)}}decrement(e,t){if(--this.#n,e){let e=this.#r.get(t)??0;e===1?this.#r.delete(t):this.#r.set(t,e-1)}this.#u||(this.#u=!0,pt(()=>{this.#u=!1,this.linked&&this.flush()}))}transfer_reactions(e){for(let[t,n]of e)this.add_dirty_reaction(t,n);e.clear()}add_dirty_reaction(e,t){(t===2048||this.#s.get(e)!==2048)&&this.#s.set(e,t)}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=c()).promise}static ensure(){if(N===null){let t=N=new e;!rn&&!nn&&pt(()=>{t.started||t.flush()})}return N}apply(){if(!nt||!this.is_fork&&this.prev===null&&this.next===null)en=null;else{en=new Map;for(let[e,[t]]of this.current)en.set(e,t);for(let e=Zt;e!==null;e=e.next)if(!(e===this||e.is_fork)&&(e.id>=this.id||!e.#_(this)))for(let[t,n]of e.previous)en.has(t)||en.set(t,n)}}schedule(e){tn=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)?e.b.defer_effect(e):this.#a.push(e)}#x(){if(this.linked){var e=this.prev,t=this.next;e===null?Zt=t:e.next=t,t===null?Qt=e:t.prev=e,this.linked=!1}}},un=null}));function fn(e,t){return{f:0,v:e,reactions:null,equals:Le,rv:0,wv:0}}function P(e,t){let n=fn(e,t);return Sr(n),n}function pn(e,t=!1,n=!0){let r=fn(e);return t||(r.equals=ze),rt&&n&&j!==null&&j.l!==null&&(j.l.s??=[]).push(r),r}function F(e,t,n=!1){return H!==null&&(!zr||H.f&131072)&&ut()&&H.f&4325394&&(Br===null||!Br.has(e))&&$e(),mn(e,n?wn(t):t,on)}function mn(e,t,n=null){if(!e.equals(t)){Rr?yn.set(e,t):yn.has(e)||yn.set(e,e.v);var r=ln.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&Lt(t),en===null&&vt(t)}e.wv=Tr(),xn=null,Sn=0,_n(e,C,n),xn=null,ut()&&U!==null&&U.f&1024&&!(U.f&96)&&(Ur===null?Cr([e]):Ur.push(e)),!r.is_fork&&vn.size>0&&!bn&&hn()}return t}function hn(){bn=!1;for(let e of vn){e.f&1024&&_t(e,ee);let t;try{t=Er(e)}catch{t=!0}t&&Mr(e)}vn.clear()}function gn(e){F(e,e.v+1)}function _n(e,t,n){var r=e.reactions;if(r!==null){var i=ut(),a=r.length;if(Sn+=a,Sn>1e5&&xn===null&&(xn=new Set),xn!==null){if(xn.has(e))return;xn.add(e)}for(var o=0;o{a(),W(),Be(),w(),tt(),it(),ot(),st(),dt(),dn(),Dn(),Ht(),bt(),vn=new Set,yn=new Map,bn=!1,xn=null,Sn=0}));function wn(e){if(typeof e!=`object`||!e||fe in e||pe in e)return e;let t=v(e);if(t!==g&&t!==_)return e;var n=new Map,r=l(e),i=P(0),a=null,o=Kr,s=e=>{if(Kr===o)return e();var t=H,n=Kr;br(null),wr(o);var r=e();return br(t),wr(n),r};return r&&n.set(`length`,P(e.length,a)),new Proxy(e,{defineProperty(e,t,r){`value`in r&&r.configurable!==!1&&r.enumerable!==!1&&r.writable!==!1||Ze();var i=n.get(t);return i===void 0?s(()=>{var e=P(r.value,a);return n.set(t,e),e}):F(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=s(()=>P(Ce,a));n.set(t,e),gn(i)}}else F(r,Ce),gn(i);return!0},get(t,r,i){if(r===fe)return e;var o=n.get(r),c=r in t;if(o===void 0&&(!c||m(t,r)?.writable)&&(o=s(()=>P(wn(c?t[r]:Ce),a)),n.set(r,o)),o!==void 0){var l=V(o);return l===Ce?void 0:l}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){this.has?.(e,t);var r=Reflect.getOwnPropertyDescriptor(e,t),i=n.get(t);if(i!==void 0){var a=V(i);if(a===Ce)return;if(r&&`value`in r)r.value=a;else return{enumerable:!0,configurable:!0,value:a,writable:!0}}return r},has(e,t){if(t===fe)return!0;var r=n.get(t),i=r!==void 0&&r.v!==Ce||Reflect.has(e,t);return(r!==void 0||(U!==null||H!==null)&&(!i||m(e,t)?.writable))&&(r===void 0&&(r=s(()=>P(i?wn(e[t]):Ce,a)),n.set(t,r)),V(r)===Ce)?!1:i},set(e,t,o,c){var l=n.get(t),u=t in e;if(r&&t===`length`)for(var d=o;dP(Ce,a)),n.set(d+``,f)):F(f,Ce)}if(l===void 0)(!u||m(e,t)?.writable)&&(l=s(()=>P(void 0,a)),F(l,wn(o)),n.set(t,l));else{u=l.v!==Ce;var p=s(()=>wn(o));F(l,p)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,o),!u){if(r&&typeof t==`string`){var g=n.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&F(g,_+1)}gn(i)}return!0},ownKeys(e){V(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==Ce});for(var[r,a]of n)a.v!==Ce&&!(r in e)&&t.push(r);return t},setPrototypeOf(){Qe()}})}function Tn(e){try{if(typeof e==`object`&&e&&fe in e)return e[fe]}catch{}return e}function En(e,t){return Object.is(Tn(e),Tn(t))}var Dn=t((()=>{a(),W(),x(),Cn(),w(),Te(),tt(),ot(),st(),it()})),On=t((()=>{Ae(),Dn()}));function kn(){if(Rn===void 0){Rn=window,zn=document,Bn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Vn=m(t,`firstChild`).get,Hn=m(t,`nextSibling`).get,y(e)&&(e[_e]=void 0,e[ge]=null,e[ve]=void 0,e.__e=void 0),y(n)&&(n[ye]=void 0)}}function An(e=``){return document.createTextNode(e)}function jn(e){return Vn.call(e)}function Mn(e){return Hn.call(e)}function I(e,t){if(!E)return jn(e);var n=jn(D);if(n===null)n=D.appendChild(An());else if(t&&n.nodeType!==3){var r=An();return n?.before(r),Me(r),r}return t&&Ln(n),Me(n),n}function Nn(e,t=!1){if(!E){var n=jn(e);return n instanceof Comment&&n.data===``?Mn(n):n}if(t){if(D?.nodeType!==3){var r=An();return D?.before(r),Me(r),r}Ln(D)}return D}function L(e,t=!1){if(!E)return jn(e);var n=I(e,t);return T(e),n}function R(e,t=1,n=!1){let r=E?D:e;for(var i;t--;)i=r,r=Mn(r);if(!E)return r;if(n){if(r?.nodeType!==3){var a=An();return r===null?i?.after(a):r.before(a),Me(a),a}Ln(r)}return Me(r),r}function Pn(e){e.textContent=``}function Fn(){return!nt||un!==null?!1:(U.f&re)!==0}function In(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Ln(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}var Rn,zn,Bn,Vn,Hn,Un=t((()=>{O(),a(),On(),x(),W(),it(),w(),dn(),Te()}));function Wn(e){var t=U;if(t===null)return H.f|=de,e;if(!(t.f&32768)&&!(t.f&4))throw e;Gn(e,t)}function Gn(e,t){if(e===Se)throw e;if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128&&!(t.f&33570816)){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var Kn=t((()=>{a(),Te(),Un(),w(),x(),W()}));function qn(e){U===null&&(H===null&&qe(e),Ke()),Rr&&Ge(e)}function Jn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Yn(e,t){var n=U;n!==null&&n.f&8192&&(e|=te);var r={ctx:j,deps:null,nodes:null,f:e|C|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};N?.register_created_effect(r);var i=r;if(e&4)an===null?ln.ensure().schedule(r):an.push(r);else if(t!==null){try{Mr(r)}catch(e){throw lr(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ae))}if(i!==null&&(i.parent=n,n!==null&&Jn(i,n),H!==null&&H.f&2&&!(e&64))){var a=H;(a.effects??=[]).push(i)}return r}function Xn(){return H!==null&&!zr}function Zn(e){let t=Yn(8,null);return _t(t,S),t.teardown=e,t}function Qn(e){qn(`$effect`);var t=U.f;if(!H&&t&32&&j!==null&&!j.i){var n=j;(n.e??=[]).push(e)}else return $n(e)}function $n(e){return Yn(4|se,e)}function er(e){ln.ensure();let t=Yn(64|oe,e);return(e={})=>new Promise(n=>{e.outro?fr(t,()=>{lr(t),n(void 0)}):(lr(t),n(void 0))})}function tr(e){return Yn(4,e)}function nr(e){return Yn(ue|oe,e)}function rr(e,t=0){return Yn(8|t,e)}function z(e,t=[],n=[],r=[]){Dt(r,t,n,t=>{Yn(8,()=>{e(...t.map(V))})})}function ir(e,t=0){return Yn(16|t,e)}function ar(e){return Yn(32|oe,e)}function or(e){var t=e.teardown;if(t!==null){let n=Rr,r=H;yr(!0),br(null);try{t.call(null)}catch(t){Gn(t,e.parent)}finally{yr(n),br(r)}}}function sr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Tt(()=>{e.abort(be)});var r=n.next;n.f&64?n.parent=null:lr(n,t),n=r}}function cr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||lr(t),t=n}}function lr(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(ur(e.nodes.start,e.nodes.end),n=!0),e.f|=ie,sr(e,t&&!n),jr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();or(e),e.f^=ie,e.f|=ne;var i=e.parent;i!==null&&i.first!==null&&dr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function ur(e,t){for(;e!==null;){var n=e===t?null:Mn(e);e.remove(),e=n}}function dr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function fr(e,t,n=!0){var r=[];e.f|=256,pr(e,r,!0);var i=()=>{n&&lr(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function pr(e,t,n){if(!(e.f&8192)){e.f^=te;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=!!(i.f&65536)||!!(i.f&32)&&!!(e.f&16);pr(i,t,o?n:!1)}i=a}}}function mr(e){e.f&=-257,hr(e,!0)}function hr(e,t){if(!(e.f&256)&&e.f&8192){e.f^=te,e.f&1024||(_t(e,C),ln.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=!!(n.f&65536)||!!(n.f&32);hr(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function gr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Mn(n);t.append(n),n=i}}var B=t((()=>{W(),w(),Kn(),tt(),a(),x(),Un(),dt(),dn(),Mt(),Et(),bt()})),_r,vr=t((()=>{Cn(),W(),_r=null}));function yr(e){Rr=e}function br(e){H=e}function xr(e){U=e}function Sr(e){H!==null&&(!nt&&H.f&2097152||H.f&2)&&(Br??=new Set).add(e)}function Cr(e){Ur=e}function wr(e){Kr=e}function Tr(){return++Wr}function Er(e){var t=e.f;if(t&2048)return!0;if(t&4096){for(var n=e.deps,r=n.length,i=0;ie.wv)return!0}t&512&&en===null&&_t(e,S)}return!1}function Dr(e,t,n=!0){var r=e.reactions;if(r!==null&&(nt||Br===null||!Br.has(e)))for(var i=0;i{e.ac.abort(be)}),e.ac=null);try{e.f|=le;var u=e.fn,d=u();e.f|=re;var f=kr(e);if(ut()&&Ur!==null&&!zr&&f!==null&&!(e.f&6146))for(var p=0;p0)for(t.length=Hr+Vr.length,r=0;r{a.ac.abort(be),a.ac=null,_t(a,C)}),zt(a),jr(a,0)}}function jr(e,t){var n=e.deps;if(n!==null)for(var r=t;r{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Ut()}function Pr(){return ln.ensure().settled()}function V(e){var t=!!(e.f&2);if(_r?.add(e),H!==null&&!zr&&!(U!==null&&U.f&16384)&&(Br===null||!Br.has(e))){var n=H.deps;if(H.f&2097152)e.rv{a(),x(),B(),w(),Cn(),Ht(),it(),ot(),st(),dt(),dn(),Kn(),Te(),vr(),Et(),bt(),Ae(),Rr=!1,H=null,zr=!1,U=null,Br=null,Vr=null,Hr=0,Ur=null,Wr=1,Gr=0,Kr=Gr})),qr=t((()=>{X(),jo(),B()}));function Jr(e){return Xr.includes(e)}var Yr,Xr,Zr,Qr=t((()=>{Yr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),[...Yr],Xr=[`touchstart`,`touchmove`],Zr=[`$state`,`$state.raw`,`$derived`,`$derived.by`],[...Zr]})),$r=t((()=>{w(),Qr(),W()})),ei=t((()=>{w(),O(),dt()}));function ti(e,t,n,r={}){function i(e){if(r.capture||ai.call(t,e),!e.cancelBubble)return Tt(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?(i.__removed=!1,pt(()=>{i.__removed||t.addEventListener(e,i,r)})):t.addEventListener(e,i,r),i}function ni(e,t,n,r,i){var a={capture:r,passive:i},o=ti(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Zn(()=>{o.__removed=!0,t.removeEventListener(e,o,a)})}function ri(e,t,n){(t[oi]??={})[e]=n}function ii(e){for(var t=0;t{ui=!1,li=null}));var o=0,s=li===e&&e[oi];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[oi]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){p(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=H,d=U;br(null),xr(null);try{for(var f,m=[];a!==null&&a!==t;){try{var h=a[oi]?.[r];h==null||a.disabled&&e.target!==a||h.call(a,e)}catch(e){f?m.push(e):f=e}if(e.cancelBubble)break;o++,a=o{throw e});throw f}}finally{e[oi]=t,delete e.currentTarget,br(u),xr(d)}}}var oi,si,ci,li,ui,di=t((()=>{B(),x(),O(),gt(),W(),Et(),oi=Symbol(`events`),si=new Set,ci=new Set,li=null,ui=!1}));function fi(e){return mi?.createHTML(e)??e}function pi(e){var t=In(`template`);return t.innerHTML=fi(e.replaceAll(``,``)),t.content}var mi,hi=t((()=>{Un(),mi=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e})}));function gi(e,t){var n=U;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function G(e,t){var n=!!(t&1),r=!!(t&2),i,a=!e.startsWith(``);return()=>{if(E)return gi(D,null),D;i===void 0&&(i=pi(a?e:``+e),n||(i=jn(i)));var t=r||Bn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=jn(t),s=t.lastChild;gi(o,s)}else gi(t,t);return t}}function _i(e,t,n=`svg`){var r=!e.startsWith(``),i=!!(t&1),a=`<${n}>${r?e:``+e}`,o;return()=>{if(E)return gi(D,null),D;if(!o){var e=jn(pi(a));if(i)for(o=document.createDocumentFragment();jn(e);)o.appendChild(jn(e));else o=jn(e)}var t=o.cloneNode(!0);if(i){var n=jn(t),r=t.lastChild;gi(n,r)}else gi(t,t);return t}}function vi(e,t){return _i(e,t,`svg`)}function yi(e=``){if(!E){var t=An(e+``);return gi(t,t),t}var n=D;return n.nodeType===3?Ln(n):(n.before(n=An()),Me(n)),gi(n,n),n}function bi(){if(E)return gi(D,null),D;var e=document.createDocumentFragment(),t=document.createComment(``),n=An();return e.append(t,n),gi(t,n),e}function K(e,t){if(E){var n=U;n.f&32768&&n.nodes.end!==null||(n.nodes.end=D),Ne()}else e!==null&&e.before(t)}var xi=t((()=>{O(),Un(),hi(),W(),Te(),w()}));function Si(e){let t=0,n=fn(0),r;return()=>{Xn()&&(V(n),rr(()=>(t===0&&(r=Lr(()=>e(()=>gn(n)))),t+=1,()=>{pt(()=>{--t,t===0&&(r?.(),r=void 0,gn(n))})})))}}var Ci=t((()=>{W(),B(),Cn(),ot(),a(),gt()}));function wi(e,t,n,r){new Ei(e,t,n,r)}var Ti,Ei,Di=t((()=>{w(),Te(),dt(),Kn(),B(),W(),O(),gt(),tt(),Ae(),a(),dn(),Cn(),ot(),Ci(),Un(),St(),Ti=ae|oe,Ei=class{parent;is_pending=!1;transform_error;#e;#t=E?D:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Map;#p=null;#m=Si(()=>(this.#p=fn(this.#l),()=>{this.#p=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=U;t.b=this,t.f|=128,n(e)},this.parent=U.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=ir(()=>{if(E){let e=Ie(this.#t);Ne();let t=e===`[!`;if(e.startsWith(`[?`)){let t=JSON.parse(e.slice(2));this.#g(t)}else t?this.#y():this.#h()}else this.#b()},Ti),E&&(this.#e=D)}#h(){try{this.#a=ar(()=>this.#r(this.#e))}catch(e){this.error(e)}}#g(e){let t=this.#n.failed,{reset:n,invoke_onerror:r}=this.#_(e);pt(r),t&&(this.#s=ar(()=>{t(this.#e,()=>e,()=>n)}))}#_(e){var t=!1,n=!1;let r=()=>{this.#v()||(t?ke():(t=!0,n&&et(),this.#s!==null&&fr(this.#s,()=>{this.#s=null}),this.#S(()=>{this.#b()})))};return{reset:r,invoke_onerror:()=>{if(!this.#v())try{n=!0,this.#n.onerror?.(e,r),n=!1}catch(e){Gn(e,this.#i&&this.#i.parent)}}}}#v(){return(this.#i.f&(ne|ie))!==0}#y(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=ar(()=>e(this.#e)),pt(()=>{if(!this.#v()){var e=this.#c=document.createDocumentFragment(),t=An(),n=!1;e.append(t),this.#a=this.#S(()=>{try{return ar(()=>this.#r(t))}catch(e){try{this.error(e),n=!0}catch(e){Gn(e,this.#i.parent)}return null}}),this.#a===null?(this.#c=null,n&&this.#x(N)):this.#u===0&&(this.#e.before(e),this.#c=null,fr(this.#o,()=>{this.#o=null}),this.#x(N))}}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=ar(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();gr(this.#a,e);let t=this.#n.pending;this.#o=ar(()=>t(this.#e))}else this.#x(N)}catch(e){this.error(e)}}#x(e){this.is_pending=!1,e.transfer_reactions(this.#f)}defer_effect(e){xt(e,this.#f)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#S(e){var t=U,n=H,r=j;xr(this.#i),br(this.#i),ct(this.#i.ctx);try{return ln.ensure(),e()}finally{xr(t),br(n),ct(r)}}#C(e,t){this.has_pending_snippet()?(this.#u+=e,this.#u===0&&(this.#x(t),this.#o&&fr(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))):this.parent&&this.parent.#C(e,t)}update_pending_count(e,t){this.#C(e,t),this.#l+=e,!this.#p||this.#d||(this.#d=!0,pt(()=>{this.#d=!1,this.#p&&mn(this.#p,this.#l)}))}get_effect_pending(){return this.#m(),V(this.#p)}error(e){if(e===Se||!this.#n.onerror&&!this.#n.failed)throw e;N?.is_fork?(this.#a&&N.skip_effect(this.#a),this.#o&&N.skip_effect(this.#o),this.#s&&N.skip_effect(this.#s),N.oncommit(()=>{this.#v()||this.#w(e)})):this.#w(e)}#w(e){this.#a&&=(lr(this.#a),null),this.#o&&=(lr(this.#o),null),this.#s&&=(lr(this.#s),null),E&&(Me(this.#t),Pe(),Me(Fe()));let t=this.#n.failed,n=e=>{if(this.#v())return;let{reset:n,invoke_onerror:r}=this.#_(e);r(),t&&!this.#v()&&(this.#s=this.#S(()=>{try{return ar(()=>{var r=U;r.b=this,r.f|=128,t(this.#e,()=>e,()=>n)})}catch(e){return Gn(e,this.#i.parent),null}}))};pt(()=>{if(!this.#v()){var t;try{t=this.transform_error(e)}catch(e){Gn(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(n,e=>Gn(e,this.#i&&this.#i.parent)):n(t)}})}}}));function q(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[ye]??=e.nodeValue)&&(e[ye]=n,e.nodeValue=`${n}`)}function Oi(e,t){return Ai(e,t)}function ki(e,t){kn(),t.intro=t.intro??!1;let n=t.target,r=E,i=D;try{for(var a=jn(n);a&&(a.nodeType!==8||a.data!==`[`);)a=Mn(a);if(!a)throw Se;je(!0),Me(a);let r=Ai(e,{...t,anchor:a});return je(!1),r}catch(r){if(r instanceof Error&&r.message.split(` +`).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==Se&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&Ye(),kn(),Pn(n),je(!1),Oi(e,t)}finally{je(r),Me(i)}}function Ai(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){kn();var c=void 0,l=er(()=>{var l=n??t.appendChild(An());wi(l,{pending:()=>{}},t=>{k({});var n=j;if(a&&(n.c=a),i&&(r.$$events=i),E&&gi(t,null),ji=o,c=e(t,r)||lt(),ji=!0,E&&(U.nodes.end=D,D===null||D.nodeType!==8||D.data!==`]`))throw De(),Se;A()},s);var u=new Set,d=e=>{for(var n=0;n{for(var e of u)for(let n of[t,document]){var r=Mi.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ai),r.delete(e),r.size===0&&Mi.delete(n)):r.set(e,i)}ci.delete(d),l!==n&&l.parentNode?.removeChild(l)}});return Ni.set(c,l),c}var ji,Mi,Ni,Pi=t((()=>{a(),Un(),Te(),W(),dt(),B(),O(),x(),di(),Ae(),tt(),xi(),Qr(),w(),Di(),Mi=new Map,Ni=new WeakMap})),Fi=t((()=>{w(),O(),B(),Cn(),Pi(),W()})),Ii=t((()=>{x(),w(),dt(),Qr()})),Li=t((()=>{tt(),dt()})),Ri=t((()=>{at(),B(),W(),st()})),zi=t((()=>{Mt(),W(),O(),xi()})),Bi=t((()=>{tt()})),Vi,Hi=t((()=>{dn(),B(),w(),O(),Un(),a(),Vi=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)mr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(mr(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(lr(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();gr(r,t),t.append(An()),this.#n.set(e,{effect:r,fragment:t})}else lr(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),fr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(lr(n.effect),this.#n.delete(e))};ensure(e,t){var n=N,r=Fn();if(t&&!this.#t.has(e)&&!this.#n.has(e)){if(r){var i=document.createDocumentFragment(),a=An();i.append(a),this.#n.set(e,{effect:ar(()=>t(a)),fragment:i})}else this.#t.set(e,ar(()=>t(this.anchor)))}if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else E&&(this.anchor=D),this.#a(n)}}}));function Ui(e,t,n,r,i){E&&Ne();var a=ut(),s=Ce,c=a?fn(s):pn(s,!1,!1),l=a?fn(s):pn(s,!1,!1),u=new Vi(e);ir(()=>{var a=N,s=t(),d=!1;let f=E&&o(s)===(e.data===`[!`);if(f&&(Me(Fe()),je(!1)),o(s)){var p=Ot(),m=!1;let e=e=>{if(!d){m=!0,p(!1),N===a&&a.deactivate(),ln.ensure();try{e()}finally{kt(!1),nn||Ut()}}};s.then(t=>{e(()=>{mn(c,t),u.ensure(Gi,r&&(e=>r(e,c)))})},t=>{e(()=>{if(mn(l,t),u.ensure(Ki,i&&(e=>i(e,l))),!i)throw l.v})}),E?u.ensure(Wi,n):pt(()=>{m||e(()=>{u.ensure(Wi,n)})})}else mn(c,s),u.ensure(Gi,r&&(e=>r(e,c)));return f&&je(!0),()=>{d=!0}})}var Wi,Gi,Ki,qi=t((()=>{x(),B(),Cn(),O(),gt(),Te(),dt(),dn(),Hi(),Mt(),a(),Wi=0,Gi=1,Ki=2}));function Ji(e,t,n=!1){var r;E&&(r=D,Ne());var i=new Vi(e),a=n?ae:0;function o(e,t){if(E){var n=Ie(r);if(e!==parseInt(n.substring(1))){var a=Fe();Me(a),i.anchor=a,je(!1),i.ensure(e,t),je(!0);return}}i.ensure(e,t)}ir(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}var Yi=t((()=>{w(),O(),B(),Hi()}));function Xi(e,t,n){E&&Ne();var r=new Vi(e),i=!ut();ir(()=>{var e=t();e!==e&&(e=Zi),i&&typeof e==`object`&&e&&(e={}),r.ensure(e,n)})}var Zi,Qi=t((()=>{dt(),B(),O(),Hi(),Zi=Symbol(`NaN`)})),$i=t((()=>{B(),O(),Un()}));function ea(e,t){return t}function ta(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;na(e,f(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else--o},!1)}if(o===0){var c=r.length===0&&n!==null&&e.pending.size===0;if(c){var l=n,u=l.parentNode;Pn(u),u.append(l),e.items.clear()}na(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function na(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i{var e=n();return l(e)?e:e==null?[]:f(e)}),p=new Map,m=!0;function h(e){if(!(_.effect.f&16384)){_.pending.delete(e);var n=V(d);_.fallback=u,aa(_,n,o,t,r),u!==null&&(n.length===0?u.f&33554432?(u.f^=ce,sa(u,null,o)):mr(u):fr(u,()=>{u=null}))}}function g(e){_.pending.delete(e)}var _={effect:ir(()=>{var e=V(d),c=e.length;let l=!1;E&&Ie(o)===`[!`!=(c===0)&&(o=Fe(),Me(o),je(!1),l=!0);for(var f=new Set,_=N,v=Fn(),y=0;ya(o)):(u=ar(()=>a(la??=An())),u.f|=ce)),c>f.size&&We(``,``,``),E&&c>0&&Me(Fe()),!m){if(p.set(_,f),v){for(let[e,t]of s)f.has(e)||_.skip_effect(t.e);_.oncommit(h),_.ondiscard(g)}else h(_)}l&&je(!0),V(d)}),flags:t,items:s,pending:p,outrogroups:null,fallback:u};m=!1,E&&(o=D)}function ia(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function aa(e,t,n,r,i){var a=!!(r&8),o=t.length,s=e.items,c=ia(e.effect.first),l,u=null,d,p=[],m=[],h,g,_,v;if(a)for(v=0;v0){var ne=r&4&&o===0?n:null;if(a){for(v=0;v{if(d!==void 0)for(_ of d)_.nodes?.a?.apply()})}function oa(e,t,n,r,i,a,o,s){var c=o&1?o&16?fn(n):pn(n,!1,!1):null,l=o&2?fn(i):null;return{v:c,i:l,e:ar(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function sa(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Mn(r);if(a.before(r),r===i)return;r=o}}function ca(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}var la,ua=t((()=>{Te(),O(),Un(),B(),Cn(),x(),w(),gt(),W(),a(),Ht(),dn(),tt(),ot()})),da=t((()=>{B(),O(),xi(),Qr(),dt(),Un(),W(),w()})),fa=t((()=>{O(),Un(),xi()})),pa=t((()=>{Qr(),He()}));function ma(e,t,...n){var r=new Vi(e);ir(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},ae)}var ha=t((()=>{w(),B(),dt(),O(),hi(),xi(),tt(),a(),Un(),pa(),Hi()}));function ga(e,t,n){var r;E&&(r=D,Ne());var i=new Vi(e);ir(()=>{var e=t()??null;if(E&&Ie(r)===`[`!=(e!==null)){var a=Fe();Me(a),i.anchor=a,je(!1),i.ensure(e,e&&(t=>n(t,e))),je(!0)}else i.ensure(e,e&&(t=>n(t,e)))},ae)}var _a=t((()=>{w(),B(),O(),Hi(),Te()})),va=t((()=>{x()})),ya=t((()=>{va()})),ba=t((()=>{x(),B(),W(),ya(),Pi(),w(),gt(),Et()})),xa=t((()=>{O(),Un(),B(),Pi(),W(),dt(),w(),xi(),Qr(),Hi(),ba()})),Sa=t((()=>{O(),Un(),B(),w()})),Ca=t((()=>{B(),Un(),W()})),wa=t((()=>{B(),W()})),Ta=t((()=>{B()}));function Ea(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t{}));function J(e){return typeof e==`object`?Da(e):e??``}function ka(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Na.includes(r[o-1]))&&(s===r.length||Na.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Aa(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function ja(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ma(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\/\*.*?\*\//g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(ja)),i&&c.push(...Object.keys(i).map(ja));var l=0,u=-1;let t=e.length;for(var d=0;d{Oa(),x(),Na=[...` +\r\f\xA0\v`]}));function Fa(e,t,n,r,i,a){var o=e[_e];if(E||o!==n||o===void 0){var s=ka(n,r,a);E&&s===e.getAttribute(`class`)||(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[_e]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var Ia=t((()=>{Pa(),w(),O()}));function La(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Ra(e,t,n,r){var i=e[ve];if(E||i!==t){var a=Ma(t,r);E&&a===e.getAttribute(`style`)||(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[ve]=t}else r&&(Array.isArray(r)?(La(e,n?.[0],r[0]),La(e,n?.[1],r[1],`important`)):La(e,n,r));return r}var za=t((()=>{Pa(),w(),O()}));function Ba(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function Va(e,t){var n=e.__defaultValue,r=e.multiple,i=r?n??[]:null;if(!r||l(i)){var a=e.selectedIndex,o=t&&r?new Set(e.selectedOptions):null;for(var s of e.options){var c=Wa(s);Ba(s,r?i.includes(c):En(c,n))}if(t){if(o!==null)for(s of e.options){var u=o.has(s);s.selected!==u&&(s.selected=u)}else e.selectedIndex!==a&&(e.selectedIndex=a)}}}function Ha(e,t,n=!1){if(e.multiple){if(t==null)return;if(!l(t))return Oe();for(var r of e.options)r.selected=t.includes(Wa(r))}else{for(r of e.options)if(En(Wa(r),t)){r.selected=!0;return}n&&t===void 0||(e.selectedIndex=-1)}}function Ua(e){var t=new MutationObserver(t=>{t.every(Ga)||(`__defaultValue`in e&&Va(e,!1),`__value`in e&&Ha(e,e.__value))});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Zn(()=>{t.disconnect()})}function Wa(e){return`__value`in e?e.__value:e.value}function Ga(e){if(e.target.closest(`selectedcontent`)!==null)return!0;if(e.type===`childList`){var t=[...e.addedNodes,...e.removedNodes];return t.length>0&&t.every(e=>e.nodeName===`SELECTEDCONTENT`)}return!1}var Ka=t((()=>{B(),Et(),Dn(),x(),Ae(),dn()}));function Y(e,t,n,r){var i=qa(e);if(!(E&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Za))){var a=i[t];a!==(i[t]=n)&&(t===`loading`&&(e[he]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ja(e).has(t)?e[t]=n:(!E||typeof n!=`number`&&typeof n!=`boolean`||a!==String(n))&&e.setAttribute(t,n))}}function qa(e){return e[ge]??={[Ya]:e.nodeName.includes(`-`),[Xa]:e.namespaceURI===we}}function Ja(e){var t=e.getAttribute(`is`)||e.nodeName,n=Qa.get(t);if(n)return n;Qa.set(t,n=new Set);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=h(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.add(o);i=v(i)}return n}var Ya,Xa,Za,Qa,$a=t((()=>{a(),O(),x(),di(),wt(),Ae(),w(),gt(),Qr(),W(),Ta(),Pa(),Ia(),za(),Te(),B(),Ka(),Mt(),Ya=Symbol(`is custom element`),Xa=Symbol(`is html`),Za=xe?`link`:`LINK`,Qa=new Map})),eo=t((()=>{O(),Un(),hi(),Ta()})),to=t((()=>{Et()})),no=t((()=>{B(),Et(),tt(),Dn(),gt(),O(),W(),dn()})),ro=t((()=>{B(),Et()})),io=t((()=>{Et()})),ao=t((()=>{B(),x()})),oo=t((()=>{B(),W()}));function so(e,t){return e===t||e?.[fe]===t}function co(e=lt(),t,n,r){var i=j.r,a=U;return tr(()=>{var o,s;return rr(()=>{o=s,s=r?.()||[],Lr(()=>{so(n(...s),e)||(t(e,...s),o&&so(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&so(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var lo=t((()=>{w(),dt(),B(),W()})),uo=t((()=>{B(),Et()})),fo=t((()=>{B(),Et()})),po=t((()=>{x(),B(),di()})),mo=t((()=>{x(),dt(),Ht(),B(),W()})),ho=t((()=>{Cn(),W(),x()})),go=t((()=>{W(),x()})),_o=t((()=>{x(),go()}));function vo(e){var t=yo;try{return yo=!1,[e(),yo]}finally{yo=t}}var yo,bo=t((()=>{go(),_o(),x(),W(),B(),Cn(),yo=!1}));function xo(e,t=1){let n=e();return e(n+t),n}function So(e,t,n,r){var i=!rt||!!(n&2),a=!!(n&8),o=!!(n&16),s=r,c=!0,l=void 0,u=()=>o&&i?(l??=Nt(r),V(l)):(c&&(c=!1,s=o?Lr(r):r),s);let d;if(a){var f=fe in e||me in e;d=m(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,h=!1;a?[p,h]=vo(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&Xe(t),d(p)));var g=i?()=>{var n=e[t];return n===void 0?u():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return g;if(d){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&d(t?g():e),e):g()})}var v=!1,y=(n&1?Nt:Ft)(()=>(v=!1,g()));a&&V(y);var b=U;return(function(e,t){if(arguments.length>0){let n=t?V(y):i&&a?wn(e):e;return F(y,n),v=!0,s!==void 0&&(s=n),e}return Rr&&v||b.f&16384?y.v:V(y)})}var Co=t((()=>{a(),Te(),x(),Cn(),Ht(),W(),tt(),w(),Dn(),bo(),it(),B()})),wo=t((()=>{dt(),B(),bo(),Mt()})),To=t((()=>{w(),B(),Cn(),Pi(),W(),dn(),x(),tt(),dt(),it(),bt(),po()})),Eo=t((()=>{To(),B(),xi(),x(),Un()})),Do=t((()=>{w(),at(),W()})),X=t((()=>{qr(),Te(),dt(),$r(),ei(),Fi(),Ii(),Li(),ot(),Ri(),zi(),Bi(),qi(),Yi(),Qi(),$i(),ua(),da(),fa(),ha(),_a(),xa(),Sa(),Ca(),wa(),Ta(),$a(),Ia(),di(),wt(),eo(),za(),ba(),to(),no(),ro(),io(),ao(),Ka(),oo(),lo(),uo(),fo(),O(),po(),mo(),ho(),xi(),Mt(),dn(),Ht(),B(),Cn(),Co(),bo(),Di(),vr(),Pi(),W(),wo(),va(),Dn(),Eo(),Un(),Pa(),at(),x(),pa(),On(),Do()})),Oo=t((()=>{O(),tt()}));function ko(e){j===null&&Ve(`onMount`),rt&&j.l!==null?Ao(j).m.push(e):Qn(()=>{let t=Lr(e);if(typeof t==`function`)return t})}function Ao(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}var jo=t((()=>{W(),x(),X(),tt(),it(),dt(),a(),dn(),Oo(),Pi(),ha()})),Mo,No,Po,Fo,Io=t((()=>{Mo=class{constructor(e){this.status=e.status,this.body=e}toString(){return JSON.stringify(this.body)}},No=class extends Mo{},Po=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},Fo=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}}})),Lo=t((()=>{Io()}));Lo();function Ro(e){try{e()}catch(e){return e}}var zo=t((()=>{}));function Bo(e){throw Error(`https://svelte.dev/e/kit/param_matcher_async`)}function Vo(e){throw Error(`https://svelte.dev/e/kit/param_matcher_result_invalid`)}var Ho=t((()=>{a(),zo()}));function Uo(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function Wo(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function Go({href:e}){return e.split(`#`)[0]}function Ko(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}var qo=t((()=>{a(),Ho(),new URL(`a://`)}));qo();function Jo(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}function Yo(e,t){let n=[];return e&&n.push([...new Headers(e)].join(`,`)),t&&n.push(t),Jo(...n)}a(),new TextEncoder,new TextDecoder;function Xo(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;eObject.getOwnPropertyDescriptor(e,t).enumerable)}var ss=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function cs(e){return ss.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function ls(e){return!(!Number.isInteger(e)||e<0||e>Qo)}function us(e){return!(!Number.isInteger(e)||e<0||e>Zo)}function ds(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t57)return!1}return ls(+e)}function fs(e){for(var t=e.length-1;t>=0&&!ds(e[t]);t--);return t+1}function ps(e){let t=Object.keys(e);return t.length=fs(t),t}function ms(e){return new Uint8Array(e).toBase64()}function hs(e){return Uint8Array.fromBase64(e).buffer}function gs(e){return Buffer.from(e).toString(`base64`)}function _s(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function vs(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;ee,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>ns(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>(rs(e)&&(e=new Uint8Array(e)),{buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>ps(e),shapeOf:e=>ts(e)?os(e).length>0?Es:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:Ts,get:(e,t)=>e[t]}),Os=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`).get,ks=typeof SharedArrayBuffer>`u`?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`).get,As=Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{try{Os.call(t)}catch(e){if(!ks)throw e;ks.call(t)}let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Qo]=void 0,delete t[Qo],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});function js(e,t,n){return Ms(JSON.parse(e),t,n)}function Ms(e,t,n){let r=ws(As,n?.operations);if(typeof e==`number`)return s(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let i=e,a=Array(i.length),o=null;function s(e,n=!1){if(e===-1)return r.fromPrimitive(void 0);if(e===-3)return r.fromPrimitive(NaN);if(e===-4)return r.fromPrimitive(1/0);if(e===-5)return r.fromPrimitive(-1/0);if(e===-6)return r.fromPrimitive(-0);if(n||typeof e!=`number`)throw Error(`Invalid input`);if(e in a)return a[e];if(e>=i.length)throw Error(`Invalid input`);let c=i[e];if(!c||typeof c!=`object`)a[e]=r.fromPrimitive(c);else if(Array.isArray(c)){if(typeof c[0]==`string`){let n=c[0],l=t&&Object.hasOwn(t,n)?t[n]:void 0;if(l){let t=c[1];if(typeof t!=`number`&&(t=i.push(c[1])-1),Object.hasOwn(a,t))return a[e]=l(a[t]);if(o??=new Set,o.has(t))throw Error(`Invalid circular reference`);return o.add(t),a[e]=l(s(t)),o.delete(t),a[e]}switch(n){case`Date`:a[e]=r.fromISOString(c[1]);break;case`Set`:let t=r.createSet();a[e]=t;for(let e=1;e=t)throw Error(`Invalid input`);r.set(n,i,s(c[e+1]))}}else{let t=r.createArray(c.length);a[e]=t;for(let e=0;e{let t=u(e,r);t<0&&(a[r]=t)}),m.catch(()=>{})}else{let e=i.tagOf(n);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:m=`["Object",${u(i.unbox(n))}]`;break;case`Date`:m=`["Date","${i.toISOString(n)}"]`;break;case`URL`:m=`["URL",${as(i.toStringValue(n))}]`;break;case`URLSearchParams`:m=`["URLSearchParams",${as(i.toStringValue(n))}]`;break;case`RegExp`:let{source:r,flags:a}=i.regExpInfo(n);m=a?`["RegExp",${as(r)},"${a}"]`:`["RegExp",${as(r)}]`;break;case`Array`:{let e=!1,t=i.lengthOf(n);m=`[`;for(let r=0;r0&&(m+=`,`),i.hasOwn(n,r))c.push(`[${r}]`),m+=u(i.get(n,r)),c.pop();else if(e)m+=-2;else{let r=i.indicesOf(n),a=r.length,o=String(t).length;if((t-a)*3>4+o+a*(o+1)){m=`[-7,`+t;for(let e=0;e{throw Error(``)},Ls=()=>{throw Error(``)},Rs={},zs={};function Bs(e){let t=Object.entries(e);t.length,Rs=Object.fromEntries(t.map(([e,t])=>[e,t.encode])),zs=Object.fromEntries(t.map(([e,t])=>[e,t.decode])),Is=e=>Ns(e,Rs),Ls=e=>js(e,zs)}var Vs=t((()=>{a(),zo()}));Ho(),Vs();function Hs(e,t){return e.origin===t.origin?e.href.slice(t.origin.length):e.href}function Us(e,t){return e+`/`+t}a(),zo(),a();var Ws=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&Js(e),Ws(e,t));var Gs=new Map;function Ks(e,t){let n=Xs(e,t);if(n){let e=document.querySelector(n);if(e?.textContent){e.remove();let{body:t,...r}=JSON.parse(e.textContent);e.getAttribute(`data-b64`)!==null&&(t=Xo(t));let i=e.getAttribute(`data-ttl`);return i&&Gs.set(n,{body:t,init:r,ttl:1e3*Number(i)}),Promise.resolve(new Response(t,r))}}return window.fetch(e,t)}function qs(e,t,n){if(Gs.size>0){let t=Xs(e,n),r=t&&Gs.get(t);if(r){if(performance.now()`\\`+e)}var Qs=t((()=>{}));function $s(e){return String.fromCodePoint(...e.split(`-`).map(e=>parseInt(e,16)))}function ec(e){let t=[];return{pattern:e===`/`||sc.test(e)?/^\/$/:RegExp(`^${nc(e).map(e=>{let n=/^\[\.\.\.([\w-]+)(?:=([\w-]+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[([\w-]+)(?:=([\w-]+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`)||e.startsWith(`u+`))return ac($s(e.slice(2)));let[,r,a,o,s]=oc.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ac(e)}).join(``)}).join(``)}/?$`),params:t}}function tc(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function nc(e){return e.slice(1).split(`/`).filter(tc)}function rc(e,t){let n=e[`~standard`].validate(t);if(n instanceof Promise&&Bo(),n.issues)return{success:!1};let r=n.value;return typeof r!=`string`&&typeof r!=`number`&&typeof r!=`boolean`&&typeof r!=`bigint`&&Vo(),{success:!0,value:r}}function ic(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;ee).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}let l=decodeURIComponent(c);if(s.matcher){let e=rc(n[s.matcher],l);if(!e.success){if(s.optional&&s.chained){o++;continue}return}r[s.name]=e.value}else r[s.name]=l;let u=t[e+1],d=i[e+1];u&&!u.rest&&u.optional&&d&&s.chained&&(o=0),!u&&!d&&Object.keys(r).length===a.length&&(o=0)}if(!o)return r}function ac(e){return e.normalize().split(/([%/?#])/).map((e,t)=>t%2?lc[e]:Zs(e)).join(``)}var oc,sc,cc,lc,uc,dc=t((()=>{Ho(),Qs(),oc=/^(\[)?(\.\.\.)?([\w-]+)(?:=([\w-]+))?(\])?$/,sc=/^\/\((?:[^)]+)\)$/,cc=/\[([ux])\+([^\]]+)\]/,lc={"%":`%25`,"/":`%2[Ff]`,"?":`%3[Ff]`,"#":`%23`},uc=/\[(\[)?(\.\.\.)?([\w-]+?)(?:=([\w-]+))?\]\]?/g,RegExp(`${cc.source}|${uc.source}`,`g`)}));dc();function fc({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ec(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ic(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function pc(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function mc(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var hc,gc=t((()=>{hc=globalThis.__sveltekit_6lz3t2??{}}));function _c(e){bc=e}var vc,yc,bc,xc=t((()=>{gc(),Ho(),vc=hc.base??``,yc=hc.assets??vc??``}));xc();var Sc=`sveltekit:snapshot`,Cc=`sveltekit:navigation-snapshot`,wc=`sveltekit:history-info`,Tc=`sveltekit:metadata`,Ec={tap:1,hover:2,viewport:3,eager:4,false:-1};a();var Dc=location.origin;function Oc(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function kc(){return{x:pageXOffset,y:pageYOffset}}function Ac(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var jc={...Ec,"":Ec.hover};function Mc(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Nc(e,t){for(;e&&e!==t;){if((e instanceof HTMLAnchorElement||e instanceof SVGAElement)&&e.hasAttribute(`href`))return e;e=Mc(e)}}function Pc(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ic(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===Dc&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Fc(e){let t=null,n=null,r=null,i=null,a=null,o=e;for(;o&&o!==document.documentElement;)t===null&&(t=Ac(o,`preload-code`)),n===null&&(n=Ac(o,`preload-data`)),r===null&&(r=Ac(o,`reload`)),i===null&&(i=Ac(o,`replacestate`)),a===null&&(a=Ac(o,`reset`)),o=Mc(o);function s(e){switch(e){case``:case`true`:return!0;case`false`:return!1;default:return}}return{preload_code:jc[t??`false`],preload_data:jc[n??`false`],reload:s(r),replace_state:s(i),reset:s(a)??!0}}function Ic(e,t,n){return e.origin!==Dc||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Lc(e,t){let n=t?e.hash.split(`#`,3)[2]??``:e.hash.slice(1);return n?document.getElementById(decodeURIComponent(n)):null}function Rc(e){let t=document.activeElement;e&&(t instanceof HTMLElement||t instanceof SVGElement)&&t!==document.body&&t.blur()}function zc(e){let t=e.getAttribute(`tabindex`);e.setAttribute(`tabindex`,`-1`),e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}function Bc(e){let t=window.parent===window||document.hasFocus(),n=document.querySelector(`[autofocus]`);if(n)t&&n.focus();else{t&&zc(Lc(e,!0)??document.body);let n=getSelection();if(n&&n.type!==`None`){let e=[];for(let t=0;t{if(n.rangeCount===e.length){for(let t=0;t[e,Is(t())]))}function Jc(e,t){let n=Wc[e];for(let e of Gc)n&&Object.hasOwn(n,e.id)?e.restore(Ls(n[e.id])):t?.has(e)&&e.reset?.()}function Yc(e){delete Wc[e]}function Xc(e){qc(e),mc(Cc,Wc)}Ho();var Zc=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...Zc],[...new Set([...Zc])],Vs();function Qc(){}var $c=t((()=>{xc(),dc()})),el,tl=t((()=>{gc(),el=hc.version})),nl=t((()=>{tl()}));function rl(e){Object.assign(al,e)}function il(e){F(sl,e)}var al,ol,sl,cl,ll,ul,dl,fl=t((()=>{X(),a(),jo(),$c(),nl(),al=new class{#e=P({});get data(){return V(this.#e)}set data(e){F(this.#e,e)}#t=P(null);get form(){return V(this.#t)}set form(e){F(this.#t,e)}#n=P(null);get error(){return V(this.#n)}set error(e){F(this.#n,e)}#r=P({});get params(){return V(this.#r)}set params(e){F(this.#r,e)}#i=P({id:null});get route(){return V(this.#i)}set route(e){F(this.#i,e)}#a=P(null);get shallow(){return V(this.#a)}set shallow(e){F(this.#a,e)}#o=P({});get state(){return V(this.#o)}set state(e){F(this.#o,e)}#s=P(-1);get status(){return V(this.#s)}set status(e){F(this.#s,e)}#c=P(new URL(`a:`));get url(){return V(this.#c)}set url(e){F(this.#c,e)}},ol={get data(){return al.data},get error(){return al.error},get form(){return al.form},get params(){return al.params},get route(){return al.route},get shallow(){return al.shallow},get state(){return al.state},get status(){return al.status},get url(){return al.url}},sl=P(null),ul=P(!1),dl={get current(){return V(ul)},async check(){return window.clearTimeout(cl),V(ul)?Promise.resolve(!0):ll??=(async()=>{try{let e=await fetch(`${yc}/_app/version.json`,{headers:{"cache-control":`no-cache`}});if(!e.ok)return!1;let t=await e.json();return F(ul,V(ul)||t.version!==el)}catch{return!1}finally{ll=void 0}})()}}})),pl=t((()=>{}));fl(),$c(),pl();var ml={spanContext(){return hl},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},hl={traceId:``,spanId:``,traceFlags:0},gl=t((()=>{})),Z=t((()=>{gl(),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`)}));Z(),X();var _l=G(`
`),vl=G(` `,1);function yl(e,t){k(t,!0);let n=(e,i=b,a=b)=>{let o=(e,t=b)=>{var n=bi();ga(Nn(n),()=>V(c),(e,n)=>{n(e,{get error(){return t()}})}),K(e,n)},s=M(()=>i().component),c=M(()=>i().error),l=M(()=>i().data);var u=bi();wi(Nn(u),{get failed(){return V(c)?o:void 0},get onerror(){return V(c)?t.onerror:void 0}},e=>{var o=bi(),c=Nn(o),u=e=>{var o=bi();ga(Nn(o),()=>V(s),(e,o)=>{co(o(e,{get data(){return V(l)},get form(){return t.form},get params(){return t.page.params},children:(e,t)=>{n(e,()=>i().child,()=>a()+1)},$$slots:{default:!0}}),e=>r()[a()]=e,()=>r()?.[a()])}),K(e,o)},d=e=>{var n=bi();ga(Nn(n),()=>V(s),(e,n)=>{co(n(e,{get data(){return V(l)},get form(){return t.form},get params(){return t.page.params},get error(){return t.error}}),e=>r()[a()]=e,()=>r()?.[a()])}),K(e,n)};Ji(c,e=>{i().child?e(u):e(d,-1)}),K(e,o)}),K(e,u)},r=So(t,`components`,7),i=P(!1),a=P(!1),o=P(``);Wu(()=>{V(i)?(F(a,!0),F(o,document.title||`untitled page`,!0)):F(i,!0)});var s=vl(),c=Nn(s);n(c,()=>t.tree,()=>0);var l=R(c,2),u=e=>{var t=_l(),n=I(t),r=e=>{var t=yi();z(()=>q(t,V(o))),K(e,t)};Ji(n,e=>{V(a)&&e(r)}),T(t),K(e,t)};Ji(l,e=>{V(i)&&e(u)}),K(e,s),A()}X();var bl=class{#e;get form(){return V(this.#e)}set form(e){F(this.#e,e)}#t;get error(){return V(this.#t)}set error(e){F(this.#t,e)}page;components=[];tree;onerror;constructor({page:e,tree:t,form:n,error:r,onerror:i=Qc}){this.page=e,this.tree=t,this.onerror=i,this.#e=P(n),this.#t=P(r)}},xl=class{component;error;#e=P({});get data(){return V(this.#e)}set data(e){F(this.#e,e)}#t=P();get child(){return V(this.#t)}set child(e){F(this.#t,e)}constructor(e,t){this.component=e,this.error=t}};function Sl(e,t,n){let r=[void 0],i=-1;for(let a=1;ai+1&&t[o]==null;)--o;i=o;let s=t[o];r.push(s==null?void 0:n(s)?.catch(()=>void 0))}return Promise.all(r)}function*Cl(e,t,n){for(;e--;){let r=n[e];if(r!=null){let n=e;for(;!t[n];)--n;yield{error:r,idx:n+1}}}}a(),jo(),qo(),xc(),gc(),Ho(),zo();var wl=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),Tl=new Set,El=pc(`sveltekit:history-info`)??{},Dl=pc(`sveltekit:snapshot`)??{},Ol;function kl(e){El[e].scroll=kc()}function Al(e,t){El[e]={...El[e],resetIndex:t.resetIndex}}function jl(e,t){Yc(e);let n=e+1;for(;El[n];)delete El[n],Yc(n),n+=1;for(n=t+1;Dl[n];)delete Dl[n],n+=1}function Ml(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(Qc)}async function Nl(){try{if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(vc||`/`);e&&await e.update()}}catch{}}var Pl,Fl,Il,Ll,Rl,zl,Bl={},Vl={},Hl=[],Ul=null;function Wl(){Ul?.fork?.then(e=>e?.discard()),Ul=null,Bu={element:void 0,href:void 0}}var Gl=new Map,Kl=new Set,ql=new Set,Jl=new Set,Q={branch:[],error:null,url:null,nav:null},Yl=!1,Xl=!1,Zl=!1,Ql=null,$l=!1,eu=!1,$,tu,nu;function ru(e=history.state){return e?.[Tc]}var iu,au,ou=new Set,su=new Map,cu=new Map;_c(async e=>{typeof e==`string`&&(e=new URL(e,location.href));let t=await Mu(e,!1);return t?{id:t.route.id,params:t.params}:null}),Promise.resolve();function lu(e,t,n){return du(e,t,n)}function*uu(e){for(let[t,n]of e)for(let[e,r]of n)yield[Us(t,e),r]}async function du(e,t,n){if(hc.data){let{q:e={},p:t={},l:n={},f:r={}}=hc.data;for(let t in e)Bl[t]=e[t];for(let e in n)Bl[e]=n[e];for(let e in r)Bl[e]=r[e];for(let e in t)Vl[e]=t[e]}document.URL!==location.href&&(location.href=location.href),zl=e,Bs(zl.hooks.transport??{}),await e.hooks.init?.(),Pl=fc(e),Ll=document.documentElement,Rl=t,Fl=e.nodes[0],Il=e.nodes[1];let[r]=await Promise.all([Fl(),Il()]),i=new xl(r.component,void 0);Ol=new bl({page:ol,tree:i,form:void 0,error:void 0,onerror:(e,t)=>Tl.add(t)});let a=ru();$=a?.historyIndex??0,tu=a?.navigationIndex??0,nu=a?.resetIndex??0,$||($=tu=nu=Date.now(),history.replaceState({...history.state,[Tc]:{historyIndex:$,navigationIndex:tu,state:Is({}),persistState:!1,resetIndex:$}},``)),Al($,ru());let o=El[$]?.scroll;function s(){o&&(history.scrollRestoration=`manual`,scrollTo(o.x,o.y))}n?(s(),await qu(Rl,n)):(await Iu({type:`enter`,url:Oc(zl.hash?Xu(new URL(location.href)):location.href),replace_state:!0,state:a?.persistState?Ls(a.state):{},persist_state:a?.persistState??!1}),s()),Ku()}function fu(){Hl.length=0,eu=!1}function pu(e){Ol.components.some(e=>e?.snapshot)&&(Dl[e]=Ol.components.map(e=>e?.snapshot?.capture()))}function mu(e){Dl[e]?.forEach((e,t)=>{Ol.components[t]?.snapshot?.restore(e)})}function hu(){kl($),mc(wc,El),pu(tu),mc(Sc,Dl),Xc($)}async function gu(e,t={},n=0,r={},i){let a,o;t.refreshAll&&Wl(),await Iu({type:t.type??`goto`,url:Oc(e),reset:t.reset,replace_state:t.replace,state:t.state,persist_state:t.persistState,event:t.event,action_result:t.action_result,redirect_count:n,nav_token:r,intent:i,accept:()=>{if(t.refreshAll){eu=!0,a=new Set;for(let[e,t]of uu(su))t.resource?.reset(),a.add(e);o=new Set;for(let[e]of uu(cu))o.add(e)}t.invalidate&&t.invalidate.forEach(Gu)}}),t.refreshAll&&Nr().then(Nr).then(()=>{for(let[e,{resource:t}]of uu(su))a?.has(e)&&t.start();for(let[e,{resource:t}]of uu(cu))o?.has(e)&&t.reconnect()})}async function _u(e){if(e.id!==Ul?.id){Wl();let t={};ou.add(t),Ul={id:e.id,token:t,promise:Du({...e,preload:t}).finally(()=>{ou.delete(t)}),fork:null},Ul.promise.catch(Wl)}return Ul.promise}async function vu(e){await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(([,e])=>e()))}async function yu(e){let t=(await Mu(e,!1))?.route;t&&await vu(t)}async function bu(e,t,n){let r={params:e.state.params,route:{id:e.state.route?.id??null},url:new URL(location.href)};if(Q={...e.state,nav:r},Zu(e),(n?ki:Oi)(yl,{target:t,props:Ol,transformError:async e=>{let t=await Hu(e,Q.nav);return rl({error:t,status:t.status}),t}}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:El[$]?.scroll??kc()},willUnload:!1,type:`enter`,shallow:!1,complete:Promise.resolve()};Jl.forEach(t=>t(e))}mu(tu),Yl&&Jc($),Xl=!0}async function xu({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(vc&&(e.pathname===vc||e.pathname===vc+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=Uo(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{page:{...ol},tree:{}}};a&&(l.props.error=a),s!==void 0&&(l.props.form=s);let u={},d=!ol,f=r&&await Sl(n,r,e=>e().then(e=>e.component)),p=l.props.tree,m=1,h=Ol.tree;for(let e=0;e(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:Ko(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},zl.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=Cu(t,r,n);return s&&e(i.href),a},setHeaders:Qc,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function Cu(e,t,n){let r=new URL(e instanceof Request?e.url:e,n),i=Hs(r,n);return{resolved:r,promise:Xl?qs(i,r.href,t):Ks(i,t)}}function wu(e,t,n,r,i,a){if(eu)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==Q.params[e])return!0;for(let e of i.dependencies)if(Hl.some(t=>t(new URL(e))))return!0;return!1}function Tu(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Eu(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r).sort(),a=t.searchParams.getAll(r).sort();i.length===a.length&&i.every((e,t)=>e===a[t])&&n.delete(r)}return n}async function Du({id:e,invalidating:t,url:n,params:r,route:i,preload:a,action_result:o}){if(!o&&Ul?.id===e)return ou.delete(Ul.token),Ul.promise;let{errors:s,layouts:c,leaf:l}=i,u=[...c,l],d=u.length-1,f=o?.type===`error`;s.forEach(e=>e?.().catch(Qc)),u.forEach(e=>e?.[1]().catch(Qc));let p=Q.url?e!==Pu(Q.url):!1,m=!Q.route||i.id!==Q.route.id,h=Eu(Q.url,n),g=!1,_=u.map(async(e,t)=>{if(!e||f&&t===d)return;let a=Q.branch[t];return e[1]===a?.loader&&!wu(g,m,p,h,a.universal?.uses,r)?a:(g=!0,Su({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;nPromise.resolve({}),server_data_node:Tu(null)}),{node:await Il(),loader:Il,universal:null,server:null,data:null}],error:e,errors:[],route:null})}catch(e){if(e instanceof Po){await gu(new URL(e.location,location.href));return}let i=await zl.get_error_template(),a=await Hu(e,{url:t,params:r,route:n}),o=String(a?.message??``).replace(/&/g,`&`).replace(//g,`>`),s=i({status:a.status,message:o}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),e}}async function ju(e){let t=e.href;if(Gl.has(t))return Gl.get(t);let n;try{let r=(async()=>{let t=await zl.hooks.reroute({url:new URL(e),fetch:async(t,n)=>Cu(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);zl.hash?n.hash=t:n.pathname=t,t=n}return t})();Gl.set(t,r),n=await r}catch{Gl.delete(t);return}return n}async function Mu(e,t){if(e&&!Ic(e,vc,zl.hash)){let n=await ju(e);if(!n)return;let r=Nu(n);for(let n of Pl){let i=n.exec(r);if(i)return{id:Pu(e),invalidating:t,route:n,params:i,url:e}}}}function Nu(e){return Wo(zl.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(vc.length))||`/`}function Pu(e){return(zl.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Fu({url:e,type:t,intent:n,delta:r,event:i,scroll:a,shallow:o=!1,target:s}){let c=!1,l=Yu(Q,n,e,t,a??null,o,s);l.navigation.type===`popstate`&&r!==void 0&&(l.navigation.delta=r),i!==void 0&&(l.navigation.event=i);let u={...l.navigation,cancel:()=>{c=!0,l.reject(Error(`navigation cancelled`))}};return Zl||Kl.forEach(e=>e(u)),c?null:l}async function Iu({type:e,url:t,popped:n,reset:r=!0,replace_state:i,state:a={},persist_state:o=!1,redirect_count:s=0,nav_token:c={},accept:l=Qc,block:u=Qc,event:d,intent:f,action_result:p}){let m=iu,h=au;iu=au=c,f??=await Mu(t,!1);let g=e===`enter`?Yu(Q,f,t,e):Fu({url:t,type:e,delta:n?.delta,intent:f,scroll:n?.scroll,shallow:!!n?.shallow,target:n?.shallow??void 0,event:d});if(!g){u(),iu===c&&(iu=m),au===c&&(au=h);return}let _=$,v=tu,y=Kc();l(),Zl=!0,Xl&&g.navigation.type!==`enter`&&il(g.navigation);let b=f&&await Du({...f,action_result:p});if(!b){let e=Ic(t,vc,zl.hash),n=e&&!1;if(e&&!n)return await Ml(t,i);b=await zu(t,{id:null},await Hu(new Fo(404,`Not Found`,`Not found: ${t.pathname}${n?` (did you forget the hash?)`:``}`),{url:t,params:{},route:{id:null}}),i)}if(t=f?.url||t,iu!==c){g.reject(Error(`navigation aborted`));return}if(!b)return;if(b.type===`redirect`){if(s<20){Ul?.id===f?.id&&Wl(),await Iu({type:e,url:new URL(b.location,t),popped:n,reset:r,replace_state:i,state:a,persist_state:o,redirect_count:s+1,nav_token:c}),g.fulfil(void 0);return}if(b=await Au({error:await Hu(Ro(()=>Uc({url:t.href})),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!b)return}else if(b.props.page.status>=400&&await dl.check())return await Nl(),await Ml(t,i);if(fu(),Xl&&!n&&(kl(_),pu(v),i?Yc(_):qc(_)),b.props.page.url.pathname!==t.pathname&&(t.pathname=b.props.page.url.pathname),n)a=n.state;else{let n=Is(a);a=Ls(n);let s=+!i;e!==`enter`&&r&&(nu+=1);let c={[Tc]:{historyIndex:$+=s,navigationIndex:tu+=s,state:n,persistState:o,resetIndex:nu}};(i?history.replaceState:history.pushState).call(history,c,``,t),Al($,c[Tc]),i||jl($,tu)}let x=f&&Ul?.id===f.id?Ul.fork:null;Ul?.fork&&!x?Wl():(Ul=null,Bu={element:void 0,href:void 0}),b.props.page.state=a,b.props.page.shallow=n?.shallow??null;let S;if(Xl){await Lu(g.navigation);let e=n?.shallow?{params:b.state.params,route:{id:b.state.route?.id??null},url:b.state.url}:g.navigation.to;Q={...b.state,nav:{params:e.params,route:e.route,url:e.url}},b.props.page&&(b.props.page.url=t),Rc(r);let i=x&&await x;if(i){S=i.commit();for(let e of Tl)e();Tl.clear()}else Zu(b),S=Pr().then(()=>{for(let e of Tl)e();Tl.clear()});$l=!0}else await bu(b,Rl,!1);await Ru(g,c,t,n?.scroll,r,S)&&(e===`popstate`&&mu(tu),Jc($,y),il(null))}async function Lu(e){let t=(await Promise.all(Array.from(ql,t=>t(e)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>Jl.delete(e))}t.push(e),t.forEach(e=>Jl.add(e))}}async function Ru(e,t,n,r,i,a){return await a,iu===t?(Hc(n,i,r),i&&document.activeElement===document.body&&Bc(n),Zl=!1,e.fulfil(void 0),e.navigation.to&&(e.navigation.to.scroll=kc()),Jl.forEach(t=>t(e.navigation)),!0):(e.reject(Error(`navigation aborted`)),!1)}async function zu(e,t,n,r){return e.origin===Dc&&e.pathname===location.pathname&&!Yl?await Au({error:n,url:e,route:t}):await Ml(e,r)}var Bu={element:void 0,href:void 0};function Vu(){let e,t,n;function r(){clearTimeout(e),t?.removeEventListener(`mousemove`,i),t?.removeEventListener(`mouseleave`,r),t=void 0}function i(){clearTimeout(e),e=setTimeout(()=>{t&&s(t,Ec.hover)},20)}Ll.addEventListener(`mouseover`,e=>{if(!(e.target instanceof Element))return;let n=Nc(e.target,Ll);if(!n||n===t)return;r(),t=n;let a=Fc(n);a.preload_code{for(let t of e)t.isIntersecting&&(yu(new URL(t.target.href)),o.unobserve(t.target))},{threshold:0});async function s(e,t){let r=e===Bu.element&&e?.href===Bu.href&&t>=n;if(!e||r)return;let{url:i,external:a,download:o}=Pc(e,vc,zl.hash);if(a||o)return;let s=Fc(e),c=i&&Pu(Q.url)===Pu(i);if(!(s.reload||c)){if(t<=s.preload_data){Bu={element:e,href:e.href},n=Ec.tap;let t=await Mu(i,!1);if(!t)return;_u(t).catch(Qc)}else t<=s.preload_code&&(Bu={element:e,href:e.href},n=t,yu(i))}}function c(){o.disconnect();for(let e of Ll.querySelectorAll(`a`)){let{url:t,external:n,download:r}=Pc(e,vc,zl.hash);if(n||r)continue;let i=Fc(e);i.reload||(i.preload_code===Ec.viewport&&o.observe(e),i.preload_code===Ec.eager&&yu(t))}}Jl.add(c),c()}async function Hu(e,t){if(e instanceof No)return e.body;let n;n=e instanceof Mo?{kind:`app`,error:e.body}:e instanceof Fo?{kind:`framework`,error:{status:e.status,message:e.text}}:{kind:`unknown`,error:e};let r=n.kind===`unknown`?{status:500,message:`Internal Error`}:n.error,i={...n,event:t},a=await zl.hooks.handleError(i);return{...r,...a}}function Uu(e,t){ko(()=>(e.add(t),()=>{e.delete(t)}))}function Wu(e){Uu(Jl,e)}function Gu(e){if(typeof e==`function`)Hl.push(e);else{let{href:t}=new URL(e,location.href);Hl.push(e=>e.href===t)}}function Ku(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(hu(),!Zl){let e=Yu(Q,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Kl.forEach(e=>e(n))}t&&(e.preventDefault(),e.returnValue=``)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?hu():dl.check()}),addEventListener(`focus`,()=>{dl.check()}),navigator.connection?.saveData||Vu(),Ll.addEventListener(`click`,async t=>{if(t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Nc(t.composedPath()[0],Ll);if(!n)return;let{url:r,external:i,target:a,download:o}=Pc(n,vc,zl.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Fc(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(zl.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===Go(location);if(i||s.reload&&(!u||!l)){Fu({url:r,type:`link`,event:t})?Zl=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=Q.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(Ql={...ru(),resetIndex:nu+ +!!s.reset},kl($),e(r),!s.replace_state)return;Ql=null}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)});let d=r.href!==location.href;await gu(r,{type:`link`,reset:s.reset,replace:s.replace_state??!d,refreshAll:!d,event:t})}),Ll.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ic(r,vc,!1))return;let i=e.target,a=Fc(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Iu({type:`form`,url:r,reset:a.reset,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{let n=ru(t.state);if(n?.historyIndex){let r=n.historyIndex,i=El[$];if(r===$)return;iu=au={};let a=r-$,o=n.resetIndex,s=o!==(i?.resetIndex??nu),c=El[r]?.scroll,l=Ls(n.state),u=new URL(n.pageUrl??location.href),d=n.navigationIndex,f=Q.url&&(location.href+Q.url.href).includes(`#`)?Go(location)===Go(Q.url):!1,p=d===tu&&($l&&(n.pageUrl===void 0||n.pageUrl===location.href)||f),m=n.pageUrl?new URL(location.href):null,h=$,g=tu,_=nu;kl(h),p||pu(g),qc(h),$=r,tu=d,nu=o;let v=iu,y=m?await Mu(m,!1):void 0;if(iu!==v)return;let b=m?{params:y?.params??null,route:y?{id:y.route.id}:null,url:m}:null;if(p){Rc(s),rl({state:l,shallow:b}),e(u),s&&c&&scrollTo(c.x,c.y),Jc($,Kc()),Zl=!1,il(null);return}await Iu({type:`popstate`,url:u,reset:s,popped:{state:l,scroll:c,delta:a,shallow:b},block:()=>{$=h,tu=g,nu=_,history.go(-a)},nav_token:v,event:t})}else Ql||(e(new URL(location.href)),zl.hash&&location.reload())}),addEventListener(`hashchange`,()=>{if(Ql){let e=Ql;Ql=null,nu=e.resetIndex,history.replaceState({...history.state,[Tc]:{...e,historyIndex:++$,navigationIndex:tu}},``,location.href),Al($,e)}});for(let e of document.querySelectorAll(`link`))wl.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{if(e.persisted){il(null);let e=El[$]?.scroll;e&&scrollTo(e.x,e.y)}});function e(e){Q.url=e,rl({url:e})}}async function qu(e,{status:t,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){Yl=!0;let l=new URL(location.href),u;({params:i={},route:a={id:null}}=await Mu(l,!1)||{}),u=Pl.find(({id:e})=>e===a.id);let d,f=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Ju(r.uses)),Su({loader:zl.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r{s=e,c=t});return l.catch(Qc),{navigation:{from:r===`enter`?null:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:kc()},to:n&&{params:o?o.params:t?.params??null,route:{id:o?o.route?.id??null:t?.route?.id??null},url:o?.url??n,scroll:i},willUnload:!a&&!t,type:r,shallow:a,complete:l},fulfil:s,reject:c}}function Xu(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Zu(e){rl(e.props.page),Ol.tree.data=e.props.tree.data,Ol.tree.child=e.props.tree.child,`form`in e.props&&(Ol.form=e.props.form),`error`in e.props&&(Ol.error=e.props.error)}var Qu={},$u=`modulepreload`,ed=function(e,t){return new URL(e,t).href},td={},nd=function(e){return e.pathname.endsWith(`.css`)},rd=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},id=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=ed(t,n);let r=s(t),i=nd(r);return rd(td,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:$u,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{let i=a=>{t.removeEventListener(`load`,i),t.removeEventListener(`error`,i),a.type===`error`?n(Error(`Unable to preload CSS for ${r}`)):e(a)};t.addEventListener(`load`,i),t.addEventListener(`error`,i)})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function ad(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function od(e,t){return t[Math.floor(e()*t.length)]}var sd=t((()=>{}));function cd(e,t,n,r,i){let a=Array(n),o=t;for(let t=0;t{let i=cd(e,r,78,.004,(e()-.5)*6e-4),a=i[i.length-1];return{symbol:t,name:n,previousClose:r,price:a,change:a-r,changePercent:(a-r)/r*100,series:i}})}function fd(e){let t=ad(191093),n=[];for(let r=0;r<48;r++){let i=od(t,e),a=od(t,e),o=od(t,Td).replace(`{company}`,i.name.split(` `).slice(0,2).join(` `)).replace(`{other}`,a.name.split(` `)[0]).replace(`{event}`,od(t,Ed)).replace(`{theme}`,od(t,Dd)).replace(`{sector}`,i.sector),s=1+Math.floor(t()*3),c=[i.symbol];for(;c.lengtht.publishedAt-e.publishedAt),n}function pd(e){let t=Nd.find(t=>t.id===e);return[...kd].sort((e,n)=>t.rank(e)-t.rank(n)).slice(0,Md)}var md,hd,gd,_d,vd,yd,bd,xd,Sd,Cd,wd,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd=t((()=>{sd(),md=Date.UTC(2026,10,12,21,0),hd=Date.UTC(2026,10,12,14,30),gd=3e5,_d=[{name:`Technology`,suffixes:[`Systems`,`Semiconductor`,`Software`,`Networks`,`Devices`]},{name:`Healthcare`,suffixes:[`Therapeutics`,`Biosciences`,`Medical`,`Health`]},{name:`Financial Services`,suffixes:[`Bancorp`,`Capital`,`Financial`,`Trust`]},{name:`Consumer Cyclical`,suffixes:[`Motors`,`Retail`,`Brands`,`Apparel`]},{name:`Industrials`,suffixes:[`Industries`,`Aerospace`,`Logistics`,`Machinery`]},{name:`Communication Services`,suffixes:[`Media`,`Telecom`,`Interactive`,`Studios`]},{name:`Energy`,suffixes:[`Energy`,`Petroleum`,`Resources`,`Power`]},{name:`Consumer Defensive`,suffixes:[`Foods`,`Beverages`,`Household`,`Grocers`]},{name:`Utilities`,suffixes:[`Utilities`,`Electric`,`Water`,`Gas`]},{name:`Real Estate`,suffixes:[`Realty`,`Properties`,`REIT`,`Land`]},{name:`Basic Materials`,suffixes:[`Materials`,`Chemicals`,`Mining`,`Steel`]}],vd=`Ar.Bel.Cor.Dyn.El.Fen.Gal.Hel.Ion.Jun.Kel.Lum.Mer.Nov.Or.Pax.Quin.Ros.Sol.Tor.Ul.Ver.Wex.Xan.Yor.Zen`.split(`.`),yd=[`ada`,`ex`,`ion`,`ora`,`ics`,`tek`,`via`,`lon`,`ara`,`is`,`ent`,`ix`,`um`,`eon`],bd=[`Inc.`,`Corp.`,`Holdings`,`Group`,`Ltd.`,`Co.`],xd=[`NMS`,`NYQ`,`NGM`,`ASE`],Sd=240,Cd=[[`^LC500`,`Large Cap 500`,6120],[`^IND30`,`Industrials 30`,44210],[`^TECH`,`Tech Composite`,19870],[`^SC2K`,`Small Cap 2000`,2410],[`^VOLX`,`Volatility Index`,16.4],[`CL=F`,`Crude Oil`,71.2],[`GC=F`,`Gold`,2650],[`^TNY`,`10-Yr Bond`,4.31],[`EURUSD=X`,`EUR/USD`,1.083],[`BTC-USD`,`Bitcoin USD`,91250],[`^EU600`,`Europe 600`,512.4],[`^AS225`,`Asia 225`,38950]],wd=[`Market Desk`,`Wire Service`,`Daily Ledger`,`Capital Brief`,`Street Notes`,`The Closing Bell`,`Quarterly Review`],Td=[`{company} shares jump after {event}`,`{company} slides as {event} weighs on outlook`,`Why {company} could be the next big {theme} play`,`{company} beats estimates, raises full-year guidance`,`Analysts split on {company} after {event}`,`{sector} stocks rally as investors bet on {theme}`,`{company} to cut 4% of workforce amid {theme} push`,`Is {company} stock a buy after {event}?`,`{company} and {other} announce {theme} partnership`,`Stocks drift as traders weigh {event}`],Ed=[`a strong earnings report`,`a surprise guidance cut`,`a new buyback program`,`an analyst upgrade`,`rate-cut hopes`,`a product recall`,`record quarterly revenue`,`a CEO shake-up`,`an antitrust probe`,`the latest jobs data`],Dd=[`AI`,`clean energy`,`cloud`,`streaming`,`biotech`,`dividend`,`infrastructure`,`chip`,`consumer`],Od=[`The move extends a run that has seen the stock outperform the broader market this quarter.`,`Management said demand remained resilient despite a softer macro backdrop.`,`Investors are watching margins closely after two quarters of rising costs.`,`Several brokerages adjusted their price targets following the announcement.`,`Trading volume was well above the three-month average.`,`The company reiterated its long-term targets during the call with analysts.`,`Options activity pointed to elevated expectations for further volatility.`,`Peers in the same industry moved in sympathy during the session.`],kd=ud(),Ad=dd(),jd=fd(kd),Md=150,Nd=[{id:`trending`,label:`Trending`,rank:e=>-e.interest},{id:`most-active`,label:`Most Active`,rank:e=>-e.volume},{id:`gainers`,label:`Top Gainers`,rank:e=>-e.changePercent},{id:`losers`,label:`Top Losers`,rank:e=>e.changePercent},{id:`52-week-gainers`,label:`52 Week Gainers`,rank:e=>-e.fiftyTwoWeekChangePercent},{id:`large-cap`,label:`Large Cap`,rank:e=>-e.marketCap}]}));function Fd(e,t){Bd.set(e,JSON.stringify(t))}function Id({symbol:e,name:t,price:n,change:r,changePercent:i,previousClose:a,volume:o,series:s}){return{symbol:e,name:t,price:n,change:r,changePercent:i,previousClose:a,volume:o,series:s}}function Ld(e,t){return[...kd].sort((t,n)=>e(t)-e(n)).slice(0,t).map(Id)}function Rd(){return new Promise(e=>{Ud.push(e),Hd.port2.postMessage(0)})}async function zd(e,t=1){let n=Bd.get(e);if(n===void 0)throw Error(`No response for ${e}`);for(let e=0;e{Pd(),Bd=new Map;for(let e of Nd)Fd(`/v1/screener/${e.id}`,{id:e.id,title:e.label,total:kd.length,quotes:pd(e.id).map(({interest:e,...t})=>t)});Fd(`/v1/market-summary`,{quotes:Ad}),Vd=new Map(kd.map(e=>[e.symbol,e])),Fd(`/v1/news`,{stories:jd.map(e=>({...e,tickers:e.tickers.map(e=>Id(Vd.get(e)))}))}),Fd(`/v1/movers`,{trending:Ld(e=>-e.interest,8),gainers:Ld(e=>-e.changePercent,6),losers:Ld(e=>e.changePercent,6),active:Ld(e=>-e.volume,6)}),Hd=new MessageChannel,Ud=[],Hd.port1.onmessage=()=>Ud.shift()()}));function Gd(e){let t=Xd.get(e.symbol);return t||(t=new Yd(e),Xd.set(e.symbol,t)),t}function Kd(e){return Zd.set(e,(Zd.get(e)??0)+1),()=>{let t=Zd.get(e)-1;t?Zd.set(e,t):Zd.delete(e)}}function qd(){let e=[...Zd.keys()],t=Math.min(e.length,ef);for(let n=0;n{X(),jo(),Wd(),sd(),Yd=class{#e=P(0);get price(){return V(this.#e)}set price(e){F(this.#e,e,!0)}#t=P(0);get change(){return V(this.#t)}set change(e){F(this.#t,e,!0)}#n=P(0);get changePercent(){return V(this.#n)}set changePercent(e){F(this.#n,e,!0)}#r=P(0);get volume(){return V(this.#r)}set volume(e){F(this.#r,e,!0)}#i=P([]);get series(){return V(this.#i)}set series(e){F(this.#i,e)}#a=P(0);get revision(){return V(this.#a)}set revision(e){F(this.#a,e,!0)}#o=P(0);get direction(){return V(this.#o)}set direction(e){F(this.#o,e,!0)}constructor(e){this.symbol=e.symbol,this.name=e.name,this.previousClose=e.previousClose,this.price=e.price,this.change=e.change,this.changePercent=e.changePercent,this.volume=e.volume??0,this.series=e.series}apply(e,t){this.direction=Math.sign(e-this.price),this.price=e,this.change=e-this.previousClose,this.changePercent=this.change/this.previousClose*100,this.volume+=t;let n=this.series.slice();n[n.length-1]=e,this.series=n,this.revision++}},Xd=new Map,Zd=new Map,Qd=wn({live:!1,messages:0}),$d=20,ef=24,tf=ad(22506)})),rf=n({load:()=>af});async function af(){return{indices:(await zd(`/v1/market-summary`)).quotes.map(Gd)}}var of=t((()=>{Wd(),nf()})),sf=t((()=>{}));function cf(e){gf?.disconnect(),gf=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)e.nodeType===Node.ELEMENT_NODE&&e.hasAttribute(`data-module`)&&hf++}),gf.observe(e,{childList:!0,subtree:!0})}function lf(e){let t=[],n=e.querySelectorAll(`a[href]`);for(let e of n){let n=e.href;for(let e of pf)if(n.indexOf(e)!==-1){t.push(e);break}}return{count:n.length,flagged:t}}function uf(e){let t=e.ownerDocument.documentElement.clientHeight,n=[];for(let r of e.querySelectorAll(`[data-module]`)){if(!r.checkVisibility({opacityProperty:!0,visibilityProperty:!0}))continue;let e=getComputedStyle(r),i=r.getBoundingClientRect();n.push({module:r.dataset.module,sticky:e.position===`sticky`||e.position===`fixed`,display:e.display,top:Math.round(i.top),height:Math.round(i.height),inView:i.top0})}return n}function df(e,t){let n={page:t,url:e.ownerDocument.location.hash,mutations:hf,impressions:uf(e),links:lf(e)};hf=0,mf.push(JSON.stringify(n)),mf.length>20&&mf.shift()}function ff(e){df(document.body,e),document.documentElement.dataset.readyPage=e,window.dispatchEvent(new CustomEvent(`finance-page-ready`,{detail:e}))}var pf,mf,hf,gf,_f=t((()=>{pf=[`utm_`,`affiliate`,`/sponsored/`,`doubleclick`,`partner=`,`/promo/`,`tracking`,`redirect?`,`ref=`,`campaign`],mf=[],hf=0,gf=null})),vf=t((()=>{}));function yf(e,t){k(t,!0);let n=[{title:`Markets`,links:[`Stocks: Most Actives`,`Stocks: Gainers`,`Stocks: Losers`,`Trending Tickers`,`Futures`,`World Indices`,`US Treasury Bonds`,`Currencies`,`Crypto`,`Top ETFs`,`Top Mutual Funds`]},{title:`News`,links:[`Latest`,`Stock Market`,`Originals`,`Economies`,`Earnings`,`Tech`,`Housing`,`Crypto`,`Politics`]},{title:`Research`,links:[`Screeners`,`Calendar`,`Stock Comparison`,`Advanced Chart`,`Currency Converter`,`Investment Ideas`,`Research Reports`]},{title:`Personal Finance`,links:[`Credit Cards`,`Banking`,`Best HYSA`,`Student Loans`,`Insurance`,`Mortgages`,`Taxes`]}],r=[`?utm_source=footer`,`?partner=quoteboard`,`/promo/offer`,`?ref=nav`,``],i=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`);var a=Sf();ra(I(a),19,()=>n,e=>e.title,(e,t,n)=>{var a=xf(),o=I(a),s=L(o,!0),c=R(o,2);ra(c,22,()=>V(t).links,e=>e,(e,a,o)=>{var s=bf(),c=I(s),l=L(c,!0);T(s),z((e,t)=>{Y(c,`href`,`https://example.com/${e??``}/${t??``}${r[(V(n)+V(o))%r.length]??``}`),q(l,a)},[()=>i(V(t).title),()=>i(a)]),K(e,s)}),T(c),T(a),z(()=>q(s,V(t).title)),K(e,a)}),Pe(2),T(a),K(e,a),A()}var bf,xf,Sf,Cf=t((()=>{Z(),X(),vf(),bf=G(`
  • `),xf=G(`

      `),Sf=G(`

      Quoteboard is a synthetic benchmark workload. All companies, prices and stories are generated and fictional.

      `)})),wf=t((()=>{fl()})),Tf=t((()=>{}));function Ef(e,t){let n=So(t,`size`,3,16),r={star:`M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.7-5.2 2.7 1-5.8-4.3-4.1 5.9-.9z`,plus:`M12 5v14M5 12h14`,more:`M6 12h.01M12 12h.01M18 12h.01`,share:`M4 12v7h16v-7M12 3v12M7 8l5-5 5 5`,bookmark:`M6 3h12v18l-6-4-6 4z`,up:`M12 19V5M6 11l6-6 6 6`,down:`M12 5v14M6 13l6 6 6-6`,chevronLeft:`M15 5l-7 7 7 7`,chevronRight:`M9 5l7 7-7 7`,search:`M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14zM20 20l-4-4`,bell:`M6 16V11a6 6 0 0 1 12 0v5l2 2H4zM10 21h4`,user:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM4 21a8 8 0 0 1 16 0`,play:`M8 5v14l11-7z`,sort:`M8 9l4-4 4 4M8 15l4 4 4-4`};var i=Df(),a=L(i);z(()=>{Y(i,`width`,n()),Y(i,`height`,n()),Y(a,`d`,r[t.name])}),K(e,i)}var Df,Of=t((()=>{Z(),X(),Tf(),Df=vi(``)})),kf=t((()=>{}));function Af(e,t){k(t,!0);let n=[{label:`News`,href:`#/`,menu:[`Today's news`,`US`,`Politics`,`World`,`Tech`,`Earnings`,`Economy`,`Housing`]},{label:`Markets`,href:`#/markets/stocks/trending`,markets:!0,menu:[`Stocks: Most Actives`,`Stocks: Gainers`,`Stocks: Losers`,`Trending Tickers`,`Futures`,`World Indices`,`Bonds`,`Currencies`,`Crypto`,`Sectors`]},{label:`Research`,href:`#/`,menu:[`Screeners`,`Calendar`,`Stock Comparison`,`Advanced Chart`,`Currency Converter`]},{label:`Personal Finance`,href:`#/`,menu:[`Credit Cards`,`Banking`,`Best HYSA`,`Student Loans`,`Insurance`,`Mortgages`,`Taxes`]},{label:`Videos`,href:`#/`,menu:[`Latest`,`Editor's Picks`,`Investing Insights`,`Trending Stocks`,`All Shows`]},{label:`Watch Now`,href:`#/`,menu:[]}],r=[{id:`trending`,label:`Trending Tickers`},{id:`most-active`,label:`Most Active`},{id:`gainers`,label:`Top Gainers`},{id:`losers`,label:`Top Losers`},{id:`52-week-gainers`,label:`52 Week Gainers`},{id:`large-cap`,label:`Large Cap`}],i=M(()=>ol.route.id?.startsWith(`/markets`)??!1);var a=Lf(),o=I(a),s=R(I(o),2),c=I(s);Ef(I(c),{name:`search`}),T(c),Pe(2),T(s);var l=R(s,2),u=R(I(l),2);Ef(I(u),{name:`bell`,size:20}),T(u);var d=R(u,2);Ef(I(d),{name:`user`,size:20}),Pe(),T(d),T(l),T(o);var f=R(o,2);ra(f,21,()=>n,e=>e.label,(e,t)=>{var n=Nf(),r=I(n),a=L(r,!0),o=R(r,2),s=e=>{var n=Mf();ra(n,20,()=>V(t).menu,e=>e,(e,t)=>{var n=jf(),r=L(n,!0);z(()=>q(r,t)),K(e,n)}),T(n),K(e,n)};Ji(o,e=>{V(t).menu.length&&e(s)}),T(n),z(()=>{Fa(r,1,J([`section-link`,(V(t).markets?V(i):!V(i)&&V(t).label===`News`)&&`active`]),`qb-1skguwa`),Y(r,`href`,V(t).href),q(a,V(t).label)}),K(e,n)}),T(f);var p=R(f,2),m=e=>{var t=Ff();ra(t,21,()=>r,e=>e.id,(e,t)=>{var n=Pf(),r=L(n,!0);z(()=>{Fa(n,1,J([`sub-nav-link`,ol.params.screener===V(t).id&&`active`]),`qb-1skguwa`),Y(n,`href`,`#/markets/stocks/${V(t).id??``}`),q(r,V(t).label)}),K(e,n)}),T(t),K(e,t)},h=e=>{K(e,If())};Ji(p,e=>{V(i)?e(m):e(h,-1)}),T(a),ni(`submit`,s,e=>e.preventDefault()),K(e,a),A()}var jf,Mf,Nf,Pf,Ff,If,Lf,Rf=t((()=>{Z(),X(),wf(),Of(),kf(),jf=G(` `),Mf=G(``),Nf=G(``),Pf=G(` `),Ff=G(``),If=G(``),Lf=G(``)}));function zf(e){return Jf.format(e)}function Bf(e){return Yf.format(e)}function Vf(e){return Xf.format(e/100)}function Hf(e){return e===null?`--`:Zf.format(e)}function Uf(e){return e===null?`--`:Jf.format(e)}function Wf(e){return Qf.format(e)}function Gf(e){return $f.format(e)}function Kf(e,t){let n=Math.round((e-t)/6e4);if(n>-60)return ep.format(n,`minute`);let r=Math.round(n/60);return r>-24?ep.format(r,`hour`):ep.format(Math.round(r/24),`day`)}function qf(e){return e>0?`up`:e<0?`down`:`flat`}var Jf,Yf,Xf,Zf,Qf,$f,ep,tp=t((()=>{Jf=new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}),Yf=new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2,signDisplay:`exceptZero`}),Xf=new Intl.NumberFormat(`en-US`,{style:`percent`,minimumFractionDigits:2,maximumFractionDigits:2,signDisplay:`exceptZero`}),Zf=new Intl.NumberFormat(`en-US`,{notation:`compact`,minimumFractionDigits:2,maximumFractionDigits:2}),Qf=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,year:`numeric`,timeZone:`UTC`}),$f=new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,minute:`2-digit`,timeZone:`America/New_York`}),ep=new Intl.RelativeTimeFormat(`en-US`,{numeric:`auto`,style:`narrow`})}));function np([e,t,n],r){return`rgba(${e}, ${t}, ${n}, ${r})`}function rp(e,t,n){let r=window.devicePixelRatio||1,i=Math.round(t*r),a=Math.round(n*r);(e.width!==i||e.height!==a)&&(e.width=i,e.height=a);let o=e.getContext(`2d`);return o.setTransform(r,0,0,r,0,0),o.clearRect(0,0,t,n),{context:o,width:t,height:n}}function ip(e,t){let n=t,r=t;for(let t of e)tr&&(r=t);return n===r?[n-1,r+1]:[n,r]}function ap(e,t,n,r){e.beginPath();for(let i=0;i=n?mp:hp,f=e=>o+e/(t.length-1)*(s-o),p=e=>i+(1-(e-l)/(u-l))*(a-i);ap(e,t,f,p),e.lineTo(f(t.length-1),a),e.lineTo(f(0),a),e.closePath();let m=e.createLinearGradient(0,i,0,a);return m.addColorStop(0,np(d,.28)),m.addColorStop(1,np(d,0)),e.fillStyle=m,e.fill(),ap(e,t,f,p),e.strokeStyle=np(d,1),e.lineWidth=c,e.lineJoin=`round`,e.stroke(),e.beginPath(),e.setLineDash([2,3]),e.moveTo(o,p(n)),e.lineTo(s,p(n)),e.strokeStyle=`rgba(90, 98, 112, 0.7)`,e.lineWidth=1,e.stroke(),e.setLineDash([]),{min:l,max:u,scaleY:p}}function sp(e,t,n,r){let{context:i,width:a,height:o}=rp(e,t.width,t.height);op(i,n,r,a,2,o-2,0,a,1.5)}function cp(e,t,n,r,i,a){let{context:o,width:s,height:c}=rp(e,t.width,t.height),l=s-64,{min:u,max:d,scaleY:f}=op(o,n,r,s,8,c-22,0,l,2);o.font=`11px system-ui, sans-serif`,o.fillStyle=`#5a6270`,o.strokeStyle=`rgba(90, 98, 112, 0.15)`,o.lineWidth=1,o.textBaseline=`middle`;for(let e=0;e<=5;e++){let t=u+(d-u)*e/5,n=Math.round(f(t))+.5;o.beginPath(),o.moveTo(0,n),o.lineTo(l,n),o.stroke(),o.fillText(a(t),l+8,n)}o.textBaseline=`alphabetic`,o.textAlign=`center`;for(let e=0;e1+(1-(e-i)/(a-i))*(r-2),s=``;for(let t=0;tMath.round(a[e]+(r[e]-a[e])*o);return`rgb(${s(0)}, ${s(1)}, ${s(2)})`}}return`rgb(${gp[2][1].join(`, `)})`}function dp(e,t,n){let r=1/0,i=0;for(let t of e)r=Math.min(r,t.area),i=Math.max(i,t.area);let a=n*n,o=t*t;return Math.max(a*i/o,o/(a*r))}function fp(e,t,n,r,i){let a=e.reduce((e,t)=>e+t.value,0),o=r*i/a,s=e.map(e=>({item:e,area:e.value*o})).sort((e,t)=>t.area-e.area),c=[],l=[],u=0,d=()=>{let e=r>=i,a=u/(e?i:r),o=0;for(let r of l){let i=r.area/a;e?c.push({item:r.item,x:t,y:n+o,width:a,height:i}):c.push({item:r.item,x:t+o,y:n,width:i,height:a}),o+=i}e?(t+=a,r-=a):(n+=a,i-=a),l=[],u=0};for(let e of s){let t=Math.min(r,i);l.length&&dp([...l,e],u+e.area,t)>dp(l,u,t)&&d(),l.push(e),u+=e.area}return l.length&&d(),c}function pp(e,t){t({width:e.clientWidth,height:e.clientHeight});let n=new ResizeObserver(([e])=>{let{inlineSize:n,blockSize:r}=e.contentBoxSize[0];t({width:n,height:r})});return n.observe(e),()=>n.disconnect()}var mp,hp,gp,_p=t((()=>{mp=[10,138,95],hp=[209,52,75],gp=[[-3,[198,47,69]],[0,[93,100,112]],[3,[19,145,95]]]})),vp=t((()=>{}));function yp(e,t){k(t,!0);let n,r=P(null);Qn(()=>pp(n,e=>F(r,e))),Qn(()=>{V(r)&&sp(n,V(r),t.quote.series,t.quote.previousClose)});var i=bp();co(i,e=>n=e,()=>n),K(e,i),A()}var bp,xp=t((()=>{Z(),X(),_p(),vp(),bp=G(``)})),Sp=t((()=>{}));function Cp(e,t){let n=So(t,`toggles`,3,!1),r=P(!1);var i=wp();Ef(I(i),{get name(){return t.icon}}),T(i),z(()=>{Y(i,`aria-label`,t.label),Y(i,`title`,t.label),Y(i,`aria-pressed`,n()?V(r):void 0)}),ri(`click`,i,()=>n()&&F(r,!V(r))),K(e,i)}var wp,Tp=t((()=>{Z(),X(),Of(),Sp(),wp=G(``),ii([`click`])}));function Ep(e,t){k(t,!0);let n=So(t,`field`,3,`price`),r=So(t,`colored`,3,!1);var i=bi();Xi(Nn(i),()=>t.quote.revision,e=>{var i=Dp(),a=L(i,!0);z((e,t)=>{Fa(i,1,e),q(a,t)},[()=>J([`live-value`,r()&&qf(t.quote.change),t.quote.revision&&t.quote.direction>0&&`flash-up`,t.quote.revision&&t.quote.direction<0&&`flash-down`]),()=>t.format(t.quote[n()])]),K(e,i)}),K(e,i),A()}var Dp,Op=t((()=>{Z(),X(),tp(),Dp=G(` `)})),kp=t((()=>{}));function Ap(e,t){k(t,!0),Qn(()=>Kd(t.quote.symbol));var n=jp(),r=I(n),i=I(r),a=I(i),o=L(a,!0),s=L(R(a,2),!0);T(i),Cp(R(i,2),{icon:`plus`,get label(){return`Add ${t.quote.symbol??``} to watchlist`},toggles:!0}),T(r);var c=R(r,2),l=I(c);Ep(I(l),{get quote(){return t.quote},get format(){return zf}}),T(l);var u=R(l,2),d=I(u);Ep(d,{get quote(){return t.quote},field:`change`,get format(){return Bf},colored:!0}),Ep(R(d,2),{get quote(){return t.quote},field:`changePercent`,format:e=>`(${Vf(e)})`,colored:!0}),T(u),T(c),yp(R(c,2),{get quote(){return t.quote}}),T(n),z(()=>{Y(n,`data-symbol`,t.quote.symbol),q(o,t.quote.name),q(s,t.quote.symbol)}),K(e,n),A()}var jp,Mp=t((()=>{Z(),X(),tp(),nf(),xp(),Tp(),Op(),kp(),jp=G(``)})),Np=t((()=>{}));function Pp(e,t){k(t,!0);let n=So(t,`label`,3,`Markets`),r=So(t,`live`,3,!1),i,a=P(!1),o=P(!0);function s(){F(a,i.scrollLeft>0),F(o,i.scrollLeft+i.clientWidth{t.quotes.length,s()});var l=Ip(),u=I(l);Ef(I(u),{name:`chevronLeft`}),T(u);var d=R(u,2);ra(d,21,()=>t.quotes,e=>e.symbol,(e,t)=>{Ap(e,{get quote(){return V(t)}})}),T(d),co(d,e=>i=e,()=>i);var f=R(d,2);Ef(I(f),{name:`chevronRight`}),T(f);var p=R(f,2),m=e=>{var t=Fp(),n=R(I(t));T(t),z(()=>{Fa(t,1,J([`live-toggle`,Qd.live&&`on`]),`qb-wbsx23`),Y(t,`aria-pressed`,Qd.live),q(n,` ${Qd.live?`Live · ${Qd.messages}`:`Go live`}`)}),ri(`click`,t,function(...e){Jd?.apply(this,e)}),K(e,t)};Ji(p,e=>{r()&&e(m)}),T(l),z(()=>{Fa(l,1,J([`carousel tw-flex tw-items-center tw-gap-2`,r()&&`market-strip`]),`qb-wbsx23`),Y(l,`aria-label`,n()),u.disabled=!V(a),f.disabled=!V(o)}),ri(`click`,u,()=>c(-1)),ni(`scroll`,d,s),ri(`click`,f,()=>c(1)),K(e,l),A()}var Fp,Ip,Lp=t((()=>{Z(),X(),nf(),Of(),Mp(),Np(),Fp=G(``),Ip=G(`
      `),ii([`click`])})),Rp=t((()=>{}));function zp(e,t){k(t,!0);let n;ko(()=>cf(n));var r=Bp(),i=Nn(r);Af(i,{});var a=R(i,2);Pp(I(a),{get quotes(){return t.data.indices},live:!0}),T(a);var o=R(a,2);ma(I(o),()=>t.children),T(o),co(o,e=>n=e,()=>n),yf(R(o,2),{}),K(e,r),A()}var Bp,Vp=t((()=>{Z(),X(),sf(),jo(),_f(),Cf(),Rf(),Lp(),Rp(),Bp=G(`
      `,1)})),Hp=n({component:()=>zp,universal:()=>rf}),Up=t((()=>{of(),Vp()}));function Wp(e,t){k(t,!0);var n=Gp(),r=Nn(n),i=L(r,!0),a=L(R(r,2),!0);z(()=>{q(i,ol.status),q(a,ol.error?.message)}),K(e,n),A()}var Gp,Kp=t((()=>{Z(),X(),wf(),Gp=G(`

      `,1)})),qp=n({component:()=>Wp}),Jp=t((()=>{Kp()})),Yp=n({load:()=>Xp});async function Xp(){let e=zd(`/v1/news`,Zp).then(({stories:e})=>e.map(e=>({...e,tickers:e.tickers.map(Gd)}))),t=await zd(`/v1/movers`);return{news:e,trending:t.trending.map(Gd),movers:{gainers:t.gainers.map(Gd),losers:t.losers.map(Gd),active:t.active.map(Gd)}}}var Zp,Qp=t((()=>{Wd(),nf(),Zp=3})),$p=t((()=>{}));function em(e,t){k(t,!0);let n=P(0),r,i=M(()=>t.quotes[V(n)]),a=M(()=>Array.from({length:7},(e,t)=>Gf(hd+t*(V(i).series.length-1)/6*gd))),o=P(null);Qn(()=>pp(r,e=>F(o,e))),Qn(()=>{V(o)&&cp(r,V(o),V(i).series,V(i).previousClose,V(a),zf)});var s=nm(),c=I(s);ra(c,23,()=>t.quotes,e=>e.symbol,(e,t,r)=>{var i=tm(),a=I(i),o=L(a,!0);Ep(R(a,2),{get quote(){return V(t)},field:`changePercent`,get format(){return Vf},colored:!0}),T(i),z(()=>{Fa(i,1,J([`summary-tab`,V(r)===V(n)&&`active`]),`qb-g2wt4a`),Y(i,`aria-selected`,V(r)===V(n)),q(o,V(t).name)}),ri(`click`,i,()=>F(n,V(r),!0)),K(e,i)}),T(c);var l=R(c,2),u=I(l),d=I(u),f=L(d,!0),p=L(R(d,2));T(u);var m=R(u,2),h=I(m);Ep(h,{get quote(){return V(i)},get format(){return zf}});var g=R(h,2);Ep(g,{get quote(){return V(i)},field:`change`,get format(){return Bf},colored:!0}),Ep(R(g,2),{get quote(){return V(i)},field:`changePercent`,format:e=>`(${Vf(e)})`,colored:!0}),T(m),T(l);var _=R(l,2);co(_,e=>r=e,()=>r),T(s),z((e,t)=>{q(f,V(i).name),q(p,`${V(i).symbol??``} · At close: ${e??``} EST`),Fa(m,1,t,`qb-g2wt4a`),Y(_,`aria-label`,`${V(i).name??``} intraday chart`)},[()=>Gf(md),()=>J([`price tw-flex tw-items-baseline tw-gap-1.5 tw-text-base tw-font-semibold`,qf(V(i).change)])]),K(e,s),A()}var tm,nm,rm=t((()=>{Z(),X(),_p(),tp(),Pd(),Op(),$p(),tm=G(``),nm=G(`

      `),ii([`click`])})),im=t((()=>{}));function am(e,t){k(t,!0);let n=So(t,`width`,3,96),r=So(t,`height`,3,32),i=M(()=>lp(t.quote.series,t.quote.previousClose,n(),r()));var a=om();let o;var s=I(a),c=I(s),l=R(c);T(s),T(a),z(e=>{o=Ra(a,``,o,{width:`${n()??``}px`,height:`${r()??``}px`}),Fa(s,0,e,`qb-rimgcf`),Y(s,`viewBox`,`0 0 ${n()??``} ${r()??``}`),Y(s,`width`,n()),Y(s,`height`,r()),Y(c,`x2`,n()),Y(c,`y1`,V(i).baselineY),Y(c,`y2`,V(i).baselineY),Y(l,`d`,V(i).path)},[()=>J(qf(t.quote.change))]),K(e,a),A()}var om,sm=t((()=>{Z(),X(),_p(),tp(),im(),om=G(`
      `)})),cm=t((()=>{}));function lm(e,t){k(t,!0);let n=So(t,`sparklines`,3,!1);Qn(()=>{let e=t.quotes.map(e=>Kd(e.symbol));return()=>e.forEach(e=>e())});var r=dm();ra(r,21,()=>t.quotes,e=>e.symbol,(e,t)=>{var r=um(),i=I(r),a=I(i),o=L(a,!0),s=L(R(a,2),!0);T(i);var c=R(i,2),l=e=>{am(e,{get quote(){return V(t)},width:72,height:28})};Ji(c,e=>{n()&&e(l)});var u=R(c,2),d=I(u);Ep(d,{get quote(){return V(t)},get format(){return zf}});var f=R(d,2),p=I(f);{let e=M(()=>V(t).change<0?`down`:`up`);Ef(p,{get name(){return V(e)},size:12})}var m=R(p,2);Ep(m,{get quote(){return V(t)},field:`change`,get format(){return Bf}}),Ep(R(m,2),{get quote(){return V(t)},field:`changePercent`,format:e=>`(${Vf(e)})`}),T(f),T(u),Cp(R(u,2),{icon:`star`,get label(){return`Add ${V(t).symbol??``} to watchlist`},toggles:!0}),T(r),z(e=>{q(o,V(t).symbol),q(s,V(t).name),Fa(f,1,e,`qb-1sxr454`)},[()=>J([`tw-inline-flex tw-items-center tw-gap-0.5 tw-text-xs`,qf(V(t).change)])]),K(e,r)}),T(r),K(e,r),A()}var um,dm,fm=t((()=>{Z(),X(),tp(),nf(),Of(),Tp(),Op(),sm(),cm(),um=G(`
    • `),dm=G(`
        `)}));function pm(e,t){k(t,!0);let n=[{id:`gainers`,label:`Gainers`},{id:`losers`,label:`Losers`},{id:`active`,label:`Most Active`}],r=P(`gainers`);var i=hm(),a=R(I(i),2);ra(a,21,()=>n,e=>e.id,(e,t)=>{var n=mm(),i=L(n,!0);z(()=>{Fa(n,1,J([`switch`,V(r)===V(t).id&&`active`])),Y(n,`aria-selected`,V(r)===V(t).id),Y(n,`data-tab`,V(t).id),q(i,V(t).label)}),ri(`click`,n,()=>F(r,V(t).id,!0)),K(e,n)}),T(a);var o=R(a,2);lm(o,{get quotes(){return t.movers[V(r)]}});var s=R(o,2);T(i),z(()=>Y(s,`href`,`#/markets/stocks/${(V(r)===`active`?`most-active`:V(r))??``}`)),K(e,i),A()}var mm,hm,gm=t((()=>{Z(),X(),fm(),mm=G(``),hm=G(`

        Top movers

        See more
        `),ii([`click`])})),_m=t((()=>{}));function vm(e,t){k(t,!0),Qn(()=>Kd(t.quote.symbol));var n=ym(),r=I(n),i=L(r,!0),a=R(r,2),o=I(a);{let e=M(()=>t.quote.change<0?`down`:`up`);Ef(o,{get name(){return V(e)},size:12})}Ep(R(o,2),{get quote(){return t.quote},field:`changePercent`,get format(){return Vf}}),T(a),T(n),z(e=>{Y(n,`title`,t.quote.name),q(i,t.quote.symbol),Fa(a,1,e,`qb-1vfn0l`)},[()=>J([`tw-inline-flex tw-items-center`,qf(t.quote.change)])]),K(e,n),A()}var ym,bm=t((()=>{Z(),X(),tp(),nf(),Of(),Op(),_m(),ym=G(` `)})),xm=t((()=>{}));function Sm(e,t){k(t,!0);let n=So(t,`lead`,3,!1),r=M(()=>t.story.source.split(` `).map(e=>e[0]).join(``).slice(0,2));var i=Tm(),a=I(i),o=I(a);let s;var c=R(I(o),2),l=e=>{var t=Cm();Ef(I(t),{name:`play`,size:12}),Pe(),T(t),K(e,t)};Ji(c,e=>{t.story.video&&e(l)}),T(o),T(a);var u=R(a,2),d=I(u);ra(d,21,()=>t.story.tickers,e=>e.symbol,(e,t)=>{vm(e,{get quote(){return V(t)}})}),T(d);var f=R(d,2),p=L(I(f),!0);T(f);var m=R(f,2),h=L(m,!0),g=R(m,2),_=I(g),v=I(_);let y;var b=L(v,!0),x=R(v,2),S=L(x,!0),C=R(x,4),ee=L(C,!0),te=R(C,2),ne=e=>{K(e,wm())};Ji(te,e=>{t.story.premium&&e(ne)}),T(_);var re=R(_,2),ie=I(re);Cp(ie,{icon:`share`,label:`Share`});var ae=R(ie,2);Cp(ae,{icon:`bookmark`,label:`Save for later`,toggles:!0}),Cp(R(ae,2),{icon:`more`,label:`More options`}),T(re),T(g),T(u),T(i),z((e,a)=>{Fa(i,1,J([`story`,n()&&`lead`]),`qb-4e2sq6`),Y(i,`data-module`,n()?`lead-story`:`stream-item`),s=Ra(o,``,s,{"--hue":t.story.hue}),q(p,t.story.title),q(h,t.story.summary),y=Ra(v,``,y,{"--hue":t.story.hue}),q(b,V(r)),q(S,t.story.source),Y(C,`datetime`,e),q(ee,a)},[()=>new Date(t.story.publishedAt).toISOString(),()=>Kf(t.story.publishedAt,md)]),K(e,i),A()}var Cm,wm,Tm,Em=t((()=>{Z(),X(),Pd(),tp(),Of(),Tp(),bm(),xm(),Cm=G(`Video`),wm=G(`Plus`),Tm=G(``)})),Dm=t((()=>{}));function Om(e,t){let n=So(t,`title`,3,`Latest news`),r=So(t,`module`,3,`news-stream`);var i=km(),a=I(i),o=L(a,!0);ra(R(a,2),17,()=>t.stories,e=>e.id,(e,t)=>{Sm(e,{get story(){return V(t)}})}),T(i),z(()=>{Y(i,`data-module`,r()),q(o,n())}),K(e,i)}var km,Am=t((()=>{Z(),X(),Em(),Dm(),km=G(`

        `)})),jm=t((()=>{}));function Mm(e,t){var n=Pm();ra(n,21,()=>({length:t.count}),ea,(e,t)=>{K(e,Nm())}),T(n),K(e,n)}var Nm,Pm,Fm=t((()=>{Z(),X(),jm(),Nm=G(`
        `),Pm=G(`
        `)}));function Im(e,t){var n=Lm();lm(R(I(n),2),{get quotes(){return t.quotes},sparklines:!0}),T(n),K(e,n)}var Lm,Rm=t((()=>{Z(),X(),fm(),Lm=G(`

        Trending tickers

        `)})),zm=t((()=>{}));function Bm(e,t){k(t,!0),Qn(()=>{let e=!1;return t.data.news.then(async()=>{await Nr(),e||ff(`home`)}),()=>e=!0});var n=Hm(),r=I(n),i=I(r);{let e=M(()=>t.data.indices.slice(0,6));em(i,{get quotes(){return V(e)}})}Ui(R(i,2),()=>t.data.news,e=>{Mm(e,{count:6})},(e,t)=>{var n=Vm(),r=Nn(n);Sm(r,{get story(){return V(t)[0]},lead:!0});var i=R(r,2);{let e=M(()=>V(t).slice(1));Om(i,{get stories(){return V(e)}})}K(e,n)}),T(r);var a=R(r,2),o=I(a);Im(o,{get quotes(){return t.data.trending}}),pm(R(o,2),{get movers(){return t.data.movers}}),T(a),T(n),K(e,n),A()}var Vm,Hm,Um=t((()=>{Z(),X(),jo(),_f(),rm(),gm(),Em(),Am(),Fm(),Rm(),zm(),Vm=G(` `,1),Hm=G(`
        `)})),Wm=n({component:()=>Bm,universal:()=>Yp}),Gm=t((()=>{Qp(),Um()})),Km=t((()=>{Lo(),qo()}));function qm(e,t,n){throw t!==void 0&&typeof t!=`string`&&({message:t,...n}=t),new Mo({...n,status:e,message:t??`Error: ${e}`})}var Jm=t((()=>{Io(),a(),Km(),Ho(),Vs(),new TextEncoder})),Ym=n({load:()=>Zm});function Xm(e){let t=0;for(let n=0;nt.id===e.screener)||qm(404,`Unknown screener`);let[t,n]=await Promise.all([zd(`/v1/screener/${e.screener}`),zd(`/v1/news`)]),r=new Set(t.quotes.map(e=>e.symbol)),i=n.stories.filter(e=>e.tickers.some(e=>r.has(e.symbol))).slice(0,Qm);return{screener:{id:t.id,title:t.title},stories:i.map(e=>({...e,tickers:e.tickers.map(Gd)})),rows:t.quotes.map(e=>({quote:Gd(e),hue:Xm(e.symbol),rating:1+Xm(e.symbol)%41/10,sector:e.sector,exchange:e.exchange,avgVolume:e.avgVolume,marketCap:e.marketCap,peRatio:e.peRatio,fiftyTwoWeekLow:e.fiftyTwoWeekLow,fiftyTwoWeekHigh:e.fiftyTwoWeekHigh,fiftyTwoWeekChangePercent:e.fiftyTwoWeekChangePercent,earningsDate:e.earningsDate}))}}var Qm,$m=t((()=>{Jm(),Wd(),Pd(),nf(),Qm=25})),eh=t((()=>{}));function th(e,t){k(t,!0);let n,r=P(null);Qn(()=>{F(r,{width:n.clientWidth,height:n.clientHeight},!0)});let i=M(()=>{let e=new Map;for(let n of t.rows){let t=e.get(n.sector);t||(t={name:n.sector,rows:[],value:0},e.set(n.sector,t)),t.rows.push(n),t.value+=n.marketCap}return[...e.values()]}),a=M(()=>V(r)?fp(V(i),0,0,V(r).width,V(r).height).map(e=>{let t=fp(e.item.rows.map(e=>({row:e,value:e.marketCap})),e.x+2,e.y+18,Math.max(1,e.width-4),Math.max(1,e.height-18-2));return{...e,tiles:t}}):[]);var o=ih();ra(o,21,()=>V(a),e=>e.item.name,(e,t)=>{var n=rh(),r=Nn(n);let i;var a=L(I(r),!0);T(r),ra(R(r,2),17,()=>V(t).tiles,e=>e.item.row.quote.symbol,(e,t)=>{let n=M(()=>V(t).item.row.quote);var r=nh();let i;var a=I(r),o=L(a,!0),s=L(R(a,2),!0);T(r),z((e,a,c,l,u)=>{Fa(r,1,J([`heatmap-tile`,V(t).width*V(t).height<1800&&`compact`,V(t).width<28&&`tiny`]),`qb-x507q8`),Y(r,`title`,`${V(n).name??``} ${e??``}`),i=Ra(r,``,i,{left:`${V(t).x??``}px`,top:`${V(t).y??``}px`,width:a,height:c,"background-color":l}),q(o,V(n).symbol),q(s,u)},[()=>Vf(V(n).changePercent),()=>`${Math.max(0,V(t).width-1)}px`,()=>`${Math.max(0,V(t).height-1)}px`,()=>up(V(n).changePercent),()=>Vf(V(n).changePercent)]),K(e,r)}),z(()=>{i=Ra(r,``,i,{left:`${V(t).x??``}px`,top:`${V(t).y??``}px`,width:`${V(t).width??``}px`,height:`${V(t).height??``}px`}),q(a,V(t).item.name)}),K(e,n)}),T(o),co(o,e=>n=e,()=>n),K(e,o),A()}var nh,rh,ih,ah=t((()=>{Z(),X(),_p(),tp(),eh(),nh=G(` `),rh=G(`
        `,1),ih=G(``)})),oh=t((()=>{}));function sh(e,t){k(t,!0);let n=M(()=>Math.max(0,Math.min(100,(t.quote.price-t.low)/(t.high-t.low||1)*100)));var r=ch(),i=I(r),a=I(i),o=L(a,!0),s=L(R(a,2),!0);T(i);var c=R(i,2),l=I(c);let u;var d=R(l,2);let f;T(c),T(r),z((e,i)=>{Y(r,`aria-valuemin`,t.low),Y(r,`aria-valuemax`,t.high),Y(r,`aria-valuenow`,t.quote.price),q(o,e),q(s,i),u=Ra(l,``,u,{width:`${V(n)??``}%`}),f=Ra(d,``,f,{left:`${V(n)??``}%`})},[()=>zf(t.low),()=>zf(t.high)]),K(e,r),A()}var ch,lh=t((()=>{Z(),X(),tp(),oh(),ch=G(`
        `)})),uh=t((()=>{}));function dh(e,t){k(t,!0);let n=[`Strong Buy`,`Buy`,`Hold`,`Underperform`,`Sell`],r=M(()=>n[Math.min(4,Math.floor(t.rating-1))]),i=M(()=>t.rating<2.5?`buy`:t.rating<3.5?`hold`:`sell`);var a=fh(),o=I(a),s=L(o,!0),c=L(R(o,2),!0);T(a),z((e,t)=>{Y(a,`title`,`Analyst rating ${e??``}`),Fa(o,1,J([`badge`,V(i)]),`qb-la7qgc`),q(s,t),q(c,V(r))},[()=>t.rating.toFixed(1),()=>t.rating.toFixed(1)]),K(e,a),A()}var fh,ph=t((()=>{Z(),X(),uh(),fh=G(`
        `)})),mh=t((()=>{}));function hh(e,t){k(t,!0);let n=M(()=>t.row.quote);Qn(()=>Kd(V(n).symbol));var r=gh(),i=I(r),a=I(i),o=I(a);Cp(o,{icon:`star`,get label(){return`Add ${V(n).symbol??``} to watchlist`},toggles:!0});var s=R(o,2),c=I(s);let l;var u=L(c,!0),d=R(c,2),f=I(d),p=L(f,!0),m=L(R(f,2),!0);T(d),T(s),T(a),T(i);var h=R(i),g=I(h),_=I(g),v=L(_,!0),y=L(R(_,2),!0);T(g),T(h);var b=R(h);am(I(b),{get quote(){return V(n)}}),T(b);var x=R(b),S=I(x);Ep(I(S),{get quote(){return V(n)},get format(){return zf}}),T(S),T(x);var C=R(x);Ep(I(C),{get quote(){return V(n)},field:`change`,get format(){return Bf},colored:!0}),T(C);var ee=R(C),te=I(ee),ne=I(te);{let e=M(()=>V(n).change<0?`down`:`up`);Ef(ne,{get name(){return V(e)},size:12})}Ep(R(ne,2),{get quote(){return V(n)},field:`changePercent`,get format(){return Vf}}),T(te),T(ee);var re=R(ee),ie=L(I(re),!0);T(re);var ae=R(re),oe=L(I(ae),!0);T(ae);var se=R(ae),ce=L(I(se),!0);T(se);var le=R(se),ue=L(I(le),!0);T(le);var de=R(le),fe=I(de),pe=L(fe,!0);T(de);var me=R(de);dh(I(me),{get rating(){return t.row.rating}}),T(me);var he=R(me);sh(I(he),{get low(){return t.row.fiftyTwoWeekLow},get high(){return t.row.fiftyTwoWeekHigh},get quote(){return V(n)}}),T(he);var ge=R(he),_e=I(ge),ve=L(_e,!0);T(ge);var ye=R(ge);Cp(I(ye),{icon:`more`,get label(){return`More actions for ${V(n).symbol??``}`}}),T(ye),T(r),z((e,r,i,a,o,s,d,f,h)=>{l=Ra(c,``,l,{"--hue":t.row.hue}),q(u,V(n).symbol[0]),q(p,V(n).symbol),q(m,t.row.exchange),Y(_,`title`,V(n).name),q(v,V(n).name),q(y,t.row.sector),Fa(te,1,e,`qb-1sdk356`),q(ie,r),q(oe,i),q(ce,a),q(ue,o),Fa(fe,1,s,`qb-1sdk356`),q(pe,d),Y(_e,`datetime`,f),q(ve,h)},[()=>J([`tw-inline-flex tw-items-center tw-gap-0.5`,qf(V(n).change)]),()=>Hf(V(n).volume),()=>Hf(t.row.avgVolume),()=>Hf(t.row.marketCap),()=>Uf(t.row.peRatio),()=>J(qf(t.row.fiftyTwoWeekChangePercent)),()=>Vf(t.row.fiftyTwoWeekChangePercent),()=>new Date(t.row.earningsDate).toISOString(),()=>Wf(t.row.earningsDate)]),K(e,r),A()}var gh,_h=t((()=>{Z(),X(),tp(),nf(),Of(),Tp(),Op(),lh(),ph(),sm(),mh(),gh=G(`
        `)})),vh=t((()=>{}));function yh(e,t){k(t,!0);let n=[{id:`symbol`,label:`Symbol`,text:e=>e.quote.symbol},{id:`name`,label:`Name`,text:e=>e.quote.name},{id:`chart`,label:`1D Chart`},{id:`price`,label:`Price`,value:e=>e.quote.price},{id:`change`,label:`Change`,value:e=>e.quote.change},{id:`change-percent`,label:`Change %`,value:e=>e.quote.changePercent},{id:`volume`,label:`Volume`,value:e=>e.quote.volume},{id:`avg-volume`,label:`Avg Vol (3M)`,value:e=>e.avgVolume},{id:`market-cap`,label:`Market Cap`,value:e=>e.marketCap},{id:`pe-ratio`,label:`P/E Ratio (TTM)`,value:e=>e.peRatio??-1/0},{id:`52-week-change`,label:`52 Wk Change %`,value:e=>e.fiftyTwoWeekChangePercent},{id:`rating`,label:`Analyst Rating`,value:e=>-e.rating},{id:`52-week-range`,label:`52 Wk Range`},{id:`earnings-date`,label:`Earnings Date`,value:e=>e.earningsDate}],r=P(null),i=P(-1),a=M(()=>{let e=V(r),n=V(i);return e?Lr(()=>{if(e.text){let r=new Intl.Collator(`en-US`);return[...t.rows].sort((t,i)=>n*r.compare(e.text(t),e.text(i)))}let r=t.rows.map(t=>({row:t,key:e.value(t)}));return r.sort((e,t)=>n*(e.key-t.key)),r.map(({row:e})=>e)}):t.rows}),o=M(()=>V(a).slice(t.pageIndex*t.pageSize,(t.pageIndex+1)*t.pageSize));function s(e){V(r)===e?F(i,-V(i)):(F(r,e,!0),F(i,e.text?1:-1,!0))}var c=Sh(),l=I(c),u=I(l),d=I(u);ra(I(d),17,()=>n,e=>e.id,(e,t)=>{var n=xh(),a=I(n),o=e=>{var n=bh(),a=I(n),o=R(a),c=I(o),l=e=>{{let t=M(()=>V(i)>0?`up`:`down`);Ef(e,{get name(){return V(t)},size:12})}},u=e=>{Ef(e,{name:`sort`,size:12})};Ji(c,e=>{V(r)===V(t)?e(l):e(u,-1)}),T(o),T(n),z(()=>{Y(n,`data-column`,V(t).id),q(a,`${V(t).label??``} `)}),ri(`click`,n,()=>s(V(t))),K(e,n)},c=e=>{var n=yi();z(()=>q(n,V(t).label)),K(e,n)};Ji(a,e=>{V(t).value||V(t).text?e(o):e(c,-1)}),T(n),z(()=>{Fa(n,1,J([V(t).value&&`num`,V(t).id===`symbol`&&`sticky-cell`]),`qb-u09x6a`),Y(n,`aria-sort`,V(r)===V(t)?V(i)>0?`ascending`:`descending`:void 0)}),K(e,n)}),Pe(),T(d),T(u);var f=R(u);ra(f,21,()=>V(o),e=>e.quote.symbol,(e,t)=>{hh(e,{get row(){return V(t)}})}),T(f),T(l),T(c),K(e,c),A()}var bh,xh,Sh,Ch=t((()=>{Z(),X(),jo(),Of(),_h(),vh(),bh=G(``),xh=G(``),Sh=G(`
        Actions
        `),ii([`click`])})),wh=t((()=>{}));function Th(e,t){k(t,!0);let n=So(t,`pageIndex`,15),r=So(t,`pageSize`,15),i=M(()=>Math.ceil(t.total/r())),a=M(()=>n()*r()+1),o=M(()=>Math.min(t.total,(n()+1)*r()));function s(e){r(Number(e.currentTarget.value)),n(0)}var c=Oh(),l=I(c),u=R(I(l));ra(u,20,()=>[25,50,100],e=>e,(e,t)=>{var n=Eh(),r=L(n,!0),i={};z(()=>{q(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),K(e,n)}),T(u);var d;Ua(u),T(l);var f=R(l,2),p=L(f),m=R(f,2),h=I(m);Ef(I(h),{name:`chevronLeft`}),T(h);var g=R(h,2);ra(g,17,()=>({length:V(i)}),ea,(e,t,r)=>{var i=Dh();i.textContent=r+1,z(()=>Fa(i,1,J([r===n()&&`active`]),`qb-o228hh`)),ri(`click`,i,()=>n(r)),K(e,i)});var _=R(g,2);Ef(I(_),{name:`chevronRight`}),T(_),T(m),T(c),z(()=>{d!==(d=r())&&(u.value=(u.__value=d)??``,Ha(u,d)),q(p,`${V(a)??``}-${V(o)??``} of ${t.total??``} results`),h.disabled=n()===0,_.disabled=n()>=V(i)-1}),ri(`change`,u,s),ri(`click`,h,()=>xo(n,-1)),ri(`click`,_,()=>xo(n)),K(e,c),A()}var Eh,Dh,Oh,kh=t((()=>{Z(),X(),Of(),wh(),Eh=G(``),Dh=G(``),Oh=G(`
        `),ii([`change`,`click`])})),Ah=t((()=>{}));function jh(e,t){k(t,!0);let n;Qn(()=>{t.active;let e=n.querySelector(`.tab.active`);n.scrollLeft=e.offsetLeft-(n.clientWidth-e.offsetWidth)/2});var r=Nh();ra(r,21,()=>Nd,e=>e.id,(e,n)=>{var r=Mh(),i=L(r,!0);z(()=>{Fa(r,1,J([`tab`,V(n).id===t.active&&`active`]),`qb-ke0x0p`),Y(r,`href`,`#/markets/stocks/${V(n).id??``}`),q(i,V(n).label)}),K(e,r)}),T(r),co(r,e=>n=e,()=>n),K(e,r),A()}var Mh,Nh,Ph=t((()=>{Z(),X(),Pd(),Ah(),Mh=G(` `),Nh=G(``)})),Fh=t((()=>{}));function Ih(e,t){k(t,!0);let n=M(()=>{let e=new Map;for(let n of t.rows){let t=e.get(n.sector)??{name:n.sector,count:0,change:0};t.count++,t.change+=n.quote.changePercent,e.set(n.sector,t)}return[...e.values()].sort((e,t)=>t.count-e.count)});var r=Rh(),i=I(r),a=L(R(I(i)),!0);T(i),ra(R(i,2),17,()=>V(n),e=>e.name,(e,t)=>{var n=Lh(),r=I(n),i=R(r),a=L(i,!0),o=R(i,2),s=L(o,!0);T(n),z((e,n)=>{q(r,`${V(t).name??``} `),q(a,V(t).count),Fa(o,1,e,`qb-1whhm3x`),q(s,n)},[()=>J([`tw-text-xs`,qf(V(t).change)]),()=>Vf(V(t).change/V(t).count)]),K(e,n)}),T(r),z(()=>q(a,t.rows.length)),K(e,r),A()}var Lh,Rh,zh=t((()=>{Z(),X(),tp(),Fh(),Lh=G(``),Rh=G(`
        `)})),Bh=t((()=>{}));function Vh(e,t){k(t,!0);let n=P(`table`),r=P(0),i=P(25);Qn(()=>{let e=t.data.screener.id;Nr().then(()=>ff(`screener:${e}`))});var a=Uh(),o=I(a);jh(o,{get active(){return t.data.screener.id}});var s=R(o,2);{let e=M(()=>t.data.rows.slice(0,10).map(e=>e.quote));Pp(s,{get quotes(){return V(e)},label:`Trending now`})}var c=R(s,2),l=I(c),u=L(l,!0),d=R(l,2),f=I(d),p=R(f,2);T(d),T(c);var m=R(c,2);Ih(m,{get rows(){return t.data.rows}});var h=R(m,2);Xi(h,()=>t.data.screener.id,e=>{var a=bi(),o=Nn(a),s=e=>{var n=Hh(),a=Nn(n);yh(a,{get rows(){return t.data.rows},get pageIndex(){return V(r)},get pageSize(){return V(i)}}),Th(R(a,2),{get total(){return t.data.rows.length},get pageIndex(){return V(r)},set pageIndex(e){F(r,e,!0)},get pageSize(){return V(i)},set pageSize(e){F(i,e,!0)}}),K(e,n)},c=e=>{th(e,{get rows(){return t.data.rows}})};Ji(o,e=>{V(n)===`table`?e(s):e(c,-1)}),K(e,a)}),Om(R(h,2),{get stories(){return t.data.stories},title:`News about these stocks`,module:`screener-news`}),T(a),z(()=>{q(u,t.data.screener.title),Fa(f,1,J([`switch`,V(n)===`table`&&`active`])),Y(f,`aria-selected`,V(n)===`table`),Fa(p,1,J([`switch`,V(n)===`heatmap`&&`active`])),Y(p,`aria-selected`,V(n)===`heatmap`)}),ri(`click`,f,()=>F(n,`table`)),ri(`click`,p,()=>F(n,`heatmap`)),K(e,a),A()}var Hh,Uh,Wh=t((()=>{Z(),X(),jo(),_f(),ah(),Ch(),kh(),Ph(),zh(),Am(),Lp(),Bh(),Hh=G(` `,1),Uh=G(`

        `),ii([`click`])})),Gh=n({component:()=>Vh,universal:()=>Ym}),Kh=t((()=>{$m(),Wh()})),qh=n({default:()=>Jh}),Jh,Yh=t((()=>{Jh=({status:e,message:t})=>` + + + + `+t+` + + + + +
        + `+e+` +
        +

        `+t+`

        +
        +
        + + +`})),Xh=n({decode:()=>rg,decoders:()=>tg,dictionary:()=>$h,encoders:()=>ng,get_error_template:()=>ig,hash:()=>!0,hooks:()=>eg,matchers:()=>Qu,nodes:()=>Zh,server_loads:()=>Qh}),Zh=[()=>id(()=>Promise.resolve().then(()=>(Up(),Hp)),void 0,import.meta.url),()=>id(()=>Promise.resolve().then(()=>(Jp(),qp)),void 0,import.meta.url),()=>id(()=>Promise.resolve().then(()=>(Gm(),Wm)),void 0,import.meta.url),()=>id(()=>Promise.resolve().then(()=>(Kh(),Gh)),void 0,import.meta.url)],Qh=[],$h={"/":[2],"/markets/stocks/[screener]":[3]},eg={handleError:(({kind:e,error:t})=>{e===`unknown`&&console.error(t)}),reroute:(()=>{}),transport:{}},tg=Object.fromEntries(Object.entries(eg.transport).map(([e,t])=>[e,t.decode])),ng=Object.fromEntries(Object.entries(eg.transport).map(([e,t])=>[e,t.encode])),rg=(e,t)=>tg[e](t),ig=()=>id(()=>Promise.resolve().then(()=>(Yh(),qh)).then(e=>e.default),void 0,import.meta.url);function ag(e,t){lu(Xh,e,t)}export{Xh as app,ag as start}; +//# sourceMappingURL=bundle.DUQZpwlS.js.map \ No newline at end of file diff --git a/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js.map b/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js.map new file mode 100644 index 000000000..a4f3f17f8 --- /dev/null +++ b/suites-experimental/finance/dist/_app/immutable/bundle.DUQZpwlS.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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","names":["init_true","init_false","is_promise","value","run_all","i","arr","deferred","resolve","reject","res","rej","noop","derived_inert","hydration_mismatch","select_multiple_invalid_value","svelte_boundary_reset_noop","init_esm_env","set_hydrating","set_hydrate_node","node","HYDRATION_ERROR","hydrate_next","get_next_sibling","hydrate_node","reset","hydrating","next","count","skip_nodes","depth","data","remove","read_hydration_instruction","init_constants$1","init_constants","init_warnings","init_operations$1","equals","safe_not_equal","a","b","safe_equals","lifecycle_outside_component","async_derived_orphan","each_key_duplicate","effect_in_teardown","effect_in_unowned_derived","effect_orphan","effect_update_depth_exceeded","hydration_failed","props_invalid_value","state_descriptors_fixed","state_prototype_fixed","state_unsafe_mutation","svelte_boundary_reset_onerror","init_utils$3","init_clone","init_effects","init_runtime","init_errors$1","set_component_context","context","push","component_context","props","active_effect","legacy_mode_flag","runes","pop","effects","fn","create_user_effect","component","mark_as_component","define_property","COMPONENT_SYMBOL","is_runes","init_errors","init_flags","run_micro_tasks","tasks","micro_tasks","queue_micro_task","is_flushing_sync","flush_tasks","init_batch","set_signal_status","signal","STATUS_MASK","status","update_derived_status","derived","CLEAN","MAYBE_DIRTY","DIRTY","defer_effect","effect","dirty_reactions","init_status","init_hydration","init_task","without_reactive_context","previous_reaction","active_reaction","previous_effect","set_active_reaction","set_active_effect","init_misc$1","flatten","d","derived_safe_equal","pending","blockers","deriveds","sync","async","parent","restore","capture","blocker_promise","finish","error","invoke_error_boundary","unset_context","decrement_pending","increment_pending","run","async_derived","expression","previous_component_context","previous_batch","current_batch","activate_batch","deactivate_batch","boundary","batch","blocking","init_context","init_error_handling","init_deriveds","flags","EFFECT_PRESERVED","UNINITIALIZED","promise","source","should_suspend","deferreds","async_effect","STALE_REACTION","OBSOLETE","handler","ERROR_VALUE","internal_set","teardown","go","p","fulfil","user_derived","async_mode_flag","push_reaction_value","destroy_derived_effects","destroy_effect","execute_derived","prev_active_effect","is_destroying_effect","update_reaction","update_derived","increment_write_version","batch_values","effect_tracking","freeze_derived_effects","e","remove_reactions","destroy_effect_children","unfreeze_derived_effects","update_effect","init_shared$3","init_equality$1","init_sources","init_dev","init_async$1","init_debug","flushSync","was_flushing_sync","prev_previous_batch","result","infinite_loop_guard","last_scheduled_effect","flush_queued_effects","length","is_dirty","unlink_effect","eager_block_effects","old_values","ordered_effects","ancestor","j","mark_effects","marked","reaction","sources","checked","depends_on","schedule_effect","depends","dep","includes","reset_branch","tracked","reset_all","init_utils$2","Batch","last_batch","#blocking_pending","#is_skipped","#skipped_branches","#unskipped_branches","callback","roots","#scheduled","covered","#dirty_reactions","render_effects","updates","#unlink","root","#resolve","#traverse","#is_deferred","#defer_effects","#process","earlier_batch","#find_earlier_batch","#merge","#commit_callbacks","#deferred","next_batch","#pending","#commit","is_branch","child","#intersects","is_derived","mark","reactions","#discard_callbacks","#new_effects","first_batch","is_earlier","batch_value","current","others","unskipped","current_unequal","c","v1","v2","#decrement_queued","blocking_pending_count","is_processing","previous","prev","state","s","v","stack","mutable_source","initial_value","immutable","trackable","set","untracking","current_sources","should_proxy","proxy","legacy_updates","mark_reactions","updated_during_traversal","untracked_writes","set_untracked_writes","eager_effects","eager_effects_deferred","flush_eager_effects","dirty","increment","set$1","count_deps","seen","seen$1","not_dirty","init_tracing","init_proxy","STATE_SYMBOL","prototype","get_prototype_of","object_prototype","array_prototype","is_proxied_array","is_array","version","parent_version","update_version","with_parent","set_update_version","descriptor","prop","target","exists","get_descriptor","get","receiver","has","other_s","ls","n","get$1","own_keys","key","get_proxied_value","is","init_operations","$window","element_prototype","node_prototype","text_prototype","is_extensible","CLASS_CACHE","ATTRIBUTES_CACHE","STYLE_CACHE","TEXT_CACHE","create_text","get_first_child","first_child_getter","next_sibling_getter","is_text","text","merge_text_nodes","first_child","first","only_child","sibling","next_sibling","last_sibling","clear_text_content","should_defer_append","REACTION_RAN","create_element","namespace","tag","init_equality","handle_error","validate_effect","rune","push_effect","parent_last","parent_effect","create_effect","INERT","type","collected_effects","EFFECT_TRANSPARENT","user_effect","USER_EFFECT","component_root","options","pause_effect","ASYNC","render_effect","template_effect","values","block","branch","execute_effect_teardown","previously_destroying_effect","set_is_destroying_effect","controller","remove_dom","destroy_block_effect_children","removed","remove_effect_dom","DESTROYING","transitions","transition","DESTROYED","end","pause_children","destroy","remaining","check","t","local","transparent","resume_effect","resume_children","move_effect","fragment","write_version","dependencies","dependency","schedule_possible_effect_self_invalidation","previous_deps","new_deps","previous_skipped_deps","skipped_deps","previous_untracked_writes","previous_sources","previous_untracking","previous_update_version","read_version","REACTION_IS_UPDATING","deps","update_dependencies","is_fork","remove_reaction","index","index_of","new_length","start_index","tick","f","settled","captured_signals","depends_on_old_values","should_connect","is_new","reconnect","untrack","init_legacy$1","init_client$4","init_index_client","is_passive_event","PASSIVE_EVENTS","name","DOM_BOOLEAN_ATTRIBUTES","STATE_CREATION_RUNES","init_utils$1","create_event","target_handler","handle_event_propagation","dom","event","event_name","delegated","event_symbol","delegate","events","all_registered_events","root_event_handles","handler_element","owner_document","path","current_target","last_propagated_event_clear_scheduled","path_idx","handled_at","last_propagated_event","at_idx","handler_idx","throw_error","other_errors","create_trusted_html","policy","html","create_fragment_from_html","elem","assign_nodes","from_html","is_fragment","use_import_node","has_start","content","clone","is_firefox","start","from_namespace","wrapped","ns","from_svg","comment","frag","anchor","append","init_reconciler","createSubscriber","subscribers","stop","Boundary","children","transform_error","init_create_subscriber","#effect_pending","#local_pending_count","#anchor","#props","#children","#effect","comment_data","#hydrate_open","server_rendered_pending","serialized_error","#hydrate_failed_content","#hydrate_pending_content","#hydrate_resolved_content","#render","#main_effect","failed","#create_reset","invoke_onerror","#failed_effect","did_reset","calling_on_error","#is_destroyed","#run","err","#pending_effect","#offscreen_fragment","handled","#pending_count","previous_ctx","#update_pending_count","#pending_count_update_queued","#effect_pending_subscriber","#handle_error","handle_error_result","transformed_error","set_text","str","mount","_mount","hydrate","was_hydrating","previous_hydrate_node","instance","line","unmount","anchor_node","ctx","intro","Component","transformError","registered_events","event_handle","passive","counts","listeners","array_from","mounted_components","init_events","init_template","init_boundary","init_render","#transition","#batches","onscreen","#onscreen","#outroing","offscreen","#offscreen","k","on_destroy","keys","defer","#discard","await_block","branches","BranchManager","input","get_input","destroyed","mismatch","resolved","THEN","then_fn","CATCH","catch_fn","PENDING","pending_fn","init_branches","if_block","marker","elseif","update_branch","has_branch","legacy","get_key","NAN","render_fn","pause_effects","to_destroy","group","groups","destroy_effects","fast_path","controlled_anchor","parent_node","preserved_effects","EFFECT_OFFSCREEN","each","items","fallback","each_array","collection","get_collection","first_run","commit","array","reconcile","move","discard","item","create_item","fallback_fn","skip_to_branch","is_animated","to_animate","matched","stashed","link","destroy_length","dest","next_node","snippet","args","get_snippet","init_validate$1","hydration_start_node","get_component","init_timing","init_loop","init_transitions","r","o","clsx","_clsx","to_class","classname","hash","directives","len","whitespace","append_styles","separator","important","css","styles","to_css_name","to_style","new_style","normal_styles","important_styles","in_str","in_apo","in_comment","reserved_names","name_index","property","init_clsx","set_class","next_class_name","next_classes","is_html","prev_classes","is_present","init_attributes$1","update_styles","priority","set_style","next_style_attr","next_styles","prev_styles","set_selected","selected","option","apply_default_select_value","select","multiple","preserve","option_value","get_option_value","was_selected","select_option","w.select_multiple_invalid_value","mounting","init_select","observer","entries","is_selectedcontent_mutation","entry","nodes","set_attribute","attributes","get_attributes","element","attribute","LINK_TAG","LOADING_ATTR_SYMBOL","get_setters","IS_CUSTOM_ELEMENT","IS_HTML","NAMESPACE_HTML","cache_key","setters","setters_cache","descriptors","proto","element_proto","get_descriptors","init_attachments","init_class","init_style","init_select$1","IS_XHTML","is_bound_this","bound_value","element_or_component","bind_this","component_effect","old_parts","parts","get_parts","get_value","update","original_teardown","init_utils","capture_store_binding","previous_is_store_binding","is_store_binding","init_shared$2","update_prop","bindable","lazy","fallback_value","fallback_dirty","fallback_signal","get_fallback","setter","is_entry_props","LEGACY_PROPS","is_store_sub","getter","legacy_parent","mutation","overridden","new_value","init_store","init_event_modifiers","init_legacy_client","init_attachments$1","init_assign","init_elements","init_hmr","init_ownership","init_legacy","init_inspect","init_async","init_validation","init_await","init_if","init_key","init_css_props","init_each","init_html","init_slot","init_snippet","init_svelte_component","init_svelte_element","init_svelte_head","init_css","init_actions","init_attributes","init_customizable_select","init_document","init_input","init_media","init_navigator","init_props$1","init_size","init_this","init_universal","init_window","init_lifecycle","init_misc","init_props","init_validate","init_custom_element","init_console_log","onMount","init_update_callbacks","cleanup","l","init_hydratable","HttpError","location","message","capture_error","param_matcher_async","param_matcher_result_invalid","init_shared","normalize_path","trailing_slash","decode_pathname","pathname","strip_hash","href","make_trackable","url","rest","search_params_callback","param","obj","tracked_url_properties","allow_hash","init_shared_errors","buffer","hash_request","headers","body","base64_decode","binary","encoded","bytes","MAX_ARRAY_LEN","MAX_ARRAY_INDEX","DevalueError","object_proto_names","is_plain_object","thing","get_type","is_buffer","get_escaped_char","char","stringify_string","last_pos","replacement","enumerable_symbols","object","symbol","is_identifier","stringify_key","is_valid_array_index","is_valid_array_len","is_valid_array_index_string","array_index_cut","valid_array_indices","encode_native","array_buffer","decode_native","base64","encode_buffer","decode_buffer","encode_legacy","chunk_size","chunk","decode_legacy","binary_string","native","encode64","decode64","merge_operations","overrides","defaults","merged","NOT_PLAIN","SYMBOL_KEYS","default_stringify_operations","thenable","boxed","date","regexp","map","view","array_buffer_byte_length","shared_array_buffer_byte_length","default_parse_operations","primitive","iso","Constructor","byteOffset","parse","unflatten","serialized","revivers","ops","parsed","hydrated","standalone","reviver","wrapped_index","idx","stringify","stringified","reducers","indexes","custom","number","id","stringify_primitive","mostly_dense","populated_keys","population","key_type","key_is_primitive","info","shape","started","encoders","decoders","init_transport","transporters","transport","devalue.stringify","devalue.parse","init_shared_warnings","fetch_cache_url","page","create_remote_key","payload","native_fetch","init","clear_cache","cache","initial_fetch","selector","build_selector","resource","opts","script","ttl","subsequent_fetch","cached","requested_url","escape_for_regexp","match","decode_escape_sequence","code","codepoint","parse_route_id","params","root_group_pattern","get_route_segments","rest_match","segment","optional_match","escape","is_optional","is_rest","matcher","param_pattern","affects_path","route","run_matcher","exec","values_needing_match","buffered","decoded","outcome","matchers","next_param","next_value","part","init_regex","escape_sequence_pattern","basic_param_pattern","init_routing","parse_routes","layouts_with_server_load","server_loads","dictionary","leaf","layouts","errors","pattern","create_layout_loader","create_leaf_loader","uses_server_data","set_match_implementation","init_payload","base","SNAPSHOT_KEY","NAVIGATION_SNAPSHOT_KEY","HISTORY_INFO_KEY","HISTORY_METADATA_KEY","PRELOAD_PRIORITIES","origin","resolve_url","baseURI","baseTags","scroll_state","link_option","levels","parent_element","find_anchor","get_link_info","uses_hash_router","external","is_external_url","download","get_router_options","preload_code","preload_data","reload","replace_state","el","get_option_state","hash_routing","get_hash_element","blur_active_element","focus_element","tabindex","reset_focus","focusable","autofocus","selection","ranges","init_client$2","autoscroll","restore_scroll","popped_scroll","redirect_loop","navigation_snapshots","storage.get","snapshot_registrations","current_registrations","capture_navigation_snapshot","restore_navigation_snapshot","registration","reset_registrations","delete_navigation_snapshot","persist_navigation_snapshots","valid_layout_exports","init_client","update_page","internal_page","new_page","set_navigation","navigation","init_client$1","init_env","$.state","$.get","_updated","timeout","assets","$.set","noop_span","noop_span_context","init_version","Root","$.noop","Error_1","$$anchor","$.derived","Error","$$props","Component_1","$$value","components","Component_2","$$render","consequent","alternate","$.prop","mounted","navigated","title","afterNavigate","node_6","div","node_8","$.child","$.set_text","consequent_1","consequent_2","Props","tree","onerror","#form","form","#error","RenderNode","build_error_chain","chain","last_idx","load","nearest_error_pages","init_url$1","ICON_REL_ATTRIBUTES","resetters","history_info","snapshots","capture_scroll","set_history_options","clear_onward_history","current_history_index","current_navigation_index","native_navigation","replace","update_service_worker","routes","default_layout_loader","default_error_loader","container","app","query_responses","prerender_responses","invalidated","load_cache","discard_load_cache","reroute_cache","before_navigate_callbacks","on_navigate_callbacks","after_navigate_callbacks","is_navigating","hash_navigating","has_navigated","force_invalidation","current_reset_index","get_history_metadata","navigation_token","invalidation_token","preload_tokens","query_map","live_query_map","intent","get_navigation_intent","_start","_app","_target","cache_entries","q","root_layout","history_metadata","scroll","restore_reload_scroll","_hydrate","navigate","decode_hash","_start_router","reset_invalidation","capture_snapshot","restore_snapshot","persist_state","_goto","query_keys","live_query_keys","push_invalidated","_preload_data","preload","load_route","load_route_nodes","node_loader","_preload_code","initialize","nav","apply_navigation_result","should_hydrate","get_navigation_result_from_branch","slash","data_changed","error_components","loader","current_node","current_depth","previous_node","next_index","load_node","is_tracking","uses","load_input","server_data_node","resolve_fetch_url","requested","has_changed","parent_changed","route_changed","url_changed","tracked_params","search_params_changed","create_data_node","diff_search_params","old_url","new_url","changed","new_values","action_result","loaders","leaf_index","action_error","get_page_key","branch_promises","Redirect","updated","load_route_error","invalidating","load_nearest_error_page","error_branch","server_fallback","load_root_error_page","error_template","get_rerouted_url","rerouted","tmp","get_url_path","_before_navigate","should_block","create_navigation","shallow","delta","cancellable","prev_token","prev_invalidation_token","nav_token","popped","previous_history_index","previous_navigation_index","previous_snapshot_registrations","accept","navigation_result","missing_hash","SvelteKitError","redirect_count","e.redirect_loop","serialized_state","change","load_cache_fork","commit_promise","run_on_navigate_callbacks","fork","reset_boundary","finish_navigation","after_navigate","current_a","setup_preload","mousemove_timeout","hovered_a","current_priority","clear_hover_preload","start_hover_preload","tap","interacted","same_url","HandledHttpError","caught","app_error","add_navigation_callback","callbacks","nonhash","same_pathname","current_hash","update_url","submitter","event_form","history_index","source_info","reset_index","navigation_index","is_hash_change","shallow_url","previous_reset_index","token","shallow_intent","shallow_target","server_data_nodes","parsed_route","node_ids","deserialize_uses","complete","target_scroll","createRandom","seed","pick","list","random","randomWalk","series","drift","volatility","makeSymbol","letters","attempt","used","buildCompanies","usedNames","usedSymbols","companies","COMPANY_COUNT","sector","SECTORS","NAME_HEADS","NAME_TAILS","LEGAL","previousClose","price","yearSeries","fiftyTwoWeekLow","fiftyTwoWeekHigh","sharesOutstanding","avgVolume","EXCHANGES","NOW","buildIndices","INDEX_NAMES","level","buildStories","stories","company","other","HEADLINE_TEMPLATES","EVENTS","THEMES","tickerCount","tickers","sentenceCount","summary","sentence","SUMMARY_SENTENCES","SOURCES","screenerResults","screener","SCREENERS","SCREENER_SIZE","init_random","serve","responses","snapshot","topBy","rank","nextTask","channel","fetchJSON","latency","init_market","quote","indices","story","bySymbol","liveQuote","live","quotes","LiveQuote","subscribe","subscriptions","applyMessage","symbols","UPDATES_PER_MESSAGE","startStream","STREAM_MESSAGES","init_api","volume","$.proxy","init_quotes_svelte","observeModules","record","records","auditLinks","flagged","anchors","AUDITED_PATTERNS","collectImpressions","viewportHeight","impressions","module","style","rect","trackPageView","pendingImpressions","beacons","pageReady","Footer","columns","partnerParams","slug","footer","root_2","column","root_1","h3","text_1","$.only_child","ul","$.sibling","li","text_2","$0","$1","columnIndex","linkIndex","init_client_svelte","Icon","size","PATHS","svg","Header","sections","marketLinks","onMarkets","header","root_6","span","button","nav_1","section","div_1","a_1","node_3","div_2","a_2","$.clsx","node_4","nav_2","root_4","a_3","root_3","root_5","init_state","init_Icon","formatPrice","formatChange","signed","formatPercent","percent","formatCompact","compact","formatRatio","formatDate","formatTime","time","formatRelative","minutes","timestamp","now","relative","hours","trend","rgba","g","alpha","prepareCanvas","ratio","backingWidth","width","backingHeight","height","canvas","extent","min","baseline","max","tracePath","scaleX","scaleY","drawSeries","color","UP","DOWN","left","right","top","bottom","gradient","lineWidth","drawSparkline","drawAreaChart","y","formatValue","timeLabels","x","label","labelWidth","svgSparklinePath","heatColor","changePercent","HEAT_STOPS","toValue","to","fromValue","from","worstRatio","row","sideSquared","side","areaSquared","rowArea","squarify","total","sum","scale","queue","rects","layoutRow","horizontal","thickness","offset","observeSize","onResize","inlineSize","blockSize","CanvasSparkline","measured","canvas_1","init_charts","IconButton","toggles","pressed","PriceChange","field","colored","init_format","TickerCard","span_2","span_3","node_2","init_CanvasSparkline","init_IconButton","init_PriceChange","TickerCarousel","track","canScrollBack","canScrollForward","updateButtons","scrollPage","direction","button_1","button_2","stream","$$args","init_TickerCard","_layout","main","main_1","init_app","init_analytics","init_Footer","init_Header","init_TickerCarousel","init__layout$1","init__layout","h1","$.first_child","init_error","news","NEWS_LATENCY","movers","MarketSummary","SESSION_OPEN","POINT_INTERVAL_MS","tab","h2","div_3","node_1","SvgSparkline","$.set_style","QuoteList","sparklines","unsubscribers","unsubscribe","init_SvgSparkline","MoversCard","tabs","$.set_attribute","init_QuoteList","TickerChip","span_1","StoryItem","lead","initials","word","article","figure","text_3","text_4","div_4","styles_1","init_TickerChip","StoryStream","init_StoryItem","StoryStreamSkeleton","$.index","TrendingCard","_page","cancelled","aside","init_MarketSummary","init_MoversCard","init_StoryStream","init_StoryStreamSkeleton","init_TrendingCard","init__page$3","init__page$2","init_client$3","properties","init_shared$1","init_url","logoHue","response","related","ticker","RELATED_STORIES","init_exports","HeatMap","sectors","layout","inner","sectorRect","tile","RangeCell","position","RatingCell","LABELS","tone","TableRow","tr","td","td_1","span_4","td_2","td_3","span_6","td_4","td_5","span_7","td_6","text_5","td_7","text_6","td_8","text_7","td_9","text_8","td_10","span_12","text_9","td_11","td_12","td_13","text_10","td_14","$5","$7","init_RangeCell","init_RatingCell","MarketsTable","sortColumn","sortDirection","sorted","collator","keyed","visible","sortBy","table","thead","th","alternate_1","tbody","init_TableRow","Pagination","pageIndex","pageSize","pageCount","last","setPageSize","$.set_class","select_value","$.select_option","$.update_prop","ScreenerTabs","strip","SectorChips","totals","node_5","init_HeatMap","init_MarketsTable","init_Pagination","init_ScreenerTabs","init_SectorChips","init__page$1","init__page","hooks","kind","decode","get_error_template","__vitePreload","init_error_template","error_template_exports","m","start$1"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,147,159,173,174,188],"sources":["../../../node_modules/esm-env/index.js","../../../node_modules/svelte/src/internal/shared/utils.js","../../../node_modules/svelte/src/internal/client/constants.js","../../../node_modules/svelte/src/constants.js","../../../node_modules/svelte/src/internal/client/warnings.js","../../../node_modules/svelte/src/internal/client/dom/hydration.js","../../../node_modules/svelte/src/internal/client/reactivity/equality.js","../../../node_modules/svelte/src/internal/shared/errors.js","../../../node_modules/svelte/src/internal/client/errors.js","../../../node_modules/svelte/src/internal/flags/index.js","../../../node_modules/svelte/src/internal/shared/clone.js","../../../node_modules/svelte/src/internal/client/dev/tracing.js","../../../node_modules/svelte/src/internal/shared/dev.js","../../../node_modules/svelte/src/internal/client/context.js","../../../node_modules/svelte/src/internal/client/dom/task.js","../../../node_modules/svelte/src/internal/client/reactivity/status.js","../../../node_modules/svelte/src/internal/client/reactivity/utils.js","../../../node_modules/svelte/src/internal/client/dev/debug.js","../../../node_modules/svelte/src/internal/client/dom/elements/misc.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js","../../../node_modules/svelte/src/internal/client/reactivity/async.js","../../../node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../../node_modules/svelte/src/internal/client/reactivity/batch.js","../../../node_modules/svelte/src/internal/client/reactivity/sources.js","../../../node_modules/svelte/src/internal/client/proxy.js","../../../node_modules/svelte/src/internal/client/dev/equality.js","../../../node_modules/svelte/src/internal/client/dom/operations.js","../../../node_modules/svelte/src/internal/client/error-handling.js","../../../node_modules/svelte/src/internal/client/reactivity/effects.js","../../../node_modules/svelte/src/internal/client/legacy.js","../../../node_modules/svelte/src/internal/client/runtime.js","../../../node_modules/svelte/src/attachments/index.js","../../../node_modules/svelte/src/utils.js","../../../node_modules/svelte/src/internal/client/dev/assign.js","../../../node_modules/svelte/src/internal/client/dev/elements.js","../../../node_modules/svelte/src/internal/client/dom/elements/events.js","../../../node_modules/svelte/src/internal/client/dom/reconciler.js","../../../node_modules/svelte/src/internal/client/dom/template.js","../../../node_modules/svelte/src/reactivity/create-subscriber.js","../../../node_modules/svelte/src/internal/client/dom/blocks/boundary.js","../../../node_modules/svelte/src/internal/client/render.js","../../../node_modules/svelte/src/internal/client/dev/hmr.js","../../../node_modules/svelte/src/internal/client/dev/ownership.js","../../../node_modules/svelte/src/internal/client/dev/legacy.js","../../../node_modules/svelte/src/internal/client/dev/inspect.js","../../../node_modules/svelte/src/internal/client/dom/blocks/async.js","../../../node_modules/svelte/src/internal/client/dev/validation.js","../../../node_modules/svelte/src/internal/client/dom/blocks/branches.js","../../../node_modules/svelte/src/internal/client/dom/blocks/await.js","../../../node_modules/svelte/src/internal/client/dom/blocks/if.js","../../../node_modules/svelte/src/internal/client/dom/blocks/key.js","../../../node_modules/svelte/src/internal/client/dom/blocks/css-props.js","../../../node_modules/svelte/src/internal/client/dom/blocks/each.js","../../../node_modules/svelte/src/internal/client/dom/blocks/html.js","../../../node_modules/svelte/src/internal/client/dom/blocks/slot.js","../../../node_modules/svelte/src/internal/shared/validate.js","../../../node_modules/svelte/src/internal/client/dom/blocks/snippet.js","../../../node_modules/svelte/src/internal/client/dom/blocks/svelte-component.js","../../../node_modules/svelte/src/internal/client/timing.js","../../../node_modules/svelte/src/internal/client/loop.js","../../../node_modules/svelte/src/internal/client/dom/elements/transitions.js","../../../node_modules/svelte/src/internal/client/dom/blocks/svelte-element.js","../../../node_modules/svelte/src/internal/client/dom/blocks/svelte-head.js","../../../node_modules/svelte/src/internal/client/dom/css.js","../../../node_modules/svelte/src/internal/client/dom/elements/actions.js","../../../node_modules/svelte/src/internal/client/dom/elements/attachments.js","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/svelte/src/internal/shared/attributes.js","../../../node_modules/svelte/src/internal/client/dom/elements/class.js","../../../node_modules/svelte/src/internal/client/dom/elements/style.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../../../node_modules/svelte/src/internal/client/dom/elements/attributes.js","../../../node_modules/svelte/src/internal/client/dom/elements/customizable-select.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/document.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/input.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/media.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/navigator.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/props.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/size.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/universal.js","../../../node_modules/svelte/src/internal/client/dom/elements/bindings/window.js","../../../node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js","../../../node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../../node_modules/svelte/src/internal/client/dom/legacy/misc.js","../../../node_modules/svelte/src/store/utils.js","../../../node_modules/svelte/src/store/shared/index.js","../../../node_modules/svelte/src/internal/client/reactivity/store.js","../../../node_modules/svelte/src/internal/client/reactivity/props.js","../../../node_modules/svelte/src/internal/client/validate.js","../../../node_modules/svelte/src/legacy/legacy-client.js","../../../node_modules/svelte/src/internal/client/dom/elements/custom-element.js","../../../node_modules/svelte/src/internal/client/dev/console-log.js","../../../node_modules/svelte/src/internal/client/index.js","../../../node_modules/svelte/src/internal/client/hydratable.js","../../../node_modules/svelte/src/index-client.js","../../../node_modules/@sveltejs/kit/src/exports/internal/shared.js","../../../node_modules/@sveltejs/kit/src/messages/internal/shared.js","../../../node_modules/@sveltejs/kit/src/messages/shared-errors.js","../../../node_modules/@sveltejs/kit/src/utils/url.js","../../../node_modules/@sveltejs/kit/src/utils/hash.js","../../../node_modules/@sveltejs/kit/src/runtime/utils.js","../../../node_modules/devalue/src/constants.js","../../../node_modules/devalue/src/utils.js","../../../node_modules/devalue/src/base64.js","../../../node_modules/devalue/src/operations.js","../../../node_modules/devalue/src/parse.js","../../../node_modules/devalue/src/stringify.js","../../../node_modules/@sveltejs/kit/src/runtime/app/internal/transport.js","../../../node_modules/@sveltejs/kit/src/messages/shared-warnings.js","../../../node_modules/@sveltejs/kit/src/runtime/shared.js","../../../node_modules/@sveltejs/kit/src/messages/client-warnings.js","../../../node_modules/@sveltejs/kit/src/runtime/client/fetcher.js","../../../node_modules/@sveltejs/kit/src/utils/regex.js","../../../node_modules/@sveltejs/kit/src/utils/routing.js","../../../node_modules/@sveltejs/kit/src/runtime/client/parse.js","../../../node_modules/@sveltejs/kit/src/runtime/client/session-storage.js","../../../node_modules/@sveltejs/kit/src/runtime/client/payload.js","../../../node_modules/@sveltejs/kit/src/runtime/app/paths/internal/client.js","../../../node_modules/@sveltejs/kit/src/runtime/client/constants.js","../../../node_modules/@sveltejs/kit/src/runtime/client/utils.js","../../../node_modules/@sveltejs/kit/src/runtime/client/focus.js","../../../node_modules/@sveltejs/kit/src/runtime/client/scroll.js","../../../node_modules/@sveltejs/kit/src/messages/client-errors.js","../../../node_modules/@sveltejs/kit/src/runtime/client/snapshots.js","../../../node_modules/@sveltejs/kit/src/utils/exports.js","../../../node_modules/@sveltejs/kit/src/utils/error.js","../../../node_modules/@sveltejs/kit/src/utils/functions.js","../../../node_modules/@sveltejs/kit/src/runtime/app/paths/client.js","../../../node_modules/@sveltejs/kit/src/runtime/app/env/client.js","../../../node_modules/@sveltejs/kit/src/runtime/app/env/index.js","../../../node_modules/@sveltejs/kit/src/runtime/app/state/client.svelte.js","../../../node_modules/@sveltejs/kit/src/runtime/pathname.js","../../../node_modules/@sveltejs/kit/src/telemetry.js","../../../node_modules/svelte/src/internal/disclose-version.js","../../../node_modules/@sveltejs/kit/src/runtime/components/root.svelte","../../../node_modules/@sveltejs/kit/src/runtime/props.svelte.js","../../../node_modules/@sveltejs/kit/src/runtime/error-chain.js","../../../node_modules/@sveltejs/kit/src/runtime/client/client.js","../../../.svelte-kit/generated/build/client-optimized/matchers.js","../../../src/lib/data/random.js","../../../src/lib/data/market.js","../../../src/lib/data/api.js","../../../src/lib/quotes.svelte.js","../../../src/routes/+layout.js","../../../src/lib/analytics.js","../../../src/lib/components/Footer.svelte","../../../node_modules/@sveltejs/kit/src/runtime/app/state/index.js","../../../src/lib/components/Icon.svelte","../../../src/lib/components/Header.svelte","../../../src/lib/format.js","../../../src/lib/charts.js","../../../src/lib/components/CanvasSparkline.svelte","../../../src/lib/components/IconButton.svelte","../../../src/lib/components/PriceChange.svelte","../../../src/lib/components/TickerCard.svelte","../../../src/lib/components/TickerCarousel.svelte","../../../src/routes/+layout.svelte","../../../.svelte-kit/generated/build/client-optimized/nodes/0.js","../../../node_modules/@sveltejs/kit/src/runtime/components/error.svelte","../../../.svelte-kit/generated/build/client-optimized/nodes/1.js","../../../src/routes/+page.js","../../../src/lib/components/MarketSummary.svelte","../../../src/lib/components/SvgSparkline.svelte","../../../src/lib/components/QuoteList.svelte","../../../src/lib/components/MoversCard.svelte","../../../src/lib/components/TickerChip.svelte","../../../src/lib/components/StoryItem.svelte","../../../src/lib/components/StoryStream.svelte","../../../src/lib/components/StoryStreamSkeleton.svelte","../../../src/lib/components/TrendingCard.svelte","../../../src/routes/+page.svelte","../../../.svelte-kit/generated/build/client-optimized/nodes/2.js","../../../node_modules/@sveltejs/kit/src/exports/url.js","../../../node_modules/@sveltejs/kit/src/exports/index.js","../../../src/routes/markets/stocks/[screener]/+page.js","../../../src/lib/components/HeatMap.svelte","../../../src/lib/components/RangeCell.svelte","../../../src/lib/components/RatingCell.svelte","../../../src/lib/components/TableRow.svelte","../../../src/lib/components/MarketsTable.svelte","../../../src/lib/components/Pagination.svelte","../../../src/lib/components/ScreenerTabs.svelte","../../../src/lib/components/SectorChips.svelte","../../../src/routes/markets/stocks/[screener]/+page.svelte","../../../.svelte-kit/generated/build/client-optimized/nodes/3.js","../../../.svelte-kit/generated/build/shared/error-template.js","../../../.svelte-kit/generated/build/client-optimized/app.js","../../../node_modules/@sveltejs/kit/src/runtime/client/bundle.js"],"sourcesContent":["export { default as BROWSER } from 'esm-env/browser';\nexport { default as DEV } from 'esm-env/development';\nexport { default as NODE } from 'esm-env/node';\n","// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var index_of = Array.prototype.indexOf;\nexport var includes = Array.prototype.includes;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\nexport var is_extensible = Object.isExtensible;\nexport var has_own_property = Object.prototype.hasOwnProperty;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * TODO replace with Promise.withResolvers once supported widely enough\n * @template [T=void]\n */\nexport function deferred() {\n\t/** @type {(value: T) => void} */\n\tvar resolve;\n\n\t/** @type {(reason: any) => void} */\n\tvar reject;\n\n\t/** @type {Promise} */\n\tvar promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\n\t// @ts-expect-error\n\treturn { promise, resolve, reject };\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n\n/**\n * When encountering a situation like `let [a, b, c] = $derived(blah())`,\n * we need to stash an intermediate value that `a`, `b`, and `c` derive\n * from, in case it's an iterable\n * @template T\n * @param {ArrayLike | Iterable} value\n * @param {number} [n]\n * @returns {Array}\n */\nexport function to_array(value, n) {\n\t// return arrays unchanged\n\tif (Array.isArray(value)) {\n\t\treturn value;\n\t}\n\n\t// if value is not iterable, or `n` is unspecified (indicates a rest\n\t// element, which means we're not concerned about unbounded iterables)\n\t// convert to an array with `Array.from`\n\tif (n === undefined || !(Symbol.iterator in value)) {\n\t\treturn Array.from(value);\n\t}\n\n\t// otherwise, populate an array with `n` values\n\n\t/** @type {T[]} */\n\tconst array = [];\n\n\tfor (const element of value) {\n\t\tarray.push(element);\n\t\tif (array.length === n) break;\n\t}\n\n\treturn array;\n}\n\n/**\n * @param {Record} obj\n * @param {Array} keys\n * @returns {Record}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\tfor (var symbol of Object.getOwnPropertySymbols(obj)) {\n\t\tif (Object.propertyIsEnumerable.call(obj, symbol) && !keys.includes(symbol)) {\n\t\t\tresult[symbol] = obj[symbol];\n\t\t}\n\t}\n\n\treturn result;\n}\n","// General flags\nexport const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\n/**\n * An effect that does not destroy its child effects when it reruns.\n * Runs as part of render effects, i.e. not eagerly as part of tree traversal or effect flushing.\n */\nexport const MANAGED_EFFECT = 1 << 24;\n/**\n * An effect that does not destroy its child effects when it reruns (like MANAGED_EFFECT).\n * Runs eagerly as part of tree traversal or effect flushing.\n */\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const BOUNDARY_EFFECT = 1 << 7;\n/**\n * Set on the effect that `pause_effect` was called on, i.e. the root of a paused subtree,\n * as opposed to its descendants which are merely `INERT`. This allows `resume_effect` on\n * an ancestor to skip subtrees that were paused for their own reasons (such as a block\n * whose condition is still false) rather than resurrecting them\n */\nexport const PAUSED = 1 << 8;\n/**\n * Indicates that a reaction is connected to an effect root — either it is an effect,\n * or it is a derived that is depended on by at least one effect. If a derived has\n * no dependents, we can disconnect it from the graph, allowing it to either be\n * GC'd or reconnected later if an effect comes to depend on it again\n */\nexport const CONNECTED = 1 << 9;\nexport const CLEAN = 1 << 10;\nexport const DIRTY = 1 << 11;\nexport const MAYBE_DIRTY = 1 << 12;\nexport const INERT = 1 << 13;\nexport const DESTROYED = 1 << 14;\n/** Set once a reaction has run for the first time */\nexport const REACTION_RAN = 1 << 15;\n/** Effect is in the process of getting destroyed. Can be observed in child teardown functions */\nexport const DESTROYING = 1 << 25;\n\n// Flags exclusive to effects\n/**\n * 'Transparent' effects do not create a transition boundary.\n * This is on a block effect 99% of the time but may also be on a branch effect if its parent block effect was pruned\n */\nexport const EFFECT_TRANSPARENT = 1 << 16;\nexport const EAGER_EFFECT = 1 << 17;\nexport const HEAD_EFFECT = 1 << 18;\nexport const EFFECT_PRESERVED = 1 << 19;\nexport const USER_EFFECT = 1 << 20;\nexport const EFFECT_OFFSCREEN = 1 << 25;\n\n// Flags used for async\nexport const REACTION_IS_UPDATING = 1 << 21;\nexport const ASYNC = 1 << 22;\n\nexport const ERROR_VALUE = 1 << 23;\n\nexport const STATE_SYMBOL = Symbol('$state');\n/** Marks component export objects, so that `proxy(...)` leaves them untouched */\nexport const COMPONENT_SYMBOL = Symbol('component');\nexport const LEGACY_PROPS = Symbol('legacy props');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\nexport const PROXY_PATH_SYMBOL = Symbol('proxy path');\nexport const ATTRIBUTES_CACHE = Symbol('attributes');\nexport const CLASS_CACHE = Symbol('class');\nexport const STYLE_CACHE = Symbol('style');\nexport const TEXT_CACHE = Symbol('text');\nexport const FORM_RESET_HANDLER = Symbol('form reset');\n/** An anchor might change, via this symbol on the original anchor we can tell HMR about the updated anchor */\nexport const HMR_ANCHOR = Symbol('hmr anchor');\n\n/** allow users to ignore aborted signal errors if `reason.name === 'StaleReactionError` */\nexport const STALE_REACTION = new (class StaleReactionError extends Error {\n\tname = 'StaleReactionError';\n\tmessage = 'The reaction that called `getAbortSignal()` was re-run or destroyed';\n})();\n\nexport const IS_XHTML =\n\t// We gotta write it like this because after downleveling the pure comment may end up in the wrong location\n\t!!globalThis.document?.contentType &&\n\t/* @__PURE__ */ globalThis.document.contentType.includes('xml');\nexport const ELEMENT_NODE = 1;\nexport const TEXT_NODE = 3;\nexport const COMMENT_NODE = 8;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\nexport const TEMPLATE_USE_SVG = 1 << 2;\nexport const TEMPLATE_USE_MATHML = 1 << 3;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\n/** used to indicate that a boundary's `failed` snippet was rendered on the server */\nexport const HYDRATION_START_FAILED = '[?';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\nexport const ELEMENT_IS_INPUT = 1 << 2;\n\nexport const UNINITIALIZED = Symbol('uninitialized');\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'await_waterfall',\n\t'await_reactivity_loss',\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n\nexport const ATTACHMENT_KEY = '@attach';\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.\n * @param {string} property\n * @param {string} location\n */\nexport function assignment_value_stale(property, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] assignment_value_stale\\n%cAssignment to \\`${property}\\` property (${location}) will evaluate to the right-hand side, not the value of \\`${property}\\` following the assignment. This may result in unexpected behaviour.\\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/assignment_value_stale`);\n\t}\n}\n\n/**\n * Detected reactivity loss when reading `%name%`. This happens when state is read in an async function after an earlier `await`\n * @param {string} name\n */\nexport function await_reactivity_loss(name) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_reactivity_loss\\n%cDetected reactivity loss when reading \\`${name}\\`. This happens when state is read in an async function after an earlier \\`await\\`\\nhttps://svelte.dev/e/await_reactivity_loss`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_reactivity_loss`);\n\t}\n}\n\n/**\n * An async derived, `%name%` (%location%) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\n * @param {string} name\n * @param {string} location\n */\nexport function await_waterfall(name, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_waterfall\\n%cAn async derived, \\`${name}\\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\\nhttps://svelte.dev/e/await_waterfall`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_waterfall`);\n\t}\n}\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] binding_property_non_reactive\\n%c${location\n\t\t\t\t? `\\`${binding}\\` (${location}) is binding to a non-reactive property`\n\t\t\t\t: `\\`${binding}\\` is binding to a non-reactive property`}\\nhttps://svelte.dev/e/binding_property_non_reactive`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/binding_property_non_reactive`);\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead\\nhttps://svelte.dev/e/console_log_state`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/console_log_state`);\n\t}\n}\n\n/**\n * Reading a derived belonging to a now-destroyed effect may result in stale values\n */\nexport function derived_inert() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] derived_inert\\n%cReading a derived belonging to a now-destroyed effect may result in stale values\\nhttps://svelte.dev/e/derived_inert`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/derived_inert`);\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?\\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/event_handler_invalid`);\n\t}\n}\n\n/**\n * Expected to find a hydratable with key `%key%` during hydration, but did not.\n * @param {string} key\n */\nexport function hydratable_missing_but_expected(key) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydratable_missing_but_expected\\n%cExpected to find a hydratable with key \\`${key}\\` during hydration, but did not.\\nhttps://svelte.dev/e/hydratable_missing_but_expected`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydratable_missing_but_expected`);\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value\\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_attribute_changed`);\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_html_changed\\n%c${location\n\t\t\t\t? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value`\n\t\t\t\t: 'The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value'}\\nhttps://svelte.dev/e/hydration_html_changed`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_html_changed`);\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_mismatch\\n%c${location\n\t\t\t\t? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}`\n\t\t\t\t: 'Hydration failed because the initial UI does not match what was rendered on the server'}\\nhttps://svelte.dev/e/hydration_mismatch`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_mismatch`);\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element\\nhttps://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.\\nhttps://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted\\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/lifecycle_double_unmount`);\n\t}\n}\n\n/**\n * %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)\n * @param {string} parent\n * @param {string} prop\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, prop, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed property \\`${prop}\\` to ${child} with \\`bind:\\`, but its parent component ${owner} did not declare \\`${prop}\\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \\`bind:${prop}={...}\\` instead of \\`${prop}={...}\\`)\\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_binding`);\n\t}\n}\n\n/**\n * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead\n * @param {string} name\n * @param {string} location\n * @param {string} prop\n * @param {string} parent\n */\nexport function ownership_invalid_mutation(name, location, prop, parent) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%cMutating unbound props (\\`${name}\\`, at ${location}) is strongly discouraged. Consider using \\`bind:${prop}={...}\\` in ${parent} (or using a callback) instead\\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_mutation`);\n\t}\n}\n\n/**\n * The `value` property of a `\\` element should be an array, but it received a non-array value. The selection will be kept as is.\\nhttps://svelte.dev/e/select_multiple_invalid_value`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/select_multiple_invalid_value`);\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results\\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);\n\t}\n}\n\n/**\n * A `` `reset` function only resets the boundary the first time it is called\n */\nexport function svelte_boundary_reset_noop() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] svelte_boundary_reset_noop\\n%cA \\`\\` \\`reset\\` function only resets the boundary the first time it is called\\nhttps://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);\n\t}\n}\n\n/**\n * The `slide` transition does not work correctly for elements with `display: %value%`\n * @param {string} value\n */\nexport function transition_slide_display(value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] transition_slide_display\\n%cThe \\`slide\\` transition does not work correctly for elements with \\`display: ${value}\\`\\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/transition_slide_display`);\n\t}\n}","/** @import { TemplateNode } from '#client' */\n\nimport { COMMENT_NODE } from '#client/constants';\nimport {\n\tHYDRATION_END,\n\tHYDRATION_ERROR,\n\tHYDRATION_START,\n\tHYDRATION_START_ELSE\n} from '../../../constants.js';\nimport * as w from '../warnings.js';\nimport { get_next_sibling } from './operations.js';\n\n/**\n * Use this variable to guard everything related to hydration code so it can be treeshaken out\n * if the user doesn't use the `hydrate` method and these code paths are therefore not needed.\n */\nexport let hydrating = false;\n\n/** @param {boolean} value */\nexport function set_hydrating(value) {\n\thydrating = value;\n}\n\n/**\n * The node that is currently being hydrated. This starts out as the first node inside the opening\n * comment, and updates each time a component calls `$.child(...)` or `$.sibling(...)`.\n * When entering a block (e.g. `{#if ...}`), `hydrate_node` is the block opening comment; by the\n * time we leave the block it is the closing comment, which serves as the block's anchor.\n * @type {TemplateNode}\n */\nexport let hydrate_node;\n\n/** @param {TemplateNode | null} node */\nexport function set_hydrate_node(node) {\n\tif (node === null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn (hydrate_node = node);\n}\n\nexport function hydrate_next() {\n\treturn set_hydrate_node(get_next_sibling(hydrate_node));\n}\n\n/** @param {TemplateNode} node */\nexport function reset(node) {\n\tif (!hydrating) return;\n\n\t// If the node has remaining siblings, something has gone wrong\n\tif (get_next_sibling(hydrate_node) !== null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\thydrate_node = node;\n}\n\n/**\n * @param {HTMLTemplateElement} template\n */\nexport function hydrate_template(template) {\n\tif (hydrating) {\n\t\t// @ts-expect-error TemplateNode doesn't include DocumentFragment, but it's actually fine\n\t\thydrate_node = template.content;\n\t}\n}\n\nexport function next(count = 1) {\n\tif (hydrating) {\n\t\tvar i = count;\n\t\tvar node = hydrate_node;\n\n\t\twhile (i--) {\n\t\t\tnode = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\t}\n\n\t\thydrate_node = node;\n\t}\n}\n\n/**\n * Skips or removes (depending on {@link remove}) all nodes starting at `hydrate_node` up until the next hydration end comment\n * @param {boolean} remove\n */\nexport function skip_nodes(remove = true) {\n\tvar depth = 0;\n\tvar node = hydrate_node;\n\n\twhile (true) {\n\t\tif (node.nodeType === COMMENT_NODE) {\n\t\t\tvar data = /** @type {Comment} */ (node).data;\n\n\t\t\tif (data === HYDRATION_END) {\n\t\t\t\tif (depth === 0) return node;\n\t\t\t\tdepth -= 1;\n\t\t\t} else if (\n\t\t\t\tdata === HYDRATION_START ||\n\t\t\t\tdata === HYDRATION_START_ELSE ||\n\t\t\t\t// \"[1\", \"[2\", etc. for if blocks\n\t\t\t\t(data[0] === '[' && !isNaN(Number(data.slice(1))))\n\t\t\t) {\n\t\t\t\tdepth += 1;\n\t\t\t}\n\t\t}\n\n\t\tvar next = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tif (remove) node.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n *\n * @param {TemplateNode} node\n */\nexport function read_hydration_instruction(node) {\n\tif (!node || node.nodeType !== COMMENT_NODE) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn /** @type {Comment} */ (node).data;\n}\n","/** @import { Equals } from '#client' */\n\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Cannot use `%name%(...)` unless the `experimental.async` compiler option is `true`\n * @param {string} name\n * @returns {never}\n */\nexport function experimental_async_required(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`experimental_async_required\\nCannot use \\`${name}(...)\\` unless the \\`experimental.async\\` compiler option is \\`true\\`\\nhttps://svelte.dev/e/experimental_async_required`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/experimental_async_required`);\n\t}\n}\n\n/**\n * Cannot use `{@render children(...)}` if the parent component uses `let:` directives. Consider using a named snippet instead\n * @returns {never}\n */\nexport function invalid_default_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_default_snippet\\nCannot use \\`{@render children(...)}\\` if the parent component uses \\`let:\\` directives. Consider using a named snippet instead\\nhttps://svelte.dev/e/invalid_default_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_default_snippet`);\n\t}\n}\n\n/**\n * A snippet function was passed invalid arguments. Snippets should only be instantiated via `{@render ...}`\n * @returns {never}\n */\nexport function invalid_snippet_arguments() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet_arguments\\nA snippet function was passed invalid arguments. Snippets should only be instantiated via \\`{@render ...}\\`\\nhttps://svelte.dev/e/invalid_snippet_arguments`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet_arguments`);\n\t}\n}\n\n/**\n * An invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app — please open an issue at https://github.com/sveltejs/svelte, citing the following message: \"%message%\"\n * @param {string} message\n * @returns {never}\n */\nexport function invariant_violation(message) {\n\tif (DEV) {\n\t\tconst error = new Error(`invariant_violation\\nAn invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app — please open an issue at https://github.com/sveltejs/svelte, citing the following message: \"${message}\"\\nhttps://svelte.dev/e/invariant_violation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invariant_violation`);\n\t}\n}\n\n/**\n * `%name%(...)` can only be used during component initialisation\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_outside_component(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_outside_component\\n\\`${name}(...)\\` can only be used during component initialisation\\nhttps://svelte.dev/e/lifecycle_outside_component`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_outside_component`);\n\t}\n}\n\n/**\n * Context was not set in the current component or any of its ancestors\n * @returns {never}\n */\nexport function missing_context() {\n\tif (DEV) {\n\t\tconst error = new Error(`missing_context\\nContext was not set in the current component or any of its ancestors\\nhttps://svelte.dev/e/missing_context`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/missing_context`);\n\t}\n}\n\n/**\n * `setContext` must be called when a component first initializes, not in a subsequent effect or after an `await` expression\n * @returns {never}\n */\nexport function set_context_after_init() {\n\tif (DEV) {\n\t\tconst error = new Error(`set_context_after_init\\n\\`setContext\\` must be called when a component first initializes, not in a subsequent effect or after an \\`await\\` expression\\nhttps://svelte.dev/e/set_context_after_init`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/set_context_after_init`);\n\t}\n}\n\n/**\n * Attempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.\n * @returns {never}\n */\nexport function snippet_without_render_tag() {\n\tif (DEV) {\n\t\tconst error = new Error(`snippet_without_render_tag\\nAttempted to render a snippet without a \\`{@render}\\` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change \\`{snippet}\\` to \\`{@render snippet()}\\`.\\nhttps://svelte.dev/e/snippet_without_render_tag`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/snippet_without_render_tag`);\n\t}\n}\n\n/**\n * `%name%` is not a store with a `subscribe` method\n * @param {string} name\n * @returns {never}\n */\nexport function store_invalid_shape(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`store_invalid_shape\\n\\`${name}\\` is not a store with a \\`subscribe\\` method\\nhttps://svelte.dev/e/store_invalid_shape`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/store_invalid_shape`);\n\t}\n}\n\n/**\n * The `this` prop on `` must be a string, if defined\n * @returns {never}\n */\nexport function svelte_element_invalid_this_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_element_invalid_this_value\\nThe \\`this\\` prop on \\`\\` must be a string, if defined\\nhttps://svelte.dev/e/svelte_element_invalid_this_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_element_invalid_this_value`);\n\t}\n}","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nexport * from '../shared/errors.js';\n\n/**\n * Cannot create a `$derived(...)` with an `await` expression outside of an effect tree\n * @returns {never}\n */\nexport function async_derived_orphan() {\n\tif (DEV) {\n\t\tconst error = new Error(`async_derived_orphan\\nCannot create a \\`$derived(...)\\` with an \\`await\\` expression outside of an effect tree\\nhttps://svelte.dev/e/async_derived_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/async_derived_orphan`);\n\t}\n}\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead\\nhttps://svelte.dev/e/bind_invalid_checkbox_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`);\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)\\nhttps://svelte.dev/e/bind_invalid_export`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_export`);\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\`\\nhttps://svelte.dev/e/bind_not_bindable`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_not_bindable`);\n\t}\n}\n\n/**\n * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\nCalling \\`${method}\\` on a component instance (of ${component}) is no longer valid in Svelte 5\\nhttps://svelte.dev/e/component_api_changed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_changed`);\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working.\\nhttps://svelte.dev/e/component_api_invalid_new`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_invalid_new`);\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively\\nhttps://svelte.dev/e/derived_references_self`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/derived_references_self`);\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value\n\t\t\t? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}`\n\t\t\t: `Keyed each block has duplicate key at indexes ${a} and ${b}`}\\nhttps://svelte.dev/e/each_key_duplicate`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_duplicate`);\n\t}\n}\n\n/**\n * Keyed each block has key that is not idempotent — the key for item at index %index% was `%a%` but is now `%b%`. Keys must be the same each time for a given item\n * @param {string} index\n * @param {string} a\n * @param {string} b\n * @returns {never}\n */\nexport function each_key_volatile(index, a, b) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_volatile\\nKeyed each block has key that is not idempotent — the key for item at index ${index} was \\`${a}\\` but is now \\`${b}\\`. Keys must be the same each time for a given item\\nhttps://svelte.dev/e/each_key_volatile`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_volatile`);\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function\\nhttps://svelte.dev/e/effect_in_teardown`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_teardown`);\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect\\nhttps://svelte.dev/e/effect_in_unowned_derived`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_unowned_derived`);\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)\\nhttps://svelte.dev/e/effect_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_orphan`);\n\t}\n}\n\n/**\n * `$effect.pending()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function effect_pending_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_pending_outside_reaction\\n\\`$effect.pending()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/effect_pending_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_pending_outside_reaction`);\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\\nhttps://svelte.dev/e/effect_update_depth_exceeded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);\n\t}\n}\n\n/**\n * Cannot use `flushSync` inside an effect\n * @returns {never}\n */\nexport function flush_sync_in_effect() {\n\tif (DEV) {\n\t\tconst error = new Error(`flush_sync_in_effect\\nCannot use \\`flushSync\\` inside an effect\\nhttps://svelte.dev/e/flush_sync_in_effect`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/flush_sync_in_effect`);\n\t}\n}\n\n/**\n * Cannot commit a fork that was already discarded\n * @returns {never}\n */\nexport function fork_discarded() {\n\tif (DEV) {\n\t\tconst error = new Error(`fork_discarded\\nCannot commit a fork that was already discarded\\nhttps://svelte.dev/e/fork_discarded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/fork_discarded`);\n\t}\n}\n\n/**\n * Cannot create a fork inside an effect or when state changes are pending\n * @returns {never}\n */\nexport function fork_timing() {\n\tif (DEV) {\n\t\tconst error = new Error(`fork_timing\\nCannot create a fork inside an effect or when state changes are pending\\nhttps://svelte.dev/e/fork_timing`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/fork_timing`);\n\t}\n}\n\n/**\n * `getAbortSignal()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function get_abort_signal_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`get_abort_signal_outside_reaction\\n\\`getAbortSignal()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/get_abort_signal_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`);\n\t}\n}\n\n/**\n * Expected to find a hydratable with key `%key%` during hydration, but did not.\n * @param {string} key\n * @returns {never}\n */\nexport function hydratable_missing_but_required(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`hydratable_missing_but_required\\nExpected to find a hydratable with key \\`${key}\\` during hydration, but did not.\\nhttps://svelte.dev/e/hydratable_missing_but_required`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydratable_missing_but_required`);\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application\\nhttps://svelte.dev/e/hydration_failed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydration_failed`);\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\`\\nhttps://svelte.dev/e/invalid_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode\\nhttps://svelte.dev/e/lifecycle_legacy_only`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_legacy_only`);\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value\\nhttps://svelte.dev/e/props_invalid_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_invalid_value`);\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly\\nhttps://svelte.dev/e/props_rest_readonly`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_rest_readonly`);\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files\\nhttps://svelte.dev/e/rune_outside_svelte`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/rune_outside_svelte`);\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.\\nhttps://svelte.dev/e/state_descriptors_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_descriptors_fixed`);\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object\\nhttps://svelte.dev/e/state_prototype_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_prototype_fixed`);\n\t}\n}\n\n/**\n * Updating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside \\`$derived(...)\\`, \\`$inspect(...)\\` or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\`\\nhttps://svelte.dev/e/state_unsafe_mutation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_unsafe_mutation`);\n\t}\n}\n\n/**\n * A `` `reset` function cannot be called while an error is still being handled\n * @returns {never}\n */\nexport function svelte_boundary_reset_onerror() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_boundary_reset_onerror\\nA \\`\\` \\`reset\\` function cannot be called while an error is still being handled\\nhttps://svelte.dev/e/svelte_boundary_reset_onerror`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`);\n\t}\n}","/** True if experimental.async=true */\nexport let async_mode_flag = false;\n/** True if we're not certain that we only have Svelte 5 code in the compilation */\nexport let legacy_mode_flag = false;\n/** True if $inspect.trace is used */\nexport let tracing_mode_flag = false;\n\nexport function enable_async_mode_flag() {\n\tasync_mode_flag = true;\n}\n\n/** ONLY USE THIS DURING TESTING */\nexport function disable_async_mode_flag() {\n\tasync_mode_flag = false;\n}\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n\nexport function enable_tracing_mode_flag() {\n\ttracing_mode_flag = true;\n}\n","/** @import { Snapshot } from './types' */\nimport { DEV } from 'esm-env';\nimport * as w from './warnings.js';\nimport { get_prototype_of, is_array, object_prototype } from './utils.js';\n\n/**\n * In dev, we keep track of which properties could not be cloned. In prod\n * we don't bother, but we keep a dummy array around so that the\n * signature stays the same\n * @type {string[]}\n */\nconst empty = [];\n\n/**\n * @template T\n * @param {T} value\n * @param {boolean} [skip_warning]\n * @param {boolean} [no_tojson]\n * @returns {Snapshot}\n */\nexport function snapshot(value, skip_warning = false, no_tojson = false) {\n\tif (DEV && !skip_warning) {\n\t\t/** @type {string[]} */\n\t\tconst paths = [];\n\n\t\tconst copy = clone(value, new Map(), '', paths, null, no_tojson);\n\t\tif (paths.length === 1 && paths[0] === '') {\n\t\t\t// value could not be cloned\n\t\t\tw.state_snapshot_uncloneable();\n\t\t} else if (paths.length > 0) {\n\t\t\t// some properties could not be cloned\n\t\t\tconst slice = paths.length > 10 ? paths.slice(0, 7) : paths.slice(0, 10);\n\t\t\tconst excess = paths.length - slice.length;\n\n\t\t\tlet uncloned = slice.map((path) => `- ${path}`).join('\\n');\n\t\t\tif (excess > 0) uncloned += `\\n- ...and ${excess} more`;\n\n\t\t\tw.state_snapshot_uncloneable(uncloned);\n\t\t}\n\n\t\treturn copy;\n\t}\n\n\treturn clone(value, new Map(), '', empty, null, no_tojson);\n}\n\n/**\n * @template T\n * @param {T} value\n * @param {Map>} cloned\n * @param {string} path\n * @param {string[]} paths\n * @param {null | T} [original] The original value, if `value` was produced from a `toJSON` call\n * @param {boolean} [no_tojson]\n * @returns {Snapshot}\n */\nfunction clone(value, cloned, path, paths, original = null, no_tojson = false) {\n\tif (typeof value === 'object' && value !== null) {\n\t\tvar unwrapped = cloned.get(value);\n\t\tif (unwrapped !== undefined) return unwrapped;\n\n\t\tif (value instanceof Map) return /** @type {Snapshot} */ (new Map(value));\n\t\tif (value instanceof Set) return /** @type {Snapshot} */ (new Set(value));\n\n\t\tif (is_array(value)) {\n\t\t\tvar copy = /** @type {Snapshot} */ (Array(value.length));\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < value.length; i += 1) {\n\t\t\t\tvar element = value[i];\n\t\t\t\tif (i in value) {\n\t\t\t\t\tcopy[i] = clone(element, cloned, DEV ? `${path}[${i}]` : path, paths, null, no_tojson);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (get_prototype_of(value) === object_prototype) {\n\t\t\t/** @type {Snapshot} */\n\t\t\tcopy = {};\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var key of Object.keys(value)) {\n\t\t\t\tcopy[key] = clone(\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tvalue[key],\n\t\t\t\t\tcloned,\n\t\t\t\t\tDEV ? `${path}.${key}` : path,\n\t\t\t\t\tpaths,\n\t\t\t\t\tnull,\n\t\t\t\t\tno_tojson\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (value instanceof Date) {\n\t\t\t// Ensure SvelteDate snapshots are tracked\n\t\t\tvalue.getTime();\n\t\t\treturn /** @type {Snapshot} */ (structuredClone(value));\n\t\t}\n\n\t\tif (typeof (/** @type {T & { toJSON?: any } } */ (value).toJSON) === 'function' && !no_tojson) {\n\t\t\treturn clone(\n\t\t\t\t/** @type {T & { toJSON(): any } } */ (value).toJSON(),\n\t\t\t\tcloned,\n\t\t\t\tDEV ? `${path}.toJSON()` : path,\n\t\t\t\tpaths,\n\t\t\t\t// Associate the instance with the toJSON clone\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n\n\tif (value instanceof EventTarget) {\n\t\t// can't be cloned\n\t\treturn /** @type {Snapshot} */ (value);\n\t}\n\n\ttry {\n\t\treturn /** @type {Snapshot} */ (structuredClone(value));\n\t} catch (e) {\n\t\tif (DEV) {\n\t\t\tpaths.push(path);\n\t\t}\n\n\t\treturn /** @type {Snapshot} */ (value);\n\t}\n}\n","/** @import { Derived, Reaction, Value } from '#client' */\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { snapshot } from '../../shared/clone.js';\nimport { DERIVED, ASYNC, PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { effect_tracking } from '../reactivity/effects.js';\nimport { active_reaction, untrack } from '../runtime.js';\n\n/**\n * @typedef {{\n * traces: Error[];\n * }} TraceEntry\n */\n\n/** @type {{ reaction: Reaction | null, entries: Map } | null} */\nexport let tracing_expressions = null;\n\n/**\n * @param {Value} signal\n * @param {TraceEntry} [entry]\n */\nfunction log_entry(signal, entry) {\n\tconst value = signal.v;\n\n\tif (value === UNINITIALIZED) {\n\t\treturn;\n\t}\n\n\tconst type = get_type(signal);\n\tconst current_reaction = /** @type {Reaction} */ (active_reaction);\n\tconst dirty = signal.wv > current_reaction.wv || current_reaction.wv === 0;\n\tconst style = dirty\n\t\t? 'color: CornflowerBlue; font-weight: bold'\n\t\t: 'color: grey; font-weight: normal';\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupCollapsed(\n\t\tsignal.label ? `%c${type}%c ${signal.label}` : `%c${type}%c`,\n\t\tstyle,\n\t\tdirty ? 'font-weight: normal' : style,\n\t\ttypeof value === 'object' && value !== null && STATE_SYMBOL in value\n\t\t\t? snapshot(value, true)\n\t\t\t: value\n\t);\n\n\tif (type === '$derived') {\n\t\tconst deps = new Set(/** @type {Derived} */ (signal).deps);\n\t\tfor (const dep of deps) {\n\t\t\tlog_entry(dep);\n\t\t}\n\t}\n\n\tif (signal.created) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(signal.created);\n\t}\n\n\tif (dirty && signal.updated) {\n\t\tfor (const updated of signal.updated.values()) {\n\t\t\tif (updated.error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(updated.error);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (entry) {\n\t\tfor (var trace of entry.traces) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(trace);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n}\n\n/**\n * @param {Value} signal\n * @returns {'$state' | '$derived' | 'store'}\n */\nfunction get_type(signal) {\n\tif ((signal.f & (DERIVED | ASYNC)) !== 0) return '$derived';\n\treturn signal.label?.startsWith('$') ? 'store' : '$state';\n}\n\n/**\n * @template T\n * @param {() => string} label\n * @param {() => T} fn\n */\nexport function trace(label, fn) {\n\tvar previously_tracing_expressions = tracing_expressions;\n\n\ttry {\n\t\ttracing_expressions = { entries: new Map(), reaction: active_reaction };\n\n\t\tvar start = performance.now();\n\t\tvar value = fn();\n\t\tvar time = (performance.now() - start).toFixed(2);\n\n\t\tvar prefix = untrack(label);\n\n\t\tif (!effect_tracking()) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cran outside of an effect (${time}ms)`, 'color: grey');\n\t\t} else if (tracing_expressions.entries.size === 0) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`${prefix} %cno reactive dependencies (${time}ms)`, 'color: grey');\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.group(`${prefix} %c(${time}ms)`, 'color: grey');\n\n\t\t\tvar entries = tracing_expressions.entries;\n\n\t\t\tuntrack(() => {\n\t\t\t\tfor (const [signal, traces] of entries) {\n\t\t\t\t\tlog_entry(signal, traces);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\ttracing_expressions = null;\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t}\n\n\t\treturn value;\n\t} finally {\n\t\ttracing_expressions = previously_tracing_expressions;\n\t}\n}\n\n/**\n * @template {Value} T\n * @param {T} source\n * @param {string} label\n * @returns {T}\n */\nexport function tag(source, label) {\n\tsource.label = label;\n\ttag_proxy(source.v, label);\n\n\treturn source;\n}\n\n/**\n * @param {unknown} value\n * @param {string} label\n */\nexport function tag_proxy(value, label) {\n\t// @ts-expect-error\n\tvalue?.[PROXY_PATH_SYMBOL]?.(label);\n\treturn value;\n}\n\n/**\n * @param {unknown} value\n */\nexport function label(value) {\n\tif (typeof value === 'symbol') return `Symbol(${value.description})`;\n\tif (typeof value === 'function') return '';\n\tif (typeof value === 'object' && value) return '';\n\treturn String(value);\n}\n","import { DEV } from 'esm-env';\nimport { define_property } from './utils.js';\nimport * as e from './errors.js';\n\n/**\n * @param {string} label\n * @returns {Error & { stack: string } | null}\n */\nexport function get_error(label) {\n\tconst error = new Error();\n\tconst stack = get_stack();\n\n\tif (stack.length === 0) {\n\t\treturn null;\n\t}\n\n\tstack.unshift('\\n');\n\n\tdefine_property(error, 'stack', {\n\t\tvalue: stack.join('\\n')\n\t});\n\n\tdefine_property(error, 'name', {\n\t\tvalue: label\n\t});\n\n\treturn /** @type {Error & { stack: string }} */ (error);\n}\n\n/**\n * @returns {string[]}\n */\nexport function get_stack() {\n\t// @ts-ignore - doesn't exist everywhere\n\tconst limit = Error.stackTraceLimit;\n\t// @ts-ignore - doesn't exist everywhere\n\tError.stackTraceLimit = Infinity;\n\tconst stack = new Error().stack;\n\t// @ts-ignore - doesn't exist everywhere\n\tError.stackTraceLimit = limit;\n\n\tif (!stack) return [];\n\n\tconst lines = stack.split('\\n');\n\tconst new_lines = [];\n\n\tfor (let i = 0; i < lines.length; i++) {\n\t\tconst line = lines[i];\n\t\tconst posixified = line.replaceAll('\\\\', '/');\n\n\t\tif (line.trim() === 'Error') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.includes('validate_each_keys')) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (posixified.includes('svelte/src/internal') || posixified.includes('node_modules/.vite')) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tnew_lines.push(line);\n\t}\n\n\treturn new_lines;\n}\n\n/**\n * @param {boolean} condition\n * @param {string} message\n */\nexport function invariant(condition, message) {\n\tif (!DEV) {\n\t\tthrow new Error('invariant(...) was not guarded by if (DEV)');\n\t}\n\n\tif (!condition) e.invariant_violation(message);\n}\n","/** @import { ComponentContext, DevStackEntry, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport * as e from './errors.js';\nimport { active_effect, active_reaction } from './runtime.js';\nimport { create_user_effect } from './reactivity/effects.js';\nimport { async_mode_flag, legacy_mode_flag } from '../flags/index.js';\nimport { FILENAME } from '../../constants.js';\nimport { BRANCH_EFFECT, COMPONENT_SYMBOL } from './constants.js';\nimport { define_property } from '../shared/utils.js';\nimport { create_context, get_or_init_context_map } from '../shared/context.js';\n\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/** @type {DevStackEntry | null} */\nexport let dev_stack = null;\n\n/** @param {DevStackEntry | null} stack */\nexport function set_dev_stack(stack) {\n\tdev_stack = stack;\n}\n\n/**\n * Execute a callback with a new dev stack entry\n * @param {() => any} callback - Function to execute\n * @param {DevStackEntry['type']} type - Type of block/component\n * @param {any} component - Component function\n * @param {number} line - Line number\n * @param {number} column - Column number\n * @param {Record} [additional] - Any additional properties to add to the dev stack entry\n * @returns {any}\n */\nexport function add_svelte_meta(callback, type, component, line, column, additional) {\n\tconst parent = dev_stack;\n\n\tdev_stack = {\n\t\ttype,\n\t\tfile: component[FILENAME],\n\t\tline,\n\t\tcolumn,\n\t\tparent,\n\t\t...additional\n\t};\n\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tdev_stack = parent;\n\t}\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * \n * \n * \n * \n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\n/**\n * Returns a `[get, set, has]` triplet of functions for working with context in a type-safe way.\n *\n * `get` will throw an error if `set` has not yet been called in the current component or any of\n * its ancestors.\n *\n * @template T\n * @returns {[() => T, (context: T) => T, () => boolean]}\n * @since 5.40.0\n */\nexport function createContext() {\n\treturn /** @type {[() => T, (context: T) => T, () => boolean]} */ (\n\t\tcreate_context(getContext, setContext, hasContext)\n\t);\n}\n\n/**\n * Retrieves the context set with the specified `key` in the current component or any of its\n * ancestors. If multiple components set the same key, the value from the closest one is returned.\n * A `setContext` call in the current component is only visible to `getContext` calls that run after it.\n * Must be called during component initialisation.\n *\n * [`createContext`](https://svelte.dev/docs/svelte/svelte#createContext) is a type-safe alternative.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map(component_context, 'getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to the component itself and all of its\n * descendants (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * [`createContext`](https://svelte.dev/docs/svelte/svelte#createContext) is a type-safe alternative.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map(component_context, 'setContext');\n\n\tif (async_mode_flag) {\n\t\tvar flags = /** @type {Effect} */ (active_effect).f;\n\t\tvar valid =\n\t\t\t!active_reaction &&\n\t\t\t(flags & BRANCH_EFFECT) !== 0 &&\n\t\t\t// pop() runs synchronously, so this indicates we're setting context after an await\n\t\t\t!(/** @type {ComponentContext} */ (component_context).i);\n\n\t\tif (!valid) {\n\t\t\te.set_context_after_init();\n\t\t}\n\t}\n\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of the current component or any of\n * its ancestors. Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map(component_context, 'hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the current component, including entries\n * inherited from its ancestors. Must be called during component initialisation. Useful, for\n * example, if you programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map} [T=Map]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map(component_context, 'getAllContexts');\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {Record} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tcomponent_context = {\n\t\tp: component_context,\n\t\ti: false,\n\t\tc: null,\n\t\te: null,\n\t\ts: props,\n\t\tx: null,\n\t\tr: /** @type {Effect} */ (active_effect),\n\t\tl: legacy_mode_flag && !runes ? { s: null, u: null, $: [] } : null\n\t};\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tvar context = /** @type {ComponentContext} */ (component_context);\n\tvar effects = context.e;\n\n\tif (effects !== null) {\n\t\tcontext.e = null;\n\n\t\tfor (var fn of effects) {\n\t\t\tcreate_user_effect(fn);\n\t\t}\n\t}\n\n\tif (component !== undefined) {\n\t\tcontext.x = component;\n\t}\n\n\tcontext.i = true;\n\n\tcomponent_context = context.p;\n\n\tif (DEV) {\n\t\tdev_current_component_function = component_context?.function ?? null;\n\t}\n\n\treturn mark_as_component(component);\n}\n\n/**\n * Add a symbol to the object (or create one if undefined) to mark it as a component so it isn't proxified.\n * @param {any} component\n */\nexport function mark_as_component(component = {}) {\n\tdefine_property(component, COMPONENT_SYMBOL, { value: true });\n\treturn component;\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n","import { run_all } from '../../shared/utils.js';\nimport { is_flushing_sync } from '../reactivity/batch.js';\n\n/** @type {Array<() => void>} */\nlet micro_tasks = [];\n\nfunction run_micro_tasks() {\n\tvar tasks = micro_tasks;\n\tmicro_tasks = [];\n\trun_all(tasks);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_micro_task(fn) {\n\tif (micro_tasks.length === 0 && !is_flushing_sync) {\n\t\tvar tasks = micro_tasks;\n\t\tqueueMicrotask(() => {\n\t\t\t// If this is false, a flushSync happened in the meantime. Do _not_ run new scheduled microtasks in that case\n\t\t\t// as the ordering of microtasks would be broken at that point - consider this case:\n\t\t\t// - queue_micro_task schedules microtask A to flush task X\n\t\t\t// - synchronously after, flushSync runs, processing task X\n\t\t\t// - synchronously after, some other microtask B is scheduled, but not through queue_micro_task but for example a Promise.resolve() in user code\n\t\t\t// - synchronously after, queue_micro_task schedules microtask C to flush task Y\n\t\t\t// - one tick later, microtask A now resolves, flushing task Y before microtask B, which is incorrect\n\t\t\t// This if check prevents that race condition (that realistically will only happen in tests)\n\t\t\tif (tasks === micro_tasks) run_micro_tasks();\n\t\t});\n\t}\n\n\tmicro_tasks.push(fn);\n}\n\n/**\n * Synchronously run any queued tasks.\n */\nexport function flush_tasks() {\n\twhile (micro_tasks.length > 0) {\n\t\trun_micro_tasks();\n\t}\n}\n","/** @import { Derived, Signal } from '#client' */\nimport { CLEAN, CONNECTED, DIRTY, MAYBE_DIRTY } from '#client/constants';\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * Set a derived's status to CLEAN or MAYBE_DIRTY based on its connection state.\n * @param {Derived} derived\n */\nexport function update_derived_status(derived) {\n\t// Only mark as MAYBE_DIRTY if disconnected and has dependencies.\n\tif ((derived.f & CONNECTED) !== 0 || derived.deps === null) {\n\t\tset_signal_status(derived, CLEAN);\n\t} else {\n\t\tset_signal_status(derived, MAYBE_DIRTY);\n\t}\n}\n","/** @import { Effect } from '#client' */\nimport { CLEAN, DIRTY, MAYBE_DIRTY } from '#client/constants';\nimport { set_signal_status } from './status.js';\n\n/**\n * @param {Effect} effect\n * @param {Map} dirty_reactions\n */\nexport function defer_effect(effect, dirty_reactions) {\n\tif ((effect.f & DIRTY) !== 0) {\n\t\tdirty_reactions.set(effect, DIRTY);\n\t} else if ((effect.f & MAYBE_DIRTY) !== 0 && dirty_reactions.get(effect) !== DIRTY) {\n\t\tdirty_reactions.set(effect, MAYBE_DIRTY);\n\t}\n\n\t// mark as clean so they get scheduled if they depend on pending async state\n\tset_signal_status(effect, CLEAN);\n}\n","/** @import { Derived, Effect, Value } from '#client' */\n\nimport {\n\tBLOCK_EFFECT,\n\tBOUNDARY_EFFECT,\n\tBRANCH_EFFECT,\n\tCLEAN,\n\tCONNECTED,\n\tDERIVED,\n\tDIRTY,\n\tEFFECT,\n\tASYNC,\n\tDESTROYED,\n\tINERT,\n\tMAYBE_DIRTY,\n\tRENDER_EFFECT,\n\tROOT_EFFECT,\n\tMANAGED_EFFECT\n} from '#client/constants';\nimport { snapshot } from '../../shared/clone.js';\nimport { untrack } from '../runtime.js';\n\n/**\n *\n * @param {Effect} effect\n */\nexport function root(effect) {\n\twhile (effect.parent !== null) {\n\t\teffect = effect.parent;\n\t}\n\n\treturn effect;\n}\n\n/**\n *\n * @param {Effect} effect\n * @param {boolean} append_effect\n * @returns {string}\n */\nfunction effect_label(effect, append_effect = false) {\n\tconst flags = effect.f;\n\n\tlet label = `(unknown ${append_effect ? 'effect' : ''})`;\n\n\tif ((flags & ROOT_EFFECT) !== 0) {\n\t\tlabel = 'root';\n\t} else if ((flags & BOUNDARY_EFFECT) !== 0) {\n\t\tlabel = 'boundary';\n\t} else if ((flags & BLOCK_EFFECT) !== 0) {\n\t\tlabel = 'block';\n\t} else if ((flags & MANAGED_EFFECT) !== 0) {\n\t\tlabel = 'managed';\n\t} else if ((flags & ASYNC) !== 0) {\n\t\tlabel = 'async';\n\t} else if ((flags & BRANCH_EFFECT) !== 0) {\n\t\tlabel = 'branch';\n\t} else if ((flags & RENDER_EFFECT) !== 0) {\n\t\tlabel = 'render effect';\n\t} else if ((flags & EFFECT) !== 0) {\n\t\tlabel = 'effect';\n\t}\n\n\tif (append_effect && !label.endsWith('effect')) {\n\t\tlabel += ' effect';\n\t}\n\n\treturn label;\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect[]} highlighted\n */\nexport function log_effect_tree(effect, highlighted = [], depth = 0, is_reachable = true) {\n\tconst flags = effect.f;\n\tlet label = effect_label(effect);\n\n\tlet status =\n\t\t(flags & CLEAN) !== 0 ? 'clean' : (flags & MAYBE_DIRTY) !== 0 ? 'maybe dirty' : 'dirty';\n\n\tlet styles = [`font-weight: ${status === 'clean' ? 'normal' : 'bold'}`];\n\n\tif (status !== 'clean' && !is_reachable) {\n\t\tlabel = `⚠️ ${label}`;\n\t\tstyles.push(`color: red`);\n\t}\n\n\tif ((flags & INERT) !== 0) {\n\t\tstyles.push('font-style: italic');\n\t}\n\n\tif (highlighted.includes(effect)) {\n\t\tstyles.push('background-color: yellow');\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.group(`%c${label} (${status})`, styles.join('; '));\n\n\tif (depth === 0) {\n\t\tconst callsite = new Error().stack\n\t\t\t?.split('\\n')[2]\n\t\t\t.replace(/\\s+at (?: \\w+\\(?)?(.+)\\)?/, (m, $1) => $1.replace(/\\?[^:]+/, ''));\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(callsite);\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupCollapsed(`%cfn`, `font-weight: normal`);\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(effect.fn);\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupEnd();\n\t}\n\n\tif (effect.deps !== null) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupCollapsed('%cdeps', 'font-weight: normal');\n\n\t\tfor (const dep of effect.deps) {\n\t\t\tlog_dep(dep);\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupEnd();\n\t}\n\n\tif (effect.nodes) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(effect.nodes.start);\n\n\t\tif (effect.nodes.start !== effect.nodes.end) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(effect.nodes.end);\n\t\t}\n\t}\n\n\tvar child_is_reachable = is_reachable && ((flags & BRANCH_EFFECT) === 0 || (flags & CLEAN) === 0);\n\n\tlet child = effect.first;\n\twhile (child !== null) {\n\t\tlog_effect_tree(child, highlighted, depth + 1, child_is_reachable);\n\t\tchild = child.next;\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n}\n\n/**\n *\n * @param {Value} dep\n */\nfunction log_dep(dep) {\n\tif ((dep.f & DERIVED) !== 0) {\n\t\tconst derived = /** @type {Derived} */ (dep);\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupCollapsed(\n\t\t\t`%c$derived %c${dep.label ?? ''}`,\n\t\t\t'font-weight: bold; color: CornflowerBlue',\n\t\t\t'font-weight: normal',\n\t\t\tuntrack(() => snapshot(derived.v))\n\t\t);\n\n\t\tif (derived.deps) {\n\t\t\tfor (const d of derived.deps) {\n\t\t\t\tlog_dep(d);\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupEnd();\n\t} else {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(\n\t\t\t`%c$state %c${dep.label ?? ''}`,\n\t\t\t'font-weight: bold; color: CornflowerBlue',\n\t\t\t'font-weight: normal',\n\t\t\tuntrack(() => snapshot(dep.v))\n\t\t);\n\t}\n}\n\n/**\n * Logs all reactions of a source or derived transitively\n * @param {Derived | Value} signal\n */\nexport function log_reactions(signal) {\n\t/** @type {Set} */\n\tconst visited = new Set();\n\n\t/**\n\t * Returns an array of flag names that are set on the given flags bitmask\n\t * @param {number} flags\n\t * @returns {string[]}\n\t */\n\tfunction get_derived_flag_names(flags) {\n\t\t/** @type {string[]} */\n\t\tconst names = [];\n\n\t\tif ((flags & CLEAN) !== 0) names.push('CLEAN');\n\t\tif ((flags & DIRTY) !== 0) names.push('DIRTY');\n\t\tif ((flags & MAYBE_DIRTY) !== 0) names.push('MAYBE_DIRTY');\n\t\tif ((flags & CONNECTED) !== 0) names.push('CONNECTED');\n\t\tif ((flags & INERT) !== 0) names.push('INERT');\n\t\tif ((flags & DESTROYED) !== 0) names.push('DESTROYED');\n\n\t\treturn names;\n\t}\n\n\t/**\n\t * @param {Derived | Value} d\n\t * @param {number} depth\n\t */\n\tfunction log_derived(d, depth) {\n\t\tconst flags = d.f;\n\t\tconst flag_names = get_derived_flag_names(flags);\n\t\tconst flags_str = flag_names.length > 0 ? `(${flag_names.join(', ')})` : '(no flags)';\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.group(\n\t\t\t`%c${flags & DERIVED ? '$derived' : '$state'} %c${d.label ?? ''} %c${flags_str}`,\n\t\t\t'font-weight: bold; color: CornflowerBlue',\n\t\t\t'font-weight: normal; color: inherit',\n\t\t\t'font-weight: normal; color: gray'\n\t\t);\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(untrack(() => snapshot(d.v)));\n\n\t\tif ('fn' in d) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log('%cfn:', 'font-weight: bold', d.fn);\n\t\t}\n\n\t\tif (d.reactions !== null && d.reactions.length > 0) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.group('%creactions', 'font-weight: bold');\n\n\t\t\tfor (const reaction of d.reactions) {\n\t\t\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\t\t\tconst derived_reaction = /** @type {Derived} */ (reaction);\n\n\t\t\t\t\tif (visited.has(derived_reaction)) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t`%c$derived %c${derived_reaction.label ?? ''} %c(already seen)`,\n\t\t\t\t\t\t\t'font-weight: bold; color: CornflowerBlue',\n\t\t\t\t\t\t\t'font-weight: normal; color: inherit',\n\t\t\t\t\t\t\t'font-weight: bold; color: orange'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvisited.add(derived_reaction);\n\t\t\t\t\t\tlog_derived(derived_reaction, depth + 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// It's an effect\n\t\t\t\t\tconst label = effect_label(/** @type {Effect} */ (reaction), true);\n\t\t\t\t\tconst status = (flags & MAYBE_DIRTY) !== 0 ? 'maybe dirty' : 'dirty';\n\n\t\t\t\t\t// Collect parent statuses\n\t\t\t\t\t/** @type {string[]} */\n\t\t\t\t\tconst parent_statuses = [];\n\t\t\t\t\tlet show = false;\n\t\t\t\t\tlet current = /** @type {Effect} */ (reaction).parent;\n\t\t\t\t\twhile (current !== null) {\n\t\t\t\t\t\tconst parent_flags = current.f;\n\t\t\t\t\t\tif ((parent_flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\t\t\t\t\tconst parent_status = (parent_flags & CLEAN) !== 0 ? 'clean' : 'not clean';\n\t\t\t\t\t\t\tif (parent_status === 'clean' && parent_statuses.includes('not clean')) show = true;\n\t\t\t\t\t\t\tparent_statuses.push(parent_status);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!current.parent) break;\n\t\t\t\t\t\tcurrent = current.parent;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if reaction is reachable from root\n\t\t\t\t\tconst seen_effects = new Set();\n\t\t\t\t\tlet reachable = false;\n\t\t\t\t\t/**\n\t\t\t\t\t * @param {Effect | null} effect\n\t\t\t\t\t */\n\t\t\t\t\tfunction check_reachable(effect) {\n\t\t\t\t\t\tif (effect === null || reachable) return;\n\t\t\t\t\t\tif (effect === reaction) {\n\t\t\t\t\t\t\treachable = true;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (effect.f & DESTROYED) return;\n\t\t\t\t\t\tif (seen_effects.has(effect)) {\n\t\t\t\t\t\t\tthrow new Error('');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseen_effects.add(effect);\n\t\t\t\t\t\tlet child = effect.first;\n\t\t\t\t\t\twhile (child !== null) {\n\t\t\t\t\t\t\tcheck_reachable(child);\n\t\t\t\t\t\t\tchild = child.next;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (current) check_reachable(current);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t`%c⚠️ Circular reference detected in effect tree`,\n\t\t\t\t\t\t\t'font-weight: bold; color: red',\n\t\t\t\t\t\t\tseen_effects\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!reachable) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t`%c⚠️ Effect is NOT reachable from its parent chain`,\n\t\t\t\t\t\t\t'font-weight: bold; color: red'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst parent_status_str = show ? ` (${parent_statuses.join(', ')})` : '';\n\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`%c${label} (${status})${parent_status_str}`,\n\t\t\t\t\t\t`font-weight: bold; color: ${parent_status_str ? 'red' : 'green'}`,\n\t\t\t\t\t\treaction\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log('%cno reactions', 'font-style: italic; color: gray');\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupEnd();\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.group(`%cDerived Reactions Graph`, 'font-weight: bold; color: purple');\n\n\tvisited.add(signal);\n\tlog_derived(signal, 0);\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n}\n\n/**\n * Traverses an effect tree and logs branches where a non-clean branch exists below a clean branch\n * @param {Effect} effect\n */\nexport function log_inconsistent_branches(effect) {\n\tconst root_effect = root(effect);\n\n\t/**\n\t * @typedef {{\n\t * effect: Effect,\n\t * status: 'clean' | 'maybe dirty' | 'dirty',\n\t * parent_clean: boolean,\n\t * children: BranchInfo[]\n\t * }} BranchInfo\n\t */\n\n\t/**\n\t * Collects branch effects from the tree\n\t * @param {Effect} eff\n\t * @param {boolean} parent_clean - whether any ancestor branch is clean\n\t * @returns {BranchInfo[]}\n\t */\n\tfunction collect_branches(eff, parent_clean) {\n\t\t/** @type {BranchInfo[]} */\n\t\tconst branches = [];\n\t\tconst flags = eff.f;\n\t\tconst is_branch = (flags & BRANCH_EFFECT) !== 0;\n\n\t\tif (is_branch) {\n\t\t\tconst status =\n\t\t\t\t(flags & CLEAN) !== 0 ? 'clean' : (flags & MAYBE_DIRTY) !== 0 ? 'maybe dirty' : 'dirty';\n\n\t\t\t/** @type {BranchInfo[]} */\n\t\t\tconst child_branches = [];\n\n\t\t\tlet child = eff.first;\n\t\t\twhile (child !== null) {\n\t\t\t\tchild_branches.push(...collect_branches(child, status === 'clean'));\n\t\t\t\tchild = child.next;\n\t\t\t}\n\n\t\t\tbranches.push({\n\t\t\t\teffect: eff,\n\t\t\t\tstatus,\n\t\t\t\tparent_clean,\n\t\t\t\tchildren: child_branches\n\t\t\t});\n\t\t} else {\n\t\t\t// Not a branch, continue traversing\n\t\t\tlet child = eff.first;\n\t\t\twhile (child !== null) {\n\t\t\t\tbranches.push(...collect_branches(child, parent_clean));\n\t\t\t\tchild = child.next;\n\t\t\t}\n\t\t}\n\n\t\treturn branches;\n\t}\n\n\t/**\n\t * Checks if a branch tree contains any inconsistencies (non-clean below clean)\n\t * @param {BranchInfo} branch\n\t * @param {boolean} ancestor_clean\n\t * @returns {boolean}\n\t */\n\tfunction has_inconsistency(branch, ancestor_clean) {\n\t\tconst is_inconsistent = ancestor_clean && branch.status !== 'clean';\n\t\tif (is_inconsistent) return true;\n\n\t\tconst new_ancestor_clean = ancestor_clean || branch.status === 'clean';\n\t\tfor (const child of branch.children) {\n\t\t\tif (has_inconsistency(child, new_ancestor_clean)) return true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Logs a branch and its children, but only if there are inconsistencies\n\t * @param {BranchInfo} branch\n\t * @param {boolean} ancestor_clean\n\t * @param {number} depth\n\t */\n\tfunction log_branch(branch, ancestor_clean, depth) {\n\t\tconst is_inconsistent = ancestor_clean && branch.status !== 'clean';\n\t\tconst new_ancestor_clean = ancestor_clean || branch.status === 'clean';\n\n\t\t// Only log if this branch or any descendant has an inconsistency\n\t\tif (!has_inconsistency(branch, ancestor_clean) && !is_inconsistent) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst style = is_inconsistent\n\t\t\t? 'font-weight: bold; color: red'\n\t\t\t: branch.status === 'clean'\n\t\t\t\t? 'font-weight: normal; color: green'\n\t\t\t\t: 'font-weight: bold; color: orange';\n\n\t\tconst warning = is_inconsistent ? ' ⚠️ INCONSISTENT' : '';\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.group(`%cbranch (${branch.status})${warning}`, style);\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%ceffect:', 'font-weight: bold', branch.effect);\n\n\t\tif (branch.effect.fn) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log('%cfn:', 'font-weight: bold', branch.effect.fn);\n\t\t}\n\n\t\tif (branch.effect.deps !== null) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupCollapsed('%cdeps', 'font-weight: normal');\n\t\t\tfor (const dep of branch.effect.deps) {\n\t\t\t\tlog_dep(dep);\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t}\n\n\t\tif (is_inconsistent) {\n\t\t\tlog_effect_tree(branch.effect);\n\t\t} else if (branch.children.length > 0) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.group('%cchild branches', 'font-weight: bold');\n\t\t\tfor (const child of branch.children) {\n\t\t\t\tlog_branch(child, new_ancestor_clean, depth + 1);\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.groupEnd();\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.groupEnd();\n\t}\n\n\tconst branches = collect_branches(root_effect, false);\n\n\t// Check if there are any inconsistencies at all\n\tlet has_any_inconsistency = false;\n\tfor (const branch of branches) {\n\t\tif (has_inconsistency(branch, false)) {\n\t\t\thas_any_inconsistency = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!has_any_inconsistency) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%cNo inconsistent branches found', 'font-weight: bold; color: green');\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.group(`%cInconsistent Branches (non-clean below clean)`, 'font-weight: bold; color: red');\n\n\tfor (const branch of branches) {\n\t\tlog_branch(branch, false, 0);\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.groupEnd();\n\n\treturn true;\n}\n\n/**\n * Stringify a derived function, removing `$.track_reactivity_loss` and `$.get` etc\n * @param {Function} fn\n */\nexport function stringify_derived(fn) {\n\treturn `{${fn\n\t\t.toString()\n\t\t.replace(/^async \\(\\) => /, '')\n\t\t.replace(/^\\(/, '')\n\t\t.replace(/\\$\\.get\\((.+?)\\)/g, (_, name) => name)\n\t\t.replace(/\\$\\.track_reactivity_loss\\((.+?)\\)\\(\\)/g, (_, name) => name)\n\t\t.replace(/\\)$/, '')}}`;\n}\n","import { hydrating } from '../hydration.js';\nimport { clear_text_content, get_first_child } from '../operations.js';\nimport { queue_micro_task } from '../task.js';\nimport { FORM_RESET_HANDLER } from '../../constants.js';\n\n/**\n * @param {HTMLElement} dom\n * @param {boolean} value\n * @returns {void}\n */\nexport function autofocus(dom, value) {\n\tif (value) {\n\t\tconst body = document.body;\n\t\tdom.autofocus = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (document.activeElement === body) {\n\t\t\t\tdom.focus();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * The child of a textarea actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLTextAreaElement} dom\n * @returns {void}\n */\nexport function remove_textarea_child(dom) {\n\tif (hydrating && get_first_child(dom) !== null) {\n\t\tclear_text_content(dom);\n\t}\n}\n\nlet listening_to_form_reset = false;\n\nexport function add_form_reset_listener() {\n\tif (!listening_to_form_reset) {\n\t\tlistening_to_form_reset = true;\n\t\tdocument.addEventListener(\n\t\t\t'reset',\n\t\t\t(evt) => {\n\t\t\t\t// Needs to happen one tick later or else the dom properties of the form\n\t\t\t\t// elements have not updated to their reset values yet\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (!evt.defaultPrevented) {\n\t\t\t\t\t\tfor (const e of /**@type {HTMLFormElement} */ (evt.target).elements) {\n\t\t\t\t\t\t\t/** @type {any} */ (e)[FORM_RESET_HANDLER]?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t// In the capture phase to guarantee we get noticed of it (no possibility of stopPropagation)\n\t\t\t{ capture: true }\n\t\t);\n\t}\n}\n","import { teardown } from '../../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../../runtime.js';\nimport { FORM_RESET_HANDLER } from '../../../constants.js';\nimport { add_form_reset_listener } from '../misc.js';\n\n/**\n * Fires the handler once immediately (unless corresponding arg is set to `false`),\n * then listens to the given events until the render effect context is destroyed\n * @param {EventTarget} target\n * @param {Array} events\n * @param {(event?: Event) => void} handler\n * @param {any} call_handler_immediately\n */\nexport function listen(target, events, handler, call_handler_immediately = true) {\n\tif (call_handler_immediately) {\n\t\thandler();\n\t}\n\n\tfor (var name of events) {\n\t\ttarget.addEventListener(name, handler);\n\t}\n\n\tteardown(() => {\n\t\tfor (var name of events) {\n\t\t\ttarget.removeEventListener(name, handler);\n\t\t}\n\t});\n}\n\n/**\n * @template T\n * @param {() => T} fn\n */\nexport function without_reactive_context(fn) {\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * Listen to the given event, and then instantiate a global form reset listener if not already done,\n * to notify all bindings when the form is reset\n * @param {HTMLElement} element\n * @param {string} event\n * @param {(is_reset?: true) => void} handler\n * @param {(is_reset?: true) => void} [on_reset]\n */\nexport function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {\n\telement.addEventListener(event, () => without_reactive_context(handler));\n\tconst prev = /** @type {any} */ (element)[FORM_RESET_HANDLER];\n\tif (prev) {\n\t\t// special case for checkbox that can have multiple binds (group & checked)\n\t\t/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => {\n\t\t\tprev();\n\t\t\ton_reset(true);\n\t\t};\n\t} else {\n\t\t/** @type {any} */ (element)[FORM_RESET_HANDLER] = () => on_reset(true);\n\t}\n\n\tadd_form_reset_listener();\n}\n","/** @import { Blocker, Effect, Source, Value } from '#client' */\nimport { DESTROYED, STALE_REACTION } from '#client/constants';\nimport { DEV } from 'esm-env';\nimport {\n\tcomponent_context,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_stack\n} from '../context.js';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../runtime.js';\nimport { Batch, current_batch } from './batch.js';\nimport {\n\tasync_derived,\n\treactivity_loss_tracker,\n\tderived,\n\tderived_safe_equal,\n\tset_reactivity_loss_tracker\n} from './deriveds.js';\nimport { aborted } from './effects.js';\n\n/**\n * @param {Blocker[]} blockers\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise>} async\n * @param {(values: Value[]) => any} fn\n */\nexport function flatten(blockers, sync, async, fn) {\n\tconst d = is_runes() ? derived : derived_safe_equal;\n\n\t// Filter out already-settled blockers - no need to wait for them\n\tvar pending = blockers.filter((b) => !b.settled);\n\n\tvar deriveds = sync.map(d);\n\n\tif (DEV) {\n\t\tderiveds.forEach((d, i) => {\n\t\t\t// TODO this is kinda useful for debugging but a lousy implementation —\n\t\t\t// maybe the compiler could pass through the template string\n\t\t\td.label = sync[i]\n\t\t\t\t.toString()\n\t\t\t\t.replace('() => ', '')\n\t\t\t\t.replaceAll('$.eager(() => ', '$state.eager(')\n\t\t\t\t.replace(/\\$\\.get\\((.+?)\\)/g, (_, id) => id);\n\t\t});\n\t}\n\n\tif (async.length === 0 && pending.length === 0) {\n\t\tfn(deriveds);\n\t\treturn;\n\t}\n\n\tvar parent = /** @type {Effect} */ (active_effect);\n\n\tvar restore = capture();\n\tvar blocker_promise =\n\t\tpending.length === 1\n\t\t\t? pending[0].promise\n\t\t\t: pending.length > 1\n\t\t\t\t? Promise.all(pending.map((b) => b.promise))\n\t\t\t\t: null;\n\n\t/**\n\t * @param {Source[]} async\n\t */\n\tfunction finish(async) {\n\t\tif ((parent.f & DESTROYED) !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\trestore();\n\n\t\ttry {\n\t\t\tfn([...deriveds, ...async]);\n\t\t} catch (error) {\n\t\t\tinvoke_error_boundary(error, parent);\n\t\t}\n\n\t\tunset_context();\n\t}\n\n\tvar decrement_pending = increment_pending();\n\n\t// Fast path: blockers but no async expressions\n\tif (async.length === 0) {\n\t\t/** @type {Promise} */ (blocker_promise).then(() => finish([])).finally(decrement_pending);\n\t\treturn;\n\t}\n\n\t// Full path: has async expressions\n\tfunction run() {\n\t\tPromise.all(async.map((expression) => async_derived(expression)))\n\t\t\t.then(finish)\n\t\t\t.catch((error) => invoke_error_boundary(error, parent))\n\t\t\t.finally(decrement_pending);\n\t}\n\n\tif (blocker_promise) {\n\t\tblocker_promise.then(() => {\n\t\t\tif ((parent.f & DESTROYED) !== 0) {\n\t\t\t\tdecrement_pending();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trestore();\n\t\t\trun();\n\t\t\tunset_context();\n\t\t});\n\t} else {\n\t\trun();\n\t}\n}\n\n/**\n * @param {Blocker[]} blockers\n * @param {(values: Value[]) => any} fn\n */\nexport function run_after_blockers(blockers, fn) {\n\tflatten(blockers, [], [], fn);\n}\n\n/**\n * Captures the current effect context so that we can restore it after\n * some asynchronous work has happened (so that e.g. `await a + b`\n * causes `b` to be registered as a dependency).\n */\nexport function capture() {\n\tvar previous_effect = /** @type {Effect} */ (active_effect);\n\tvar previous_reaction = active_reaction;\n\tvar previous_component_context = component_context;\n\tvar previous_batch = /** @type {Batch} */ (current_batch);\n\n\tif (DEV) {\n\t\tvar previous_dev_stack = dev_stack;\n\t}\n\n\treturn function restore(activate_batch = true) {\n\t\tset_active_effect(previous_effect);\n\t\tset_active_reaction(previous_reaction);\n\t\tset_component_context(previous_component_context);\n\n\t\tif (activate_batch && (previous_effect.f & DESTROYED) === 0) {\n\t\t\t// TODO we only need optional chaining here because `{#await ...}` blocks\n\t\t\t// are anomalous. Once we retire them we can get rid of it\n\t\t\tprevious_batch?.activate();\n\t\t\tprevious_batch?.apply();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tset_reactivity_loss_tracker(null);\n\t\t\tset_dev_stack(previous_dev_stack);\n\t\t}\n\t};\n}\n\n/** `true` between a `save` thunk restoring a context and the end of that synchronous segment */\nvar restored = false;\n\n/**\n * Wraps an `await` expression in such a way that the effect context that was\n * active before the expression evaluated can be reapplied afterwards —\n * `await a + b` becomes `(await $.save(a))() + b`\n * @template T\n * @param {Promise} promise\n * @returns {Promise<() => T>}\n */\nexport async function save(promise) {\n\tvar restore = capture();\n\t// the context restored by an earlier `save` in this expression must not\n\t// outlive the synchronous segment that is about to end at this `await`\n\tunsave();\n\tvar value = await promise;\n\n\treturn () => {\n\t\trestore();\n\t\trestored = true;\n\t\treturn value;\n\t};\n}\n\n/**\n * Unset the context if a `save` thunk restored it in the current synchronous segment,\n * so that a foreign microtask can never run inside a restored reaction context.\n * Called at every suspension point, and at the end of async expression bodies —\n * `async () => (await $.save(a))().b` becomes `async () => { try { return (await $.save(a))().b; } finally { $.unsave(); } }`\n * @template T\n * @param {T} [value]\n * @returns {T}\n */\nexport function unsave(value) {\n\tif (restored) unset_context();\n\treturn /** @type {T} */ (value);\n}\n\n/**\n * Reset `current_async_effect` after the `promise` resolves, so\n * that we can emit `await_reactivity_loss` warnings\n * @template T\n * @param {Promise} promise\n * @returns {Promise<() => T>}\n */\nexport async function track_reactivity_loss(promise) {\n\tunsave();\n\tvar previous_reactivity_loss_tracker = reactivity_loss_tracker;\n\t// Ensure that unrelated reads after an async operation is kicked off don't cause false positives\n\tqueueMicrotask(() => {\n\t\tif (reactivity_loss_tracker === previous_reactivity_loss_tracker) {\n\t\t\tset_reactivity_loss_tracker(null);\n\t\t}\n\t});\n\n\tvar value = await promise;\n\n\treturn () => {\n\t\tset_reactivity_loss_tracker(previous_reactivity_loss_tracker);\n\t\t// While this can result in false negatives it also guards against the more important\n\t\t// false positives that would occur if this is the last in a chain of async operations,\n\t\t// and the reactivity_loss_tracker would then stay around until the next async operation happens.\n\t\tqueueMicrotask(() => {\n\t\t\tif (reactivity_loss_tracker === previous_reactivity_loss_tracker) {\n\t\t\t\tset_reactivity_loss_tracker(null);\n\t\t\t}\n\t\t});\n\n\t\treturn value;\n\t};\n}\n\n/**\n * Used in `for await` loops in DEV, so\n * that we can emit `await_reactivity_loss` warnings\n * after each `async_iterator` result resolves and\n * after the `async_iterator` return resolves (if it runs)\n * @template T\n * @template TReturn\n * @param {Iterable | AsyncIterable} iterable\n * @returns {AsyncGenerator}\n */\nexport async function* for_await_track_reactivity_loss(iterable) {\n\t// This is based on the algorithms described in ECMA-262:\n\t// ForIn/OfBodyEvaluation\n\t// https://tc39.es/ecma262/multipage/ecmascript-language-statements-and-declarations.html#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset\n\t// AsyncIteratorClose\n\t// https://tc39.es/ecma262/multipage/abstract-operations.html#sec-asynciteratorclose\n\n\t/** @type {AsyncIterator} */\n\t// @ts-ignore\n\tconst iterator = iterable[Symbol.asyncIterator]?.() ?? iterable[Symbol.iterator]?.();\n\n\tif (iterator === undefined) {\n\t\tthrow new TypeError('value is not async iterable');\n\t}\n\n\t// eslint-disable-next-line no-useless-assignment\n\tlet invoke_return = true;\n\n\ttry {\n\t\twhile (true) {\n\t\t\tconst { done, value } = (await track_reactivity_loss(iterator.next()))();\n\t\t\tif (done) {\n\t\t\t\tinvoke_return = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar prev = reactivity_loss_tracker;\n\t\t\ttry {\n\t\t\t\tyield value;\n\t\t\t} catch (e) {\n\t\t\t\tset_reactivity_loss_tracker(prev);\n\t\t\t\t// If the yield throws, we need to call `return` but not return its value, instead rethrow\n\t\t\t\tif (iterator.return !== undefined) {\n\t\t\t\t\t(await track_reactivity_loss(iterator.return()))();\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\tset_reactivity_loss_tracker(prev);\n\t\t}\n\t} catch (error) {\n\t\tinvoke_return = false;\n\t\tthrow error;\n\t} finally {\n\t\t// If the iterator had an abrupt completion (break) and `return` is defined on the iterator, call it and return the value\n\t\tif (invoke_return && iterator.return !== undefined) {\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn /** @type {TReturn} */ ((await track_reactivity_loss(iterator.return()))().value);\n\t\t}\n\t}\n}\n\nexport function unset_context(deactivate_batch = true) {\n\trestored = false;\n\tset_active_effect(null);\n\tset_active_reaction(null);\n\tset_component_context(null);\n\tif (deactivate_batch) current_batch?.deactivate();\n\n\tif (DEV) {\n\t\tset_reactivity_loss_tracker(null);\n\t\tset_dev_stack(null);\n\t}\n}\n\n/**\n * @param {Array<() => void | Promise>} thunks\n */\nexport function run(thunks) {\n\tconst restore = capture();\n\n\tconst decrement_pending = increment_pending();\n\n\tvar active = /** @type {Effect} */ (active_effect);\n\n\t/** @type {null | { error: any }} */\n\tvar errored = null;\n\n\t/** @param {any} error */\n\tconst handle_error = (error) => {\n\t\terrored = { error }; // wrap in object in case a promise rejects with a falsy value\n\n\t\tif (!aborted(active)) {\n\t\t\tinvoke_error_boundary(error, active);\n\t\t}\n\t};\n\n\tvar promise = Promise.resolve(thunks[0]()).catch(handle_error);\n\n\t/** @type {Blocker} */\n\tvar blocker = { promise, settled: false };\n\tvar blockers = [blocker];\n\n\tpromise.finally(() => {\n\t\tblocker.settled = true;\n\t\tunset_context();\n\t});\n\n\tfor (const fn of thunks.slice(1)) {\n\t\tpromise = promise\n\t\t\t.then(() => {\n\t\t\t\trestore();\n\n\t\t\t\ttry {\n\t\t\t\t\tif (errored) {\n\t\t\t\t\t\tthrow errored.error;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (aborted(active)) {\n\t\t\t\t\t\tthrow STALE_REACTION;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn fn();\n\t\t\t\t} finally {\n\t\t\t\t\t// We gotta unset context directly in case the function returns a promise, in which case\n\t\t\t\t\t// unset_context in .finally() would be too late ...\n\t\t\t\t\tunset_context();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(handle_error);\n\n\t\tconst blocker = { promise, settled: false };\n\t\tblockers.push(blocker);\n\n\t\tpromise.finally(() => {\n\t\t\tblocker.settled = true;\n\t\t\t// ... but we also need it after such a promise has resolved in case it restores our context\n\t\t\tunset_context();\n\t\t});\n\t}\n\n\tpromise\n\t\t// wait one more tick, so that template effects are\n\t\t// guaranteed to run before `$effect(...)`\n\t\t.then(() => Promise.resolve())\n\t\t.finally(decrement_pending);\n\n\treturn blockers;\n}\n\n/**\n * @param {Blocker[]} blockers\n */\nexport function wait(blockers) {\n\treturn Promise.all(blockers.map((b) => b.promise));\n}\n\n/**\n * @returns {(skip?: boolean) => void}\n */\nexport function increment_pending() {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tvar boundary = effect.b; // undefined if called outside the render tree, e.g. a standalone $effect.root\n\tvar batch = /** @type {Batch} */ (current_batch);\n\tvar blocking = !!boundary?.is_rendered();\n\n\tboundary?.update_pending_count(1, batch);\n\tbatch.increment(blocking, effect);\n\n\treturn () => {\n\t\tboundary?.update_pending_count(-1, batch);\n\t\tbatch.decrement(blocking, effect);\n\t};\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\n/** @import { Batch } from './batch.js'; */\n/** @import { Boundary } from '../dom/blocks/boundary.js'; */\nimport { DEV } from 'esm-env';\nimport {\n\tERROR_VALUE,\n\tDERIVED,\n\tDIRTY,\n\tEFFECT_PRESERVED,\n\tSTALE_REACTION,\n\tASYNC,\n\tDESTROYED,\n\tCLEAN,\n\tREACTION_RAN,\n\tINERT\n} from '#client/constants';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tupdate_reaction,\n\tincrement_write_version,\n\tset_active_effect,\n\tpush_reaction_value,\n\tis_destroying_effect,\n\tupdate_effect,\n\tremove_reactions,\n\tskipped_deps,\n\tnew_deps\n} from '../runtime.js';\nimport { without_reactive_context } from '../dom/elements/bindings/shared.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport * as w from '../warnings.js';\nimport {\n\tasync_effect,\n\tdestroy_effect,\n\tdestroy_effect_children,\n\teffect_tracking,\n\tteardown\n} from './effects.js';\nimport { eager_effects, internal_set, set_eager_effects, source } from './sources.js';\nimport { get_error } from '../../shared/dev.js';\nimport { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { component_context } from '../context.js';\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { batch_values, current_batch, previous_batch } from './batch.js';\nimport { increment_pending, unset_context } from './async.js';\nimport { deferred, includes, noop } from '../../shared/utils.js';\nimport { set_signal_status, update_derived_status } from './status.js';\nimport { stringify_derived } from '../dev/debug.js';\n\n/**\n * This allows us to track 'reactivity loss' that occurs when signals\n * are read after a non-context-restoring `await`. Dev-only\n * @type {{ effect: Effect, effect_deps: Set, warned: boolean } | null}\n */\nexport let reactivity_loss_tracker = null;\n\n/** @param {{ effect: Effect, effect_deps: Set, warned: boolean } | null} v */\nexport function set_reactivity_loss_tracker(v) {\n\treactivity_loss_tracker = v;\n}\n\nexport const recent_async_deriveds = new Set();\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\n\tif (active_effect !== null) {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_PRESERVED;\n\t}\n\n\t/** @type {Derived} */\n\tconst signal = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\teffects: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\trv: 0,\n\t\tv: /** @type {V} */ (UNINITIALIZED),\n\t\twv: 0,\n\t\tparent: active_effect,\n\t\tac: null\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = get_error('created at');\n\t}\n\n\treturn signal;\n}\n\nexport const OBSOLETE = Symbol('obsolete');\n\n/**\n * @template V\n * @param {() => V | Promise} fn\n * @param {string} [label]\n * @param {string} [location] If provided, print a warning if the value is not read immediately after update\n * @returns {Promise>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function async_derived(fn, label, location) {\n\tlet parent = /** @type {Effect | null} */ (active_effect);\n\n\tif (parent === null) {\n\t\te.async_derived_orphan();\n\t}\n\n\tvar promise = /** @type {Promise} */ (/** @type {unknown} */ (undefined));\n\tvar signal = source(/** @type {V} */ (UNINITIALIZED));\n\n\tif (DEV) signal.label = label ?? stringify_derived(fn);\n\n\t// only suspend in async deriveds created on initialisation\n\tvar should_suspend = !active_reaction;\n\n\t/** @type {Set>>} */\n\tvar deferreds = new Set();\n\n\tasync_effect(() => {\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\tif (DEV) {\n\t\t\treactivity_loss_tracker = { effect, effect_deps: new Set(), warned: false };\n\t\t}\n\n\t\t/** @type {ReturnType>} */\n\t\tvar d = deferred();\n\t\tpromise = d.promise;\n\n\t\ttry {\n\t\t\t// If this code is changed at some point, make sure to still access the then property\n\t\t\t// of fn() to read any signals it might access, so that we track them as dependencies.\n\t\t\t// We call `unset_context` to undo any `save` calls that happen inside `fn()`\n\t\t\tPromise.resolve(fn())\n\t\t\t\t.then(d.resolve, (e) => {\n\t\t\t\t\t// if the promise was rejected by the user, via `getAbortSignal`, then\n\t\t\t\t\t// wait for a subsequent resolution instead of flushing the batch\n\t\t\t\t\tif (e !== STALE_REACTION) d.reject(e);\n\t\t\t\t})\n\t\t\t\t.finally(unset_context);\n\t\t} catch (error) {\n\t\t\td.reject(error);\n\t\t\tunset_context();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\tif (reactivity_loss_tracker) {\n\t\t\t\t// Reused deps from previous run (indices 0 to skipped_deps-1)\n\t\t\t\t// We deliberately only track direct dependencies of the async expression to encourage\n\t\t\t\t// dependencies being directly visible at the point of the expression\n\t\t\t\tif (effect.deps !== null) {\n\t\t\t\t\tfor (let i = 0; i < skipped_deps; i += 1) {\n\t\t\t\t\t\treactivity_loss_tracker.effect_deps.add(effect.deps[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// New deps discovered this run\n\t\t\t\tif (new_deps !== null) {\n\t\t\t\t\tfor (let i = 0; i < new_deps.length; i += 1) {\n\t\t\t\t\t\treactivity_loss_tracker.effect_deps.add(new_deps[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treactivity_loss_tracker = null;\n\t\t}\n\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\tif (should_suspend) {\n\t\t\t// we only increment the batch's pending state for updates, not creation, otherwise\n\t\t\t// we will decrement to zero before the work that depends on this promise (e.g. a\n\t\t\t// template effect) has initialized, causing the batch to resolve prematurely\n\t\t\tif ((effect.f & REACTION_RAN) !== 0) {\n\t\t\t\tvar decrement_pending = increment_pending();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// boundary can be null if the async derived is inside an $effect.root not connected to the component render tree\n\t\t\t\tparent.b?.is_rendered()\n\t\t\t) {\n\t\t\t\tbatch.async_deriveds.get(effect)?.reject(OBSOLETE);\n\t\t\t} else {\n\t\t\t\t// While the boundary is still showing pending, a new run supersedes all older in-flight runs\n\t\t\t\t// for this async expression. Cancel eagerly so resolution cannot commit stale values.\n\t\t\t\tfor (const d of deferreds.values()) {\n\t\t\t\t\td.reject(OBSOLETE);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdeferreds.add(d);\n\t\t\tbatch.async_deriveds.set(effect, d);\n\t\t}\n\n\t\t/**\n\t\t * @param {any} value\n\t\t * @param {unknown} error\n\t\t */\n\t\tconst handler = (value, error = undefined) => {\n\t\t\tif (DEV) {\n\t\t\t\treactivity_loss_tracker = null;\n\t\t\t}\n\n\t\t\tdecrement_pending?.();\n\t\t\tdeferreds.delete(d);\n\n\t\t\tif (error === OBSOLETE) return;\n\n\t\t\tbatch.activate();\n\n\t\t\tif (error) {\n\t\t\t\tsignal.f |= ERROR_VALUE;\n\n\t\t\t\t// @ts-expect-error the error is the wrong type, but we don't care\n\t\t\t\tinternal_set(signal, error);\n\t\t\t} else {\n\t\t\t\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\t\t\t\tsignal.f ^= ERROR_VALUE;\n\t\t\t\t}\n\n\t\t\t\tif (DEV && location !== undefined && !signal.equals(value)) {\n\t\t\t\t\trecent_async_deriveds.add(signal);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (recent_async_deriveds.has(signal) && (effect.f & DESTROYED) === 0) {\n\t\t\t\t\t\t\tw.await_waterfall(/** @type {string} */ (signal.label), location);\n\t\t\t\t\t\t\trecent_async_deriveds.delete(signal);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tinternal_set(signal, value);\n\t\t\t}\n\n\t\t\tbatch.deactivate();\n\t\t};\n\n\t\td.promise.then(handler, (e) => handler(null, e || 'unknown'));\n\t});\n\n\tteardown(() => {\n\t\tfor (const d of deferreds) {\n\t\t\td.reject(OBSOLETE);\n\t\t}\n\t});\n\n\tif (DEV) {\n\t\t// add a flag that lets this be printed as a derived\n\t\t// when using `$inspect.trace()`\n\t\tsignal.f |= ASYNC;\n\t}\n\n\treturn new Promise((fulfil) => {\n\t\t/** @param {Promise} p */\n\t\tfunction next(p) {\n\t\t\tfunction go() {\n\t\t\t\tif (p === promise) {\n\t\t\t\t\tfulfil(signal);\n\t\t\t\t} else {\n\t\t\t\t\t// if the effect re-runs before the initial promise\n\t\t\t\t\t// resolves, delay resolution until we have a value\n\t\t\t\t\tnext(promise);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tp.then(go, go);\n\t\t}\n\n\t\tnext(promise);\n\t});\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function user_derived(fn) {\n\tconst d = derived(fn);\n\n\tif (!async_mode_flag) push_reaction_value(d);\n\n\treturn d;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function destroy_derived_effects(derived) {\n\tvar effects = derived.effects;\n\n\tif (effects !== null) {\n\t\tderived.effects = null;\n\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdestroy_effect(/** @type {Effect} */ (effects[i]));\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nexport function execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\tvar parent = derived.parent;\n\n\tif (\n\t\t!is_destroying_effect &&\n\t\tparent !== null &&\n\t\tderived.v !== UNINITIALIZED && // if it was never evaluated before, it's guaranteed to fail downstream, so we try to execute instead\n\t\t(parent.f & (DESTROYED | INERT)) !== 0\n\t) {\n\t\tw.derived_inert();\n\n\t\treturn derived.v;\n\t}\n\n\tset_active_effect(parent);\n\n\tif (DEV) {\n\t\tlet prev_eager_effects = eager_effects;\n\t\tset_eager_effects(new Set());\n\t\ttry {\n\t\t\tif (includes.call(stack, derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_eager_effects(prev_eager_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\n\tif (!derived.equals(value)) {\n\t\tderived.wv = increment_write_version();\n\n\t\t// in a fork, we don't update the underlying value, just `batch_values`.\n\t\t// the underlying value will be updated when the fork is committed.\n\t\t// otherwise, the next time we get here after a 'real world' state\n\t\t// change, `derived.equals` may incorrectly return `true`\n\t\tif (!current_batch?.is_fork || derived.deps === null) {\n\t\t\tif (current_batch !== null) {\n\t\t\t\t// We also write to previous_batch because if it exists, it is a sign that we're\n\t\t\t\t// currently in the process of flushing effects. These updates to deriveds may belong\n\t\t\t\t// to the previous batch, not the new one (which can already exist if an earlier\n\t\t\t\t// effect wrote to a source). This can cause bugs when running batch.#commit() later,\n\t\t\t\t// but not adding it to current_batch can, too, so we add it to both.\n\t\t\t\t// See https://github.com/sveltejs/svelte/pull/18117 for more details.\n\t\t\t\tcurrent_batch.capture(derived, value, true);\n\t\t\t\tprevious_batch?.capture(derived, value, true);\n\t\t\t} else {\n\t\t\t\tderived.v = value;\n\t\t\t}\n\n\t\t\t// deriveds without dependencies should never be recomputed\n\t\t\tif (derived.deps === null) {\n\t\t\t\tset_signal_status(derived, CLEAN);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// don't mark derived clean if we're reading it inside a\n\t// cleanup function, or it will cache a stale value\n\tif (is_destroying_effect) {\n\t\treturn;\n\t}\n\n\t// During time traveling we don't want to reset the status so that\n\t// traversal of the graph in the other batches still happens\n\tif (batch_values !== null) {\n\t\t// only cache the value if we're in a tracking context, otherwise we won't\n\t\t// clear the cache in `mark_reactions` when dependencies are updated\n\t\tif (effect_tracking() || current_batch?.is_fork) {\n\t\t\tbatch_values.set(derived, value);\n\t\t}\n\t} else {\n\t\tupdate_derived_status(derived);\n\t}\n}\n\n/**\n * @param {Derived} derived\n */\nexport function freeze_derived_effects(derived) {\n\tif (derived.effects === null) return;\n\n\tfor (const e of derived.effects) {\n\t\t// if the effect has a teardown function or abort signal, call it\n\t\tif (e.teardown || e.ac) {\n\t\t\te.teardown?.();\n\t\t\tif (e.ac !== null) {\n\t\t\t\twithout_reactive_context(() => {\n\t\t\t\t\t/** @type {AbortController} */ (e.ac).abort(STALE_REACTION);\n\t\t\t\t\te.ac = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// make it a noop so it doesn't get called again if the derived\n\t\t\t// is unfrozen. we don't set it to `null`, because the existence\n\t\t\t// of a teardown function is what determines whether the\n\t\t\t// effect runs again during unfreezing (but not for teardown-only effects)\n\t\t\tif (e.fn !== null) e.teardown = noop;\n\n\t\t\tremove_reactions(e, 0);\n\t\t\tdestroy_effect_children(e);\n\t\t}\n\t}\n}\n\n/**\n * @param {Derived} derived\n */\nexport function unfreeze_derived_effects(derived) {\n\tif (derived.effects === null) return;\n\n\tfor (const e of derived.effects) {\n\t\t// if the effect was previously frozen — indicated by the presence\n\t\t// of a teardown function — unfreeze it\n\t\tif (e.teardown && e.fn !== null) {\n\t\t\tupdate_effect(e);\n\t\t}\n\t}\n}\n","/** @import { Fork } from 'svelte' */\n/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport {\n\tBLOCK_EFFECT,\n\tBRANCH_EFFECT,\n\tCLEAN,\n\tDESTROYED,\n\tDIRTY,\n\tEFFECT,\n\tASYNC,\n\tINERT,\n\tRENDER_EFFECT,\n\tROOT_EFFECT,\n\tMAYBE_DIRTY,\n\tDERIVED,\n\tEAGER_EFFECT,\n\tERROR_VALUE,\n\tMANAGED_EFFECT,\n\tREACTION_RAN,\n\tDESTROYING\n} from '#client/constants';\nimport { async_mode_flag } from '../../flags/index.js';\nimport { deferred, define_property, includes } from '../../shared/utils.js';\nimport {\n\tactive_reaction,\n\tget,\n\tincrement_write_version,\n\tis_dirty,\n\tupdate_effect\n} from '../runtime.js';\nimport * as e from '../errors.js';\nimport { flush_tasks, queue_micro_task } from '../dom/task.js';\nimport { DEV } from 'esm-env';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport { flush_eager_effects, old_values, set_eager_effects, source, update } from './sources.js';\nimport { eager_effect, teardown, unlink_effect } from './effects.js';\nimport { defer_effect } from './utils.js';\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { set_signal_status } from './status.js';\nimport { invariant } from '../../shared/dev.js';\nimport { log_effect_tree } from '../dev/debug.js';\nimport { OBSOLETE } from './deriveds.js';\n\n/** @type {Batch | null} */\nlet first_batch = null;\n\n/** @type {Batch | null} */\nlet last_batch = null;\n\n/** @type {Batch | null} */\nexport let current_batch = null;\n\n/**\n * This is needed to avoid overwriting inputs\n * @type {Batch | null}\n */\nexport let previous_batch = null;\n\n/**\n * When time travelling (i.e. working in one batch, while other batches\n * still have ongoing work), we ignore the real values of affected\n * signals in favour of their values within the batch\n * @type {Map | null}\n */\nexport let batch_values = null;\n\n/** @type {Effect | null} */\nlet last_scheduled_effect = null;\n\nexport let is_flushing_sync = false;\nlet is_processing = false;\n\n/**\n * During traversal, this is an array. Newly created effects are (if not immediately\n * executed) pushed to this array, rather than going through the scheduling\n * rigamarole that would cause another turn of the flush loop.\n * @type {Effect[] | null}\n */\nexport let collected_effects = null;\n\n/**\n * An array of effects that are marked during traversal as a result of a `set`\n * (not `internal_set`) call. These will be added to the next batch and\n * trigger another `batch.process()`\n * @type {Effect[] | null}\n * @deprecated when we get rid of legacy mode and stores, we can get rid of this\n */\nexport let legacy_updates = null;\n\nvar flush_count = 0;\n\n/** @type {Set} */\nvar source_stacks = new Set();\n\nlet uid = 1;\n\nexport class Batch {\n\tid = uid++;\n\n\t/** True as soon as `#process` was called */\n\tstarted = false;\n\n\tlinked = true;\n\n\t/** @type {Batch | null} */\n\tprev = null;\n\n\t/** @type {Batch | null} */\n\tnext = null;\n\n\t/** @type {Map>>} */\n\tasync_deriveds = new Map();\n\n\t/**\n\t * The current values of any signals that are updated in this batch.\n\t * Tuple format: [value, is_derived] (note: is_derived is false for deriveds, too, if they were overridden via assignment)\n\t * The keys of this map are identical to `this.previous`\n\t * @type {Map}\n\t */\n\tcurrent = new Map();\n\n\t/**\n\t * The values of any signals (sources and deriveds) that are updated in this batch _before_ those updates took place.\n\t * The keys of this map are identical to `this.current`\n\t * @type {Map}\n\t */\n\tprevious = new Map();\n\n\t/**\n\t * When the batch is committed (and the DOM is updated), we need to remove old branches\n\t * and append new ones by calling the functions added inside (if/each/key/etc) blocks\n\t * @type {Set<(batch: Batch) => void>}\n\t */\n\t#commit_callbacks = new Set();\n\n\t/**\n\t * If a fork is discarded, we need to destroy any effects that are no longer needed\n\t * @type {Set<(batch: Batch) => void>}\n\t */\n\t#discard_callbacks = new Set();\n\n\t/**\n\t * The number of async effects that are currently in flight\n\t */\n\t#pending = 0;\n\n\t/**\n\t * Async effects that are currently in flight, _not_ inside a pending boundary\n\t * @type {Map}\n\t */\n\t#blocking_pending = new Map();\n\n\t/**\n\t * A deferred that resolves when the batch is committed, used with `settled()`\n\t * TODO replace with Promise.withResolvers once supported widely enough\n\t * @type {{ promise: Promise, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null}\n\t */\n\t#deferred = null;\n\n\t/**\n\t * Effects that were scheduled in this batch but not yet 'resolved' into the\n\t * root effects that need to be flushed. Resolving — the upwards traversal that\n\t * marks the path to each effect on the shared effect tree (see #resolve) — is\n\t * deferred until the batch is processed, so that the markers are created and\n\t * consumed within a single traversal. Scheduling into other batches (which can\n\t * happen concurrently, e.g. while a batch is committed) can therefore never\n\t * observe (and be confused by) this batch's markers.\n\t * May contain duplicates — deduplication happens during resolving\n\t * @type {Effect[]}\n\t */\n\t#scheduled = [];\n\n\t/**\n\t * Effects created while this batch was active.\n\t * @type {Effect[]}\n\t */\n\t#new_effects = [];\n\n\t/**\n\t * Deferred effects (which run after async work has completed) and their status (DIRTY or MAYBE_DIRTY)\n\t * @type {Map}\n\t */\n\t#dirty_reactions = new Map();\n\n\t/**\n\t * A map of branches that still exist, but will be destroyed when this batch\n\t * is committed — we skip over these during `process`.\n\t * The value contains child effects that were dirty/maybe_dirty before being reset,\n\t * so they can be rescheduled if the branch survives.\n\t * @type {Map}\n\t */\n\t#skipped_branches = new Map();\n\n\t/**\n\t * Inverse of #skipped_branches which we need to tell prior batches to unskip them when committing\n\t * @type {Set}\n\t */\n\t#unskipped_branches = new Set();\n\n\tis_fork = false;\n\n\t#decrement_queued = false;\n\n\tconstructor() {\n\t\tif (last_batch === null) {\n\t\t\tfirst_batch = last_batch = this;\n\t\t} else {\n\t\t\tlast_batch.next = this;\n\t\t\tthis.prev = last_batch;\n\t\t}\n\n\t\tlast_batch = this;\n\t}\n\n\t#is_deferred() {\n\t\tif (this.is_fork) return true;\n\n\t\tfor (const effect of this.#blocking_pending.keys()) {\n\t\t\t// pending work inside a skipped branch doesn't block, the branch is going to be destroyed\n\t\t\tif (!this.#is_skipped(effect)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Whether `effect` is inside a branch that this batch skips\n\t * @param {Effect} effect\n\t */\n\t#is_skipped(effect) {\n\t\tfor (var e = /** @type {Effect | null} */ (effect); e !== null; e = e.parent) {\n\t\t\tif (this.#skipped_branches.has(e)) return true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Add an effect to the #skipped_branches map and reset its children\n\t * @param {Effect} effect\n\t */\n\tskip_effect(effect) {\n\t\tif (!this.#skipped_branches.has(effect)) {\n\t\t\tthis.#skipped_branches.set(effect, { d: [], m: [] });\n\t\t}\n\t\tthis.#unskipped_branches.delete(effect);\n\t}\n\n\t/**\n\t * Remove an effect from the #skipped_branches map and reschedule\n\t * any tracked dirty/maybe_dirty child effects\n\t * @param {Effect} effect\n\t * @param {(e: Effect) => void} callback\n\t */\n\tunskip_effect(effect, callback = (e) => this.schedule(e)) {\n\t\tvar tracked = this.#skipped_branches.get(effect);\n\t\tif (tracked) {\n\t\t\tthis.#skipped_branches.delete(effect);\n\n\t\t\tfor (var e of tracked.d) {\n\t\t\t\tset_signal_status(e, DIRTY);\n\t\t\t\tcallback(e);\n\t\t\t}\n\n\t\t\tfor (e of tracked.m) {\n\t\t\t\tset_signal_status(e, MAYBE_DIRTY);\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t}\n\t\tthis.#unskipped_branches.add(effect);\n\t}\n\n\t/**\n\t * Convert the effects that were scheduled in this batch into the root effects\n\t * that need to be traversed, marking the path to each effect (by clearing the\n\t * `CLEAN` flag on ancestor branches) so that the traversal can find them.\n\t * This happens right before traversal rather than at scheduling time, so that\n\t * the markers left on the (shared) effect tree are created and consumed within\n\t * a single traversal — scheduling into other batches can never observe them\n\t * @returns {Effect[]}\n\t */\n\t#resolve() {\n\t\t/** @type {Effect[]} */\n\t\tvar roots = [];\n\n\t\tfor (const effect of this.#scheduled) {\n\t\t\t// skip effects that are destroyed, or that already ran (e.g. because\n\t\t\t// they were reached by the traversal that preceded a drain iteration,\n\t\t\t// or because they were scheduled twice)\n\t\t\tif ((effect.f & DESTROYED) !== 0 || (effect.f & (DIRTY | MAYBE_DIRTY)) === 0) continue;\n\n\t\t\tvar e = effect;\n\t\t\tvar covered = false;\n\n\t\t\twhile (e.parent !== null) {\n\t\t\t\te = e.parent;\n\t\t\t\tvar flags = e.f;\n\n\t\t\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\t\t\tif ((flags & CLEAN) === 0) {\n\t\t\t\t\t\t// the path to the root was already marked, meaning the\n\t\t\t\t\t\t// root was already collected — nothing left to do\n\t\t\t\t\t\tcovered = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\te.f ^= CLEAN;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!covered) {\n\t\t\t\troots.push(e);\n\t\t\t}\n\t\t}\n\n\t\tthis.#scheduled = [];\n\n\t\treturn roots;\n\t}\n\n\t#process() {\n\t\tthis.started = true;\n\n\t\tif (DEV) {\n\t\t\t// track all the values that were updated during this flush,\n\t\t\t// so that they can be reset afterwards\n\t\t\tfor (const value of this.current.keys()) {\n\t\t\t\tsource_stacks.add(value);\n\t\t\t}\n\t\t}\n\n\t\t// We always reschedule previously-deferred effects, not just when\n\t\t// #is_deferred() is true, because traversing the tree could make\n\t\t// an if block that contains the last blocking pending effect falsy,\n\t\t// causing the block to no longer be deferred.\n\t\tfor (const [e, status] of this.#dirty_reactions) {\n\t\t\tset_signal_status(e, status);\n\t\t\tthis.schedule(e);\n\t\t}\n\n\t\tthis.apply();\n\n\t\t/** @type {Effect[]} */\n\t\tvar effects = (collected_effects = []);\n\n\t\t/** @type {Effect[]} */\n\t\tvar render_effects = [];\n\n\t\t/**\n\t\t * @type {Effect[]}\n\t\t * @deprecated when we get rid of legacy mode and stores, we can get rid of this\n\t\t */\n\t\tvar updates = (legacy_updates = []);\n\n\t\t// Effects can be scheduled during traversal (e.g. because a parent each/await/etc\n\t\t// block updated an internal source, or because an effect invalidated itself)\n\t\t// hence we loop until there are no more scheduled effects.\n\t\twhile (this.#scheduled.length > 0) {\n\t\t\tif (flush_count++ > 1000) {\n\t\t\t\tthis.#unlink();\n\t\t\t\tinfinite_loop_guard(); // TODO try to reset_all() here?\n\t\t\t}\n\n\t\t\tfor (const root of this.#resolve()) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.#traverse(root, effects, render_effects);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treset_all(root);\n\t\t\t\t\t// If there's no async work left, this branch is now dead and needs\n\t\t\t\t\t// to be discarded to not become a zombie that is never cleaned up.\n\t\t\t\t\t// See https://github.com/sveltejs/svelte/issues/18221#issuecomment-4497918414\n\t\t\t\t\t// for a (non-minimal) reproduction that demonstrates a case where this is necessary\n\t\t\t\t\t// to not get follow-up false-positives via \"batch has scheduled roots\" invariant errors.\n\t\t\t\t\tif (!this.#is_deferred()) this.discard();\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// any writes should take effect in a subsequent batch\n\t\tcurrent_batch = null;\n\n\t\tif (updates.length > 0) {\n\t\t\tvar batch = Batch.ensure();\n\t\t\tfor (const e of updates) {\n\t\t\t\tbatch.schedule(e);\n\t\t\t}\n\t\t}\n\n\t\tcollected_effects = null;\n\t\tlegacy_updates = null;\n\n\t\t// if the batch has outstanding pending work, stash effects and bail\n\t\tif (this.#is_deferred()) {\n\t\t\tthis.#defer_effects(render_effects);\n\t\t\tthis.#defer_effects(effects);\n\n\t\t\tfor (const [e, t] of this.#skipped_branches) {\n\t\t\t\treset_branch(e, t);\n\t\t\t}\n\n\t\t\tif (updates.length > 0) {\n\t\t\t\t/** @type {Batch} */ (/** @type {unknown} */ (current_batch)).#process();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst earlier_batch = this.#find_earlier_batch();\n\n\t\tif (earlier_batch) {\n\t\t\t// If this batch collected deferred effects during traversal, they still need\n\t\t\t// to run after being merged into the earlier batch.\n\t\t\tthis.#defer_effects(render_effects);\n\t\t\tthis.#defer_effects(effects);\n\t\t\tearlier_batch.#merge(this);\n\t\t\treturn;\n\t\t}\n\n\t\t// clear effects. Those that are still needed will be rescheduled through unskipping the skipped branches.\n\t\tthis.#dirty_reactions.clear();\n\n\t\t// append/remove branches\n\t\tfor (const fn of this.#commit_callbacks) fn(this);\n\t\tthis.#commit_callbacks.clear();\n\n\t\tprevious_batch = this;\n\t\tflush_queued_effects(render_effects);\n\t\tflush_queued_effects(effects);\n\t\tprevious_batch = null;\n\n\t\tthis.#deferred?.resolve();\n\n\t\tvar next_batch = /** @type {Batch | null} */ (/** @type {unknown} */ (current_batch));\n\n\t\tif (this.#pending === 0 && (this.#scheduled.length === 0 || next_batch !== null)) {\n\t\t\tthis.#unlink();\n\n\t\t\t// Order matters here - we need to commit and THEN continue flushing new batches, not the other way around,\n\t\t\t// else we could start flushing a new batch and then, if it has pending work, rebase it right afterwards, which is wrong.\n\t\t\t// In sync mode flushSync can cause #commit to wrongfully think that there needs to be a rebase, so we only do it in async mode\n\t\t\t// TODO fix the underlying cause, otherwise this will likely regress when non-async mode is removed\n\t\t\tif (async_mode_flag) {\n\t\t\t\tthis.#commit();\n\t\t\t\t// Rebases can activate other batches or null it out, therefore restore the new one here\n\t\t\t\tcurrent_batch = next_batch;\n\t\t\t}\n\t\t}\n\n\t\tif (next_batch !== null) {\n\t\t\told_values.clear();\n\t\t\tnext_batch.#process();\n\t\t}\n\t}\n\n\t/**\n\t * Traverse the effect tree, executing effects or stashing\n\t * them for later execution as appropriate\n\t * @param {Effect} root\n\t * @param {Effect[]} effects\n\t * @param {Effect[]} render_effects\n\t */\n\t#traverse(root, effects, render_effects) {\n\t\troot.f ^= CLEAN;\n\n\t\tvar effect = root.first;\n\n\t\twhile (effect !== null) {\n\t\t\tvar flags = effect.f;\n\t\t\tvar is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;\n\t\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\t\tvar skip = is_skippable_branch || (flags & INERT) !== 0 || this.#skipped_branches.has(effect);\n\n\t\t\tif (!skip && effect.fn !== null) {\n\t\t\t\tif (is_branch) {\n\t\t\t\t\teffect.f ^= CLEAN;\n\t\t\t\t} else if ((flags & EFFECT) !== 0) {\n\t\t\t\t\teffects.push(effect);\n\t\t\t\t} else if (async_mode_flag && (flags & (RENDER_EFFECT | MANAGED_EFFECT)) !== 0) {\n\t\t\t\t\trender_effects.push(effect);\n\t\t\t\t} else if (is_dirty(effect)) {\n\t\t\t\t\tif ((flags & BLOCK_EFFECT) !== 0) this.add_dirty_reaction(effect, MAYBE_DIRTY);\n\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t}\n\n\t\t\t\tvar child = effect.first;\n\n\t\t\t\tif (child !== null) {\n\t\t\t\t\teffect = child;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twhile (effect !== null) {\n\t\t\t\tvar next = effect.next;\n\n\t\t\t\tif (next !== null) {\n\t\t\t\t\teffect = next;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\teffect = effect.parent;\n\t\t\t}\n\t\t}\n\t}\n\n\t#find_earlier_batch() {\n\t\tfor (var batch = this.prev; batch !== null; batch = batch.prev) {\n\t\t\tif (!batch.is_fork && this.#intersects(batch)) return batch;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/** @param {Batch} batch */\n\t#intersects(batch) {\n\t\tfor (const [source, [, is_derived]] of this.current) {\n\t\t\tif (is_derived) continue;\n\t\t\tif (batch.current.has(source)) return true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#merge(batch) {\n\t\tfor (const [source, value] of batch.current) {\n\t\t\tif (!this.previous.has(source) && batch.previous.has(source)) {\n\t\t\t\tthis.previous.set(source, batch.previous.get(source));\n\t\t\t}\n\n\t\t\tthis.current.set(source, value);\n\t\t}\n\n\t\tfor (const [effect, deferred] of batch.async_deriveds) {\n\t\t\tconst d = this.async_deriveds.get(effect);\n\t\t\tif (d) deferred.promise.then(d.resolve).catch(d.reject);\n\t\t}\n\n\t\t// Clear them or else those that are still pending might get rejected on discard (after merged-into batch is done).\n\t\t// This can happen when batch Y merged into X and Y has a pending boundary and therefore still-pending async deriveds inside.\n\t\tbatch.async_deriveds.clear();\n\n\t\t// Mark is not guaranteed not touch these, so we transfer them\n\t\tthis.transfer_reactions(batch.#dirty_reactions);\n\n\t\t/**\n\t\t * mark all effects that depend on `batch.current`, except the\n\t\t * async effects that we just resolved (TODO unless they depend\n\t\t * on values in this batch that are NOT in the later batch?).\n\t\t * Through this we also will populate the correct #skipped_branches,\n\t\t * oncommit callbacks etc, so we don't need to merge them separately.\n\t\t * @param {Value} value\n\t\t */\n\t\tconst mark = (value) => {\n\t\t\tvar reactions = value.reactions;\n\t\t\tif (reactions === null) return;\n\t\t\t// skip if value is derived and is neither dirty nor maybe dirty. transitive\n\t\t\t// deriveds (a derived depending on another derived) are only MAYBE_DIRTY, so\n\t\t\t// we must continue traversing them to reach the effects that depend on them\n\t\t\tif ((value.f & DERIVED) !== 0 && (value.f & (DIRTY | MAYBE_DIRTY)) === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (const reaction of reactions) {\n\t\t\t\tvar flags = reaction.f;\n\n\t\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\t\tmark(/** @type {Derived} */ (reaction));\n\t\t\t\t} else {\n\t\t\t\t\tvar effect = /** @type {Effect} */ (reaction);\n\n\t\t\t\t\tif (flags & (ASYNC | BLOCK_EFFECT) && !this.async_deriveds.has(effect)) {\n\t\t\t\t\t\tthis.#dirty_reactions.delete(effect);\n\t\t\t\t\t\tset_signal_status(effect, DIRTY);\n\t\t\t\t\t\tthis.schedule(effect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfor (const source of this.current.keys()) {\n\t\t\tmark(source);\n\t\t}\n\n\t\tthis.oncommit(() => batch.discard());\n\t\tbatch.#unlink();\n\n\t\tcurrent_batch = this;\n\t\tthis.#process();\n\t}\n\n\t/**\n\t * @param {Effect[]} effects\n\t */\n\t#defer_effects(effects) {\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdefer_effect(effects[i], this.#dirty_reactions);\n\t\t}\n\t}\n\n\t/**\n\t * Associate a change to a given source with the current\n\t * batch, noting its previous and current values\n\t * @param {Value} source\n\t * @param {any} value\n\t * @param {boolean} [is_derived]\n\t */\n\tcapture(source, value, is_derived = false) {\n\t\tif (source.v !== UNINITIALIZED && !this.previous.has(source)) {\n\t\t\tthis.previous.set(source, source.v);\n\t\t}\n\n\t\t// Don't save errors in `batch_values`, or they won't be thrown in `runtime.js#get`\n\t\tif ((source.f & ERROR_VALUE) === 0) {\n\t\t\tthis.current.set(source, [value, is_derived]);\n\t\t\tbatch_values?.set(source, value);\n\t\t}\n\n\t\tif (!this.is_fork) {\n\t\t\tsource.v = value;\n\t\t}\n\t}\n\n\tactivate() {\n\t\tcurrent_batch = this;\n\t}\n\n\tdeactivate() {\n\t\tcurrent_batch = null;\n\t\tbatch_values = null;\n\t}\n\n\tflush() {\n\t\ttry {\n\t\t\tif (DEV) {\n\t\t\t\tsource_stacks.clear();\n\t\t\t}\n\n\t\t\tis_processing = true;\n\t\t\tcurrent_batch = this;\n\n\t\t\tthis.#process();\n\t\t} finally {\n\t\t\tflush_count = 0;\n\t\t\tlast_scheduled_effect = null;\n\t\t\tcollected_effects = null;\n\t\t\tlegacy_updates = null;\n\t\t\tis_processing = false;\n\n\t\t\tcurrent_batch = null;\n\t\t\tbatch_values = null;\n\n\t\t\told_values.clear();\n\n\t\t\tif (DEV) {\n\t\t\t\tfor (const source of source_stacks) {\n\t\t\t\t\tsource.updated = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdiscard() {\n\t\tfor (const fn of this.#discard_callbacks) fn(this);\n\t\tthis.#discard_callbacks.clear();\n\n\t\tfor (const deferred of this.async_deriveds.values()) {\n\t\t\tdeferred.reject(OBSOLETE);\n\t\t}\n\n\t\tthis.#unlink();\n\t\tthis.#deferred?.resolve();\n\t}\n\n\t/**\n\t * @param {Effect} effect\n\t */\n\tregister_created_effect(effect) {\n\t\tthis.#new_effects.push(effect);\n\t}\n\n\t#commit() {\n\t\t// If there are other pending batches, they now need to be 'rebased' —\n\t\t// in other words, we re-run block/async effects with the newly\n\t\t// committed state, unless the batch in question has a more\n\t\t// recent value for a given source\n\t\tfor (let batch = first_batch; batch !== null; batch = batch.next) {\n\t\t\tvar is_earlier = batch.id < this.id;\n\n\t\t\t/** @type {Source[]} */\n\t\t\tvar sources = [];\n\n\t\t\tfor (const [source, [value, is_derived]] of this.current) {\n\t\t\t\tif (batch.current.has(source)) {\n\t\t\t\t\tvar batch_value = /** @type {[any, boolean]} */ (batch.current.get(source))[0]; // faster than destructuring\n\n\t\t\t\t\tif (is_earlier && value !== batch_value) {\n\t\t\t\t\t\t// bring the value up to date\n\t\t\t\t\t\tbatch.current.set(source, [value, is_derived]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// same value or later batch has more recent value,\n\t\t\t\t\t\t// no need to re-run these effects\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsources.push(source);\n\t\t\t}\n\n\t\t\tif (is_earlier) {\n\t\t\t\t// TODO do we need to restart these in some cases, instead of\n\t\t\t\t// immediately resolving them? Likely not because of how this.apply() works.\n\t\t\t\tfor (const [effect, deferred] of this.async_deriveds) {\n\t\t\t\t\tconst d = batch.async_deriveds.get(effect);\n\t\t\t\t\tif (d) deferred.promise.then(d.resolve).catch(d.reject);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar current = [...batch.current.keys()].filter(\n\t\t\t\t(source) => !(/** @type {[any, boolean]} */ (batch.current.get(source))[1])\n\t\t\t);\n\n\t\t\t// If not started yet or no sources to update (which is e.g. possible for the very first batch) then bail\n\t\t\tif (!batch.started || current.length === 0) continue;\n\n\t\t\t// Re-run async/block effects that depend on distinct values changed in both batches (ignoring deriveds)\n\t\t\tvar others = current.filter((source) => !this.current.has(source));\n\n\t\t\tif (others.length === 0) {\n\t\t\t\tif (is_earlier) {\n\t\t\t\t\t// this batch is now obsolete and can be discarded\n\t\t\t\t\tbatch.discard();\n\t\t\t\t}\n\t\t\t} else if (sources.length > 0) {\n\t\t\t\t// The microtask queue can contain the batch already scheduled to run right\n\t\t\t\t// after this one is finished, so throwing the invariant would be wrong here.\n\t\t\t\tif (DEV && !batch.#decrement_queued) {\n\t\t\t\t\tinvariant(batch.#scheduled.length === 0, 'Batch has scheduled effects');\n\t\t\t\t}\n\n\t\t\t\t// A batch was unskipped in a later batch -> tell prior batches to unskip it, too\n\t\t\t\tif (is_earlier) {\n\t\t\t\t\tfor (const unskipped of this.#unskipped_branches) {\n\t\t\t\t\t\tbatch.unskip_effect(unskipped, (e) => {\n\t\t\t\t\t\t\tif ((e.f & (BLOCK_EFFECT | ASYNC)) !== 0) {\n\t\t\t\t\t\t\t\tbatch.schedule(e);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbatch.#defer_effects([e]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.activate();\n\n\t\t\t\t/** @type {Set} */\n\t\t\t\tvar marked = new Set();\n\n\t\t\t\t/** @type {Map} */\n\t\t\t\tvar checked = new Map();\n\n\t\t\t\tfor (var source of sources) {\n\t\t\t\t\tmark_effects(source, others, marked, checked);\n\t\t\t\t}\n\n\t\t\t\tchecked = new Map();\n\t\t\t\tvar current_unequal = [...batch.current]\n\t\t\t\t\t.filter(([c, v1]) => {\n\t\t\t\t\t\tconst v2 = this.current.get(c);\n\t\t\t\t\t\tif (!v2) return true;\n\t\t\t\t\t\t// Either their values are different or one is a derived but not the other\n\t\t\t\t\t\treturn v2[0] !== v1[0] || v2[1] !== v1[1];\n\t\t\t\t\t})\n\t\t\t\t\t.map(([c]) => c);\n\n\t\t\t\tif (current_unequal.length > 0) {\n\t\t\t\t\tfor (const effect of this.#new_effects) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t(effect.f & (DESTROYED | INERT | EAGER_EFFECT)) === 0 &&\n\t\t\t\t\t\t\tdepends_on(effect, current_unequal, checked)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif ((effect.f & (ASYNC | BLOCK_EFFECT)) !== 0) {\n\t\t\t\t\t\t\t\tset_signal_status(effect, DIRTY);\n\t\t\t\t\t\t\t\tbatch.schedule(effect);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbatch.add_dirty_reaction(effect, DIRTY);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Only apply and traverse when we know we triggered async work with marking the effects\n\t\t\t\t// and know this won't run anyway right afterwards\n\t\t\t\tif (batch.#scheduled.length > 0 && !batch.#decrement_queued) {\n\t\t\t\t\tbatch.apply();\n\n\t\t\t\t\tfor (var root of batch.#resolve()) {\n\t\t\t\t\t\tbatch.#traverse(root, [], []);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.deactivate();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {boolean} blocking\n\t * @param {Effect} effect\n\t */\n\tincrement(blocking, effect) {\n\t\tthis.#pending += 1;\n\n\t\tif (blocking) {\n\t\t\tlet blocking_pending_count = this.#blocking_pending.get(effect) ?? 0;\n\t\t\tthis.#blocking_pending.set(effect, blocking_pending_count + 1);\n\t\t}\n\t}\n\n\t/**\n\t * @param {boolean} blocking\n\t * @param {Effect} effect\n\t */\n\tdecrement(blocking, effect) {\n\t\tthis.#pending -= 1;\n\n\t\tif (blocking) {\n\t\t\tlet blocking_pending_count = this.#blocking_pending.get(effect) ?? 0;\n\n\t\t\tif (blocking_pending_count === 1) {\n\t\t\t\tthis.#blocking_pending.delete(effect);\n\t\t\t} else {\n\t\t\t\tthis.#blocking_pending.set(effect, blocking_pending_count - 1);\n\t\t\t}\n\t\t}\n\n\t\tif (this.#decrement_queued) return;\n\t\tthis.#decrement_queued = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tthis.#decrement_queued = false;\n\n\t\t\tif (this.linked) {\n\t\t\t\tthis.flush();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @param {Map} dirty_reactions\n\t */\n\ttransfer_reactions(dirty_reactions) {\n\t\tfor (const [effect, status] of dirty_reactions) {\n\t\t\tthis.add_dirty_reaction(effect, status);\n\t\t}\n\n\t\tdirty_reactions.clear();\n\t}\n\n\t/**\n\t * @param {Effect} effect\n\t * @param {number} status\n\t */\n\tadd_dirty_reaction(effect, status) {\n\t\tif (status === DIRTY || this.#dirty_reactions.get(effect) !== DIRTY) {\n\t\t\tthis.#dirty_reactions.set(effect, status);\n\t\t}\n\t}\n\n\t/** @param {(batch: Batch) => void} fn */\n\toncommit(fn) {\n\t\tthis.#commit_callbacks.add(fn);\n\t}\n\n\t/** @param {(batch: Batch) => void} fn */\n\tondiscard(fn) {\n\t\tthis.#discard_callbacks.add(fn);\n\t}\n\n\tsettled() {\n\t\treturn (this.#deferred ??= deferred()).promise;\n\t}\n\n\tstatic ensure() {\n\t\tif (current_batch === null) {\n\t\t\tconst batch = (current_batch = new Batch());\n\n\t\t\tif (!is_processing && !is_flushing_sync) {\n\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\tif (!batch.started) {\n\t\t\t\t\t\tbatch.flush();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current_batch;\n\t}\n\n\tapply() {\n\t\tif (!async_mode_flag || (!this.is_fork && this.prev === null && this.next === null)) {\n\t\t\tbatch_values = null;\n\t\t\treturn;\n\t\t}\n\n\t\t// if there are multiple batches, we are 'time travelling' —\n\t\t// we need to override values with the ones in this batch...\n\t\tbatch_values = new Map();\n\t\tfor (const [source, [value]] of this.current) {\n\t\t\tbatch_values.set(source, value);\n\t\t}\n\n\t\t// ...and undo changes belonging to other batches unless they intersect\n\t\tfor (let batch = first_batch; batch !== null; batch = batch.next) {\n\t\t\tif (batch === this || batch.is_fork) continue;\n\n\t\t\t// Since the latter batch merges into the earlier (if it resolves before the earlier one),\n\t\t\t// we treat the earlier values as \"already applied\". This way we don't need to rerun async\n\t\t\t// effects of the earlier batch in case they are merged.\n\t\t\t// As a result you can think of batch_values as having the latest values of all intersecting\n\t\t\t// batches up until this batch.\n\t\t\tif (batch.id >= this.id || !batch.#intersects(this)) {\n\t\t\t\tfor (const [source, previous] of batch.previous) {\n\t\t\t\t\tif (!batch_values.has(source)) {\n\t\t\t\t\t\tbatch_values.set(source, previous);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {Effect} effect\n\t */\n\tschedule(effect) {\n\t\tlast_scheduled_effect = effect;\n\n\t\t// defer render effects inside a pending boundary\n\t\t// TODO the `REACTION_RAN` check is only necessary because of legacy `$:` effects AFAICT — we can remove later\n\t\tif (\n\t\t\teffect.b?.is_pending &&\n\t\t\t(effect.f & (EFFECT | RENDER_EFFECT | MANAGED_EFFECT)) !== 0 &&\n\t\t\t(effect.f & REACTION_RAN) === 0\n\t\t) {\n\t\t\teffect.b.defer_effect(effect);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#scheduled.push(effect);\n\t}\n\n\t#unlink() {\n\t\t// #merge calls #unlink, discard later on does it again - prevent\n\t\t// running it multiple times to not corrupt the linked list\n\t\tif (!this.linked) return;\n\n\t\tvar prev = this.prev;\n\t\tvar next = this.next;\n\n\t\tif (prev === null) {\n\t\t\tfirst_batch = next;\n\t\t} else {\n\t\t\tprev.next = next;\n\t\t}\n\n\t\tif (next === null) {\n\t\t\tlast_batch = prev;\n\t\t} else {\n\t\t\tnext.prev = prev;\n\t\t}\n\n\t\tthis.linked = false;\n\t}\n}\n\n// TODO Svelte@6 think about removing the callback argument.\n/**\n * Synchronously flush any pending updates.\n * Returns void if no callback is provided, otherwise returns the result of calling the callback.\n * @template [T=void]\n * @param {(() => T) | undefined} [fn]\n * @returns {T}\n */\nexport function flushSync(fn) {\n\tvar was_flushing_sync = is_flushing_sync;\n\tvar prev_previous_batch = previous_batch;\n\tprevious_batch = null;\n\tis_flushing_sync = true;\n\n\ttry {\n\t\tvar result;\n\n\t\tif (fn) {\n\t\t\tflushSync(); // flush anything pending through the while loop below\n\n\t\t\tresult = fn();\n\t\t}\n\n\t\twhile (true) {\n\t\t\tflush_tasks();\n\n\t\t\tif (current_batch === null) {\n\t\t\t\treturn /** @type {T} */ (result);\n\t\t\t}\n\n\t\t\tcurrent_batch.flush();\n\t\t}\n\t} finally {\n\t\tis_flushing_sync = was_flushing_sync;\n\t\tprevious_batch = prev_previous_batch;\n\t}\n}\n\nfunction infinite_loop_guard() {\n\tif (DEV) {\n\t\tvar updates = new Map();\n\n\t\tfor (const source of /** @type {Batch} */ (current_batch).current.keys()) {\n\t\t\tfor (const [stack, update] of source.updated ?? []) {\n\t\t\t\tvar entry = updates.get(stack);\n\n\t\t\t\tif (!entry) {\n\t\t\t\t\tentry = { error: update.error, count: 0 };\n\t\t\t\t\tupdates.set(stack, entry);\n\t\t\t\t}\n\n\t\t\t\tentry.count += update.count;\n\t\t\t}\n\t\t}\n\n\t\tfor (const update of updates.values()) {\n\t\t\tif (update.error) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(update.error);\n\t\t\t}\n\t\t}\n\t}\n\n\ttry {\n\t\te.effect_update_depth_exceeded();\n\t} catch (error) {\n\t\tif (DEV) {\n\t\t\t// stack contains no useful information, replace it\n\t\t\tdefine_property(error, 'stack', { value: '' });\n\t\t}\n\n\t\t// Best effort: invoke the boundary nearest the most recent\n\t\t// effect and hope that it's relevant to the infinite loop\n\t\tinvoke_error_boundary(error, last_scheduled_effect);\n\t}\n}\n\n/** @type {Set | null} */\nexport let eager_block_effects = null;\n\n/**\n * @param {Array} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tvar i = 0;\n\n\twhile (i < length) {\n\t\tvar effect = effects[i++];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0 && is_dirty(effect)) {\n\t\t\teager_block_effects = new Set();\n\n\t\t\tupdate_effect(effect);\n\n\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t// immediate effects.\n\t\t\tif (\n\t\t\t\teffect.deps === null &&\n\t\t\t\teffect.first === null &&\n\t\t\t\teffect.nodes === null &&\n\t\t\t\teffect.teardown === null &&\n\t\t\t\teffect.ac === null\n\t\t\t) {\n\t\t\t\t// remove this effect from the graph\n\t\t\t\tunlink_effect(effect);\n\t\t\t}\n\n\t\t\t// If update_effect() has a flushSync() in it, we may have flushed another flush_queued_effects(),\n\t\t\t// which already handled this logic and did set eager_block_effects to null.\n\t\t\tif (eager_block_effects?.size > 0) {\n\t\t\t\told_values.clear();\n\n\t\t\t\tfor (const e of eager_block_effects) {\n\t\t\t\t\t// Skip eager effects that have already been unmounted\n\t\t\t\t\tif ((e.f & (DESTROYED | INERT)) !== 0) continue;\n\n\t\t\t\t\t// Run effects in order from ancestor to descendant, else we could run into nullpointers\n\t\t\t\t\t/** @type {Effect[]} */\n\t\t\t\t\tconst ordered_effects = [e];\n\t\t\t\t\tlet ancestor = e.parent;\n\t\t\t\t\twhile (ancestor !== null) {\n\t\t\t\t\t\tif (eager_block_effects.has(ancestor)) {\n\t\t\t\t\t\t\teager_block_effects.delete(ancestor);\n\t\t\t\t\t\t\tordered_effects.push(ancestor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tancestor = ancestor.parent;\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (let j = ordered_effects.length - 1; j >= 0; j--) {\n\t\t\t\t\t\tconst e = ordered_effects[j];\n\t\t\t\t\t\t// Skip eager effects that have already been unmounted\n\t\t\t\t\t\tif ((e.f & (DESTROYED | INERT)) !== 0) continue;\n\t\t\t\t\t\tupdate_effect(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\teager_block_effects.clear();\n\t\t\t}\n\t\t}\n\t}\n\n\teager_block_effects = null;\n}\n\n/**\n * This is similar to `mark_reactions`, but it only marks async/block effects\n * depending on `value` and at least one of the other `sources`, so that\n * these effects can re-run after another batch has been committed\n * @param {Value} value\n * @param {Source[]} sources\n * @param {Set} marked\n * @param {Map} checked\n */\nfunction mark_effects(value, sources, marked, checked) {\n\tif (marked.has(value)) return;\n\tmarked.add(value);\n\n\tif (value.reactions !== null) {\n\t\tfor (const reaction of value.reactions) {\n\t\t\tconst flags = reaction.f;\n\n\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\tmark_effects(/** @type {Derived} */ (reaction), sources, marked, checked);\n\t\t\t} else if (\n\t\t\t\t(flags & (ASYNC | BLOCK_EFFECT)) !== 0 &&\n\t\t\t\t(flags & DIRTY) === 0 &&\n\t\t\t\tdepends_on(reaction, sources, checked)\n\t\t\t) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * When committing a fork, we need to trigger eager effects so that\n * any `$state.eager(...)` expressions update immediately. This\n * function allows us to discover them\n * @param {Value} value\n * @param {Set} effects\n */\nfunction mark_eager_effects(value, effects) {\n\tif (value.reactions === null) return;\n\n\tfor (const reaction of value.reactions) {\n\t\tconst flags = reaction.f;\n\n\t\tif ((flags & DERIVED) !== 0) {\n\t\t\tmark_eager_effects(/** @type {Derived} */ (reaction), effects);\n\t\t} else if ((flags & EAGER_EFFECT) !== 0) {\n\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\teffects.add(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/**\n * @param {Reaction} reaction\n * @param {Source[]} sources\n * @param {Map} checked\n */\nfunction depends_on(reaction, sources, checked) {\n\tconst depends = checked.get(reaction);\n\tif (depends !== undefined) return depends;\n\n\tif (reaction.deps !== null) {\n\t\tfor (const dep of reaction.deps) {\n\t\t\tif (includes.call(sources, dep)) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ((dep.f & DERIVED) !== 0 && depends_on(/** @type {Derived} */ (dep), sources, checked)) {\n\t\t\t\tchecked.set(/** @type {Derived} */ (dep), true);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\tchecked.set(reaction, false);\n\n\treturn false;\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function schedule_effect(effect) {\n\t/** @type {Batch} */ (current_batch).schedule(effect);\n}\n\n/** @type {Source[]} */\nlet eager_versions = [];\n\nfunction eager_flush() {\n\tflushSync(() => {\n\t\tconst eager = eager_versions;\n\t\teager_versions = [];\n\t\tfor (const version of eager) {\n\t\t\tupdate(version);\n\t\t}\n\t});\n}\n\n/** @type {Map>} */\nvar version_map = new Map();\n\n/**\n * Implementation of `$state.eager(fn())`\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function eager(fn) {\n\tvar initial = true;\n\tvar value = /** @type {T} */ (undefined);\n\n\tif (active_reaction === null) {\n\t\treturn fn();\n\t}\n\n\tlet parent = active_reaction;\n\n\tlet version = version_map.get(parent) ?? source(0);\n\tversion_map.set(parent, version);\n\n\tif (DEV) {\n\t\tversion.label ??= '$state.eager version';\n\t}\n\n\tteardown(() => {\n\t\tif (parent.f & DESTROYING) version_map.delete(parent);\n\t});\n\n\tget(version);\n\n\teager_effect(() => {\n\t\tif (initial) {\n\t\t\t// the first time this runs, we create an eager effect\n\t\t\t// that will run eagerly whenever the expression changes\n\t\t\tvar previous_batch_values = batch_values;\n\n\t\t\ttry {\n\t\t\t\tbatch_values = null;\n\t\t\t\tvalue = fn();\n\t\t\t} finally {\n\t\t\t\tbatch_values = previous_batch_values;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// the second time this effect runs, it's to schedule a\n\t\t// `version` update. since this will recreate the effect,\n\t\t// we don't need to evaluate the expression here\n\t\tif (eager_versions.length === 0) {\n\t\t\tqueue_micro_task(eager_flush);\n\t\t}\n\n\t\teager_versions.push(version);\n\t});\n\n\tinitial = false;\n\n\treturn value;\n}\n\n/**\n * Mark all the effects inside a skipped branch CLEAN, so that\n * they can be correctly rescheduled later. Tracks dirty and maybe_dirty\n * effects so they can be rescheduled if the branch survives.\n * @param {Effect} effect\n * @param {{ d: Effect[], m: Effect[] }} tracked\n */\nfunction reset_branch(effect, tracked) {\n\t// clean branch = nothing dirty inside, no need to traverse further\n\tif ((effect.f & BRANCH_EFFECT) !== 0 && (effect.f & CLEAN) !== 0) {\n\t\treturn;\n\t}\n\n\tif ((effect.f & DIRTY) !== 0) {\n\t\ttracked.d.push(effect);\n\t} else if ((effect.f & MAYBE_DIRTY) !== 0) {\n\t\ttracked.m.push(effect);\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar e = effect.first;\n\twhile (e !== null) {\n\t\treset_branch(e, tracked);\n\t\te = e.next;\n\t}\n}\n\n/**\n * Mark an entire effect tree clean following an error\n * @param {Effect} effect\n */\nfunction reset_all(effect) {\n\tset_signal_status(effect, CLEAN);\n\n\tvar e = effect.first;\n\twhile (e !== null) {\n\t\treset_all(e);\n\t\te = e.next;\n\t}\n}\n\n/**\n * Creates a 'fork', in which state changes are evaluated but not applied to the DOM.\n * This is useful for speculatively loading data (for example) when you suspect that\n * the user is about to take some action.\n *\n * Frameworks like SvelteKit can use this to preload data when the user touches or\n * hovers over a link, making any subsequent navigation feel instantaneous.\n *\n * The `fn` parameter is a synchronous function that modifies some state. The\n * state changes will be reverted after the fork is initialised, then reapplied\n * if and when the fork is eventually committed.\n *\n * When it becomes clear that a fork will _not_ be committed (e.g. because the\n * user navigated elsewhere), it must be discarded to avoid leaking memory.\n *\n * @param {() => void} fn\n * @returns {Fork}\n * @since 5.42\n */\nexport function fork(fn) {\n\tif (!async_mode_flag) {\n\t\te.experimental_async_required('fork');\n\t}\n\n\tif (current_batch !== null) {\n\t\te.fork_timing();\n\t}\n\n\tflushSync();\n\n\tvar batch = Batch.ensure();\n\tbatch.is_fork = true;\n\tbatch_values = new Map();\n\n\tvar committed = false;\n\tvar settled = batch.settled();\n\n\tfn();\n\tflushSync();\n\n\treturn {\n\t\tcommit: async () => {\n\t\t\tif (committed) {\n\t\t\t\tawait settled;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!batch.linked) {\n\t\t\t\te.fork_discarded();\n\t\t\t}\n\n\t\t\tcommitted = true;\n\n\t\t\tbatch.is_fork = false;\n\n\t\t\t// apply changes and update write versions so deriveds see the change\n\t\t\tfor (var [source, [value]] of batch.current) {\n\t\t\t\tsource.v = value;\n\t\t\t\tsource.wv = increment_write_version();\n\t\t\t}\n\n\t\t\t// trigger any `$state.eager(...)` expressions with the new state.\n\t\t\t// eager effects don't get scheduled like other effects, so we\n\t\t\t// can't just encounter them during traversal, we need to\n\t\t\t// proactively flush them\n\t\t\t// TODO maybe there's a better implementation?\n\t\t\tflushSync(() => {\n\t\t\t\t/** @type {Set} */\n\t\t\t\tvar eager_effects = new Set();\n\n\t\t\t\tfor (var source of batch.current.keys()) {\n\t\t\t\t\tmark_eager_effects(source, eager_effects);\n\t\t\t\t}\n\n\t\t\t\tset_eager_effects(eager_effects);\n\t\t\t\tflush_eager_effects();\n\t\t\t});\n\n\t\t\tbatch.flush();\n\t\t\tawait settled;\n\t\t},\n\t\tdiscard: () => {\n\t\t\t// cause any MAYBE_DIRTY deriveds to update\n\t\t\t// if they depend on things that changed\n\t\t\t// inside the discarded fork\n\t\t\tfor (var source of batch.current.keys()) {\n\t\t\t\tsource.wv = increment_write_version();\n\t\t\t}\n\n\t\t\tif (!committed && batch.linked) {\n\t\t\t\tbatch.discard();\n\t\t\t}\n\t\t}\n\t};\n}\n\n/**\n * Forcibly remove all current batches, to prevent cross-talk between tests\n */\nexport function clear() {\n\tfirst_batch = last_batch = null;\n}\n","/** @import { Derived, Effect, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tset_untracked_writes,\n\tuntrack,\n\tincrement_write_version,\n\tupdate_effect,\n\tcurrent_sources,\n\tis_dirty,\n\tuntracking,\n\tis_destroying_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tEAGER_EFFECT,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tASYNC\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { tag_proxy } from '../dev/tracing.js';\nimport { get_error } from '../../shared/dev.js';\nimport { component_context, is_runes } from '../context.js';\nimport {\n\tBatch,\n\tbatch_values,\n\teager_block_effects,\n\tschedule_effect,\n\tlegacy_updates\n} from './batch.js';\nimport { proxy } from '../proxy.js';\nimport { execute_derived } from './deriveds.js';\nimport { set_signal_status, update_derived_status } from './status.js';\n\n/** @type {Set} */\nexport let eager_effects = new Set();\n\n/** @type {Map} */\nexport const old_values = new Map();\n\n/**\n * @param {Set} v\n */\nexport function set_eager_effects(v) {\n\teager_effects = v;\n}\n\nlet eager_effects_deferred = false;\n\nexport function set_eager_effects_deferred() {\n\teager_effects_deferred = true;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n * @returns {Source}\n */\n// TODO rename this to `state` throughout the codebase\nexport function source(v, stack) {\n\t/** @type {Source} */\n\tvar signal = {\n\t\tf: 0,\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\trv: 0,\n\t\twv: 0\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = stack ?? get_error('created at');\n\t\tsignal.updated = null;\n\t\tsignal.set_during_effect = false;\n\t\tsignal.trace = null;\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function state(v, stack) {\n\tconst s = source(v, stack);\n\n\tpush_reaction_value(s);\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false, trackable = true) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && trackable && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {Value} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Value} source\n * @param {V} value\n * @param {boolean} [should_proxy]\n * @returns {V}\n */\nexport function set(source, value, should_proxy = false) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t// since we are untracking the function inside `$inspect.with` we need to add this check\n\t\t// to ensure we error if state is set inside an inspect effect\n\t\t(!untracking || (active_reaction.f & EAGER_EFFECT) !== 0) &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT | ASYNC | EAGER_EFFECT)) !== 0 &&\n\t\t(current_sources === null || !current_sources.has(source))\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\tlet new_value = should_proxy ? proxy(value) : value;\n\n\tif (DEV) {\n\t\ttag_proxy(new_value, /** @type {string} */ (source.label));\n\t}\n\n\treturn internal_set(source, new_value, legacy_updates);\n}\n\n/**\n * A set of signals we have already seen while traversing in mark_reactions.\n * Not always set to balance the common case of sources only having a couple\n * of (transitive) dependencies (where always creating a Set would be bad for perf)\n * with the edge case of extremely deep or wide dependency arrays with cycles.\n * @type {Set | null}\n */\nvar seen = null;\n/** Number of transitive dependencies, see {@link seen} for more info */\nvar count_deps = 0;\n\n/**\n * @template V\n * @param {Value} source\n * @param {V} value\n * @param {Effect[] | null} [updated_during_traversal]\n * @returns {V}\n */\nexport function internal_set(source, value, updated_during_traversal = null) {\n\tif (!source.equals(value)) {\n\t\tif (is_destroying_effect) {\n\t\t\told_values.set(source, value);\n\t\t} else if (!old_values.has(source)) {\n\t\t\t// only record the value from before the first write in this flush, otherwise a\n\t\t\t// teardown would see the value from before whichever write happened to be last\n\t\t\told_values.set(source, source.v);\n\t\t}\n\n\t\tvar batch = Batch.ensure();\n\t\tbatch.capture(source, value);\n\n\t\tif (DEV) {\n\t\t\tif (tracing_mode_flag || active_effect !== null) {\n\t\t\t\tsource.updated ??= new Map();\n\n\t\t\t\t// For performance reasons, when not using $inspect.trace, we only start collecting stack traces\n\t\t\t\t// after the same source has been updated more than 5 times in the same flush cycle.\n\t\t\t\tconst count = (source.updated.get('')?.count ?? 0) + 1;\n\t\t\t\tsource.updated.set('', { error: /** @type {any} */ (null), count });\n\n\t\t\t\tif (tracing_mode_flag || count > 5) {\n\t\t\t\t\tconst error = get_error('updated at');\n\n\t\t\t\t\tif (error !== null) {\n\t\t\t\t\t\tlet entry = source.updated.get(error.stack);\n\n\t\t\t\t\t\tif (!entry) {\n\t\t\t\t\t\t\tentry = { error, count: 0 };\n\t\t\t\t\t\t\tsource.updated.set(error.stack, entry);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tentry.count++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (active_effect !== null) {\n\t\t\t\tsource.set_during_effect = true;\n\t\t\t}\n\t\t}\n\n\t\tif ((source.f & DERIVED) !== 0) {\n\t\t\tconst derived = /** @type {Derived} */ (source);\n\n\t\t\t// if we are assigning to a dirty derived we set it to clean/maybe dirty but we also eagerly execute it to track the dependencies\n\t\t\tif ((source.f & DIRTY) !== 0) {\n\t\t\t\texecute_derived(derived);\n\t\t\t}\n\n\t\t\t// During time traveling we don't want to reset the status so that\n\t\t\t// traversal of the graph in the other batches still happens\n\t\t\tif (batch_values === null) {\n\t\t\t\tupdate_derived_status(derived);\n\t\t\t}\n\t\t}\n\n\t\tsource.wv = increment_write_version();\n\n\t\t// For debugging, in case you want to know which reactions are being scheduled:\n\t\t// log_reactions(source);\n\t\tseen = null;\n\t\tcount_deps = 0;\n\t\tmark_reactions(source, DIRTY, updated_during_traversal);\n\t\tseen = null;\n\n\t\t// It's possible that the current reaction might not have up-to-date dependencies\n\t\t// whilst it's actively running. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0\n\t\t) {\n\t\t\tif (untracked_writes === null) {\n\t\t\t\tset_untracked_writes([source]);\n\t\t\t} else {\n\t\t\t\tuntracked_writes.push(source);\n\t\t\t}\n\t\t}\n\n\t\tif (!batch.is_fork && eager_effects.size > 0 && !eager_effects_deferred) {\n\t\t\tflush_eager_effects();\n\t\t}\n\t}\n\n\treturn value;\n}\n\nexport function flush_eager_effects() {\n\teager_effects_deferred = false;\n\n\tfor (const effect of eager_effects) {\n\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t}\n\n\t\tlet dirty;\n\n\t\ttry {\n\t\t\tdirty = is_dirty(effect);\n\t\t} catch {\n\t\t\t// Dirty-checking can evaluate derived dependencies and throw in cases where\n\t\t\t// parent effects are about to destroy this eager effect. Run the effect so\n\t\t\t// its own error handling can deal with transient failures.\n\t\t\tdirty = true;\n\t\t}\n\n\t\tif (dirty) {\n\t\t\tupdate_effect(effect);\n\t\t}\n\t}\n\n\teager_effects.clear();\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update(source, d = 1) {\n\tvar value = get(source);\n\tvar result = d === 1 ? value++ : value--;\n\n\tset(source, value);\n\n\t// @ts-expect-error\n\treturn result;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update_pre(source, d = 1) {\n\tvar value = get(source);\n\n\t// @ts-expect-error\n\t// eslint-disable-next-line no-useless-assignment -- `++`/`--` used for return value, not side effect on `value`\n\treturn set(source, d === 1 ? ++value : --value);\n}\n\n/**\n * Silently (without using `get`) increment a source\n * @param {Source} source\n */\nexport function increment(source) {\n\tset(source, source.v + 1);\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @param {Effect[] | null} updated_during_traversal\n * @returns {void}\n */\nfunction mark_reactions(signal, status, updated_during_traversal) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tcount_deps += length;\n\t// Activate the `seen` Set if we think from the unusually high number of deps that\n\t// there might be cycles in the graph, to avoid repeated lookups for reactions\n\t// Example: https://github.com/sveltejs/svelte/issues/16658 has a graph with one source\n\t// reaching ~10000 distinct deriveds/effects each, resulting in 65 million walks through repeated visits.\n\tif (count_deps > 100000 && seen === null) seen = new Set();\n\n\tif (seen !== null) {\n\t\tif (seen.has(signal)) return;\n\t\tseen.add(signal);\n\t}\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\tvar not_dirty = (flags & DIRTY) === 0;\n\n\t\t// don't set a DIRTY reaction to MAYBE_DIRTY\n\t\tif (not_dirty) {\n\t\t\tset_signal_status(reaction, status);\n\t\t}\n\n\t\tif ((flags & EAGER_EFFECT) !== 0) {\n\t\t\t// Eager effects need to run immediately:\n\t\t\t// - for $inspect so that the stack trace makes sense\n\t\t\t// - for $state.eager because they might be without an effect parent\n\t\t\teager_effects.add(/** @type {Effect} */ (reaction));\n\t\t} else if ((flags & DERIVED) !== 0) {\n\t\t\tvar derived = /** @type {Derived} */ (reaction);\n\n\t\t\tbatch_values?.delete(derived);\n\t\t\tmark_reactions(derived, MAYBE_DIRTY, updated_during_traversal);\n\t\t} else if (not_dirty) {\n\t\t\tvar effect = /** @type {Effect} */ (reaction);\n\n\t\t\tif ((flags & BLOCK_EFFECT) !== 0 && eager_block_effects !== null) {\n\t\t\t\teager_block_effects.add(effect);\n\t\t\t}\n\n\t\t\tif (updated_during_traversal !== null) {\n\t\t\t\tupdated_during_traversal.push(effect);\n\t\t\t} else {\n\t\t\t\tschedule_effect(effect);\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tget,\n\tactive_effect,\n\tupdate_version,\n\tactive_reaction,\n\tset_update_version,\n\tset_active_reaction\n} from './runtime.js';\nimport {\n\tarray_prototype,\n\tget_descriptor,\n\tget_prototype_of,\n\tis_array,\n\tobject_prototype\n} from '../shared/utils.js';\nimport {\n\tstate as source,\n\tset,\n\tincrement,\n\tflush_eager_effects,\n\tset_eager_effects_deferred\n} from './reactivity/sources.js';\nimport { COMPONENT_SYMBOL, PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { UNINITIALIZED } from '../../constants.js';\nimport * as e from './errors.js';\nimport { tag } from './dev/tracing.js';\nimport { get_error } from '../shared/dev.js';\nimport { tracing_mode_flag } from '../flags/index.js';\n\n// TODO move all regexes into shared module?\nconst regex_is_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/**\n * @template T\n * @param {T} value\n * @returns {T}\n */\nexport function proxy(value) {\n\t// if non-proxyable, a component instance, or already a proxy, return `value`\n\tif (\n\t\ttypeof value !== 'object' ||\n\t\tvalue === null ||\n\t\tSTATE_SYMBOL in value ||\n\t\tCOMPONENT_SYMBOL in value\n\t) {\n\t\treturn value;\n\t}\n\n\tconst prototype = get_prototype_of(value);\n\n\tif (prototype !== object_prototype && prototype !== array_prototype) {\n\t\treturn value;\n\t}\n\n\t/** @type {Map>} */\n\tvar sources = new Map();\n\tvar is_proxied_array = is_array(value);\n\tvar version = source(0);\n\n\tvar stack = DEV && tracing_mode_flag ? get_error('created at') : null;\n\tvar parent_version = update_version;\n\n\t/**\n\t * Executes the proxy in the context of the reaction it was originally created in, if any\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\tvar with_parent = (fn) => {\n\t\tif (update_version === parent_version) {\n\t\t\treturn fn();\n\t\t}\n\n\t\t// child source is being created after the initial proxy —\n\t\t// prevent it from being associated with the current reaction\n\t\tvar reaction = active_reaction;\n\t\tvar version = update_version;\n\n\t\tset_active_reaction(null);\n\t\tset_update_version(parent_version);\n\n\t\tvar result = fn();\n\n\t\tset_active_reaction(reaction);\n\t\tset_update_version(version);\n\n\t\treturn result;\n\t};\n\n\tif (is_proxied_array) {\n\t\t// We need to create the length source eagerly to ensure that\n\t\t// mutations to the array are properly synced with our proxy\n\t\tsources.set('length', source(/** @type {any[]} */ (value).length, stack));\n\t\tif (DEV) {\n\t\t\tvalue = /** @type {any} */ (inspectable_array(/** @type {any[]} */ (value)));\n\t\t}\n\t}\n\n\t/** Used in dev for $inspect.trace() */\n\tvar path = '';\n\tlet updating = false;\n\t/** @param {string} new_path */\n\tfunction update_path(new_path) {\n\t\tif (updating) return;\n\t\tupdating = true;\n\t\tpath = new_path;\n\n\t\ttag(version, `${path} version`);\n\n\t\t// rename all child sources and child proxies\n\t\tfor (const [prop, source] of sources) {\n\t\t\ttag(source, get_label(path, prop));\n\t\t}\n\t\tupdating = false;\n\t}\n\n\treturn new Proxy(/** @type {any} */ (value), {\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\tif (\n\t\t\t\t!('value' in descriptor) ||\n\t\t\t\tdescriptor.configurable === false ||\n\t\t\t\tdescriptor.enumerable === false ||\n\t\t\t\tdescriptor.writable === false\n\t\t\t) {\n\t\t\t\t// we disallow non-basic descriptors, because unless they are applied to the\n\t\t\t\t// target object — which we avoid, so that state can be forked — we will run\n\t\t\t\t// afoul of the various invariants\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor#invariants\n\t\t\t\te.state_descriptors_fixed();\n\t\t\t}\n\t\t\tvar s = sources.get(prop);\n\t\t\tif (s === undefined) {\n\t\t\t\twith_parent(() => {\n\t\t\t\t\tvar s = source(descriptor.value, stack);\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tif (DEV && typeof prop === 'string') {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tset(s, descriptor.value, true);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tdeleteProperty(target, prop) {\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\tif (prop in target) {\n\t\t\t\t\tconst s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tincrement(version);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tset(s, UNINITIALIZED);\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tget(target, prop, receiver) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif (DEV && prop === PROXY_PATH_SYMBOL) {\n\t\t\t\treturn update_path;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar exists = prop in target;\n\n\t\t\t// create a source, but only if it's an own property and not a prototype property\n\t\t\tif (s === undefined && (!exists || get_descriptor(target, prop)?.writable)) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar p = proxy(exists ? target[prop] : UNINITIALIZED);\n\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\n\t\t\t\tsources.set(prop, s);\n\t\t\t}\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar v = get(s);\n\t\t\t\treturn v === UNINITIALIZED ? undefined : v;\n\t\t\t}\n\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, prop) {\n\t\t\tthis.has?.(target, prop);\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar value = get(s);\n\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\tif (descriptor && 'value' in descriptor) {\n\t\t\t\t\tdescriptor.value = value;\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn descriptor;\n\t\t},\n\n\t\thas(target, prop) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop);\n\n\t\t\tif (\n\t\t\t\ts !== undefined ||\n\t\t\t\t((active_effect !== null || active_reaction !== null) &&\n\t\t\t\t\t(!has || get_descriptor(target, prop)?.writable))\n\t\t\t) {\n\t\t\t\tif (s === undefined) {\n\t\t\t\t\ts = with_parent(() => {\n\t\t\t\t\t\tvar p = has ? proxy(target[prop]) : UNINITIALIZED;\n\t\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn s;\n\t\t\t\t\t});\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\n\t\t\t\tvar value = get(s);\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn has;\n\t\t},\n\n\t\tset(target, prop, value, receiver) {\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = prop in target;\n\n\t\t\t// variable.length = value -> clear all signals with index >= value\n\t\t\tif (is_proxied_array && prop === 'length') {\n\t\t\t\tfor (var i = value; i < /** @type {Source} */ (s).v; i += 1) {\n\t\t\t\t\tvar other_s = sources.get(i + '');\n\t\t\t\t\tif (other_s !== undefined) {\n\t\t\t\t\t\tset(other_s, UNINITIALIZED);\n\t\t\t\t\t} else if (i in target) {\n\t\t\t\t\t\t// If the item exists in the original, we need to create an uninitialized source,\n\t\t\t\t\t\t// else a later read of the property would result in a source being created with\n\t\t\t\t\t\t// the value of the original item at that index.\n\t\t\t\t\t\tother_s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\t\tsources.set(i + '', other_s);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(other_s, get_label(path, i));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we haven't yet created a source for this property, we need to ensure\n\t\t\t// we do so otherwise if we read it later, then the write won't be tracked and\n\t\t\t// the heuristics of effects will be different vs if we had read the proxied\n\t\t\t// object property before writing to that property.\n\t\t\tif (s === undefined) {\n\t\t\t\tif (!has || get_descriptor(target, prop)?.writable) {\n\t\t\t\t\ts = with_parent(() => source(undefined, stack));\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\tset(s, proxy(value));\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thas = s.v !== UNINITIALIZED;\n\n\t\t\t\tvar p = with_parent(() => proxy(value));\n\t\t\t\tset(s, p);\n\t\t\t}\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\t// Set the new value before updating any signals so that any listeners get the new value\n\t\t\tif (descriptor?.set) {\n\t\t\t\tdescriptor.set.call(receiver, value);\n\t\t\t}\n\n\t\t\tif (!has) {\n\t\t\t\t// If we have mutated an array directly, we might need to\n\t\t\t\t// signal that length has also changed. Do it before updating metadata\n\t\t\t\t// to ensure that iterating over the array as a result of a metadata update\n\t\t\t\t// will not cause the length to be out of sync.\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n >= ls.v) {\n\t\t\t\t\t\tset(ls, n + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\tget(version);\n\n\t\t\tvar own_keys = Reflect.ownKeys(target).filter((key) => {\n\t\t\t\tvar source = sources.get(key);\n\t\t\t\treturn source === undefined || source.v !== UNINITIALIZED;\n\t\t\t});\n\n\t\t\tfor (var [key, source] of sources) {\n\t\t\t\tif (source.v !== UNINITIALIZED && !(key in target)) {\n\t\t\t\t\town_keys.push(key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn own_keys;\n\t\t},\n\n\t\tsetPrototypeOf() {\n\t\t\te.state_prototype_fixed();\n\t\t}\n\t});\n}\n\n/**\n * @param {string} path\n * @param {string | symbol} prop\n */\nfunction get_label(path, prop) {\n\tif (typeof prop === 'symbol') return `${path}[Symbol(${prop.description ?? ''})]`;\n\tif (regex_is_valid_identifier.test(prop)) return `${path}.${prop}`;\n\treturn /^\\d+$/.test(prop) ? `${path}[${prop}]` : `${path}['${prop}']`;\n}\n\n/**\n * @param {any} value\n */\nexport function get_proxied_value(value) {\n\ttry {\n\t\tif (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {\n\t\t\treturn value[STATE_SYMBOL];\n\t\t}\n\t} catch {\n\t\t// the above if check can throw an error if the value in question\n\t\t// is the contentWindow of an iframe on another domain, in which\n\t\t// case we want to just return the value (because it's definitely\n\t\t// not a proxied value) so we don't break any JavaScript interacting\n\t\t// with that iframe (such as various payment companies client side\n\t\t// JavaScript libraries interacting with their iframes on the same\n\t\t// domain)\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n */\nexport function is(a, b) {\n\treturn Object.is(get_proxied_value(a), get_proxied_value(b));\n}\n\nconst ARRAY_MUTATING_METHODS = new Set([\n\t'copyWithin',\n\t'fill',\n\t'pop',\n\t'push',\n\t'reverse',\n\t'shift',\n\t'sort',\n\t'splice',\n\t'unshift'\n]);\n\n/**\n * Wrap array mutating methods so $inspect is triggered only once and\n * to prevent logging an array in intermediate state (e.g. with an empty slot)\n * @param {any[]} array\n */\nfunction inspectable_array(array) {\n\treturn new Proxy(array, {\n\t\tget(target, prop, receiver) {\n\t\t\tvar value = Reflect.get(target, prop, receiver);\n\t\t\tif (!ARRAY_MUTATING_METHODS.has(/** @type {string} */ (prop))) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @this {any[]}\n\t\t\t * @param {any[]} args\n\t\t\t */\n\t\t\treturn function (...args) {\n\t\t\t\tset_eager_effects_deferred();\n\t\t\t\tvar result = value.apply(this, args);\n\t\t\t\tflush_eager_effects();\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t});\n}\n","import * as w from '../warnings.js';\nimport { get_proxied_value } from '../proxy.js';\n\nexport function init_array_prototype_warnings() {\n\tconst array_prototype = Array.prototype;\n\t// The REPL ends up here over and over, and this prevents it from adding more and more patches\n\t// of the same kind to the prototype, which would slow down everything over time.\n\t// @ts-expect-error\n\tconst cleanup = Array.__svelte_cleanup;\n\tif (cleanup) {\n\t\tcleanup();\n\t}\n\n\tconst { indexOf, lastIndexOf, includes } = array_prototype;\n\n\tarray_prototype.indexOf = function (item, from_index) {\n\t\tconst index = indexOf.call(this, item, from_index);\n\n\t\tif (index === -1) {\n\t\t\tfor (let i = from_index ?? 0; i < this.length; i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.indexOf(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t};\n\n\tarray_prototype.lastIndexOf = function (item, from_index) {\n\t\t// we need to specify this.length - 1 because it's probably using something like\n\t\t// `arguments` inside so passing undefined is different from not passing anything\n\t\tconst index = lastIndexOf.call(this, item, from_index ?? this.length - 1);\n\n\t\tif (index === -1) {\n\t\t\tfor (let i = 0; i <= (from_index ?? this.length - 1); i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.lastIndexOf(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn index;\n\t};\n\n\tarray_prototype.includes = function (item, from_index) {\n\t\tconst has = includes.call(this, item, from_index);\n\n\t\tif (!has) {\n\t\t\tfor (let i = 0; i < this.length; i += 1) {\n\t\t\t\tif (get_proxied_value(this[i]) === item) {\n\t\t\t\t\tw.state_proxy_equality_mismatch('array.includes(...)');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn has;\n\t};\n\n\t// @ts-expect-error\n\tArray.__svelte_cleanup = () => {\n\t\tarray_prototype.indexOf = indexOf;\n\t\tarray_prototype.lastIndexOf = lastIndexOf;\n\t\tarray_prototype.includes = includes;\n\t};\n}\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {boolean} equal\n * @returns {boolean}\n */\nexport function strict_equals(a, b, equal = true) {\n\t// try-catch needed because this tries to read properties of `a` and `b`,\n\t// which could be disallowed for example in a secure context\n\ttry {\n\t\tif ((a === b) !== (get_proxied_value(a) === get_proxied_value(b))) {\n\t\t\tw.state_proxy_equality_mismatch(equal ? '===' : '!==');\n\t\t}\n\t} catch {}\n\n\treturn (a === b) === equal;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n * @param {boolean} equal\n * @returns {boolean}\n */\nexport function equals(a, b, equal = true) {\n\tif ((a == b) !== (get_proxied_value(a) == get_proxied_value(b))) {\n\t\tw.state_proxy_equality_mismatch(equal ? '==' : '!=');\n\t}\n\n\treturn (a == b) === equal;\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, reset, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor, is_extensible } from '../../shared/utils.js';\nimport { active_effect } from '../runtime.js';\nimport { async_mode_flag } from '../../flags/index.js';\nimport {\n\tATTRIBUTES_CACHE,\n\tCLASS_CACHE,\n\tREACTION_RAN,\n\tSTYLE_CACHE,\n\tTEXT_CACHE,\n\tTEXT_NODE\n} from '#client/constants';\nimport { eager_block_effects } from '../reactivity/batch.js';\nimport { NAMESPACE_HTML } from '../../../constants.js';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {boolean} */\nexport var is_firefox;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\tis_firefox = /Firefox/.test(navigator.userAgent);\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\tvar text_prototype = Text.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\tif (is_extensible(element_prototype)) {\n\t\t// the following assignments improve perf of lookups on DOM nodes\n\t\t/** @type {any} */ (element_prototype)[CLASS_CACHE] = undefined;\n\t\t/** @type {any} */ (element_prototype)[ATTRIBUTES_CACHE] = null;\n\t\t/** @type {any} */ (element_prototype)[STYLE_CACHE] = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__e = undefined;\n\t}\n\n\tif (is_extensible(text_prototype)) {\n\t\t/** @type {any} */ (text_prototype)[TEXT_CACHE] = undefined;\n\t}\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn /** @type {TemplateNode | null} */ (first_child_getter.call(node));\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn /** @type {TemplateNode | null} */ (next_sibling_getter.call(node));\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {TemplateNode | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = get_first_child(hydrate_node);\n\n\t// Child can be null if we have an element with a single child, like `

        {text}

        `, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tif (is_text) {\n\t\tmerge_text_nodes(/** @type {Text} */ (child));\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {boolean} [is_text]\n * @returns {TemplateNode | null}\n */\nexport function first_child(node, is_text = false) {\n\tif (!hydrating) {\n\t\tvar first = get_first_child(node);\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\tif (is_text) {\n\t\t// if an {expression} is empty during SSR, there might be no\n\t\t// text node to hydrate — we must therefore create one\n\t\tif (hydrate_node?.nodeType !== TEXT_NODE) {\n\t\t\tvar text = create_text();\n\n\t\t\thydrate_node?.before(text);\n\t\t\tset_hydrate_node(text);\n\t\t\treturn text;\n\t\t}\n\n\t\tmerge_text_nodes(/** @type {Text} */ (hydrate_node));\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * `child`, for the very common case of an element with exactly one child. Resetting the\n * hydration cursor is part of the same step, so the compiler doesn't have to emit a\n * separate `reset` call for every `

        {text}

        ` in an app.\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {boolean} [is_text]\n * @returns {TemplateNode | null}\n */\nexport function only_child(node, is_text = false) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar first = child(node, is_text);\n\treset(node);\n\n\treturn first;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {TemplateNode | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\tvar last_sibling;\n\n\twhile (count--) {\n\t\tlast_sibling = next_sibling;\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\tif (is_text) {\n\t\t// if a sibling {expression} is empty during SSR, there might be no\n\t\t// text node to hydrate — we must therefore create one\n\t\tif (next_sibling?.nodeType !== TEXT_NODE) {\n\t\t\tvar text = create_text();\n\t\t\t// If the next sibling is `null` and we're handling text then it's because\n\t\t\t// the SSR content was empty for the text, so we need to generate a new text\n\t\t\t// node and insert it after the last sibling\n\t\t\tif (next_sibling === null) {\n\t\t\t\tlast_sibling?.after(text);\n\t\t\t} else {\n\t\t\t\tnext_sibling.before(text);\n\t\t\t}\n\t\t\tset_hydrate_node(text);\n\t\t\treturn text;\n\t\t}\n\n\t\tmerge_text_nodes(/** @type {Text} */ (next_sibling));\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn next_sibling;\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n\n/**\n * Returns `true` if we're updating the current block, for example `condition` in\n * an `{#if condition}` block just changed. In this case, the branch should be\n * appended (or removed) at the same time as other updates within the\n * current ``\n */\nexport function should_defer_append() {\n\tif (!async_mode_flag) return false;\n\tif (eager_block_effects !== null) return false;\n\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\treturn (flags & REACTION_RAN) !== 0;\n}\n\n/**\n * Branching here is intentional and load-bearing for perf. `createElement(tag)`\n * hits a fast path in Blink that `createElementNS(NAMESPACE_HTML, tag)` doesn't,\n * and passing an explicit `undefined` as the trailing options arg measurably\n * slows both APIs. Funnelling every case through a single `createElementNS(ns,\n * tag, options)` call would be smaller but slower on the HTML path.\n *\n * @template {keyof HTMLElementTagNameMap | string} T\n * @param {T} tag\n * @param {string} [namespace]\n * @param {string} [is]\n * @returns {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element}\n */\nexport function create_element(tag, namespace, is) {\n\tif (namespace == null || namespace === NAMESPACE_HTML) {\n\t\treturn /** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */ (\n\t\t\tis ? document.createElement(tag, { is }) : document.createElement(tag)\n\t\t);\n\t}\n\treturn /** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */ (\n\t\tis ? document.createElementNS(namespace, tag, { is }) : document.createElementNS(namespace, tag)\n\t);\n}\n\nexport function create_fragment() {\n\treturn document.createDocumentFragment();\n}\n\n/**\n * @param {string} data\n * @returns\n */\nexport function create_comment(data = '') {\n\treturn document.createComment(data);\n}\n\n/**\n * @param {Element} element\n * @param {string} key\n * @param {string} value\n * @returns\n */\nexport function set_attribute(element, key, value = '') {\n\tif (key.startsWith('xlink:')) {\n\t\telement.setAttributeNS('http://www.w3.org/1999/xlink', key, value);\n\t\treturn;\n\t}\n\treturn element.setAttribute(key, value);\n}\n\n/**\n * Browsers split text nodes larger than 65536 bytes when parsing.\n * For hydration to succeed, we need to stitch them back together\n * @param {Text} text\n */\nexport function merge_text_nodes(text) {\n\tif (/** @type {string} */ (text.nodeValue).length < 65536) {\n\t\treturn;\n\t}\n\n\tlet next = text.nextSibling;\n\n\twhile (next !== null && next.nodeType === TEXT_NODE) {\n\t\tnext.remove();\n\n\t\t/** @type {string} */ (text.nodeValue) += /** @type {string} */ (next.nodeValue);\n\n\t\tnext = text.nextSibling;\n\t}\n}\n","/** @import { Derived, Effect } from '#client' */\n/** @import { Boundary } from './dom/blocks/boundary.js' */\nimport { DEV } from 'esm-env';\nimport { FILENAME, HYDRATION_ERROR } from '../../constants.js';\nimport { is_firefox } from './dom/operations.js';\nimport {\n\tERROR_VALUE,\n\tBOUNDARY_EFFECT,\n\tREACTION_RAN,\n\tEFFECT,\n\tDESTROYED,\n\tDESTROYING\n} from './constants.js';\nimport { define_property, get_descriptor } from '../shared/utils.js';\nimport { active_effect, active_reaction } from './runtime.js';\n\nconst adjustments = new WeakMap();\n\n/**\n * @param {unknown} error\n */\nexport function handle_error(error) {\n\tvar effect = active_effect;\n\n\t// for unowned deriveds, don't throw until we read the value\n\tif (effect === null) {\n\t\t/** @type {Derived} */ (active_reaction).f |= ERROR_VALUE;\n\t\treturn error;\n\t}\n\n\tif (DEV && error instanceof Error && !adjustments.has(error)) {\n\t\tadjustments.set(error, get_adjustments(error, effect));\n\t}\n\n\t// if the error occurred while creating this subtree, we let it\n\t// bubble up until it hits a boundary that can handle it, unless\n\t// it's an $effect in which case it doesn't run immediately\n\tif ((effect.f & REACTION_RAN) === 0 && (effect.f & EFFECT) === 0) {\n\t\tif (DEV && !effect.parent && error instanceof Error) {\n\t\t\tapply_adjustments(error);\n\t\t}\n\n\t\tthrow error;\n\t}\n\n\t// otherwise we bubble up the effect tree ourselves\n\tinvoke_error_boundary(error, effect);\n}\n\n/**\n * @param {unknown} error\n * @param {Effect | null} effect\n */\nexport function invoke_error_boundary(error, effect) {\n\tif (error === HYDRATION_ERROR) {\n\t\tthrow error;\n\t}\n\n\tif (effect !== null && (effect.f & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\twhile (effect !== null) {\n\t\t// Skip boundaries that are destroyed/destroying and cannot meaningfully handle the error.\n\t\tif ((effect.f & BOUNDARY_EFFECT) !== 0 && (effect.f & (DESTROYED | DESTROYING)) === 0) {\n\t\t\tif ((effect.f & REACTION_RAN) === 0) {\n\t\t\t\t// we are still creating the boundary effect\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t/** @type {Boundary} */ (effect.b).error(error);\n\t\t\t\treturn;\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\n\t\teffect = effect.parent;\n\t}\n\n\tif (DEV && error instanceof Error) {\n\t\tapply_adjustments(error);\n\t}\n\n\tthrow error;\n}\n\n/**\n * Add useful information to the error message/stack in development\n * @param {Error} error\n * @param {Effect} effect\n */\nfunction get_adjustments(error, effect) {\n\tconst message_descriptor = get_descriptor(error, 'message');\n\n\t// if the message was already changed and it's not configurable we can't change it\n\t// or it will throw a different error swallowing the original error\n\tif (message_descriptor && !message_descriptor.configurable) return;\n\n\tvar indent = is_firefox ? ' ' : '\\t';\n\tvar component_stack = `\\n${indent}in ${effect.fn?.name || ''}`;\n\tvar context = effect.ctx;\n\n\twhile (context !== null) {\n\t\tcomponent_stack += `\\n${indent}in ${context.function?.[FILENAME].split('/').pop()}`;\n\t\tcontext = context.p;\n\t}\n\n\treturn {\n\t\tmessage: error.message + `\\n${component_stack}\\n`,\n\t\tstack: error.stack\n\t\t\t?.split('\\n')\n\t\t\t.filter((line) => !line.includes('svelte/src/internal'))\n\t\t\t.join('\\n')\n\t};\n}\n\n/**\n * @param {Error} error\n */\nfunction apply_adjustments(error) {\n\tconst adjusted = adjustments.get(error);\n\n\tif (adjusted) {\n\t\tdefine_property(error, 'message', {\n\t\t\tvalue: adjusted.message\n\t\t});\n\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: adjusted.stack\n\t\t});\n\t}\n}\n","/** @import { Blocker, ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tis_dirty,\n\tactive_effect,\n\tactive_reaction,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tremove_reactions,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tuntrack,\n\tuntracking,\n\tset_active_effect\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tCLEAN,\n\tEAGER_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_PRESERVED,\n\tSTALE_REACTION,\n\tUSER_EFFECT,\n\tASYNC,\n\tCONNECTED,\n\tMANAGED_EFFECT,\n\tDESTROYING,\n\tPAUSED\n} from '#client/constants';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { component_context, dev_current_component_function, dev_stack } from '../context.js';\nimport { Batch, collected_effects, current_batch } from './batch.js';\nimport { flatten } from './async.js';\nimport { without_reactive_context } from '../dom/elements/bindings/shared.js';\nimport { set_signal_status } from './status.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null) {\n\t\tif (active_reaction === null) {\n\t\t\te.effect_orphan(rune);\n\t\t}\n\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @returns {Effect}\n */\nfunction create_effect(type, fn) {\n\tvar parent = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent !== null && (parent.f & EAGER_EFFECT) !== 0) {\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\tif (parent !== null && (parent.f & INERT) !== 0) {\n\t\ttype |= INERT;\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tnodes: null,\n\t\tf: type | DIRTY | CONNECTED,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent,\n\t\tb: parent && parent.b,\n\t\tprev: null,\n\t\tteardown: null,\n\t\twv: 0,\n\t\tac: null\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tcurrent_batch?.register_created_effect(effect);\n\n\t/** @type {Effect | null} */\n\tvar e = effect;\n\n\tif ((type & EFFECT) !== 0) {\n\t\tif (collected_effects !== null) {\n\t\t\t// created during traversal — collect and run afterwards\n\t\t\tcollected_effects.push(effect);\n\t\t} else {\n\t\t\t// schedule for later\n\t\t\tBatch.ensure().schedule(effect);\n\t\t}\n\t} else if (fn !== null) {\n\t\ttry {\n\t\t\tupdate_effect(effect);\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t}\n\n\t\t// if an effect doesn't need to be kept in the tree (because it\n\t\t// won't re-run, has no DOM, and has no teardown etc)\n\t\t// then we skip it and go to its child (if any)\n\t\tif (\n\t\t\te.deps === null &&\n\t\t\te.teardown === null &&\n\t\t\te.nodes === null &&\n\t\t\te.first === e.last && // either `null`, or a singular child\n\t\t\t(e.f & EFFECT_PRESERVED) === 0\n\t\t) {\n\t\t\te = e.first;\n\t\t\tif ((type & BLOCK_EFFECT) !== 0 && (type & EFFECT_TRANSPARENT) !== 0 && e !== null) {\n\t\t\t\te.f |= EFFECT_TRANSPARENT;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (e !== null) {\n\t\te.parent = parent;\n\n\t\tif (parent !== null) {\n\t\t\tpush_effect(e, parent);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (\n\t\t\tactive_reaction !== null &&\n\t\t\t(active_reaction.f & DERIVED) !== 0 &&\n\t\t\t(type & ROOT_EFFECT) === 0\n\t\t) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.effects ??= []).push(e);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\treturn active_reaction !== null && !untracking;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\tvar defer =\n\t\t!active_reaction &&\n\t\t(flags & BRANCH_EFFECT) !== 0 &&\n\t\tcomponent_context !== null &&\n\t\t!component_context.i;\n\n\tif (defer) {\n\t\t// Top-level `$effect(...)` in an unmounted component — defer until mount\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push(fn);\n\t} else {\n\t\t// Everything else — create immediately\n\t\treturn create_user_effect(fn);\n\t}\n}\n\n/**\n * @param {() => void | (() => void)} fn\n */\nexport function create_user_effect(fn) {\n\treturn create_effect(EFFECT | USER_EFFECT, fn);\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn create_effect(RENDER_EFFECT | USER_EFFECT, fn);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function eager_effect(fn) {\n\treturn create_effect(EAGER_EFFECT, fn);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn);\n\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * An effect root whose children can transition out\n * @param {() => void} fn\n * @returns {(options?: { outro?: boolean }) => Promise}\n */\nexport function component_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn);\n\n\treturn (options = {}) => {\n\t\treturn new Promise((fulfil) => {\n\t\t\tif (options.outro) {\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t\tfulfil(undefined);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tfulfil(undefined);\n\t\t\t}\n\t\t});\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean, deps: () => any }} */\n\tvar token = { effect: null, ran: false, deps };\n\n\tcontext.l.$.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t// here, we lie: by setting `active_effect` to be the parent branch, any writes\n\t\t// that happen inside `fn` will _not_ cause an unnecessary reschedule, because\n\t\t// the affected effects will be children of `active_effect`. this is safe\n\t\t// because these effects are known to run in the correct order\n\t\ttry {\n\t\t\tset_active_effect(effect.parent);\n\t\t\tuntrack(fn);\n\t\t} finally {\n\t\t\tset_active_effect(effect);\n\t\t}\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.$) {\n\t\t\ttoken.deps();\n\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0 && effect.deps !== null) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (is_dirty(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function async_effect(fn) {\n\treturn create_effect(ASYNC | EFFECT_PRESERVED, fn);\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn, flags = 0) {\n\treturn create_effect(RENDER_EFFECT | flags, fn);\n}\n\n/**\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise>} async\n * @param {Blocker[]} blockers\n */\nexport function template_effect(fn, sync = [], async = [], blockers = []) {\n\tflatten(blockers, sync, async, (values) => {\n\t\tcreate_effect(RENDER_EFFECT, () => {\n\t\t\tfn(...values.map(get));\n\t\t});\n\t});\n}\n\n/**\n * Like `template_effect`, but with an effect which is deferred until the batch commits\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise>} async\n * @param {Blocker[]} blockers\n */\nexport function deferred_template_effect(fn, sync = [], async = [], blockers = []) {\n\tflatten(blockers, sync, async, (values) => {\n\t\tcreate_effect(EFFECT, () => fn(...values.map(get)));\n\t});\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\tvar effect = create_effect(BLOCK_EFFECT | flags, fn);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function managed(fn, flags = 0) {\n\tvar effect = create_effect(MANAGED_EFFECT | flags, fn);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n */\nexport function branch(fn) {\n\treturn create_effect(BRANCH_EFFECT | EFFECT_PRESERVED, fn);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} catch (error) {\n\t\t\t// Route teardown errors through the boundary system so that a live\n\t\t\t// ancestor can handle them. Boundaries that are\n\t\t\t// themselves mid-teardown are skipped by invoke_error_boundary.\n\t\t\tinvoke_error_boundary(error, effect.parent);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\tconst controller = effect.ac;\n\n\t\tif (controller !== null) {\n\t\t\twithout_reactive_context(() => {\n\t\t\t\tcontroller.abort(STALE_REACTION);\n\t\t\t});\n\t\t}\n\n\t\tvar next = effect.next;\n\n\t\tif ((effect.f & ROOT_EFFECT) !== 0) {\n\t\t\t// this is now an independent root\n\t\t\teffect.parent = null;\n\t\t} else {\n\t\t\tdestroy_effect(effect, remove_dom);\n\t\t}\n\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif (\n\t\t(remove_dom || (effect.f & HEAD_EFFECT) !== 0) &&\n\t\teffect.nodes !== null &&\n\t\teffect.nodes.end !== null\n\t) {\n\t\tremove_effect_dom(effect.nodes.start, /** @type {TemplateNode} */ (effect.nodes.end));\n\t\tremoved = true;\n\t}\n\n\teffect.f |= DESTROYING;\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tremove_reactions(effect, 0);\n\n\tvar transitions = effect.nodes && effect.nodes.t;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\teffect.f ^= DESTROYING;\n\teffect.f |= DESTROYED;\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\t// we don't null out `parent` so that error propagation can work correctly\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.fn =\n\t\teffect.nodes =\n\t\teffect.ac =\n\t\teffect.b =\n\t\t\tnull;\n}\n\n/**\n *\n * @param {TemplateNode | null} node\n * @param {TemplateNode} end\n */\nexport function remove_effect_dom(node, end) {\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : get_next_sibling(node);\n\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n * @param {boolean} [destroy]\n */\nexport function pause_effect(effect, callback, destroy = true) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\teffect.f |= PAUSED;\n\tpause_children(effect, transitions, true);\n\n\tvar fn = () => {\n\t\tif (destroy) destroy_effect(effect);\n\t\tif (callback) callback();\n\t};\n\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nfunction pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tvar t = effect.nodes && effect.nodes.t;\n\n\tif (t !== null) {\n\t\tfor (const transition of t) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\n\t\t// If this child is a root effect, then it will become an independent root when its parent\n\t\t// is destroyed, it should therefore not become inert nor partake in transitions.\n\t\tif ((child.f & ROOT_EFFECT) === 0) {\n\t\t\tvar transparent =\n\t\t\t\t(child.f & EFFECT_TRANSPARENT) !== 0 ||\n\t\t\t\t// If this is a branch effect without a block effect parent,\n\t\t\t\t// it means the parent block effect was pruned. In that case,\n\t\t\t\t// transparency information was transferred to the branch effect.\n\t\t\t\t((child.f & BRANCH_EFFECT) !== 0 && (effect.f & BLOCK_EFFECT) !== 0);\n\t\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t\t// through the tree.\n\t\t\tpause_children(child, transitions, transparent ? local : false);\n\t\t}\n\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\teffect.f &= ~PAUSED;\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\t// this subtree was paused for its own reasons (e.g. a block whose condition\n\t// is still false) — its controller will resume or destroy it\n\tif ((effect.f & PAUSED) !== 0) return;\n\n\tif ((effect.f & INERT) === 0) return;\n\teffect.f ^= INERT;\n\n\t// If a dependency of this effect changed while it was paused,\n\t// schedule the effect to update. we don't use `is_dirty`\n\t// here because we don't want to eagerly recompute a derived like\n\t// `{#if foo}{foo.bar()}{/if}` if `foo` is now `undefined\n\tif ((effect.f & CLEAN) === 0) {\n\t\tset_signal_status(effect, DIRTY);\n\t\tBatch.ensure().schedule(effect); // Assumption: This happens during the commit phase of the batch, causing another flush, but it's safe\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tvar t = effect.nodes && effect.nodes.t;\n\n\tif (t !== null) {\n\t\tfor (const transition of t) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function aborted(effect = /** @type {Effect} */ (active_effect)) {\n\treturn (effect.f & DESTROYED) !== 0;\n}\n\n/**\n * @param {Effect} effect\n * @param {DocumentFragment} fragment\n */\nexport function move_effect(effect, fragment) {\n\tif (!effect.nodes) return;\n\n\t/** @type {TemplateNode | null} */\n\tvar node = effect.nodes.start;\n\tvar end = effect.nodes.end;\n\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : get_next_sibling(node);\n\n\t\tfragment.append(node);\n\t\tnode = next;\n\t}\n}\n","/** @import { Value } from '#client' */\nimport { internal_set } from './reactivity/sources.js';\nimport { untrack } from './runtime.js';\n\n/**\n * @type {Set | null}\n * @deprecated\n */\nexport let captured_signals = null;\n\n/**\n * Capture an array of all the signals that are read when `fn` is called\n * @template T\n * @param {() => T} fn\n */\nfunction capture_signals(fn) {\n\tvar previous_captured_signals = captured_signals;\n\n\ttry {\n\t\tcaptured_signals = new Set();\n\n\t\tuntrack(fn);\n\n\t\tif (previous_captured_signals !== null) {\n\t\t\tfor (var signal of captured_signals) {\n\t\t\t\tprevious_captured_signals.add(signal);\n\t\t\t}\n\t\t}\n\n\t\treturn captured_signals;\n\t} finally {\n\t\tcaptured_signals = previous_captured_signals;\n\t}\n}\n\n/**\n * Invokes a function and captures all signals that are read during the invocation,\n * then invalidates them.\n * @param {() => any} fn\n * @deprecated\n */\nexport function invalidate_inner_signals(fn) {\n\tfor (var signal of capture_signals(fn)) {\n\t\tinternal_set(signal, signal.v);\n\t}\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { get_descriptors, get_prototype_of, includes, index_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\teffect_tracking,\n\texecute_effect_teardown\n} from './reactivity/effects.js';\nimport {\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tDESTROYED,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tCONNECTED,\n\tREACTION_IS_UPDATING,\n\tSTALE_REACTION,\n\tERROR_VALUE,\n\tMANAGED_EFFECT,\n\tREACTION_RAN\n} from './constants.js';\nimport { old_values } from './reactivity/sources.js';\nimport {\n\treactivity_loss_tracker,\n\texecute_derived,\n\tfreeze_derived_effects,\n\trecent_async_deriveds,\n\tunfreeze_derived_effects,\n\tupdate_derived\n} from './reactivity/deriveds.js';\nimport { async_mode_flag, tracing_mode_flag } from '../flags/index.js';\nimport { tracing_expressions } from './dev/tracing.js';\nimport { get_error } from '../shared/dev.js';\nimport {\n\tcomponent_context,\n\tdev_current_component_function,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function,\n\tset_dev_stack\n} from './context.js';\nimport {\n\tBatch,\n\tbatch_values,\n\tcurrent_batch,\n\tflushSync,\n\tprevious_batch,\n\tschedule_effect\n} from './reactivity/batch.js';\nimport { handle_error } from './error-handling.js';\nimport { UNINITIALIZED } from '../../constants.js';\nimport { captured_signals } from './legacy.js';\nimport { without_reactive_context } from './dom/elements/bindings/shared.js';\nimport { set_signal_status, update_derived_status } from './reactivity/status.js';\nimport * as w from './warnings.js';\n\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\nexport let untracking = false;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a reaction, reading and writing\n * them within that reaction should not cause a re-run\n * @type {null | Set}\n */\nexport let current_sources = null;\n\n/** @param {Value} value */\nexport function push_reaction_value(value) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t((!async_mode_flag && (active_reaction.f & REACTION_IS_UPDATING) !== 0) ||\n\t\t\t(active_reaction.f & DERIVED) !== 0)\n\t) {\n\t\t(current_sources ??= new Set()).add(value);\n\t}\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nexport let new_deps = null;\n\nexport let skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Value[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Value[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/**\n * @type {number} Used by sources and deriveds for handling updates.\n * Version starts from 1 so that unowned deriveds differentiate between a created effect and a run one for tracing\n **/\nexport let write_version = 1;\n\n/** @type {number} Used to version each read of a source of derived to avoid duplicating dependencies inside a reaction */\nlet read_version = 0;\n\nexport let update_version = read_version;\n\n/** @param {number} value */\nexport function set_update_version(value) {\n\tupdate_version = value;\n}\n\nexport function increment_write_version() {\n\treturn ++write_version;\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function is_dirty(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = /** @type {Value[]} */ (reaction.deps);\n\t\tvar length = dependencies.length;\n\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar dependency = dependencies[i];\n\n\t\t\tif (is_dirty(/** @type {Derived} */ (dependency))) {\n\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t}\n\n\t\t\tif (dependency.wv > reaction.wv) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(flags & CONNECTED) !== 0 &&\n\t\t\t// During time traveling we don't want to reset the status so that\n\t\t\t// traversal of the graph in the other batches still happens\n\t\t\tbatch_values === null\n\t\t) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {Value} signal\n * @param {Effect} effect\n * @param {boolean} [root]\n */\nfunction schedule_possible_effect_self_invalidation(signal, effect, root = true) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tif (!async_mode_flag && current_sources !== null && current_sources.has(signal)) {\n\t\treturn;\n\t}\n\n\tfor (var i = 0; i < reactions.length; i++) {\n\t\tvar reaction = reactions[i];\n\n\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\tschedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);\n\t\t} else if (effect === reaction) {\n\t\t\tif (root) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t} else if ((reaction.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(reaction, MAYBE_DIRTY);\n\t\t\t}\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/** @param {Reaction} reaction */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_sources = current_sources;\n\tvar previous_component_context = component_context;\n\tvar previous_untracking = untracking;\n\tvar previous_update_version = update_version;\n\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\n\tcurrent_sources = null;\n\tset_component_context(reaction.ctx);\n\tuntracking = false;\n\tupdate_version = ++read_version;\n\n\tif (reaction.ac !== null) {\n\t\twithout_reactive_context(() => {\n\t\t\t/** @type {AbortController} */ (reaction.ac).abort(STALE_REACTION);\n\t\t});\n\n\t\treaction.ac = null;\n\t}\n\n\ttry {\n\t\treaction.f |= REACTION_IS_UPDATING;\n\t\tvar fn = /** @type {Function} */ (reaction.fn);\n\t\tvar result = fn();\n\t\treaction.f |= REACTION_RAN;\n\t\tvar deps = update_dependencies(reaction);\n\n\t\t// If we're inside an effect and we have untracked writes, then we need to\n\t\t// ensure that if any of those untracked writes result in re-invalidation\n\t\t// of the current effect, then that happens accordingly\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tuntracked_writes !== null &&\n\t\t\t!untracking &&\n\t\t\tdeps !== null &&\n\t\t\t(reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0\n\t\t) {\n\t\t\tfor (var i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) {\n\t\t\t\tschedule_possible_effect_self_invalidation(\n\t\t\t\t\tuntracked_writes[i],\n\t\t\t\t\t/** @type {Effect} */ (reaction)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If we are returning to an previous reaction then\n\t\t// we need to increment the read version to ensure that\n\t\t// any dependencies in this reaction aren't marked with\n\t\t// the same version\n\t\tif (previous_reaction !== null && previous_reaction !== reaction) {\n\t\t\tread_version++;\n\n\t\t\t// update the `rv` of the previous reaction's deps — both existing and new —\n\t\t\t// so that they are not added again\n\t\t\tif (previous_reaction.deps !== null) {\n\t\t\t\tfor (let i = 0; i < previous_skipped_deps; i += 1) {\n\t\t\t\t\tprevious_reaction.deps[i].rv = read_version;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (previous_deps !== null) {\n\t\t\t\tfor (const dep of previous_deps) {\n\t\t\t\t\tdep.rv = read_version;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (untracked_writes !== null) {\n\t\t\t\tif (previous_untracked_writes === null) {\n\t\t\t\t\tprevious_untracked_writes = untracked_writes;\n\t\t\t\t} else {\n\t\t\t\t\tprevious_untracked_writes.push(.../** @type {Source[]} */ (untracked_writes));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ((reaction.f & ERROR_VALUE) !== 0) {\n\t\t\treaction.f ^= ERROR_VALUE;\n\t\t}\n\n\t\treturn result;\n\t} catch (error) {\n\t\t// still commit the deps read before the throw, otherwise deriveds connected by this run keep no reader and the reaction never re-runs when they change\n\t\tupdate_dependencies(reaction);\n\n\t\treturn handle_error(error);\n\t} finally {\n\t\treaction.f ^= REACTION_IS_UPDATING;\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tcurrent_sources = previous_sources;\n\t\tset_component_context(previous_component_context);\n\t\tuntracking = previous_untracking;\n\t\tupdate_version = previous_update_version;\n\t}\n}\n\n/**\n * @param {Reaction} reaction\n */\nfunction update_dependencies(reaction) {\n\tvar deps = reaction.deps;\n\n\t// Don't remove reactions during fork;\n\t// they must remain for when fork is discarded\n\tvar is_fork = current_batch?.is_fork;\n\n\tif (new_deps !== null) {\n\t\tvar i;\n\n\t\tif (!is_fork) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t}\n\n\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t}\n\t\t} else {\n\t\t\treaction.deps = deps = new_deps;\n\t\t}\n\n\t\tif (effect_tracking() && (reaction.f & CONNECTED) !== 0) {\n\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t}\n\t\t}\n\t} else if (!is_fork && deps !== null && skipped_deps < deps.length) {\n\t\tremove_reactions(reaction, skipped_deps);\n\t\tdeps.length = skipped_deps;\n\t}\n\n\treturn deps;\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = index_of.call(reactions, signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !includes.call(new_deps, dependency))\n\t) {\n\t\tvar derived = /** @type {Derived} */ (dependency);\n\n\t\tif ((derived.f & CONNECTED) !== 0) {\n\t\t\tderived.f ^= CONNECTED;\n\t\t}\n\n\t\t// In a fork it's possible that a derived is executed and gets reactions, then commits, but is\n\t\t// never re-executed. This is possible when the derived is only executed once in the context\n\t\t// of a new branch which happens before fork.commit() runs. In this case, the derived still has\n\t\t// UNINITIALIZED as its value, and then when it's losing its reactions we need to ensure it stays\n\t\t// DIRTY so it is reexecuted once someone wants its value again.\n\t\tif (derived.v !== UNINITIALIZED) {\n\t\t\tupdate_derived_status(derived);\n\t\t}\n\n\t\t// Call abort controller, noone's listening to this derived anymore\n\t\tif (derived.ac !== null) {\n\t\t\twithout_reactive_context(() => {\n\t\t\t\t/** @type {AbortController} */ (derived.ac).abort(STALE_REACTION);\n\t\t\t\tderived.ac = null;\n\t\t\t\t// ensure it reruns right away next time instead of potentially returning a rejected promise as its value\n\t\t\t\tset_signal_status(derived, DIRTY);\n\t\t\t});\n\t\t}\n\n\t\t// freeze any effects inside this derived\n\t\tfreeze_derived_effects(derived);\n\n\t\t// Disconnect any reactions owned by this reaction\n\t\tremove_reactions(derived, 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\n\tactive_effect = effect;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tset_dev_current_component_function(effect.component_function);\n\t\tvar previous_stack = /** @type {any} */ (dev_stack);\n\t\t// only block effects have a dev stack, keep the current one otherwise\n\t\tset_dev_stack(effect.dev_stack ?? dev_stack);\n\t}\n\n\ttry {\n\t\tif ((flags & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.wv = write_version;\n\n\t\t// In DEV, increment versions of any sources that were written to during the effect,\n\t\t// so that they are correctly marked as dirty when the effect re-runs\n\t\tif (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && effect.deps !== null) {\n\t\t\tfor (var dep of effect.deps) {\n\t\t\t\tif (dep.set_during_effect) {\n\t\t\t\t\tdep.wv = increment_write_version();\n\t\t\t\t\tdep.set_during_effect = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tset_dev_current_component_function(previous_component_fn);\n\t\t\tset_dev_stack(previous_stack);\n\t\t}\n\t}\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise}\n */\nexport async function tick() {\n\tif (async_mode_flag) {\n\t\treturn new Promise((f) => {\n\t\t\t// Race them against each other - in almost all cases requestAnimationFrame will fire first,\n\t\t\t// but e.g. in case the window is not focused or a view transition happens, requestAnimationFrame\n\t\t\t// will be delayed and setTimeout helps us resolve fast enough in that case\n\t\t\trequestAnimationFrame(() => f());\n\t\t\tsetTimeout(() => f());\n\t\t});\n\t}\n\n\tawait Promise.resolve();\n\n\t// By calling flushSync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflushSync();\n}\n\n/**\n * Returns a promise that resolves once any state changes, and asynchronous work resulting from them,\n * have resolved and the DOM has been updated\n * @returns {Promise}\n * @since 5.36\n */\nexport function settled() {\n\treturn Batch.ensure().settled();\n}\n\n/**\n * @template V\n * @param {Value} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\tcaptured_signals?.add(signal);\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null && !untracking) {\n\t\t// if we're in a derived that is being read inside an _async_ derived,\n\t\t// it's possible that the effect was already destroyed. In this case,\n\t\t// we don't add the dependency, because that would create a memory leak\n\t\tvar destroyed = active_effect !== null && (active_effect.f & DESTROYED) !== 0;\n\n\t\tif (!destroyed && (current_sources === null || !current_sources.has(signal))) {\n\t\t\tvar deps = active_reaction.deps;\n\n\t\t\tif ((active_reaction.f & REACTION_IS_UPDATING) !== 0) {\n\t\t\t\t// we're in the effect init/update cycle\n\t\t\t\tif (signal.rv < read_version) {\n\t\t\t\t\tsignal.rv = read_version;\n\n\t\t\t\t\t// If the signal is accessing the same dependencies in the same\n\t\t\t\t\t// order as it did last time, increment `skipped_deps`\n\t\t\t\t\t// rather than updating `new_deps`, which creates GC cost\n\t\t\t\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\t\t\t\tskipped_deps++;\n\t\t\t\t\t} else if (new_deps === null) {\n\t\t\t\t\t\tnew_deps = [signal];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnew_deps.push(signal);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We're adding a dependency outside the init/update cycle (i.e. after an `await`).\n\t\t\t\t// We have to deduplicate deps/reactions in this case or remove_reactions could\n\t\t\t\t// disconnect deps/reactions that are actually still in use (if skip_deps says\n\t\t\t\t// \"disconnect all after this index\" and some of the signals are also present in\n\t\t\t\t// list prior to the cutoff index, i.e. that should be kept).\n\t\t\t\tactive_reaction.deps ??= [];\n\t\t\t\tif (!includes.call(active_reaction.deps, signal)) {\n\t\t\t\t\tactive_reaction.deps.push(signal);\n\t\t\t\t}\n\n\t\t\t\tvar reactions = signal.reactions;\n\n\t\t\t\tif (reactions === null) {\n\t\t\t\t\tsignal.reactions = [active_reaction];\n\t\t\t\t} else if (!includes.call(reactions, active_reaction)) {\n\t\t\t\t\treactions.push(active_reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (DEV) {\n\t\tif (\n\t\t\t!untracking &&\n\t\t\treactivity_loss_tracker &&\n\t\t\t// By checking that current/previous batch are null we filter out false positives.\n\t\t\t// reactivity_loss_tracker is only reset after a microtask, so if a flush happens\n\t\t\t// before that, we get warnings for things we shouldn't warn on.\n\t\t\tcurrent_batch === null &&\n\t\t\tprevious_batch === null &&\n\t\t\t!reactivity_loss_tracker.warned &&\n\t\t\t(reactivity_loss_tracker.effect.f & REACTION_IS_UPDATING) === 0 &&\n\t\t\t!reactivity_loss_tracker.effect_deps.has(signal)\n\t\t) {\n\t\t\treactivity_loss_tracker.warned = true;\n\n\t\t\tw.await_reactivity_loss(/** @type {string} */ (signal.label));\n\n\t\t\tvar trace = get_error('traced at');\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tif (trace) console.warn(trace);\n\t\t}\n\n\t\trecent_async_deriveds.delete(signal);\n\n\t\tif (\n\t\t\ttracing_mode_flag &&\n\t\t\t!untracking &&\n\t\t\ttracing_expressions !== null &&\n\t\t\tactive_reaction !== null &&\n\t\t\ttracing_expressions.reaction === active_reaction\n\t\t) {\n\t\t\t// Used when mapping state between special blocks like `each`\n\t\t\tif (signal.trace) {\n\t\t\t\tsignal.trace();\n\t\t\t} else {\n\t\t\t\ttrace = get_error('traced at');\n\n\t\t\t\tif (trace) {\n\t\t\t\t\tvar entry = tracing_expressions.entries.get(signal);\n\n\t\t\t\t\tif (entry === undefined) {\n\t\t\t\t\t\tentry = { traces: [] };\n\t\t\t\t\t\ttracing_expressions.entries.set(signal, entry);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar last = entry.traces[entry.traces.length - 1];\n\n\t\t\t\t\t// traces can be duplicated, e.g. by `snapshot` invoking both\n\t\t\t\t\t// both `getOwnPropertyDescriptor` and `get` traps at once\n\t\t\t\t\tif (trace.stack !== last?.stack) {\n\t\t\t\t\t\tentry.traces.push(trace);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_destroying_effect && old_values.has(signal)) {\n\t\treturn old_values.get(signal);\n\t}\n\n\tif (is_derived) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\n\t\tif (is_destroying_effect) {\n\t\t\tvar value = derived.v;\n\n\t\t\t// if the derived is dirty and has reactions, or depends on the values that just changed, re-execute\n\t\t\t// (a derived can be maybe_dirty due to the effect destroy removing its last reaction)\n\t\t\tif (\n\t\t\t\t((derived.f & CLEAN) === 0 && derived.reactions !== null) ||\n\t\t\t\tdepends_on_old_values(derived)\n\t\t\t) {\n\t\t\t\tvalue = execute_derived(derived);\n\t\t\t}\n\n\t\t\told_values.set(derived, value);\n\n\t\t\treturn value;\n\t\t}\n\n\t\t// connect disconnected deriveds when reading them inside a connected reaction\n\t\tvar should_connect =\n\t\t\t(derived.f & CONNECTED) === 0 &&\n\t\t\t!untracking &&\n\t\t\tactive_reaction !== null &&\n\t\t\t(active_reaction.f & CONNECTED) !== 0;\n\n\t\tvar is_new = (derived.f & REACTION_RAN) === 0;\n\n\t\tif (is_dirty(derived)) {\n\t\t\tif (should_connect) {\n\t\t\t\t// set the flag before `update_derived`, so that the derived\n\t\t\t\t// is added as a reaction to its dependencies\n\t\t\t\tderived.f |= CONNECTED;\n\t\t\t}\n\n\t\t\tupdate_derived(derived);\n\t\t}\n\n\t\tif (should_connect && !is_new) {\n\t\t\tunfreeze_derived_effects(derived);\n\t\t\treconnect(derived);\n\t\t}\n\t}\n\n\tif (batch_values?.has(signal)) {\n\t\treturn batch_values.get(signal);\n\t}\n\n\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\tthrow signal.v;\n\t}\n\n\treturn signal.v;\n}\n\n/**\n * (Re)connect a disconnected derived, so that it is notified\n * of changes in `mark_reactions`\n * @param {Derived} derived\n */\nfunction reconnect(derived) {\n\tderived.f |= CONNECTED;\n\n\tif (derived.deps === null) return;\n\n\tfor (const dep of derived.deps) {\n\t\tvar reactions = dep.reactions;\n\n\t\tif (reactions === null) {\n\t\t\tdep.reactions = [derived];\n\t\t} else if (!includes.call(reactions, derived)) {\n\t\t\treactions.push(derived);\n\t\t}\n\n\t\tif ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) {\n\t\t\tunfreeze_derived_effects(/** @type {Derived} */ (dep));\n\t\t\treconnect(/** @type {Derived} */ (dep));\n\t\t}\n\t}\n}\n\n/** @param {Derived} derived */\nfunction depends_on_old_values(derived) {\n\tif (derived.v === UNINITIALIZED) return true; // we don't know, so assume the worst\n\tif (derived.deps === null) return false;\n\n\tfor (const dep of derived.deps) {\n\t\tif (old_values.has(dep)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */ (dep))) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n * // this will run when `data` changes, but not when `time` changes\n * save(data, {\n * timestamp: untrack(() => time)\n * });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tvar previous_untracking = untracking;\n\ttry {\n\t\tuntracking = true;\n\t\treturn fn();\n\t} finally {\n\t\tuntracking = previous_untracking;\n\t}\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Action, ActionReturn } from '../action/public' */\n/** @import { Attachment } from './public' */\nimport { noop, render_effect } from 'svelte/internal/client';\nimport { ATTACHMENT_KEY } from '../constants.js';\nimport { untrack } from '../index-client.js';\nimport { teardown } from '../internal/client/reactivity/effects.js';\n\n/**\n * Creates an object key that will be recognised as an attachment when the object is spread onto an element,\n * as a programmatic alternative to using `{@attach ...}`. This can be useful for library authors, though\n * is generally not needed when building an app.\n *\n * ```svelte\n * \n *\n * \n * ```\n * @since 5.29\n */\nexport function createAttachmentKey() {\n\treturn Symbol(ATTACHMENT_KEY);\n}\n\n/**\n * Converts an [action](https://svelte.dev/docs/svelte/use) into an [attachment](https://svelte.dev/docs/svelte/@attach) keeping the same behavior.\n * It's useful if you want to start using attachments on components but you have actions provided by a library.\n *\n * Note that the second argument, if provided, must be a function that _returns_ the argument to the\n * action function, not the argument itself.\n *\n * ```svelte\n * \n *
        ...
        \n *\n * \n *
        bar)}>...
        \n * ```\n * @template {EventTarget} E\n * @template {unknown} T\n * @overload\n * @param {Action | ((element: E, arg: T) => void | ActionReturn)} action The action function\n * @param {() => T} fn A function that returns the argument for the action\n * @returns {Attachment}\n */\n/**\n * Converts an [action](https://svelte.dev/docs/svelte/use) into an [attachment](https://svelte.dev/docs/svelte/@attach) keeping the same behavior.\n * It's useful if you want to start using attachments on components but you have actions provided by a library.\n *\n * Note that the second argument, if provided, must be a function that _returns_ the argument to the\n * action function, not the argument itself.\n *\n * ```svelte\n * \n *
        ...
        \n *\n * \n *
        bar)}>...
        \n * ```\n * @template {EventTarget} E\n * @overload\n * @param {Action | ((element: E) => void | ActionReturn)} action The action function\n * @returns {Attachment}\n */\n/**\n * Converts an [action](https://svelte.dev/docs/svelte/use) into an [attachment](https://svelte.dev/docs/svelte/@attach) keeping the same behavior.\n * It's useful if you want to start using attachments on components but you have actions provided by a library.\n *\n * Note that the second argument, if provided, must be a function that _returns_ the argument to the\n * action function, not the argument itself.\n *\n * ```svelte\n * \n *
        ...
        \n *\n * \n *
        bar)}>...
        \n * ```\n *\n * @template {EventTarget} E\n * @template {unknown} T\n * @param {Action | ((element: E, arg: T) => void | ActionReturn)} action The action function\n * @param {() => T} fn A function that returns the argument for the action\n * @returns {Attachment}\n * @since 5.32\n */\nexport function fromAction(action, fn = /** @type {() => T} */ (noop)) {\n\treturn (element) => {\n\t\tconst { update, destroy } = untrack(() => action(element, fn()) ?? {});\n\n\t\tif (update) {\n\t\t\tvar ran = false;\n\t\t\trender_effect(() => {\n\t\t\t\tconst arg = fn();\n\t\t\t\tif (ran) update(arg);\n\t\t\t});\n\t\t\tran = true;\n\t\t}\n\n\t\tif (destroy) {\n\t\t\tteardown(destroy);\n\t\t}\n\t};\n}\n","const regex_return_characters = /\\r/g;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nexport function hash(str) {\n\tstr = str.replace(regex_return_characters, '');\n\tlet hash = 5381;\n\tlet i = str.length;\n\n\twhile (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n\treturn (hash >>> 0).toString(36);\n}\n\nconst VOID_ELEMENT_NAMES = [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n];\n\n/**\n * Returns `true` if `name` is of a void element\n * @param {string} name\n */\nexport function is_void(name) {\n\treturn VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';\n}\n\nconst RESERVED_WORDS = [\n\t'arguments',\n\t'await',\n\t'break',\n\t'case',\n\t'catch',\n\t'class',\n\t'const',\n\t'continue',\n\t'debugger',\n\t'default',\n\t'delete',\n\t'do',\n\t'else',\n\t'enum',\n\t'eval',\n\t'export',\n\t'extends',\n\t'false',\n\t'finally',\n\t'for',\n\t'function',\n\t'if',\n\t'implements',\n\t'import',\n\t'in',\n\t'instanceof',\n\t'interface',\n\t'let',\n\t'new',\n\t'null',\n\t'package',\n\t'private',\n\t'protected',\n\t'public',\n\t'return',\n\t'static',\n\t'super',\n\t'switch',\n\t'this',\n\t'throw',\n\t'true',\n\t'try',\n\t'typeof',\n\t'var',\n\t'void',\n\t'while',\n\t'with',\n\t'yield'\n];\n\n/**\n * Returns `true` if `word` is a reserved JavaScript keyword\n * @param {string} word\n */\nexport function is_reserved(word) {\n\treturn RESERVED_WORDS.includes(word);\n}\n\n/**\n * @param {string} name\n */\nexport function is_capture_event(name) {\n\treturn name.endsWith('capture') && name !== 'gotpointercapture' && name !== 'lostpointercapture';\n}\n\n/** List of Element events that will be delegated */\nconst DELEGATED_EVENTS = [\n\t'beforeinput',\n\t'click',\n\t'change',\n\t'dblclick',\n\t'contextmenu',\n\t'focusin',\n\t'focusout',\n\t'input',\n\t'keydown',\n\t'keyup',\n\t'mousedown',\n\t'mousemove',\n\t'mouseout',\n\t'mouseover',\n\t'mouseup',\n\t'pointerdown',\n\t'pointermove',\n\t'pointerout',\n\t'pointerover',\n\t'pointerup',\n\t'touchend',\n\t'touchmove',\n\t'touchstart'\n];\n\n/**\n * Returns `true` if `event_name` is a delegated event\n * @param {string} event_name\n */\nexport function can_delegate_event(event_name) {\n\treturn DELEGATED_EVENTS.includes(event_name);\n}\n\n/**\n * Attributes that are boolean, i.e. they are present or not present.\n */\nconst DOM_BOOLEAN_ATTRIBUTES = [\n\t'allowfullscreen',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'disabled',\n\t'formnovalidate',\n\t'indeterminate',\n\t'inert',\n\t'ismap',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'seamless',\n\t'selected',\n\t'webkitdirectory',\n\t'defer',\n\t'disablepictureinpicture',\n\t'disableremoteplayback'\n];\n\n/**\n * Returns `true` if `name` is a boolean attribute\n * @param {string} name\n */\nexport function is_boolean_attribute(name) {\n\treturn DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\n\n/**\n * @type {Record}\n * List of attribute names that should be aliased to their property names\n * because they behave differently between setting them as an attribute and\n * setting them as a property.\n */\nconst ATTRIBUTE_ALIASES = {\n\t// no `class: 'className'` because we handle that separately\n\tformnovalidate: 'formNoValidate',\n\tismap: 'isMap',\n\tnomodule: 'noModule',\n\tplaysinline: 'playsInline',\n\treadonly: 'readOnly',\n\tdefaultvalue: 'defaultValue',\n\tdefaultchecked: 'defaultChecked',\n\tsrcobject: 'srcObject',\n\tnovalidate: 'noValidate',\n\tallowfullscreen: 'allowFullscreen',\n\tdisablepictureinpicture: 'disablePictureInPicture',\n\tdisableremoteplayback: 'disableRemotePlayback'\n};\n\n/**\n * @param {string} name\n */\nexport function normalize_attribute(name) {\n\tname = name.toLowerCase();\n\treturn ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst DOM_PROPERTIES = [\n\t...DOM_BOOLEAN_ATTRIBUTES,\n\t'formNoValidate',\n\t'isMap',\n\t'noModule',\n\t'playsInline',\n\t'readOnly',\n\t'value',\n\t'volume',\n\t'defaultValue',\n\t'defaultChecked',\n\t'srcObject',\n\t'noValidate',\n\t'allowFullscreen',\n\t'disablePictureInPicture',\n\t'disableRemotePlayback'\n];\n\n/**\n * @param {string} name\n */\nexport function is_dom_property(name) {\n\treturn DOM_PROPERTIES.includes(name);\n}\n\nconst NON_STATIC_PROPERTIES = ['autofocus', 'muted', 'defaultValue', 'defaultChecked'];\n\n/**\n * Returns `true` if the given attribute cannot be set through the template\n * string, i.e. needs some kind of JavaScript handling to work.\n * @param {string} name\n */\nexport function cannot_be_set_statically(name) {\n\treturn NON_STATIC_PROPERTIES.includes(name);\n}\n\n/**\n * Subset of delegated events which should be passive by default.\n * These two are already passive via browser defaults on window, document and body.\n * But since\n * - we're delegating them\n * - they happen often\n * - they apply to mobile which is generally less performant\n * we're marking them as passive by default for other elements, too.\n */\nconst PASSIVE_EVENTS = ['touchstart', 'touchmove'];\n\n/**\n * Returns `true` if `name` is a passive event\n * @param {string} name\n */\nexport function is_passive_event(name) {\n\treturn PASSIVE_EVENTS.includes(name);\n}\n\nconst CONTENT_EDITABLE_BINDINGS = ['textContent', 'innerHTML', 'innerText'];\n\n/** @param {string} name */\nexport function is_content_editable_binding(name) {\n\treturn CONTENT_EDITABLE_BINDINGS.includes(name);\n}\n\nconst LOAD_ERROR_ELEMENTS = [\n\t'body',\n\t'embed',\n\t'iframe',\n\t'img',\n\t'link',\n\t'object',\n\t'script',\n\t'style',\n\t'track'\n];\n\n/**\n * Returns `true` if the element emits `load` and `error` events\n * @param {string} name\n */\nexport function is_load_error_element(name) {\n\treturn LOAD_ERROR_ELEMENTS.includes(name);\n}\n\nconst SVG_ELEMENTS = [\n\t'altGlyph',\n\t'altGlyphDef',\n\t'altGlyphItem',\n\t'animate',\n\t'animateColor',\n\t'animateMotion',\n\t'animateTransform',\n\t'circle',\n\t'clipPath',\n\t'color-profile',\n\t'cursor',\n\t'defs',\n\t'desc',\n\t'discard',\n\t'ellipse',\n\t'feBlend',\n\t'feColorMatrix',\n\t'feComponentTransfer',\n\t'feComposite',\n\t'feConvolveMatrix',\n\t'feDiffuseLighting',\n\t'feDisplacementMap',\n\t'feDistantLight',\n\t'feDropShadow',\n\t'feFlood',\n\t'feFuncA',\n\t'feFuncB',\n\t'feFuncG',\n\t'feFuncR',\n\t'feGaussianBlur',\n\t'feImage',\n\t'feMerge',\n\t'feMergeNode',\n\t'feMorphology',\n\t'feOffset',\n\t'fePointLight',\n\t'feSpecularLighting',\n\t'feSpotLight',\n\t'feTile',\n\t'feTurbulence',\n\t'filter',\n\t'font',\n\t'font-face',\n\t'font-face-format',\n\t'font-face-name',\n\t'font-face-src',\n\t'font-face-uri',\n\t'foreignObject',\n\t'g',\n\t'glyph',\n\t'glyphRef',\n\t'hatch',\n\t'hatchpath',\n\t'hkern',\n\t'image',\n\t'line',\n\t'linearGradient',\n\t'marker',\n\t'mask',\n\t'mesh',\n\t'meshgradient',\n\t'meshpatch',\n\t'meshrow',\n\t'metadata',\n\t'missing-glyph',\n\t'mpath',\n\t'path',\n\t'pattern',\n\t'polygon',\n\t'polyline',\n\t'radialGradient',\n\t'rect',\n\t'set',\n\t'solidcolor',\n\t'stop',\n\t'svg',\n\t'switch',\n\t'symbol',\n\t'text',\n\t'textPath',\n\t'tref',\n\t'tspan',\n\t'unknown',\n\t'use',\n\t'view',\n\t'vkern'\n];\n\n/** @param {string} name */\nexport function is_svg(name) {\n\treturn SVG_ELEMENTS.includes(name);\n}\n\nconst MATHML_ELEMENTS = [\n\t'annotation',\n\t'annotation-xml',\n\t'maction',\n\t'math',\n\t'merror',\n\t'mfrac',\n\t'mi',\n\t'mmultiscripts',\n\t'mn',\n\t'mo',\n\t'mover',\n\t'mpadded',\n\t'mphantom',\n\t'mprescripts',\n\t'mroot',\n\t'mrow',\n\t'ms',\n\t'mspace',\n\t'msqrt',\n\t'mstyle',\n\t'msub',\n\t'msubsup',\n\t'msup',\n\t'mtable',\n\t'mtd',\n\t'mtext',\n\t'mtr',\n\t'munder',\n\t'munderover',\n\t'semantics'\n];\n\n/** @param {string} name */\nexport function is_mathml(name) {\n\treturn MATHML_ELEMENTS.includes(name);\n}\n\nconst STATE_CREATION_RUNES = /** @type {const} */ ([\n\t'$state',\n\t'$state.raw',\n\t'$derived',\n\t'$derived.by'\n]);\n\nexport const RUNES = /** @type {const} */ ([\n\t...STATE_CREATION_RUNES,\n\t'$state.eager',\n\t'$state.snapshot',\n\t'$props',\n\t'$props.id',\n\t'$bindable',\n\t'$effect',\n\t'$effect.pre',\n\t'$effect.tracking',\n\t'$effect.root',\n\t'$effect.pending',\n\t'$inspect',\n\t'$inspect().with',\n\t'$inspect.trace',\n\t'$host'\n]);\n\n/** @typedef {typeof RUNES[number]} RuneName */\n\n/**\n * @param {string} name\n * @returns {name is RuneName}\n */\nexport function is_rune(name) {\n\treturn RUNES.includes(/** @type {RuneName} */ (name));\n}\n\n/** @typedef {typeof STATE_CREATION_RUNES[number]} StateCreationRuneName */\n\n/**\n * @param {string} name\n * @returns {name is StateCreationRuneName}\n */\nexport function is_state_creation_rune(name) {\n\treturn STATE_CREATION_RUNES.includes(/** @type {StateCreationRuneName} */ (name));\n}\n\n/** List of elements that require raw contents and should not have SSR comments put in them */\nconst RAW_TEXT_ELEMENTS = /** @type {const} */ (['textarea', 'script', 'style', 'title']);\n\n/** @param {string} name */\nexport function is_raw_text_element(name) {\n\treturn RAW_TEXT_ELEMENTS.includes(/** @type {typeof RAW_TEXT_ELEMENTS[number]} */ (name));\n}\n\n// Matches valid HTML/SVG/MathML element names and custom element names.\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n//\n// Standard elements: ASCII alpha start, followed by ASCII alphanumerics.\n// Custom elements: ASCII alpha start, followed by any mix of PCENChar (which\n// includes ASCII alphanumerics, `-`, `.`, `_`, and specified Unicode ranges),\n// with at least one hyphen required somewhere after the first character.\n//\n// Rejects strings containing whitespace, quotes, angle brackets, slashes, equals,\n// or other characters that could break out of a tag-name token and enable markup injection.\nexport const REGEX_VALID_TAG_NAME =\n\t/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\\-_\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}]*)?$/u;\n\n/**\n * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space\n * @template {string | undefined} T\n * @param {T} location\n * @returns {T};\n */\nexport function sanitize_location(location) {\n\treturn /** @type {T} */ (location?.replace(/\\//g, '/\\u200b'));\n}\n","import { STATE_SYMBOL } from '#client/constants';\nimport { sanitize_location } from '../../../utils.js';\nimport { untrack } from '../runtime.js';\nimport * as w from '../warnings.js';\n\n/**\n *\n * @param {any} a\n * @param {any} b\n * @param {string} property\n * @param {string} location\n */\nfunction compare(a, b, property, location) {\n\tif (a !== b && typeof b === 'object' && STATE_SYMBOL in b) {\n\t\tw.assignment_value_stale(property, /** @type {string} */ (sanitize_location(location)));\n\t}\n\n\treturn a;\n}\n\n/**\n * @param {any} object\n * @param {string} property\n * @param {string} operator\n * @param {any} rhs\n * @param {string} location\n */\nexport function assign(object, property, operator, rhs, location) {\n\treturn compare(\n\t\toperator === '='\n\t\t\t? (object[property] = rhs)\n\t\t\t: operator === '&&='\n\t\t\t\t? (object[property] &&= rhs())\n\t\t\t\t: operator === '||='\n\t\t\t\t\t? (object[property] ||= rhs())\n\t\t\t\t\t: operator === '??='\n\t\t\t\t\t\t? (object[property] ??= rhs())\n\t\t\t\t\t\t: null,\n\t\tuntrack(() => object[property]),\n\t\tproperty,\n\t\tlocation\n\t);\n}\n\n/**\n * @param {any} object\n * @param {string} property\n * @param {string} operator\n * @param {any} rhs\n * @param {string} location\n */\nexport async function assign_async(object, property, operator, rhs, location) {\n\treturn compare(\n\t\toperator === '='\n\t\t\t? (object[property] = await rhs)\n\t\t\t: operator === '&&='\n\t\t\t\t? (object[property] &&= await rhs())\n\t\t\t\t: operator === '||='\n\t\t\t\t\t? (object[property] ||= await rhs())\n\t\t\t\t\t: operator === '??='\n\t\t\t\t\t\t? (object[property] ??= await rhs())\n\t\t\t\t\t\t: null,\n\t\tuntrack(() => object[property]),\n\t\tproperty,\n\t\tlocation\n\t);\n}\n","/** @import { SourceLocation } from '#client' */\nimport { COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, ELEMENT_NODE } from '#client/constants';\nimport { HYDRATION_END, HYDRATION_START } from '../../../constants.js';\nimport { hydrating } from '../dom/hydration.js';\nimport { dev_stack } from '../context.js';\n\n/**\n * @param {any} fn\n * @param {string} filename\n * @param {SourceLocation[]} locations\n * @returns {any}\n */\nexport function add_locations(fn, filename, locations) {\n\treturn (/** @type {any[]} */ ...args) => {\n\t\tconst dom = fn(...args);\n\n\t\tvar node = hydrating ? dom : dom.nodeType === DOCUMENT_FRAGMENT_NODE ? dom.firstChild : dom;\n\t\tassign_locations(node, filename, locations);\n\n\t\treturn dom;\n\t};\n}\n\n/**\n * @param {Element} element\n * @param {string} filename\n * @param {SourceLocation} location\n */\nfunction assign_location(element, filename, location) {\n\t// @ts-expect-error\n\telement.__svelte_meta = {\n\t\tparent: dev_stack,\n\t\tloc: { file: filename, line: location[0], column: location[1] }\n\t};\n\n\tif (location[2]) {\n\t\tassign_locations(element.firstChild, filename, location[2]);\n\t}\n}\n\n/**\n * @param {Node | null} node\n * @param {string} filename\n * @param {SourceLocation[]} locations\n */\nfunction assign_locations(node, filename, locations) {\n\tvar i = 0;\n\tvar depth = 0;\n\n\twhile (node && i < locations.length) {\n\t\tif (hydrating && node.nodeType === COMMENT_NODE) {\n\t\t\tvar comment = /** @type {Comment} */ (node);\n\t\t\tif (comment.data[0] === HYDRATION_START) depth += 1;\n\t\t\telse if (comment.data[0] === HYDRATION_END) depth -= 1;\n\t\t}\n\n\t\tif (depth === 0 && node.nodeType === ELEMENT_NODE) {\n\t\t\tassign_location(/** @type {Element} */ (node), filename, locations[i++]);\n\t\t}\n\n\t\tnode = node.nextSibling;\n\t}\n}\n","import { teardown } from '../../reactivity/effects.js';\nimport { define_property } from '../../../shared/utils.js';\nimport { hydrating } from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { FILENAME } from '../../../../constants.js';\nimport * as w from '../../warnings.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { without_reactive_context } from './bindings/shared.js';\n\n/**\n * Used on elements, as a map of event type -> event handler,\n * and on events themselves to track which element handled an event\n */\nexport const event_symbol = Symbol('events');\n\n/** @type {Set} */\nexport const all_registered_events = new Set();\n\n/** @type {Set<(events: Array) => void>} */\nexport const root_event_handles = new Set();\n\n/**\n * SSR adds onload and onerror attributes to catch those events before the hydration.\n * This function detects those cases, removes the attributes and replays the events.\n * @param {HTMLElement} dom\n */\nexport function replay_events(dom) {\n\tif (!hydrating) return;\n\n\tdom.removeAttribute('onload');\n\tdom.removeAttribute('onerror');\n\t// @ts-expect-error\n\tconst event = dom.__e;\n\tif (event !== undefined) {\n\t\t// @ts-expect-error\n\t\tdom.__e = undefined;\n\t\tqueueMicrotask(() => {\n\t\t\tif (dom.isConnected) {\n\t\t\t\tdom.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {EventTarget} dom\n * @param {EventListener} [handler]\n * @param {AddEventListenerOptions} [options]\n */\nexport function create_event(event_name, dom, handler, options = {}) {\n\t/**\n\t * @this {EventTarget}\n\t */\n\tfunction target_handler(/** @type {Event} */ event) {\n\t\tif (!options.capture) {\n\t\t\t// Only call in the bubble phase, else delegated events would be called before the capturing events\n\t\t\thandle_event_propagation.call(dom, event);\n\t\t}\n\t\tif (!event.cancelBubble) {\n\t\t\treturn without_reactive_context(() => {\n\t\t\t\treturn handler?.call(this, event);\n\t\t\t});\n\t\t}\n\t}\n\n\t// Chrome has a bug where pointer events don't work when attached to a DOM element that has been cloned\n\t// with cloneNode() and the DOM element is disconnected from the document. To ensure the event works, we\n\t// defer the attachment till after it's been appended to the document. TODO: remove this once Chrome fixes\n\t// this bug. The same applies to wheel events and touch events.\n\tif (\n\t\tevent_name.startsWith('pointer') ||\n\t\tevent_name.startsWith('touch') ||\n\t\tevent_name === 'wheel'\n\t) {\n\t\ttarget_handler.__removed = false;\n\t\tqueue_micro_task(() => {\n\t\t\tif (!target_handler.__removed) {\n\t\t\t\tdom.addEventListener(event_name, target_handler, options);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tdom.addEventListener(event_name, target_handler, options);\n\t}\n\n\treturn target_handler;\n}\n\n/**\n * Attaches an event handler to an element and returns a function that removes the handler. Using this\n * rather than `addEventListener` will preserve the correct order relative to handlers added declaratively\n * (with attributes like `onclick`), which use event delegation for performance reasons\n *\n * @param {EventTarget} element\n * @param {string} type\n * @param {EventListener} handler\n * @param {AddEventListenerOptions} [options]\n */\nexport function on(element, type, handler, options = {}) {\n\tvar target_handler = create_event(type, element, handler, options);\n\n\treturn () => {\n\t\ttarget_handler.__removed = true;\n\t\telement.removeEventListener(type, target_handler, options);\n\t};\n}\n\n/**\n * @param {string} event_name\n * @param {Element} dom\n * @param {EventListener} [handler]\n * @param {boolean} [capture]\n * @param {boolean} [passive]\n * @returns {void}\n */\nexport function event(event_name, dom, handler, capture, passive) {\n\tvar options = { capture, passive };\n\tvar target_handler = create_event(event_name, dom, handler, options);\n\n\tif (\n\t\tdom === document.body ||\n\t\t// @ts-ignore\n\t\tdom === window ||\n\t\t// @ts-ignore\n\t\tdom === document ||\n\t\t// Firefox has quirky behavior, it can happen that we still get \"canplay\" events when the element is already removed\n\t\tdom instanceof HTMLMediaElement\n\t) {\n\t\tteardown(() => {\n\t\t\ttarget_handler.__removed = true;\n\t\t\tdom.removeEventListener(event_name, target_handler, options);\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {Element} element\n * @param {EventListener} [handler]\n * @returns {void}\n */\nexport function delegated(event_name, element, handler) {\n\t// @ts-expect-error\n\t(element[event_symbol] ??= {})[event_name] = handler;\n}\n\n/**\n * @param {Array} events\n * @returns {void}\n */\nexport function delegate(events) {\n\tfor (var i = 0; i < events.length; i++) {\n\t\tall_registered_events.add(events[i]);\n\t}\n\n\tfor (var fn of root_event_handles) {\n\t\tfn(events);\n\t}\n}\n\n// used to store the reference to the currently propagated event\n// to prevent garbage collection between microtasks in Firefox (<= 141)\n// If the event object is GCed too early, the expando __root property\n// set on the event object is lost, causing the event delegation\n// to process the event twice\nlet last_propagated_event = null;\n\n// whether a task is already queued to clear `last_propagated_event`\nlet last_propagated_event_clear_scheduled = false;\n\n/**\n * @this {EventTarget}\n * @param {Event} event\n * @returns {void}\n */\nexport function handle_event_propagation(event) {\n\tvar handler_element = this;\n\tvar owner_document = /** @type {Node} */ (handler_element).ownerDocument;\n\tvar event_name = event.type;\n\tvar path = event.composedPath?.() || [];\n\tvar current_target = /** @type {null | Element} */ (path[0] || event.target);\n\n\tlast_propagated_event = event;\n\n\t// The reference is only needed while the event can still reach another\n\t// delegated root, i.e. during the current (synchronous) dispatch and its\n\t// microtask checkpoints. Clearing it in a later task preserves the\n\t// Firefox workaround while making sure the slot doesn't retain the last\n\t// event forever — through `event.target` it would otherwise keep the\n\t// entire detached subtree of whatever the user last clicked in alive\n\t// until the next delegated event happens to arrive.\n\tif (!last_propagated_event_clear_scheduled) {\n\t\tlast_propagated_event_clear_scheduled = true;\n\t\tsetTimeout(() => {\n\t\t\tlast_propagated_event_clear_scheduled = false;\n\t\t\tlast_propagated_event = null;\n\t\t});\n\t}\n\n\t// composedPath contains list of nodes the event has propagated through.\n\t// We check `event_symbol` to skip all nodes below it in case this is a\n\t// parent of the `event_symbol` node, which indicates that there's nested\n\t// mounted apps. In this case we don't want to trigger events multiple times.\n\tvar path_idx = 0;\n\n\t// the `last_propagated_event === event` check is redundant, but\n\t// without it the variable will be DCE'd and things will\n\t// fail mysteriously in Firefox\n\t// @ts-expect-error is added below\n\tvar handled_at = last_propagated_event === event && event[event_symbol];\n\n\tif (handled_at) {\n\t\tvar at_idx = path.indexOf(handled_at);\n\t\tif (\n\t\t\tat_idx !== -1 &&\n\t\t\t(handler_element === document || handler_element === /** @type {any} */ (window))\n\t\t) {\n\t\t\t// This is the fallback document listener or a window listener, but the event was already handled\n\t\t\t// -> ignore, but set handle_at to document/window so that we're resetting the event\n\t\t\t// chain in case someone manually dispatches the same event object again.\n\t\t\t// @ts-expect-error\n\t\t\tevent[event_symbol] = handler_element;\n\t\t\treturn;\n\t\t}\n\n\t\t// We're deliberately not skipping if the index is higher, because\n\t\t// someone could create an event programmatically and emit it multiple times,\n\t\t// in which case we want to handle the whole propagation chain properly each time.\n\t\t// (this will only be a false negative if the event is dispatched multiple times and\n\t\t// the fallback document listener isn't reached in between, but that's super rare)\n\t\tvar handler_idx = path.indexOf(handler_element);\n\t\tif (handler_idx === -1) {\n\t\t\t// handle_idx can theoretically be -1 (happened in some JSDOM testing scenarios with an event listener on the window object)\n\t\t\t// so guard against that, too, and assume that everything was handled at this point.\n\t\t\treturn;\n\t\t}\n\n\t\tif (at_idx <= handler_idx) {\n\t\t\tpath_idx = at_idx;\n\t\t}\n\t}\n\n\tcurrent_target = /** @type {Element} */ (path[path_idx] || event.target);\n\t// there can only be one delegated event per element, and we either already handled the current target,\n\t// or this is the very first target in the chain which has a non-delegated listener, in which case it's safe\n\t// to handle a possible delegated event on it later (through the root delegation listener for example).\n\tif (current_target === handler_element) return;\n\n\t// Proxy currentTarget to correct target\n\tdefine_property(event, 'currentTarget', {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn current_target || owner_document;\n\t\t}\n\t});\n\n\t// This started because of Chromium issue https://chromestatus.com/feature/5128696823545856,\n\t// where removal or moving of the DOM can cause sync `blur` events to fire, which can cause logic\n\t// to run inside the current `active_reaction`, which isn't what we want at all. However, on reflection,\n\t// it's probably best that all events handled by Svelte have this behaviour, as we don't really want\n\t// an event handler to run in the context of another reaction or effect.\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\t/**\n\t\t * @type {unknown}\n\t\t */\n\t\tvar throw_error;\n\t\t/**\n\t\t * @type {unknown[]}\n\t\t */\n\t\tvar other_errors = [];\n\n\t\twhile (current_target !== null) {\n\t\t\tif (current_target === handler_element) break;\n\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tvar delegated = current_target[event_symbol]?.[event_name];\n\n\t\t\t\tif (\n\t\t\t\t\tdelegated != null &&\n\t\t\t\t\t(!(/** @type {any} */ (current_target).disabled) ||\n\t\t\t\t\t\t// DOM could've been updated already by the time this is reached, so we check this as well\n\t\t\t\t\t\t// -> the target could not have been disabled because it emits the event in the first place\n\t\t\t\t\t\tevent.target === current_target)\n\t\t\t\t) {\n\t\t\t\t\tdelegated.call(current_target, event);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (throw_error) {\n\t\t\t\t\tother_errors.push(error);\n\t\t\t\t} else {\n\t\t\t\t\tthrow_error = error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (event.cancelBubble) break;\n\n\t\t\tpath_idx++;\n\t\t\tcurrent_target = path_idx < path.length ? /** @type {Element} */ (path[path_idx]) : null;\n\t\t}\n\n\t\tif (throw_error) {\n\t\t\tfor (let error of other_errors) {\n\t\t\t\t// Throw the rest of the errors, one-by-one on a microtask\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow throw_error;\n\t\t}\n\t} finally {\n\t\t// @ts-expect-error is used above\n\t\tevent[event_symbol] = handler_element;\n\t\t// @ts-ignore remove proxy on currentTarget\n\t\tdelete event.currentTarget;\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * In dev, warn if an event handler is not a function, as it means the\n * user probably called the handler or forgot to add a `() =>`\n * @param {() => (event: Event, ...args: any) => void} thunk\n * @param {EventTarget} element\n * @param {[Event, ...any]} args\n * @param {any} component\n * @param {[number, number]} [loc]\n * @param {boolean} [remove_parens]\n */\nexport function apply(\n\tthunk,\n\telement,\n\targs,\n\tcomponent,\n\tloc,\n\thas_side_effects = false,\n\tremove_parens = false\n) {\n\tlet handler;\n\tlet error;\n\n\ttry {\n\t\thandler = thunk();\n\t} catch (e) {\n\t\terror = e;\n\t}\n\n\tif (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {\n\t\tconst filename = component?.[FILENAME];\n\t\tconst location = loc ? ` at ${filename}:${loc[0]}:${loc[1]}` : ` in ${filename}`;\n\t\tconst phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';\n\t\tconst event_name = args[0]?.type + phase;\n\t\tconst description = `\\`${event_name}\\` handler${location}`;\n\t\tconst suggestion = remove_parens ? 'remove the trailing `()`' : 'add a leading `() =>`';\n\n\t\tw.event_handler_invalid(description, suggestion);\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}\n\thandler?.apply(element, args);\n}\n","import { create_element } from './operations.js';\n\nconst policy =\n\t// We gotta write it like this because after downleveling the pure comment may end up in the wrong location\n\tglobalThis?.window?.trustedTypes &&\n\t/* @__PURE__ */ globalThis.window.trustedTypes.createPolicy('svelte-trusted-html', {\n\t\t/** @param {string} html */\n\t\tcreateHTML: (html) => {\n\t\t\treturn html;\n\t\t}\n\t});\n\n/** @param {string} html */\nexport function create_trusted_html(html) {\n\treturn /** @type {string} */ (policy?.createHTML(html) ?? html);\n}\n\n/**\n * @param {string} html\n */\nexport function create_fragment_from_html(html) {\n\tvar elem = create_element('template');\n\telem.innerHTML = create_trusted_html(html.replaceAll('', '')); // XHTML compliance\n\treturn elem.content;\n}\n","/** @import { Effect, EffectNodes, TemplateNode } from '#client' */\n/** @import { TemplateStructure } from './types' */\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport {\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tis_firefox,\n\tcreate_element,\n\tcreate_fragment,\n\tcreate_comment,\n\tset_attribute,\n\tmerge_text_nodes\n} from './operations.js';\nimport { create_fragment_from_html } from './reconciler.js';\nimport { active_effect } from '../runtime.js';\nimport {\n\tNAMESPACE_MATHML,\n\tNAMESPACE_SVG,\n\tTEMPLATE_FRAGMENT,\n\tTEMPLATE_USE_IMPORT_NODE,\n\tTEMPLATE_USE_MATHML,\n\tTEMPLATE_USE_SVG\n} from '../../../constants.js';\nimport {\n\tCOMMENT_NODE,\n\tDOCUMENT_FRAGMENT_NODE,\n\tIS_XHTML,\n\tREACTION_RAN,\n\tTEXT_NODE\n} from '#client/constants';\n\nconst TEMPLATE_TAG = IS_XHTML ? 'template' : 'TEMPLATE';\nconst SCRIPT_TAG = IS_XHTML ? 'script' : 'SCRIPT';\n\n/**\n * @param {TemplateNode} start\n * @param {TemplateNode | null} end\n */\nexport function assign_nodes(start, end) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tif (effect.nodes === null) {\n\t\teffect.nodes = { start, end, a: null, t: null };\n\t}\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_html(content, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tnode = create_fragment_from_html(has_start ? content : '' + content);\n\t\t\tif (!is_fragment) node = /** @type {TemplateNode} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @param {'svg' | 'math'} ns\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction from_namespace(content, flags, ns = 'svg') {\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar wrapped = `<${ns}>${has_start ? content : '' + content}`;\n\n\t/** @type {Element | DocumentFragment} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (!node) {\n\t\t\tvar fragment = /** @type {DocumentFragment} */ (create_fragment_from_html(wrapped));\n\t\t\tvar root = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (is_fragment) {\n\t\t\t\tnode = document.createDocumentFragment();\n\t\t\t\twhile (get_first_child(root)) {\n\t\t\t\t\tnode.appendChild(/** @type {TemplateNode} */ (get_first_child(root)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(root));\n\t\t\t}\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (node.cloneNode(true));\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_svg(content, flags) {\n\treturn from_namespace(content, flags, 'svg');\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_mathml(content, flags) {\n\treturn from_namespace(content, flags, 'math');\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {typeof NAMESPACE_SVG | typeof NAMESPACE_MATHML | undefined} [ns]\n */\nfunction fragment_from_tree(structure, ns) {\n\tvar fragment = create_fragment();\n\n\tfor (var item of structure) {\n\t\tif (typeof item === 'string') {\n\t\t\tfragment.append(create_text(item));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// if `preserveComments === true`, comments are represented as `['// ']`\n\t\tif (item === undefined || item[0][0] === '/') {\n\t\t\tfragment.append(create_comment(item ? item[0].slice(3) : ''));\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [name, attributes, ...children] = item;\n\n\t\tconst namespace = name === 'svg' ? NAMESPACE_SVG : name === 'math' ? NAMESPACE_MATHML : ns;\n\n\t\tvar element = create_element(name, namespace, attributes?.is);\n\n\t\tfor (var key in attributes) {\n\t\t\tset_attribute(element, key, attributes[key]);\n\t\t}\n\n\t\tif (children.length > 0) {\n\t\t\tvar target =\n\t\t\t\telement.nodeName === TEMPLATE_TAG\n\t\t\t\t\t? /** @type {HTMLTemplateElement} */ (element).content\n\t\t\t\t\t: element;\n\n\t\t\ttarget.append(\n\t\t\t\tfragment_from_tree(children, element.nodeName === 'foreignObject' ? undefined : namespace)\n\t\t\t);\n\t\t}\n\n\t\tfragment.append(element);\n\t}\n\n\treturn fragment;\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_tree(structure, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tconst ns =\n\t\t\t\t(flags & TEMPLATE_USE_SVG) !== 0\n\t\t\t\t\t? NAMESPACE_SVG\n\t\t\t\t\t: (flags & TEMPLATE_USE_MATHML) !== 0\n\t\t\t\t\t\t? NAMESPACE_MATHML\n\t\t\t\t\t\t: undefined;\n\n\t\t\tnode = fragment_from_tree(structure, ns);\n\t\t\tif (!is_fragment) node = /** @type {TemplateNode} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {() => Element | DocumentFragment} fn\n */\nexport function with_script(fn) {\n\treturn () => run_scripts(fn());\n}\n\n/**\n * Creating a document fragment from HTML that contains script tags will not execute\n * the scripts. We need to replace the script tags with new ones so that they are executed.\n * @param {Element | DocumentFragment} node\n * @returns {Node | Node[]}\n */\nfunction run_scripts(node) {\n\t// scripts were SSR'd, in which case they will run\n\tif (hydrating) return node;\n\n\tconst is_fragment = node.nodeType === DOCUMENT_FRAGMENT_NODE;\n\tconst scripts =\n\t\t/** @type {HTMLElement} */ (node).nodeName === SCRIPT_TAG\n\t\t\t? [/** @type {HTMLScriptElement} */ (node)]\n\t\t\t: node.querySelectorAll('script');\n\n\tconst effect = /** @type {Effect & { nodes: EffectNodes }} */ (active_effect);\n\n\tfor (const script of scripts) {\n\t\tconst clone = create_element('script');\n\t\tfor (var attribute of script.attributes) {\n\t\t\tclone.setAttribute(attribute.name, attribute.value);\n\t\t}\n\n\t\tclone.textContent = script.textContent;\n\n\t\t// The script has changed - if it's at the edges, the effect now points at dead nodes\n\t\tif (is_fragment ? node.firstChild === script : node === script) {\n\t\t\teffect.nodes.start = clone;\n\t\t}\n\t\tif (is_fragment ? node.lastChild === script : node === script) {\n\t\t\teffect.nodes.end = clone;\n\t\t}\n\n\t\tscript.replaceWith(clone);\n\t}\n\treturn node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {any} value\n */\nexport function text(value = '') {\n\tif (!hydrating) {\n\t\tvar t = create_text(value + '');\n\t\tassign_nodes(t, t);\n\t\treturn t;\n\t}\n\n\tvar node = hydrate_node;\n\n\tif (node.nodeType !== TEXT_NODE) {\n\t\t// if an {expression} is empty during SSR, we need to insert an empty text node\n\t\tnode.before((node = create_text()));\n\t\tset_hydrate_node(node);\n\t} else {\n\t\tmerge_text_nodes(/** @type {Text} */ (node));\n\t}\n\n\tassign_nodes(node, node);\n\treturn node;\n}\n\n/**\n * @returns {TemplateNode | DocumentFragment}\n */\nexport function comment() {\n\t// we're not delegating to `template` here for performance reasons\n\tif (hydrating) {\n\t\tassign_nodes(hydrate_node, null);\n\t\treturn hydrate_node;\n\t}\n\n\tvar frag = document.createDocumentFragment();\n\tvar start = document.createComment('');\n\tvar anchor = create_text();\n\tfrag.append(start, anchor);\n\n\tassign_nodes(start, anchor);\n\n\treturn frag;\n}\n\n/**\n * Assign the created (or in hydration mode, traversed) dom elements to the current block\n * and insert the elements into the dom (in client mode).\n * @param {Text | Comment | Element} anchor\n * @param {DocumentFragment | Element} dom\n */\nexport function append(anchor, dom) {\n\tif (hydrating) {\n\t\tvar effect = /** @type {Effect & { nodes: EffectNodes }} */ (active_effect);\n\n\t\t// When hydrating and outer component and an inner component is async, i.e. blocked on a promise,\n\t\t// then by the time the inner resolves we have already advanced to the end of the hydrated nodes\n\t\t// of the parent component. Check for defined for that reason to avoid rewinding the parent's end marker.\n\t\tif ((effect.f & REACTION_RAN) === 0 || effect.nodes.end === null) {\n\t\t\teffect.nodes.end = hydrate_node;\n\t\t}\n\n\t\thydrate_next();\n\t\treturn;\n\t}\n\n\tif (anchor === null) {\n\t\t// edge case — void `` with content\n\t\treturn;\n\t}\n\n\tanchor.before(/** @type {Node} */ (dom));\n}\n\n/**\n * Create (or hydrate) an unique UID for the component instance.\n */\nexport function props_id() {\n\tif (\n\t\thydrating &&\n\t\thydrate_node &&\n\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\thydrate_node.textContent?.startsWith(`$`)\n\t) {\n\t\tconst id = hydrate_node.textContent.substring(1);\n\t\thydrate_next();\n\t\treturn id;\n\t}\n\n\t// @ts-expect-error This way we ensure the id is unique even across Svelte runtimes\n\t(window.__svelte ??= {}).uid ??= 1;\n\n\t// @ts-expect-error\n\treturn `c${window.__svelte.uid++}`;\n}\n","import { get, tick, untrack } from '../internal/client/runtime.js';\nimport { effect_tracking, render_effect } from '../internal/client/reactivity/effects.js';\nimport { source, increment } from '../internal/client/reactivity/sources.js';\nimport { tag } from '../internal/client/dev/tracing.js';\nimport { DEV } from 'esm-env';\nimport { queue_micro_task } from '../internal/client/dom/task.js';\n\n/**\n * Returns a `subscribe` function that integrates external event-based systems with Svelte's reactivity.\n * It's particularly useful for integrating with web APIs like `MediaQuery`, `IntersectionObserver`, or `WebSocket`.\n *\n * If `subscribe` is called inside an effect (including indirectly, for example inside a getter),\n * the `start` callback will be called with an `update` function. Whenever `update` is called, the effect re-runs.\n *\n * If `start` returns a cleanup function, it will be called when the effect is destroyed.\n *\n * If `subscribe` is called in multiple effects, `start` will only be called once as long as the effects\n * are active, and the returned teardown function will only be called when all effects are destroyed.\n *\n * It's best understood with an example. Here's an implementation of [`MediaQuery`](https://svelte.dev/docs/svelte/svelte-reactivity#MediaQuery):\n *\n * ```js\n * import { createSubscriber } from 'svelte/reactivity';\n * import { on } from 'svelte/events';\n *\n * export class MediaQuery {\n * \t#query;\n * \t#subscribe;\n *\n * \tconstructor(query) {\n * \t\tthis.#query = window.matchMedia(`(${query})`);\n *\n * \t\tthis.#subscribe = createSubscriber((update) => {\n * \t\t\t// when the `change` event occurs, re-run any effects that read `this.current`\n * \t\t\tconst off = on(this.#query, 'change', update);\n *\n * \t\t\t// stop listening when all the effects are destroyed\n * \t\t\treturn () => off();\n * \t\t});\n * \t}\n *\n * \tget current() {\n * \t\t// This makes the getter reactive, if read in an effect\n * \t\tthis.#subscribe();\n *\n * \t\t// Return the current state of the query, whether or not we're in an effect\n * \t\treturn this.#query.matches;\n * \t}\n * }\n * ```\n * @param {(update: () => void) => (() => void) | void} start\n * @since 5.7.0\n */\nexport function createSubscriber(start) {\n\tlet subscribers = 0;\n\tlet version = source(0);\n\t/** @type {(() => void) | void} */\n\tlet stop;\n\n\tif (DEV) {\n\t\ttag(version, 'createSubscriber version');\n\t}\n\n\treturn () => {\n\t\tif (effect_tracking()) {\n\t\t\tget(version);\n\n\t\t\trender_effect(() => {\n\t\t\t\tif (subscribers === 0) {\n\t\t\t\t\tstop = untrack(() => start(() => increment(version)));\n\t\t\t\t}\n\n\t\t\t\tsubscribers += 1;\n\n\t\t\t\treturn () => {\n\t\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\t\t// Only count down after a microtask, else we would reach 0 before our own render effect reruns,\n\t\t\t\t\t\t// but reach 1 again when the tick callback of the prior teardown runs. That would mean we\n\t\t\t\t\t\t// re-subcribe unnecessarily and create a memory leak because the old subscription is never cleaned up.\n\t\t\t\t\t\tsubscribers -= 1;\n\n\t\t\t\t\t\tif (subscribers === 0) {\n\t\t\t\t\t\t\tstop?.();\n\t\t\t\t\t\t\tstop = undefined;\n\t\t\t\t\t\t\t// Increment the version to ensure any dependent deriveds are marked dirty when the subscription is picked up again later.\n\t\t\t\t\t\t\t// If we didn't do this then the comparison of write versions would determine that the derived has a later version than\n\t\t\t\t\t\t\t// the subscriber, and it would not be re-run.\n\t\t\t\t\t\t\tincrement(version);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n}\n","/** @import { Effect, Source, TemplateNode, } from '#client' */\nimport {\n\tBOUNDARY_EFFECT,\n\tDESTROYED,\n\tDESTROYING,\n\tEFFECT_PRESERVED,\n\tEFFECT_TRANSPARENT\n} from '#client/constants';\nimport {\n\tHYDRATION_ERROR,\n\tHYDRATION_START_ELSE,\n\tHYDRATION_START_FAILED\n} from '../../../../constants.js';\nimport { component_context, set_component_context } from '../../context.js';\nimport { invoke_error_boundary } from '../../error-handling.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect\n} from '../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tnext,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node\n} from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport * as e from '../../errors.js';\nimport * as w from '../../warnings.js';\nimport { DEV } from 'esm-env';\nimport { Batch, current_batch } from '../../reactivity/batch.js';\nimport { internal_set, source } from '../../reactivity/sources.js';\nimport { tag } from '../../dev/tracing.js';\nimport { createSubscriber } from '../../../../reactivity/create-subscriber.js';\nimport { create_text } from '../operations.js';\nimport { defer_effect } from '../../reactivity/utils.js';\n\n/**\n * @typedef {{\n * \t onerror?: ((error: unknown, reset: () => void) => void) | null;\n * failed?: ((anchor: Node, error: () => unknown, reset: () => () => void) => void) | null;\n * pending?: ((anchor: Node) => void) | null;\n * }} BoundaryProps\n */\n\nvar flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED;\n\n/**\n * @param {TemplateNode} node\n * @param {BoundaryProps} props\n * @param {((anchor: Node) => void)} children\n * @param {((error: unknown) => unknown) | undefined} [transform_error]\n * @returns {void}\n */\nexport function boundary(node, props, children, transform_error) {\n\tnew Boundary(node, props, children, transform_error);\n}\n\nexport class Boundary {\n\t/** @type {Boundary | null} */\n\tparent;\n\n\tis_pending = false;\n\n\t/**\n\t * API-level transformError transform function. Transforms errors before they reach the `failed` snippet.\n\t * Inherited from parent boundary, or defaults to identity.\n\t * @type {(error: unknown) => unknown}\n\t */\n\ttransform_error;\n\n\t/** @type {TemplateNode} */\n\t#anchor;\n\n\t/** @type {TemplateNode | null} */\n\t#hydrate_open = hydrating ? hydrate_node : null;\n\n\t/** @type {BoundaryProps} */\n\t#props;\n\n\t/** @type {((anchor: Node) => void)} */\n\t#children;\n\n\t/** @type {Effect} */\n\t#effect;\n\n\t/** @type {Effect | null} */\n\t#main_effect = null;\n\n\t/** @type {Effect | null} */\n\t#pending_effect = null;\n\n\t/** @type {Effect | null} */\n\t#failed_effect = null;\n\n\t/** @type {DocumentFragment | null} */\n\t#offscreen_fragment = null;\n\n\t#local_pending_count = 0;\n\t#pending_count = 0;\n\t#pending_count_update_queued = false;\n\n\t/** @type {Map} */\n\t#dirty_reactions = new Map();\n\n\t/**\n\t * A source containing the number of pending async deriveds/expressions.\n\t * Only created if `$effect.pending()` is used inside the boundary,\n\t * otherwise updating the source results in needless `Batch.ensure()`\n\t * calls followed by no-op flushes\n\t * @type {Source | null}\n\t */\n\t#effect_pending = null;\n\n\t#effect_pending_subscriber = createSubscriber(() => {\n\t\tthis.#effect_pending = source(this.#local_pending_count);\n\n\t\tif (DEV) {\n\t\t\ttag(this.#effect_pending, '$effect.pending()');\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis.#effect_pending = null;\n\t\t};\n\t});\n\n\t/**\n\t * @param {TemplateNode} node\n\t * @param {BoundaryProps} props\n\t * @param {((anchor: Node) => void)} children\n\t * @param {((error: unknown) => unknown) | undefined} [transform_error]\n\t */\n\tconstructor(node, props, children, transform_error) {\n\t\tthis.#anchor = node;\n\t\tthis.#props = props;\n\n\t\tthis.#children = (anchor) => {\n\t\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t\teffect.b = this;\n\t\t\teffect.f |= BOUNDARY_EFFECT;\n\n\t\t\tchildren(anchor);\n\t\t};\n\n\t\tthis.parent = /** @type {Effect} */ (active_effect).b;\n\n\t\t// Inherit transform_error from parent boundary, or use the provided one, or default to identity\n\t\tthis.transform_error = transform_error ?? this.parent?.transform_error ?? ((e) => e);\n\n\t\tthis.#effect = block(() => {\n\t\t\tif (hydrating) {\n\t\t\t\tconst comment_data = read_hydration_instruction(\n\t\t\t\t\t/** @type {TemplateNode} */ (this.#hydrate_open)\n\t\t\t\t);\n\t\t\t\thydrate_next();\n\n\t\t\t\tconst server_rendered_pending = comment_data === HYDRATION_START_ELSE;\n\t\t\t\tconst server_rendered_failed = comment_data.startsWith(HYDRATION_START_FAILED);\n\n\t\t\t\tif (server_rendered_failed) {\n\t\t\t\t\t// Server rendered the failed snippet - hydrate it.\n\t\t\t\t\t// The serialized error is embedded in the comment: \n\t\t\t\t\tconst serialized_error = JSON.parse(comment_data.slice(HYDRATION_START_FAILED.length));\n\t\t\t\t\tthis.#hydrate_failed_content(serialized_error);\n\t\t\t\t} else if (server_rendered_pending) {\n\t\t\t\t\tthis.#hydrate_pending_content();\n\t\t\t\t} else {\n\t\t\t\t\tthis.#hydrate_resolved_content();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.#render();\n\t\t\t}\n\t\t}, flags);\n\n\t\tif (hydrating) {\n\t\t\tthis.#anchor = hydrate_node;\n\t\t}\n\t}\n\n\t#hydrate_resolved_content() {\n\t\ttry {\n\t\t\tthis.#main_effect = branch(() => this.#children(this.#anchor));\n\t\t} catch (error) {\n\t\t\tthis.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {unknown} error The deserialized error from the server's hydration comment\n\t */\n\t#hydrate_failed_content(error) {\n\t\tconst failed = this.#props.failed;\n\t\tconst { reset, invoke_onerror } = this.#create_reset(error);\n\n\t\t// `onerror` may mutate state, which is disallowed while hydrating\n\t\tqueue_micro_task(invoke_onerror);\n\n\t\tif (!failed) return;\n\n\t\tthis.#failed_effect = branch(() => {\n\t\t\tfailed(\n\t\t\t\tthis.#anchor,\n\t\t\t\t() => error,\n\t\t\t\t() => reset\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Creates the `reset` function for a failed boundary, along with a function\n\t * that invokes `onerror` with it (if provided)\n\t * @param {unknown} error\n\t * @returns {{ reset: () => void, invoke_onerror: () => void }}\n\t */\n\t#create_reset(error) {\n\t\tvar did_reset = false;\n\t\tvar calling_on_error = false;\n\n\t\tconst reset = () => {\n\t\t\tif (this.#is_destroyed()) return;\n\n\t\t\tif (did_reset) {\n\t\t\t\tw.svelte_boundary_reset_noop();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdid_reset = true;\n\n\t\t\tif (calling_on_error) {\n\t\t\t\te.svelte_boundary_reset_onerror();\n\t\t\t}\n\n\t\t\tif (this.#failed_effect !== null) {\n\t\t\t\tpause_effect(this.#failed_effect, () => {\n\t\t\t\t\tthis.#failed_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.#run(() => {\n\t\t\t\tthis.#render();\n\t\t\t});\n\t\t};\n\n\t\tconst invoke_onerror = () => {\n\t\t\tif (this.#is_destroyed()) return;\n\n\t\t\ttry {\n\t\t\t\tcalling_on_error = true;\n\t\t\t\tthis.#props.onerror?.(error, reset);\n\t\t\t\tcalling_on_error = false;\n\t\t\t} catch (err) {\n\t\t\t\tinvoke_error_boundary(err, this.#effect && this.#effect.parent);\n\t\t\t}\n\t\t};\n\n\t\treturn { reset, invoke_onerror };\n\t}\n\n\t#is_destroyed() {\n\t\treturn (this.#effect.f & (DESTROYED | DESTROYING)) !== 0;\n\t}\n\n\t#hydrate_pending_content() {\n\t\tconst pending = this.#props.pending;\n\t\tif (!pending) return;\n\n\t\tthis.is_pending = true;\n\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (this.#is_destroyed()) return;\n\n\t\t\tvar fragment = (this.#offscreen_fragment = document.createDocumentFragment());\n\t\t\tvar anchor = create_text();\n\t\t\tvar handled = false;\n\n\t\t\tfragment.append(anchor);\n\n\t\t\tthis.#main_effect = this.#run(() => {\n\t\t\t\ttry {\n\t\t\t\t\treturn branch(() => this.#children(anchor));\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.error(error);\n\t\t\t\t\t\thandled = true;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tinvoke_error_boundary(error, this.#effect.parent);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (this.#main_effect === null) {\n\t\t\t\tthis.#offscreen_fragment = null;\n\t\t\t\tif (handled) this.#resolve(/** @type {Batch} */ (current_batch));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.#pending_count === 0) {\n\t\t\t\tthis.#anchor.before(fragment);\n\t\t\t\tthis.#offscreen_fragment = null;\n\n\t\t\t\tpause_effect(/** @type {Effect} */ (this.#pending_effect), () => {\n\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t});\n\n\t\t\t\tthis.#resolve(/** @type {Batch} */ (current_batch));\n\t\t\t}\n\t\t});\n\t}\n\n\t#render() {\n\t\ttry {\n\t\t\tthis.is_pending = this.has_pending_snippet();\n\t\t\tthis.#pending_count = 0;\n\t\t\tthis.#local_pending_count = 0;\n\n\t\t\tthis.#main_effect = branch(() => {\n\t\t\t\tthis.#children(this.#anchor);\n\t\t\t});\n\n\t\t\tif (this.#pending_count > 0) {\n\t\t\t\tvar fragment = (this.#offscreen_fragment = document.createDocumentFragment());\n\t\t\t\tmove_effect(this.#main_effect, fragment);\n\n\t\t\t\tconst pending = /** @type {(anchor: Node) => void} */ (this.#props.pending);\n\t\t\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\t\t\t} else {\n\t\t\t\tthis.#resolve(/** @type {Batch} */ (current_batch));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#resolve(batch) {\n\t\tthis.is_pending = false;\n\n\t\t// any effects that were previously deferred should be transferred\n\t\t// to the batch, which will flush in the next microtask\n\t\tbatch.transfer_reactions(this.#dirty_reactions);\n\t}\n\n\t/**\n\t * Defer an effect inside a pending boundary until the boundary resolves\n\t * @param {Effect} effect\n\t */\n\tdefer_effect(effect) {\n\t\tdefer_effect(effect, this.#dirty_reactions);\n\t}\n\n\t/**\n\t * Returns `false` if the effect exists inside a boundary whose pending snippet is shown\n\t * @returns {boolean}\n\t */\n\tis_rendered() {\n\t\treturn !this.is_pending && (!this.parent || this.parent.is_rendered());\n\t}\n\n\thas_pending_snippet() {\n\t\treturn !!this.#props.pending;\n\t}\n\n\t/**\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\t#run(fn) {\n\t\tvar previous_effect = active_effect;\n\t\tvar previous_reaction = active_reaction;\n\t\tvar previous_ctx = component_context;\n\n\t\tset_active_effect(this.#effect);\n\t\tset_active_reaction(this.#effect);\n\t\tset_component_context(this.#effect.ctx);\n\n\t\ttry {\n\t\t\tBatch.ensure();\n\t\t\treturn fn();\n\t\t} finally {\n\t\t\tset_active_effect(previous_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t\tset_component_context(previous_ctx);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the pending count associated with the currently visible pending snippet,\n\t * if any, such that we can replace the snippet with content once work is done\n\t * @param {1 | -1} d\n\t * @param {Batch} batch\n\t */\n\t#update_pending_count(d, batch) {\n\t\tif (!this.has_pending_snippet()) {\n\t\t\tif (this.parent) {\n\t\t\t\tthis.parent.#update_pending_count(d, batch);\n\t\t\t}\n\n\t\t\t// if there's no parent, we're in a scope with no pending snippet\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#pending_count += d;\n\n\t\tif (this.#pending_count === 0) {\n\t\t\tthis.#resolve(batch);\n\n\t\t\tif (this.#pending_effect) {\n\t\t\t\tpause_effect(this.#pending_effect, () => {\n\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.#offscreen_fragment) {\n\t\t\t\tthis.#anchor.before(this.#offscreen_fragment);\n\t\t\t\tthis.#offscreen_fragment = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Update the source that powers `$effect.pending()` inside this boundary,\n\t * and controls when the current `pending` snippet (if any) is removed.\n\t * Do not call from inside the class\n\t * @param {1 | -1} d\n\t * @param {Batch} batch\n\t */\n\tupdate_pending_count(d, batch) {\n\t\tthis.#update_pending_count(d, batch);\n\n\t\tthis.#local_pending_count += d;\n\n\t\tif (!this.#effect_pending || this.#pending_count_update_queued) return;\n\t\tthis.#pending_count_update_queued = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tthis.#pending_count_update_queued = false;\n\t\t\tif (this.#effect_pending) {\n\t\t\t\tinternal_set(this.#effect_pending, this.#local_pending_count);\n\t\t\t}\n\t\t});\n\t}\n\n\tget_effect_pending() {\n\t\tthis.#effect_pending_subscriber();\n\t\treturn get(/** @type {Source} */ (this.#effect_pending));\n\t}\n\n\t/** @param {unknown} error */\n\terror(error) {\n\t\tif (error === HYDRATION_ERROR) {\n\t\t\tthrow error;\n\t\t}\n\n\t\t// If we have nothing to capture the error, or if we hit an error while\n\t\t// rendering the fallback, re-throw for another boundary to handle\n\t\tif (!this.#props.onerror && !this.#props.failed) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (current_batch?.is_fork) {\n\t\t\tif (this.#main_effect) current_batch.skip_effect(this.#main_effect);\n\t\t\tif (this.#pending_effect) current_batch.skip_effect(this.#pending_effect);\n\t\t\tif (this.#failed_effect) current_batch.skip_effect(this.#failed_effect);\n\n\t\t\tcurrent_batch.oncommit(() => {\n\t\t\t\tif (!this.#is_destroyed()) this.#handle_error(error);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.#handle_error(error);\n\t\t}\n\t}\n\n\t/**\n\t * @param {unknown} error\n\t */\n\t#handle_error(error) {\n\t\tif (this.#main_effect) {\n\t\t\tdestroy_effect(this.#main_effect);\n\t\t\tthis.#main_effect = null;\n\t\t}\n\n\t\tif (this.#pending_effect) {\n\t\t\tdestroy_effect(this.#pending_effect);\n\t\t\tthis.#pending_effect = null;\n\t\t}\n\n\t\tif (this.#failed_effect) {\n\t\t\tdestroy_effect(this.#failed_effect);\n\t\t\tthis.#failed_effect = null;\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tset_hydrate_node(/** @type {TemplateNode} */ (this.#hydrate_open));\n\t\t\tnext();\n\t\t\tset_hydrate_node(skip_nodes());\n\t\t}\n\n\t\tlet failed = this.#props.failed;\n\n\t\t/** @param {unknown} transformed_error */\n\t\tconst handle_error_result = (transformed_error) => {\n\t\t\tif (this.#is_destroyed()) return;\n\n\t\t\tconst { reset, invoke_onerror } = this.#create_reset(transformed_error);\n\n\t\t\tinvoke_onerror();\n\n\t\t\tif (failed && !this.#is_destroyed()) {\n\t\t\t\tthis.#failed_effect = this.#run(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn branch(() => {\n\t\t\t\t\t\t\t// errors in `failed` snippets cause the boundary to error again\n\t\t\t\t\t\t\t// TODO Svelte 6: revisit this decision, most likely better to go to parent boundary instead\n\t\t\t\t\t\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\t\t\t\t\t\teffect.b = this;\n\t\t\t\t\t\t\teffect.f |= BOUNDARY_EFFECT;\n\n\t\t\t\t\t\t\tfailed(\n\t\t\t\t\t\t\t\tthis.#anchor,\n\t\t\t\t\t\t\t\t() => transformed_error,\n\t\t\t\t\t\t\t\t() => reset\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tinvoke_error_boundary(error, /** @type {Effect} */ (this.#effect.parent));\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (this.#is_destroyed()) return;\n\n\t\t\t// Run the error through the API-level transformError transform (e.g. SvelteKit's handleError)\n\t\t\t/** @type {unknown} */\n\t\t\tvar result;\n\t\t\ttry {\n\t\t\t\tresult = this.transform_error(error);\n\t\t\t} catch (e) {\n\t\t\t\tinvoke_error_boundary(e, this.#effect && this.#effect.parent);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tresult !== null &&\n\t\t\t\ttypeof result === 'object' &&\n\t\t\t\ttypeof (/** @type {any} */ (result).then) === 'function'\n\t\t\t) {\n\t\t\t\t// transformError returned a Promise — wait for it\n\t\t\t\t/** @type {any} */ (result).then(\n\t\t\t\t\thandle_error_result,\n\t\t\t\t\t/** @param {unknown} e */\n\t\t\t\t\t(e) => invoke_error_boundary(e, this.#effect && this.#effect.parent)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Synchronous result — handle immediately\n\t\t\t\thandle_error_result(result);\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport function pending() {\n\tif (active_effect === null) {\n\t\te.effect_pending_outside_reaction();\n\t}\n\n\tvar boundary = active_effect.b;\n\n\tif (boundary === null) {\n\t\treturn 0; // TODO eventually we will need this to be global\n\t}\n\n\treturn boundary.get_effect_pending();\n}\n","/** @import { ComponentContext, Effect, EffectNodes, TemplateNode } from '#client' */\n/** @import { Component, ComponentType, SvelteComponent, MountOptions } from '../../index.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tinit_operations\n} from './dom/operations.js';\nimport { HYDRATION_END, HYDRATION_ERROR, HYDRATION_START } from '../../constants.js';\nimport { active_effect } from './runtime.js';\nimport { push, pop, component_context, mark_as_component } from './context.js';\nimport { component_root } from './reactivity/effects.js';\nimport { hydrate_node, hydrating, set_hydrate_node, set_hydrating } from './dom/hydration.js';\nimport { array_from } from '../shared/utils.js';\nimport {\n\tall_registered_events,\n\thandle_event_propagation,\n\troot_event_handles\n} from './dom/elements/events.js';\nimport * as w from './warnings.js';\nimport * as e from './errors.js';\nimport { assign_nodes } from './dom/template.js';\nimport { is_passive_event } from '../../utils.js';\nimport { COMMENT_NODE, TEXT_CACHE } from './constants.js';\nimport { boundary } from './dom/blocks/boundary.js';\n\n/**\n * This is normally true — block effects should run their intro transitions —\n * but is false during hydration (unless `options.intro` is `true`) and\n * when creating the children of a `` that just changed tag\n */\nexport let should_intro = true;\n\n/** @param {boolean} value */\nexport function set_should_intro(value) {\n\tshould_intro = value;\n}\n\n/**\n * @param {Element} text\n * @param {string} value\n * @returns {void}\n */\nexport function set_text(text, value) {\n\t// For objects, we apply string coercion (which might make things like $state array references in the template reactive) before diffing\n\tvar str = value == null ? '' : typeof value === 'object' ? `${value}` : value;\n\t// prettier-ignore\n\tif (str !== (/** @type {any} */ (text)[TEXT_CACHE] ??= text.nodeValue)) {\n\t\t/** @type {any} */ (text)[TEXT_CACHE] = str;\n\t\ttext.nodeValue = `${str}`;\n\t}\n}\n\n/**\n * Mounts a component to the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component.\n * Transitions will play during the initial render unless the `intro` option is set to `false`.\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nexport function mount(component, options) {\n\treturn _mount(component, options);\n}\n\n/**\n * Hydrates a component on the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {{} extends Props ? {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops?: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n *\t\ttransformError?: (error: unknown) => unknown;\n * \t} : {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n *\t\ttransformError?: (error: unknown) => unknown;\n * \t}} options\n * @returns {Exports}\n */\nexport function hydrate(component, options) {\n\tinit_operations();\n\toptions.intro = options.intro ?? false;\n\tconst target = options.target;\n\tconst was_hydrating = hydrating;\n\tconst previous_hydrate_node = hydrate_node;\n\n\ttry {\n\t\tvar anchor = get_first_child(target);\n\n\t\twhile (\n\t\t\tanchor &&\n\t\t\t(anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */ (anchor).data !== HYDRATION_START)\n\t\t) {\n\t\t\tanchor = get_next_sibling(anchor);\n\t\t}\n\n\t\tif (!anchor) {\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(/** @type {Comment} */ (anchor));\n\n\t\tconst instance = _mount(component, { ...options, anchor });\n\n\t\tset_hydrating(false);\n\n\t\treturn /** @type {Exports} */ (instance);\n\t} catch (error) {\n\t\t// re-throw Svelte errors - they are certainly not related to hydration\n\t\tif (\n\t\t\terror instanceof Error &&\n\t\t\terror.message.split('\\n').some((line) => line.startsWith('https://svelte.dev/e/'))\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t\tif (error !== HYDRATION_ERROR) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Failed to hydrate: ', error);\n\t\t}\n\n\t\tif (options.recover === false) {\n\t\t\te.hydration_failed();\n\t\t}\n\n\t\t// If an error occurred above, the operations might not yet have been initialised.\n\t\tinit_operations();\n\t\tclear_text_content(target);\n\n\t\tset_hydrating(false);\n\t\treturn mount(component, options);\n\t} finally {\n\t\tset_hydrating(was_hydrating);\n\t\tset_hydrate_node(previous_hydrate_node);\n\t}\n}\n\n/** @type {Map>} */\nconst listeners = new Map();\n\n/**\n * @template {Record} Exports\n * @param {ComponentType> | Component} Component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nfunction _mount(\n\tComponent,\n\t{ target, anchor, props = {}, events, context, intro = true, transformError }\n) {\n\tinit_operations();\n\n\t/** @type {Exports} */\n\t// @ts-expect-error will be defined because the render effect runs synchronously\n\tvar component = undefined;\n\n\tvar unmount = component_root(() => {\n\t\tvar anchor_node = anchor ?? target.appendChild(create_text());\n\n\t\tboundary(\n\t\t\t/** @type {TemplateNode} */ (anchor_node),\n\t\t\t{\n\t\t\t\tpending: () => {}\n\t\t\t},\n\t\t\t(anchor_node) => {\n\t\t\t\tpush({});\n\t\t\t\tvar ctx = /** @type {ComponentContext} */ (component_context);\n\t\t\t\tif (context) ctx.c = context;\n\n\t\t\t\tif (events) {\n\t\t\t\t\t// We can't spread the object or else we'd lose the state proxy stuff, if it is one\n\t\t\t\t\t/** @type {any} */ (props).$$events = events;\n\t\t\t\t}\n\n\t\t\t\tif (hydrating) {\n\t\t\t\t\tassign_nodes(/** @type {TemplateNode} */ (anchor_node), null);\n\t\t\t\t}\n\n\t\t\t\tshould_intro = intro;\n\t\t\t\t// @ts-expect-error the public typings are not what the actual function looks like\n\t\t\t\tcomponent = Component(anchor_node, props) || mark_as_component();\n\t\t\t\tshould_intro = true;\n\n\t\t\t\tif (hydrating) {\n\t\t\t\t\t/** @type {Effect & { nodes: EffectNodes }} */ (active_effect).nodes.end = hydrate_node;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\thydrate_node === null ||\n\t\t\t\t\t\thydrate_node.nodeType !== COMMENT_NODE ||\n\t\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data !== HYDRATION_END\n\t\t\t\t\t) {\n\t\t\t\t\t\tw.hydration_mismatch();\n\t\t\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpop();\n\t\t\t},\n\t\t\ttransformError\n\t\t);\n\n\t\t// Setup event delegation _after_ component is mounted - if an error would happen during mount, it would otherwise not be cleaned up\n\t\t/** @type {Set} */\n\t\tvar registered_events = new Set();\n\n\t\t/** @param {Array} events */\n\t\tvar event_handle = (events) => {\n\t\t\tfor (var i = 0; i < events.length; i++) {\n\t\t\t\tvar event_name = events[i];\n\n\t\t\t\tif (registered_events.has(event_name)) continue;\n\t\t\t\tregistered_events.add(event_name);\n\n\t\t\t\tvar passive = is_passive_event(event_name);\n\n\t\t\t\t// Add the event listener to both the container and the document.\n\t\t\t\t// The container listener ensures we catch events from within in case\n\t\t\t\t// the outer content stops propagation of the event.\n\t\t\t\t//\n\t\t\t\t// The document listener ensures we catch events that originate from elements that were\n\t\t\t\t// manually moved outside of the container (e.g. via manual portals).\n\t\t\t\tfor (const node of [target, document]) {\n\t\t\t\t\tvar counts = listeners.get(node);\n\n\t\t\t\t\tif (counts === undefined) {\n\t\t\t\t\t\tcounts = new Map();\n\t\t\t\t\t\tlisteners.set(node, counts);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar count = counts.get(event_name);\n\n\t\t\t\t\tif (count === undefined) {\n\t\t\t\t\t\tnode.addEventListener(event_name, handle_event_propagation, { passive });\n\t\t\t\t\t\tcounts.set(event_name, 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcounts.set(event_name, count + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tevent_handle(array_from(all_registered_events));\n\t\troot_event_handles.add(event_handle);\n\n\t\treturn () => {\n\t\t\tfor (var event_name of registered_events) {\n\t\t\t\tfor (const node of [target, document]) {\n\t\t\t\t\tvar counts = /** @type {Map} */ (listeners.get(node));\n\t\t\t\t\tvar count = /** @type {number} */ (counts.get(event_name));\n\n\t\t\t\t\tif (--count == 0) {\n\t\t\t\t\t\tnode.removeEventListener(event_name, handle_event_propagation);\n\t\t\t\t\t\tcounts.delete(event_name);\n\n\t\t\t\t\t\tif (counts.size === 0) {\n\t\t\t\t\t\t\tlisteners.delete(node);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcounts.set(event_name, count);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\troot_event_handles.delete(event_handle);\n\n\t\t\tif (anchor_node !== anchor) {\n\t\t\t\tanchor_node.parentNode?.removeChild(anchor_node);\n\t\t\t}\n\t\t};\n\t});\n\n\tmounted_components.set(component, unmount);\n\treturn component;\n}\n\n/**\n * References of the components that were mounted or hydrated.\n * Uses a `WeakMap` to avoid memory leaks.\n */\nlet mounted_components = new WeakMap();\n\n/**\n * Unmounts a component that was previously mounted using `mount` or `hydrate`.\n *\n * Since 5.13.0, if `options.outro` is `true`, [transitions](https://svelte.dev/docs/svelte/transition) will play before the component is removed from the DOM.\n *\n * Returns a `Promise` that resolves after transitions have completed if `options.outro` is true, or immediately otherwise (prior to 5.13.0, returns `void`).\n *\n * ```js\n * import { mount, unmount } from 'svelte';\n * import App from './App.svelte';\n *\n * const app = mount(App, { target: document.body });\n *\n * // later...\n * unmount(app, { outro: true });\n * ```\n * @param {Record} component\n * @param {{ outro?: boolean }} [options]\n * @returns {Promise}\n */\nexport function unmount(component, options) {\n\tconst fn = mounted_components.get(component);\n\n\tif (fn) {\n\t\tmounted_components.delete(component);\n\t\treturn fn(options);\n\t}\n\n\tif (DEV) {\n\t\tw.lifecycle_double_unmount();\n\t}\n\n\treturn Promise.resolve();\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { FILENAME, HMR } from '../../../constants.js';\nimport { EFFECT_TRANSPARENT, HMR_ANCHOR } from '#client/constants';\nimport { hydrate_node, hydrating } from '../dom/hydration.js';\nimport { block, branch, destroy_effect } from '../reactivity/effects.js';\nimport { set, source } from '../reactivity/sources.js';\nimport { set_should_intro } from '../render.js';\nimport { active_effect, get } from '../runtime.js';\n\n/**\n * @template {(anchor: Comment, props: any) => any} Component\n * @param {Component} fn\n */\nexport function hmr(fn) {\n\tconst current = source(fn);\n\n\t/**\n\t * @param {TemplateNode} initial_anchor\n\t * @param {any} props\n\t */\n\tfunction wrapper(initial_anchor, props) {\n\t\tlet component = {};\n\t\tlet instance = {};\n\n\t\t/** @type {Effect} */\n\t\tlet effect;\n\n\t\tlet ran = false;\n\t\tlet anchor = initial_anchor;\n\n\t\tblock(() => {\n\t\t\tif (component === (component = get(current))) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (effect) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tfor (var k in instance) delete instance[k];\n\t\t\t\tdestroy_effect(effect);\n\t\t\t}\n\n\t\t\teffect = branch(() => {\n\t\t\t\tanchor = /** @type {any} */ (anchor)[HMR_ANCHOR] ?? anchor;\n\n\t\t\t\t// when the component is invalidated, replace it without transitions\n\t\t\t\tif (ran) set_should_intro(false);\n\n\t\t\t\t// preserve getters/setters\n\t\t\t\tvar result =\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tnew.target ? new component(anchor, props) : component(anchor, props);\n\t\t\t\t// a component is not guaranteed to return something and we can't invoke getOwnPropertyDescriptors on undefined\n\t\t\t\tif (result) {\n\t\t\t\t\tObject.defineProperties(instance, Object.getOwnPropertyDescriptors(result));\n\t\t\t\t}\n\n\t\t\t\tif (ran) set_should_intro(true);\n\t\t\t});\n\n\t\t\t// Forward the start/end DOM nodes from the inner effect to the outer active effect\n\t\t\t// which would get them if the HMR wrapper wasn't there. Do this inside the block not\n\t\t\t// outside so that HMR updates to the component will also update the nodes on the\n\t\t\t// active effect. We copy only start/end, not the full nodes object, so that\n\t\t\t// pause_children does not collect transitions from both effects and fire outroend twice.\n\t\t\tvar inner_nodes = effect.nodes;\n\t\t\tif (inner_nodes) {\n\t\t\t\tvar ae = /** @type {Effect} */ (active_effect);\n\t\t\t\tif (ae.nodes) {\n\t\t\t\t\tae.nodes.start = inner_nodes.start;\n\t\t\t\t\tae.nodes.end = inner_nodes.end;\n\t\t\t\t} else {\n\t\t\t\t\tae.nodes = { start: inner_nodes.start, end: inner_nodes.end, a: null, t: null };\n\t\t\t\t}\n\t\t\t}\n\t\t}, EFFECT_TRANSPARENT);\n\n\t\tran = true;\n\n\t\tif (hydrating) {\n\t\t\tanchor = hydrate_node;\n\t\t}\n\n\t\treturn instance;\n\t}\n\n\t// @ts-expect-error\n\twrapper[FILENAME] = fn[FILENAME];\n\n\t// @ts-ignore\n\twrapper[HMR] = {\n\t\tfn,\n\t\tcurrent,\n\t\tupdate: (/** @type {any} */ incoming) => {\n\t\t\t// This logic ensures that the first version of the component is the one\n\t\t\t// whose update function and therefore block effect is preserved across updates.\n\t\t\t// If we don't do this dance and instead just use `incoming` as the new component\n\t\t\t// and then update, we'll create an ever-growing stack of block effects.\n\n\t\t\t// Trigger the original block effect\n\t\t\tset(wrapper[HMR].current, incoming[HMR].fn);\n\n\t\t\t// Replace the incoming source with the original one\n\t\t\tincoming[HMR].current = wrapper[HMR].current;\n\t\t}\n\t};\n\n\treturn wrapper;\n}\n","/** @typedef {{ file: string, line: number, column: number }} Location */\n\nimport { get_descriptor } from '../../shared/utils.js';\nimport { LEGACY_PROPS, STATE_SYMBOL } from '#client/constants';\nimport { FILENAME } from '../../../constants.js';\nimport { component_context } from '../context.js';\nimport * as w from '../warnings.js';\nimport { sanitize_location } from '../../../utils.js';\n\n/**\n * Sets up a validator that\n * - traverses the path of a prop to find out if it is allowed to be mutated\n * - checks that the binding chain is not interrupted\n * @param {Record} props\n */\nexport function create_ownership_validator(props) {\n\tconst component = component_context?.function;\n\tconst parent = component_context?.p?.function;\n\n\treturn {\n\t\t/**\n\t\t * @param {string} prop\n\t\t * @param {any[]} path\n\t\t * @param {any} result\n\t\t * @param {number} line\n\t\t * @param {number} column\n\t\t */\n\t\tmutation: (prop, path, result, line, column) => {\n\t\t\tconst name = path[0];\n\t\t\tif (is_bound_or_unset(props, name) || !parent) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t/** @type {any} */\n\t\t\tlet value = props;\n\n\t\t\tfor (let i = 0; i < path.length - 1; i++) {\n\t\t\t\tvalue = value[path[i]];\n\t\t\t\tif (!value?.[STATE_SYMBOL]) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst location = sanitize_location(`${component[FILENAME]}:${line}:${column}`);\n\n\t\t\tw.ownership_invalid_mutation(name, location, prop, parent[FILENAME]);\n\n\t\t\treturn result;\n\t\t},\n\t\t/**\n\t\t * @param {any} key\n\t\t * @param {any} child_component\n\t\t * @param {() => any} value\n\t\t */\n\t\tbinding: (key, child_component, value) => {\n\t\t\tif (!is_bound_or_unset(props, key) && parent && value()?.[STATE_SYMBOL]) {\n\t\t\t\tw.ownership_invalid_binding(\n\t\t\t\t\tcomponent[FILENAME],\n\t\t\t\t\tkey,\n\t\t\t\t\tchild_component[FILENAME],\n\t\t\t\t\tparent[FILENAME]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n\n/**\n * @param {Record} props\n * @param {string} prop_name\n */\nfunction is_bound_or_unset(props, prop_name) {\n\t// Can be the case when someone does `mount(Component, props)` with `let props = $state({...})`\n\t// or `createClassComponent(Component, props)`\n\tconst is_entry_props = STATE_SYMBOL in props || LEGACY_PROPS in props;\n\treturn (\n\t\t!!get_descriptor(props, prop_name)?.set ||\n\t\t(is_entry_props && prop_name in props) ||\n\t\t!(prop_name in props)\n\t);\n}\n","import * as e from '../errors.js';\nimport { component_context } from '../context.js';\nimport { FILENAME } from '../../../constants.js';\n\n/** @param {Function & { [FILENAME]: string }} target */\nexport function check_target(target) {\n\tif (target) {\n\t\te.component_api_invalid_new(target[FILENAME] ?? 'a component', target.name);\n\t}\n}\n\nexport function legacy_api() {\n\tconst component = component_context?.function;\n\n\t/** @param {string} method */\n\tfunction error(method) {\n\t\te.component_api_changed(method, component[FILENAME]);\n\t}\n\n\treturn {\n\t\t$destroy: () => error('$destroy()'),\n\t\t$on: () => error('$on(...)'),\n\t\t$set: () => error('$set(...)')\n\t};\n}\n","import { UNINITIALIZED } from '../../../constants.js';\nimport { snapshot } from '../../shared/clone.js';\nimport { eager_effect, render_effect, validate_effect } from '../reactivity/effects.js';\nimport { untrack } from '../runtime.js';\nimport { get_error } from '../../shared/dev.js';\n\n/**\n * @param {() => any[]} get_value\n * @param {Function} inspector\n * @param {boolean} show_stack\n */\nexport function inspect(get_value, inspector, show_stack = false) {\n\tvalidate_effect('$inspect');\n\n\tlet initial = true;\n\tlet error = /** @type {any} */ (UNINITIALIZED);\n\n\t// Inspect effects runs synchronously so that we can capture useful\n\t// stack traces. As a consequence, reading the value might result\n\t// in an error (an `$inspect(object.property)` will run before the\n\t// `{#if object}...{/if}` that contains it)\n\teager_effect(() => {\n\t\terror = UNINITIALIZED;\n\n\t\ttry {\n\t\t\tvar value = get_value();\n\t\t} catch (e) {\n\t\t\terror = e;\n\t\t\treturn;\n\t\t}\n\n\t\tvar snap = snapshot(value, true, true);\n\t\tuntrack(() => {\n\t\t\tif (show_stack) {\n\t\t\t\tinspector(...snap);\n\n\t\t\t\tif (!initial) {\n\t\t\t\t\tconst stack = get_error('$inspect(...)');\n\t\t\t\t\tif (stack) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.groupCollapsed('stack trace');\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.log(stack);\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.groupEnd();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinspector(initial ? 'init' : 'update', ...snap);\n\t\t\t}\n\t\t});\n\n\t\tinitial = false;\n\t});\n\n\t// If an error occurs, we store it (along with its stack trace).\n\t// If the render effect subsequently runs, we log the error,\n\t// but if it doesn't run it's because the `$inspect` was\n\t// destroyed, meaning we don't need to bother\n\trender_effect(() => {\n\t\ttry {\n\t\t\t// call `get_value` so that this runs alongside the inspect effect\n\t\t\tget_value();\n\t\t} catch {\n\t\t\t// ignore\n\t\t}\n\n\t\tif (error !== UNINITIALIZED) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(error);\n\t\t\terror = UNINITIALIZED;\n\t\t}\n\t});\n}\n","/** @import { Blocker, TemplateNode, Value } from '#client' */\nimport { flatten } from '../../reactivity/async.js';\nimport { get } from '../../runtime.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tset_hydrate_node,\n\tset_hydrating,\n\tskip_nodes\n} from '../hydration.js';\nimport { assign_nodes } from '../template.js';\n\n/**\n * @param {TemplateNode} node\n * @param {Blocker[]} blockers\n * @param {Array<() => Promise>} expressions\n * @param {(anchor: TemplateNode, ...deriveds: Value[]) => void} fn\n */\nexport function async(node, blockers = [], expressions = [], fn) {\n\tvar was_hydrating = hydrating;\n\tvar end = null;\n\n\tif (was_hydrating) {\n\t\thydrate_next();\n\t\tend = skip_nodes(false);\n\t\tassign_nodes(node, end); // Necessary if this wraps the sole child of a block, else end marker can be wrong\n\t}\n\n\tif (expressions.length === 0 && blockers.every((b) => b.settled)) {\n\t\tfn(node);\n\n\t\t// This is necessary because it is not guaranteed that the render function will\n\t\t// advance the hydration node to $.async's end marker: it may stop at an inner\n\t\t// block's end marker (in case of an inner if block for example), but it also may\n\t\t// stop at the correct $.async end marker (in case of component child) - hence\n\t\t// we can't just use hydrate_next()\n\t\t// TODO this feels indicative of a bug elsewhere; ideally we wouldn't need\n\t\t// to double-traverse in the already-resolved case\n\t\tif (was_hydrating) {\n\t\t\tset_hydrate_node(end);\n\t\t}\n\n\t\treturn;\n\t}\n\n\tif (was_hydrating) {\n\t\tvar previous_hydrate_node = hydrate_node;\n\t\tset_hydrate_node(end);\n\t}\n\n\tflatten(blockers, [], expressions, (values) => {\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t\tset_hydrate_node(previous_hydrate_node);\n\t\t}\n\n\t\ttry {\n\t\t\t// get values eagerly to avoid creating blocks if they reject\n\t\t\tfor (const d of values) get(d);\n\n\t\t\tfn(node, ...values);\n\t\t} finally {\n\t\t\tif (was_hydrating) {\n\t\t\t\tset_hydrating(false);\n\t\t\t}\n\t\t}\n\t});\n}\n","import * as e from '../errors.js';\n/**\n * @param {Node} anchor\n * @param {...(()=>any)[]} args\n */\nexport function validate_snippet_args(anchor, ...args) {\n\tif (typeof anchor !== 'object' || !(anchor instanceof Node)) {\n\t\te.invalid_snippet_arguments();\n\t}\n\n\tfor (let arg of args) {\n\t\tif (typeof arg !== 'function') {\n\t\t\te.invalid_snippet_arguments();\n\t\t}\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { Batch, current_batch } from '../../reactivity/batch.js';\nimport {\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { HMR_ANCHOR } from '../../constants.js';\nimport { hydrate_node, hydrating } from '../hydration.js';\nimport { create_text, should_defer_append } from '../operations.js';\nimport { DEV } from 'esm-env';\n\n/**\n * @typedef {{ effect: Effect, fragment: DocumentFragment }} Branch\n */\n\n/**\n * @template Key\n */\nexport class BranchManager {\n\t/** @type {TemplateNode} */\n\tanchor;\n\n\t/** @type {Map} */\n\t#batches = new Map();\n\n\t/**\n\t * Map of keys to effects that are currently rendered in the DOM.\n\t * These effects are visible and actively part of the document tree.\n\t * Example:\n\t * ```\n\t * {#if condition}\n\t * \tfoo\n\t * {:else}\n\t * \tbar\n\t * {/if}\n\t * ```\n\t * Can result in the entries `true->Effect` and `false->Effect`\n\t * @type {Map}\n\t */\n\t#onscreen = new Map();\n\n\t/**\n\t * Similar to #onscreen with respect to the keys, but contains branches that are not yet\n\t * in the DOM, because their insertion is deferred.\n\t * @type {Map}\n\t */\n\t#offscreen = new Map();\n\n\t/**\n\t * Keys of effects that are currently outroing\n\t * @type {Set}\n\t */\n\t#outroing = new Set();\n\n\t/**\n\t * Whether to pause (i.e. outro) on change, or destroy immediately.\n\t * This is necessary for ``\n\t */\n\t#transition = true;\n\n\t/**\n\t * @param {TemplateNode} anchor\n\t * @param {boolean} transition\n\t */\n\tconstructor(anchor, transition = true) {\n\t\tthis.anchor = anchor;\n\t\tthis.#transition = transition;\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#commit = (batch) => {\n\t\t// if this batch was made obsolete, bail\n\t\tif (!this.#batches.has(batch)) return;\n\n\t\tvar key = /** @type {Key} */ (this.#batches.get(batch));\n\n\t\tvar onscreen = this.#onscreen.get(key);\n\n\t\tif (onscreen) {\n\t\t\t// effect is already in the DOM — abort any current outro\n\t\t\tresume_effect(onscreen);\n\t\t\tthis.#outroing.delete(key);\n\t\t} else {\n\t\t\t// effect is currently offscreen. put it in the DOM\n\t\t\tvar offscreen = this.#offscreen.get(key);\n\n\t\t\tif (offscreen) {\n\t\t\t\t// effect could have been outro'ed before through a prior batch — resume if necessary\n\t\t\t\tresume_effect(offscreen.effect);\n\t\t\t\tthis.#onscreen.set(key, offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(key);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\t// Tell hmr.js about the anchor it should use for updates,\n\t\t\t\t\t// since the initial one will be removed\n\t\t\t\t\t/** @type {any} */ (offscreen.fragment.lastChild)[HMR_ANCHOR] = this.anchor;\n\t\t\t\t}\n\n\t\t\t\t// remove the anchor...\n\t\t\t\t/** @type {TemplateNode} */ (offscreen.fragment.lastChild).remove();\n\n\t\t\t\t// ...and append the fragment\n\t\t\t\tthis.anchor.before(offscreen.fragment);\n\t\t\t\tonscreen = offscreen.effect;\n\t\t\t}\n\t\t}\n\n\t\tfor (const [b, k] of this.#batches) {\n\t\t\tthis.#batches.delete(b);\n\n\t\t\tif (b === batch) {\n\t\t\t\t// keep values for newer batches\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst offscreen = this.#offscreen.get(k);\n\n\t\t\tif (offscreen) {\n\t\t\t\t// for older batches, destroy offscreen effects\n\t\t\t\t// as they will never be committed\n\t\t\t\tdestroy_effect(offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\n\t\t// outro/destroy all onscreen effects...\n\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t// ...except the one that was just committed\n\t\t\t// or those that are already outroing (else the transition is aborted and the effect destroyed right away)\n\t\t\tif (k === key || this.#outroing.has(k)) continue;\n\n\t\t\tconst on_destroy = () => {\n\t\t\t\tconst keys = Array.from(this.#batches.values());\n\n\t\t\t\tif (keys.includes(k)) {\n\t\t\t\t\t// keep the effect offscreen, as another batch will need it\n\t\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\t\tmove_effect(effect, fragment);\n\n\t\t\t\t\tfragment.append(create_text()); // TODO can we avoid this?\n\n\t\t\t\t\tthis.#offscreen.set(k, { effect, fragment });\n\t\t\t\t} else {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t}\n\n\t\t\t\tthis.#outroing.delete(k);\n\t\t\t\tthis.#onscreen.delete(k);\n\t\t\t};\n\n\t\t\tif (this.#transition || !onscreen) {\n\t\t\t\tthis.#outroing.add(k);\n\t\t\t\tpause_effect(effect, on_destroy, false);\n\t\t\t} else {\n\t\t\t\ton_destroy();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#discard = (batch) => {\n\t\tthis.#batches.delete(batch);\n\n\t\tconst keys = Array.from(this.#batches.values());\n\n\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\tif (!keys.includes(k)) {\n\t\t\t\tdestroy_effect(branch.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t *\n\t * @param {any} key\n\t * @param {null | ((target: TemplateNode) => void)} fn\n\t */\n\tensure(key, fn) {\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar defer = should_defer_append();\n\n\t\tif (fn && !this.#onscreen.has(key) && !this.#offscreen.has(key)) {\n\t\t\tif (defer) {\n\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\tvar target = create_text();\n\n\t\t\t\tfragment.append(target);\n\n\t\t\t\tthis.#offscreen.set(key, {\n\t\t\t\t\teffect: branch(() => fn(target)),\n\t\t\t\t\tfragment\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.#onscreen.set(\n\t\t\t\t\tkey,\n\t\t\t\t\tbranch(() => fn(this.anchor))\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tthis.#batches.set(batch, key);\n\n\t\tif (defer) {\n\t\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.unskip_effect(effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skip_effect(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.unskip_effect(branch.effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skip_effect(branch.effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch.oncommit(this.#commit);\n\t\t\tbatch.ondiscard(this.#discard);\n\t\t} else {\n\t\t\tif (hydrating) {\n\t\t\t\tthis.anchor = hydrate_node;\n\t\t\t}\n\n\t\t\tthis.#commit(batch);\n\t\t}\n\t}\n}\n","/** @import { Source, TemplateNode } from '#client' */\nimport { is_promise } from '../../../shared/utils.js';\nimport { block } from '../../reactivity/effects.js';\nimport { internal_set, mutable_source, source } from '../../reactivity/sources.js';\nimport {\n\thydrate_next,\n\thydrating,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating,\n\thydrate_node\n} from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\nimport { is_runes } from '../../context.js';\nimport { Batch, current_batch, flushSync, is_flushing_sync } from '../../reactivity/batch.js';\nimport { BranchManager } from './branches.js';\nimport { capture, unset_context } from '../../reactivity/async.js';\nimport { DEV } from 'esm-env';\n\nconst PENDING = 0;\nconst THEN = 1;\nconst CATCH = 2;\n\n/** @typedef {typeof PENDING | typeof THEN | typeof CATCH} AwaitState */\n\n/**\n * @template V\n * @param {TemplateNode} node\n * @param {(() => any)} get_input\n * @param {null | ((anchor: Node) => void)} pending_fn\n * @param {null | ((anchor: Node, value: Source) => void)} then_fn\n * @param {null | ((anchor: Node, error: unknown) => void)} catch_fn\n * @returns {void}\n */\nexport function await_block(node, get_input, pending_fn, then_fn, catch_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar runes = is_runes();\n\n\tvar v = /** @type {V} */ (UNINITIALIZED);\n\tvar value = runes ? source(v) : mutable_source(v, false, false);\n\tvar error = runes ? source(v) : mutable_source(v, false, false);\n\n\tif (DEV) {\n\t\tvalue.label = '{#await ...} value';\n\t\terror.label = '{#await ...} error';\n\t}\n\n\tvar branches = new BranchManager(node);\n\n\tblock(() => {\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar input = get_input();\n\n\t\tvar destroyed = false;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\t// @ts-ignore coercing `node` to a `Comment` causes TypeScript and Prettier to fight\n\t\tlet mismatch = hydrating && is_promise(input) === (node.data === HYDRATION_START_ELSE);\n\n\t\tif (mismatch) {\n\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh\n\t\t\tset_hydrate_node(skip_nodes());\n\t\t\tset_hydrating(false);\n\t\t}\n\n\t\tif (is_promise(input)) {\n\t\t\tvar restore = capture();\n\t\t\tvar resolved = false;\n\n\t\t\t/**\n\t\t\t * @param {() => void} fn\n\t\t\t */\n\t\t\tconst resolve = (fn) => {\n\t\t\t\tif (destroyed) return;\n\n\t\t\t\tresolved = true;\n\t\t\t\t// We don't want to restore the previous batch here; {#await} blocks don't follow the async logic\n\t\t\t\t// we have elsewhere, instead pending/resolve/fail states are each their own batch so to speak.\n\t\t\t\trestore(false);\n\t\t\t\t// ...but it might still be set here. That means a `save(...)` has restored it — but that batch will\n\t\t\t\t// likely already have been committed by the time it resolves, and this resolve should be processed\n\t\t\t\t// in a separate batch. We're not using batch.deactivate()/activate() above because get_input()\n\t\t\t\t// could write to sources, which would then incorrectly create a new batch or could mess with\n\t\t\t\t// async_derived expecting a current_batch to exist.\n\t\t\t\tif (current_batch === batch) {\n\t\t\t\t\tbatch.deactivate();\n\t\t\t\t}\n\t\t\t\t// Make sure we have a batch, since the branch manager expects one to exist\n\t\t\t\tBatch.ensure();\n\n\t\t\t\ttry {\n\t\t\t\t\tfn();\n\t\t\t\t} finally {\n\t\t\t\t\tunset_context(false);\n\n\t\t\t\t\t// without this, the DOM does not update until two ticks after the promise\n\t\t\t\t\t// resolves, which is unexpected behaviour (and somewhat irksome to test)\n\t\t\t\t\tif (!is_flushing_sync) flushSync();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tinput.then(\n\t\t\t\t(v) => {\n\t\t\t\t\tresolve(() => {\n\t\t\t\t\t\tinternal_set(value, v);\n\t\t\t\t\t\tbranches.ensure(THEN, then_fn && ((target) => then_fn(target, value)));\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t(e) => {\n\t\t\t\t\tresolve(() => {\n\t\t\t\t\t\tinternal_set(error, e);\n\t\t\t\t\t\tbranches.ensure(CATCH, catch_fn && ((target) => catch_fn(target, error)));\n\n\t\t\t\t\t\tif (!catch_fn) {\n\t\t\t\t\t\t\t// Rethrow the error if no catch block exists\n\t\t\t\t\t\t\tthrow error.v;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (hydrating) {\n\t\t\t\tbranches.ensure(PENDING, pending_fn);\n\t\t\t} else {\n\t\t\t\t// Wait a microtask before checking if we should show the pending state as\n\t\t\t\t// the promise might have resolved by then\n\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\tif (!resolved) {\n\t\t\t\t\t\tresolve(() => {\n\t\t\t\t\t\t\tbranches.ensure(PENDING, pending_fn);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tinternal_set(value, input);\n\t\t\tbranches.ensure(THEN, then_fn && ((target) => then_fn(target, value)));\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdestroyed = true;\n\t\t};\n\t});\n}\n","/** @import { TemplateNode } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating,\n\thydrate_node\n} from '../hydration.js';\nimport { block } from '../../reactivity/effects.js';\nimport { BranchManager } from './branches.js';\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node) => void, key?: number | false) => void) => void} fn\n * @param {boolean} [elseif] True if this is an `{:else if ...}` block rather than an `{#if ...}`, as that affects which transitions are considered 'local'\n * @returns {void}\n */\nexport function if_block(node, fn, elseif = false) {\n\t/** @type {TemplateNode | undefined} */\n\tvar marker;\n\tif (hydrating) {\n\t\tmarker = hydrate_node;\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\tvar flags = elseif ? EFFECT_TRANSPARENT : 0;\n\n\t/**\n\t * @param {number | false} key\n\t * @param {null | ((anchor: Node) => void)} fn\n\t */\n\tfunction update_branch(key, fn) {\n\t\tif (hydrating) {\n\t\t\tvar data = read_hydration_instruction(/** @type {TemplateNode} */ (marker));\n\n\t\t\t// \"[n\" = branch n, \"[-1\" = else\n\t\t\tif (key !== parseInt(data.substring(1))) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tvar anchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tbranches.anchor = anchor;\n\n\t\t\t\tset_hydrating(false);\n\t\t\t\tbranches.ensure(key, fn);\n\t\t\t\tset_hydrating(true);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tbranches.ensure(key, fn);\n\t}\n\n\tblock(() => {\n\t\tvar has_branch = false;\n\n\t\tfn((fn, key = 0) => {\n\t\t\thas_branch = true;\n\t\t\tupdate_branch(key, fn);\n\t\t});\n\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(-1, null);\n\t\t}\n\t}, flags);\n}\n","/** @import { TemplateNode } from '#client' */\nimport { is_runes } from '../../context.js';\nimport { block } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrating } from '../hydration.js';\nimport { BranchManager } from './branches.js';\n\nconst NAN = Symbol('NaN');\n\n/**\n * @template V\n * @param {TemplateNode} node\n * @param {() => V} get_key\n * @param {(anchor: Node) => TemplateNode | void} render_fn\n * @returns {void}\n */\nexport function key(node, get_key, render_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\n\tvar legacy = !is_runes();\n\n\tblock(() => {\n\t\tvar key = get_key();\n\n\t\t// NaN !== NaN, hence we do this workaround to not trigger remounts unnecessarily\n\t\tif (key !== key) {\n\t\t\tkey = /** @type {any} */ (NAN);\n\t\t}\n\n\t\t// key blocks in Svelte <5 had stupid semantics\n\t\tif (legacy && key !== null && typeof key === 'object') {\n\t\t\tkey = /** @type {V} */ ({});\n\t\t}\n\n\t\tbranches.ensure(key, render_fn);\n\t});\n}\n","import { render_effect } from '../../reactivity/effects.js';\nimport { hydrating, set_hydrate_node } from '../hydration.js';\nimport { get_first_child } from '../operations.js';\n\n/**\n * @param {HTMLDivElement | SVGGElement} element\n * @param {() => Record} get_styles\n * @returns {void}\n */\nexport function css_props(element, get_styles) {\n\tif (hydrating) {\n\t\tset_hydrate_node(get_first_child(element));\n\t}\n\n\trender_effect(() => {\n\t\tvar styles = get_styles();\n\n\t\tfor (var key in styles) {\n\t\t\tvar value = styles[key];\n\n\t\t\tif (value == null || value === '') {\n\t\t\t\telement.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\telement.style.setProperty(key, value);\n\t\t\t}\n\t\t}\n\t});\n}\n","/** @import { EachItem, EachOutroGroup, EachState, Effect, EffectNodes, MaybeSource, TemplateNode, TransitionManager } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tshould_defer_append\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { BRANCH_EFFECT, COMMENT_NODE, DESTROYED, EFFECT_OFFSCREEN, INERT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\nimport { current_batch } from '../../reactivity/batch.js';\nimport * as e from '../../errors.js';\nimport { tag } from '../../dev/tracing.js';\n\n// When making substantive changes to this file, validate them with the each block stress test:\n// https://svelte.dev/playground/1972b2cf46564476ad8c8c6405b23b7b\n// This test also exists in this repo, as `packages/svelte/tests/manual/each-stress-test`\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {Effect[]} to_destroy\n * @param {null | Node} controlled_anchor\n */\nfunction pause_effects(state, to_destroy, controlled_anchor) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = to_destroy.length;\n\n\t/** @type {EachOutroGroup} */\n\tvar group;\n\tvar remaining = to_destroy.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tlet effect = to_destroy[i];\n\n\t\tpause_effect(\n\t\t\teffect,\n\t\t\t() => {\n\t\t\t\tif (group) {\n\t\t\t\t\tgroup.pending.delete(effect);\n\t\t\t\t\tgroup.done.add(effect);\n\n\t\t\t\t\tif (group.pending.size === 0) {\n\t\t\t\t\t\tvar groups = /** @type {Set} */ (state.outrogroups);\n\n\t\t\t\t\t\tdestroy_effects(state, array_from(group.done));\n\t\t\t\t\t\tgroups.delete(group);\n\n\t\t\t\t\t\tif (groups.size === 0) {\n\t\t\t\t\t\t\tstate.outrogroups = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tremaining -= 1;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t}\n\n\tif (remaining === 0) {\n\t\t// If we're in a controlled each block (i.e. the block is the only child of an\n\t\t// element), and we are removing all items, _and_ there are no out transitions,\n\t\t// we can use the fast path — emptying the element and replacing the anchor.\n\t\t// Skip the fast path when another batch is still pending on this each block:\n\t\t// that batch's keys still reference EachItems in `state.items`, which\n\t\t// `destroy_effects` needs to preserve offscreen (see #18610).\n\t\tvar fast_path =\n\t\t\ttransitions.length === 0 && controlled_anchor !== null && state.pending.size === 0;\n\n\t\tif (fast_path) {\n\t\t\tvar anchor = /** @type {Element} */ (controlled_anchor);\n\t\t\tvar parent_node = /** @type {Element} */ (anchor.parentNode);\n\n\t\t\tclear_text_content(parent_node);\n\t\t\tparent_node.append(anchor);\n\n\t\t\tstate.items.clear();\n\t\t}\n\n\t\tdestroy_effects(state, to_destroy, !fast_path);\n\t} else {\n\t\tgroup = {\n\t\t\tpending: new Set(to_destroy),\n\t\t\tdone: new Set()\n\t\t};\n\n\t\t(state.outrogroups ??= new Set()).add(group);\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {Effect[]} to_destroy\n * @param {boolean} remove_dom\n */\nfunction destroy_effects(state, to_destroy, remove_dom = true) {\n\t/** @type {Set | undefined} */\n\tvar preserved_effects;\n\n\t// The loop-in-a-loop isn't ideal, but we should only hit this in relatively rare cases\n\tif (state.pending.size > 0) {\n\t\tpreserved_effects = new Set();\n\n\t\tfor (const keys of state.pending.values()) {\n\t\t\tfor (const key of keys) {\n\t\t\t\tpreserved_effects.add(/** @type {EachItem} */ (state.items.get(key)).e);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < to_destroy.length; i++) {\n\t\tvar e = to_destroy[i];\n\n\t\tif (preserved_effects?.has(e)) {\n\t\t\te.f |= EFFECT_OFFSCREEN;\n\n\t\t\tconst fragment = document.createDocumentFragment();\n\t\t\tmove_effect(e, fragment);\n\t\t} else {\n\t\t\tdestroy_effect(to_destroy[i], remove_dom);\n\t\t}\n\t}\n}\n\n/** @type {TemplateNode} */\nvar offscreen_anchor;\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource, index: MaybeSource) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {Map} */\n\tvar items = new Map();\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(get_first_child(parent_node))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn /** @type {V[]} */ (\n\t\t\tis_array(collection) ? collection : collection == null ? [] : array_from(collection)\n\t\t);\n\t});\n\n\tif (DEV) {\n\t\ttag(each_array, '{#each ...}');\n\t}\n\n\t/** @type {Map>} */\n\tvar pending = new Map();\n\n\tvar first_run = true;\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\tfunction commit(batch) {\n\t\tif ((state.effect.f & DESTROYED) !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tstate.pending.delete(batch);\n\n\t\t// The effect doesn't necessarily re-run in a batch right before that batch commits\n\t\t// (its view of the collection may not have changed), so we read the collection\n\t\t// as the committing batch sees it rather than using the most recent block run's result\n\t\tvar array = get(each_array);\n\n\t\tstate.fallback = fallback;\n\t\treconcile(state, array, anchor, flags, get_key);\n\n\t\tif (fallback !== null) {\n\t\t\tif (array.length === 0) {\n\t\t\t\tif ((fallback.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback.f ^= EFFECT_OFFSCREEN;\n\t\t\t\t\tmove(fallback, null, anchor);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\t// TODO only null out if no pending batch needs it,\n\t\t\t\t\t// otherwise re-add `fallback.fragment` and move the\n\t\t\t\t\t// effect into it\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\tfunction discard(batch) {\n\t\tstate.pending.delete(batch);\n\t}\n\n\tvar effect = block(() => {\n\t\tvar array = /** @type {V[]} */ (get(each_array));\n\t\tvar length = array.length;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\tvar keys = new Set();\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar defer = should_defer_append();\n\n\t\tfor (var index = 0; index < length; index += 1) {\n\t\t\tif (\n\t\t\t\thydrating &&\n\t\t\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t) {\n\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\tmismatch = true;\n\t\t\t\tset_hydrating(false);\n\t\t\t}\n\n\t\t\tvar value = array[index];\n\t\t\tvar key = get_key(value, index);\n\n\t\t\tif (DEV) {\n\t\t\t\t// Check that the key function is idempotent (returns the same value when called twice)\n\t\t\t\tvar key_again = get_key(value, index);\n\t\t\t\tif (key !== key_again) {\n\t\t\t\t\te.each_key_volatile(String(index), String(key), String(key_again));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar item = first_run ? null : items.get(key);\n\n\t\t\tif (item) {\n\t\t\t\t// update before reconciliation, to trigger any async updates\n\t\t\t\tif (item.v) internal_set(item.v, value);\n\t\t\t\tif (item.i) internal_set(item.i, index);\n\n\t\t\t\tif (defer) {\n\t\t\t\t\tbatch.unskip_effect(item.e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\titem = create_item(\n\t\t\t\t\titems,\n\t\t\t\t\tfirst_run ? anchor : (offscreen_anchor ??= create_text()),\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\tindex,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\n\t\t\t\tif (!first_run) {\n\t\t\t\t\titem.e.f |= EFFECT_OFFSCREEN;\n\t\t\t\t}\n\n\t\t\t\titems.set(key, item);\n\t\t\t}\n\n\t\t\tkeys.add(key);\n\t\t}\n\n\t\tif (length === 0 && fallback_fn && !fallback) {\n\t\t\tif (first_run) {\n\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t} else {\n\t\t\t\tfallback = branch(() => fallback_fn((offscreen_anchor ??= create_text())));\n\t\t\t\tfallback.f |= EFFECT_OFFSCREEN;\n\t\t\t}\n\t\t}\n\n\t\tif (length > keys.size) {\n\t\t\tif (DEV) {\n\t\t\t\tvalidate_each_keys(array, get_key);\n\t\t\t} else {\n\t\t\t\t// in prod, the additional information isn't printed, so don't bother computing it\n\t\t\t\te.each_key_duplicate('', '', '');\n\t\t\t}\n\t\t}\n\n\t\t// remove excess nodes\n\t\tif (hydrating && length > 0) {\n\t\t\tset_hydrate_node(skip_nodes());\n\t\t}\n\n\t\tif (!first_run) {\n\t\t\tpending.set(batch, keys);\n\n\t\t\tif (defer) {\n\t\t\t\tfor (const [key, item] of items) {\n\t\t\t\t\tif (!keys.has(key)) {\n\t\t\t\t\t\tbatch.skip_effect(item.e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.oncommit(commit);\n\t\t\t\tbatch.ondiscard(discard);\n\t\t\t} else {\n\t\t\t\tcommit(batch);\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\t/** @type {EachState} */\n\tvar state = { effect, flags, items, pending, outrogroups: null, fallback };\n\n\tfirst_run = false;\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Skip past any non-branch effects (which could be created with `createSubscriber`, for example) to find the next branch effect\n * @param {Effect | null} effect\n * @returns {Effect | null}\n */\nfunction skip_to_branch(effect) {\n\twhile (effect !== null && (effect.f & BRANCH_EFFECT) === 0) {\n\t\teffect = effect.next;\n\t}\n\treturn effect;\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {EachState} state\n * @param {Array} array\n * @param {Element | Comment | Text} anchor\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @returns {void}\n */\nfunction reconcile(state, array, anchor, flags, get_key) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar current = skip_to_branch(state.effect.first);\n\n\t/** @type {undefined | Set} */\n\tvar seen;\n\n\t/** @type {Effect | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set} */\n\tvar to_animate;\n\n\t/** @type {Effect[]} */\n\tvar matched = [];\n\n\t/** @type {Effect[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {Effect | undefined} */\n\tvar effect;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\teffect = /** @type {EachItem} */ (items.get(key)).e;\n\n\t\t\t// offscreen == coming in now, no animation in that case,\n\t\t\t// else this would happen https://github.com/sveltejs/svelte/issues/17181\n\t\t\tif ((effect.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\t\teffect.nodes?.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(effect);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\n\t\teffect = /** @type {EachItem} */ (items.get(key)).e;\n\n\t\tif (state.outrogroups !== null) {\n\t\t\tfor (const group of state.outrogroups) {\n\t\t\t\tgroup.pending.delete(effect);\n\t\t\t\tgroup.done.delete(effect);\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & INERT) !== 0) {\n\t\t\tresume_effect(effect);\n\t\t\tif (is_animated) {\n\t\t\t\teffect.nodes?.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(effect);\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & EFFECT_OFFSCREEN) !== 0) {\n\t\t\teffect.f ^= EFFECT_OFFSCREEN;\n\n\t\t\tif (effect === current) {\n\t\t\t\tmove(effect, null, anchor);\n\t\t\t} else {\n\t\t\t\tvar next = prev ? prev.next : current;\n\n\t\t\t\tif (effect === state.effect.last) {\n\t\t\t\t\tstate.effect.last = effect.prev;\n\t\t\t\t}\n\n\t\t\t\tif (effect.prev) effect.prev.next = effect.next;\n\t\t\t\tif (effect.next) effect.next.prev = effect.prev;\n\t\t\t\tlink(state, prev, effect);\n\t\t\t\tlink(state, effect, next);\n\n\t\t\t\tmove(effect, next, anchor);\n\t\t\t\tprev = effect;\n\n\t\t\t\tmatched = [];\n\t\t\t\tstashed = [];\n\n\t\t\t\tcurrent = skip_to_branch(prev.next);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (effect !== current) {\n\t\t\tif (seen !== undefined && seen.has(effect)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(effect);\n\t\t\t\t\tmove(effect, current, anchor);\n\n\t\t\t\t\tlink(state, effect.prev, effect.next);\n\t\t\t\t\tlink(state, effect, prev === null ? state.effect.first : prev.next);\n\t\t\t\t\tlink(state, prev, effect);\n\n\t\t\t\t\tprev = effect;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current !== effect) {\n\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = skip_to_branch(current.next);\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif ((effect.f & EFFECT_OFFSCREEN) === 0) {\n\t\t\tmatched.push(effect);\n\t\t}\n\n\t\tprev = effect;\n\t\tcurrent = skip_to_branch(effect.next);\n\t}\n\n\tif (state.outrogroups !== null) {\n\t\tfor (const group of state.outrogroups) {\n\t\t\tif (group.pending.size === 0) {\n\t\t\t\tdestroy_effects(state, array_from(group.done));\n\t\t\t\tstate.outrogroups?.delete(group);\n\t\t\t}\n\t\t}\n\n\t\tif (state.outrogroups.size === 0) {\n\t\t\tstate.outrogroups = null;\n\t\t}\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\t/** @type {Effect[]} */\n\t\tvar to_destroy = [];\n\n\t\tif (seen !== undefined) {\n\t\t\tfor (effect of seen) {\n\t\t\t\tif ((effect.f & INERT) === 0) {\n\t\t\t\t\tto_destroy.push(effect);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.f & INERT) === 0 && current !== state.fallback) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\n\t\t\tcurrent = skip_to_branch(current.next);\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].nodes?.a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].nodes?.a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (effect of to_animate) {\n\t\t\t\teffect.nodes?.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @template V\n * @param {Map} items\n * @param {Node} anchor\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: MaybeSource, index: MaybeSource, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @returns {EachItem}\n */\nfunction create_item(items, anchor, value, key, index, render_fn, flags, get_collection) {\n\tvar v =\n\t\t(flags & EACH_ITEM_REACTIVE) !== 0\n\t\t\t? (flags & EACH_ITEM_IMMUTABLE) === 0\n\t\t\t\t? mutable_source(value, false, false)\n\t\t\t\t: source(value)\n\t\t\t: null;\n\n\tvar i = (flags & EACH_INDEX_REACTIVE) !== 0 ? source(index) : null;\n\n\tif (DEV && v) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\tv.trace = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[i?.v ?? index];\n\t\t};\n\t}\n\n\treturn {\n\t\tv,\n\t\ti,\n\t\te: branch(() => {\n\t\t\trender_fn(anchor, v ?? value, i ?? index, get_collection);\n\n\t\t\treturn () => {\n\t\t\t\titems.delete(key);\n\t\t\t};\n\t\t})\n\t};\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(effect, next, anchor) {\n\tif (!effect.nodes) return;\n\n\tvar node = effect.nodes.start;\n\tvar end = effect.nodes.end;\n\n\tvar dest =\n\t\tnext && (next.f & EFFECT_OFFSCREEN) === 0\n\t\t\t? /** @type {EffectNodes} */ (next.nodes).start\n\t\t\t: anchor;\n\n\twhile (node !== null) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\n\t\tif (node === end) {\n\t\t\treturn;\n\t\t}\n\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {Effect | null} prev\n * @param {Effect | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.effect.first = next;\n\t} else {\n\t\tprev.next = next;\n\t}\n\n\tif (next === null) {\n\t\tstate.effect.last = prev;\n\t} else {\n\t\tnext.prev = prev;\n\t}\n}\n\n/**\n * @param {Array} array\n * @param {(item: any, index: number) => string} key_fn\n * @returns {void}\n */\nfunction validate_each_keys(array, key_fn) {\n\tconst keys = new Map();\n\tconst length = array.length;\n\n\tfor (let i = 0; i < length; i++) {\n\t\tconst key = key_fn(array[i], i);\n\n\t\tif (keys.has(key)) {\n\t\t\tconst a = String(keys.get(key));\n\t\t\tconst b = String(i);\n\n\t\t\t/** @type {string | null} */\n\t\t\tlet k = String(key);\n\t\t\tif (k.startsWith('[object ')) k = null;\n\n\t\t\te.each_key_duplicate(a, b, k);\n\t\t}\n\n\t\tkeys.set(key, i);\n\t}\n}\n","/** @import { Effect, TemplateNode } from '#client' */\n/** @import {} from 'trusted-types' */\nimport {\n\tFILENAME,\n\tHYDRATION_ERROR,\n\tNAMESPACE_SVG,\n\tNAMESPACE_MATHML\n} from '../../../../constants.js';\nimport { remove_effect_dom, template_effect } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from '../hydration.js';\n\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport { hash, sanitize_location } from '../../../../utils.js';\nimport { DEV } from 'esm-env';\nimport { dev_current_component_function } from '../../context.js';\nimport { create_element, get_first_child, get_next_sibling } from '../operations.js';\nimport { active_effect } from '../../runtime.js';\nimport { COMMENT_NODE } from '#client/constants';\n\n/**\n * @param {Element} element\n * @param {string | null} server_hash\n * @param {string | TrustedHTML} value\n */\nfunction check_hash(element, server_hash, value) {\n\tif (!server_hash || server_hash === hash(String(value ?? ''))) return;\n\n\tlet location;\n\n\t// @ts-expect-error\n\tconst loc = element.__svelte_meta?.loc;\n\tif (loc) {\n\t\tlocation = `near ${loc.file}:${loc.line}:${loc.column}`;\n\t} else if (dev_current_component_function?.[FILENAME]) {\n\t\tlocation = `in ${dev_current_component_function[FILENAME]}`;\n\t}\n\n\tw.hydration_html_changed(sanitize_location(location));\n}\n\n/**\n * @param {Element | Text | Comment} node\n * @param {() => string | TrustedHTML} get_value\n * @param {boolean} [is_controlled]\n * @param {boolean} [svg]\n * @param {boolean} [mathml]\n * @param {boolean} [skip_warning]\n * @returns {void}\n */\nexport function html(\n\tnode,\n\tget_value,\n\tis_controlled = false,\n\tsvg = false,\n\tmathml = false,\n\tskip_warning = false\n) {\n\tvar anchor = node;\n\n\t/** @type {string | TrustedHTML} */\n\tvar value = '';\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tif (hydrating) {\n\t\t\tanchor = set_hydrate_node(get_first_child(parent_node));\n\t\t}\n\t}\n\n\ttemplate_effect(() => {\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\tif (value === (value = get_value() ?? '')) {\n\t\t\tif (hydrating) hydrate_next();\n\t\t\treturn;\n\t\t}\n\n\t\tif (is_controlled && !hydrating) {\n\t\t\t// When @html is the only child, use innerHTML directly.\n\t\t\t// This also handles contenteditable, where the user may delete the anchor comment.\n\t\t\teffect.nodes = null;\n\t\t\tparent_node.innerHTML = /** @type {string} */ (value);\n\n\t\t\tif (value !== '') {\n\t\t\t\tassign_nodes(\n\t\t\t\t\t/** @type {TemplateNode} */ (get_first_child(parent_node)),\n\t\t\t\t\t/** @type {TemplateNode} */ (parent_node.lastChild)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (effect.nodes !== null) {\n\t\t\tremove_effect_dom(effect.nodes.start, /** @type {TemplateNode} */ (effect.nodes.end));\n\t\t\teffect.nodes = null;\n\t\t}\n\n\t\tif (value === '') return;\n\n\t\tif (hydrating) {\n\t\t\t// We're deliberately not trying to repair mismatches between server and client,\n\t\t\t// as it's costly and error-prone (and it's an edge case to have a mismatch anyway)\n\t\t\tvar hash = /** @type {Comment} */ (hydrate_node).data;\n\n\t\t\t/** @type {TemplateNode | null} */\n\t\t\tvar next = hydrate_next();\n\t\t\tvar last = next;\n\n\t\t\twhile (\n\t\t\t\tnext !== null &&\n\t\t\t\t(next.nodeType !== COMMENT_NODE || /** @type {Comment} */ (next).data !== '')\n\t\t\t) {\n\t\t\t\tlast = next;\n\t\t\t\tnext = get_next_sibling(next);\n\t\t\t}\n\n\t\t\tif (next === null) {\n\t\t\t\tw.hydration_mismatch();\n\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t}\n\n\t\t\tif (DEV && !skip_warning) {\n\t\t\t\tcheck_hash(/** @type {Element} */ (next.parentNode), hash, value);\n\t\t\t}\n\n\t\t\tassign_nodes(hydrate_node, last);\n\t\t\tanchor = set_hydrate_node(next);\n\t\t\treturn;\n\t\t}\n\n\t\t// Don't use create_fragment_with_script_from_html here because that would mean script tags are executed.\n\t\t// @html is basically `.innerHTML = ...` and that doesn't execute scripts either due to security reasons.\n\t\t// Use a