seriffic Claude Opus 4.7 (1M context) commited on
Commit
646ebaf
·
1 Parent(s): 10ab54c

ux: wire FindingsRegion into both sample + live routes

Browse files

Replaces the broken EvidenceGrid + RegisterCard + TraceUI bottom
section with the v0.4.4 FindingsRegion in both:

src/routes/q/sample/+page.svelte
Drives off the SAMPLE_FINDINGS fixture (Red Hook). Lifts
linkedKey, density, provenanceMode, showGrammar to the page.
Removes the EvidenceGrid + TraceUI bottom block; FindingsRegion
subsumes both — the Stones own the trace per-stone, and the
Findings cards own the structured-evidence surface.

src/routes/q/[queryId]/+page.svelte
Same swap, plus a $derived findingsData adapter that runs the
new lib/client/cardAdapter.adaptFinalToFindings against the live
FSM final-state + trace tree. Cards re-derive when finalResult
populates; runWallSeconds tracks elapsed time from onMount → onDone.

src/lib/client/cardAdapter.ts (new)
FSM final-state → Findings Card[] mapper. Per-Stone collectors:
Cornerstone: sandy / dep / ida_hwm / prithvi_water / microtopo
Keystone: mta + nycha + doe + doh fold into one register
card; terramind_buildings as raster-pred
Touchstone: floodnet (spark) / nyc311 (histogram) / nws_obs
(scalars) / noaa_tides (scalars) / prithvi_live
(raster-pred) / terramind_lulc (raster-pred)
Lodestone: nws_alerts (tabular) / ttm_forecast (timeseries) /
ttm_battery_surge (timeseries)
Capstone: Mellea grounding-check meta card (always renders)
Each builder returns null when its specialist didn't fire / had
no usable shape — silence over confabulation. Trace tree → per-
Stone StoneTrace via stoneForStep() that maps both single_address
step names and the polygon-aggregated _nta variants.

?grammar=1 toggle: client-only $effect reads window.location, since
adapter-static prerender forbids url.searchParams.

Build verified: `npm run build` emits a clean static bundle, the
prerendered build/q/sample.html contains all 12 fc-{variant} classes,
all 5 Stone names, the Red Hook card titles, and 28 tier-badge nodes
(roughly card count × 2 chrome + footer).

The legacy EvidenceCard / EvidenceGrid / RegisterCard components stay
on disk for the [queryId] route's still-to-port live-streaming
intermediate states — they're no longer mounted anywhere. Removal
is a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files changed (43) hide show
  1. web/sveltekit/build/200.html +14 -14
  2. web/sveltekit/build/_app/immutable/assets/4.BIuIAgmk.css +1 -0
  3. web/sveltekit/build/_app/immutable/assets/4.CPUwsEjs.css +0 -1
  4. web/sveltekit/build/_app/immutable/assets/FindingsRegion.D6bfATou.css +1 -0
  5. web/sveltekit/build/_app/immutable/assets/MapLegend.DvDgr167.css +0 -1
  6. web/sveltekit/build/_app/immutable/chunks/{DwPgZwgo.js → 1oGnrPC6.js} +1 -1
  7. web/sveltekit/build/_app/immutable/chunks/8F5LpR-T.js +1 -0
  8. web/sveltekit/build/_app/immutable/chunks/B7gjWklj.js +0 -1
  9. web/sveltekit/build/_app/immutable/chunks/BLULdth_.js +0 -2
  10. web/sveltekit/build/_app/immutable/chunks/{DO0D806X.js → BPL6dYL1.js} +1 -1
  11. web/sveltekit/build/_app/immutable/chunks/BPaqPo1M.js +0 -27
  12. web/sveltekit/build/_app/immutable/chunks/Bww_RjdA.js +1 -0
  13. web/sveltekit/build/_app/immutable/chunks/CBcGqa-S.js +2 -0
  14. web/sveltekit/build/_app/immutable/chunks/CW0UkEuV.js +0 -2
  15. web/sveltekit/build/_app/immutable/chunks/CYuHyzh3.js +0 -1
  16. web/sveltekit/build/_app/immutable/chunks/CpEmpa3I.js +0 -1
  17. web/sveltekit/build/_app/immutable/chunks/CtphE0zf.js +1 -0
  18. web/sveltekit/build/_app/immutable/chunks/DFFHaukH.js +1 -0
  19. web/sveltekit/build/_app/immutable/chunks/{CdmpEGnB.js → DNaFzQeI.js} +1 -1
  20. web/sveltekit/build/_app/immutable/chunks/DOnKrFbX.js +0 -1
  21. web/sveltekit/build/_app/immutable/chunks/Dlpu43Tj.js +2 -0
  22. web/sveltekit/build/_app/immutable/chunks/DwbuJhNu.js +1 -0
  23. web/sveltekit/build/_app/immutable/chunks/TTdyitJv.js +27 -0
  24. web/sveltekit/build/_app/immutable/chunks/vWNuMvXT.js +0 -1
  25. web/sveltekit/build/_app/immutable/entry/app.NAzo06Kr.js +0 -2
  26. web/sveltekit/build/_app/immutable/entry/app.ccWcazJ_.js +2 -0
  27. web/sveltekit/build/_app/immutable/entry/start.CmPnsLDb.js +0 -1
  28. web/sveltekit/build/_app/immutable/entry/start.DwypF5JZ.js +1 -0
  29. web/sveltekit/build/_app/immutable/nodes/0.B4c3XvjB.js +0 -2
  30. web/sveltekit/build/_app/immutable/nodes/0.CLNNGkkj.js +2 -0
  31. web/sveltekit/build/_app/immutable/nodes/{1.t_9Wbha1.js → 1.DS9Ak1PH.js} +1 -1
  32. web/sveltekit/build/_app/immutable/nodes/{2.DFmLn71L.js → 2.CtcjjzWF.js} +2 -2
  33. web/sveltekit/build/_app/immutable/nodes/{3.DkcKoa0E.js → 3.CIBu62VC.js} +4 -4
  34. web/sveltekit/build/_app/immutable/nodes/4.CApkrJKi.js +0 -1
  35. web/sveltekit/build/_app/immutable/nodes/4.DKy6jurO.js +1 -0
  36. web/sveltekit/build/_app/immutable/nodes/5.BTAkC8wA.js +0 -1
  37. web/sveltekit/build/_app/immutable/nodes/5.bzoVhlKW.js +1 -0
  38. web/sveltekit/build/_app/version.json +1 -1
  39. web/sveltekit/build/index.html +16 -16
  40. web/sveltekit/build/q/sample.html +0 -0
  41. web/sveltekit/src/lib/client/cardAdapter.ts +586 -0
  42. web/sveltekit/src/routes/q/[queryId]/+page.svelte +49 -28
  43. web/sveltekit/src/routes/q/sample/+page.svelte +42 -10
web/sveltekit/build/200.html CHANGED
@@ -6,17 +6,17 @@
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
- <link href="/_app/immutable/entry/start.CmPnsLDb.js" rel="modulepreload">
10
- <link href="/_app/immutable/chunks/DOnKrFbX.js" rel="modulepreload">
11
- <link href="/_app/immutable/chunks/CYuHyzh3.js" rel="modulepreload">
12
- <link href="/_app/immutable/entry/app.NAzo06Kr.js" rel="modulepreload">
13
- <link href="/_app/immutable/chunks/DwPgZwgo.js" rel="modulepreload">
14
- <link href="/_app/immutable/chunks/BLULdth_.js" rel="modulepreload">
15
- <link href="/_app/immutable/chunks/vWNuMvXT.js" rel="modulepreload">
16
- <link href="/_app/immutable/nodes/0.B4c3XvjB.js" rel="modulepreload">
17
- <link href="/_app/immutable/chunks/CdmpEGnB.js" rel="modulepreload">
18
- <link href="/_app/immutable/chunks/DO0D806X.js" rel="modulepreload">
19
- <link href="/_app/immutable/chunks/CpEmpa3I.js" rel="modulepreload">
20
 
21
  <link href="/_app/immutable/assets/0.KpTzaSsX.css" rel="stylesheet">
22
  </head>
@@ -24,15 +24,15 @@
24
  <div style="display: contents">
25
  <script>
26
  {
27
- __sveltekit_yhur1t = {
28
  base: ""
29
  };
30
 
31
  const element = document.currentScript.parentElement;
32
 
33
  Promise.all([
34
- import("/_app/immutable/entry/start.CmPnsLDb.js"),
35
- import("/_app/immutable/entry/app.NAzo06Kr.js")
36
  ]).then(([kit, app]) => {
37
  kit.start(app, element);
38
  });
 
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
+ <link href="/_app/immutable/entry/start.DwypF5JZ.js" rel="modulepreload">
10
+ <link href="/_app/immutable/chunks/Bww_RjdA.js" rel="modulepreload">
11
+ <link href="/_app/immutable/chunks/DwbuJhNu.js" rel="modulepreload">
12
+ <link href="/_app/immutable/entry/app.ccWcazJ_.js" rel="modulepreload">
13
+ <link href="/_app/immutable/chunks/1oGnrPC6.js" rel="modulepreload">
14
+ <link href="/_app/immutable/chunks/Dlpu43Tj.js" rel="modulepreload">
15
+ <link href="/_app/immutable/chunks/8F5LpR-T.js" rel="modulepreload">
16
+ <link href="/_app/immutable/nodes/0.CLNNGkkj.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/DNaFzQeI.js" rel="modulepreload">
18
+ <link href="/_app/immutable/chunks/BPL6dYL1.js" rel="modulepreload">
19
+ <link href="/_app/immutable/chunks/DFFHaukH.js" rel="modulepreload">
20
 
21
  <link href="/_app/immutable/assets/0.KpTzaSsX.css" rel="stylesheet">
22
  </head>
 
24
  <div style="display: contents">
25
  <script>
26
  {
27
+ __sveltekit_1k2uwdb = {
28
  base: ""
29
  };
30
 
31
  const element = document.currentScript.parentElement;
32
 
33
  Promise.all([
34
+ import("/_app/immutable/entry/start.DwypF5JZ.js"),
35
+ import("/_app/immutable/entry/app.ccWcazJ_.js")
36
  ]).then(([kit, app]) => {
37
  kit.start(app, element);
38
  });
web/sveltekit/build/_app/immutable/assets/4.BIuIAgmk.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .plan-details.svelte-1q8jizq{border:1px solid var(--rule-soft);background:var(--paper-deep);margin-bottom:16px}.plan-details.svelte-1q8jizq summary:where(.svelte-1q8jizq){padding:10px 14px;cursor:pointer;font-family:var(--font-mono);font-size:12px;color:var(--ink-secondary)}.plan-stream.svelte-1q8jizq{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);white-space:pre-wrap;padding:0 14px 12px;margin:0;max-height:240px;overflow:auto}.generating-status.svelte-1q8jizq{display:flex;align-items:center;gap:12px;padding:12px 0;font-family:var(--font-mono);font-size:13px;color:var(--ink-secondary);flex-wrap:wrap}.pulse.svelte-1q8jizq{width:8px;height:8px;border-radius:50%;background:var(--accent-graphical);animation:svelte-1q8jizq-pulse 1.4s ease-in-out infinite}@keyframes svelte-1q8jizq-pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.pulse.svelte-1q8jizq{animation:none;opacity:.7}}
web/sveltekit/build/_app/immutable/assets/4.CPUwsEjs.css DELETED
@@ -1 +0,0 @@
1
- .register-grid.svelte-1q8jizq{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:1100px){.register-grid.svelte-1q8jizq{grid-template-columns:1fr 1fr}}.plan-details.svelte-1q8jizq{border:1px solid var(--rule-soft);background:var(--paper-deep);margin-bottom:16px}.plan-details.svelte-1q8jizq summary:where(.svelte-1q8jizq){padding:10px 14px;cursor:pointer;font-family:var(--font-mono);font-size:12px;color:var(--ink-secondary)}.plan-stream.svelte-1q8jizq{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);white-space:pre-wrap;padding:0 14px 12px;margin:0;max-height:240px;overflow:auto}.generating-status.svelte-1q8jizq{display:flex;align-items:center;gap:12px;padding:12px 0;font-family:var(--font-mono);font-size:13px;color:var(--ink-secondary);flex-wrap:wrap}.pulse.svelte-1q8jizq{width:8px;height:8px;border-radius:50%;background:var(--accent-graphical);animation:svelte-1q8jizq-pulse 1.4s ease-in-out infinite}@keyframes svelte-1q8jizq-pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.pulse.svelte-1q8jizq{animation:none;opacity:.7}}
 
 
web/sveltekit/build/_app/immutable/assets/FindingsRegion.D6bfATou.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .citation-drawer.svelte-1p339fd a{color:inherit;border-bottom:1px solid var(--rule-soft);text-decoration:none}.citation-drawer.svelte-1p339fd a:hover{border-bottom-color:var(--accent);color:var(--accent)}.rip-map-container.svelte-wk2bu4{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-frame.svelte-wk2bu4{aspect-ratio:8 / 5.6;position:relative}.rh.svelte-1vuwkv4{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--paper-deep);border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.04em}.rh-item.svelte-1vuwkv4 strong:where(.svelte-1vuwkv4){font-weight:600;color:var(--ink);margin-right:2px}.rh-sep.svelte-1vuwkv4{opacity:.5}.rh-silent.svelte-1vuwkv4{color:var(--ink-tertiary)}.rh-warn.svelte-1vuwkv4{color:#b7791f}.rh-err.svelte-1vuwkv4{color:#b91c1c}.body-headline.svelte-lygj3j{padding:var(--s-3) var(--s-4) var(--s-2);display:flex;flex-direction:column;gap:var(--s-1)}.fc.is-compact .body-headline.svelte-lygj3j{padding:var(--s-2) var(--s-3)}.headline.svelte-lygj3j{font-family:var(--font-serif);font-style:italic;font-size:28px;font-weight:500;line-height:1.1;letter-spacing:-.01em}.fc.is-compact .headline.svelte-lygj3j{font-size:22px}.subhead.svelte-lygj3j{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.04em}.body-prose.svelte-lygj3j{margin:var(--s-2) 0 0;font-size:13px;line-height:1.45;color:var(--ink-secondary)}.body-tabular.svelte-1nlkuao{padding:var(--s-2) var(--s-4) var(--s-3)}.fc.is-compact .body-tabular.svelte-1nlkuao{padding:var(--s-2) var(--s-3)}.t.svelte-1nlkuao{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px}.t.svelte-1nlkuao th:where(.svelte-1nlkuao){text-align:left;font-weight:500;color:var(--ink-tertiary);padding:4px 8px 4px 0;border-bottom:1px solid var(--rule-soft);text-transform:lowercase;letter-spacing:.04em}.t.svelte-1nlkuao td:where(.svelte-1nlkuao){padding:4px 8px 4px 0;border-bottom:1px solid var(--rule-soft);color:var(--ink)}.t.svelte-1nlkuao tr:where(.svelte-1nlkuao):last-child td:where(.svelte-1nlkuao){border-bottom:0}.fc.is-compact .t.svelte-1nlkuao th:where(.svelte-1nlkuao),.fc.is-compact .t.svelte-1nlkuao td:where(.svelte-1nlkuao){padding:2px 6px 2px 0;font-size:11px}.body-sub.svelte-1nlkuao{margin-top:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-scalars.svelte-stf9c8{padding:var(--s-3) var(--s-4) var(--s-3)}.fc.is-compact .body-scalars.svelte-stf9c8{padding:var(--s-2) var(--s-3)}.row.svelte-stf9c8{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--s-3)}.cell.svelte-stf9c8{display:flex;flex-direction:column;gap:2px}.value.svelte-stf9c8{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500;line-height:1.1}.label.svelte-stf9c8{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);letter-spacing:.06em;text-transform:lowercase}.body-sub.svelte-stf9c8{margin-top:var(--s-3);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-spark.svelte-jrppts{padding:var(--s-3) var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:var(--s-1)}.fc.is-compact .body-spark.svelte-jrppts{padding:var(--s-2) var(--s-3)}.headline.svelte-jrppts{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500;line-height:1.1}.subhead.svelte-jrppts{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.04em;margin-bottom:var(--s-1)}svg.svelte-jrppts{display:block}.body-sub.svelte-jrppts{margin-top:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-timeseries.svelte-48vbub{padding:var(--s-3) var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.fc.is-compact .body-timeseries.svelte-48vbub{padding:var(--s-2) var(--s-3)}.ts-header.svelte-48vbub{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s-2)}.headline.svelte-48vbub{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500;line-height:1.1}.subhead.svelte-48vbub{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.04em}svg.svelte-48vbub{display:block}.body-sub.svelte-48vbub{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5;display:flex;flex-direction:column;gap:2px}.spatial-note.svelte-48vbub{color:var(--accent);font-style:italic}.body-forecast.svelte-gqkhpe{padding:var(--s-3) var(--s-4) var(--s-3)}.fc.is-compact .body-forecast.svelte-gqkhpe{padding:var(--s-2) var(--s-3)}svg.svelte-gqkhpe{display:block}.body-sub.svelte-gqkhpe{margin-top:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}svg.svelte-1lx1psy{display:block}.thumb-placeholder.svelte-1lx1psy{height:120px;background:var(--paper-deep);display:flex;align-items:center;justify-content:center;color:var(--ink-tertiary);font-family:var(--font-mono);font-size:11px;border:1px dashed var(--rule-soft)}.body-raster.svelte-1m43x1m{padding:var(--s-2) var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.fc.is-compact .body-raster.svelte-1m43x1m{padding:var(--s-2) var(--s-3)}.frame.svelte-1m43x1m{position:relative;border:1px solid var(--rule-soft)}.illustrative.svelte-1m43x1m{position:absolute;top:6px;right:6px;background:#1a1a1ab3;color:var(--paper);font-family:var(--font-mono);font-size:9px;padding:2px 6px;letter-spacing:.05em;text-transform:lowercase}.raster-headline.svelte-1m43x1m{font-family:var(--font-mono);font-size:12px;color:var(--ink)}.raster-headline.svelte-1m43x1m span:where(.svelte-1m43x1m):first-child{font-family:var(--font-serif);font-style:italic;font-size:18px;font-weight:500}.body-sub.svelte-1m43x1m{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-register.svelte-1iup6im{padding:var(--s-2) var(--s-4) var(--s-3)}.fc.is-compact .body-register.svelte-1iup6im{padding:var(--s-2) var(--s-3)}.reg-list.svelte-1iup6im{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.reg-row.svelte-1iup6im{display:grid;grid-template-columns:70px 1fr auto;gap:var(--s-2);align-items:baseline;padding:5px 0;border-bottom:1px solid var(--rule-soft);font-family:var(--font-mono);font-size:12px;line-height:1.4}.reg-row.svelte-1iup6im:last-child{border-bottom:0}.fc.is-compact .reg-row.svelte-1iup6im{padding:3px 0;font-size:11px}.reg-tag.svelte-1iup6im{display:inline-flex;gap:4px;align-items:center;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.reg-label.svelte-1iup6im{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reg-source.svelte-1iup6im{color:var(--ink-tertiary);font-size:10px;letter-spacing:.05em}.reg-silent.svelte-1iup6im{grid-column:2 / span 2;color:var(--ink-tertiary);font-style:italic}.reg-row.silent.svelte-1iup6im{opacity:.65}.body-sub.svelte-1iup6im{margin-top:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-comparison.svelte-1swqabu{padding:var(--s-3) var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.fc.is-compact .body-comparison.svelte-1swqabu{padding:var(--s-2) var(--s-3)}.cmp-grid.svelte-1swqabu{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s-3);align-items:stretch}.cell.svelte-1swqabu{display:flex;flex-direction:column;gap:4px}.cell-tier.svelte-1swqabu{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);letter-spacing:.05em;text-transform:lowercase}.cell-value.svelte-1swqabu{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500}.cell-aux.svelte-1swqabu{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary)}.divider.svelte-1swqabu{align-self:center;font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-tertiary);padding-top:18px}.cmp-delta.svelte-1swqabu{font-family:var(--font-mono);font-size:11px;color:var(--ink);border-top:1px solid var(--rule-soft);padding-top:var(--s-2)}.body-sub.svelte-1swqabu{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.body-meta.svelte-e40scu{padding:var(--s-2) var(--s-4) var(--s-3)}.fc.is-compact .body-meta.svelte-e40scu{padding:var(--s-2) var(--s-3)}.meta-list.svelte-e40scu{margin:0;display:grid;grid-template-columns:1fr;gap:4px}.meta-row.svelte-e40scu{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:var(--s-3);padding:3px 0;border-bottom:1px solid var(--rule-soft);align-items:baseline}.meta-row.svelte-e40scu:last-child{border-bottom:0}dt.svelte-e40scu{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);text-transform:lowercase;letter-spacing:.04em}dd.svelte-e40scu{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--ink)}.body-sub.svelte-e40scu{margin-top:var(--s-2);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);line-height:1.5}.unknown.svelte-1x6xqhh{padding:var(--s-3) var(--s-4);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary)}.fc.svelte-1nuvnzu{background:var(--paper);border:1px solid var(--rule-soft);display:flex;flex-direction:column;transition:background-color .2s ease,border-color .2s ease,outline-color .2s ease;outline:0 solid transparent;outline-offset:0;color:inherit;text-align:left;font:inherit;padding:0;width:100%}.fc.is-interactive.svelte-1nuvnzu{cursor:pointer}.fc.svelte-1nuvnzu:hover{background:var(--paper-deep)}.fc.is-linked.svelte-1nuvnzu{outline:2px solid var(--accent-graphical);outline-offset:0}.has-illustrative.svelte-1nuvnzu,.fc-tier-synthetic.svelte-1nuvnzu{border-top:1px dashed var(--tier-synthetic-line)}.fc-head.svelte-1nuvnzu{display:flex;justify-content:space-between;align-items:center;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--rule-soft);background:var(--paper-deep)}.fc.is-compact .fc-head.svelte-1nuvnzu{padding:6px var(--s-3)}.fc-head-source.svelte-1nuvnzu{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.fc-head-source-label.svelte-1nuvnzu{cursor:help}.fc-head-vintage.svelte-1nuvnzu{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);letter-spacing:.05em}.fc-title.svelte-1nuvnzu{margin:0;padding:var(--s-3) var(--s-4) 0;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}.fc.is-compact .fc-title.svelte-1nuvnzu{padding:var(--s-2) var(--s-3) 0;font-size:13px}.fc-foot.svelte-1nuvnzu{display:flex;justify-content:space-between;align-items:center;padding:var(--s-2) var(--s-4);border-top:1px solid var(--rule-soft);background:var(--paper-deep);gap:var(--s-3);margin-top:auto}.fc.is-compact .fc-foot.svelte-1nuvnzu{padding:6px var(--s-3)}.fc-foot-cite.svelte-1nuvnzu{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:0;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--accent)}.fc-foot-cite.svelte-1nuvnzu:hover{color:var(--ink)}.fc-foot-docid.svelte-1nuvnzu{text-transform:uppercase}.fc-foot-docid-mute.svelte-1nuvnzu{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);letter-spacing:.05em;text-transform:uppercase}.fc-foot-arrow.svelte-1nuvnzu{font-family:var(--font-mono);font-size:11px}.fc-tier-badge.svelte-1nuvnzu{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.fc-tier-badge-empirical.svelte-1nuvnzu{color:var(--tier-empirical)}.fc-tier-badge-modeled.svelte-1nuvnzu{color:var(--tier-modeled)}.fc-tier-badge-proxy.svelte-1nuvnzu{color:var(--tier-proxy)}.fc-tier-badge-synthetic.svelte-1nuvnzu{color:var(--tier-synthetic)}.tally.svelte-1qqbvs2{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.04em;flex-wrap:wrap}strong.svelte-1qqbvs2{font-weight:600;color:var(--ink)}.silent.svelte-1qqbvs2 strong:where(.svelte-1qqbvs2){color:var(--ink-tertiary)}.warn.svelte-1qqbvs2 strong:where(.svelte-1qqbvs2){color:#b7791f}.err.svelte-1qqbvs2 strong:where(.svelte-1qqbvs2){color:#b91c1c}.sep.svelte-1qqbvs2{color:var(--ink-tertiary);opacity:.6}.prov-tree.svelte-qakefz{list-style:none;margin:0;padding:0;padding-left:calc(var(--depth, 0) * 16px)}.prov-row.svelte-qakefz{display:grid;grid-template-columns:14px max-content max-content 1fr auto;gap:var(--s-2);align-items:baseline;padding:3px 0;font-family:var(--font-mono);font-size:11px;border-bottom:1px dotted var(--rule-soft)}.prov-row.svelte-qakefz:last-child{border-bottom:0}.prov-pip.svelte-qakefz{text-align:center;font-size:10px;line-height:1}.prov-id.svelte-qakefz{color:var(--ink);letter-spacing:.04em;text-transform:lowercase}.prov-tier.svelte-qakefz{display:inline-flex;align-items:center}.prov-name.svelte-qakefz{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--ink)}.prov-note.svelte-qakefz{font-family:var(--font-sans);font-size:12px;color:var(--ink-tertiary)}.prov-ms.svelte-qakefz{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary)}.prov-status-silent.svelte-qakefz .prov-name:where(.svelte-qakefz){color:var(--ink-tertiary)}.prov-status-warn.svelte-qakefz .prov-name:where(.svelte-qakefz){color:#b7791f}.prov-status-error.svelte-qakefz .prov-name:where(.svelte-qakefz){color:#b91c1c}.prov-children.svelte-qakefz{padding:0}.region.svelte-16iv0n8{border-top:1px solid var(--rule-soft);padding:var(--s-5) 0 var(--s-5);background:transparent}.region.svelte-16iv0n8:first-of-type{border-top:0}.region-head.svelte-16iv0n8{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3);flex-wrap:wrap}.region-head-left.svelte-16iv0n8{display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}.region-num.svelte-16iv0n8{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.1em}.region-name.svelte-16iv0n8{margin:0;font-family:var(--font-serif);font-style:italic;font-size:26px;font-weight:500;color:var(--ink);letter-spacing:-.005em;line-height:1.1}.region-role.svelte-16iv0n8{font-family:var(--font-sans);font-size:14px;color:var(--ink-secondary)}.region-tag.svelte-16iv0n8{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.05em;margin-left:var(--s-2)}.rail.svelte-16iv0n8{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s-3)}.rail.svelte-16iv0n8>.fc{grid-column:span 4}.rail.svelte-16iv0n8>.fc.fc-register,.rail.svelte-16iv0n8>.fc.fc-timeseries,.rail.svelte-16iv0n8>.fc.fc-forecast,.rail.svelte-16iv0n8>.fc.fc-raster,.rail.svelte-16iv0n8>.fc.fc-raster-pred,.rail.svelte-16iv0n8>.fc.fc-comparison{grid-column:span 6}.rail-capstone.svelte-16iv0n8>.fc{grid-column:span 6}@media(max-width:920px){.rail.svelte-16iv0n8{grid-template-columns:repeat(6,1fr)}.rail.svelte-16iv0n8>.fc{grid-column:span 6}}.silent.svelte-16iv0n8{border:1px dashed var(--rule-soft);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);background:var(--paper-deep)}.silent-tag.svelte-16iv0n8{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);letter-spacing:.1em;text-transform:uppercase}.silent-prose.svelte-16iv0n8{margin:0;font-size:13px;color:var(--ink-secondary);line-height:1.5;max-width:var(--measure)}.prov.svelte-16iv0n8{margin-top:var(--s-3)}.prov-toggle.svelte-16iv0n8{background:transparent;border:0;padding:4px 0;cursor:pointer;display:inline-flex;align-items:baseline;gap:var(--s-1);font-family:var(--font-mono);font-size:11px;color:var(--ink-secondary);letter-spacing:.05em}.prov-toggle.svelte-16iv0n8:hover{color:var(--ink)}.prov-caret.svelte-16iv0n8{font-size:10px;color:var(--ink-tertiary)}.prov-meta.svelte-16iv0n8{color:var(--ink-tertiary)}.prov-body.svelte-16iv0n8{margin-top:var(--s-2);padding:var(--s-2) 0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}.region-grammar.svelte-gwg123{border-top:2px solid var(--ink);padding:var(--s-5) 0}.region-head.svelte-gwg123{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-3)}.region-head-left.svelte-gwg123{display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}.region-num.svelte-gwg123{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.1em}.region-name.svelte-gwg123{margin:0;font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500}.region-role.svelte-gwg123{font-family:var(--font-sans);font-size:13px;color:var(--ink-secondary)}.region-tag.svelte-gwg123{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.05em}.grammar-count.svelte-gwg123{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary)}.rail.svelte-gwg123{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s-3)}.rail.svelte-gwg123>.fc{grid-column:span 4}.rail.svelte-gwg123>.fc.fc-register,.rail.svelte-gwg123>.fc.fc-timeseries,.rail.svelte-gwg123>.fc.fc-forecast,.rail.svelte-gwg123>.fc.fc-raster,.rail.svelte-gwg123>.fc.fc-raster-pred,.rail.svelte-gwg123>.fc.fc-comparison{grid-column:span 6}@media(max-width:920px){.rail.svelte-gwg123{grid-template-columns:repeat(6,1fr)}.rail.svelte-gwg123>.fc{grid-column:span 6}}.findings.svelte-ci42t5{background:var(--paper);color:var(--ink)}.findings-head.svelte-ci42t5{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3);padding:var(--s-3) 0 var(--s-2)}.findings-h2.svelte-ci42t5{margin:0;font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:500;color:var(--ink)}.findings-tagline.svelte-ci42t5{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.05em}
web/sveltekit/build/_app/immutable/assets/MapLegend.DvDgr167.css DELETED
@@ -1 +0,0 @@
1
- .citation-drawer.svelte-1p339fd a{color:inherit;border-bottom:1px solid var(--rule-soft);text-decoration:none}.citation-drawer.svelte-1p339fd a:hover{border-bottom-color:var(--accent);color:var(--accent)}.rip-map-container.svelte-wk2bu4{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-frame.svelte-wk2bu4{aspect-ratio:8 / 5.6;position:relative}
 
 
web/sveltekit/build/_app/immutable/chunks/{DwPgZwgo.js → 1oGnrPC6.js} RENAMED
@@ -1 +1 @@
1
- import{b as v,d as p,g as y,u as k,h as P,D as R,S as g}from"./CYuHyzh3.js";function w(n,i){return n===i||(n==null?void 0:n[g])===i}function A(n={},i,a,E){var u=v.r,h=P;return p(()=>{var s,e;return y(()=>{s=e,e=[],k(()=>{n!==a(...e)&&(i(n,...e),s&&w(a(...s),n)&&i(null,...s))})}),()=>{let r=h;for(;r!==u&&r.parent!==null&&r.parent.f&R;)r=r.parent;const d=()=>{e&&w(a(...e),n)&&i(null,...e)},t=r.teardown;r.teardown=()=>{d(),t==null||t()}}}),n}const L="modulepreload",B=function(n,i){return new URL(n,i).href},S={},C=function(i,a,E){let u=Promise.resolve();if(a&&a.length>0){let s=function(t){return Promise.all(t.map(c=>Promise.resolve(c).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};const e=document.getElementsByTagName("link"),r=document.querySelector("meta[property=csp-nonce]"),d=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));u=s(a.map(t=>{if(t=B(t,E),t in S)return;S[t]=!0;const c=t.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(!!E)for(let f=e.length-1;f>=0;f--){const m=e[f];if(m.href===t&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=c?"stylesheet":L,c||(o.as="script"),o.crossOrigin="",o.href=t,d&&o.setAttribute("nonce",d),document.head.appendChild(o),c)return new Promise((f,m)=>{o.addEventListener("load",f),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(s){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=s,window.dispatchEvent(e),!e.defaultPrevented)throw s}return u.then(s=>{for(const e of s||[])e.status==="rejected"&&h(e.reason);return i().catch(h)})};export{C as _,A as b};
 
1
+ import{b as v,d as p,g as y,u as k,h as P,D as R,S as g}from"./DwbuJhNu.js";function w(n,i){return n===i||(n==null?void 0:n[g])===i}function A(n={},i,a,E){var u=v.r,h=P;return p(()=>{var s,e;return y(()=>{s=e,e=[],k(()=>{n!==a(...e)&&(i(n,...e),s&&w(a(...s),n)&&i(null,...s))})}),()=>{let r=h;for(;r!==u&&r.parent!==null&&r.parent.f&R;)r=r.parent;const d=()=>{e&&w(a(...e),n)&&i(null,...e)},t=r.teardown;r.teardown=()=>{d(),t==null||t()}}}),n}const L="modulepreload",B=function(n,i){return new URL(n,i).href},S={},C=function(i,a,E){let u=Promise.resolve();if(a&&a.length>0){let s=function(t){return Promise.all(t.map(c=>Promise.resolve(c).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};const e=document.getElementsByTagName("link"),r=document.querySelector("meta[property=csp-nonce]"),d=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));u=s(a.map(t=>{if(t=B(t,E),t in S)return;S[t]=!0;const c=t.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(!!E)for(let f=e.length-1;f>=0;f--){const m=e[f];if(m.href===t&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=c?"stylesheet":L,c||(o.as="script"),o.crossOrigin="",o.href=t,d&&o.setAttribute("nonce",d),document.head.appendChild(o),c)return new Promise((f,m)=>{o.addEventListener("load",f),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(s){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=s,window.dispatchEvent(e),!e.defaultPrevented)throw s}return u.then(s=>{for(const e of s||[])e.status==="rejected"&&h(e.reason);return i().catch(h)})};export{C as _,A as b};
web/sveltekit/build/_app/immutable/chunks/8F5LpR-T.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var $=Object.defineProperty;var L=s=>{throw TypeError(s)};var G=(s,e,t)=>e in s?$(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var k=(s,e,t)=>G(s,typeof e!="symbol"?e+"":e,t),N=(s,e,t)=>e.has(s)||L("Cannot "+t);var a=(s,e,t)=>(N(s,e,"read from private field"),t?t.call(s):e.get(s)),g=(s,e,t)=>e.has(s)?L("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Y=(s,e,t,r)=>(N(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);import{M as Q,N as O,O as V,w as x,P as F,n as W,q as M,B as C,Q as X,R as j,i as H,T as J,E as K,U as ee,V as te,A as se,z as U,W as ae,X as re,Y as ie,k as y,L as ne,l as fe,Z as ce,h as ue,_ as de,a0 as he,u as oe,a1 as _e,a2 as le,a3 as ve,a4 as ge,a5 as be,a6 as me,S as Se,a7 as Pe}from"./DwbuJhNu.js";let I=!1;function Ae(s){var e=I;try{return I=!1,[s(),I]}finally{I=e}}var o,l,h,b,A,E,R;class Ee{constructor(e,t=!0){k(this,"anchor");g(this,o,new Map);g(this,l,new Map);g(this,h,new Map);g(this,b,new Set);g(this,A,!0);g(this,E,e=>{if(a(this,o).has(e)){var t=a(this,o).get(e),r=a(this,l).get(t);if(r)Q(r),a(this,b).delete(t);else{var n=a(this,h).get(t);n&&(a(this,l).set(t,n.effect),a(this,h).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),r=n.effect)}for(const[f,c]of a(this,o)){if(a(this,o).delete(f),f===e)break;const i=a(this,h).get(c);i&&(O(i.effect),a(this,h).delete(c))}for(const[f,c]of a(this,l)){if(f===t||a(this,b).has(f))continue;const i=()=>{if(Array.from(a(this,o).values()).includes(f)){var _=document.createDocumentFragment();X(c,_),_.append(x()),a(this,h).set(f,{effect:c,fragment:_})}else O(c);a(this,b).delete(f),a(this,l).delete(f)};a(this,A)||!r?(a(this,b).add(f),V(c,i,!1)):i()}}});g(this,R,e=>{a(this,o).delete(e);const t=Array.from(a(this,o).values());for(const[r,n]of a(this,h))t.includes(r)||(O(n.effect),a(this,h).delete(r))});this.anchor=e,Y(this,A,t)}ensure(e,t){var r=W,n=j();if(t&&!a(this,l).has(e)&&!a(this,h).has(e))if(n){var f=document.createDocumentFragment(),c=x();f.append(c),a(this,h).set(e,{effect:F(()=>t(c)),fragment:f})}else a(this,l).set(e,F(()=>t(this.anchor)));if(a(this,o).set(r,e),n){for(const[i,u]of a(this,l))i===e?r.unskip_effect(u):r.skip_effect(u);for(const[i,u]of a(this,h))i===e?r.unskip_effect(u.effect):r.skip_effect(u.effect);r.oncommit(a(this,E)),r.ondiscard(a(this,R))}else M&&(this.anchor=C),a(this,E).call(this,r)}}o=new WeakMap,l=new WeakMap,h=new WeakMap,b=new WeakMap,A=new WeakMap,E=new WeakMap,R=new WeakMap;function Re(s,e,t=!1){var r;M&&(r=C,J());var n=new Ee(s),f=t?K:0;function c(i,u){if(M){var _=ee(r);if(i!==parseInt(_.substring(1))){var v=te();se(v),n.anchor=v,U(!1),n.ensure(i,u),U(!0);return}}n.ensure(i,u)}H(()=>{var i=!1;e((u,_=0)=>{i=!0,c(_,u)}),i||c(-1,null)},f)}function Te(s,e,t,r){var B;var n=!_e||(t&le)!==0,f=(t&he)!==0,c=(t&me)!==0,i=r,u=!0,_=()=>(u&&(u=!1,i=c?oe(r):r),i);let v;if(f){var q=Se in s||Pe in s;v=((B=ae(s,e))==null?void 0:B.set)??(q&&e in s?d=>s[e]=d:void 0)}var S,w=!1;f?[S,w]=Ae(()=>s[e]):S=s[e],S===void 0&&r!==void 0&&(S=_(),v&&(n&&re(),v(S)));var m;if(n?m=()=>{var d=s[e];return d===void 0?_():(u=!0,d)}:m=()=>{var d=s[e];return d!==void 0&&(i=void 0),d===void 0?i:d},n&&(t&ie)===0)return m;if(v){var z=s.$$legacy;return(function(d,p){return arguments.length>0?((!n||!p||z||w)&&v(p?m():d),d):m()})}var T=!1,P=((t&ve)!==0?ge:be)(()=>(T=!1,m()));f&&y(P);var Z=ue;return(function(d,p){if(arguments.length>0){const D=p?y(P):n&&f?ne(d):d;return fe(P,D),T=!0,i!==void 0&&(i=D),d}return ce&&T||(Z.f&de)!==0?P.v:y(P)})}export{Ee as B,Re as i,Te as p};
web/sveltekit/build/_app/immutable/chunks/B7gjWklj.js DELETED
@@ -1 +0,0 @@
1
- import{m as z,i as oe,n as fe,o as C,q as Y,v as le,w as ue,k as W,x as te,H as de,y as Z,z as B,A as y,C as ce,B as ve,F as $,G as _e,I as m,J as q,K as pe,L as ge,M as he,N as Ee,O as K,P as Ae,Q as Te,R as me,T as j,U as Se,V as Ne,W as ae,X as ie,Y as U,Z as se,_ as Ie,$ as we,a0 as Me,a1 as Ce,a2 as ke,a3 as Le,a4 as Re,a5 as He,a6 as Oe,a7 as xe,a8 as De,a9 as be}from"./CYuHyzh3.js";function Ve(e,r){return r}function Fe(e,r,f){for(var o=[],l=r.length,u,a=r.length,_=0;_<l;_++){let E=r[_];ie(E,()=>{if(u){if(u.pending.delete(E),u.done.add(E),u.pending.size===0){var d=e.outrogroups;G(e,K(u.done)),d.delete(u),d.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var s=o.length===0&&f!==null;if(s){var v=f,i=v.parentNode;Me(i),i.append(v),e.items.clear()}G(e,r,!s)}else u={pending:new Set(r),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(u)}function G(e,r,f=!0){var o;if(e.pending.size>0){o=new Set;for(const a of e.pending.values())for(const _ of a)o.add(e.items.get(_).e)}for(var l=0;l<r.length;l++){var u=r[l];if(o!=null&&o.has(u)){u.f|=m;const a=document.createDocumentFragment();Ce(u,a)}else ke(r[l],f)}}var ee;function Xe(e,r,f,o,l,u=null){var a=e,_=new Map,s=(r&fe)!==0;if(s){var v=e;a=C?Y(le(v)):v.appendChild(z())}C&&ue();var i=null,E=he(()=>{var c=f();return Ee(c)?c:c==null?[]:K(c)}),d,A=new Map,T=!0;function k(c){(N.effect.f&Ne)===0&&(N.pending.delete(c),N.fallback=i,ye(N,d,a,r,o),i!==null&&(d.length===0?(i.f&m)===0?ae(i):(i.f^=m,x(i,null,a)):ie(i,()=>{i=null})))}function n(c){N.pending.delete(c)}var t=oe(()=>{d=W(E);var c=d.length;let g=!1;if(C){var D=te(a)===de;D!==(c===0)&&(a=Z(),Y(a),B(!1),g=!0)}for(var I=new Set,p=_e,R=ge(),w=0;w<c;w+=1){C&&y.nodeType===ce&&y.data===ve&&(a=y,g=!0,B(!1));var H=d[w],L=o(H,w),h=T?null:_.get(L);h?(h.v&&$(h.v,H),h.i&&$(h.i,w),R&&p.unskip_effect(h.e)):(h=ze(_,T?a:ee??(ee=z()),H,L,w,l,r,f),T||(h.e.f|=m),_.set(L,h)),I.add(L)}if(c===0&&u&&!i&&(T?i=q(()=>u(a)):(i=q(()=>u(ee??(ee=z()))),i.f|=m)),c>I.size&&pe(),C&&c>0&&Y(Z()),!T)if(A.set(p,I),R){for(const[b,F]of _)I.has(b)||p.skip_effect(F.e);p.oncommit(k),p.ondiscard(n)}else k(p);g&&B(!0),W(E)}),N={effect:t,items:_,pending:A,outrogroups:null,fallback:i};T=!1,C&&(a=y)}function O(e){for(;e!==null&&(e.f&Ie)===0;)e=e.next;return e}function ye(e,r,f,o,l){var H,L,h,b,F,V,X,P,J;var u=(o&we)!==0,a=r.length,_=e.items,s=O(e.effect.first),v,i=null,E,d=[],A=[],T,k,n,t;if(u)for(t=0;t<a;t+=1)T=r[t],k=l(T,t),n=_.get(k).e,(n.f&m)===0&&((L=(H=n.nodes)==null?void 0:H.a)==null||L.measure(),(E??(E=new Set)).add(n));for(t=0;t<a;t+=1){if(T=r[t],k=l(T,t),n=_.get(k).e,e.outrogroups!==null)for(const S of e.outrogroups)S.pending.delete(n),S.done.delete(n);if((n.f&U)!==0&&(ae(n),u&&((b=(h=n.nodes)==null?void 0:h.a)==null||b.unfix(),(E??(E=new Set)).delete(n))),(n.f&m)!==0)if(n.f^=m,n===s)x(n,null,f);else{var N=i?i.next:s;n===e.effect.last&&(e.effect.last=n.prev),n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),M(e,i,n),M(e,n,N),x(n,N,f),i=n,d=[],A=[],s=O(i.next);continue}if(n!==s){if(v!==void 0&&v.has(n)){if(d.length<A.length){var c=A[0],g;i=c.prev;var D=d[0],I=d[d.length-1];for(g=0;g<d.length;g+=1)x(d[g],c,f);for(g=0;g<A.length;g+=1)v.delete(A[g]);M(e,D.prev,I.next),M(e,i,D),M(e,I,c),s=c,i=I,t-=1,d=[],A=[]}else v.delete(n),x(n,s,f),M(e,n.prev,n.next),M(e,n,i===null?e.effect.first:i.next),M(e,i,n),i=n;continue}for(d=[],A=[];s!==null&&s!==n;)(v??(v=new Set)).add(s),A.push(s),s=O(s.next);if(s===null)continue}(n.f&m)===0&&d.push(n),i=n,s=O(n.next)}if(e.outrogroups!==null){for(const S of e.outrogroups)S.pending.size===0&&(G(e,K(S.done)),(F=e.outrogroups)==null||F.delete(S));e.outrogroups.size===0&&(e.outrogroups=null)}if(s!==null||v!==void 0){var p=[];if(v!==void 0)for(n of v)(n.f&U)===0&&p.push(n);for(;s!==null;)(s.f&U)===0&&s!==e.fallback&&p.push(s),s=O(s.next);var R=p.length;if(R>0){var w=(o&fe)!==0&&a===0?f:null;if(u){for(t=0;t<R;t+=1)(X=(V=p[t].nodes)==null?void 0:V.a)==null||X.measure();for(t=0;t<R;t+=1)(J=(P=p[t].nodes)==null?void 0:P.a)==null||J.fix()}Fe(e,p,w)}}u&&se(()=>{var S,Q;if(E!==void 0)for(n of E)(Q=(S=n.nodes)==null?void 0:S.a)==null||Q.apply()})}function ze(e,r,f,o,l,u,a,_){var s=(a&Ae)!==0?(a&Te)===0?me(f,!1,!1):j(f):null,v=(a&Se)!==0?j(l):null;return{v:s,i:v,e:q(()=>(u(r,s??f,v??l,_),()=>{e.delete(o)}))}}function x(e,r,f){if(e.nodes)for(var o=e.nodes.start,l=e.nodes.end,u=r&&(r.f&m)===0?r.nodes.start:f;o!==null;){var a=Le(o);if(u.before(o),o===l)return;o=a}}function M(e,r,f){r===null?e.effect.first=f:r.next=f,f===null?e.effect.last=r:f.prev=r}const Ye=Symbol("is custom element"),Be=Symbol("is html"),Ue=xe?"link":"LINK";function Pe(e){if(C){var r=!1,f=()=>{if(!r){if(r=!0,e.hasAttribute("value")){var o=e.value;re(e,"value",null),e.value=o}if(e.hasAttribute("checked")){var l=e.checked;re(e,"checked",null),e.checked=l}}};e.__on_r=f,se(f),Re()}}function re(e,r,f,o){var l=qe(e);C&&(l[r]=e.getAttribute(r),r==="src"||r==="srcset"||r==="href"&&e.nodeName===Ue)||l[r]!==(l[r]=f)&&(r==="loading"&&(e[He]=f),f==null?e.removeAttribute(r):typeof f!="string"&&Ge(e).includes(r)?e[r]=f:e.setAttribute(r,f))}function qe(e){return e.__attributes??(e.__attributes={[Ye]:e.nodeName.includes("-"),[Be]:e.namespaceURI===Oe})}var ne=new Map;function Ge(e){var r=e.getAttribute("is")||e.nodeName,f=ne.get(r);if(f)return f;ne.set(r,f=[]);for(var o,l=e,u=Element.prototype;u!==l;){o=be(l);for(var a in o)o[a].set&&f.push(a);l=De(l)}return f}export{Xe as e,Ve as i,Pe as r,re as s};
 
 
web/sveltekit/build/_app/immutable/chunks/BLULdth_.js DELETED
@@ -1,2 +0,0 @@
1
- var Be=Object.defineProperty;var me=t=>{throw TypeError(t)};var We=(t,e,r)=>e in t?Be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var j=(t,e,r)=>We(t,typeof e!="symbol"?e+"":e,r),ne=(t,e,r)=>e.has(t)||me("Cannot "+r);var s=(t,e,r)=>(ne(t,e,"read from private field"),r?r.call(t):e.get(t)),c=(t,e,r)=>e.has(t)?me("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),o=(t,e,r,a)=>(ne(t,e,"write to private field"),a?a.call(t,r):e.set(t,r),r),_=(t,e,r)=>(ne(t,e,"access private method"),r);import{aA as $e,k as Se,g as Ve,u as Ye,aB as ye,Z as q,T as Ae,A as v,o as S,h as C,aC as Te,i as qe,w as Oe,H as Ue,aD as Ee,J as x,m as U,X as fe,G as B,a1 as ze,aE as Ge,aF as re,aG as se,aH as we,aI as Je,aJ as Xe,aK as De,b as Me,F as je,a2 as oe,q as z,ac as Ze,y as Ke,aL as Z,E as Qe,ae as et,aM as tt,aN as rt,aO as st,aP as it,ax as at,aQ as nt,v as F,aR as ft,aS as ke,aT as ot,aU as ht,aV as lt,aW as ut,aX as le,C as Fe,av as dt,a3 as ct,aY as ue,z as K,aZ as _t,a0 as pt,a_ as vt,O as gt,p as mt,B as yt,a$ as Tt,a as Et}from"./CYuHyzh3.js";function wt(t){let e=0,r=Ae(0),a;return()=>{$e()&&(Se(r),Ve(()=>(e===0&&(a=Ye(()=>t(()=>ye(r)))),e+=1,()=>{q(()=>{e-=1,e===0&&(a==null||a(),a=void 0,ye(r))})})))}}var bt=Qe|et;function Nt(t,e,r,a){new Rt(t,e,r,a)}var w,G,N,$,m,R,p,b,O,V,L,Y,J,X,D,ie,h,Le,Ce,Ie,de,ee,te,ce,_e;class Rt{constructor(e,r,a,f){c(this,h);j(this,"parent");j(this,"is_pending",!1);j(this,"transform_error");c(this,w);c(this,G,S?v:null);c(this,N);c(this,$);c(this,m);c(this,R,null);c(this,p,null);c(this,b,null);c(this,O,null);c(this,V,0);c(this,L,0);c(this,Y,!1);c(this,J,new Set);c(this,X,new Set);c(this,D,null);c(this,ie,wt(()=>(o(this,D,Ae(s(this,V))),()=>{o(this,D,null)})));var i;o(this,w,e),o(this,N,r),o(this,$,n=>{var d=C;d.b=this,d.f|=Te,a(n)}),this.parent=C.b,this.transform_error=f??((i=this.parent)==null?void 0:i.transform_error)??(n=>n),o(this,m,qe(()=>{if(S){const n=s(this,G);Oe();const d=n.data===Ue;if(n.data.startsWith(Ee)){const u=JSON.parse(n.data.slice(Ee.length));_(this,h,Ce).call(this,u)}else d?_(this,h,Ie).call(this):_(this,h,Le).call(this)}else _(this,h,de).call(this)},bt)),S&&o(this,w,v)}defer_effect(e){Ge(e,s(this,J),s(this,X))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,N).pending}update_pending_count(e,r){_(this,h,ce).call(this,e,r),o(this,V,s(this,V)+e),!(!s(this,D)||s(this,Y))&&(o(this,Y,!0),q(()=>{o(this,Y,!1),s(this,D)&&je(s(this,D),s(this,V))}))}get_effect_pending(){return s(this,ie).call(this),Se(s(this,D))}error(e){var r;if(!s(this,N).onerror&&!s(this,N).failed)throw e;(r=B)!=null&&r.is_fork?(s(this,R)&&B.skip_effect(s(this,R)),s(this,p)&&B.skip_effect(s(this,p)),s(this,b)&&B.skip_effect(s(this,b)),B.on_fork_commit(()=>{_(this,h,_e).call(this,e)})):_(this,h,_e).call(this,e)}}w=new WeakMap,G=new WeakMap,N=new WeakMap,$=new WeakMap,m=new WeakMap,R=new WeakMap,p=new WeakMap,b=new WeakMap,O=new WeakMap,V=new WeakMap,L=new WeakMap,Y=new WeakMap,J=new WeakMap,X=new WeakMap,D=new WeakMap,ie=new WeakMap,h=new WeakSet,Le=function(){try{o(this,R,x(()=>s(this,$).call(this,s(this,w))))}catch(e){this.error(e)}},Ce=function(e){const r=s(this,N).failed;r&&o(this,b,x(()=>{r(s(this,w),()=>e,()=>()=>{})}))},Ie=function(){const e=s(this,N).pending;e&&(this.is_pending=!0,o(this,p,x(()=>e(s(this,w)))),q(()=>{var r=o(this,O,document.createDocumentFragment()),a=U();r.append(a),o(this,R,_(this,h,te).call(this,()=>x(()=>s(this,$).call(this,a)))),s(this,L)===0&&(s(this,w).before(r),o(this,O,null),fe(s(this,p),()=>{o(this,p,null)}),_(this,h,ee).call(this,B))}))},de=function(){try{if(this.is_pending=this.has_pending_snippet(),o(this,L,0),o(this,V,0),o(this,R,x(()=>{s(this,$).call(this,s(this,w))})),s(this,L)>0){var e=o(this,O,document.createDocumentFragment());ze(s(this,R),e);const r=s(this,N).pending;o(this,p,x(()=>r(s(this,w))))}else _(this,h,ee).call(this,B)}catch(r){this.error(r)}},ee=function(e){this.is_pending=!1,e.transfer_effects(s(this,J),s(this,X))},te=function(e){var r=C,a=De,f=Me;re(s(this,m)),se(s(this,m)),we(s(this,m).ctx);try{return Je.ensure(),e()}catch(i){return Xe(i),null}finally{re(r),se(a),we(f)}},ce=function(e,r){var a;if(!this.has_pending_snippet()){this.parent&&_(a=this.parent,h,ce).call(a,e,r);return}o(this,L,s(this,L)+e),s(this,L)===0&&(_(this,h,ee).call(this,r),s(this,p)&&fe(s(this,p),()=>{o(this,p,null)}),s(this,O)&&(s(this,w).before(s(this,O)),o(this,O,null)))},_e=function(e){s(this,R)&&(oe(s(this,R)),o(this,R,null)),s(this,p)&&(oe(s(this,p)),o(this,p,null)),s(this,b)&&(oe(s(this,b)),o(this,b,null)),S&&(z(s(this,G)),Ze(),z(Ke()));var r=s(this,N).onerror;let a=s(this,N).failed;var f=!1,i=!1;const n=()=>{if(f){rt();return}f=!0,i&&tt(),s(this,b)!==null&&fe(s(this,b),()=>{o(this,b,null)}),_(this,h,te).call(this,()=>{_(this,h,de).call(this)})},d=l=>{try{i=!0,r==null||r(l,n),i=!1}catch(u){Z(u,s(this,m)&&s(this,m).parent)}a&&o(this,b,_(this,h,te).call(this,()=>{try{return x(()=>{var u=C;u.b=this,u.f|=Te,a(s(this,w),()=>l,()=>n)})}catch(u){return Z(u,s(this,m).parent),null}}))};q(()=>{var l;try{l=this.transform_error(e)}catch(u){Z(u,s(this,m)&&s(this,m).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(d,u=>Z(u,s(this,m)&&s(this,m).parent)):d(l)})};const St=["touchstart","touchmove"];function At(t){return St.includes(t)}const W=Symbol("events"),He=new Set,pe=new Set;function Ot(t,e,r,a={}){function f(i){if(a.capture||ve.call(e,i),!i.cancelBubble)return it(()=>r==null?void 0:r.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?q(()=>{e.addEventListener(t,f,a)}):e.addEventListener(t,f,a),f}function It(t,e,r,a,f){var i={capture:a,passive:f},n=Ot(t,e,r,i);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&st(()=>{e.removeEventListener(t,n,i)})}function Ht(t,e,r){(e[W]??(e[W]={}))[t]=r}function Pt(t){for(var e=0;e<t.length;e++)He.add(t[e]);for(var r of pe)r(t)}let be=null;function ve(t){var H,E;var e=this,r=e.ownerDocument,a=t.type,f=((H=t.composedPath)==null?void 0:H.call(t))||[],i=f[0]||t.target;be=t;var n=0,d=be===t&&t[W];if(d){var l=f.indexOf(d);if(l!==-1&&(e===document||e===window)){t[W]=e;return}var u=f.indexOf(e);if(u===-1)return;l<=u&&(n=l)}if(i=f[n]||t.target,i!==e){at(t,"currentTarget",{configurable:!0,get(){return i||r}});var M=De,I=C;se(null),re(null);try{for(var k,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var T=(E=i[W])==null?void 0:E[a];T!=null&&(!i.disabled||t.target===i)&&T.call(i,t)}catch(P){k?y.push(P):k=P}if(t.cancelBubble||g===e||g===null)break;i=g}if(k){for(let P of y)queueMicrotask(()=>{throw P});throw k}}finally{t[W]=e,delete t.currentTarget,se(M),re(I)}}}var Ne;const he=((Ne=globalThis==null?void 0:globalThis.window)==null?void 0:Ne.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Dt(t){return(he==null?void 0:he.createHTML(t))??t}function Pe(t){var e=nt("template");return e.innerHTML=Dt(t.replaceAll("<!>","<!---->")),e.content}function A(t,e){var r=C;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function xt(t,e){var r=(e&ke)!==0,a=(e&ot)!==0,f,i=!t.startsWith("<!>");return()=>{if(S)return A(v,null),v;f===void 0&&(f=Pe(i?t:"<!>"+t),r||(f=F(f)));var n=a||ft?document.importNode(f,!0):f.cloneNode(!0);if(r){var d=F(n),l=n.lastChild;A(d,l)}else A(n,n);return n}}function Mt(t,e,r="svg"){var a=!t.startsWith("<!>"),f=(e&ke)!==0,i=`<${r}>${a?t:"<!>"+t}</${r}>`,n;return()=>{if(S)return A(v,null),v;if(!n){var d=Pe(i),l=F(d);if(f)for(n=document.createDocumentFragment();F(l);)n.appendChild(F(l));else n=F(l)}var u=n.cloneNode(!0);if(f){var M=F(u),I=u.lastChild;A(M,I)}else A(u,u);return u}}function Bt(t,e){return Mt(t,e,"svg")}function Wt(t=""){if(!S){var e=U(t+"");return A(e,e),e}var r=v;return r.nodeType!==lt?(r.before(r=U()),z(r)):ut(r),A(r,r),r}function $t(){if(S)return A(v,null),v;var t=document.createDocumentFragment(),e=document.createComment(""),r=U();return t.append(e,r),A(e,r),t}function Vt(t,e){if(S){var r=C;((r.f&ht)===0||r.nodes.end===null)&&(r.nodes.end=v),Oe();return}t!==null&&t.before(e)}function Yt(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=`${r}`)}function kt(t,e){return xe(t,e)}function qt(t,e){le(),e.intro=e.intro??!1;const r=e.target,a=S,f=v;try{for(var i=F(r);i&&(i.nodeType!==Fe||i.data!==dt);)i=ct(i);if(!i)throw ue;K(!0),z(i);const n=xe(t,{...e,anchor:i});return K(!1),n}catch(n){if(n instanceof Error&&n.message.split(`
2
- `).some(d=>d.startsWith("https://svelte.dev/e/")))throw n;return n!==ue&&console.warn("Failed to hydrate: ",n),e.recover===!1&&_t(),le(),pt(r),K(!1),kt(t,e)}finally{K(a),z(f)}}const Q=new Map;function xe(t,{target:e,anchor:r,props:a={},events:f,context:i,intro:n=!0,transformError:d}){le();var l=void 0,u=vt(()=>{var M=r??e.appendChild(U());Nt(M,{pending:()=>{}},y=>{mt({});var g=Me;if(i&&(g.c=i),f&&(a.$$events=f),S&&A(y,null),l=t(y,a)||{},S&&(C.nodes.end=v,v===null||v.nodeType!==Fe||v.data!==yt))throw Tt(),ue;Et()},d);var I=new Set,k=y=>{for(var g=0;g<y.length;g++){var T=y[g];if(!I.has(T)){I.add(T);var H=At(T);for(const ae of[e,document]){var E=Q.get(ae);E===void 0&&(E=new Map,Q.set(ae,E));var P=E.get(T);P===void 0?(ae.addEventListener(T,ve,{passive:H}),E.set(T,1)):E.set(T,P+1)}}}};return k(gt(He)),pe.add(k),()=>{var H;for(var y of I)for(const E of[e,document]){var g=Q.get(E),T=g.get(y);--T==0?(E.removeEventListener(y,ve),g.delete(y),g.size===0&&Q.delete(E)):g.set(y,T)}pe.delete(k),M!==r&&((H=M.parentNode)==null||H.removeChild(M))}});return ge.set(l,u),l}let ge=new WeakMap;function Ut(t,e){const r=ge.get(t);return r?(ge.delete(t),r(e)):Promise.resolve()}const Ft="5";var Re;typeof window<"u"&&((Re=window.__svelte??(window.__svelte={})).v??(Re.v=new Set)).add(Ft);export{Vt as a,Ht as b,$t as c,Pt as d,It as e,xt as f,Bt as g,qt as h,A as i,kt as m,Yt as s,Wt as t,Ut as u};
 
 
 
web/sveltekit/build/_app/immutable/chunks/{DO0D806X.js → BPL6dYL1.js} RENAMED
@@ -1 +1 @@
1
- import{s as e,p as r}from"./DOnKrFbX.js";const t={get error(){return r.error},get params(){return r.params},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p};
 
1
+ import{s as e,p as r}from"./Bww_RjdA.js";const t={get error(){return r.error},get params(){return r.params},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p};
web/sveltekit/build/_app/immutable/chunks/BPaqPo1M.js DELETED
@@ -1,27 +0,0 @@
1
- import{a as y,f as w,s as v,t as Re,c as ue,g as ve,d as pe,b as ne}from"./BLULdth_.js";import{p as ae,t as C,a as re,s as n,c as i,r,ac as ge,k as t,ah as L,f as oe,j as ee,am as je,l as $,az as Z,af as Ne,b0 as ze}from"./CYuHyzh3.js";import{i as j,p as de}from"./vWNuMvXT.js";import{e as ye,s as V}from"./B7gjWklj.js";import{T as he,s as te,c as De,b as me,a as xe}from"./CW0UkEuV.js";import{b as Ye,_ as qe}from"./DwPgZwgo.js";var Ue=w('<a target="_blank" rel="noopener noreferrer"> </a>'),Ge=w('<li><span class="citation-num"> </span> <div class="citation-body"><div class="citation-line-1"><!> <span class="citation-source"> </span> <span class="citation-vintage"> </span></div> <div class="citation-title"><!></div> <div class="citation-meta"><span class="citation-docid"> </span> <span class="citation-retrieved"> </span></div></div></li>'),Ve=w(`<aside class="citation-drawer svelte-1p339fd" aria-label="Citations"><div class="citation-drawer-head"><span class="section-label"> </span> <span class="citation-drawer-meta">live · primary sources</span></div> <ol class="citation-list"></ol> <div class="citation-drawer-foot"><span class="section-label">Trust signals</span> <p class="citation-foot-copy">All foundation models Apache-2.0. All data from public-record federal,
2
- state, and city sources. No commercial APIs contacted at runtime.</p></div></aside>`);function kt(F,e){ae(e,!0);let o=L(()=>Object.values(e.citations).sort((l,s)=>l.n-s.n));var g=Ve(),a=i(g),m=i(a),T=i(m);r(m),ge(2),r(a);var c=n(a,2);ye(c,21,()=>t(o),l=>l.id,(l,s)=>{var d=Ge();let h;var p=i(d),k=i(p);r(p);var x=n(p,2),_=i(x),I=i(_);he(I,{get tier(){return t(s).tier},size:10,get color(){return`var(--tier-${t(s).tier??""})`}});var P=n(I,2),M=i(P,!0);r(P);var A=n(P,2),N=i(A);r(A),r(_);var R=n(_,2),D=i(R);{var O=H=>{var Y=Ue(),ie=i(Y,!0);r(Y),C(()=>{V(Y,"href",t(s).url),v(ie,t(s).title)}),y(H,Y)},U=L(()=>t(s).url&&t(s).url.startsWith("http")),W=H=>{var Y=Re();C(()=>v(Y,t(s).title)),y(H,Y)};j(D,H=>{t(U)?H(O):H(W,-1)})}r(R);var G=n(R,2),f=i(G),E=i(f,!0);r(f);var z=n(f,2),K=i(z);r(z),r(G),r(x),r(d),C(()=>{V(d,"id",`cite-${t(s).id??""}`),h=te(d,1,"citation-item",null,h,{"is-active":De.active===t(s).id}),v(k,`[${t(s).n??""}]`),v(M,t(s).source),v(N,`v. ${t(s).vintage??""}`),v(E,t(s).docId),v(K,`retr. ${t(s).retrieved??""}`)}),y(l,d)}),r(c),ge(2),r(g),C(()=>v(T,`Citations · ${t(o).length??""}`)),y(F,g),re()}var We=w('<span class="trace-status-glyph" aria-label="fan-out">⤳</span>'),He=w('<span class="trace-status-glyph" aria-label="merge">⤺</span>'),Je=ve('<svg width="9" height="9" viewBox="0 0 9 9" aria-label="silent"><rect x="0.75" y="0.75" width="7.5" height="7.5" fill="transparent" stroke="#6B6B6B" stroke-width="1.5"></rect></svg>'),Ze=ve('<svg width="9" height="9" viewBox="0 0 9 9" aria-label="error"><rect x="0.75" y="0.75" width="7.5" height="7.5" fill="#B8620A"></rect></svg>'),Ke=ve('<svg width="9" height="9" viewBox="0 0 9 9" aria-label="ok"><rect x="0.75" y="0.75" width="7.5" height="7.5" fill="#0B5394"></rect></svg>');function Qe(F,e){var o=ue(),g=oe(o);{var a=s=>{var d=We();y(s,d)},m=s=>{var d=He();y(s,d)},T=s=>{var d=Je();y(s,d)},c=s=>{var d=Ze();y(s,d)},l=s=>{var d=Ke();y(s,d)};j(g,s=>{e.status==="fan"?s(a):e.status==="merge"?s(m,1):e.status==="silent"?s(T,2):e.status==="error"?s(c,3):s(l,-1)})}y(F,o)}var Xe=w('<span class="trace-note"> </span>'),$e=w('<span class="trace-doc-id"> </span>'),et=w('<span class="trace-silent-tag">silent</span>'),tt=w('<span class="trace-output-model">model: <code> </code></span>'),at=w('<span class="trace-output-claims-count"> </span>'),rt=w('<button type="button" class="trace-output-copy"> </button>'),it=w('<pre class="trace-output-pre"> </pre>'),st=w('<p class="trace-output-text"> </p>'),nt=w('<div class="trace-output-panel"><div class="trace-output-head"><span> </span> <!> <!> <!></div> <!></div>'),ot=w('<div><button type="button" class="trace-row-toggle"><span class="trace-tree-glyph" aria-hidden="true"> </span> <span class="trace-status-col"><!></span> <span class="trace-name-col"><span class="trace-name"> </span> <!> <!></span> <span class="trace-ms-col"> </span> <span class="trace-tier-col"><!> <!></span></button> <!></div> <!>',1);function be(F,e){ae(e,!0);let o=de(e,"depth",3,0),g=de(e,"defaultOpen",3,!1),a=ee(je(g())),m=ee(!1),T=L(()=>{var u;return!!((u=e.node.children)!=null&&u.length)}),c=L(()=>e.node.output!=null||!!e.node.error),l=L(()=>t(T)||t(c)),s=L(()=>o()*16);function d(){t(l)&&$(a,!t(a))}let h=L(()=>e.node.output!=null&&typeof e.node.output=="object"),p=L(()=>{if(e.node.error)return e.node.error;if(e.node.output==null)return"";if(typeof e.node.output=="string")return e.node.output;try{return JSON.stringify(e.node.output,null,2)}catch{return String(e.node.output)}}),k=L(()=>e.node.status==="error"?"Error":e.node.status==="silent"?"Silent reason":"Output");async function x(u){u.stopPropagation();try{await navigator.clipboard.writeText(t(p)),$(m,!0),setTimeout(()=>$(m,!1),1500)}catch{}}var _=ot(),I=oe(_);let P;var M=i(I),A=i(M),N=i(A,!0);r(A);var R=n(A,2),D=i(R);Qe(D,{get status(){return e.node.status}}),r(R);var O=n(R,2),U=i(O),W=i(U,!0);r(U);var G=n(U,2);{var f=u=>{var S=Xe(),J=i(S);r(S),C(()=>v(J,`· ${e.node.note??""}`)),y(u,S)};j(G,u=>{e.node.note&&u(f)})}var E=n(G,2);{var z=u=>{var S=$e(),J=i(S);r(S),C(()=>{V(S,"title",`cited in briefing as [${e.node.docId??""}]`),v(J,`[${e.node.docId??""}]`)}),y(u,S)};j(E,u=>{e.node.docId&&u(z)})}r(O);var K=n(O,2),H=i(K);r(K);var Y=n(K,2),ie=i(Y);{var we=u=>{xe(u,{get tier(){return e.node.tier},compact:!0})};j(ie,u=>{e.node.tier&&u(we)})}var ke=n(ie,2);{var Se=u=>{var S=et();y(u,S)};j(ke,u=>{e.node.status==="silent"&&u(Se)})}r(Y),r(M);var Be=n(M,2);{var Le=u=>{var S=nt();let J;var Q=i(S),X=i(Q),le=i(X,!0);r(X);var se=n(X,2);{var Fe=B=>{var b=tt(),q=n(i(b)),ce=i(q,!0);r(q),r(b),C(()=>v(ce,e.node.model)),y(B,b)};j(se,B=>{e.node.model&&B(Fe)})}var fe=n(se,2);{var Pe=B=>{var b=at(),q=i(b);r(b),C(()=>v(q,`${e.node.claims??""} claim${e.node.claims===1?"":"s"} cited`)),y(B,b)};j(fe,B=>{e.node.claims!=null&&B(Pe)})}var Me=n(fe,2);{var Oe=B=>{var b=rt(),q=i(b,!0);r(b),C(ce=>{V(b,"aria-label",`Copy ${ce??""} to clipboard`),v(q,t(m)?"Copied":"Copy")},[()=>t(k).toLowerCase()]),ne("click",b,x),y(B,b)};j(Me,B=>{t(p)&&B(Oe)})}r(Q);var Te=n(Q,2);{var Ie=B=>{var b=it(),q=i(b,!0);r(b),C(()=>v(q,t(p))),y(B,b)},Ee=B=>{var b=st(),q=i(b,!0);r(b),C(()=>v(q,t(p))),y(B,b)};j(Te,B=>{t(h)?B(Ie):B(Ee,-1)})}r(S),C(()=>{J=me(S,"",J,{"margin-left":`${t(s)+44}px`}),te(X,1,`trace-output-label trace-output-label-${e.node.status??""}`),v(le,t(k))}),y(u,S)};j(Be,u=>{t(a)&&t(c)&&u(Le)})}r(I);var Ae=n(I,2);{var Ce=u=>{var S=ue(),J=oe(S);ye(J,17,()=>e.node.children,Q=>Q.id,(Q,X)=>{{let le=L(()=>o()+1),se=L(()=>t(X).status==="fan");be(Q,{get node(){return t(X)},get depth(){return t(le)},get defaultOpen(){return t(se)}})}}),y(u,S)};j(Ae,u=>{t(a)&&t(T)&&e.node.children&&u(Ce)})}C(()=>{te(I,1,`trace-row trace-row-${e.node.status??""}`),P=me(I,"",P,{"padding-left":`${t(s)+12}px`}),V(M,"aria-expanded",t(l)?t(a):void 0),V(M,"aria-label",`${e.node.name??""}, ${e.node.ms??""}ms, ${e.node.status??""}${e.node.note?", "+e.node.note:""}`),M.disabled=!t(l),v(N,t(T)?t(a)?"▾":"▸":t(c)?t(a)?"▾":"▸":"·"),v(W,e.node.name),v(H,`${e.node.ms??""}ms`)}),ne("click",M,d),y(F,_),re()}pe(["click"]);var lt=w('<div class="trace-body"><div class="trace-col-heads"><span></span><span></span> <span class="trace-col-head">action</span> <span class="trace-col-head">elapsed</span> <span class="trace-col-head">tier</span></div> <div class="trace-tree" role="tree"><!></div></div>'),ct=w('<section aria-label="Run trace"><header class="trace-head"><div class="trace-head-left"><span class="section-label">Run trace</span> <span class="trace-head-meta"><span class="trace-head-stat"> </span> <span class="trace-head-sep">·</span> <span class="trace-head-stat"> </span> <span class="trace-head-sep">·</span> <span class="trace-head-stat trace-head-silent"> </span> <span class="trace-head-sep">·</span> <span class="trace-head-stat"> </span></span></div> <button type="button" class="trace-collapse-btn"> </button></header> <!></section>');function St(F,e){ae(e,!0);let o=ee(!1);function g(f,E){if(f.status==="fan"||f.status==="merge"){for(const z of f.children??[])g(z,E);return}E.push(f);for(const z of f.children??[])g(z,E)}let a=L(()=>{const f=[];for(const E of e.root.children??[])g(E,f);return f}),m=L(()=>e.root.ms>0?e.root.ms:t(a).reduce((f,E)=>f+(E.ms||0),0)),T=L(()=>(t(m)/1e3).toFixed(2)),c=L(()=>t(a).filter(f=>f.status==="ok").length),l=L(()=>t(a).filter(f=>f.status==="silent").length),s=L(()=>t(a).filter(f=>f.status==="error").length);var d=ct();let h;var p=i(d),k=i(p),x=n(i(k),2),_=i(x),I=i(_);r(_);var P=n(_,4),M=i(P);r(P);var A=n(P,4),N=i(A);r(A);var R=n(A,4),D=i(R);r(R),r(x),r(k);var O=n(k,2),U=i(O,!0);r(O),r(p);var W=n(p,2);{var G=f=>{var E=lt(),z=n(i(E),2),K=i(z);be(K,{get node(){return e.root},defaultOpen:!0}),r(z),r(E),y(f,E)};j(W,f=>{t(o)||f(G)})}r(d),C(()=>{h=te(d,1,"trace-ui",null,h,{"is-collapsed":t(o)}),v(I,`${t(T)??""}s total`),v(M,`${t(c)??""} fired`),v(N,`${t(l)??""} silent`),v(D,`${t(s)??""} errors`),V(O,"aria-expanded",!t(o)),v(U,t(o)?"Expand ▾":"Collapse ▴")}),ne("click",O,()=>$(o,!t(o))),y(F,d),re()}pe(["click"]);const dt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",_e=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
3
- <rect width="12" height="12" fill="rgba(42,111,168,0.18)"/>
4
- <g stroke="#2A6FA8" stroke-width="1.4">
5
- <line x1="-2" y1="2" x2="14" y2="-14"/>
6
- <line x1="-2" y1="8" x2="14" y2="-8"/>
7
- <line x1="-2" y1="14" x2="14" y2="-2"/>
8
- <line x1="-2" y1="20" x2="14" y2="4"/>
9
- </g>
10
- </svg>`,ut=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
11
- <rect width="12" height="12" fill="rgba(42,111,168,0.16)"/>
12
- <g stroke="#2A6FA8" stroke-width="1.1">
13
- <line x1="-2" y1="6" x2="14" y2="-10"/>
14
- <line x1="-2" y1="14" x2="14" y2="-2"/>
15
- <line x1="-2" y1="22" x2="14" y2="6"/>
16
- </g>
17
- </svg>`;async function vt(F,e){const o=new Blob([F],{type:"image/svg+xml"}),g=URL.createObjectURL(o);try{return await new Promise((m,T)=>{const c=new Image(e,e);c.onload=()=>m(c),c.onerror=l=>T(l),c.src=g})}finally{URL.revokeObjectURL(g)}}async function pt(F){const e=[["syn-stripe-45",_e,12],["syn-stripe-45-2x",_e,24],["syn-stripe-45-low",ut,12]];for(const[o,g,a]of e)if(!F.hasImage(o))try{const m=await vt(g,a);F.addImage(o,m,{pixelRatio:a/12})}catch(m){console.warn(`syn-stripe registration failed for ${o}`,m)}}var yt=w('<div class="map-frame svelte-wk2bu4"><div role="application" class="rip-map-container svelte-wk2bu4"></div></div>');function Bt(F,e){ae(e,!0);let o=de(e,"activeLayers",19,()=>({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),g=ee(null),a=null,m=ee(!1);const T={type:"FeatureCollection",features:[]};function c(h,p){if(!a||!t(m))return;const k=a.getSource(h);k&&k.setData(p??T)}function l(h,p){!a||!t(m)||a.getLayer(h)&&a.setLayoutProperty(h,"visibility",p?"visible":"none")}Z(()=>{c("sandy-empirical",e.sandyEmpirical)}),Z(()=>{c("dep-modeled",e.depModeled)}),Z(()=>{c("syn-prior",e.syntheticPrior)}),Z(()=>{c("proxy-311",e.proxy311)}),Z(()=>{c("register-points",e.registerPoints)}),Z(()=>{c("register-polygons",e.registerPolygons)}),Z(()=>{l("tier-empirical-fill",o().empirical),l("tier-empirical-line",o().empirical),l("tier-modeled-fill",o().modeled),l("tier-modeled-line",o().modeled),l("tier-synthetic-fill",o().synthetic),l("tier-synthetic-line",o().synthetic),l("tier-proxy-dots",o().proxy)}),Z(()=>{!a||!t(m)||a.flyTo({center:[e.address.lon,e.address.lat],zoom:15,essential:!0})}),Ne(async()=>{if(!t(g))return;const h=await qe(()=>import("./D4L2lGt1.js").then(p=>p.m),[],import.meta.url);a=new h.Map({container:t(g),style:dt,center:[e.address.lon,e.address.lat],zoom:15,attributionControl:{compact:!0}}),a.addControl(new h.NavigationControl({visualizePitch:!1}),"top-right"),a.addControl(new h.ScaleControl({maxWidth:100,unit:"imperial"}),"bottom-left"),a.on("load",()=>{if(!a)return;window.__riprapMap=a,pt(a);const p=()=>({type:"FeatureCollection",features:[]});a.addSource("sandy-empirical",{type:"geojson",data:e.sandyEmpirical??p()}),a.addSource("dep-modeled",{type:"geojson",data:e.depModeled??p()}),a.addSource("syn-prior",{type:"geojson",data:e.syntheticPrior??p()}),a.addSource("proxy-311",{type:"geojson",data:e.proxy311??p()}),a.addSource("register-points",{type:"geojson",data:e.registerPoints??p()}),a.addSource("register-polygons",{type:"geojson",data:e.registerPolygons??p()}),a.addSource("queried-address",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[e.address.lon,e.address.lat]},properties:{label:e.address.label}}]}}),a.addLayer({id:"tier-empirical-fill",type:"fill",source:"sandy-empirical",paint:{"fill-color":"#0B5394","fill-opacity":.4}}),a.addLayer({id:"tier-empirical-line",type:"line",source:"sandy-empirical",paint:{"line-color":"#0B5394","line-width":1.5}}),a.addLayer({id:"tier-modeled-fill",type:"fill",source:"dep-modeled",paint:{"fill-color":"#2A6FA8","fill-opacity":.25}}),a.addLayer({id:"tier-modeled-line",type:"line",source:"dep-modeled",paint:{"line-color":"#2A6FA8","line-width":1.5}}),a.addLayer({id:"tier-synthetic-fill",type:"fill",source:"syn-prior",paint:{"fill-pattern":"syn-stripe-45","fill-opacity":.65}}),a.addLayer({id:"tier-synthetic-line",type:"line",source:"syn-prior",paint:{"line-color":"#2A6FA8","line-width":1.5,"line-dasharray":[4,3]}}),a.addLayer({id:"tier-proxy-dots",type:"circle",source:"proxy-311",paint:{"circle-color":"transparent","circle-stroke-color":"#6B6B6B","circle-stroke-width":1.25,"circle-radius":["interpolate",["linear"],["coalesce",["get","count"],1],1,3,5,6,15,9,30,12]}}),a.addLayer({id:"register-polygons-fill",type:"fill",source:"register-polygons",paint:{"fill-color":"#0B5394","fill-opacity":["interpolate",["linear"],["coalesce",["get","pct_inside_sandy"],0],0,.1,25,.2,50,.32,75,.45]}}),a.addLayer({id:"register-polygons-line",type:"line",source:"register-polygons",paint:{"line-color":"#0B5394","line-width":1,"line-opacity":.85}}),a.addLayer({id:"register-points-circle",type:"circle",source:"register-points",paint:{"circle-color":["case",["==",["get","inside_sandy_2012"],!0],"#0B5394","#6B6B6B"],"circle-stroke-color":"#FAFAF7","circle-stroke-width":1.25,"circle-radius":["match",["get","kind"],"subway",4,"school",5,"hospital",6,"nycha",7,4],"circle-opacity":.9}}),a.on("mouseenter","register-points-circle",()=>{a&&(a.getCanvas().style.cursor="pointer")}),a.on("mouseleave","register-points-circle",()=>{a&&(a.getCanvas().style.cursor="")}),a.on("click","register-points-circle",k=>{var O;if(!a||!((O=k.features)!=null&&O.length))return;const x=k.features[0],_=x.properties??{},I=String(_.name??"?"),P=String(_.kind??"?"),M=_.inside_sandy_2012===!0||_.inside_sandy_2012==="true",A=String(_.doc_id??""),N=`
18
- <div style="font-family: 'IBM Plex Sans', system-ui; font-size: 12px;">
19
- <div style="font-weight: 600; color: #1A1A1A;">${I}</div>
20
- <div style="color: #6B6B6B; font-size: 11px; margin-top: 2px;">${P}</div>
21
- <div style="margin-top: 6px;">
22
- <span style="font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; color: ${M?"#0B5394":"#6B6B6B"};">
23
- inside_sandy_2012=${M}
24
- </span>
25
- </div>
26
- ${A?`<div style="margin-top: 4px; font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; color: #B8620A;">[${A}]</div>`:""}
27
- </div>`,R=new h.Popup({closeButton:!0,offset:12}),D=x.geometry.coordinates;R.setLngLat(D).setHTML(N).addTo(a)}),a.addLayer({id:"queried-halo",type:"circle",source:"queried-address",paint:{"circle-color":"rgba(209, 124, 0, 0.20)","circle-radius":16}}),a.addLayer({id:"queried-pin",type:"circle",source:"queried-address",paint:{"circle-color":"#D17C00","circle-stroke-color":"#FAFAF7","circle-stroke-width":2,"circle-radius":7}}),a.addLayer({id:"queried-label",type:"symbol",source:"queried-address",layout:{"text-field":["get","label"],"text-font":["Open Sans Semibold","Arial Unicode MS Bold"],"text-size":12,"text-offset":[0,-1.6],"text-anchor":"bottom"},paint:{"text-color":"#1A1A1A","text-halo-color":"#FAFAF7","text-halo-width":1.5}}),$(m,!0)})}),ze(()=>{a==null||a.remove(),a=null});var s=yt(),d=i(s);Ye(d,h=>$(g,h),()=>t(g)),r(s),C(()=>V(d,"aria-label",`Flood-exposure map for ${e.address.label??""}`)),y(F,s),re()}var ft=w('<button type="button"><span class="map-legend-swatch" aria-hidden="true"><!></span> <span class="map-legend-text"><span class="map-legend-label"> </span> <span class="map-legend-source"> <!></span></span> <span class="map-legend-toggle" aria-hidden="true"> </span></button>'),gt=w('<div class="map-legend" role="group" aria-label="Map layer toggles"><div class="map-legend-head"><span class="section-label"> </span></div> <!></div>');function Lt(F,e){ae(e,!0);const o=[{key:"empirical",tier:"empirical",label:"Sandy Inundation Zone (2012)",source:"NYC OEM"},{key:"modeled",tier:"modeled",label:"FEMA / DEP scenarios",source:"FEMA · NYC DEP"},{key:"synthetic",tier:"synthetic",label:"Synthetic SAR (TerraMind)",source:"TerraMind v1.2"},{key:"proxy",tier:"proxy",label:"311 flood complaints",source:"NYC 311"}];let g=L(()=>e.featureCounts===null?o:o.filter(c=>{var s;const l=(s=e.featureCounts)==null?void 0:s[c.key];return l===void 0||l>0}));var a=ue(),m=oe(a);{var T=c=>{var l=gt(),s=i(l),d=i(s),h=i(d);r(d),r(s);var p=n(s,2);ye(p,17,()=>t(g),k=>k.key,(k,x)=>{var _=ft();let I;var P=i(_),M=i(P);he(M,{get tier(){return t(x).tier},size:11,get color(){return`var(--tier-${t(x).tier??""})`}}),r(P);var A=n(P,2),N=i(A),R=i(N,!0);r(N);var D=n(N,2),O=i(D),U=n(O);xe(U,{get tier(){return t(x).tier},compact:!0}),r(D),r(A);var W=n(A,2),G=i(W,!0);r(W),r(_),C(()=>{I=te(_,1,"map-legend-item",null,I,{"is-on":e.active[t(x).key],"is-off":!e.active[t(x).key]}),V(_,"aria-pressed",e.active[t(x).key]),v(R,t(x).label),v(O,`${t(x).source??""} · `),v(G,e.active[t(x).key]?"ON":"OFF")}),ne("click",_,()=>e.onToggle(t(x).key)),y(k,_)}),r(l),C(()=>v(h,`Layers · ${t(g).length??""}`)),y(c,l)};j(m,c=>{t(g).length&&c(T)})}y(F,a),re()}pe(["click"]);export{kt as C,Lt as M,Bt as R,St as T};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
web/sveltekit/build/_app/immutable/chunks/Bww_RjdA.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var rt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var y=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{bc as Pe,bd as Vt,G as at,j as T,k as I,l as O,o as we,be as Bt}from"./DwbuJhNu.js";const M=[];function Ke(e,t=Pe){let n=null;const a=new Set;function r(o){if(Vt(e,o)&&(e=o,n)){const l=!M.length;for(const c of a)c[1](),M.push(c,e);if(l){for(let c=0;c<M.length;c+=2)M[c][0](M[c+1]);M.length=0}}}function i(o){r(o(e))}function s(o,l=Pe){const c=[o,l];return a.add(c),a.size===1&&(n=t(r,i)||Pe),o(e),()=>{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ge{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class ze extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Kt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Mt(e){return e.split("%25").map(decodeURI).join("%25")}function Gt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}function j(){}function zt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Ft(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Fe(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Fe(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Ft(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function Jt(e,t,n){if(X.size>0){const a=Fe(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Fe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${zt(...r)}"]`}return a}const Yt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Xt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return je(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return je(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Yt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return je(l)}).join("")}).join("")}/?$`),params:t}}function Qt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Qt)}function en(e,t,n){const a={},r=e.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=r[o-s];if(l.chained&&l.rest&&s&&(c=r.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function je(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function tn({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Xt(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return en(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[r.has(o),e[o]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ht;const U=((ht=globalThis.__sveltekit_1k2uwdb)==null?void 0:ht.base)??"";var pt;const nn=((pt=globalThis.__sveltekit_1k2uwdb)==null?void 0:pt.assets)??U??"",rn="1778019086140",vt="sveltekit:snapshot",yt="sveltekit:scroll",bt="sveltekit:states",an="sveltekit:pageurl",z="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ue=location.origin;function He(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function B(){return{x:pageXOffset,y:pageYOffset}}function G(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const st={...D,"":D.hover};function kt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function St(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=kt(e)}}function qe(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ae(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Ue&&e.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function ve(e){let t=null,n=null,a=null,r=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)a===null&&(a=G(o,"preload-code")),r===null&&(r=G(o,"preload-data")),t===null&&(t=G(o,"keepfocus")),n===null&&(n=G(o,"noscroll")),i===null&&(i=G(o,"reload")),s===null&&(s=G(o,"replacestate")),o=kt(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:st[a??"off"],preload_data:st[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function it(e){const t=Ke(e);let n=!0;function a(){n=!0,t.update(s=>s)}function r(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const Et={v:j};function on(){const{set:e,subscribe:t}=Ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${nn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==rn;return s&&(e(!0),Et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:a}}function Ae(e,t,n){return e.origin!==Ue||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Pn(e){}const Rt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Rt];const sn=new Set([...Rt]);[...sn];function ln(e){return e.filter(t=>t!=null)}function me(e,t){return e+"/"+t}function We(e){return e instanceof Me||e instanceof ze?e.status:500}function cn(e){return e instanceof ze?e.text:"Internal Error"}let R,ee,Ce;const fn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),lt="a:";var oe,se,ie,le,ce,fe,ue,de,gt,he,mt,pe,_t;fn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(lt)},ee={current:null},Ce={current:!1}):(R=new(gt=class{constructor(){A(this,oe,T({}));A(this,se,T(null));A(this,ie,T(null));A(this,le,T({}));A(this,ce,T({id:null}));A(this,fe,T({}));A(this,ue,T(-1));A(this,de,T(new URL(lt)))}get data(){return I(y(this,oe))}set data(t){O(y(this,oe),t)}get form(){return I(y(this,se))}set form(t){O(y(this,se),t)}get error(){return I(y(this,ie))}set error(t){O(y(this,ie),t)}get params(){return I(y(this,le))}set params(t){O(y(this,le),t)}get route(){return I(y(this,ce))}set route(t){O(y(this,ce),t)}get state(){return I(y(this,fe))}set state(t){O(y(this,fe),t)}get status(){return I(y(this,ue))}set status(t){O(y(this,ue),t)}get url(){return I(y(this,de))}set url(t){O(y(this,de),t)}},oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,gt),ee=new(mt=class{constructor(){A(this,he,T(null))}get current(){return I(y(this,he))}set current(t){O(y(this,he),t)}},he=new WeakMap,mt),Ce=new(_t=class{constructor(){A(this,pe,T(!1))}get current(){return I(y(this,pe))}set current(t){O(y(this,pe),t)}},pe=new WeakMap,_t),Et.v=()=>Ce.current=!0);function un(e){Object.assign(R,e)}const dn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=wt(yt)??{},te=wt(vt)??{},C={url:it({}),page:it({}),navigating:Ke(null),updated:on()};function Je(e){N[e]=B()}function hn(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;te[n];)delete te[n],n+=1}function ne(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(j)}async function xt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let Ye,De,ye,P,Ve,S;const be=[],ke=[];let v=null;function Se(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null}const _e=new Map,Lt=new Set,pn=new Set,Q=new Set;let _={branch:[],error:null,url:null},Ut=!1,Ee=!1,ct=!0,re=!1,Y=!1,At=!1,Xe=!1,Tt,k,L,V;const Re=new Set,ft=new Map,ut=new Map;async function Nn(e,t,n){var i,s,o,l;globalThis.__sveltekit_1k2uwdb&&(globalThis.__sveltekit_1k2uwdb.query,globalThis.__sveltekit_1k2uwdb.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((s=(i=e.hooks).init)==null?void 0:s.call(i)),Ye=tn(e),P=document.documentElement,Ve=t,De=e.nodes[0],ye=e.nodes[1],De(),ye(),k=(o=history.state)==null?void 0:o[z],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[z]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(Ve,n)):(await F({type:"enter",url:He(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function gn(){be.length=0,Xe=!1}function It(e){ke.some(t=>t==null?void 0:t.snapshot)&&(te[e]=ke.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ot(e){var t;(t=te[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=ke[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function dt(){Je(k),ot(yt,N),It(L),ot(vt,te)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&Se(),await F({type:"goto",url:He(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Xe=!0,r=new Set;for(const[s,o]of ft)for(const l of o.keys())r.add(me(s,l));i=new Set;for(const[s,o]of ut)for(const l of o.keys())i.add(me(s,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&we().then(we).then(()=>{for(const[s,o]of ft)for(const[l,{resource:c}]of o)r!=null&&r.has(me(s,l))&&c.refresh();for(const[s,o]of ut)for(const[l,{resource:c}]of o)i!=null&&i.has(me(s,l))&&c.reconnect()})}async function mn(e){if(e.id!==(v==null?void 0:v.id)){Se();const t={};Re.add(t),v={id:e.id,token:t,promise:jt({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&Se(),n)),fork:null}}return v.promise}async function Ne(e){var n;const t=(n=await Te(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function $t(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),Tt=new S.root({target:t,props:{...e.props,stores:C,components:ke},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ot(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Ee=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Kt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:s},props:{constructors:ln(n).map(f=>f.node.component),page:nt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||o!==void 0&&o!==R.form||u)&&(c.props.page={error:i,params:t,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(e),form:o??null,data:u?d:R.data}),c}async function Qe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let s=null;const o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:s,uses:o}:null,data:s??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Ee?Jt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Xe)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const s of r.search_params)if(a.has(s))return!0;for(const s of r.params)if(i[s]!==_.params[s])return!0;for(const s of r.dependencies)if(be.some(o=>o(new URL(s))))return!0;return!1}function Ze(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function vn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function yn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:nt(R),constructors:[]}}}async function jt({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Re.delete(v.token),v.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(j)),c.forEach(h=>h==null?void 0:h[1]().catch(j));const d=_.url?e!==Le(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=vn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!wn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Qe({loader:h[1],url:n,params:a,route:r,parent:async()=>{var ge;const q={};for(let K=0;K<g;K+=1)Object.assign(q,(ge=await f[K])==null?void 0:ge.data);return q},server_data_node:Ze(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(j);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof Ge)return{type:"redirect",location:g.location};if(Re.has(i))return yn({error:await ae(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=We(g),x;if(g instanceof Me)x=g.body;else{if(await C.updated.check())return await xt(),await ne(n);x=await ae(g,{params:a,url:n,route:{id:r.id}})}const $=await bn(h,m,s);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:s,status:b,error:x,route:r}):await Nt(n,{id:r.id},x,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:s,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function et({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const s=await Qe({loader:De,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Ze(i)}),o={node:await ye(),loader:ye,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[s,o],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof Ge)return Pt(new URL(s.location,location.href),{},0);throw s}}async function kn(e){const t=e.href;if(_e.has(t))return _e.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,s)=>_n(i,s,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();_e.set(t,a),n=await a}catch{_e.delete(t);return}return n}async function Te(e,t){if(e&&!Ae(e,U,S.hash)){const n=await kn(e);if(!n)return;const a=Sn(n);for(const r of Ye){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:Gt(i),url:e}}}}function Sn(e){return Mt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function Le(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Ct({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=tt(_,n,e,t,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return re||Lt.forEach(c=>c(l)),s?null:o}async function F({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=j,block:d=j,event:u}){var K;const w=V;V=l;const p=await Te(t,!1),f=e==="enter"?tt(_,p,t,e):Ct({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),re=!0,Ee&&f.navigation.type!=="enter"&&C.navigating.set(ee.current=f.navigation);let g=p&&await jt(p);if(!g){if(Ae(t,U,S.hash))return await ne(t,i);g=await Nt(t,{id:null},await ae(new ze(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await et({status:500,error:await ae(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await xt(),await ne(t,i));if(gn(),Je(m),It(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,H={[z]:k+=E,[Z]:L+=E,[bt]:s};(i?history.replaceState:history.pushState).call(history,H,"",t),i||hn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&Se(),v=null,g.props.page.state=s;let x;if(Ee){const E=(await Promise.all(Array.from(pn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(Oe=>{Q.delete(Oe)})};E.push(W),E.forEach(Oe=>{Q.add(Oe)})}const H=f.navigation.to;_={...g.state,nav:{params:H.params,route:H.route,url:H.url}},g.props.page&&(g.props.page.url=t);const Ie=b&&await b;Ie?x=Ie.commit():(J=null,Tt.$set(g.props),J&&Object.assign(g.props.page,J),un(g.props.page),x=(K=Bt)==null?void 0:K()),At=!0}else await $t(g,Ve,!1);const{activeElement:$}=document;await x,await we(),await we();let q=null;if(ct){const E=n?n.scroll:r?B():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(qt(t)))?q.scrollIntoView():scrollTo(0,0)}const ge=document.activeElement!==$&&document.activeElement!==document.body;!a&&!ge&&An(t,!q),ct=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),re=!1,e==="popstate"&&Ot(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(E=>E(f.navigation)),C.navigating.set(ee.current=null)}async function Nt(e,t,n,a,r){return e.origin===Ue&&e.pathname===location.pathname&&!Ut?await et({status:a,error:n,url:e,route:t}):await ne(e,r)}function En(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Ne(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=St(o,P),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=qe(c,U,S.hash);if(w||p)return;const f=ve(c),m=u&&Le(_.url)===Le(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=D.tap;const h=await Te(u,!1);if(!h)return;mn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ne(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=qe(o,U,S.hash);if(c||d)continue;const u=ve(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&Ne(l))}}Q.add(s),s()}function ae(e,t){if(e instanceof Me)return e.body;const n=We(e),a=cn(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function qn(e,t={}){return e=new URL(He(e)),e.origin!==Ue?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(dt(),!re){const r=tt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Lt.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&dt()}),(t=navigator.connection)!=null&&t.saveData||En(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=St(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=qe(a,U,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=ve(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===$e(location);if(i||l.reload&&(!w||!u)){Ct({url:r,type:"link",event:n})?re=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Je(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await F({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ae(o,U,!1))return;const l=n.target,c=ve(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),F({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Be){if((a=n.state)!=null&&a[z]){const r=n.state[z];if(V={},r===k)return;const i=N[r],s=n.state[bt]??{},o=new URL(n.state[an]??location.href),l=n.state[Z],c=_.url?$e(location)===$e(_.url):!1;if(l===L&&(At||c)){s!==R.state&&(R.state=s),e(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await F({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[z]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))dn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(ee.current=null)});function e(n){_.url=R.url=n,C.page.set(nt(R)),C.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){Ut=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Te(c,!1)||{}),d=Ye.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Qe({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x<h;x+=1)Object.assign(b,(await p[x]).data);return b},server_data_node:Ze(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await xe({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof Ge){await ne(new URL(p.location,location.href));return}u=await et({status:We(p),error:await ae(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await $t(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Be=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=qt(e);if(a&&document.getElementById(a)){const{x:i,y:s}=B();setTimeout(()=>{const o=history.state;Be=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),Be=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s<r.rangeCount;s+=1)i.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===i.length){for(let s=0;s<r.rangeCount;s+=1){const o=i[s],l=r.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function tt(e,t,n,a,r=null){var c,d;let i,s;const o=new Promise((u,w)=>{i=u,s=w});return o.catch(j),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:B()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:o},fulfil:i,reject:s}}function nt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Nn as a,qn as g,Pn as l,R as p,C as s};
web/sveltekit/build/_app/immutable/chunks/CBcGqa-S.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ import{w as y,i as Cr,ad as dr,q as O,A as K,F as Or,T as wr,k as J,U as Lr,ae as Mr,V as nr,z,B as G,C as kr,af as Rr,ag as ur,n as Dr,ah as L,P as U,ai as Hr,R as Fr,a5 as Pr,aj as gr,ak as x,al as zr,am as Ur,ab as Vr,an as sr,ao as Br,_ as Gr,M as hr,O as pr,ap as X,aq as _r,ar as Yr,as as $r,at as qr,Q as jr,N as $,y as yr,au as Ar,d as br,av as Kr,aw as Xr,ax as Qr,ay as Zr,az as Jr,aA as Wr,aB as j,aC as mr,aD as xr,aE as re,aF as ee,aG as fe,aH as ie}from"./DwbuJhNu.js";import{i as ae,b as ne,d as ue,g as se,n as te,j as le}from"./Dlpu43Tj.js";function ke(r,f){return f}function oe(r,f,e){for(var i=[],a=f.length,n,s=f.length,v=0;v<a;v++){let p=f[v];pr(p,()=>{if(n){if(n.pending.delete(p),n.done.add(p),n.pending.size===0){var t=r.outrogroups;W(r,x(n.done)),t.delete(n),t.size===0&&(r.outrogroups=null)}}else s-=1},!1)}if(s===0){var l=i.length===0&&e!==null;if(l){var d=e,o=d.parentNode;qr(o),o.append(d),r.items.clear()}W(r,f,!l)}else n={pending:new Set(f),done:new Set},(r.outrogroups??(r.outrogroups=new Set)).add(n)}function W(r,f,e=!0){var i;if(r.pending.size>0){i=new Set;for(const s of r.pending.values())for(const v of s)i.add(r.items.get(v).e)}for(var a=0;a<f.length;a++){var n=f[a];if(i!=null&&i.has(n)){n.f|=L;const s=document.createDocumentFragment();jr(n,s)}else $(f[a],e)}}var tr;function Re(r,f,e,i,a,n=null){var s=r,v=new Map,l=(f&dr)!==0;if(l){var d=r;s=O?K(Or(d)):d.appendChild(y())}O&&wr();var o=null,p=Pr(()=>{var b=e();return gr(b)?b:b==null?[]:x(b)}),t,N=new Map,A=!0;function S(b){(w.effect.f&Gr)===0&&(w.pending.delete(b),w.fallback=o,ce(w,t,s,f,i),o!==null&&(t.length===0?(o.f&L)===0?hr(o):(o.f^=L,P(o,null,s)):pr(o,()=>{o=null})))}function u(b){w.pending.delete(b)}var g=Cr(()=>{t=J(p);var b=t.length;let _=!1;if(O){var D=Lr(s)===Mr;D!==(b===0)&&(s=nr(),K(s),z(!1),_=!0)}for(var h=new Set,c=Dr,T=Fr(),I=0;I<b;I+=1){O&&G.nodeType===kr&&G.data===Rr&&(s=G,_=!0,z(!1));var E=t[I],M=i(E,I),C=A?null:v.get(M);C?(C.v&&ur(C.v,E),C.i&&ur(C.i,I),T&&c.unskip_effect(C.e)):(C=ve(v,A?s:tr??(tr=y()),E,M,I,a,f,e),A||(C.e.f|=L),v.set(M,C)),h.add(M)}if(b===0&&n&&!o&&(A?o=U(()=>n(s)):(o=U(()=>n(tr??(tr=y()))),o.f|=L)),b>h.size&&Hr(),O&&b>0&&K(nr()),!A)if(N.set(c,h),T){for(const[V,B]of v)h.has(V)||c.skip_effect(B.e);c.oncommit(S),c.ondiscard(u)}else S(c);_&&z(!0),J(p)}),w={effect:g,items:v,pending:N,outrogroups:null,fallback:o};A=!1,O&&(s=G)}function H(r){for(;r!==null&&(r.f&Yr)===0;)r=r.next;return r}function ce(r,f,e,i,a){var E,M,C,V,B,rr,er,fr,ir;var n=(i&$r)!==0,s=f.length,v=r.items,l=H(r.effect.first),d,o=null,p,t=[],N=[],A,S,u,g;if(n)for(g=0;g<s;g+=1)A=f[g],S=a(A,g),u=v.get(S).e,(u.f&L)===0&&((M=(E=u.nodes)==null?void 0:E.a)==null||M.measure(),(p??(p=new Set)).add(u));for(g=0;g<s;g+=1){if(A=f[g],S=a(A,g),u=v.get(S).e,r.outrogroups!==null)for(const k of r.outrogroups)k.pending.delete(u),k.done.delete(u);if((u.f&X)!==0&&(hr(u),n&&((V=(C=u.nodes)==null?void 0:C.a)==null||V.unfix(),(p??(p=new Set)).delete(u))),(u.f&L)!==0)if(u.f^=L,u===l)P(u,null,e);else{var w=o?o.next:l;u===r.effect.last&&(r.effect.last=u.prev),u.prev&&(u.prev.next=u.next),u.next&&(u.next.prev=u.prev),R(r,o,u),R(r,u,w),P(u,w,e),o=u,t=[],N=[],l=H(o.next);continue}if(u!==l){if(d!==void 0&&d.has(u)){if(t.length<N.length){var b=N[0],_;o=b.prev;var D=t[0],h=t[t.length-1];for(_=0;_<t.length;_+=1)P(t[_],b,e);for(_=0;_<N.length;_+=1)d.delete(N[_]);R(r,D.prev,h.next),R(r,o,D),R(r,h,b),l=b,o=h,g-=1,t=[],N=[]}else d.delete(u),P(u,l,e),R(r,u.prev,u.next),R(r,u,o===null?r.effect.first:o.next),R(r,o,u),o=u;continue}for(t=[],N=[];l!==null&&l!==u;)(d??(d=new Set)).add(l),N.push(l),l=H(l.next);if(l===null)continue}(u.f&L)===0&&t.push(u),o=u,l=H(u.next)}if(r.outrogroups!==null){for(const k of r.outrogroups)k.pending.size===0&&(W(r,x(k.done)),(B=r.outrogroups)==null||B.delete(k));r.outrogroups.size===0&&(r.outrogroups=null)}if(l!==null||d!==void 0){var c=[];if(d!==void 0)for(u of d)(u.f&X)===0&&c.push(u);for(;l!==null;)(l.f&X)===0&&l!==r.fallback&&c.push(l),l=H(l.next);var T=c.length;if(T>0){var I=(i&dr)!==0&&s===0?e:null;if(n){for(g=0;g<T;g+=1)(er=(rr=c[g].nodes)==null?void 0:rr.a)==null||er.measure();for(g=0;g<T;g+=1)(ir=(fr=c[g].nodes)==null?void 0:fr.a)==null||ir.fix()}oe(r,c,I)}}n&&_r(()=>{var k,ar;if(p!==void 0)for(u of p)(ar=(k=u.nodes)==null?void 0:k.a)==null||ar.apply()})}function ve(r,f,e,i,a,n,s,v){var l=(s&zr)!==0?(s&Ur)===0?Vr(e,!1,!1):sr(e):null,d=(s&Br)!==0?sr(a):null;return{v:l,i:d,e:U(()=>(n(f,l??e,d??a,v),()=>{r.delete(i)}))}}function P(r,f,e){if(r.nodes)for(var i=r.nodes.start,a=r.nodes.end,n=f&&(f.f&L)===0?f.nodes.start:e;i!==null;){var s=yr(i);if(n.before(i),i===a)return;i=s}}function R(r,f,e){f===null?r.effect.first=e:f.next=e,e===null?r.effect.last=f:e.prev=f}function de(r,f){var e=void 0,i;Ar(()=>{e!==(e=f())&&(i&&($(i),i=null),e&&(i=U(()=>{br(()=>e(r))})))})}function Er(r){var f,e,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var a=r.length;for(f=0;f<a;f++)r[f]&&(e=Er(r[f]))&&(i&&(i+=" "),i+=e)}else for(e in r)r[e]&&(i&&(i+=" "),i+=e);return i}function ge(){for(var r,f,e=0,i="",a=arguments.length;e<a;e++)(r=arguments[e])&&(f=Er(r))&&(i&&(i+=" "),i+=f);return i}function he(r){return typeof r=="object"?ge(r):r??""}const lr=[...`
2
+ \r\f \v\uFEFF`];function pe(r,f,e){var i=r==null?"":""+r;if(f&&(i=i?i+" "+f:f),e){for(var a of Object.keys(e))if(e[a])i=i?i+" "+a:a;else if(i.length)for(var n=a.length,s=0;(s=i.indexOf(a,s))>=0;){var v=s+n;(s===0||lr.includes(i[s-1]))&&(v===i.length||lr.includes(i[v]))?i=(s===0?"":i.substring(0,s))+i.substring(v+1):s=v}}return i===""?null:i}function or(r,f=!1){var e=f?" !important;":";",i="";for(var a of Object.keys(r)){var n=r[a];n!=null&&n!==""&&(i+=" "+a+": "+n+e)}return i}function Q(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function _e(r,f){if(f){var e="",i,a;if(Array.isArray(f)?(i=f[0],a=f[1]):i=f,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var n=!1,s=0,v=!1,l=[];i&&l.push(...Object.keys(i).map(Q)),a&&l.push(...Object.keys(a).map(Q));var d=0,o=-1;const S=r.length;for(var p=0;p<S;p++){var t=r[p];if(v?t==="/"&&r[p-1]==="*"&&(v=!1):n?n===t&&(n=!1):t==="/"&&r[p+1]==="*"?v=!0:t==='"'||t==="'"?n=t:t==="("?s++:t===")"&&s--,!v&&n===!1&&s===0){if(t===":"&&o===-1)o=p;else if(t===";"||p===S-1){if(o!==-1){var N=Q(r.substring(d,o).trim());if(!l.includes(N)){t!==";"&&p++;var A=r.substring(d,p).trim();e+=" "+A+";"}}d=p+1,o=-1}}}}return i&&(e+=or(i)),a&&(e+=or(a,!0)),e=e.trim(),e===""?null:e}return r==null?null:String(r)}function Ae(r,f,e,i,a,n){var s=r.__className;if(O||s!==e||s===void 0){var v=pe(e,i,n);(!O||v!==r.getAttribute("class"))&&(v==null?r.removeAttribute("class"):f?r.className=v:r.setAttribute("class",v)),r.__className=e}else if(n&&a!==n)for(var l in n){var d=!!n[l];(a==null||d!==!!a[l])&&r.classList.toggle(l,d)}return n}function Z(r,f={},e,i){for(var a in e){var n=e[a];f[a]!==n&&(e[a]==null?r.style.removeProperty(a):r.style.setProperty(a,n,i))}}function be(r,f,e,i){var a=r.__style;if(O||a!==f){var n=_e(f,i);(!O||n!==r.getAttribute("style"))&&(n==null?r.removeAttribute("style"):r.style.cssText=n),r.__style=f}else i&&(Array.isArray(i)?(Z(r,e==null?void 0:e[0],i[0]),Z(r,e==null?void 0:e[1],i[1],"important")):Z(r,e,i));return i}function m(r,f,e=!1){if(r.multiple){if(f==null)return;if(!gr(f))return Kr();for(var i of r.options)i.selected=f.includes(cr(i));return}for(i of r.options){var a=cr(i);if(Xr(a,f)){i.selected=!0;return}}(!e||f!==void 0)&&(r.selectedIndex=-1)}function Ee(r){var f=new MutationObserver(()=>{m(r,r.__value)});f.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qr(()=>{f.disconnect()})}function cr(r){return"__value"in r?r.__value:r.value}const Y=Symbol("class"),F=Symbol("style"),Tr=Symbol("is custom element"),Nr=Symbol("is html"),Te=j?"link":"LINK",Ne=j?"input":"INPUT",Se=j?"option":"OPTION",Ie=j?"select":"SELECT";function Ce(r){if(O){var f=!1,e=()=>{if(!f){if(f=!0,r.hasAttribute("value")){var i=r.value;q(r,"value",null),r.value=i}if(r.hasAttribute("checked")){var a=r.checked;q(r,"checked",null),r.checked=a}}};r.__on_r=e,_r(e),Zr()}}function Oe(r,f){f?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function q(r,f,e,i){var a=Sr(r);O&&(a[f]=r.getAttribute(f),f==="src"||f==="srcset"||f==="href"&&r.nodeName===Te)||a[f]!==(a[f]=e)&&(f==="loading"&&(r[Jr]=e),e==null?r.removeAttribute(f):typeof e!="string"&&Ir(r).includes(f)?r[f]=e:r.setAttribute(f,e))}function we(r,f,e,i,a=!1,n=!1){if(O&&a&&r.nodeName===Ne){var s=r,v=s.type==="checkbox"?"defaultChecked":"defaultValue";v in e||Ce(s)}var l=Sr(r),d=l[Tr],o=!l[Nr];let p=O&&d;p&&z(!1);var t=f||{},N=r.nodeName===Se;for(var A in f)A in e||(e[A]=null);e.class?e.class=he(e.class):e.class=null,e[F]&&(e.style??(e.style=null));var S=Ir(r);for(const h in e){let c=e[h];if(N&&h==="value"&&c==null){r.value=r.__value="",t[h]=c;continue}if(h==="class"){var u=r.namespaceURI==="http://www.w3.org/1999/xhtml";Ae(r,u,c,i,f==null?void 0:f[Y],e[Y]),t[h]=c,t[Y]=e[Y];continue}if(h==="style"){be(r,c,f==null?void 0:f[F],e[F]),t[h]=c,t[F]=e[F];continue}var g=t[h];if(!(c===g&&!(c===void 0&&r.hasAttribute(h)))){t[h]=c;var w=h[0]+h[1];if(w!=="$$")if(w==="on"){const T={},I="$$"+h;let E=h.slice(2);var b=le(E);if(ae(E)&&(E=E.slice(0,-7),T.capture=!0),!b&&g){if(c!=null)continue;r.removeEventListener(E,t[I],T),t[I]=null}if(b)ne(E,r,c),ue([E]);else if(c!=null){let M=function(C){t[h].call(this,C)};t[I]=se(E,r,M,T)}}else if(h==="style")q(r,h,c);else if(h==="autofocus")fe(r,!!c);else if(!d&&(h==="__value"||h==="value"&&c!=null))r.value=r.__value=c;else if(h==="selected"&&N)Oe(r,c);else{var _=h;o||(_=te(_));var D=_==="defaultValue"||_==="defaultChecked";if(c==null&&!d&&!D)if(l[h]=null,_==="value"||_==="checked"){let T=r;const I=f===void 0;if(_==="value"){let E=T.defaultValue;T.removeAttribute(_),T.defaultValue=E,T.value=T.__value=I?E:null}else{let E=T.defaultChecked;T.removeAttribute(_),T.defaultChecked=E,T.checked=I?E:!1}}else r.removeAttribute(h);else D||S.includes(_)&&(d||typeof c!="string")?(r[_]=c,_ in l&&(l[_]=ie)):typeof c!="function"&&q(r,_,c)}}}return p&&z(!0),t}function De(r,f,e=[],i=[],a=[],n,s=!1,v=!1){re(a,e,i,l=>{var d=void 0,o={},p=r.nodeName===Ie,t=!1;if(Ar(()=>{var A=f(...l.map(J)),S=we(r,d,A,n,s,v);t&&p&&"value"in A&&m(r,A.value);for(let g of Object.getOwnPropertySymbols(o))A[g]||$(o[g]);for(let g of Object.getOwnPropertySymbols(A)){var u=A[g];g.description===ee&&(!d||u!==d[g])&&(o[g]&&$(o[g]),o[g]=U(()=>de(r,()=>u))),S[g]=u}d=S}),p){var N=r;br(()=>{m(N,d.value,!0),Ee(N)})}t=!0})}function Sr(r){return r.__attributes??(r.__attributes={[Tr]:r.nodeName.includes("-"),[Nr]:r.namespaceURI===Wr})}var vr=new Map;function Ir(r){var f=r.getAttribute("is")||r.nodeName,e=vr.get(f);if(e)return e;vr.set(f,e=[]);for(var i,a=r,n=Element.prototype;n!==a;){i=xr(a);for(var s in i)i[s].set&&e.push(s);a=mr(a)}return e}export{Y as C,Ae as a,be as b,De as c,Re as e,ke as i,Ce as r,q as s};
web/sveltekit/build/_app/immutable/chunks/CW0UkEuV.js DELETED
@@ -1,2 +0,0 @@
1
- var $=a=>{throw TypeError(a)};var _t=(a,t,r)=>t.has(a)||$("Cannot "+r);var k=(a,t,r)=>(_t(a,t,"read from private field"),r?r.call(a):t.get(a)),V=(a,t,r)=>t.has(a)?$("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(a):t.set(a,r);import{i as q,a as v,g as F,s as E,f as w,d as bt,b as pt,c as tt,t as yt}from"./BLULdth_.js";import{o as C,q as et,v as L,t as y,w as rt,h as wt,b1 as Wt,A as at,C as xt,a3 as At,a$ as Mt,aY as St,aQ as Tt,b2 as Ct,b3 as Et,c as _,r as m,s as T,k as n,ah as G,f as U,j as Y,l as I,p as X,a as Z,am as It,az as it,ac as Nt}from"./CYuHyzh3.js";import{p as j,i as N}from"./vWNuMvXT.js";import{s as c,e as st,i as nt}from"./B7gjWklj.js";import{s as Pt}from"./CdmpEGnB.js";function Dt(a,t,r=!1,e=!1,i=!1,s=!1){var o=a,f="";if(r){var u=a;C&&(o=et(L(u)))}y(()=>{var b=wt;if(f===(f=t()??"")){C&&rt();return}if(r&&!C){b.nodes=null,u.innerHTML=f,f!==""&&q(L(u),u.lastChild);return}if(b.nodes!==null&&(Wt(b.nodes.start,b.nodes.end),b.nodes=null),f!==""){if(C){at.data;for(var h=rt(),d=h;h!==null&&(h.nodeType!==xt||h.data!=="");)d=h,h=At(h);if(h===null)throw Mt(),St;q(at,d),o=et(h);return}var g=e?Ct:i?Et:void 0,W=Tt(e?"svg":i?"math":"template",g);W.innerHTML=f;var M=e||i?W:W.content;if(q(L(M),M.lastChild),e||i)for(;L(M);)o.before(L(M));else o.before(M)}})}function ct(a){var t,r,e="";if(typeof a=="string"||typeof a=="number")e+=a;else if(typeof a=="object")if(Array.isArray(a)){var i=a.length;for(t=0;t<i;t++)a[t]&&(r=ct(a[t]))&&(e&&(e+=" "),e+=r)}else for(r in a)a[r]&&(e&&(e+=" "),e+=r);return e}function Rt(){for(var a,t,r=0,e="",i=arguments.length;r<i;r++)(a=arguments[r])&&(t=ct(a))&&(e&&(e+=" "),e+=t);return e}function me(a){return typeof a=="object"?Rt(a):a??""}const ot=[...`
2
- \r\f \v\uFEFF`];function Ot(a,t,r){var e=a==null?"":""+a;if(t&&(e=e?e+" "+t:t),r){for(var i of Object.keys(r))if(r[i])e=e?e+" "+i:i;else if(e.length)for(var s=i.length,o=0;(o=e.indexOf(i,o))>=0;){var f=o+s;(o===0||ot.includes(e[o-1]))&&(f===e.length||ot.includes(e[f]))?e=(o===0?"":e.substring(0,o))+e.substring(f+1):o=f}}return e===""?null:e}function lt(a,t=!1){var r=t?" !important;":";",e="";for(var i of Object.keys(a)){var s=a[i];s!=null&&s!==""&&(e+=" "+i+": "+s+r)}return e}function kt(a,t){if(t){var r="",e,i;return Array.isArray(t)?(e=t[0],i=t[1]):e=t,e&&(r+=lt(e)),i&&(r+=lt(i,!0)),r=r.trim(),r===""?null:r}return String(a)}function ft(a,t,r,e,i,s){var o=a.__className;if(C||o!==r||o===void 0){var f=Ot(r,e,s);(!C||f!==a.getAttribute("class"))&&(f==null?a.removeAttribute("class"):a.className=f),a.__className=r}else if(s&&i!==s)for(var u in s){var b=!!s[u];(i==null||b!==!!i[u])&&a.classList.toggle(u,b)}return s}function Q(a,t={},r,e){for(var i in r){var s=r[i];t[i]!==s&&(r[i]==null?a.style.removeProperty(i):a.style.setProperty(i,s,e))}}function Lt(a,t,r,e){var i=a.__style;if(C||i!==t){var s=kt(t,e);(!C||s!==a.getAttribute("style"))&&(s==null?a.removeAttribute("style"):a.style.cssText=s),a.__style=t}else e&&(Array.isArray(e)?(Q(a,r==null?void 0:r[0],e[0]),Q(a,r==null?void 0:r[1],e[1],"important")):Q(a,r,e));return e}var jt=F('<rect x="0" y="0"></rect>'),zt=F('<rect fill="none"></rect>'),Bt=F("<circle></circle>"),Ft=F('<defs><pattern width="3" height="3" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="3" stroke-width="1.5"></line></pattern></defs><rect></rect>',1),Ht=F('<svg role="img" style="flex: none; display: inline-block; vertical-align: -0.12em;"><title> </title><!></svg>');function dt(a,t){let r=j(t,"size",3,12),e=j(t,"color",3,"currentColor");const i={empirical:"Empirical: directly measured or observed",modeled:"Modeled: scenario-based prediction",proxy:"Proxy: indirect indicator",synthetic:"Synthetic prior: generated, not observed"};let s=G(()=>Math.max(1,Math.round(r()/9))),o=G(()=>t.title??i[t.tier]),f=G(()=>`rip-stripe-${t.tier}-${r()}`);var u=Ht(),b=_(u),h=_(b,!0);m(b);var d=T(b);{var g=p=>{var l=jt();y(()=>{c(l,"width",r()),c(l,"height",r()),c(l,"fill",e())}),v(p,l)},W=p=>{var l=zt();y(()=>{c(l,"x",n(s)/2),c(l,"y",n(s)/2),c(l,"width",r()-n(s)),c(l,"height",r()-n(s)),c(l,"stroke",e()),c(l,"stroke-width",n(s))}),v(p,l)},M=p=>{var l=Bt();y(()=>{c(l,"cx",r()/2),c(l,"cy",r()/2),c(l,"r",r()/2-.5),c(l,"fill",e())}),v(p,l)},K=p=>{var l=Ft(),x=U(l),R=_(x),S=_(R);m(R),m(x);var A=T(x);y(()=>{c(R,"id",n(f)),c(S,"stroke",e()),c(A,"x",n(s)/2),c(A,"y",n(s)/2),c(A,"width",r()-n(s)),c(A,"height",r()-n(s)),c(A,"fill",`url(#${n(f)??""})`),c(A,"stroke",e()),c(A,"stroke-width",n(s))}),v(p,l)};N(d,p=>{t.tier==="empirical"?p(g):t.tier==="modeled"?p(W,1):t.tier==="proxy"?p(M,2):p(K,-1)})}m(u),y(()=>{c(u,"width",r()),c(u,"height",r()),c(u,"viewBox",`0 0 ${r()??""} ${r()??""}`),c(u,"aria-label",n(o)),E(h,n(o))}),v(a,u)}var Gt=w('<span><span class="claim-glyph" aria-hidden="false"><!></span> <span class="claim-body"><!></span></span>');function Ut(a,t){var r=Gt(),e=_(r),i=_(e);dt(i,{get tier(){return t.tier},size:11,get color(){return`var(--tier-${t.tier??""})`}}),m(e);var s=T(e,2),o=_(s);Pt(o,()=>t.children),m(s),m(r),y(()=>{ft(r,1,`claim claim-${t.tier??""}`),c(r,"data-tier",t.tier)}),v(a,r)}var z,B;class Yt{constructor(){V(this,z,Y(null));V(this,B,Y(null))}get active(){return n(k(this,z))}set active(t){I(k(this,z),t,!0)}get highlightDocId(){return n(k(this,B))}set highlightDocId(t){I(k(this,B),t,!0)}}z=new WeakMap,B=new WeakMap;const Kt=new Yt;var Vt=w('<a class="inline-cite"><sup> </sup></a>');function qt(a,t){X(t,!0);function r(o){o.preventDefault(),Kt.active=t.c.id;const f=document.getElementById(`cite-${t.c.id}`);f==null||f.scrollIntoView({block:"center",behavior:"smooth"})}var e=Vt(),i=_(e),s=_(i);m(i),m(e),y(()=>{c(e,"href",`#cite-${t.c.id??""}`),c(e,"data-cite",t.c.id),c(e,"aria-label",`Citation ${t.c.n??""}: ${t.c.source??""}, ${t.c.title??""}`),E(s,`[${t.c.n??""}]`)}),pt("click",e,r),v(a,e),Z()}bt(["click"]);const Qt={empirical:{label:"Empirical",short:"EMP",desc:"Directly measured or observed",examples:"USGS high-water marks · FloodNet sensors · Sandy Inundation Zone"},modeled:{label:"Modeled",short:"MOD",desc:"Scenario-based prediction",examples:"FEMA flood zones · DEP stormwater scenarios · NPCC4 SLR"},proxy:{label:"Proxy",short:"PRX",desc:"Indirect indicator",examples:"311 flood complaints · NFIP claims · terrain indices"},synthetic:{label:"Synthetic prior",short:"SYN",desc:"Generated, not observed",examples:"TerraMind land-cover · synthetic SAR for occluded days"}};function ge(a){const t=a.toLowerCase();return t.startsWith("syn")||t.startsWith("terramind")||t.includes("synthetic")?"synthetic":t.startsWith("sandy")||t.startsWith("floodnet")||t.startsWith("usgs")||t.startsWith("mta_entrance")||t.startsWith("nycha_dev")||t.startsWith("doe_school")||t.startsWith("doh_hospital")||t.startsWith("ida_hwm")||t.startsWith("hwm")||t.startsWith("noaa")||t.startsWith("nws_obs")||t.startsWith("prithvi_eo")?"empirical":t.startsWith("dep")||t.startsWith("fema_firm")||t.startsWith("npcc")||t.startsWith("wrp")||t.includes("scenario")||t.includes("forecast")||t.startsWith("prithvi")||t.startsWith("ttm")||t.startsWith("nws_alert")?"modeled":(t.startsWith("nyc311")||t.startsWith("311")||t.startsWith("nfip")||t.startsWith("rag")||t.startsWith("dob")||t.startsWith("hand")||t.startsWith("twi")||t.startsWith("microtopo"),"proxy")}function _e(a){const t=a.toLowerCase();return t==="geocode"||t.startsWith("fan")||t.startsWith("merge")||t==="plan"||t==="compose"||t==="reconcile"||t==="stream"?null:t==="sandy"||t==="sandy_inundation"||t==="floodnet"||t==="ida_hwm"||t==="noaa_tides"||t==="nws_obs"||t==="prithvi_eo_v2"||t==="prithvi_eo_live"||t==="mta_entrance_exposure"||t==="mta_entrances"||t==="nycha_developments"||t==="doe_school_exposure"||t==="doe_schools"||t==="doh_hospital_exposure"||t==="doh_hospitals"?"empirical":t==="dep"||t==="dep_stormwater"||t==="ttm_forecast"||t==="ttm_311_forecast"||t==="floodnet_forecast"||t==="nws_alerts"||t==="prithvi_water"?"modeled":t==="nyc311"||t==="microtopo"||t==="microtopo_lidar"||t==="rag"||t==="rag_mta"?"proxy":t==="terramind"||t==="terramind_synthesis"?"synthetic":null}var Xt=w("<span><!> </span>");function Zt(a,t){X(t,!0);let r=j(t,"compact",3,!1),e=G(()=>Qt[t.tier]);var i=Xt();let s;var o=_(i);dt(o,{get tier(){return t.tier},size:10,get color(){return`var(--tier-${t.tier??""})`}});var f=T(o);m(i),y(()=>{ft(i,1,`tier-badge tier-badge-${t.tier??""}`,"svelte-1acpjpp"),c(i,"title",n(e).desc),s=Lt(i,"",s,{color:`var(--tier-${t.tier??""})`}),E(f,` ${(r()?n(e).short:n(e).label)??""}`)}),v(a,i),Z()}var Jt=w('<span class="briefing-section-tier"><!></span>'),$t=w('<span class="briefing-section-title"> </span>'),te=w('<h3 class="briefing-section-head"><span class="briefing-section-num"> </span> <span class="briefing-section-label"> </span> <!> <!></h3>');function ee(a,t){var r=te(),e=_(r),i=_(e,!0);m(e);var s=T(e,2),o=_(s,!0);m(s);var f=T(s,2);{var u=d=>{var g=Jt(),W=_(g);Zt(W,{get tier(){return t.tier},compact:!0}),m(g),v(d,g)};N(f,d=>{t.tier&&d(u)})}var b=T(f,2);{var h=d=>{var g=$t(),W=_(g,!0);m(g),y(()=>E(W,t.title)),v(d,g)};N(b,d=>{t.title&&d(h)})}m(r),y(()=>{E(i,t.n),E(o,t.label)}),v(a,r)}var re=w('<div class="briefing-status"></div>'),ae=w("<!><!>",1),ie=w("<span> </span>"),se=w('<p class="briefing-para"></p>'),ne=w('<span class="streaming-caret" aria-hidden="true">▍</span>'),oe=w('<div class="briefing-prose" role="log" aria-live="polite" aria-atomic="false" aria-label="Streaming flood-exposure briefing"><!> <!></div>');function be(a,t){X(t,!0);let r=j(t,"streaming",3,!1),e=j(t,"replayKey",3,0),i=Y(It(t.blocks.length)),s=Y(!1);it(()=>{typeof window>"u"||I(s,window.matchMedia("(prefers-reduced-motion: reduce)").matches,!0)}),it(()=>{if(e(),!r()){I(i,t.blocks.length,!0);return}if(n(s)){I(i,t.blocks.length,!0);return}I(i,0);let h=0,d;const g=()=>{h++,I(i,h,!0),h<t.blocks.length&&(d=setTimeout(g,h<2?280:420))};return d=setTimeout(g,240),()=>clearTimeout(d)});var o=oe(),f=_(o);st(f,17,()=>t.blocks.slice(0,n(i)),nt,(h,d)=>{var g=tt(),W=U(g);{var M=l=>{var x=re();Dt(x,()=>n(d).html,!0),m(x),v(l,x)},K=l=>{ee(l,{get n(){return n(d).n},get label(){return n(d).label},get tier(){return n(d).tier},get title(){return n(d).title}})},p=l=>{var x=se();st(x,21,()=>n(d).parts,nt,(R,S)=>{var A=tt(),ht=U(A);{var ut=P=>{var D=ae(),H=U(D);Ut(H,{get tier(){return n(S).tier},children:(O,le)=>{Nt();var J=yt();y(()=>E(J,n(S).text)),v(O,J)}});var mt=T(H);{var gt=O=>{qt(O,{get c(){return t.citations[n(S).cite]}})};N(mt,O=>{n(S).cite&&t.citations[n(S).cite]&&O(gt)})}v(P,D)},vt=P=>{var D=ie(),H=_(D,!0);m(D),y(()=>E(H,n(S).text)),v(P,D)};N(ht,P=>{n(S).tier?P(ut):P(vt,-1)})}v(R,A)}),m(x),v(l,x)};N(W,l=>{n(d).kind==="status"?l(M):n(d).kind==="head"?l(K,1):l(p,-1)})}v(h,g)});var u=T(f,2);{var b=h=>{var d=ne();v(h,d)};N(u,h=>{n(i)<t.blocks.length&&h(b)})}m(o),v(a,o),Z()}export{be as B,dt as T,Zt as a,Lt as b,Kt as c,me as d,_e as e,ft as s,ge as t};
 
 
 
web/sveltekit/build/_app/immutable/chunks/CYuHyzh3.js DELETED
@@ -1 +0,0 @@
1
- var gt=Object.defineProperty;var kn=e=>{throw TypeError(e)};var yt=(e,n,t)=>n in e?gt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var se=(e,n,t)=>yt(e,typeof n!="symbol"?n+"":n,t),rn=(e,n,t)=>n.has(e)||kn("Cannot "+t);var u=(e,n,t)=>(rn(e,n,"read from private field"),t?t.call(e):n.get(e)),N=(e,n,t)=>n.has(e)?kn("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),ge=(e,n,t,r)=>(rn(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),D=(e,n,t)=>(rn(e,n,"access private method"),t);var mt=Array.isArray,Tt=Array.prototype.indexOf,Re=Array.prototype.includes,gr=Array.from,yr=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,mr=Object.getOwnPropertyDescriptors,bt=Object.prototype,At=Array.prototype,St=Object.getPrototypeOf,Nn=Object.isExtensible;const Rt=()=>{};function kt(e){for(var n=0;n<e.length;n++)e[n]()}function jn(){var e,n,t=new Promise((r,s)=>{e=r,n=s});return{promise:t,resolve:e,reject:n}}const x=2,ve=4,Ye=8,Yn=1<<24,G=16,z=32,ee=64,Nt=128,F=512,T=1024,O=2048,K=4096,L=8192,q=16384,Ee=32768,On=1<<25,Xe=65536,an=1<<17,Ot=1<<18,He=1<<19,Hn=1<<20,Tr=1<<25,de=65536,Ze=1<<21,Ce=1<<22,Q=1<<23,sn=Symbol("$state"),br=Symbol("legacy props"),Ar=Symbol(""),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Ln;const Rr=!!((Ln=globalThis.document)!=null&&Ln.contentType)&&globalThis.document.contentType.includes("xml"),tn=3,qn=8;function Un(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function xt(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function kr(e,n,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function It(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Dt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Pt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Mt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Nr(){throw new Error("https://svelte.dev/e/hydration_failed")}function Or(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ct(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ft(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Lt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function xr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ir=1,Dr=2,Pr=4,Mr=8,Cr=16,Fr=1,Lr=2,jr=4,Yr=8,Hr=16,qr=1,Ur=2,jt="[",Yt="[!",Vr="[?",Ht="]",dn={},S=Symbol(),qt="http://www.w3.org/1999/xhtml",Br="http://www.w3.org/2000/svg",Gr="http://www.w3.org/1998/Math/MathML";function Ut(){console.warn("https://svelte.dev/e/derived_inert")}function hn(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function zr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let he=!1;function Kr(e){he=e}let R;function ke(e){if(e===null)throw hn(),dn;return R=e}function $r(){return ke(re(R))}function Xr(e){if(he){if(re(R)!==null)throw hn(),dn;R=e}}function Zr(e=1){if(he){for(var n=e,t=R;n--;)t=re(t);R=t}}function Wr(e=!0){for(var n=0,t=R;;){if(t.nodeType===qn){var r=t.data;if(r===Ht){if(n===0)return t;n-=1}else(r===jt||r===Yt||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=re(t);e&&t.remove(),t=s}}function Jr(e){if(!e||e.nodeType!==qn)throw hn(),dn;return e.data}function Vn(e){return e===this.v}function Vt(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function Bn(e){return!Vt(e,this.v)}let qe=!1;function Qr(){qe=!0}let b=null;function We(e){b=e}function es(e,n=!1,t){b={p:b,i:!1,c:null,e:null,s:e,x:null,r:E,l:qe&&!n?{s:null,u:null,$:[]}:null}}function ns(e){var n=b,t=n.e;if(t!==null){n.e=null;for(var r of t)it(r)}return n.i=!0,b=n.p,{}}function Ue(){return!qe||b!==null&&b.l===null}let fe=[];function Gn(){var e=fe;fe=[],kt(e)}function xn(e){if(fe.length===0&&!Me){var n=fe;queueMicrotask(()=>{n===fe&&Gn()})}fe.push(e)}function Bt(){for(;fe.length>0;)Gn()}function Gt(e){var n=E;if(n===null)return w.f|=Q,e;if((n.f&Ee)===0&&(n.f&ve)===0)throw e;Je(e,n)}function Je(e,n){for(;n!==null;){if((n.f&Nt)!==0){if((n.f&Ee)===0)throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}const zt=-7169;function g(e,n){e.f=e.f&zt|n}function pn(e){(e.f&F)!==0||e.deps===null?g(e,T):g(e,K)}function zn(e){if(e!==null)for(const n of e)(n.f&x)===0||(n.f&de)===0||(n.f^=de,zn(n.deps))}function Kt(e,n,t){(e.f&O)!==0?n.add(e):(e.f&K)!==0&&t.add(e),zn(e.deps),g(e,T)}const le=new Set;let p=null,k=null,un=null,Me=!1,ln=!1,ye=null,Be=null;var In=0;let $t=1;var Te,be,ue,X,V,Le,M,je,J,Z,B,Ae,Se,oe,y,Ge,Kn,ze,on,Ke,Xt;const nn=class nn{constructor(){N(this,y);se(this,"id",$t++);se(this,"current",new Map);se(this,"previous",new Map);N(this,Te,new Set);N(this,be,new Set);N(this,ue,new Set);N(this,X,new Map);N(this,V,new Map);N(this,Le,null);N(this,M,[]);N(this,je,[]);N(this,J,new Set);N(this,Z,new Set);N(this,B,new Map);N(this,Ae,new Set);se(this,"is_fork",!1);N(this,Se,!1);N(this,oe,new Set)}skip_effect(n){u(this,B).has(n)||u(this,B).set(n,{d:[],m:[]}),u(this,Ae).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=u(this,B).get(n);if(r){u(this,B).delete(n);for(var s of r.d)g(s,O),t(s);for(s of r.m)g(s,K),t(s)}u(this,Ae).add(n)}capture(n,t,r=!1){n.v!==S&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&Q)===0&&(this.current.set(n,[t,r]),k==null||k.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,k=null}flush(){try{ln=!0,p=this,D(this,y,ze).call(this)}finally{In=0,un=null,ye=null,Be=null,ln=!1,p=null,k=null,ce.clear()}}discard(){for(const n of u(this,be))n(this);u(this,be).clear(),u(this,ue).clear(),le.delete(this)}register_created_effect(n){u(this,je).push(n)}increment(n,t){let r=u(this,X).get(t)??0;if(u(this,X).set(t,r+1),n){let s=u(this,V).get(t)??0;u(this,V).set(t,s+1)}}decrement(n,t,r){let s=u(this,X).get(t)??0;if(s===1?u(this,X).delete(t):u(this,X).set(t,s-1),n){let l=u(this,V).get(t)??0;l===1?u(this,V).delete(t):u(this,V).set(t,l-1)}u(this,Se)||r||(ge(this,Se,!0),xn(()=>{ge(this,Se,!1),this.flush()}))}transfer_effects(n,t){for(const r of n)u(this,J).add(r);for(const r of t)u(this,Z).add(r);n.clear(),t.clear()}oncommit(n){u(this,Te).add(n)}ondiscard(n){u(this,be).add(n)}on_fork_commit(n){u(this,ue).add(n)}run_fork_commit_callbacks(){for(const n of u(this,ue))n(this);u(this,ue).clear()}settled(){return(u(this,Le)??ge(this,Le,jn())).promise}static ensure(){if(p===null){const n=p=new nn;ln||(le.add(p),Me||xn(()=>{p===n&&n.flush()}))}return p}apply(){{k=null;return}}schedule(n){var s;if(un=n,(s=n.b)!=null&&s.is_pending&&(n.f&(ve|Ye|Yn))!==0&&(n.f&Ee)===0){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(ye!==null&&t===E&&(w===null||(w.f&x)===0))return;if((r&(ee|z))!==0){if((r&T)===0)return;t.f^=T}}u(this,M).push(t)}};Te=new WeakMap,be=new WeakMap,ue=new WeakMap,X=new WeakMap,V=new WeakMap,Le=new WeakMap,M=new WeakMap,je=new WeakMap,J=new WeakMap,Z=new WeakMap,B=new WeakMap,Ae=new WeakMap,Se=new WeakMap,oe=new WeakMap,y=new WeakSet,Ge=function(){return this.is_fork||u(this,V).size>0},Kn=function(){for(const r of u(this,oe))for(const s of u(r,V).keys()){for(var n=!1,t=s;t.parent!==null;){if(u(this,B).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},ze=function(){var a,f;if(In++>1e3&&(le.delete(this),Wt()),!D(this,y,Ge).call(this)){for(const i of u(this,J))u(this,Z).delete(i),g(i,O),this.schedule(i);for(const i of u(this,Z))g(i,K),this.schedule(i)}const n=u(this,M);ge(this,M,[]),this.apply();var t=ye=[],r=[],s=Be=[];for(const i of n)try{D(this,y,on).call(this,i,t,r)}catch(c){throw Zn(i),c}if(p=null,s.length>0){var l=nn.ensure();for(const i of s)l.schedule(i)}if(ye=null,Be=null,D(this,y,Ge).call(this)||D(this,y,Kn).call(this)){D(this,y,Ke).call(this,r),D(this,y,Ke).call(this,t);for(const[i,c]of u(this,B))Xn(i,c)}else{u(this,X).size===0&&le.delete(this),u(this,J).clear(),u(this,Z).clear();for(const i of u(this,Te))i(this);u(this,Te).clear(),Dn(r),Dn(t),(a=u(this,Le))==null||a.resolve()}var o=p;if(u(this,M).length>0){const i=o??(o=this);u(i,M).push(...u(this,M).filter(c=>!u(i,M).includes(c)))}o!==null&&(le.add(o),D(f=o,y,ze).call(f))},on=function(n,t,r){n.f^=T;for(var s=n.first;s!==null;){var l=s.f,o=(l&(z|ee))!==0,a=o&&(l&T)!==0,f=a||(l&L)!==0||u(this,B).has(s);if(!f&&s.fn!==null){o?s.f^=T:(l&ve)!==0?t.push(s):Ve(s)&&((l&G)!==0&&u(this,Z).add(s),Oe(s));var i=s.first;if(i!==null){s=i;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},Ke=function(n){for(var t=0;t<n.length;t+=1)Kt(n[t],u(this,J),u(this,Z))},Xt=function(){var c,h,d;for(const v of le){var n=v.id<this.id,t=[];for(const[_,[A,m]]of this.current){if(v.current.has(_)){var r=v.current.get(_)[0];if(n&&A!==r)v.current.set(_,[A,m]);else continue}t.push(_)}var s=[...v.current.keys()].filter(_=>!this.current.has(_));if(s.length===0)n&&v.discard();else if(t.length>0){if(n)for(const _ of u(this,Ae))v.unskip_effect(_,A=>{var m;(A.f&(G|Ce))!==0?v.schedule(A):D(m=v,y,Ke).call(m,[A])});v.activate();var l=new Set,o=new Map;for(var a of t)$n(a,s,l,o);o=new Map;var f=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,je))(_.f&(q|L|an))===0&&wn(_,f,o)&&((_.f&(Ce|G))!==0?(g(_,O),v.schedule(_)):u(v,J).add(_));if(u(v,M).length>0){v.apply();for(var i of u(v,M))D(c=v,y,on).call(c,i,[],[]);ge(v,M,[])}v.deactivate()}}for(const v of le)u(v,oe).has(this)&&(u(v,oe).delete(this),u(v,oe).size===0&&!D(h=v,y,Ge).call(h)&&(v.activate(),D(d=v,y,ze).call(d)))};let pe=nn;function Zt(e){var n=Me;Me=!0;try{for(var t;;){if(Bt(),p===null)return t;p.flush()}}finally{Me=n}}function Wt(){try{Mt()}catch(e){Je(e,un)}}let Y=null;function Dn(e){var n=e.length;if(n!==0){for(var t=0;t<n;){var r=e[t++];if((r.f&(q|L))===0&&Ve(r)&&(Y=new Set,Oe(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&at(r),(Y==null?void 0:Y.size)>0)){ce.clear();for(const s of Y){if((s.f&(q|L))!==0)continue;const l=[s];let o=s.parent;for(;o!==null;)Y.has(o)&&(Y.delete(o),l.push(o)),o=o.parent;for(let a=l.length-1;a>=0;a--){const f=l[a];(f.f&(q|L))===0&&Oe(f)}}Y.clear()}}Y=null}}function $n(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const l=s.f;(l&x)!==0?$n(s,n,t,r):(l&(Ce|G))!==0&&(l&O)===0&&wn(s,n,r)&&(g(s,O),En(s))}}function wn(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Re.call(n,s))return!0;if((s.f&x)!==0&&wn(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function En(e){p.schedule(e)}function Xn(e,n){if(!((e.f&z)!==0&&(e.f&T)!==0)){(e.f&O)!==0?n.d.push(e):(e.f&K)!==0&&n.m.push(e),g(e,T);for(var t=e.first;t!==null;)Xn(t,n),t=t.next}}function Zn(e){g(e,T);for(var n=e.first;n!==null;)Zn(n),n=n.next}function Wn(e,n,t,r){const s=Ue()?yn:er;var l=e.filter(d=>!d.settled);if(t.length===0&&l.length===0){r(n.map(s));return}var o=E,a=Jt(),f=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(d=>d.promise)):null;function i(d){a();try{r(d)}catch(v){(o.f&q)===0&&Je(v,o)}Qe()}if(t.length===0){f.then(()=>i(n.map(s)));return}var c=gn();function h(){Promise.all(t.map(d=>Qt(d))).then(d=>i([...n.map(s),...d])).catch(d=>Je(d,o)).finally(()=>c())}f?f.then(()=>{a(),h(),Qe()}):h()}function Jt(){var e=E,n=w,t=b,r=p;return function(l=!0){Ne(e),te(n),We(t),l&&(e.f&q)===0&&(r==null||r.activate(),r==null||r.apply())}}function Qe(e=!0){Ne(null),te(null),We(null),e&&(p==null||p.deactivate())}function gn(){var e=E,n=e.b,t=p,r=n.is_rendered();return n.update_pending_count(1,t),t.increment(r,e),(s=!1)=>{n.update_pending_count(-1,t),t.decrement(r,e,s)}}function yn(e){var n=x|O;return E!==null&&(E.f|=He),{ctx:b,deps:null,effects:null,equals:Vn,f:n,fn:e,reactions:null,rv:0,v:S,wv:0,parent:E,ac:null}}function Qt(e,n,t){let r=E;r===null&&xt();var s=void 0,l=Tn(S),o=!w,a=new Map;return or(()=>{var v;var f=E,i=jn();s=i.promise;try{Promise.resolve(e()).then(i.resolve,i.reject).finally(Qe)}catch(_){i.reject(_),Qe()}var c=p;if(o){if((f.f&Ee)!==0)var h=gn();if(r.b.is_rendered())(v=a.get(c))==null||v.reject($),a.delete(c);else{for(const _ of a.values())_.reject($);a.clear()}a.set(c,i)}const d=(_,A=void 0)=>{if(h){var m=A===$;h(m)}if(!(A===$||(f.f&q)!==0)){if(c.activate(),A)l.f|=Q,_n(l,A);else{(l.f&Q)!==0&&(l.f^=Q),_n(l,_);for(const[xe,Ie]of a){if(a.delete(xe),xe===c)break;Ie.reject($)}}c.deactivate()}};i.promise.then(d,_=>d(null,_||"unknown"))}),ar(()=>{for(const f of a.values())f.reject($)}),new Promise(f=>{function i(c){function h(){c===s?f(l):i(s)}c.then(h,h)}i(s)})}function ts(e){const n=yn(e);return ct(n),n}function er(e){const n=yn(e);return n.equals=Bn,n}function nr(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t<n.length;t+=1)we(n[t])}}function mn(e){var n,t=E,r=e.parent;if(!ne&&r!==null&&(r.f&(q|L))!==0)return Ut(),e.v;Ne(r);try{e.f&=~de,nr(e),n=ht(e)}finally{Ne(t)}return n}function Jn(e){var n=mn(e);if(!e.equals(n)&&(e.wv=vt(),(!(p!=null&&p.is_fork)||e.deps===null)&&(p!==null?p.capture(e,n,!0):e.v=n,e.deps===null))){g(e,T);return}ne||(k!==null?(lt()||p!=null&&p.is_fork)&&k.set(e,n):pn(e))}function tr(e){var n,t;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((n=r.teardown)==null||n.call(r),(t=r.ac)==null||t.abort($),r.teardown=Rt,r.ac=null,Fe(r,0),Sn(r))}function Qn(e){if(e.effects!==null)for(const n of e.effects)n.teardown&&Oe(n)}let cn=new Set;const ce=new Map;let et=!1;function Tn(e,n){var t={f:0,v:e,reactions:null,equals:Vn,rv:0,wv:0};return t}function W(e,n){const t=Tn(e);return ct(t),t}function rs(e,n=!1,t=!0){var s;const r=Tn(e);return n||(r.equals=Bn),qe&&t&&b!==null&&b.l!==null&&((s=b.l).s??(s.s=[])).push(r),r}function ie(e,n,t=!1){w!==null&&(!H||(w.f&an)!==0)&&Ue()&&(w.f&(x|G|Ce|an))!==0&&(j===null||!Re.call(j,e))&&Lt();let r=t?De(n):n;return _n(e,r,Be)}function _n(e,n,t=null){if(!e.equals(n)){ce.set(e,ne?n:e.v);var r=pe.ensure();if(r.capture(e,n),(e.f&x)!==0){const s=e;(e.f&O)!==0&&mn(s),k===null&&pn(s)}e.wv=vt(),nt(e,O,t),Ue()&&E!==null&&(E.f&T)!==0&&(E.f&(z|ee))===0&&(C===null?dr([e]):C.push(e)),!r.is_fork&&cn.size>0&&!et&&rr()}return n}function rr(){et=!1;for(const e of cn)(e.f&T)!==0&&g(e,K),Ve(e)&&Oe(e);cn.clear()}function fn(e){ie(e,e.v+1)}function nt(e,n,t){var r=e.reactions;if(r!==null)for(var s=Ue(),l=r.length,o=0;o<l;o++){var a=r[o],f=a.f;if(!(!s&&a===E)){var i=(f&O)===0;if(i&&g(a,n),(f&x)!==0){var c=a;k==null||k.delete(c),(f&de)===0&&(f&F&&(E===null||(E.f&Ze)===0)&&(a.f|=de),nt(c,K,t))}else if(i){var h=a;(f&G)!==0&&Y!==null&&Y.add(h),t!==null?t.push(h):En(h)}}}}function De(e){if(typeof e!="object"||e===null||sn in e)return e;const n=St(e);if(n!==bt&&n!==At)return e;var t=new Map,r=mt(e),s=W(0),l=_e,o=a=>{if(_e===l)return a();var f=w,i=_e;te(null),Fn(l);var c=a();return te(f),Fn(i),c};return r&&t.set("length",W(e.length)),new Proxy(e,{defineProperty(a,f,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&Ct();var c=t.get(f);return c===void 0?o(()=>{var h=W(i.value);return t.set(f,h),h}):ie(c,i.value,!0),!0},deleteProperty(a,f){var i=t.get(f);if(i===void 0){if(f in a){const c=o(()=>W(S));t.set(f,c),fn(s)}}else ie(i,S),fn(s);return!0},get(a,f,i){var v;if(f===sn)return e;var c=t.get(f),h=f in a;if(c===void 0&&(!h||(v=Pe(a,f))!=null&&v.writable)&&(c=o(()=>{var _=De(h?a[f]:S),A=W(_);return A}),t.set(f,c)),c!==void 0){var d=me(c);return d===S?void 0:d}return Reflect.get(a,f,i)},getOwnPropertyDescriptor(a,f){var i=Reflect.getOwnPropertyDescriptor(a,f);if(i&&"value"in i){var c=t.get(f);c&&(i.value=me(c))}else if(i===void 0){var h=t.get(f),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return i},has(a,f){var d;if(f===sn)return!0;var i=t.get(f),c=i!==void 0&&i.v!==S||Reflect.has(a,f);if(i!==void 0||E!==null&&(!c||(d=Pe(a,f))!=null&&d.writable)){i===void 0&&(i=o(()=>{var v=c?De(a[f]):S,_=W(v);return _}),t.set(f,i));var h=me(i);if(h===S)return!1}return c},set(a,f,i,c){var Rn;var h=t.get(f),d=f in a;if(r&&f==="length")for(var v=i;v<h.v;v+=1){var _=t.get(v+"");_!==void 0?ie(_,S):v in a&&(_=o(()=>W(S)),t.set(v+"",_))}if(h===void 0)(!d||(Rn=Pe(a,f))!=null&&Rn.writable)&&(h=o(()=>W(void 0)),ie(h,De(i)),t.set(f,h));else{d=h.v!==S;var A=o(()=>De(i));ie(h,A)}var m=Reflect.getOwnPropertyDescriptor(a,f);if(m!=null&&m.set&&m.set.call(c,i),!d){if(r&&typeof f=="string"){var xe=t.get("length"),Ie=Number(f);Number.isInteger(Ie)&&Ie>=xe.v&&ie(xe,Ie+1)}fn(s)}return!0},ownKeys(a){me(s);var f=Reflect.ownKeys(a).filter(h=>{var d=t.get(h);return d===void 0||d.v!==S});for(var[i,c]of t)c.v!==S&&!(i in a)&&f.push(i);return f},setPrototypeOf(){Ft()}})}var Pn,sr,lr,tt,rt;function ss(){if(Pn===void 0){Pn=window,sr=document,lr=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;tt=Pe(n,"firstChild").get,rt=Pe(n,"nextSibling").get,Nn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Nn(t)&&(t.__t=void 0)}}function en(e=""){return document.createTextNode(e)}function vn(e){return tt.call(e)}function re(e){return rt.call(e)}function ls(e,n){if(!he)return vn(e);var t=vn(R);if(t===null)t=R.appendChild(en());else if(n&&t.nodeType!==tn){var r=en();return t==null||t.before(r),ke(r),r}return n&&bn(t),ke(t),t}function is(e,n=!1){if(!he){var t=vn(e);return t instanceof Comment&&t.data===""?re(t):t}if(n){if((R==null?void 0:R.nodeType)!==tn){var r=en();return R==null||R.before(r),ke(r),r}bn(R)}return R}function fs(e,n=1,t=!1){let r=he?R:e;for(var s;n--;)s=r,r=re(r);if(!he)return r;if(t){if((r==null?void 0:r.nodeType)!==tn){var l=en();return r===null?s==null||s.after(l):r.before(l),ke(l),l}bn(r)}return ke(r),r}function as(e){e.textContent=""}function us(){return!1}function os(e,n,t){return document.createElementNS(n??qt,e,void 0)}function bn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===tn;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}let Mn=!1;function ir(){Mn||(Mn=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var n;if(!e.defaultPrevented)for(const t of e.target.elements)(n=t.__on_r)==null||n.call(t)})},{capture:!0}))}function An(e){var n=w,t=E;te(null),Ne(null);try{return e()}finally{te(n),Ne(t)}}function cs(e,n,t,r=t){e.addEventListener(n,()=>An(t));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ir()}function st(e){E===null&&(w===null&&Pt(),Dt()),ne&&It()}function fr(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function U(e,n){var t=E;t!==null&&(t.f&L)!==0&&(e|=L);var r={ctx:b,deps:null,nodes:null,f:e|O|F,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if((e&ve)!==0)ye!==null?ye.push(r):pe.ensure().schedule(r);else if(n!==null){try{Oe(r)}catch(o){throw we(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&He)===0&&(s=s.first,(e&G)!==0&&(e&Xe)!==0&&s!==null&&(s.f|=Xe))}if(s!==null&&(s.parent=t,t!==null&&fr(s,t),w!==null&&(w.f&x)!==0&&(e&ee)===0)){var l=w;(l.effects??(l.effects=[])).push(s)}return r}function lt(){return w!==null&&!H}function ar(e){const n=U(Ye,null);return g(n,T),n.teardown=e,n}function ur(e){st();var n=E.f,t=!w&&(n&z)!==0&&(n&Ee)===0;if(t){var r=b;(r.e??(r.e=[])).push(e)}else return it(e)}function it(e){return U(ve|Hn,e)}function _s(e){return st(),U(Ye|Hn,e)}function vs(e){pe.ensure();const n=U(ee|He,e);return(t={})=>new Promise(r=>{t.outro?vr(n,()=>{we(n),r(void 0)}):(we(n),r(void 0))})}function ds(e){return U(ve,e)}function or(e){return U(Ce|He,e)}function hs(e,n=0){return U(Ye|n,e)}function ps(e,n=[],t=[],r=[]){Wn(r,n,t,s=>{U(Ye,()=>e(...s.map(me)))})}function ws(e,n=[],t=[],r=[]){if(t.length>0||r.length>0)var s=gn();Wn(r,n,t,l=>{U(ve,()=>e(...l.map(me))),s&&s()})}function Es(e,n=0){var t=U(G|n,e);return t}function gs(e){return U(z|He,e)}function ft(e){var n=e.teardown;if(n!==null){const t=ne,r=w;Cn(!0),te(null);try{n.call(null)}finally{Cn(t),te(r)}}}function Sn(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&An(()=>{s.abort($)});var r=t.next;(t.f&ee)!==0?t.parent=null:we(t,n),t=r}}function cr(e){for(var n=e.first;n!==null;){var t=n.next;(n.f&z)===0&&we(n),n=t}}function we(e,n=!0){var t=!1;(n||(e.f&Ot)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(_r(e.nodes.start,e.nodes.end),t=!0),g(e,On),Sn(e,n&&!t),Fe(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)l.stop();ft(e),e.f^=On,e.f|=q;var s=e.parent;s!==null&&s.first!==null&&at(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function _r(e,n){for(;e!==null;){var t=e===n?null:re(e);e.remove(),e=t}}function at(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function vr(e,n,t=!0){var r=[];ut(e,r,!0);var s=()=>{t&&we(e),n&&n()},l=r.length;if(l>0){var o=()=>--l||s();for(var a of r)a.out(o)}else s()}function ut(e,n,t){if((e.f&L)===0){e.f^=L;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||t)&&n.push(a);for(var s=e.first;s!==null;){var l=s.next;if((s.f&ee)===0){var o=(s.f&Xe)!==0||(s.f&z)!==0&&(e.f&G)!==0;ut(s,n,o?t:!1)}s=l}}}function ys(e){ot(e,!0)}function ot(e,n){if((e.f&L)!==0){e.f^=L,(e.f&T)===0&&(g(e,O),pe.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&Xe)!==0||(t.f&z)!==0;ot(t,s?n:!1),t=r}var l=e.nodes&&e.nodes.t;if(l!==null)for(const o of l)(o.is_global||n)&&o.in()}}function ms(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:re(t);n.append(t),t=s}}let $e=!1,ne=!1;function Cn(e){ne=e}let w=null,H=!1;function te(e){w=e}let E=null;function Ne(e){E=e}let j=null;function ct(e){w!==null&&(j===null?j=[e]:j.push(e))}let I=null,P=0,C=null;function dr(e){C=e}let _t=1,ae=0,_e=ae;function Fn(e){_e=e}function vt(){return++_t}function Ve(e){var n=e.f;if((n&O)!==0)return!0;if(n&x&&(e.f&=~de),(n&K)!==0){for(var t=e.deps,r=t.length,s=0;s<r;s++){var l=t[s];if(Ve(l)&&Jn(l),l.wv>e.wv)return!0}(n&F)!==0&&k===null&&g(e,T)}return!1}function dt(e,n,t=!0){var r=e.reactions;if(r!==null&&!(j!==null&&Re.call(j,e)))for(var s=0;s<r.length;s++){var l=r[s];(l.f&x)!==0?dt(l,n,!1):n===l&&(t?g(l,O):(l.f&T)!==0&&g(l,K),En(l))}}function ht(e){var A;var n=I,t=P,r=C,s=w,l=j,o=b,a=H,f=_e,i=e.f;I=null,P=0,C=null,w=(i&(z|ee))===0?e:null,j=null,We(e.ctx),H=!1,_e=++ae,e.ac!==null&&(An(()=>{e.ac.abort($)}),e.ac=null);try{e.f|=Ze;var c=e.fn,h=c();e.f|=Ee;var d=e.deps,v=p==null?void 0:p.is_fork;if(I!==null){var _;if(v||Fe(e,P),d!==null&&P>0)for(d.length=P+I.length,_=0;_<I.length;_++)d[P+_]=I[_];else e.deps=d=I;if(lt()&&(e.f&F)!==0)for(_=P;_<d.length;_++)((A=d[_]).reactions??(A.reactions=[])).push(e)}else!v&&d!==null&&P<d.length&&(Fe(e,P),d.length=P);if(Ue()&&C!==null&&!H&&d!==null&&(e.f&(x|K|O))===0)for(_=0;_<C.length;_++)dt(C[_],e);if(s!==null&&s!==e){if(ae++,s.deps!==null)for(let m=0;m<t;m+=1)s.deps[m].rv=ae;if(n!==null)for(const m of n)m.rv=ae;C!==null&&(r===null?r=C:r.push(...C))}return(e.f&Q)!==0&&(e.f^=Q),h}catch(m){return Gt(m)}finally{e.f^=Ze,I=n,P=t,C=r,w=s,j=l,We(o),H=a,_e=f}}function hr(e,n){let t=n.reactions;if(t!==null){var r=Tt.call(t,e);if(r!==-1){var s=t.length-1;s===0?t=n.reactions=null:(t[r]=t[s],t.pop())}}if(t===null&&(n.f&x)!==0&&(I===null||!Re.call(I,n))){var l=n;(l.f&F)!==0&&(l.f^=F,l.f&=~de),l.v!==S&&pn(l),tr(l),Fe(l,0)}}function Fe(e,n){var t=e.deps;if(t!==null)for(var r=n;r<t.length;r++)hr(e,t[r])}function Oe(e){var n=e.f;if((n&q)===0){g(e,T);var t=E,r=$e;E=e,$e=!0;try{(n&(G|Yn))!==0?cr(e):Sn(e),ft(e);var s=ht(e);e.teardown=typeof s=="function"?s:null,e.wv=_t;var l}finally{$e=r,E=t}}}async function Ts(){await Promise.resolve(),Zt()}function bs(){return pe.ensure().settled()}function me(e){var n=e.f,t=(n&x)!==0;if(w!==null&&!H){var r=E!==null&&(E.f&q)!==0;if(!r&&(j===null||!Re.call(j,e))){var s=w.deps;if((w.f&Ze)!==0)e.rv<ae&&(e.rv=ae,I===null&&s!==null&&s[P]===e?P++:I===null?I=[e]:I.push(e));else{(w.deps??(w.deps=[])).push(e);var l=e.reactions;l===null?e.reactions=[w]:Re.call(l,w)||l.push(w)}}}if(ne&&ce.has(e))return ce.get(e);if(t){var o=e;if(ne){var a=o.v;return((o.f&T)===0&&o.reactions!==null||wt(o))&&(a=mn(o)),ce.set(o,a),a}var f=(o.f&F)===0&&!H&&w!==null&&($e||(w.f&F)!==0),i=(o.f&Ee)===0;Ve(o)&&(f&&(o.f|=F),Jn(o)),f&&!i&&(Qn(o),pt(o))}if(k!=null&&k.has(e))return k.get(e);if((e.f&Q)!==0)throw e.v;return e.v}function pt(e){if(e.f|=F,e.deps!==null)for(const n of e.deps)(n.reactions??(n.reactions=[])).push(e),(n.f&x)!==0&&(n.f&F)===0&&(Qn(n),pt(n))}function wt(e){if(e.v===S)return!0;if(e.deps===null)return!1;for(const n of e.deps)if(ce.has(n)||(n.f&x)!==0&&wt(n))return!0;return!1}function Et(e){var n=H;try{return H=!0,e()}finally{H=n}}function pr(e){b===null&&Un(),qe&&b.l!==null?wr(b).m.push(e):ur(()=>{const n=Et(e);if(typeof n=="function")return n})}function As(e){b===null&&Un(),pr(()=>()=>Et(e))}function wr(e){var n=e.l;return n.u??(n.u={a:[],b:[],m:[]})}export{Mr as $,R as A,Ht as B,qn as C,On as D,Xe as E,_n as F,p as G,Yt as H,Tr as I,gs as J,kr as K,us as L,er as M,mt as N,gr as O,Ir as P,Cr as Q,rs as R,sn as S,Tn as T,Dr as U,q as V,ys as W,vr as X,L as Y,xn as Z,z as _,ns as a,hn as a$,as as a0,ms as a1,we as a2,re as a3,ir as a4,Ar as a5,qt as a6,Rr as a7,St as a8,mr as a9,lt as aA,fn as aB,Nt as aC,Vr as aD,Kt as aE,Ne as aF,te as aG,We as aH,pe as aI,Gt as aJ,w as aK,Je as aL,xr as aM,zr as aN,ar as aO,An as aP,os as aQ,lr as aR,qr as aS,Ur as aT,Ee as aU,tn as aV,bn as aW,ss as aX,dn as aY,Nr as aZ,vs as a_,cs as aa,Ts as ab,Zr as ac,Ot as ad,He as ae,pr as af,ws as ag,ts as ah,sr as ai,Pe as aj,Or as ak,jr as al,De as am,ne as an,Yr as ao,qe as ap,Lr as aq,Fr as ar,yn as as,Hr as at,br as au,jt as av,Zt as aw,yr as ax,_s as ay,ur as az,b,As as b0,_r as b1,Br as b2,Gr as b3,Rt as b4,Vt as b5,bs as b6,ls as c,ds as d,Qr as e,is as f,hs as g,E as h,Es as i,W as j,me as k,ie as l,en as m,Pr as n,he as o,es as p,ke as q,Xr as r,fs as s,ps as t,Et as u,vn as v,$r as w,Jr as x,Wr as y,Kr as z};
 
 
web/sveltekit/build/_app/immutable/chunks/CpEmpa3I.js DELETED
@@ -1 +0,0 @@
1
- import{e}from"./CYuHyzh3.js";e();
 
 
web/sveltekit/build/_app/immutable/chunks/CtphE0zf.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var Q=i=>{throw TypeError(i)};var ft=(i,t,e)=>t.has(i)||Q("Cannot "+e);var N=(i,t,e)=>(ft(i,t,"read from private field"),e?e.call(i):t.get(i)),X=(i,t,e)=>t.has(i)?Q("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e);import{k as Y,s as C,a as f,l as z,f as w,d as ut,b as _t,c as $,t as mt}from"./Dlpu43Tj.js";import{q as G,A as tt,F as L,t as p,T as et,h as gt,b7 as yt,B as at,C as bt,y as pt,b6 as wt,b3 as xt,aX as Wt,b8 as Mt,b9 as kt,c as m,r as u,s as T,k as a,J as K,f as U,j,l as E,p as q,a as J,L as St,K as rt,v as Tt}from"./DwbuJhNu.js";import{p as B,i as I}from"./8F5LpR-T.js";import{s as n,a as nt,b as Ct,e as it,i as st}from"./CBcGqa-S.js";import{s as Et}from"./DNaFzQeI.js";function It(i,t,e=!1,r=!1,o=!1,c=!1){var v=i,h="";if(e){var g=i;G&&(v=tt(L(g)))}p(()=>{var b=gt;if(h===(h=t()??"")){G&&et();return}if(e&&!G){b.nodes=null,g.innerHTML=h,h!==""&&Y(L(g),g.lastChild);return}if(b.nodes!==null&&(yt(b.nodes.start,b.nodes.end),b.nodes=null),h!==""){if(G){at.data;for(var d=et(),l=d;d!==null&&(d.nodeType!==bt||d.data!=="");)l=d,d=pt(d);if(d===null)throw wt(),xt;Y(at,l),v=tt(d);return}var _=r?Mt:o?kt:void 0,x=Wt(r?"svg":o?"math":"template",_);x.innerHTML=h;var k=r||o?x:x.content;if(Y(L(k),k.lastChild),r||o)for(;L(k);)v.before(L(k));else v.before(k)}})}var Dt=z('<rect x="0" y="0"></rect>'),At=z('<rect fill="none"></rect>'),Pt=z("<circle></circle>"),Rt=z('<defs><pattern width="3" height="3" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="3" stroke-width="1.5"></line></pattern></defs><rect></rect>',1),Nt=z('<svg role="img" style="flex: none; display: inline-block; vertical-align: -0.12em;"><title> </title><!></svg>');function ot(i,t){let e=B(t,"size",3,12),r=B(t,"color",3,"currentColor");const o={empirical:"Empirical: directly measured or observed",modeled:"Modeled: scenario-based prediction",proxy:"Proxy: indirect indicator",synthetic:"Synthetic prior: generated, not observed"};let c=K(()=>Math.max(1,Math.round(e()/9))),v=K(()=>t.title??o[t.tier]),h=K(()=>`rip-stripe-${t.tier}-${e()}`);var g=Nt(),b=m(g),d=m(b,!0);u(b);var l=T(b);{var _=y=>{var s=Dt();p(()=>{n(s,"width",e()),n(s,"height",e()),n(s,"fill",r())}),f(y,s)},x=y=>{var s=At();p(()=>{n(s,"x",a(c)/2),n(s,"y",a(c)/2),n(s,"width",e()-a(c)),n(s,"height",e()-a(c)),n(s,"stroke",r()),n(s,"stroke-width",a(c))}),f(y,s)},k=y=>{var s=Pt();p(()=>{n(s,"cx",e()/2),n(s,"cy",e()/2),n(s,"r",e()/2-.5),n(s,"fill",r())}),f(y,s)},V=y=>{var s=Rt(),W=U(s),P=m(W),S=m(P);u(P),u(W);var M=T(W);p(()=>{n(P,"id",a(h)),n(S,"stroke",r()),n(M,"x",a(c)/2),n(M,"y",a(c)/2),n(M,"width",e()-a(c)),n(M,"height",e()-a(c)),n(M,"fill",`url(#${a(h)??""})`),n(M,"stroke",r()),n(M,"stroke-width",a(c))}),f(y,s)};I(l,y=>{t.tier==="empirical"?y(_):t.tier==="modeled"?y(x,1):t.tier==="proxy"?y(k,2):y(V,-1)})}u(g),p(()=>{n(g,"width",e()),n(g,"height",e()),n(g,"viewBox",`0 0 ${e()??""} ${e()??""}`),n(g,"aria-label",a(v)),C(d,a(v))}),f(i,g)}var Lt=w('<span><span class="claim-glyph" aria-hidden="false"><!></span> <span class="claim-body"><!></span></span>');function Bt(i,t){var e=Lt(),r=m(e),o=m(r);ot(o,{get tier(){return t.tier},size:11,get color(){return`var(--tier-${t.tier??""})`}}),u(r);var c=T(r,2),v=m(c);Et(v,()=>t.children),u(c),u(e),p(()=>{nt(e,1,`claim claim-${t.tier??""}`),n(e,"data-tier",t.tier)}),f(i,e)}var F,O;class Ft{constructor(){X(this,F,j(null));X(this,O,j(null))}get active(){return a(N(this,F))}set active(t){E(N(this,F),t,!0)}get highlightDocId(){return a(N(this,O))}set highlightDocId(t){E(N(this,O),t,!0)}}F=new WeakMap,O=new WeakMap;const Ot=new Ft;var zt=w('<a class="inline-cite"><sup> </sup></a>');function Ht(i,t){q(t,!0);function e(v){v.preventDefault(),Ot.active=t.c.id;const h=document.getElementById(`cite-${t.c.id}`);h==null||h.scrollIntoView({block:"center",behavior:"smooth"})}var r=zt(),o=m(r),c=m(o);u(o),u(r),p(()=>{n(r,"href",`#cite-${t.c.id??""}`),n(r,"data-cite",t.c.id),n(r,"aria-label",`Citation ${t.c.n??""}: ${t.c.source??""}, ${t.c.title??""}`),C(c,`[${t.c.n??""}]`)}),_t("click",r,e),f(i,r),J()}ut(["click"]);const Gt={empirical:{label:"Empirical",short:"EMP",desc:"Directly measured or observed",examples:"USGS high-water marks · FloodNet sensors · Sandy Inundation Zone"},modeled:{label:"Modeled",short:"MOD",desc:"Scenario-based prediction",examples:"FEMA flood zones · DEP stormwater scenarios · NPCC4 SLR"},proxy:{label:"Proxy",short:"PRX",desc:"Indirect indicator",examples:"311 flood complaints · NFIP claims · terrain indices"},synthetic:{label:"Synthetic prior",short:"SYN",desc:"Generated, not observed",examples:"TerraMind land-cover · synthetic SAR for occluded days"}};function le(i){const t=i.toLowerCase();return t.startsWith("syn")||t.startsWith("terramind")||t.includes("synthetic")?"synthetic":t.startsWith("sandy")||t.startsWith("floodnet")||t.startsWith("usgs")||t.startsWith("mta_entrance")||t.startsWith("nycha_dev")||t.startsWith("doe_school")||t.startsWith("doh_hospital")||t.startsWith("ida_hwm")||t.startsWith("hwm")||t.startsWith("noaa")||t.startsWith("nws_obs")||t.startsWith("prithvi_eo")?"empirical":t.startsWith("dep")||t.startsWith("fema_firm")||t.startsWith("npcc")||t.startsWith("wrp")||t.includes("scenario")||t.includes("forecast")||t.startsWith("prithvi")||t.startsWith("ttm")||t.startsWith("nws_alert")?"modeled":(t.startsWith("nyc311")||t.startsWith("311")||t.startsWith("nfip")||t.startsWith("rag")||t.startsWith("dob")||t.startsWith("hand")||t.startsWith("twi")||t.startsWith("microtopo"),"proxy")}function ce(i){const t=i.toLowerCase();return t==="geocode"||t.startsWith("fan")||t.startsWith("merge")||t==="plan"||t==="compose"||t==="reconcile"||t==="stream"?null:t==="sandy"||t==="sandy_inundation"||t==="floodnet"||t==="ida_hwm"||t==="noaa_tides"||t==="nws_obs"||t==="prithvi_eo_v2"||t==="prithvi_eo_live"||t==="mta_entrance_exposure"||t==="mta_entrances"||t==="nycha_developments"||t==="doe_school_exposure"||t==="doe_schools"||t==="doh_hospital_exposure"||t==="doh_hospitals"?"empirical":t==="dep"||t==="dep_stormwater"||t==="ttm_forecast"||t==="ttm_311_forecast"||t==="floodnet_forecast"||t==="nws_alerts"||t==="prithvi_water"?"modeled":t==="nyc311"||t==="microtopo"||t==="microtopo_lidar"||t==="rag"||t==="rag_mta"?"proxy":t==="terramind"||t==="terramind_synthesis"?"synthetic":null}var Kt=w("<span><!> </span>");function Ut(i,t){q(t,!0);let e=B(t,"compact",3,!1),r=K(()=>Gt[t.tier]);var o=Kt();let c;var v=m(o);ot(v,{get tier(){return t.tier},size:10,get color(){return`var(--tier-${t.tier??""})`}});var h=T(v);u(o),p(()=>{nt(o,1,`tier-badge tier-badge-${t.tier??""}`,"svelte-1acpjpp"),n(o,"title",a(r).desc),c=Ct(o,"",c,{color:`var(--tier-${t.tier??""})`}),C(h,` ${(e()?a(r).short:a(r).label)??""}`)}),f(i,o),J()}var jt=w('<span class="briefing-section-tier"><!></span>'),Vt=w('<span class="briefing-section-title"> </span>'),Xt=w('<h3 class="briefing-section-head"><span class="briefing-section-num"> </span> <span class="briefing-section-label"> </span> <!> <!></h3>');function Yt(i,t){var e=Xt(),r=m(e),o=m(r,!0);u(r);var c=T(r,2),v=m(c,!0);u(c);var h=T(c,2);{var g=l=>{var _=jt(),x=m(_);Ut(x,{get tier(){return t.tier},compact:!0}),u(_),f(l,_)};I(h,l=>{t.tier&&l(g)})}var b=T(h,2);{var d=l=>{var _=Vt(),x=m(_,!0);u(_),p(()=>C(x,t.title)),f(l,_)};I(b,l=>{t.title&&l(d)})}u(e),p(()=>{C(o,t.n),C(v,t.label)}),f(i,e)}var qt=w('<div class="briefing-status"></div>'),Jt=w("<!><!>",1),Zt=w("<span> </span>"),Qt=w('<p class="briefing-para"></p>'),$t=w('<span class="streaming-caret" aria-hidden="true">▍</span>'),te=w('<div class="briefing-prose" role="log" aria-live="polite" aria-atomic="false" aria-label="Streaming flood-exposure briefing"><!> <!></div>');function de(i,t){q(t,!0);let e=B(t,"streaming",3,!1),r=B(t,"replayKey",3,0),o=j(St(t.blocks.length)),c=j(!1);rt(()=>{typeof window>"u"||E(c,window.matchMedia("(prefers-reduced-motion: reduce)").matches,!0)}),rt(()=>{if(r(),!e()){E(o,t.blocks.length,!0);return}if(a(c)){E(o,t.blocks.length,!0);return}E(o,0);let d=0,l;const _=()=>{d++,E(o,d,!0),d<t.blocks.length&&(l=setTimeout(_,d<2?280:420))};return l=setTimeout(_,240),()=>clearTimeout(l)});var v=te(),h=m(v);it(h,17,()=>t.blocks.slice(0,a(o)),st,(d,l)=>{var _=$(),x=U(_);{var k=s=>{var W=qt();It(W,()=>a(l).html,!0),u(W),f(s,W)},V=s=>{Yt(s,{get n(){return a(l).n},get label(){return a(l).label},get tier(){return a(l).tier},get title(){return a(l).title}})},y=s=>{var W=Qt();it(W,21,()=>a(l).parts,st,(P,S)=>{var M=$(),lt=U(M);{var ct=D=>{var A=Jt(),H=U(A);Bt(H,{get tier(){return a(S).tier},children:(R,ee)=>{Tt();var Z=mt();p(()=>C(Z,a(S).text)),f(R,Z)}});var ht=T(H);{var vt=R=>{Ht(R,{get c(){return t.citations[a(S).cite]}})};I(ht,R=>{a(S).cite&&t.citations[a(S).cite]&&R(vt)})}f(D,A)},dt=D=>{var A=Zt(),H=m(A,!0);u(A),p(()=>C(H,a(S).text)),f(D,A)};I(lt,D=>{a(S).tier?D(ct):D(dt,-1)})}f(P,M)}),u(W),f(s,W)};I(x,s=>{a(l).kind==="status"?s(k):a(l).kind==="head"?s(V,1):s(y,-1)})}f(d,_)});var g=T(h,2);{var b=d=>{var l=$t();f(d,l)};I(g,d=>{a(o)<t.blocks.length&&d(b)})}u(v),f(i,v),J()}export{de as B,ot as T,ce as a,Ut as b,Ot as c,Gt as d,le as t};
web/sveltekit/build/_app/immutable/chunks/DFFHaukH.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{e}from"./DwbuJhNu.js";e();
web/sveltekit/build/_app/immutable/chunks/{CdmpEGnB.js → DNaFzQeI.js} RENAMED
@@ -1 +1 @@
1
- var i=t=>{throw TypeError(t)};var f=(t,e,r)=>e.has(t)||i("Cannot "+r);var s=(t,e,r)=>(f(t,e,"read from private field"),r?r.call(t):e.get(t)),o=(t,e,r)=>e.has(t)?i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);import{i as p,E as d,j as y,k as h,l as S}from"./CYuHyzh3.js";import{B as g}from"./vWNuMvXT.js";function I(t,e,...r){var l=new g(t);p(()=>{const a=e()??null;l.ensure(a,a&&(c=>a(c,...r)))},d)}var n;class m{constructor(){o(this,n,y(!1))}get ready(){return h(s(this,n))}set ready(e){S(s(this,n),e,!0)}reset(){this.ready=!1}markReady(){this.ready=!0}}n=new WeakMap;const N=new m,w="riprap:print:";function u(t){return w+t}function T(t){if(!(typeof window>"u"))try{localStorage.setItem(u(t.queryId),JSON.stringify(t))}catch{}}function k(t){if(typeof window>"u")return null;try{const e=localStorage.getItem(u(t));return e?JSON.parse(e):null}catch{return null}}export{N as b,k as l,T as p,I as s};
 
1
+ var i=t=>{throw TypeError(t)};var f=(t,e,r)=>e.has(t)||i("Cannot "+r);var s=(t,e,r)=>(f(t,e,"read from private field"),r?r.call(t):e.get(t)),o=(t,e,r)=>e.has(t)?i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);import{i as p,E as d,j as y,k as h,l as S}from"./DwbuJhNu.js";import{B as g}from"./8F5LpR-T.js";function I(t,e,...r){var l=new g(t);p(()=>{const a=e()??null;l.ensure(a,a&&(c=>a(c,...r)))},d)}var n;class m{constructor(){o(this,n,y(!1))}get ready(){return h(s(this,n))}set ready(e){S(s(this,n),e,!0)}reset(){this.ready=!1}markReady(){this.ready=!0}}n=new WeakMap;const N=new m,w="riprap:print:";function u(t){return w+t}function T(t){if(!(typeof window>"u"))try{localStorage.setItem(u(t.queryId),JSON.stringify(t))}catch{}}function k(t){if(typeof window>"u")return null;try{const e=localStorage.getItem(u(t));return e?JSON.parse(e):null}catch{return null}}export{N as b,k as l,T as p,I as s};
web/sveltekit/build/_app/immutable/chunks/DOnKrFbX.js DELETED
@@ -1 +0,0 @@
1
- var rt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var v=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{b4 as Pe,b5 as Vt,af as at,j as T,k as I,l as O,ab as we,b6 as Bt}from"./CYuHyzh3.js";const M=[];function Ke(e,t=Pe){let n=null;const a=new Set;function r(o){if(Vt(e,o)&&(e=o,n)){const l=!M.length;for(const c of a)c[1](),M.push(c,e);if(l){for(let c=0;c<M.length;c+=2)M[c][0](M[c+1]);M.length=0}}}function i(o){r(o(e))}function s(o,l=Pe){const c=[o,l];return a.add(c),a.size===1&&(n=t(r,i)||Pe),o(e),()=>{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class ze{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Fe extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Kt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Mt(e){return e.split("%25").map(decodeURI).join("%25")}function zt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}function j(){}function Ft(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Gt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Ge(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Ge(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Gt(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function Jt(e,t,n){if(X.size>0){const a=Ge(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Ge(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${Ft(...r)}"]`}return a}const Yt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Xt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return je(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return je(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Yt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return je(l)}).join("")}).join("")}/?$`),params:t}}function Qt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Qt)}function en(e,t,n){const a={},r=e.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=r[o-s];if(l.chained&&l.rest&&s&&(c=r.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function je(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function tn({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Xt(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return en(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[r.has(o),e[o]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ht;const U=((ht=globalThis.__sveltekit_yhur1t)==null?void 0:ht.base)??"";var pt;const nn=((pt=globalThis.__sveltekit_yhur1t)==null?void 0:pt.assets)??U??"",rn="1777858715422",yt="sveltekit:snapshot",vt="sveltekit:scroll",bt="sveltekit:states",an="sveltekit:pageurl",F="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ue=location.origin;function He(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function B(){return{x:pageXOffset,y:pageYOffset}}function z(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const st={...D,"":D.hover};function kt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function St(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=kt(e)}}function qe(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ae(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Ue&&e.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function ye(e){let t=null,n=null,a=null,r=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)a===null&&(a=z(o,"preload-code")),r===null&&(r=z(o,"preload-data")),t===null&&(t=z(o,"keepfocus")),n===null&&(n=z(o,"noscroll")),i===null&&(i=z(o,"reload")),s===null&&(s=z(o,"replacestate")),o=kt(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:st[a??"off"],preload_data:st[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function it(e){const t=Ke(e);let n=!0;function a(){n=!0,t.update(s=>s)}function r(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const Et={v:j};function on(){const{set:e,subscribe:t}=Ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${nn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==rn;return s&&(e(!0),Et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:a}}function Ae(e,t,n){return e.origin!==Ue||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Pn(e){}const Rt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Rt];const sn=new Set([...Rt]);[...sn];function ln(e){return e.filter(t=>t!=null)}function me(e,t){return e+"/"+t}function We(e){return e instanceof Me||e instanceof Fe?e.status:500}function cn(e){return e instanceof Fe?e.text:"Internal Error"}let R,ee,Ce;const fn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),lt="a:";var oe,se,ie,le,ce,fe,ue,de,gt,he,mt,pe,_t;fn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(lt)},ee={current:null},Ce={current:!1}):(R=new(gt=class{constructor(){A(this,oe,T({}));A(this,se,T(null));A(this,ie,T(null));A(this,le,T({}));A(this,ce,T({id:null}));A(this,fe,T({}));A(this,ue,T(-1));A(this,de,T(new URL(lt)))}get data(){return I(v(this,oe))}set data(t){O(v(this,oe),t)}get form(){return I(v(this,se))}set form(t){O(v(this,se),t)}get error(){return I(v(this,ie))}set error(t){O(v(this,ie),t)}get params(){return I(v(this,le))}set params(t){O(v(this,le),t)}get route(){return I(v(this,ce))}set route(t){O(v(this,ce),t)}get state(){return I(v(this,fe))}set state(t){O(v(this,fe),t)}get status(){return I(v(this,ue))}set status(t){O(v(this,ue),t)}get url(){return I(v(this,de))}set url(t){O(v(this,de),t)}},oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,gt),ee=new(mt=class{constructor(){A(this,he,T(null))}get current(){return I(v(this,he))}set current(t){O(v(this,he),t)}},he=new WeakMap,mt),Ce=new(_t=class{constructor(){A(this,pe,T(!1))}get current(){return I(v(this,pe))}set current(t){O(v(this,pe),t)}},pe=new WeakMap,_t),Et.v=()=>Ce.current=!0);function un(e){Object.assign(R,e)}const dn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=wt(vt)??{},te=wt(yt)??{},C={url:it({}),page:it({}),navigating:Ke(null),updated:on()};function Je(e){N[e]=B()}function hn(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;te[n];)delete te[n],n+=1}function ne(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(j)}async function xt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let Ye,De,ve,P,Ve,S;const be=[],ke=[];let y=null;function Se(){var e;(e=y==null?void 0:y.fork)==null||e.then(t=>t==null?void 0:t.discard()),y=null}const _e=new Map,Lt=new Set,pn=new Set,Q=new Set;let _={branch:[],error:null,url:null},Ut=!1,Ee=!1,ct=!0,re=!1,Y=!1,At=!1,Xe=!1,Tt,k,L,V;const Re=new Set,ft=new Map,ut=new Map;async function Nn(e,t,n){var i,s,o,l;globalThis.__sveltekit_yhur1t&&(globalThis.__sveltekit_yhur1t.query,globalThis.__sveltekit_yhur1t.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((s=(i=e.hooks).init)==null?void 0:s.call(i)),Ye=tn(e),P=document.documentElement,Ve=t,De=e.nodes[0],ve=e.nodes[1],De(),ve(),k=(o=history.state)==null?void 0:o[F],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[F]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(Ve,n)):(await G({type:"enter",url:He(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function gn(){be.length=0,Xe=!1}function It(e){ke.some(t=>t==null?void 0:t.snapshot)&&(te[e]=ke.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ot(e){var t;(t=te[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=ke[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function dt(){Je(k),ot(vt,N),It(L),ot(yt,te)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&Se(),await G({type:"goto",url:He(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Xe=!0,r=new Set;for(const[s,o]of ft)for(const l of o.keys())r.add(me(s,l));i=new Set;for(const[s,o]of ut)for(const l of o.keys())i.add(me(s,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&we().then(we).then(()=>{for(const[s,o]of ft)for(const[l,{resource:c}]of o)r!=null&&r.has(me(s,l))&&c.refresh();for(const[s,o]of ut)for(const[l,{resource:c}]of o)i!=null&&i.has(me(s,l))&&c.reconnect()})}async function mn(e){if(e.id!==(y==null?void 0:y.id)){Se();const t={};Re.add(t),y={id:e.id,token:t,promise:jt({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&Se(),n)),fork:null}}return y.promise}async function Ne(e){var n;const t=(n=await Te(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function $t(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),Tt=new S.root({target:t,props:{...e.props,stores:C,components:ke},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ot(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Ee=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Kt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:s},props:{constructors:ln(n).map(f=>f.node.component),page:nt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||o!==void 0&&o!==R.form||u)&&(c.props.page={error:i,params:t,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(e),form:o??null,data:u?d:R.data}),c}async function Qe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let s=null;const o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:s,uses:o}:null,data:s??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Ee?Jt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Xe)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const s of r.search_params)if(a.has(s))return!0;for(const s of r.params)if(i[s]!==_.params[s])return!0;for(const s of r.dependencies)if(be.some(o=>o(new URL(s))))return!0;return!1}function Ze(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function yn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function vn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:nt(R),constructors:[]}}}async function jt({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((y==null?void 0:y.id)===e)return Re.delete(y.token),y.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(j)),c.forEach(h=>h==null?void 0:h[1]().catch(j));const d=_.url?e!==Le(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=yn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!wn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Qe({loader:h[1],url:n,params:a,route:r,parent:async()=>{var ge;const q={};for(let K=0;K<g;K+=1)Object.assign(q,(ge=await f[K])==null?void 0:ge.data);return q},server_data_node:Ze(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(j);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof ze)return{type:"redirect",location:g.location};if(Re.has(i))return vn({error:await ae(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=We(g),x;if(g instanceof Me)x=g.body;else{if(await C.updated.check())return await xt(),await ne(n);x=await ae(g,{params:a,url:n,route:{id:r.id}})}const $=await bn(h,m,s);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:s,status:b,error:x,route:r}):await Nt(n,{id:r.id},x,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:s,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function et({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const s=await Qe({loader:De,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Ze(i)}),o={node:await ve(),loader:ve,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[s,o],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof ze)return Pt(new URL(s.location,location.href),{},0);throw s}}async function kn(e){const t=e.href;if(_e.has(t))return _e.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,s)=>_n(i,s,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();_e.set(t,a),n=await a}catch{_e.delete(t);return}return n}async function Te(e,t){if(e&&!Ae(e,U,S.hash)){const n=await kn(e);if(!n)return;const a=Sn(n);for(const r of Ye){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:zt(i),url:e}}}}function Sn(e){return Mt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function Le(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Ct({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=tt(_,n,e,t,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return re||Lt.forEach(c=>c(l)),s?null:o}async function G({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=j,block:d=j,event:u}){var K;const w=V;V=l;const p=await Te(t,!1),f=e==="enter"?tt(_,p,t,e):Ct({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),re=!0,Ee&&f.navigation.type!=="enter"&&C.navigating.set(ee.current=f.navigation);let g=p&&await jt(p);if(!g){if(Ae(t,U,S.hash))return await ne(t,i);g=await Nt(t,{id:null},await ae(new Fe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await G({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await et({status:500,error:await ae(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await xt(),await ne(t,i));if(gn(),Je(m),It(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,H={[F]:k+=E,[Z]:L+=E,[bt]:s};(i?history.replaceState:history.pushState).call(history,H,"",t),i||hn(k,L)}const b=p&&(y==null?void 0:y.id)===p.id?y.fork:null;y!=null&&y.fork&&!b&&Se(),y=null,g.props.page.state=s;let x;if(Ee){const E=(await Promise.all(Array.from(pn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(Oe=>{Q.delete(Oe)})};E.push(W),E.forEach(Oe=>{Q.add(Oe)})}const H=f.navigation.to;_={...g.state,nav:{params:H.params,route:H.route,url:H.url}},g.props.page&&(g.props.page.url=t);const Ie=b&&await b;Ie?x=Ie.commit():(J=null,Tt.$set(g.props),J&&Object.assign(g.props.page,J),un(g.props.page),x=(K=Bt)==null?void 0:K()),At=!0}else await $t(g,Ve,!1);const{activeElement:$}=document;await x,await we(),await we();let q=null;if(ct){const E=n?n.scroll:r?B():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(qt(t)))?q.scrollIntoView():scrollTo(0,0)}const ge=document.activeElement!==$&&document.activeElement!==document.body;!a&&!ge&&An(t,!q),ct=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),re=!1,e==="popstate"&&Ot(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(E=>E(f.navigation)),C.navigating.set(ee.current=null)}async function Nt(e,t,n,a,r){return e.origin===Ue&&e.pathname===location.pathname&&!Ut?await et({status:a,error:n,url:e,route:t}):await ne(e,r)}function En(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Ne(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=St(o,P),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=qe(c,U,S.hash);if(w||p)return;const f=ye(c),m=u&&Le(_.url)===Le(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=D.tap;const h=await Te(u,!1);if(!h)return;mn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ne(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=qe(o,U,S.hash);if(c||d)continue;const u=ye(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&Ne(l))}}Q.add(s),s()}function ae(e,t){if(e instanceof Me)return e.body;const n=We(e),a=cn(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function qn(e,t={}){return e=new URL(He(e)),e.origin!==Ue?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(dt(),!re){const r=tt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Lt.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&dt()}),(t=navigator.connection)!=null&&t.saveData||En(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=St(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=qe(a,U,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=ye(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===$e(location);if(i||l.reload&&(!w||!u)){Ct({url:r,type:"link",event:n})?re=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Je(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await G({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ae(o,U,!1))return;const l=n.target,c=ye(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),G({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Be){if((a=n.state)!=null&&a[F]){const r=n.state[F];if(V={},r===k)return;const i=N[r],s=n.state[bt]??{},o=new URL(n.state[an]??location.href),l=n.state[Z],c=_.url?$e(location)===$e(_.url):!1;if(l===L&&(At||c)){s!==R.state&&(R.state=s),e(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await G({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[F]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))dn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(ee.current=null)});function e(n){_.url=R.url=n,C.page.set(nt(R)),C.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){Ut=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Te(c,!1)||{}),d=Ye.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Qe({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x<h;x+=1)Object.assign(b,(await p[x]).data);return b},server_data_node:Ze(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await xe({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof ze){await ne(new URL(p.location,location.href));return}u=await et({status:We(p),error:await ae(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await $t(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Be=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=qt(e);if(a&&document.getElementById(a)){const{x:i,y:s}=B();setTimeout(()=>{const o=history.state;Be=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),Be=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s<r.rangeCount;s+=1)i.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===i.length){for(let s=0;s<r.rangeCount;s+=1){const o=i[s],l=r.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function tt(e,t,n,a,r=null){var c,d;let i,s;const o=new Promise((u,w)=>{i=u,s=w});return o.catch(j),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:B()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:o},fulfil:i,reject:s}}function nt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Nn as a,qn as g,Pn as l,R as p,C as s};
 
 
web/sveltekit/build/_app/immutable/chunks/Dlpu43Tj.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ var We=Object.defineProperty;var me=t=>{throw TypeError(t)};var He=(t,e,r)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var J=(t,e,r)=>He(t,typeof e!="symbol"?e+"":e,r),ae=(t,e,r)=>e.has(t)||me("Cannot "+r);var s=(t,e,r)=>(ae(t,e,"read from private field"),r?r.call(t):e.get(t)),h=(t,e,r)=>e.has(t)?me("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),f=(t,e,r,n)=>(ae(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),_=(t,e,r)=>(ae(t,e,"access private method"),r);import{aI as Be,k as ke,g as $e,u as Ye,aJ as ye,aq as j,an as Ae,B as v,q as k,h as C,aK as be,i as je,T as Re,ae as qe,aL as Ee,P as V,w as q,O as oe,n as W,Q as Ue,aM as ze,aN as re,aO as se,aP as Te,aQ as Xe,aR as Ge,aS as Oe,b as De,ag as Je,N as fe,A as U,v as Qe,V as Ke,aT as Q,E as Ze,x as et,aU as tt,aV as rt,ax as st,aW as it,aa as nt,aX as at,F as M,aY as ot,aZ as Le,a_ as ft,a$ as lt,b0 as ut,b1 as ct,b2 as ue,C as Me,a8 as dt,y as ht,b3 as ce,z as K,b4 as _t,at as pt,b5 as vt,ak as gt,p as mt,af as yt,b6 as bt,a as Et}from"./DwbuJhNu.js";function Tt(t){let e=0,r=Ae(0),n;return()=>{Be()&&(ke(r),$e(()=>(e===0&&(n=Ye(()=>t(()=>ye(r)))),e+=1,()=>{j(()=>{e-=1,e===0&&(n==null||n(),n=void 0,ye(r))})})))}}var wt=Ze|et;function Nt(t,e,r,n){new St(t,e,r,n)}var T,z,N,B,m,S,p,w,R,$,I,Y,X,G,O,ie,l,Ie,Ce,Fe,de,ee,te,he,_e;class St{constructor(e,r,n,o){h(this,l);J(this,"parent");J(this,"is_pending",!1);J(this,"transform_error");h(this,T);h(this,z,k?v:null);h(this,N);h(this,B);h(this,m);h(this,S,null);h(this,p,null);h(this,w,null);h(this,R,null);h(this,$,0);h(this,I,0);h(this,Y,!1);h(this,X,new Set);h(this,G,new Set);h(this,O,null);h(this,ie,Tt(()=>(f(this,O,Ae(s(this,$))),()=>{f(this,O,null)})));var i;f(this,T,e),f(this,N,r),f(this,B,a=>{var d=C;d.b=this,d.f|=be,n(a)}),this.parent=C.b,this.transform_error=o??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),f(this,m,je(()=>{if(k){const a=s(this,z);Re();const d=a.data===qe;if(a.data.startsWith(Ee)){const c=JSON.parse(a.data.slice(Ee.length));_(this,l,Ce).call(this,c)}else d?_(this,l,Fe).call(this):_(this,l,Ie).call(this)}else _(this,l,de).call(this)},wt)),k&&f(this,T,v)}defer_effect(e){ze(e,s(this,X),s(this,G))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,N).pending}update_pending_count(e,r){_(this,l,he).call(this,e,r),f(this,$,s(this,$)+e),!(!s(this,O)||s(this,Y))&&(f(this,Y,!0),j(()=>{f(this,Y,!1),s(this,O)&&Je(s(this,O),s(this,$))}))}get_effect_pending(){return s(this,ie).call(this),ke(s(this,O))}error(e){var r;if(!s(this,N).onerror&&!s(this,N).failed)throw e;(r=W)!=null&&r.is_fork?(s(this,S)&&W.skip_effect(s(this,S)),s(this,p)&&W.skip_effect(s(this,p)),s(this,w)&&W.skip_effect(s(this,w)),W.on_fork_commit(()=>{_(this,l,_e).call(this,e)})):_(this,l,_e).call(this,e)}}T=new WeakMap,z=new WeakMap,N=new WeakMap,B=new WeakMap,m=new WeakMap,S=new WeakMap,p=new WeakMap,w=new WeakMap,R=new WeakMap,$=new WeakMap,I=new WeakMap,Y=new WeakMap,X=new WeakMap,G=new WeakMap,O=new WeakMap,ie=new WeakMap,l=new WeakSet,Ie=function(){try{f(this,S,V(()=>s(this,B).call(this,s(this,T))))}catch(e){this.error(e)}},Ce=function(e){const r=s(this,N).failed;r&&f(this,w,V(()=>{r(s(this,T),()=>e,()=>()=>{})}))},Fe=function(){const e=s(this,N).pending;e&&(this.is_pending=!0,f(this,p,V(()=>e(s(this,T)))),j(()=>{var r=f(this,R,document.createDocumentFragment()),n=q();r.append(n),f(this,S,_(this,l,te).call(this,()=>V(()=>s(this,B).call(this,n)))),s(this,I)===0&&(s(this,T).before(r),f(this,R,null),oe(s(this,p),()=>{f(this,p,null)}),_(this,l,ee).call(this,W))}))},de=function(){try{if(this.is_pending=this.has_pending_snippet(),f(this,I,0),f(this,$,0),f(this,S,V(()=>{s(this,B).call(this,s(this,T))})),s(this,I)>0){var e=f(this,R,document.createDocumentFragment());Ue(s(this,S),e);const r=s(this,N).pending;f(this,p,V(()=>r(s(this,T))))}else _(this,l,ee).call(this,W)}catch(r){this.error(r)}},ee=function(e){this.is_pending=!1,e.transfer_effects(s(this,X),s(this,G))},te=function(e){var r=C,n=Oe,o=De;re(s(this,m)),se(s(this,m)),Te(s(this,m).ctx);try{return Xe.ensure(),e()}catch(i){return Ge(i),null}finally{re(r),se(n),Te(o)}},he=function(e,r){var n;if(!this.has_pending_snippet()){this.parent&&_(n=this.parent,l,he).call(n,e,r);return}f(this,I,s(this,I)+e),s(this,I)===0&&(_(this,l,ee).call(this,r),s(this,p)&&oe(s(this,p),()=>{f(this,p,null)}),s(this,R)&&(s(this,T).before(s(this,R)),f(this,R,null)))},_e=function(e){s(this,S)&&(fe(s(this,S)),f(this,S,null)),s(this,p)&&(fe(s(this,p)),f(this,p,null)),s(this,w)&&(fe(s(this,w)),f(this,w,null)),k&&(U(s(this,z)),Qe(),U(Ke()));var r=s(this,N).onerror;let n=s(this,N).failed;var o=!1,i=!1;const a=()=>{if(o){rt();return}o=!0,i&&tt(),s(this,w)!==null&&oe(s(this,w),()=>{f(this,w,null)}),_(this,l,te).call(this,()=>{_(this,l,de).call(this)})},d=u=>{try{i=!0,r==null||r(u,a),i=!1}catch(c){Q(c,s(this,m)&&s(this,m).parent)}n&&f(this,w,_(this,l,te).call(this,()=>{try{return V(()=>{var c=C;c.b=this,c.f|=be,n(s(this,T),()=>u,()=>a)})}catch(c){return Q(c,s(this,m).parent),null}}))};j(()=>{var u;try{u=this.transform_error(e)}catch(c){Q(c,s(this,m)&&s(this,m).parent);return}u!==null&&typeof u=="object"&&typeof u.then=="function"?u.then(d,c=>Q(c,s(this,m)&&s(this,m).parent)):d(u)})};function Vt(t){return t.endsWith("capture")&&t!=="gotpointercapture"&&t!=="lostpointercapture"}const kt=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Wt(t){return kt.includes(t)}const At={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Ht(t){return t=t.toLowerCase(),At[t]??t}const Rt=["touchstart","touchmove"];function Ot(t){return Rt.includes(t)}const Dt=["textarea","script","style","title"];function Bt(t){return Dt.includes(t)}const H=Symbol("events"),Pe=new Set,pe=new Set;function Lt(t,e,r,n={}){function o(i){if(n.capture||ve.call(e,i),!i.cancelBubble)return it(()=>r==null?void 0:r.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?j(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function $t(t,e,r,n,o){var i={capture:n,passive:o},a=Lt(t,e,r,i);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&st(()=>{e.removeEventListener(t,a,i)})}function Yt(t,e,r){(e[H]??(e[H]={}))[t]=r}function jt(t){for(var e=0;e<t.length;e++)Pe.add(t[e]);for(var r of pe)r(t)}let we=null;function ve(t){var P,E;var e=this,r=e.ownerDocument,n=t.type,o=((P=t.composedPath)==null?void 0:P.call(t))||[],i=o[0]||t.target;we=t;var a=0,d=we===t&&t[H];if(d){var u=o.indexOf(d);if(u!==-1&&(e===document||e===window)){t[H]=e;return}var c=o.indexOf(e);if(c===-1)return;u<=c&&(a=u)}if(i=o[a]||t.target,i!==e){nt(t,"currentTarget",{configurable:!0,get(){return i||r}});var D=Oe,F=C;se(null),re(null);try{for(var L,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var b=(E=i[H])==null?void 0:E[n];b!=null&&(!i.disabled||t.target===i)&&b.call(i,t)}catch(x){L?y.push(x):L=x}if(t.cancelBubble||g===e||g===null)break;i=g}if(L){for(let x of y)queueMicrotask(()=>{throw x});throw L}}finally{t[H]=e,delete t.currentTarget,se(D),re(F)}}}var Ne;const le=((Ne=globalThis==null?void 0:globalThis.window)==null?void 0:Ne.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Mt(t){return(le==null?void 0:le.createHTML(t))??t}function xe(t){var e=at("template");return e.innerHTML=Mt(t.replaceAll("<!>","<!---->")),e.content}function A(t,e){var r=C;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function qt(t,e){var r=(e&Le)!==0,n=(e&ft)!==0,o,i=!t.startsWith("<!>");return()=>{if(k)return A(v,null),v;o===void 0&&(o=xe(i?t:"<!>"+t),r||(o=M(o)));var a=n||ot?document.importNode(o,!0):o.cloneNode(!0);if(r){var d=M(a),u=a.lastChild;A(d,u)}else A(a,a);return a}}function It(t,e,r="svg"){var n=!t.startsWith("<!>"),o=(e&Le)!==0,i=`<${r}>${n?t:"<!>"+t}</${r}>`,a;return()=>{if(k)return A(v,null),v;if(!a){var d=xe(i),u=M(d);if(o)for(a=document.createDocumentFragment();M(u);)a.appendChild(M(u));else a=M(u)}var c=a.cloneNode(!0);if(o){var D=M(c),F=c.lastChild;A(D,F)}else A(c,c);return c}}function Ut(t,e){return It(t,e,"svg")}function zt(t=""){if(!k){var e=q(t+"");return A(e,e),e}var r=v;return r.nodeType!==ut?(r.before(r=q()),U(r)):ct(r),A(r,r),r}function Xt(){if(k)return A(v,null),v;var t=document.createDocumentFragment(),e=document.createComment(""),r=q();return t.append(e,r),A(e,r),t}function Gt(t,e){if(k){var r=C;((r.f&lt)===0||r.nodes.end===null)&&(r.nodes.end=v),Re();return}t!==null&&t.before(e)}function Jt(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=`${r}`)}function Ct(t,e){return Ve(t,e)}function Qt(t,e){ue(),e.intro=e.intro??!1;const r=e.target,n=k,o=v;try{for(var i=M(r);i&&(i.nodeType!==Me||i.data!==dt);)i=ht(i);if(!i)throw ce;K(!0),U(i);const a=Ve(t,{...e,anchor:i});return K(!1),a}catch(a){if(a instanceof Error&&a.message.split(`
2
+ `).some(d=>d.startsWith("https://svelte.dev/e/")))throw a;return a!==ce&&console.warn("Failed to hydrate: ",a),e.recover===!1&&_t(),ue(),pt(r),K(!1),Ct(t,e)}finally{K(n),U(o)}}const Z=new Map;function Ve(t,{target:e,anchor:r,props:n={},events:o,context:i,intro:a=!0,transformError:d}){ue();var u=void 0,c=vt(()=>{var D=r??e.appendChild(q());Nt(D,{pending:()=>{}},y=>{mt({});var g=De;if(i&&(g.c=i),o&&(n.$$events=o),k&&A(y,null),u=t(y,n)||{},k&&(C.nodes.end=v,v===null||v.nodeType!==Me||v.data!==yt))throw bt(),ce;Et()},d);var F=new Set,L=y=>{for(var g=0;g<y.length;g++){var b=y[g];if(!F.has(b)){F.add(b);var P=Ot(b);for(const ne of[e,document]){var E=Z.get(ne);E===void 0&&(E=new Map,Z.set(ne,E));var x=E.get(b);x===void 0?(ne.addEventListener(b,ve,{passive:P}),E.set(b,1)):E.set(b,x+1)}}}};return L(gt(Pe)),pe.add(L),()=>{var P;for(var y of F)for(const E of[e,document]){var g=Z.get(E),b=g.get(y);--b==0?(E.removeEventListener(y,ve),g.delete(y),g.size===0&&Z.delete(E)):g.set(y,b)}pe.delete(L),D!==r&&((P=D.parentNode)==null||P.removeChild(D))}});return ge.set(u,c),u}let ge=new WeakMap;function Kt(t,e){const r=ge.get(t);return r?(ge.delete(t),r(e)):Promise.resolve()}const Ft="5";var Se;typeof window<"u"&&((Se=window.__svelte??(window.__svelte={})).v??(Se.v=new Set)).add(Ft);export{Gt as a,Yt as b,Xt as c,jt as d,$t as e,qt as f,Lt as g,Qt as h,Vt as i,Wt as j,A as k,Ut as l,Ct as m,Ht as n,Bt as o,Jt as s,zt as t,Kt as u};
web/sveltekit/build/_app/immutable/chunks/DwbuJhNu.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var mt=Object.defineProperty;var On=e=>{throw TypeError(e)};var yt=(e,n,t)=>n in e?mt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var se=(e,n,t)=>yt(e,typeof n!="symbol"?n+"":n,t),sn=(e,n,t)=>n.has(e)||On("Cannot "+t);var u=(e,n,t)=>(sn(e,n,"read from private field"),t?t.call(e):n.get(e)),k=(e,n,t)=>n.has(e)?On("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),ge=(e,n,t,r)=>(sn(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),D=(e,n,t)=>(sn(e,n,"access private method"),t);var bt=Array.isArray,Tt=Array.prototype.indexOf,Re=Array.prototype.includes,mr=Array.from,yr=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,br=Object.getOwnPropertyDescriptors,At=Object.prototype,St=Array.prototype,Rt=Object.getPrototypeOf,xn=Object.isExtensible;const Nt=()=>{};function kt(e){for(var n=0;n<e.length;n++)e[n]()}function Hn(){var e,n,t=new Promise((r,s)=>{e=r,n=s});return{promise:t,resolve:e,reject:n}}const x=2,ve=4,He=8,hn=1<<24,G=16,z=32,ee=64,Ot=128,F=512,b=1024,O=2048,K=4096,L=8192,U=16384,Ee=32768,In=1<<25,Ze=65536,fn=1<<17,xt=1<<18,qe=1<<19,qn=1<<20,Tr=1<<25,de=65536,We=1<<21,Fe=1<<22,Q=1<<23,Pe=Symbol("$state"),Ar=Symbol("legacy props"),Sr=Symbol(""),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Yn;const Nr=!!((Yn=globalThis.document)!=null&&Yn.contentType)&&globalThis.document.contentType.includes("xml"),kr=1,rn=3,Un=8;function Vn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function It(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Or(e,n,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Dt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Mt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Pt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ct(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function xr(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ir(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ft(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Lt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function jt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Dr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Mr=1,Pr=2,Cr=4,Fr=8,Lr=16,jr=1,Yr=2,Hr=4,qr=8,Ur=16,Vr=1,Br=2,Yt="[",Ht="[!",Gr="[?",qt="]",pn={},S=Symbol(),Ut="http://www.w3.org/1999/xhtml",zr="http://www.w3.org/2000/svg",Kr="http://www.w3.org/1998/Math/MathML",$r="@attach";function Vt(){console.warn("https://svelte.dev/e/derived_inert")}function wn(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Xr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Zr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let he=!1;function Wr(e){he=e}let R;function Ne(e){if(e===null)throw wn(),pn;return R=e}function Jr(){return Ne(re(R))}function Qr(e){if(he){if(re(R)!==null)throw wn(),pn;R=e}}function es(e=1){if(he){for(var n=e,t=R;n--;)t=re(t);R=t}}function ns(e=!0){for(var n=0,t=R;;){if(t.nodeType===Un){var r=t.data;if(r===qt){if(n===0)return t;n-=1}else(r===Yt||r===Ht||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=re(t);e&&t.remove(),t=s}}function ts(e){if(!e||e.nodeType!==Un)throw wn(),pn;return e.data}function Bn(e){return e===this.v}function Bt(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function Gn(e){return!Bt(e,this.v)}let Ue=!1;function rs(){Ue=!0}let T=null;function Je(e){T=e}function ss(e,n=!1,t){T={p:T,i:!1,c:null,e:null,s:e,x:null,r:E,l:Ue&&!n?{s:null,u:null,$:[]}:null}}function ls(e){var n=T,t=n.e;if(t!==null){n.e=null;for(var r of t)at(r)}return n.i=!0,T=n.p,{}}function Ve(){return!Ue||T!==null&&T.l===null}let ae=[];function zn(){var e=ae;ae=[],kt(e)}function un(e){if(ae.length===0&&!Ce){var n=ae;queueMicrotask(()=>{n===ae&&zn()})}ae.push(e)}function Gt(){for(;ae.length>0;)zn()}function zt(e){var n=E;if(n===null)return w.f|=Q,e;if((n.f&Ee)===0&&(n.f&ve)===0)throw e;Qe(e,n)}function Qe(e,n){for(;n!==null;){if((n.f&Ot)!==0){if((n.f&Ee)===0)throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}const Kt=-7169;function g(e,n){e.f=e.f&Kt|n}function En(e){(e.f&F)!==0||e.deps===null?g(e,b):g(e,K)}function Kn(e){if(e!==null)for(const n of e)(n.f&x)===0||(n.f&de)===0||(n.f^=de,Kn(n.deps))}function $t(e,n,t){(e.f&O)!==0?n.add(e):(e.f&K)!==0&&t.add(e),Kn(e.deps),g(e,b)}const le=new Set;let p=null,N=null,on=null,Ce=!1,ln=!1,me=null,Ge=null;var Dn=0;let Xt=1;var be,Te,ue,X,V,je,P,Ye,J,Z,B,Ae,Se,oe,m,ze,$n,Ke,cn,$e,Zt;const tn=class tn{constructor(){k(this,m);se(this,"id",Xt++);se(this,"current",new Map);se(this,"previous",new Map);k(this,be,new Set);k(this,Te,new Set);k(this,ue,new Set);k(this,X,new Map);k(this,V,new Map);k(this,je,null);k(this,P,[]);k(this,Ye,[]);k(this,J,new Set);k(this,Z,new Set);k(this,B,new Map);k(this,Ae,new Set);se(this,"is_fork",!1);k(this,Se,!1);k(this,oe,new Set)}skip_effect(n){u(this,B).has(n)||u(this,B).set(n,{d:[],m:[]}),u(this,Ae).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=u(this,B).get(n);if(r){u(this,B).delete(n);for(var s of r.d)g(s,O),t(s);for(s of r.m)g(s,K),t(s)}u(this,Ae).add(n)}capture(n,t,r=!1){n.v!==S&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&Q)===0&&(this.current.set(n,[t,r]),N==null||N.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,N=null}flush(){try{ln=!0,p=this,D(this,m,Ke).call(this)}finally{Dn=0,on=null,me=null,Ge=null,ln=!1,p=null,N=null,ce.clear()}}discard(){for(const n of u(this,Te))n(this);u(this,Te).clear(),u(this,ue).clear(),le.delete(this)}register_created_effect(n){u(this,Ye).push(n)}increment(n,t){let r=u(this,X).get(t)??0;if(u(this,X).set(t,r+1),n){let s=u(this,V).get(t)??0;u(this,V).set(t,s+1)}}decrement(n,t,r){let s=u(this,X).get(t)??0;if(s===1?u(this,X).delete(t):u(this,X).set(t,s-1),n){let l=u(this,V).get(t)??0;l===1?u(this,V).delete(t):u(this,V).set(t,l-1)}u(this,Se)||r||(ge(this,Se,!0),un(()=>{ge(this,Se,!1),this.flush()}))}transfer_effects(n,t){for(const r of n)u(this,J).add(r);for(const r of t)u(this,Z).add(r);n.clear(),t.clear()}oncommit(n){u(this,be).add(n)}ondiscard(n){u(this,Te).add(n)}on_fork_commit(n){u(this,ue).add(n)}run_fork_commit_callbacks(){for(const n of u(this,ue))n(this);u(this,ue).clear()}settled(){return(u(this,je)??ge(this,je,Hn())).promise}static ensure(){if(p===null){const n=p=new tn;ln||(le.add(p),Ce||un(()=>{p===n&&n.flush()}))}return p}apply(){{N=null;return}}schedule(n){var s;if(on=n,(s=n.b)!=null&&s.is_pending&&(n.f&(ve|He|hn))!==0&&(n.f&Ee)===0){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(me!==null&&t===E&&(w===null||(w.f&x)===0))return;if((r&(ee|z))!==0){if((r&b)===0)return;t.f^=b}}u(this,P).push(t)}};be=new WeakMap,Te=new WeakMap,ue=new WeakMap,X=new WeakMap,V=new WeakMap,je=new WeakMap,P=new WeakMap,Ye=new WeakMap,J=new WeakMap,Z=new WeakMap,B=new WeakMap,Ae=new WeakMap,Se=new WeakMap,oe=new WeakMap,m=new WeakSet,ze=function(){return this.is_fork||u(this,V).size>0},$n=function(){for(const r of u(this,oe))for(const s of u(r,V).keys()){for(var n=!1,t=s;t.parent!==null;){if(u(this,B).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},Ke=function(){var f,a;if(Dn++>1e3&&(le.delete(this),Jt()),!D(this,m,ze).call(this)){for(const i of u(this,J))u(this,Z).delete(i),g(i,O),this.schedule(i);for(const i of u(this,Z))g(i,K),this.schedule(i)}const n=u(this,P);ge(this,P,[]),this.apply();var t=me=[],r=[],s=Ge=[];for(const i of n)try{D(this,m,cn).call(this,i,t,r)}catch(c){throw Wn(i),c}if(p=null,s.length>0){var l=tn.ensure();for(const i of s)l.schedule(i)}if(me=null,Ge=null,D(this,m,ze).call(this)||D(this,m,$n).call(this)){D(this,m,$e).call(this,r),D(this,m,$e).call(this,t);for(const[i,c]of u(this,B))Zn(i,c)}else{u(this,X).size===0&&le.delete(this),u(this,J).clear(),u(this,Z).clear();for(const i of u(this,be))i(this);u(this,be).clear(),Mn(r),Mn(t),(f=u(this,je))==null||f.resolve()}var o=p;if(u(this,P).length>0){const i=o??(o=this);u(i,P).push(...u(this,P).filter(c=>!u(i,P).includes(c)))}o!==null&&(le.add(o),D(a=o,m,Ke).call(a))},cn=function(n,t,r){n.f^=b;for(var s=n.first;s!==null;){var l=s.f,o=(l&(z|ee))!==0,f=o&&(l&b)!==0,a=f||(l&L)!==0||u(this,B).has(s);if(!a&&s.fn!==null){o?s.f^=b:(l&ve)!==0?t.push(s):Be(s)&&((l&G)!==0&&u(this,Z).add(s),Oe(s));var i=s.first;if(i!==null){s=i;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},$e=function(n){for(var t=0;t<n.length;t+=1)$t(n[t],u(this,J),u(this,Z))},Zt=function(){var c,h,d;for(const v of le){var n=v.id<this.id,t=[];for(const[_,[A,y]]of this.current){if(v.current.has(_)){var r=v.current.get(_)[0];if(n&&A!==r)v.current.set(_,[A,y]);else continue}t.push(_)}var s=[...v.current.keys()].filter(_=>!this.current.has(_));if(s.length===0)n&&v.discard();else if(t.length>0){if(n)for(const _ of u(this,Ae))v.unskip_effect(_,A=>{var y;(A.f&(G|Fe))!==0?v.schedule(A):D(y=v,m,$e).call(y,[A])});v.activate();var l=new Set,o=new Map;for(var f of t)Xn(f,s,l,o);o=new Map;var a=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,Ye))(_.f&(U|L|fn))===0&&gn(_,a,o)&&((_.f&(Fe|G))!==0?(g(_,O),v.schedule(_)):u(v,J).add(_));if(u(v,P).length>0){v.apply();for(var i of u(v,P))D(c=v,m,cn).call(c,i,[],[]);ge(v,P,[])}v.deactivate()}}for(const v of le)u(v,oe).has(this)&&(u(v,oe).delete(this),u(v,oe).size===0&&!D(h=v,m,ze).call(h)&&(v.activate(),D(d=v,m,Ke).call(d)))};let pe=tn;function Wt(e){var n=Ce;Ce=!0;try{for(var t;;){if(Gt(),p===null)return t;p.flush()}}finally{Ce=n}}function Jt(){try{Ct()}catch(e){Qe(e,on)}}let H=null;function Mn(e){var n=e.length;if(n!==0){for(var t=0;t<n;){var r=e[t++];if((r.f&(U|L))===0&&Be(r)&&(H=new Set,Oe(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&ut(r),(H==null?void 0:H.size)>0)){ce.clear();for(const s of H){if((s.f&(U|L))!==0)continue;const l=[s];let o=s.parent;for(;o!==null;)H.has(o)&&(H.delete(o),l.push(o)),o=o.parent;for(let f=l.length-1;f>=0;f--){const a=l[f];(a.f&(U|L))===0&&Oe(a)}}H.clear()}}H=null}}function Xn(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const l=s.f;(l&x)!==0?Xn(s,n,t,r):(l&(Fe|G))!==0&&(l&O)===0&&gn(s,n,r)&&(g(s,O),mn(s))}}function gn(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Re.call(n,s))return!0;if((s.f&x)!==0&&gn(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function mn(e){p.schedule(e)}function Zn(e,n){if(!((e.f&z)!==0&&(e.f&b)!==0)){(e.f&O)!==0?n.d.push(e):(e.f&K)!==0&&n.m.push(e),g(e,b);for(var t=e.first;t!==null;)Zn(t,n),t=t.next}}function Wn(e){g(e,b);for(var n=e.first;n!==null;)Wn(n),n=n.next}function Jn(e,n,t,r){const s=Ve()?bn:nr;var l=e.filter(d=>!d.settled);if(t.length===0&&l.length===0){r(n.map(s));return}var o=E,f=Qt(),a=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(d=>d.promise)):null;function i(d){f();try{r(d)}catch(v){(o.f&U)===0&&Qe(v,o)}en()}if(t.length===0){a.then(()=>i(n.map(s)));return}var c=yn();function h(){Promise.all(t.map(d=>er(d))).then(d=>i([...n.map(s),...d])).catch(d=>Qe(d,o)).finally(()=>c())}a?a.then(()=>{f(),h(),en()}):h()}function Qt(){var e=E,n=w,t=T,r=p;return function(l=!0){ke(e),te(n),Je(t),l&&(e.f&U)===0&&(r==null||r.activate(),r==null||r.apply())}}function en(e=!0){ke(null),te(null),Je(null),e&&(p==null||p.deactivate())}function yn(){var e=E,n=e.b,t=p,r=n.is_rendered();return n.update_pending_count(1,t),t.increment(r,e),(s=!1)=>{n.update_pending_count(-1,t),t.decrement(r,e,s)}}function bn(e){var n=x|O;return E!==null&&(E.f|=qe),{ctx:T,deps:null,effects:null,equals:Bn,f:n,fn:e,reactions:null,rv:0,v:S,wv:0,parent:E,ac:null}}function er(e,n,t){let r=E;r===null&&It();var s=void 0,l=An(S),o=!w,f=new Map;return cr(()=>{var v;var a=E,i=Hn();s=i.promise;try{Promise.resolve(e()).then(i.resolve,i.reject).finally(en)}catch(_){i.reject(_),en()}var c=p;if(o){if((a.f&Ee)!==0)var h=yn();if(r.b.is_rendered())(v=f.get(c))==null||v.reject($),f.delete(c);else{for(const _ of f.values())_.reject($);f.clear()}f.set(c,i)}const d=(_,A=void 0)=>{if(h){var y=A===$;h(y)}if(!(A===$||(a.f&U)!==0)){if(c.activate(),A)l.f|=Q,vn(l,A);else{(l.f&Q)!==0&&(l.f^=Q),vn(l,_);for(const[xe,Ie]of f){if(f.delete(xe),xe===c)break;Ie.reject($)}}c.deactivate()}};i.promise.then(d,_=>d(null,_||"unknown"))}),ur(()=>{for(const a of f.values())a.reject($)}),new Promise(a=>{function i(c){function h(){c===s?a(l):i(s)}c.then(h,h)}i(s)})}function is(e){const n=bn(e);return _t(n),n}function nr(e){const n=bn(e);return n.equals=Gn,n}function tr(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t<n.length;t+=1)we(n[t])}}function Tn(e){var n,t=E,r=e.parent;if(!ne&&r!==null&&(r.f&(U|L))!==0)return Vt(),e.v;ke(r);try{e.f&=~de,tr(e),n=pt(e)}finally{ke(t)}return n}function Qn(e){var n=Tn(e);if(!e.equals(n)&&(e.wv=dt(),(!(p!=null&&p.is_fork)||e.deps===null)&&(p!==null?p.capture(e,n,!0):e.v=n,e.deps===null))){g(e,b);return}ne||(N!==null?(it()||p!=null&&p.is_fork)&&N.set(e,n):En(e))}function rr(e){var n,t;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((n=r.teardown)==null||n.call(r),(t=r.ac)==null||t.abort($),r.teardown=Nt,r.ac=null,Le(r,0),Nn(r))}function et(e){if(e.effects!==null)for(const n of e.effects)n.teardown&&Oe(n)}let _n=new Set;const ce=new Map;let nt=!1;function An(e,n){var t={f:0,v:e,reactions:null,equals:Bn,rv:0,wv:0};return t}function W(e,n){const t=An(e);return _t(t),t}function as(e,n=!1,t=!0){var s;const r=An(e);return n||(r.equals=Gn),Ue&&t&&T!==null&&T.l!==null&&((s=T.l).s??(s.s=[])).push(r),r}function ie(e,n,t=!1){w!==null&&(!q||(w.f&fn)!==0)&&Ve()&&(w.f&(x|G|Fe|fn))!==0&&(j===null||!Re.call(j,e))&&jt();let r=t?De(n):n;return vn(e,r,Ge)}function vn(e,n,t=null){if(!e.equals(n)){ce.set(e,ne?n:e.v);var r=pe.ensure();if(r.capture(e,n),(e.f&x)!==0){const s=e;(e.f&O)!==0&&Tn(s),N===null&&En(s)}e.wv=dt(),tt(e,O,t),Ve()&&E!==null&&(E.f&b)!==0&&(E.f&(z|ee))===0&&(C===null?hr([e]):C.push(e)),!r.is_fork&&_n.size>0&&!nt&&sr()}return n}function sr(){nt=!1;for(const e of _n)(e.f&b)!==0&&g(e,K),Be(e)&&Oe(e);_n.clear()}function an(e){ie(e,e.v+1)}function tt(e,n,t){var r=e.reactions;if(r!==null)for(var s=Ve(),l=r.length,o=0;o<l;o++){var f=r[o],a=f.f;if(!(!s&&f===E)){var i=(a&O)===0;if(i&&g(f,n),(a&x)!==0){var c=f;N==null||N.delete(c),(a&de)===0&&(a&F&&(E===null||(E.f&We)===0)&&(f.f|=de),tt(c,K,t))}else if(i){var h=f;(a&G)!==0&&H!==null&&H.add(h),t!==null?t.push(h):mn(h)}}}}function De(e){if(typeof e!="object"||e===null||Pe in e)return e;const n=Rt(e);if(n!==At&&n!==St)return e;var t=new Map,r=bt(e),s=W(0),l=_e,o=f=>{if(_e===l)return f();var a=w,i=_e;te(null),jn(l);var c=f();return te(a),jn(i),c};return r&&t.set("length",W(e.length)),new Proxy(e,{defineProperty(f,a,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&Ft();var c=t.get(a);return c===void 0?o(()=>{var h=W(i.value);return t.set(a,h),h}):ie(c,i.value,!0),!0},deleteProperty(f,a){var i=t.get(a);if(i===void 0){if(a in f){const c=o(()=>W(S));t.set(a,c),an(s)}}else ie(i,S),an(s);return!0},get(f,a,i){var v;if(a===Pe)return e;var c=t.get(a),h=a in f;if(c===void 0&&(!h||(v=Me(f,a))!=null&&v.writable)&&(c=o(()=>{var _=De(h?f[a]:S),A=W(_);return A}),t.set(a,c)),c!==void 0){var d=ye(c);return d===S?void 0:d}return Reflect.get(f,a,i)},getOwnPropertyDescriptor(f,a){var i=Reflect.getOwnPropertyDescriptor(f,a);if(i&&"value"in i){var c=t.get(a);c&&(i.value=ye(c))}else if(i===void 0){var h=t.get(a),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return i},has(f,a){var d;if(a===Pe)return!0;var i=t.get(a),c=i!==void 0&&i.v!==S||Reflect.has(f,a);if(i!==void 0||E!==null&&(!c||(d=Me(f,a))!=null&&d.writable)){i===void 0&&(i=o(()=>{var v=c?De(f[a]):S,_=W(v);return _}),t.set(a,i));var h=ye(i);if(h===S)return!1}return c},set(f,a,i,c){var kn;var h=t.get(a),d=a in f;if(r&&a==="length")for(var v=i;v<h.v;v+=1){var _=t.get(v+"");_!==void 0?ie(_,S):v in f&&(_=o(()=>W(S)),t.set(v+"",_))}if(h===void 0)(!d||(kn=Me(f,a))!=null&&kn.writable)&&(h=o(()=>W(void 0)),ie(h,De(i)),t.set(a,h));else{d=h.v!==S;var A=o(()=>De(i));ie(h,A)}var y=Reflect.getOwnPropertyDescriptor(f,a);if(y!=null&&y.set&&y.set.call(c,i),!d){if(r&&typeof a=="string"){var xe=t.get("length"),Ie=Number(a);Number.isInteger(Ie)&&Ie>=xe.v&&ie(xe,Ie+1)}an(s)}return!0},ownKeys(f){ye(s);var a=Reflect.ownKeys(f).filter(h=>{var d=t.get(h);return d===void 0||d.v!==S});for(var[i,c]of t)c.v!==S&&!(i in f)&&a.push(i);return a},setPrototypeOf(){Lt()}})}function Pn(e){try{if(e!==null&&typeof e=="object"&&Pe in e)return e[Pe]}catch{}return e}function fs(e,n){return Object.is(Pn(e),Pn(n))}var Cn,lr,ir,rt,st;function us(){if(Cn===void 0){Cn=window,lr=document,ir=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;rt=Me(n,"firstChild").get,st=Me(n,"nextSibling").get,xn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),xn(t)&&(t.__t=void 0)}}function nn(e=""){return document.createTextNode(e)}function dn(e){return rt.call(e)}function re(e){return st.call(e)}function os(e,n){if(!he)return dn(e);var t=dn(R);if(t===null)t=R.appendChild(nn());else if(n&&t.nodeType!==rn){var r=nn();return t==null||t.before(r),Ne(r),r}return n&&Sn(t),Ne(t),t}function cs(e,n=!1){if(!he){var t=dn(e);return t instanceof Comment&&t.data===""?re(t):t}if(n){if((R==null?void 0:R.nodeType)!==rn){var r=nn();return R==null||R.before(r),Ne(r),r}Sn(R)}return R}function _s(e,n=1,t=!1){let r=he?R:e;for(var s;n--;)s=r,r=re(r);if(!he)return r;if(t){if((r==null?void 0:r.nodeType)!==rn){var l=nn();return r===null?s==null||s.after(l):r.before(l),Ne(l),l}Sn(r)}return Ne(r),r}function vs(e){e.textContent=""}function ds(){return!1}function hs(e,n,t){return document.createElementNS(n??Ut,e,void 0)}function Sn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===rn;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}function ps(e,n){if(n){const t=document.body;e.autofocus=!0,un(()=>{document.activeElement===t&&e.focus()})}}let Fn=!1;function ar(){Fn||(Fn=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var n;if(!e.defaultPrevented)for(const t of e.target.elements)(n=t.__on_r)==null||n.call(t)})},{capture:!0}))}function Rn(e){var n=w,t=E;te(null),ke(null);try{return e()}finally{te(n),ke(t)}}function ws(e,n,t,r=t){e.addEventListener(n,()=>Rn(t));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ar()}function lt(e){E===null&&(w===null&&Pt(),Mt()),ne&&Dt()}function fr(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function Y(e,n){var t=E;t!==null&&(t.f&L)!==0&&(e|=L);var r={ctx:T,deps:null,nodes:null,f:e|O|F,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if((e&ve)!==0)me!==null?me.push(r):pe.ensure().schedule(r);else if(n!==null){try{Oe(r)}catch(o){throw we(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&qe)===0&&(s=s.first,(e&G)!==0&&(e&Ze)!==0&&s!==null&&(s.f|=Ze))}if(s!==null&&(s.parent=t,t!==null&&fr(s,t),w!==null&&(w.f&x)!==0&&(e&ee)===0)){var l=w;(l.effects??(l.effects=[])).push(s)}return r}function it(){return w!==null&&!q}function ur(e){const n=Y(He,null);return g(n,b),n.teardown=e,n}function or(e){lt();var n=E.f,t=!w&&(n&z)!==0&&(n&Ee)===0;if(t){var r=T;(r.e??(r.e=[])).push(e)}else return at(e)}function at(e){return Y(ve|qn,e)}function Es(e){return lt(),Y(He|qn,e)}function gs(e){pe.ensure();const n=Y(ee|qe,e);return(t={})=>new Promise(r=>{t.outro?dr(n,()=>{we(n),r(void 0)}):(we(n),r(void 0))})}function ms(e){return Y(ve,e)}function cr(e){return Y(Fe|qe,e)}function ys(e,n=0){return Y(He|n,e)}function bs(e,n=[],t=[],r=[]){Jn(r,n,t,s=>{Y(He,()=>e(...s.map(ye)))})}function Ts(e,n=[],t=[],r=[]){if(t.length>0||r.length>0)var s=yn();Jn(r,n,t,l=>{Y(ve,()=>e(...l.map(ye))),s&&s()})}function As(e,n=0){var t=Y(G|n,e);return t}function Ss(e,n=0){var t=Y(hn|n,e);return t}function Rs(e){return Y(z|qe,e)}function ft(e){var n=e.teardown;if(n!==null){const t=ne,r=w;Ln(!0),te(null);try{n.call(null)}finally{Ln(t),te(r)}}}function Nn(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&Rn(()=>{s.abort($)});var r=t.next;(t.f&ee)!==0?t.parent=null:we(t,n),t=r}}function _r(e){for(var n=e.first;n!==null;){var t=n.next;(n.f&z)===0&&we(n),n=t}}function we(e,n=!0){var t=!1;(n||(e.f&xt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(vr(e.nodes.start,e.nodes.end),t=!0),g(e,In),Nn(e,n&&!t),Le(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)l.stop();ft(e),e.f^=In,e.f|=U;var s=e.parent;s!==null&&s.first!==null&&ut(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function vr(e,n){for(;e!==null;){var t=e===n?null:re(e);e.remove(),e=t}}function ut(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function dr(e,n,t=!0){var r=[];ot(e,r,!0);var s=()=>{t&&we(e),n&&n()},l=r.length;if(l>0){var o=()=>--l||s();for(var f of r)f.out(o)}else s()}function ot(e,n,t){if((e.f&L)===0){e.f^=L;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||t)&&n.push(f);for(var s=e.first;s!==null;){var l=s.next;if((s.f&ee)===0){var o=(s.f&Ze)!==0||(s.f&z)!==0&&(e.f&G)!==0;ot(s,n,o?t:!1)}s=l}}}function Ns(e){ct(e,!0)}function ct(e,n){if((e.f&L)!==0){e.f^=L,(e.f&b)===0&&(g(e,O),pe.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&Ze)!==0||(t.f&z)!==0;ct(t,s?n:!1),t=r}var l=e.nodes&&e.nodes.t;if(l!==null)for(const o of l)(o.is_global||n)&&o.in()}}function ks(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:re(t);n.append(t),t=s}}let Xe=!1,ne=!1;function Ln(e){ne=e}let w=null,q=!1;function te(e){w=e}let E=null;function ke(e){E=e}let j=null;function _t(e){w!==null&&(j===null?j=[e]:j.push(e))}let I=null,M=0,C=null;function hr(e){C=e}let vt=1,fe=0,_e=fe;function jn(e){_e=e}function dt(){return++vt}function Be(e){var n=e.f;if((n&O)!==0)return!0;if(n&x&&(e.f&=~de),(n&K)!==0){for(var t=e.deps,r=t.length,s=0;s<r;s++){var l=t[s];if(Be(l)&&Qn(l),l.wv>e.wv)return!0}(n&F)!==0&&N===null&&g(e,b)}return!1}function ht(e,n,t=!0){var r=e.reactions;if(r!==null&&!(j!==null&&Re.call(j,e)))for(var s=0;s<r.length;s++){var l=r[s];(l.f&x)!==0?ht(l,n,!1):n===l&&(t?g(l,O):(l.f&b)!==0&&g(l,K),mn(l))}}function pt(e){var A;var n=I,t=M,r=C,s=w,l=j,o=T,f=q,a=_e,i=e.f;I=null,M=0,C=null,w=(i&(z|ee))===0?e:null,j=null,Je(e.ctx),q=!1,_e=++fe,e.ac!==null&&(Rn(()=>{e.ac.abort($)}),e.ac=null);try{e.f|=We;var c=e.fn,h=c();e.f|=Ee;var d=e.deps,v=p==null?void 0:p.is_fork;if(I!==null){var _;if(v||Le(e,M),d!==null&&M>0)for(d.length=M+I.length,_=0;_<I.length;_++)d[M+_]=I[_];else e.deps=d=I;if(it()&&(e.f&F)!==0)for(_=M;_<d.length;_++)((A=d[_]).reactions??(A.reactions=[])).push(e)}else!v&&d!==null&&M<d.length&&(Le(e,M),d.length=M);if(Ve()&&C!==null&&!q&&d!==null&&(e.f&(x|K|O))===0)for(_=0;_<C.length;_++)ht(C[_],e);if(s!==null&&s!==e){if(fe++,s.deps!==null)for(let y=0;y<t;y+=1)s.deps[y].rv=fe;if(n!==null)for(const y of n)y.rv=fe;C!==null&&(r===null?r=C:r.push(...C))}return(e.f&Q)!==0&&(e.f^=Q),h}catch(y){return zt(y)}finally{e.f^=We,I=n,M=t,C=r,w=s,j=l,Je(o),q=f,_e=a}}function pr(e,n){let t=n.reactions;if(t!==null){var r=Tt.call(t,e);if(r!==-1){var s=t.length-1;s===0?t=n.reactions=null:(t[r]=t[s],t.pop())}}if(t===null&&(n.f&x)!==0&&(I===null||!Re.call(I,n))){var l=n;(l.f&F)!==0&&(l.f^=F,l.f&=~de),l.v!==S&&En(l),rr(l),Le(l,0)}}function Le(e,n){var t=e.deps;if(t!==null)for(var r=n;r<t.length;r++)pr(e,t[r])}function Oe(e){var n=e.f;if((n&U)===0){g(e,b);var t=E,r=Xe;E=e,Xe=!0;try{(n&(G|hn))!==0?_r(e):Nn(e),ft(e);var s=pt(e);e.teardown=typeof s=="function"?s:null,e.wv=vt;var l}finally{Xe=r,E=t}}}async function Os(){await Promise.resolve(),Wt()}function xs(){return pe.ensure().settled()}function ye(e){var n=e.f,t=(n&x)!==0;if(w!==null&&!q){var r=E!==null&&(E.f&U)!==0;if(!r&&(j===null||!Re.call(j,e))){var s=w.deps;if((w.f&We)!==0)e.rv<fe&&(e.rv=fe,I===null&&s!==null&&s[M]===e?M++:I===null?I=[e]:I.push(e));else{(w.deps??(w.deps=[])).push(e);var l=e.reactions;l===null?e.reactions=[w]:Re.call(l,w)||l.push(w)}}}if(ne&&ce.has(e))return ce.get(e);if(t){var o=e;if(ne){var f=o.v;return((o.f&b)===0&&o.reactions!==null||Et(o))&&(f=Tn(o)),ce.set(o,f),f}var a=(o.f&F)===0&&!q&&w!==null&&(Xe||(w.f&F)!==0),i=(o.f&Ee)===0;Be(o)&&(a&&(o.f|=F),Qn(o)),a&&!i&&(et(o),wt(o))}if(N!=null&&N.has(e))return N.get(e);if((e.f&Q)!==0)throw e.v;return e.v}function wt(e){if(e.f|=F,e.deps!==null)for(const n of e.deps)(n.reactions??(n.reactions=[])).push(e),(n.f&x)!==0&&(n.f&F)===0&&(et(n),wt(n))}function Et(e){if(e.v===S)return!0;if(e.deps===null)return!1;for(const n of e.deps)if(ce.has(n)||(n.f&x)!==0&&Et(n))return!0;return!1}function gt(e){var n=q;try{return q=!0,e()}finally{q=n}}function wr(e){T===null&&Vn(),Ue&&T.l!==null?Er(T).m.push(e):or(()=>{const n=gt(e);if(typeof n=="function")return n})}function Is(e){T===null&&Vn(),wr(()=>()=>gt(e))}function Er(e){var n=e.l;return n.u??(n.u={a:[],b:[],m:[]})}export{lr as $,Ne as A,R as B,Un as C,In as D,Ze as E,dn as F,wr as G,xt as H,Ts as I,is as J,or as K,De as L,Ns as M,we as N,dr as O,Rs as P,ks as Q,ds as R,Pe as S,Jr as T,ts as U,ns as V,Me as W,Ir as X,Hr as Y,ne as Z,U as _,ls as a,Ee as a$,qr as a0,Ue as a1,Yr as a2,jr as a3,bn as a4,nr as a5,Ur as a6,Ar as a7,Yt as a8,Wt as a9,Ut as aA,Nr as aB,Rt as aC,br as aD,Jn as aE,$r as aF,ps as aG,S as aH,it as aI,an as aJ,Ot as aK,Gr as aL,$t as aM,ke as aN,te as aO,Je as aP,pe as aQ,zt as aR,w as aS,Qe as aT,Dr as aU,Zr as aV,Rn as aW,hs as aX,ir as aY,Vr as aZ,Br as a_,yr as aa,as as ab,Es as ac,Cr as ad,Ht as ae,qt as af,vn as ag,Tr as ah,Or as ai,bt as aj,mr as ak,Mr as al,Lr as am,An as an,Pr as ao,L as ap,un as aq,z as ar,Fr as as,vs as at,Ss as au,Xr as av,fs as aw,ur as ax,ar as ay,Sr as az,T as b,rn as b0,Sn as b1,us as b2,pn as b3,xr as b4,gs as b5,wn as b6,vr as b7,zr as b8,Kr as b9,kr as ba,Is as bb,Nt as bc,Bt as bd,xs as be,os as c,ms as d,rs as e,cs as f,ys as g,E as h,As as i,W as j,ye as k,ie as l,ws as m,p as n,Os as o,ss as p,he as q,Qr as r,_s as s,bs as t,gt as u,es as v,nn as w,qe as x,re as y,Wr as z};
web/sveltekit/build/_app/immutable/chunks/TTdyitJv.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import{k as Ee,o as Pe,a as f,f as S,s as _,t as xe,d as pe,c as he,b as we,l as oe}from"./Dlpu43Tj.js";import{q as re,T as ke,B as _e,ba as ze,i as De,E as Te,aX as Re,b8 as He,F as Ne,w as je,z as Se,A as me,h as Oe,ax as We,p as K,t as M,a as G,s as n,c as r,r as a,v as te,k as t,J as P,K as se,G as Ye,bb as Ue,l as ge,j as be,f as J}from"./DwbuJhNu.js";import{B as Ke,i as I,p as ee}from"./8F5LpR-T.js";import{e as $,s as c,a as de,b as ne,i as ie,c as Ge,C as Qe}from"./CBcGqa-S.js";import{T as le,c as Ve,b as Ze,d as Ae}from"./CtphE0zf.js";import{b as Xe,_ as Je}from"./1oGnrPC6.js";function $e(q,e,k,h,l,p){let b=re;re&&ke();var i=null;re&&_e.nodeType===ze&&(i=_e,ke());var y=re?_e:q,u=new Ke(y,!1);De(()=>{const w=e()||null;var m=w==="svg"?He:void 0;if(w===null){u.ensure(null,null);return}return u.ensure(w,o=>{if(w){if(i=re?i:Re(w,m),Ee(i,i),h){re&&Pe(w)&&i.append(document.createComment(""));var s=re?Ne(i):i.appendChild(je());re&&(s===null?Se(!1):me(s)),h(i,s)}Oe.nodes.end=i,o.before(i)}re&&me(o)}),()=>{}},Te),We(()=>{}),b&&(Se(!0),me(y))}var et=S('<a target="_blank" rel="noopener noreferrer"> </a>'),tt=S('<li><span class="citation-num"> </span> <div class="citation-body"><div class="citation-line-1"><!> <span class="citation-source"> </span> <span class="citation-vintage"> </span></div> <div class="citation-title"><!></div> <div class="citation-meta"><span class="citation-docid"> </span> <span class="citation-retrieved"> </span></div></div></li>'),at=S(`<aside class="citation-drawer svelte-1p339fd" aria-label="Citations"><div class="citation-drawer-head"><span class="section-label"> </span> <span class="citation-drawer-meta">live · primary sources</span></div> <ol class="citation-list"></ol> <div class="citation-drawer-foot"><span class="section-label">Trust signals</span> <p class="citation-foot-copy">All foundation models Apache-2.0. All data from public-record federal,
2
+ state, and city sources. No commercial APIs contacted at runtime.</p></div></aside>`);function rr(q,e){K(e,!0);let k=P(()=>Object.values(e.citations).sort((y,u)=>y.n-u.n));var h=at(),l=r(h),p=r(l),b=r(p);a(p),te(2),a(l);var i=n(l,2);$(i,21,()=>t(k),y=>y.id,(y,u)=>{var w=tt();let m;var o=r(w),s=r(o);a(o);var v=n(o,2),d=r(v),C=r(d);le(C,{get tier(){return t(u).tier},size:10,get color(){return`var(--tier-${t(u).tier??""})`}});var B=n(C,2),g=r(B,!0);a(B);var x=n(B,2),F=r(x);a(x),a(d);var E=n(d,2),z=r(E);{var H=R=>{var L=et(),j=r(L,!0);a(L),M(()=>{c(L,"href",t(u).url),_(j,t(u).title)}),f(R,L)},D=P(()=>t(u).url&&t(u).url.startsWith("http")),A=R=>{var L=xe();M(()=>_(L,t(u).title)),f(R,L)};I(z,R=>{t(D)?R(H):R(A,-1)})}a(E);var T=n(E,2),W=r(T),Q=r(W,!0);a(W);var N=n(W,2),O=r(N);a(N),a(T),a(v),a(w),M(()=>{c(w,"id",`cite-${t(u).id??""}`),m=de(w,1,"citation-item",null,m,{"is-active":Ve.active===t(u).id}),_(s,`[${t(u).n??""}]`),_(g,t(u).source),_(F,`v. ${t(u).vintage??""}`),_(Q,t(u).docId),_(O,`retr. ${t(u).retrieved??""}`)}),f(y,w)}),a(i),te(2),a(h),M(()=>_(b,`Citations · ${t(k).length??""}`)),f(q,h),G()}const rt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",Me=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
3
+ <rect width="12" height="12" fill="rgba(42,111,168,0.18)"/>
4
+ <g stroke="#2A6FA8" stroke-width="1.4">
5
+ <line x1="-2" y1="2" x2="14" y2="-14"/>
6
+ <line x1="-2" y1="8" x2="14" y2="-8"/>
7
+ <line x1="-2" y1="14" x2="14" y2="-2"/>
8
+ <line x1="-2" y1="20" x2="14" y2="4"/>
9
+ </g>
10
+ </svg>`,st=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
11
+ <rect width="12" height="12" fill="rgba(42,111,168,0.16)"/>
12
+ <g stroke="#2A6FA8" stroke-width="1.1">
13
+ <line x1="-2" y1="6" x2="14" y2="-10"/>
14
+ <line x1="-2" y1="14" x2="14" y2="-2"/>
15
+ <line x1="-2" y1="22" x2="14" y2="6"/>
16
+ </g>
17
+ </svg>`;async function it(q,e){const k=new Blob([q],{type:"image/svg+xml"}),h=URL.createObjectURL(k);try{return await new Promise((p,b)=>{const i=new Image(e,e);i.onload=()=>p(i),i.onerror=y=>b(y),i.src=h})}finally{URL.revokeObjectURL(h)}}async function nt(q){const e=[["syn-stripe-45",Me,12],["syn-stripe-45-2x",Me,24],["syn-stripe-45-low",st,12]];for(const[k,h,l]of e)if(!q.hasImage(k))try{const p=await it(h,l);q.addImage(k,p,{pixelRatio:l/12})}catch(p){console.warn(`syn-stripe registration failed for ${k}`,p)}}var lt=S('<div class="map-frame svelte-wk2bu4"><div role="application" class="rip-map-container svelte-wk2bu4"></div></div>');function sr(q,e){K(e,!0);let k=ee(e,"activeLayers",19,()=>({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),h=be(null),l=null,p=be(!1);const b={type:"FeatureCollection",features:[]};function i(m,o){if(!l||!t(p))return;const s=l.getSource(m);s&&s.setData(o??b)}function y(m,o){!l||!t(p)||l.getLayer(m)&&l.setLayoutProperty(m,"visibility",o?"visible":"none")}se(()=>{i("sandy-empirical",e.sandyEmpirical)}),se(()=>{i("dep-modeled",e.depModeled)}),se(()=>{i("syn-prior",e.syntheticPrior)}),se(()=>{i("proxy-311",e.proxy311)}),se(()=>{i("register-points",e.registerPoints)}),se(()=>{i("register-polygons",e.registerPolygons)}),se(()=>{y("tier-empirical-fill",k().empirical),y("tier-empirical-line",k().empirical),y("tier-modeled-fill",k().modeled),y("tier-modeled-line",k().modeled),y("tier-synthetic-fill",k().synthetic),y("tier-synthetic-line",k().synthetic),y("tier-proxy-dots",k().proxy)}),se(()=>{!l||!t(p)||l.flyTo({center:[e.address.lon,e.address.lat],zoom:15,essential:!0})}),Ye(async()=>{if(!t(h))return;const m=await Je(()=>import("./D4L2lGt1.js").then(o=>o.m),[],import.meta.url);l=new m.Map({container:t(h),style:rt,center:[e.address.lon,e.address.lat],zoom:15,attributionControl:{compact:!0}}),l.addControl(new m.NavigationControl({visualizePitch:!1}),"top-right"),l.addControl(new m.ScaleControl({maxWidth:100,unit:"imperial"}),"bottom-left"),l.on("load",()=>{if(!l)return;window.__riprapMap=l,nt(l);const o=()=>({type:"FeatureCollection",features:[]});l.addSource("sandy-empirical",{type:"geojson",data:e.sandyEmpirical??o()}),l.addSource("dep-modeled",{type:"geojson",data:e.depModeled??o()}),l.addSource("syn-prior",{type:"geojson",data:e.syntheticPrior??o()}),l.addSource("proxy-311",{type:"geojson",data:e.proxy311??o()}),l.addSource("register-points",{type:"geojson",data:e.registerPoints??o()}),l.addSource("register-polygons",{type:"geojson",data:e.registerPolygons??o()}),l.addSource("queried-address",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[e.address.lon,e.address.lat]},properties:{label:e.address.label}}]}}),l.addLayer({id:"tier-empirical-fill",type:"fill",source:"sandy-empirical",paint:{"fill-color":"#0B5394","fill-opacity":.4}}),l.addLayer({id:"tier-empirical-line",type:"line",source:"sandy-empirical",paint:{"line-color":"#0B5394","line-width":1.5}}),l.addLayer({id:"tier-modeled-fill",type:"fill",source:"dep-modeled",paint:{"fill-color":"#2A6FA8","fill-opacity":.25}}),l.addLayer({id:"tier-modeled-line",type:"line",source:"dep-modeled",paint:{"line-color":"#2A6FA8","line-width":1.5}}),l.addLayer({id:"tier-synthetic-fill",type:"fill",source:"syn-prior",paint:{"fill-pattern":"syn-stripe-45","fill-opacity":.65}}),l.addLayer({id:"tier-synthetic-line",type:"line",source:"syn-prior",paint:{"line-color":"#2A6FA8","line-width":1.5,"line-dasharray":[4,3]}}),l.addLayer({id:"tier-proxy-dots",type:"circle",source:"proxy-311",paint:{"circle-color":"transparent","circle-stroke-color":"#6B6B6B","circle-stroke-width":1.25,"circle-radius":["interpolate",["linear"],["coalesce",["get","count"],1],1,3,5,6,15,9,30,12]}}),l.addLayer({id:"register-polygons-fill",type:"fill",source:"register-polygons",paint:{"fill-color":"#0B5394","fill-opacity":["interpolate",["linear"],["coalesce",["get","pct_inside_sandy"],0],0,.1,25,.2,50,.32,75,.45]}}),l.addLayer({id:"register-polygons-line",type:"line",source:"register-polygons",paint:{"line-color":"#0B5394","line-width":1,"line-opacity":.85}}),l.addLayer({id:"register-points-circle",type:"circle",source:"register-points",paint:{"circle-color":["case",["==",["get","inside_sandy_2012"],!0],"#0B5394","#6B6B6B"],"circle-stroke-color":"#FAFAF7","circle-stroke-width":1.25,"circle-radius":["match",["get","kind"],"subway",4,"school",5,"hospital",6,"nycha",7,4],"circle-opacity":.9}}),l.on("mouseenter","register-points-circle",()=>{l&&(l.getCanvas().style.cursor="pointer")}),l.on("mouseleave","register-points-circle",()=>{l&&(l.getCanvas().style.cursor="")}),l.on("click","register-points-circle",s=>{var H;if(!l||!((H=s.features)!=null&&H.length))return;const v=s.features[0],d=v.properties??{},C=String(d.name??"?"),B=String(d.kind??"?"),g=d.inside_sandy_2012===!0||d.inside_sandy_2012==="true",x=String(d.doc_id??""),F=`
18
+ <div style="font-family: 'IBM Plex Sans', system-ui; font-size: 12px;">
19
+ <div style="font-weight: 600; color: #1A1A1A;">${C}</div>
20
+ <div style="color: #6B6B6B; font-size: 11px; margin-top: 2px;">${B}</div>
21
+ <div style="margin-top: 6px;">
22
+ <span style="font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; color: ${g?"#0B5394":"#6B6B6B"};">
23
+ inside_sandy_2012=${g}
24
+ </span>
25
+ </div>
26
+ ${x?`<div style="margin-top: 4px; font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; color: #B8620A;">[${x}]</div>`:""}
27
+ </div>`,E=new m.Popup({closeButton:!0,offset:12}),z=v.geometry.coordinates;E.setLngLat(z).setHTML(F).addTo(l)}),l.addLayer({id:"queried-halo",type:"circle",source:"queried-address",paint:{"circle-color":"rgba(209, 124, 0, 0.20)","circle-radius":16}}),l.addLayer({id:"queried-pin",type:"circle",source:"queried-address",paint:{"circle-color":"#D17C00","circle-stroke-color":"#FAFAF7","circle-stroke-width":2,"circle-radius":7}}),l.addLayer({id:"queried-label",type:"symbol",source:"queried-address",layout:{"text-field":["get","label"],"text-font":["Open Sans Semibold","Arial Unicode MS Bold"],"text-size":12,"text-offset":[0,-1.6],"text-anchor":"bottom"},paint:{"text-color":"#1A1A1A","text-halo-color":"#FAFAF7","text-halo-width":1.5}}),ge(p,!0)})}),Ue(()=>{l==null||l.remove(),l=null});var u=lt(),w=r(u);Xe(w,m=>ge(h,m),()=>t(h)),a(u),M(()=>c(w,"aria-label",`Flood-exposure map for ${e.address.label??""}`)),f(q,u),G()}var ot=S('<button type="button"><span class="map-legend-swatch" aria-hidden="true"><!></span> <span class="map-legend-text"><span class="map-legend-label"> </span> <span class="map-legend-source"> <!></span></span> <span class="map-legend-toggle" aria-hidden="true"> </span></button>'),vt=S('<div class="map-legend" role="group" aria-label="Map layer toggles"><div class="map-legend-head"><span class="section-label"> </span></div> <!></div>');function ir(q,e){K(e,!0);const k=[{key:"empirical",tier:"empirical",label:"Sandy Inundation Zone (2012)",source:"NYC OEM"},{key:"modeled",tier:"modeled",label:"FEMA / DEP scenarios",source:"FEMA · NYC DEP"},{key:"synthetic",tier:"synthetic",label:"Synthetic SAR (TerraMind)",source:"TerraMind v1.2"},{key:"proxy",tier:"proxy",label:"311 flood complaints",source:"NYC 311"}];let h=P(()=>e.featureCounts===null?k:k.filter(i=>{var u;const y=(u=e.featureCounts)==null?void 0:u[i.key];return y===void 0||y>0}));var l=he(),p=J(l);{var b=i=>{var y=vt(),u=r(y),w=r(u),m=r(w);a(w),a(u);var o=n(u,2);$(o,17,()=>t(h),s=>s.key,(s,v)=>{var d=ot();let C;var B=r(d),g=r(B);le(g,{get tier(){return t(v).tier},size:11,get color(){return`var(--tier-${t(v).tier??""})`}}),a(B);var x=n(B,2),F=r(x),E=r(F,!0);a(F);var z=n(F,2),H=r(z),D=n(H);Ze(D,{get tier(){return t(v).tier},compact:!0}),a(z),a(x);var A=n(x,2),T=r(A,!0);a(A),a(d),M(()=>{C=de(d,1,"map-legend-item",null,C,{"is-on":e.active[t(v).key],"is-off":!e.active[t(v).key]}),c(d,"aria-pressed",e.active[t(v).key]),_(E,t(v).label),_(H,`${t(v).source??""} · `),_(T,e.active[t(v).key]?"ON":"OFF")}),we("click",d,()=>e.onToggle(t(v).key)),f(s,d)}),a(y),M(()=>_(m,`Layers · ${t(h).length??""}`)),f(i,y)};I(p,i=>{t(h).length&&i(b)})}f(q,l),G()}pe(["click"]);const Be=["cornerstone","keystone","touchstone","lodestone","capstone"],dt={cornerstone:{name:"Cornerstone",role:"the hazard reader",tag:"what NYC's ground remembers"},keystone:{name:"Keystone",role:"the asset register",tag:"what's exposed"},touchstone:{name:"Touchstone",role:"the live observer",tag:"what's happening now"},lodestone:{name:"Lodestone",role:"the projector",tag:"what's coming"},capstone:{name:"Capstone",role:"the synthesizer",tag:"writes it all down with citations"}};var ct=S('<span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item svelte-1vuwkv4"><strong class="svelte-1vuwkv4"> </strong> cache</span>',1),ut=S('<span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item rh-silent svelte-1vuwkv4"> </span>',1),gt=S('<span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item rh-warn svelte-1vuwkv4"> </span>',1),ht=S('<span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item rh-err svelte-1vuwkv4"> </span>',1),ft=S('<div class="rh svelte-1vuwkv4"><span class="rh-item svelte-1vuwkv4"><strong class="svelte-1vuwkv4"> </strong> Stones</span> <span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item svelte-1vuwkv4"><strong class="svelte-1vuwkv4"> </strong> functions fired</span> <span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item svelte-1vuwkv4"><strong class="svelte-1vuwkv4"> </strong> </span> <span class="rh-sep svelte-1vuwkv4">·</span> <span class="rh-item svelte-1vuwkv4"><strong class="svelte-1vuwkv4"> </strong> wall-clock</span> <!> <!> <!> <!></div>');function yt(q,e){K(e,!0);function k(L){return L.flatMap(j=>j.children?[j,...k(j.children)]:[j])}let h=P(()=>e.stones.flatMap(L=>k(L.members))),l=P(()=>t(h).length),p=P(()=>t(h).filter(L=>L.status==="ok").length),b=P(()=>t(h).filter(L=>L.status==="silent").length),i=P(()=>t(h).filter(L=>L.status==="warn").length),y=P(()=>t(h).filter(L=>L.status==="error").length),u=P(()=>e.wallSeconds==null?"—":e.wallSeconds<1?`${Math.round(e.wallSeconds*1e3)}ms`:`${e.wallSeconds.toFixed(1)}s`);var w=ft(),m=r(w),o=r(m),s=r(o,!0);a(o),te(),a(m);var v=n(m,4),d=r(v),C=r(d);a(d),te(),a(v);var B=n(v,4),g=r(B),x=r(g,!0);a(g);var F=n(g);a(B);var E=n(B,4),z=r(E),H=r(z,!0);a(z),te(),a(E);var D=n(E,2);{var A=L=>{var j=ct(),U=n(J(j),2),Y=r(U),Z=r(Y);a(Y),te(),a(U),M(ae=>_(Z,`${ae??""}%`),[()=>Math.round(e.cacheHit*100)]),f(L,j)};I(D,L=>{e.cacheHit!=null&&L(A)})}var T=n(D,2);{var W=L=>{var j=ut(),U=n(J(j),2),Y=r(U);a(U),M(()=>_(Y,`${t(b)??""} silent`)),f(L,j)};I(T,L=>{t(b)>0&&L(W)})}var Q=n(T,2);{var N=L=>{var j=gt(),U=n(J(j),2),Y=r(U);a(U),M(()=>_(Y,`${t(i)??""} warn`)),f(L,j)};I(Q,L=>{t(i)>0&&L(N)})}var O=n(Q,2);{var R=L=>{var j=ht(),U=n(J(j),2),Y=r(U);a(U),M(()=>_(Y,`${t(y)??""} error`)),f(L,j)};I(O,L=>{t(y)>0&&L(R)})}a(w),M(()=>{_(s,e.stones.length),_(C,`${t(p)??""}/${t(l)??""}`),_(x,e.cards.length),_(F,` evidence card${e.cards.length===1?"":"s"}`),_(H,t(u))}),f(q,w),G()}var _t=S('<div class="subhead svelte-lygj3j"> </div>'),mt=S('<p class="body-prose svelte-lygj3j"> </p>'),xt=S('<div class="body body-headline svelte-lygj3j"><div class="headline svelte-lygj3j"> </div> <!> <!></div>');function bt(q,e){K(e,!0);var k=xt(),h=r(k),l=r(h,!0);a(h);var p=n(h,2);{var b=u=>{var w=_t(),m=r(w,!0);a(w),M(()=>_(m,e.card.subhead)),f(u,w)};I(p,u=>{e.card.subhead&&u(b)})}var i=n(p,2);{var y=u=>{var w=mt(),m=r(w,!0);a(w),M(()=>_(m,e.card.body)),f(u,w)};I(i,u=>{e.card.body&&u(y)})}a(k),M(()=>{ne(h,`color: var(--tier-${e.card.tier??""});`),_(l,e.card.headline??"")}),f(q,k),G()}var pt=S('<th class="svelte-1nlkuao"> </th>'),wt=S('<td class="svelte-1nlkuao"> </td>'),kt=S('<tr class="svelte-1nlkuao"></tr>'),St=S('<div class="body-sub svelte-1nlkuao"> </div>'),At=S('<div class="body body-tabular svelte-1nlkuao"><table class="t svelte-1nlkuao"><thead><tr></tr></thead><tbody></tbody></table> <!></div>');function Mt(q,e){K(e,!0);var k=At(),h=r(k),l=r(h),p=r(l);$(p,21,()=>e.card.columns??[],ie,(u,w)=>{var m=pt(),o=r(m,!0);a(m),M(()=>_(o,t(w))),f(u,m)}),a(p),a(l);var b=n(l);$(b,21,()=>e.card.rows??[],ie,(u,w)=>{var m=kt();$(m,21,()=>t(w),ie,(o,s)=>{var v=wt(),d=r(v,!0);a(v),M(()=>_(d,t(s))),f(o,v)}),a(m),f(u,m)}),a(b),a(h);var i=n(h,2);{var y=u=>{var w=St(),m=r(w,!0);a(w),M(()=>_(m,e.card.sub)),f(u,w)};I(i,u=>{e.card.sub&&u(y)})}a(k),f(q,k),G()}var Bt=S('<div class="cell svelte-stf9c8"><div class="value svelte-stf9c8"> </div> <div class="label svelte-stf9c8"> </div></div>'),Ct=S('<div class="body-sub svelte-stf9c8"> </div>'),Ft=S('<div class="body body-scalars svelte-stf9c8"><div class="row svelte-stf9c8"></div> <!></div>');function Lt(q,e){K(e,!0);var k=Ft(),h=r(k);$(h,21,()=>e.card.scalars??[],ie,(b,i)=>{var y=Bt(),u=r(y),w=r(u,!0);a(u);var m=n(u,2),o=r(m,!0);a(m),a(y),M(()=>{ne(u,`color: var(--tier-${e.card.tier??""});`),_(w,t(i).value),_(o,t(i).label)}),f(b,y)}),a(h);var l=n(h,2);{var p=b=>{var i=Ct(),y=r(i,!0);a(i),M(()=>_(y,e.card.sub)),f(b,i)};I(l,b=>{e.card.sub&&b(p)})}a(k),f(q,k),G()}var qt=S('<div class="headline svelte-jrppts"> </div>'),It=S('<div class="subhead svelte-jrppts"> </div>'),Et=oe("<rect></rect>"),Pt=S('<div class="body-sub svelte-jrppts"> </div>'),zt=S('<div class="body-sub svelte-jrppts"> </div>'),Dt=S('<div class="body body-spark svelte-jrppts"><!> <!> <svg width="100%" preserveAspectRatio="none" aria-hidden="true" class="svelte-jrppts"></svg> <!> <!></div>');function Tt(q,e){K(e,!0);const k=240,h=38;let l=P(()=>e.card.spark??e.card.histogram??[]),p=P(()=>Math.max(...t(l),1)),b=P(()=>t(l).length),i=P(()=>Math.max(2,k/Math.max(t(b),1)-1.5));var y=Dt(),u=r(y);{var w=g=>{var x=qt(),F=r(x,!0);a(x),M(()=>{ne(x,`color: var(--tier-${e.card.tier??""});`),_(F,e.card.headline)}),f(g,x)};I(u,g=>{e.card.headline&&g(w)})}var m=n(u,2);{var o=g=>{var x=It(),F=r(x,!0);a(x),M(()=>_(F,e.card.subhead)),f(g,x)};I(m,g=>{e.card.subhead&&g(o)})}var s=n(m,2);c(s,"viewBox","0 0 240 38"),c(s,"height",h),$(s,21,()=>t(l),ie,(g,x,F)=>{var E=Et();M(()=>{c(E,"x",F/t(b)*k+.5),c(E,"y",h-t(x)/t(p)*h),c(E,"width",t(i)),c(E,"height",t(x)/t(p)*h),c(E,"fill",`var(--tier-${e.card.tier??""})`)}),f(g,E)}),a(s);var v=n(s,2);{var d=g=>{var x=Pt(),F=r(x,!0);a(x),M(()=>_(F,e.card.sparkSub)),f(g,x)};I(v,g=>{e.card.sparkSub&&g(d)})}var C=n(v,2);{var B=g=>{var x=zt(),F=r(x,!0);a(x),M(()=>_(F,e.card.sub)),f(g,x)};I(C,g=>{!e.card.sparkSub&&e.card.sub&&g(B)})}a(y),f(q,y),G()}var Rt=S('<span class="headline svelte-48vbub"> </span>'),Ht=S('<span class="subhead svelte-48vbub"> </span>'),Nt=S('<span class="spatial-note svelte-48vbub"> </span>'),jt=S("<span> </span>"),Ot=S('<div class="body-sub svelte-48vbub"><!> <!></div>'),Wt=S('<div class="body body-timeseries svelte-48vbub"><div class="ts-header svelte-48vbub"><!> <!></div> <svg width="100%" aria-hidden="true" class="svelte-48vbub"><line stroke="#C9C9C5" stroke-width="0.5" stroke-dasharray="2 2"></line><path fill="none" stroke-width="1.4"></path><circle r="3"></circle><text font-size="9" font-family="IBM Plex Mono" text-anchor="middle"> </text><text font-size="8" font-family="IBM Plex Mono" fill="#6B6B6B">now</text><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#6B6B6B"> </text></svg> <!></div>');function Yt(q,e){K(e,!0);const k=240,h=84,l=6,p=P(()=>e.card.timeseries??{hours:96,peak:{x:38,y:47},peakLabel:""}),b=P(()=>u(t(p))),i=P(()=>w(t(b),t(p))),y=P(()=>m(t(b),t(i)));function u(N){const O=[];for(let R=0;R<=N.hours;R++){const L=6*Math.sin(R/12.42*Math.PI*2),j=38*Math.exp(-Math.pow((R-N.peak.x)/12,2));O.push({x:R,y:L+j+4})}return O}function w(N,O){const R=Math.max(...N.map(j=>j.y),O.peak.y),L=Math.min(...N.map(j=>j.y),-10);return{sx:j=>l+j/O.hours*(k-l*2),sy:j=>h-l-14-(j-L)/(R-L)*(h-l*2-14)}}function m(N,O){return N.map((R,L)=>`${L?"L":"M"} ${O.sx(R.x)} ${O.sy(R.y)}`).join(" ")}var o=Wt(),s=r(o),v=r(s);{var d=N=>{var O=Rt(),R=r(O,!0);a(O),M(()=>{ne(O,`color: var(--tier-${e.card.tier??""});`),_(R,e.card.headline)}),f(N,O)};I(v,N=>{e.card.headline&&N(d)})}var C=n(v,2);{var B=N=>{var O=Ht(),R=r(O,!0);a(O),M(()=>_(R,e.card.subhead)),f(N,O)};I(C,N=>{e.card.subhead&&N(B)})}a(s);var g=n(s,2);c(g,"viewBox","0 0 240 84"),c(g,"height",h);var x=r(g);c(x,"x1",l),c(x,"x2",k-l);var F=n(x),E=n(F),z=n(E),H=r(z,!0);a(z);var D=n(z);c(D,"x",l),c(D,"y",h-2);var A=n(D);c(A,"x",k-l),c(A,"y",h-2);var T=r(A);a(A),a(g);var W=n(g,2);{var Q=N=>{var O=Ot(),R=r(O);{var L=Y=>{var Z=Nt(),ae=r(Z,!0);a(Z),M(()=>_(ae,e.card.spatialNote)),f(Y,Z)};I(R,Y=>{e.card.spatialNote&&Y(L)})}var j=n(R,2);{var U=Y=>{var Z=jt(),ae=r(Z,!0);a(Z),M(()=>_(ae,e.card.sub)),f(Y,Z)};I(j,Y=>{e.card.sub&&Y(U)})}a(O),f(N,O)};I(W,N=>{(e.card.spatialNote||e.card.sub)&&N(Q)})}a(o),M((N,O,R,L,j,U)=>{c(x,"y1",N),c(x,"y2",O),c(F,"d",t(y)),c(F,"stroke",`var(--tier-${e.card.tier??""})`),c(E,"cx",R),c(E,"cy",L),c(E,"fill",`var(--tier-${e.card.tier??""})`),c(z,"x",j),c(z,"y",U),c(z,"fill",`var(--tier-${e.card.tier??""})`),_(H,t(p).peakLabel),_(T,`+${t(p).hours??""}h`)},[()=>t(i).sy(0),()=>t(i).sy(0),()=>t(i).sx(t(p).peak.x),()=>t(i).sy(t(p).peak.y),()=>t(i).sx(t(p).peak.x),()=>t(i).sy(t(p).peak.y)-6]),f(q,o),G()}var Ut=oe('<circle r="2.2"></circle><text font-size="9" font-family="IBM Plex Mono" text-anchor="middle" fill="#6B6B6B"> </text>',1),Kt=S('<div class="body-sub svelte-gqkhpe"> </div>'),Gt=S('<div class="body body-forecast svelte-gqkhpe"><svg width="100%" aria-hidden="true" class="svelte-gqkhpe"><path fill-opacity="0.18"></path><path fill="none" stroke-width="1.5"></path><!></svg> <!></div>');function Qt(q,e){K(e,!0);const k=240,h=88,l=6;let p=P(()=>e.card.forecast??[]),b=P(()=>t(p).map((g,x)=>l+x/Math.max(t(p).length-1,1)*(k-l*2))),i=P(()=>Math.max(...t(p).map(g=>g.high),1));function y(g){return h-l-g/t(i)*(h-l*2-12)}let u=P(()=>t(b).map((g,x)=>`${x?"L":"M"} ${g} ${y(t(p)[x].mid)}`).join(" ")),w=P(()=>{if(!t(p).length)return"";const g=t(b).map((F,E)=>`${F} ${y(t(p)[E].low)}`).join(" L "),x=[...t(b)].reverse().map((F,E)=>`${F} ${y(t(p)[t(p).length-1-E].high)}`).join(" L ");return`M ${g} L ${x} Z`});var m=Gt(),o=r(m);c(o,"viewBox","0 0 240 88"),c(o,"height",h);var s=r(o),v=n(s),d=n(v);$(d,17,()=>t(p),ie,(g,x,F)=>{var E=Ut(),z=J(E),H=n(z);c(H,"y",h-1);var D=r(H,!0);a(H),M(A=>{c(z,"cx",t(b)[F]),c(z,"cy",A),c(z,"fill",`var(--tier-${e.card.tier??""})`),c(H,"x",t(b)[F]),_(D,t(x).year)},[()=>y(t(x).mid)]),f(g,E)}),a(o);var C=n(o,2);{var B=g=>{var x=Kt(),F=r(x,!0);a(x),M(()=>_(F,e.card.sub)),f(g,x)};I(C,g=>{e.card.sub&&g(B)})}a(m),M(()=>{c(s,"d",t(w)),c(s,"fill",`var(--tier-${e.card.tier??""})`),c(v,"d",t(u)),c(v,"stroke",`var(--tier-${e.card.tier??""})`)}),f(q,m),G()}var Vt=oe('<svg width="100%" aria-hidden="true" class="svelte-1lx1psy"><rect fill="#F2F2EE"></rect><g stroke="#D9D6CC" stroke-width="0.6"><line x1="0" y1="40" y2="40"></line><line x1="0" y1="80" y2="80"></line><line x1="60" y1="0" x2="60"></line><line x1="160" y1="0" x2="160"></line></g><path d="M20 50 Q 60 38 90 56 Q 120 76 150 64 Q 180 50 180 86 Q 130 100 70 96 Q 30 92 20 76 Z" fill="rgba(42,111,168,0.32)" stroke="#2A6FA8" stroke-width="0.7"></path><path d="M40 60 Q 80 54 110 70 Q 140 84 160 78 Q 165 90 130 92 Q 80 90 50 82 Z" fill="rgba(11,83,148,0.36)" stroke="#0B5394" stroke-width="0.6"></path><circle cx="120" cy="74" r="3.2" fill="#D17C00" stroke="#FAFAF7" stroke-width="1.3"></circle><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#6B6B6B">2.13 in/hr · MOD</text></svg>'),Zt=oe('<svg width="100%" aria-hidden="true" class="svelte-1lx1psy"><rect fill="#F2F2EE"></rect><g stroke="#D9D6CC" stroke-width="0.6"><line x1="0" y1="40" y2="40"></line><line x1="0" y1="80" y2="80"></line><line x1="60" y1="0" x2="60"></line><line x1="160" y1="0" x2="160"></line></g><path d="M180 92 Q 200 88 215 96 Q 220 105 200 104 Q 185 102 180 96 Z" fill="rgba(42,111,168,0.18)" stroke="#2A6FA8" stroke-width="0.5" stroke-dasharray="2 2"></path><circle cx="120" cy="60" r="3.2" fill="#D17C00" stroke="#FAFAF7" stroke-width="1.3"></circle><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#6B6B6B">no ponding · MOD</text></svg>'),Xt=oe('<svg width="100%" aria-hidden="true" class="svelte-1lx1psy"><defs><pattern id="rt-s2-rgb" x="0" y="0" width="6" height="6" patternUnits="userSpaceOnUse"><rect width="6" height="6" fill="#7A8E6A"></rect><rect x="0" y="0" width="3" height="3" fill="#8D9C7A"></rect><rect x="3" y="3" width="3" height="3" fill="#69795D"></rect></pattern></defs><rect fill="url(#rt-s2-rgb)"></rect><rect x="0" y="55" height="6" fill="#A8A496"></rect><rect x="115" y="0" width="8" fill="#A8A496"></rect><ellipse cx="50" cy="92" rx="6" ry="3" fill="#2A6FA8" fill-opacity="0.65"></ellipse><text x="6" y="14" font-size="9" font-family="IBM Plex Mono" fill="#FAFAF7">PRITHVI · 0.3%</text><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#FAFAF7">scene 2026-05-02</text></svg>'),Jt=oe('<svg width="100%" aria-hidden="true" class="svelte-1lx1psy"><rect fill="#F2F2EE"></rect><rect x="0" y="0" width="80" height="60" fill="#C66"></rect><rect x="80" y="0" width="60" height="60" fill="#C66"></rect><rect x="140" y="0" width="100" height="38" fill="#C66"></rect><rect x="140" y="38" width="100" height="22" fill="#5B7FB4"></rect><rect x="0" y="60" width="100" height="60" fill="#C66"></rect><rect x="100" y="60" width="50" height="40" fill="#5B8A4A"></rect><rect x="150" y="60" width="50" height="60" fill="#D9C75A"></rect><rect x="200" y="60" width="40" height="60" fill="#C66"></rect><rect x="100" y="100" width="50" height="20" fill="#A89A78"></rect><text x="6" y="14" font-size="9" font-family="IBM Plex Mono" fill="#FAFAF7">LULC · TerraMind</text><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#FAFAF7">scene 2026-05-02</text></svg>'),$t=oe('<rect fill="rgba(42,111,168,0.55)" stroke="#2A6FA8" stroke-width="0.4"></rect>'),ea=oe('<svg width="100%" aria-hidden="true" class="svelte-1lx1psy"><rect fill="#3A3A38"></rect><!><text x="6" y="14" font-size="9" font-family="IBM Plex Mono" fill="#FAFAF7">BLDG · TerraMind</text><text font-size="8" font-family="IBM Plex Mono" text-anchor="end" fill="#FAFAF7">36.2% built</text></svg>'),ta=S('<div class="thumb-placeholder svelte-1lx1psy">raster preview</div>');function aa(q,e){var l=he(),p=J(l);{var b=o=>{var s=Vt();c(s,"viewBox","0 0 240 120"),c(s,"height",120);var v=r(s);c(v,"width",240),c(v,"height",120);var d=n(v),C=r(d);c(C,"x2",240);var B=n(C);c(B,"x2",240);var g=n(B);c(g,"y2",120);var x=n(g);c(x,"y2",120),a(d);var F=n(d,4);c(F,"x",234),c(F,"y",115),a(s),f(o,s)},i=o=>{var s=Zt();c(s,"viewBox","0 0 240 120"),c(s,"height",120);var v=r(s);c(v,"width",240),c(v,"height",120);var d=n(v),C=r(d);c(C,"x2",240);var B=n(C);c(B,"x2",240);var g=n(B);c(g,"y2",120);var x=n(g);c(x,"y2",120),a(d);var F=n(d,3);c(F,"x",234),c(F,"y",115),a(s),f(o,s)},y=o=>{var s=Xt();c(s,"viewBox","0 0 240 120"),c(s,"height",120);var v=n(r(s));c(v,"width",240),c(v,"height",120);var d=n(v);c(d,"width",240);var C=n(d);c(C,"height",120);var B=n(C,3);c(B,"x",234),c(B,"y",115),a(s),f(o,s)},u=o=>{var s=Jt();c(s,"viewBox","0 0 240 120"),c(s,"height",120);var v=r(s);c(v,"width",240),c(v,"height",120);var d=n(v,11);c(d,"x",234),c(d,"y",115),a(s),f(o,s)},w=o=>{var s=ea();c(s,"viewBox","0 0 240 120"),c(s,"height",120);var v=r(s);c(v,"width",240),c(v,"height",120);var d=n(v);$(d,16,()=>[[10,10,28,18],[42,10,30,16],[78,10,40,22],[124,10,32,18],[162,10,30,18],[198,10,32,18],[10,32,28,16],[42,30,30,18],[124,32,32,16],[162,32,30,16],[198,32,32,16],[10,55,28,18],[42,55,30,18],[78,55,40,18],[124,55,32,18],[162,55,30,18],[198,55,32,18],[10,80,28,16],[42,80,30,16],[78,80,40,16],[124,80,32,16],[162,80,30,16],[10,100,28,12],[42,100,30,12],[78,100,40,12]],ie,(B,g)=>{var x=$t();M(()=>{c(x,"x",g[0]),c(x,"y",g[1]),c(x,"width",g[2]),c(x,"height",g[3])}),f(B,x)});var C=n(d,2);c(C,"x",234),c(C,"y",115),a(s),f(o,s)},m=o=>{var s=ta();f(o,s)};I(p,o=>{e.kind==="stormwater"?o(b):e.kind==="stormwater-dry"?o(i,1):e.kind==="prithvi"?o(y,2):e.kind==="lulc"?o(u,3):e.kind==="buildings"?o(w,4):o(m,-1)})}f(q,l)}var ra=S('<span class="illustrative svelte-1m43x1m" title="Illustrative rendering, not source pixels">illustrative</span>'),sa=S('<span class="svelte-1m43x1m"> </span>'),ia=S('<div class="raster-headline svelte-1m43x1m"><span class="svelte-1m43x1m"> </span> <!></div>'),na=S('<div class="body-sub svelte-1m43x1m"> </div>'),la=S('<div class="body body-raster svelte-1m43x1m"><div class="frame svelte-1m43x1m"><!> <!></div> <!> <!></div>');function oa(q,e){K(e,!0);var k=la(),h=r(k),l=r(h);aa(l,{get kind(){return e.card.rasterKind}});var p=n(l,2);{var b=m=>{var o=ra();f(m,o)};I(p,m=>{(e.card.illustrative||e.card.tier==="synthetic")&&m(b)})}a(h);var i=n(h,2);{var y=m=>{var o=ia(),s=r(o),v=r(s,!0);a(s);var d=n(s,2);{var C=B=>{var g=sa(),x=r(g);a(g),M(()=>_(x,`· ${e.card.subhead??""}`)),f(B,g)};I(d,B=>{e.card.subhead&&B(C)})}a(o),M(()=>{ne(s,`color: var(--tier-${e.card.tier??""});`),_(v,e.card.headline)}),f(m,o)};I(i,m=>{e.card.headline&&m(y)})}var u=n(i,2);{var w=m=>{var o=na(),s=r(o,!0);a(o),M(()=>_(s,e.card.sub)),f(m,o)};I(u,m=>{e.card.sub&&m(w)})}a(k),f(q,k),G()}var va=S('<span class="reg-label svelte-1iup6im"> </span> <span class="reg-source svelte-1iup6im"> </span>',1),da=S('<span class="reg-silent svelte-1iup6im"> </span>'),ca=S('<li><span class="reg-tag svelte-1iup6im"><!> <span> </span></span> <!></li>'),ua=S('<div class="body-sub svelte-1iup6im"> </div>'),ga=S('<div class="body body-register svelte-1iup6im"><ul class="reg-list svelte-1iup6im"></ul> <!></div>');function ha(q,e){K(e,!0);var k=ga(),h=r(k);$(h,21,()=>e.card.registers??[],ie,(b,i)=>{var y=ca();let u;var w=r(y),m=r(w);le(m,{get tier(){return t(i).tier},size:9,get color(){return`var(--tier-${t(i).tier??""})`}});var o=n(m,2),s=r(o,!0);a(o),a(w);var v=n(w,2);{var d=B=>{var g=va(),x=J(g),F=r(x,!0);a(x);var E=n(x,2),z=r(E,!0);a(E),M(()=>{c(x,"title",t(i).detail?`${t(i).label} — ${t(i).detail}`:t(i).label),_(F,t(i).label),_(z,t(i).sourceId??"")}),f(B,g)},C=B=>{var g=da(),x=r(g,!0);a(g),M(()=>_(x,t(i).note)),f(B,g)};I(v,B=>{t(i).label?B(d):B(C,-1)})}a(y),M(()=>{u=de(y,1,"reg-row svelte-1iup6im",null,u,{silent:!t(i).label}),c(w,"title",t(i).tier),_(s,t(i).reg)}),f(b,y)}),a(h);var l=n(h,2);{var p=b=>{var i=ua(),y=r(i,!0);a(i),M(()=>_(y,e.card.sub)),f(b,i)};I(l,b=>{e.card.sub&&b(p)})}a(k),f(q,k),G()}var fa=S('<div class="cell-aux svelte-1swqabu"> </div>'),ya=S('<div class="cell svelte-1swqabu"><div class="cell-tier svelte-1swqabu"><!> <span class="cell-label"> </span></div> <div class="cell-value svelte-1swqabu"> </div> <!></div>'),_a=S('<div class="cell-aux svelte-1swqabu"> </div>'),ma=S('<div class="cell svelte-1swqabu"><div class="cell-tier svelte-1swqabu"><!> <span class="cell-label"> </span></div> <div class="cell-value svelte-1swqabu"> </div> <!></div>'),xa=S('<div class="cmp-delta svelte-1swqabu"> </div>'),ba=S('<div class="body-sub svelte-1swqabu"> </div>'),pa=S('<div class="body body-comparison svelte-1swqabu"><div class="cmp-grid svelte-1swqabu"><!> <div class="divider svelte-1swqabu" aria-hidden="true">vs</div> <!></div> <!> <!></div>');function wa(q,e){K(e,!0);var k=pa(),h=r(k),l=r(h);{var p=o=>{var s=ya(),v=r(s),d=r(v);le(d,{get tier(){return e.card.left.tier},size:10,get color(){return`var(--tier-${e.card.left.tier??""})`}});var C=n(d,2),B=r(C,!0);a(C),a(v);var g=n(v,2),x=r(g,!0);a(g);var F=n(g,2);{var E=z=>{var H=fa(),D=r(H,!0);a(H),M(()=>_(D,e.card.left.aux)),f(z,H)};I(F,z=>{e.card.left.aux&&z(E)})}a(s),M(()=>{_(B,e.card.left.label),ne(g,`color: var(--tier-${e.card.left.tier??""});`),_(x,e.card.left.value)}),f(o,s)};I(l,o=>{e.card.left&&o(p)})}var b=n(l,4);{var i=o=>{var s=ma(),v=r(s),d=r(v);le(d,{get tier(){return e.card.right.tier},size:10,get color(){return`var(--tier-${e.card.right.tier??""})`}});var C=n(d,2),B=r(C,!0);a(C),a(v);var g=n(v,2),x=r(g,!0);a(g);var F=n(g,2);{var E=z=>{var H=_a(),D=r(H,!0);a(H),M(()=>_(D,e.card.right.aux)),f(z,H)};I(F,z=>{e.card.right.aux&&z(E)})}a(s),M(()=>{_(B,e.card.right.label),ne(g,`color: var(--tier-${e.card.right.tier??""});`),_(x,e.card.right.value)}),f(o,s)};I(b,o=>{e.card.right&&o(i)})}a(h);var y=n(h,2);{var u=o=>{var s=xa(),v=r(s,!0);a(s),M(()=>_(v,e.card.delta)),f(o,s)};I(y,o=>{e.card.delta&&o(u)})}var w=n(y,2);{var m=o=>{var s=ba(),v=r(s,!0);a(s),M(()=>_(v,e.card.sub)),f(o,s)};I(w,o=>{e.card.sub&&o(m)})}a(k),f(q,k),G()}var ka=S('<div class="meta-row svelte-e40scu"><dt class="svelte-e40scu"> </dt> <dd class="svelte-e40scu"> </dd></div>'),Sa=S('<div class="body-sub svelte-e40scu"> </div>'),Aa=S('<div class="body body-meta svelte-e40scu"><dl class="meta-list svelte-e40scu"></dl> <!></div>');function Ma(q,e){K(e,!0);var k=Aa(),h=r(k);$(h,21,()=>e.card.metaRows??[],ie,(b,i)=>{var y=ka(),u=r(y),w=r(u,!0);a(u);var m=n(u,2),o=r(m,!0);a(m),a(y),M(()=>{_(w,t(i).k),_(o,t(i).v)}),f(b,y)}),a(h);var l=n(h,2);{var p=b=>{var i=Sa(),y=r(i,!0);a(i),M(()=>_(y,e.card.sub)),f(b,i)};I(l,b=>{e.card.sub&&b(p)})}a(k),f(q,k),G()}var Ba=S('<div class="unknown svelte-1x6xqhh"> </div>');function Ca(q,e){K(e,!0);var k=he(),h=J(k);{var l=d=>{bt(d,{get card(){return e.card}})},p=d=>{Mt(d,{get card(){return e.card}})},b=d=>{Lt(d,{get card(){return e.card}})},i=d=>{Tt(d,{get card(){return e.card}})},y=d=>{Yt(d,{get card(){return e.card}})},u=d=>{Qt(d,{get card(){return e.card}})},w=d=>{oa(d,{get card(){return e.card}})},m=d=>{ha(d,{get card(){return e.card}})},o=d=>{wa(d,{get card(){return e.card}})},s=d=>{Ma(d,{get card(){return e.card}})},v=d=>{var C=Ba(),B=r(C);a(C),M(()=>_(B,`unknown variant: ${e.card.variant??""}`)),f(d,C)};I(h,d=>{e.card.variant==="headline"?d(l):e.card.variant==="tabular"?d(p,1):e.card.variant==="scalars"?d(b,2):e.card.variant==="spark"||e.card.variant==="histogram"?d(i,3):e.card.variant==="timeseries"?d(y,4):e.card.variant==="forecast"?d(u,5):e.card.variant==="raster"||e.card.variant==="raster-pred"?d(w,6):e.card.variant==="register"?d(m,7):e.card.variant==="comparison"?d(o,8):e.card.variant==="meta"?d(s,9):d(v,-1)})}f(q,k),G()}var Fa=S('<button type="button" class="fc-foot-cite svelte-1nuvnzu"><span class="fc-foot-docid svelte-1nuvnzu"> </span> <span class="fc-foot-arrow svelte-1nuvnzu" aria-hidden="true">→</span></button>'),La=S('<span class="fc-foot-docid fc-foot-docid-mute svelte-1nuvnzu"> </span>'),qa=S('<header class="fc-head svelte-1nuvnzu"><div class="fc-head-source svelte-1nuvnzu"><!> <span class="fc-head-source-label svelte-1nuvnzu"> </span></div> <span class="fc-head-vintage svelte-1nuvnzu"> </span></header> <h4 class="fc-title svelte-1nuvnzu"> </h4> <!> <footer class="fc-foot svelte-1nuvnzu"><!> <span><!> <span> </span></span></footer>',1);function Ce(q,e){K(e,!0);let k=ee(e,"density",3,"comfortable"),h=ee(e,"linkedKey",3,null),l=P(()=>h()!=null&&e.card.mapLayer!=null&&e.card.mapLayer===h()),p=P(()=>Ae[e.card.tier].short),b=P(()=>e.card.mapLayer!=null);function i(){var s;e.card.mapLayer&&((s=e.onLink)==null||s.call(e,e.card.mapLayer))}function y(){var s;e.card.mapLayer&&((s=e.onLink)==null||s.call(e,null))}function u(s){var v;s.stopPropagation(),e.card.citeId&&((v=e.onCite)==null||v.call(e,e.card.citeId))}function w(s){var v;t(b)&&(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),(v=e.onLink)==null||v.call(e,e.card.mapLayer??null))}var m=he(),o=J(m);$e(o,()=>t(b)?"button":"article",!1,(s,v)=>{Ge(s,()=>({type:t(b)?"button":void 0,role:t(b)?"button":"article",class:`fc fc-${e.card.variant??""} fc-tier-${e.card.tier??""}`,"aria-labelledby":`fc-${e.card.id}-title`,"aria-label":`${Ae[e.card.tier].label} card · ${e.card.title} · ${e.card.source}`,onpointerenter:i,onpointerleave:y,onfocus:i,onblur:y,onkeydown:w,[Qe]:{"is-compact":k()==="compact","is-linked":t(l),"is-interactive":t(b),"has-illustrative":e.card.illustrative||e.card.tier==="synthetic"||e.card.variant==="comparison"}}),void 0,void 0,void 0,"svelte-1nuvnzu");var d=qa(),C=J(d),B=r(C),g=r(B);le(g,{get tier(){return e.card.tier},size:11,get color(){return`var(--tier-${e.card.tier??""})`}});var x=n(g,2),F=r(x,!0);a(x),a(B);var E=n(B,2),z=r(E);a(E),a(C);var H=n(C,2),D=r(H,!0);a(H);var A=n(H,2);Ca(A,{get card(){return e.card}});var T=n(A,2),W=r(T);{var Q=U=>{var Y=Fa(),Z=r(Y),ae=r(Z,!0);a(Z),te(2),a(Y),M(()=>{c(Y,"title",`Open ${e.card.docId} in citation drawer`),_(ae,e.card.docId)}),we("click",Y,u),f(U,Y)},N=U=>{var Y=La(),Z=r(Y,!0);a(Y),M(()=>_(Z,e.card.docId)),f(U,Y)};I(W,U=>{e.card.citeId?U(Q):U(N,-1)})}var O=n(W,2),R=r(O);le(R,{get tier(){return e.card.tier},size:9,get color(){return`var(--tier-${e.card.tier??""})`}});var L=n(R,2),j=r(L,!0);a(L),a(O),a(T),M(()=>{c(x,"title",e.card.agency),_(F,e.card.source),_(z,`v. ${e.card.vintage??""}`),c(H,"id",`fc-${e.card.id}-title`),_(D,e.card.title),de(O,1,`fc-tier-badge fc-tier-badge-${e.card.tier??""}`,"svelte-1nuvnzu"),c(O,"aria-label",`epistemic tier ${t(p)}`),_(j,t(p))}),f(v,d)}),f(q,m),G()}pe(["click"]);var Ia=S('<span class="sep svelte-1qqbvs2">·</span> <span class="silent svelte-1qqbvs2"><strong class="svelte-1qqbvs2"> </strong> silent</span>',1),Ea=S('<span class="sep svelte-1qqbvs2">·</span> <span class="warn svelte-1qqbvs2"><strong class="svelte-1qqbvs2"> </strong> warn</span>',1),Pa=S('<span class="sep svelte-1qqbvs2">·</span> <span class="err svelte-1qqbvs2"><strong class="svelte-1qqbvs2"> </strong> error</span>',1),za=S('<span class="tally svelte-1qqbvs2"><span class="cards"> </span> <span class="sep svelte-1qqbvs2">·</span> <span class="fired"><strong class="svelte-1qqbvs2"> </strong> fired</span> <!> <!> <!> <span class="sep svelte-1qqbvs2">·</span> <span class="ms"><strong class="svelte-1qqbvs2"> </strong></span></span>');function Da(q,e){K(e,!0);function k(A){return A.flatMap(T=>T.children?[T,...k(T.children)]:[T])}let h=P(()=>k(e.members)),l=P(()=>t(h).filter(A=>A.status==="ok").length),p=P(()=>t(h).filter(A=>A.status==="silent").length),b=P(()=>t(h).filter(A=>A.status==="warn").length),i=P(()=>t(h).filter(A=>A.status==="error").length),y=P(()=>e.members.reduce((A,T)=>Math.max(A,T.ms??0),0));function u(A){return A===0?"—":A<1e3?`${A}ms`:`${(A/1e3).toFixed(1)}s`}var w=za(),m=r(w),o=r(m);a(m);var s=n(m,4),v=r(s),d=r(v,!0);a(v),te(),a(s);var C=n(s,2);{var B=A=>{var T=Ia(),W=n(J(T),2),Q=r(W),N=r(Q,!0);a(Q),te(),a(W),M(()=>_(N,t(p))),f(A,T)};I(C,A=>{t(p)>0&&A(B)})}var g=n(C,2);{var x=A=>{var T=Ea(),W=n(J(T),2),Q=r(W),N=r(Q,!0);a(Q),te(),a(W),M(()=>_(N,t(b))),f(A,T)};I(g,A=>{t(b)>0&&A(x)})}var F=n(g,2);{var E=A=>{var T=Pa(),W=n(J(T),2),Q=r(W),N=r(Q,!0);a(Q),te(),a(W),M(()=>_(N,t(i))),f(A,T)};I(F,A=>{t(i)>0&&A(E)})}var z=n(F,4),H=r(z),D=r(H,!0);a(H),a(z),a(w),M(A=>{_(o,`${e.cardCount??""} card${e.cardCount===1?"":"s"}`),_(d,t(l)),_(D,A)},[()=>u(t(y))]),f(q,w),G()}var Ta=S('<span class="prov-tier svelte-qakefz"><!></span>'),Ra=S('<span class="prov-note svelte-qakefz"> </span>'),Ha=S('<span class="prov-ms svelte-qakefz"> </span>'),Na=S('<li class="prov-children svelte-qakefz"><!></li>'),ja=S('<li><span class="prov-pip svelte-qakefz" aria-hidden="true"> </span> <span class="prov-id svelte-qakefz"> </span> <!> <span class="prov-name svelte-qakefz"> </span> <!> <!></li> <!>',1),Oa=S('<ul class="prov-tree svelte-qakefz"></ul>');function Fe(q,e){K(e,!0);let k=ee(e,"depth",3,0);function h(b){return{ok:"●",warn:"▲",error:"■",silent:"○"}[b]}function l(b){return b.status==="warn"?"#B7791F":b.status==="error"?"#B91C1C":b.status==="silent"?"var(--ink-tertiary)":b.tier?`var(--tier-${b.tier})`:"var(--ink)"}var p=Oa();$(p,21,()=>e.members,b=>b.id,(b,i)=>{var y=ja(),u=J(y),w=r(u),m=r(w,!0);a(w);var o=n(w,2),s=r(o,!0);a(o);var v=n(o,2);{var d=D=>{var A=Ta(),T=r(A);{let W=P(()=>`var(--tier-${t(i).tier})`);le(T,{get tier(){return t(i).tier},size:9,get color(){return t(W)}})}a(A),f(D,A)};I(v,D=>{t(i).tier&&D(d)})}var C=n(v,2),B=r(C,!0);a(C);var g=n(C,2);{var x=D=>{var A=Ra(),T=r(A);a(A),M(()=>_(T,`— ${t(i).note??""}`)),f(D,A)};I(g,D=>{t(i).note&&D(x)})}var F=n(g,2);{var E=D=>{var A=Ha(),T=r(A,!0);a(A),M(W=>_(T,W),[()=>t(i).ms<1e3?`${t(i).ms}ms`:`${(t(i).ms/1e3).toFixed(1)}s`]),f(D,A)};I(F,D=>{t(i).ms!=null&&D(E)})}a(u);var z=n(u,2);{var H=D=>{var A=Na(),T=r(A);{let W=P(()=>k()+1);Fe(T,{get members(){return t(i).children},get depth(){return t(W)}})}a(A),f(D,A)};I(z,D=>{var A;(A=t(i).children)!=null&&A.length&&D(H)})}M((D,A)=>{de(u,1,`prov-row prov-status-${t(i).status??""}`,"svelte-qakefz"),ne(w,`color: ${D??""};`),_(m,A),_(s,t(i).id),_(B,t(i).name)},[()=>l(t(i)),()=>h(t(i).status)]),f(b,y)}),a(p),M(()=>ne(p,`--depth: ${k()??""};`)),f(q,p),G()}var Wa=S('<div class="silent svelte-16iv0n8"><span class="silent-tag svelte-16iv0n8">silent</span> <p class="silent-prose svelte-16iv0n8"><!></p></div>'),Ya=S("<div></div>"),Ua=S('<div class="prov-body svelte-16iv0n8"><!></div>'),Ka=S('<section><header class="region-head svelte-16iv0n8"><div class="region-head-left svelte-16iv0n8"><span class="region-num svelte-16iv0n8"> </span> <h3 class="region-name svelte-16iv0n8"> </h3> <span class="region-role svelte-16iv0n8"> </span> <span class="region-tag svelte-16iv0n8"> </span></div> <!></header> <!> <div class="prov svelte-16iv0n8"><button type="button" class="prov-toggle svelte-16iv0n8"><span class="prov-caret svelte-16iv0n8" aria-hidden="true"> </span> <span class="prov-label"> </span> <span class="prov-meta svelte-16iv0n8"> </span></button> <!></div></section>');function Ga(q,e){K(e,!0);let k=ee(e,"density",3,"comfortable"),h=ee(e,"provenanceMode",3,"smart"),l=ee(e,"linkedKey",3,null),p=P(()=>dt[e.stone]),b=P(()=>`${Be.indexOf(e.stone)+1}`.padStart(2,"0")),i=P(()=>e.stone==="capstone");function y(X){return X.flatMap(V=>V.children?[V,...y(V.children)]:[V])}let u=P(()=>y(e.trace.members)),w=P(()=>t(u).length),m=P(()=>t(u).some(X=>X.status==="warn"||X.status==="error"||X.status==="silent")),o=P(()=>h()==="all-expanded"?!0:h()==="all-collapsed"?!1:t(m)),s=be(null),v=P(()=>t(s)??t(o));se(()=>{h(),ge(s,null)});var d=Ka(),C=r(d),B=r(C),g=r(B),x=r(g,!0);a(g);var F=n(g,2),E=r(F,!0);a(F);var z=n(F,2),H=r(z);a(z);var D=n(z,2),A=r(D,!0);a(D),a(B);var T=n(B,2);Da(T,{get cardCount(){return e.cards.length},get members(){return e.trace.members}}),a(C);var W=n(C,2);{var Q=X=>{var V=Wa(),ve=n(r(V),2),ue=r(ve);{var fe=ce=>{var ye=xe("No projection cards landed for this query. Atomic functions still ran (see provenance) and returned silence rather than confabulation.");f(ce,ye)},Ie=ce=>{var ye=xe("No cards for this Stone on this query.");f(ce,ye)};I(ue,ce=>{e.stone==="lodestone"?ce(fe):ce(Ie,-1)})}a(ve),a(V),f(X,V)},N=X=>{var V=Ya();let ve;$(V,21,()=>e.cards,ue=>ue.id,(ue,fe)=>{Ce(ue,{get card(){return t(fe)},get density(){return k()},get linkedKey(){return l()},get onCite(){return e.onCite},get onLink(){return e.onLink}})}),a(V),M(()=>ve=de(V,1,"rail svelte-16iv0n8",null,ve,{"rail-capstone":t(i)})),f(X,V)};I(W,X=>{e.cards.length===0?X(Q):X(N,-1)})}var O=n(W,2),R=r(O),L=r(R),j=r(L,!0);a(L);var U=n(L,2),Y=r(U);a(U);var Z=n(U,2),ae=r(Z);a(Z),a(R);var Le=n(R,2);{var qe=X=>{var V=Ua(),ve=r(V);Fe(ve,{get members(){return e.trace.members}}),a(V),M(()=>c(V,"id",`prov-body-${e.stone}`)),f(X,V)};I(Le,X=>{t(v)&&X(qe)})}a(O),a(d),M(()=>{de(d,1,`region region-${e.stone??""}`,"svelte-16iv0n8"),c(d,"aria-labelledby",`region-h-${e.stone}`),c(d,"data-stone",e.stone),_(x,t(b)),c(F,"id",`region-h-${e.stone}`),_(E,t(p).name),_(H,`· ${t(p).role??""}`),_(A,t(p).tag),c(R,"aria-expanded",t(v)),c(R,"aria-controls",`prov-body-${e.stone}`),_(j,t(v)?"▾":"▸"),_(Y,`${t(v)?"Hide":"Show"} provenance`),_(ae,`· ${t(w)??""} function${t(w)===1?"":"s"}${t(m)?" · anomaly":""}`)}),we("click",R,()=>ge(s,!t(v))),f(q,d),G()}pe(["click"]);var Qa=S('<section class="region region-grammar svelte-gwg123" aria-label="Card grammar reference"><header class="region-head svelte-gwg123"><div class="region-head-left svelte-gwg123"><span class="region-num svelte-gwg123">SPEC</span> <h3 class="region-name svelte-gwg123">Card grammar</h3> <span class="region-role svelte-gwg123">· every body variant in the system</span> <span class="region-tag svelte-gwg123">stubs, not findings</span></div> <span class="grammar-count svelte-gwg123"> </span></header> <div class="rail svelte-gwg123"></div></section>');function Va(q,e){let k=ee(e,"density",3,"comfortable");const h=[{id:"grm-headline",stone:"cornerstone",tier:"modeled",variant:"headline",source:"FEMA",agency:"spec",vintage:"spec",title:"Single big number, scenario-tagged",headline:"Zone AE",subhead:"preliminary FIRM, panel ID",sub:"Use when the answer is one categorical state.",docId:"DS-HEADLINE"},{id:"grm-tabular",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"spec",vintage:"spec",title:"Small table of observations",columns:["id","value","dist."],rows:[["ROW-001","1.2 m","0.18 mi"],["ROW-002","0.9 m","0.32 mi"],["ROW-003","0.7 m","0.41 mi"]],sub:"Use when 3–8 records each carry the same fields.",docId:"DS-TABULAR"},{id:"grm-scalars",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS",agency:"spec",vintage:"spec",title:"Trio of scalar readings",scalars:[{value:"0.02 in",label:"precip · 24h"},{value:"11 mph",label:"wind"},{value:"63°F",label:"temp"}],sub:"Use for current-state dashboards.",docId:"DS-SCALARS"},{id:"grm-spark",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"spec",vintage:"spec",title:"Sparkline of recent events",headline:"n events",subhead:"window · peak",spark:[1,2,4,3,7,12,8,5,3,2,4,9,6],docId:"DS-SPARK"},{id:"grm-histogram",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"spec",vintage:"spec",title:"Histogram of binned counts",headline:"n calls",subhead:"window · seasonal note",histogram:[3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0],docId:"DS-HIST"},{id:"grm-timeseries",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM",agency:"spec",vintage:"spec",title:"Forecast curve with horizon",headline:"+0.41 m peak",subhead:"+38h · 90% CI",timeseries:{hours:96,peak:{x:38,y:41},peakLabel:"+0.41 m"},spatialNote:"regional",sub:"Spatial-index callout when station ≠ point-of-query.",docId:"DS-TS"},{id:"grm-forecast",stone:"lodestone",tier:"modeled",variant:"forecast",source:"NPCC4",agency:"spec",vintage:"spec",title:"Long-horizon scenario projections",forecast:[{year:2030,low:4,mid:6,high:9},{year:2050,low:13,mid:22,high:30},{year:2100,low:38,mid:71,high:114}],sub:"Use for decadal+ uncertainty cones.",docId:"DS-FCST"},{id:"grm-raster",stone:"cornerstone",tier:"modeled",variant:"raster",source:"NYC DEP",agency:"spec",vintage:"spec",title:"Raster snapshot, mapped layer",rasterKind:"stormwater",headline:"ponding",subhead:"scenario · pixel summary",sub:"Use for any 2D model output.",docId:"DS-RASTER"},{id:"grm-rasterpred",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC",agency:"spec",vintage:"spec",title:"Raster prediction, illustrative",rasterKind:"prithvi",headline:"n% flooded",subhead:"model · scene id",illustrative:!0,sub:"Same chrome as raster + illustrative tag.",docId:"DS-RASTERPRED"},{id:"grm-register",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"spec",vintage:"spec",title:"Composite register list",registers:[{reg:"MTA",tier:"empirical",label:"Station entrance",detail:"0.18 mi · 5",sourceId:"MTA-X",note:null},{reg:"NYCHA",tier:"empirical",label:"Development",detail:"0.41 mi · 2,878 res.",sourceId:"NYCHA-Y",note:null},{reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,note:"no acute-care hospital within 1.0 mi"}],sub:"Use when many specialists join into one Stone.",docId:"DS-REGISTER"},{id:"grm-comparison",stone:"keystone",tier:"synthetic",variant:"comparison",source:"EMP × SYN",agency:"spec",vintage:"spec",title:"Documented vs. interpreted",left:{tier:"empirical",label:"documented",value:"31.4%",aux:"n polygons"},right:{tier:"synthetic",label:"interpreted",value:"29.8%",aux:"n polygons"},delta:"Δ = −1.6 pp · agreement strong",sub:"Use to surface model–ground-truth deltas.",docId:"DS-CMP"},{id:"grm-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"spec",vintage:"spec",title:"Capstone reconciliation",metaRows:[{k:"claims",v:"12 / 12 grounded"},{k:"tier mix",v:"EMP 5 · MOD 4 · PRX 2 · SYN 1"},{k:"tier-1 freshness",v:"median 38 d"},{k:"warnings",v:"0"}],sub:"Use to expose the synthesis layer's audit.",docId:"DS-META"}];var l=Qa(),p=r(l),b=n(r(p),2),i=r(b);a(b),a(p);var y=n(p,2);$(y,21,()=>h,u=>u.id,(u,w)=>{Ce(u,{get card(){return t(w)},get density(){return k()}})}),a(y),a(l),M(()=>_(i,`${h.length??""} variants`)),f(q,l)}var Za=S('<section class="findings svelte-ci42t5" aria-label="Findings, grouped by Stone"><header class="findings-head svelte-ci42t5"><h2 class="findings-h2 svelte-ci42t5">Findings · grouped by Stone</h2> <span class="findings-tagline svelte-ci42t5">cards = what each Stone found · provenance collapses below</span></header> <!> <!> <!></section>');function nr(q,e){K(e,!0);let k=ee(e,"density",3,"comfortable"),h=ee(e,"provenanceMode",3,"smart"),l=ee(e,"showGrammar",3,!1),p=ee(e,"linkedKey",3,null),b=P(()=>{const s={cornerstone:[],keystone:[],touchstone:[],lodestone:[],capstone:[]};for(const v of e.data.cards)s[v.stone].push(v);return s}),i=P(()=>{const s={cornerstone:{key:"cornerstone",members:[]},keystone:{key:"keystone",members:[]},touchstone:{key:"touchstone",members:[]},lodestone:{key:"lodestone",members:[]},capstone:{key:"capstone",members:[]}};for(const v of e.data.stones)s[v.key]=v;return s});var y=Za(),u=n(r(y),2);yt(u,{get cards(){return e.data.cards},get stones(){return e.data.stones},get wallSeconds(){return e.data.wallSeconds},get cacheHit(){return e.data.cacheHit}});var w=n(u,2);$(w,16,()=>Be,s=>s,(s,v)=>{Ga(s,{get stone(){return v},get cards(){return t(b)[v]},get trace(){return t(i)[v]},get density(){return k()},get provenanceMode(){return h()},get linkedKey(){return p()},get onCite(){return e.onCite},get onLink(){return e.onLink}})});var m=n(w,2);{var o=s=>{Va(s,{get density(){return k()}})};I(m,s=>{l()&&s(o)})}a(y),f(q,y),G()}export{rr as C,nr as F,ir as M,sr as R};
web/sveltekit/build/_app/immutable/chunks/vWNuMvXT.js DELETED
@@ -1 +0,0 @@
1
- var $=Object.defineProperty;var L=s=>{throw TypeError(s)};var j=(s,e,t)=>e in s?$(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var B=(s,e,t)=>j(s,typeof e!="symbol"?e+"":e,t),x=(s,e,t)=>e.has(s)||L("Cannot "+t);var a=(s,e,t)=>(x(s,e,"read from private field"),t?t.call(s):e.get(s)),g=(s,e,t)=>e.has(s)?L("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),N=(s,e,t,r)=>(x(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);import{W as J,a2 as T,X as V,m as F,J as Y,G as W,o as O,A as C,a1 as X,L as Z,i as H,w as K,E as Q,x as ee,y as te,q as se,z as q,aj as ae,ak as re,al as ie,k as M,am as ne,l as fe,an as ce,h as ue,V as de,ao as oe,u as he,ap as _e,aq as le,ar as ve,as as ge,M as me,at as be,S as Se,au as Pe}from"./CYuHyzh3.js";let I=!1;function pe(s){var e=I;try{return I=!1,[s(),I]}finally{I=e}}var h,l,o,m,p,A,R;class Ae{constructor(e,t=!0){B(this,"anchor");g(this,h,new Map);g(this,l,new Map);g(this,o,new Map);g(this,m,new Set);g(this,p,!0);g(this,A,e=>{if(a(this,h).has(e)){var t=a(this,h).get(e),r=a(this,l).get(t);if(r)J(r),a(this,m).delete(t);else{var n=a(this,o).get(t);n&&(a(this,l).set(t,n.effect),a(this,o).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),r=n.effect)}for(const[f,c]of a(this,h)){if(a(this,h).delete(f),f===e)break;const i=a(this,o).get(c);i&&(T(i.effect),a(this,o).delete(c))}for(const[f,c]of a(this,l)){if(f===t||a(this,m).has(f))continue;const i=()=>{if(Array.from(a(this,h).values()).includes(f)){var _=document.createDocumentFragment();X(c,_),_.append(F()),a(this,o).set(f,{effect:c,fragment:_})}else T(c);a(this,m).delete(f),a(this,l).delete(f)};a(this,p)||!r?(a(this,m).add(f),V(c,i,!1)):i()}}});g(this,R,e=>{a(this,h).delete(e);const t=Array.from(a(this,h).values());for(const[r,n]of a(this,o))t.includes(r)||(T(n.effect),a(this,o).delete(r))});this.anchor=e,N(this,p,t)}ensure(e,t){var r=W,n=Z();if(t&&!a(this,l).has(e)&&!a(this,o).has(e))if(n){var f=document.createDocumentFragment(),c=F();f.append(c),a(this,o).set(e,{effect:Y(()=>t(c)),fragment:f})}else a(this,l).set(e,Y(()=>t(this.anchor)));if(a(this,h).set(r,e),n){for(const[i,u]of a(this,l))i===e?r.unskip_effect(u):r.skip_effect(u);for(const[i,u]of a(this,o))i===e?r.unskip_effect(u.effect):r.skip_effect(u.effect);r.oncommit(a(this,A)),r.ondiscard(a(this,R))}else O&&(this.anchor=C),a(this,A).call(this,r)}}h=new WeakMap,l=new WeakMap,o=new WeakMap,m=new WeakMap,p=new WeakMap,A=new WeakMap,R=new WeakMap;function Re(s,e,t=!1){var r;O&&(r=C,K());var n=new Ae(s),f=t?Q:0;function c(i,u){if(O){var _=ee(r);if(i!==parseInt(_.substring(1))){var v=te();se(v),n.anchor=v,q(!1),n.ensure(i,u),q(!0);return}}n.ensure(i,u)}H(()=>{var i=!1;e((u,_=0)=>{i=!0,c(_,u)}),i||c(-1,null)},f)}function ye(s,e,t,r){var w;var n=!_e||(t&le)!==0,f=(t&oe)!==0,c=(t&be)!==0,i=r,u=!0,_=()=>(u&&(u=!1,i=c?he(r):r),i);let v;if(f){var U=Se in s||Pe in s;v=((w=ae(s,e))==null?void 0:w.set)??(U&&e in s?d=>s[e]=d:void 0)}var S,k=!1;f?[S,k]=pe(()=>s[e]):S=s[e],S===void 0&&r!==void 0&&(S=_(),v&&(n&&re(),v(S)));var b;if(n?b=()=>{var d=s[e];return d===void 0?_():(u=!0,d)}:b=()=>{var d=s[e];return d!==void 0&&(i=void 0),d===void 0?i:d},n&&(t&ie)===0)return b;if(v){var z=s.$$legacy;return(function(d,E){return arguments.length>0?((!n||!E||z||k)&&v(E?b():d),d):b()})}var y=!1,P=((t&ve)!==0?ge:me)(()=>(y=!1,b()));f&&M(P);var G=ue;return(function(d,E){if(arguments.length>0){const D=E?M(P):n&&f?ne(d):d;return fe(P,D),y=!0,i!==void 0&&(i=D),d}return ce&&y||(G.f&de)!==0?P.v:M(P)})}export{Ae as B,Re as i,ye as p};
 
 
web/sveltekit/build/_app/immutable/entry/app.NAzo06Kr.js DELETED
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.B4c3XvjB.js","../chunks/BLULdth_.js","../chunks/CYuHyzh3.js","../chunks/CdmpEGnB.js","../chunks/vWNuMvXT.js","../chunks/DO0D806X.js","../chunks/DOnKrFbX.js","../chunks/CpEmpa3I.js","../assets/0.KpTzaSsX.css","../nodes/1.t_9Wbha1.js","../nodes/2.DFmLn71L.js","../chunks/B7gjWklj.js","../nodes/3.DkcKoa0E.js","../chunks/CW0UkEuV.js","../assets/Briefing.Cg0TTl7h.css","../assets/3.BZfqQRM0.css","../nodes/4.CApkrJKi.js","../chunks/BPaqPo1M.js","../chunks/DwPgZwgo.js","../assets/MapLegend.DvDgr167.css","../assets/4.CPUwsEjs.css","../nodes/5.BTAkC8wA.js"])))=>i.map(i=>d[i]);
2
- var S=e=>{throw TypeError(e)};var M=(e,t,r)=>t.has(e)||S("Cannot "+r);var c=(e,t,r)=>(M(e,t,"read from private field"),r?r.call(e):t.get(e)),w=(e,t,r)=>t.has(e)?S("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),I=(e,t,r,n)=>(M(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);import{b as k,_ as b}from"../chunks/DwPgZwgo.js";import{o as N,w as W,i as X,E as Z,x as $,y as tt,q as et,z,av as rt,A as at,l as T,au as st,k as l,aw as nt,ax as ot,R as it,p as ct,ay as ut,az as dt,af as _t,ab as mt,f as A,s as lt,a as ft,j,c as ht,r as vt,t as gt,ah as p}from"../chunks/CYuHyzh3.js";import{h as yt,m as Et,u as bt,a as R,c as D,f as B,t as Rt,s as Pt}from"../chunks/BLULdth_.js";import{B as Ot,p as L,i as V}from"../chunks/vWNuMvXT.js";function q(e,t,r){var n;N&&(n=at,W());var o=new Ot(e);X(()=>{var i=t()??null;if(N){var a=$(n),s=a===rt,m=i!==null;if(s!==m){var P=tt();et(P),o.anchor=P,z(!1),o.ensure(i,i&&(y=>r(y,i))),z(!0);return}}o.ensure(i,i&&(y=>r(y,i)))},Z)}function xt(e){return class extends At{constructor(t){super({component:e,...t})}}}var f,d;class At{constructor(t){w(this,f);w(this,d);var i;var r=new Map,n=(a,s)=>{var m=it(s,!1,!1);return r.set(a,m),m};const o=new Proxy({...t.props||{},$$events:{}},{get(a,s){return l(r.get(s)??n(s,Reflect.get(a,s)))},has(a,s){return s===st?!0:(l(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,m){return T(r.get(s)??n(s,m),m),Reflect.set(a,s,m)}});I(this,d,(t.hydrate?yt:Et)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((i=t==null?void 0:t.props)!=null&&i.$$host)||t.sync===!1)&&nt(),I(this,f,o.$$events);for(const a of Object.keys(c(this,d)))a==="$set"||a==="$destroy"||a==="$on"||ot(this,a,{get(){return c(this,d)[a]},set(s){c(this,d)[a]=s},enumerable:!0});c(this,d).$set=a=>{Object.assign(o,a)},c(this,d).$destroy=()=>{bt(c(this,d))}}$set(t){c(this,d).$set(t)}$on(t,r){c(this,f)[t]=c(this,f)[t]||[];const n=(...o)=>r.call(this,...o);return c(this,f)[t].push(n),()=>{c(this,f)[t]=c(this,f)[t].filter(o=>o!==n)}}$destroy(){c(this,d).$destroy()}}f=new WeakMap,d=new WeakMap;const Ct={};var Tt=B('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),wt=B("<!> <!>",1);function It(e,t){ct(t,!0);let r=L(t,"components",23,()=>[]),n=L(t,"data_0",3,null),o=L(t,"data_1",3,null);ut(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,r(),t.form,n(),o(),t.stores.page.notify()});let i=j(!1),a=j(!1),s=j(null);_t(()=>{const u=t.stores.page.subscribe(()=>{l(i)&&(T(a,!0),mt().then(()=>{T(s,document.title||"untitled page",!0)}))});return T(i,!0),u});const m=p(()=>t.constructors[1]);var P=wt(),y=A(P);{var Y=u=>{const h=p(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{k(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(_,jt)=>{var C=D(),K=A(C);q(K,()=>l(m),(Q,U)=>{k(U(Q,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),x=>r()[1]=x,()=>{var x;return(x=r())==null?void 0:x[1]})}),R(_,C)},$$slots:{default:!0}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)},G=u=>{const h=p(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{k(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)};V(y,u=>{t.constructors[1]?u(Y):u(G,-1)})}var H=lt(y,2);{var J=u=>{var h=Tt(),v=ht(h);{var O=g=>{var E=Rt();gt(()=>Pt(E,l(s))),R(g,E)};V(v,g=>{l(a)&&g(O)})}vt(h),R(u,h)};V(H,u=>{l(i)&&u(J)})}R(e,P),ft()}const St=xt(It),Mt=[()=>b(()=>import("../nodes/0.B4c3XvjB.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>b(()=>import("../nodes/1.t_9Wbha1.js"),__vite__mapDeps([9,1,2,5,6]),import.meta.url),()=>b(()=>import("../nodes/2.DFmLn71L.js"),__vite__mapDeps([10,1,2,7,11,6]),import.meta.url),()=>b(()=>import("../nodes/3.DkcKoa0E.js"),__vite__mapDeps([12,1,2,4,11,5,6,13,3,14,15]),import.meta.url),()=>b(()=>import("../nodes/4.CApkrJKi.js"),__vite__mapDeps([16,1,2,4,11,5,6,13,3,14,17,18,19,7,20]),import.meta.url),()=>b(()=>import("../nodes/5.BTAkC8wA.js"),__vite__mapDeps([21,1,2,13,4,11,3,14,17,18,19]),import.meta.url)],Nt=[],zt={"/":[2],"/print/[queryId]":[3],"/q/sample":[5],"/q/[queryId]":[4]},F={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},kt=Object.fromEntries(Object.entries(F.transport).map(([e,t])=>[e,t.decode])),Bt=Object.fromEntries(Object.entries(F.transport).map(([e,t])=>[e,t.encode])),Ft=!1,Yt=(e,t)=>kt[e](t);export{Yt as decode,kt as decoders,zt as dictionary,Bt as encoders,Ft as hash,F as hooks,Ct as matchers,Mt as nodes,St as root,Nt as server_loads};
 
 
 
web/sveltekit/build/_app/immutable/entry/app.ccWcazJ_.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CLNNGkkj.js","../chunks/Dlpu43Tj.js","../chunks/DwbuJhNu.js","../chunks/DNaFzQeI.js","../chunks/8F5LpR-T.js","../chunks/BPL6dYL1.js","../chunks/Bww_RjdA.js","../chunks/DFFHaukH.js","../assets/0.KpTzaSsX.css","../nodes/1.DS9Ak1PH.js","../nodes/2.CtcjjzWF.js","../chunks/CBcGqa-S.js","../nodes/3.CIBu62VC.js","../chunks/CtphE0zf.js","../assets/Briefing.Cg0TTl7h.css","../assets/3.BZfqQRM0.css","../nodes/4.DKy6jurO.js","../chunks/TTdyitJv.js","../chunks/1oGnrPC6.js","../assets/FindingsRegion.D6bfATou.css","../assets/4.BIuIAgmk.css","../nodes/5.bzoVhlKW.js"])))=>i.map(i=>d[i]);
2
+ var S=e=>{throw TypeError(e)};var B=(e,t,r)=>t.has(e)||S("Cannot "+r);var c=(e,t,r)=>(B(e,t,"read from private field"),r?r.call(e):t.get(e)),I=(e,t,r)=>t.has(e)?S("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),k=(e,t,r,n)=>(B(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);import{b as j,_ as b}from"../chunks/1oGnrPC6.js";import{q as M,T as W,i as X,E as Z,U as $,V as tt,A as et,z as N,a8 as rt,B as at,l as x,a7 as st,k as l,a9 as nt,aa as ot,ab as it,p as ct,ac as ut,K as dt,G as _t,o as mt,f as A,s as lt,a as ft,j as p,c as ht,r as vt,t as gt,J as w}from"../chunks/DwbuJhNu.js";import{h as yt,m as Et,u as bt,a as R,c as D,f as F,t as Rt,s as Pt}from"../chunks/Dlpu43Tj.js";import{B as Ot,p as L,i as V}from"../chunks/8F5LpR-T.js";function q(e,t,r){var n;M&&(n=at,W());var o=new Ot(e);X(()=>{var i=t()??null;if(M){var a=$(n),s=a===rt,m=i!==null;if(s!==m){var P=tt();et(P),o.anchor=P,N(!1),o.ensure(i,i&&(y=>r(y,i))),N(!0);return}}o.ensure(i,i&&(y=>r(y,i)))},Z)}function Tt(e){return class extends At{constructor(t){super({component:e,...t})}}}var f,d;class At{constructor(t){I(this,f);I(this,d);var i;var r=new Map,n=(a,s)=>{var m=it(s,!1,!1);return r.set(a,m),m};const o=new Proxy({...t.props||{},$$events:{}},{get(a,s){return l(r.get(s)??n(s,Reflect.get(a,s)))},has(a,s){return s===st?!0:(l(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,m){return x(r.get(s)??n(s,m),m),Reflect.set(a,s,m)}});k(this,d,(t.hydrate?yt:Et)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((i=t==null?void 0:t.props)!=null&&i.$$host)||t.sync===!1)&&nt(),k(this,f,o.$$events);for(const a of Object.keys(c(this,d)))a==="$set"||a==="$destroy"||a==="$on"||ot(this,a,{get(){return c(this,d)[a]},set(s){c(this,d)[a]=s},enumerable:!0});c(this,d).$set=a=>{Object.assign(o,a)},c(this,d).$destroy=()=>{bt(c(this,d))}}$set(t){c(this,d).$set(t)}$on(t,r){c(this,f)[t]=c(this,f)[t]||[];const n=(...o)=>r.call(this,...o);return c(this,f)[t].push(n),()=>{c(this,f)[t]=c(this,f)[t].filter(o=>o!==n)}}$destroy(){c(this,d).$destroy()}}f=new WeakMap,d=new WeakMap;const Ct={};var xt=F('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),It=F("<!> <!>",1);function kt(e,t){ct(t,!0);let r=L(t,"components",23,()=>[]),n=L(t,"data_0",3,null),o=L(t,"data_1",3,null);ut(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,r(),t.form,n(),o(),t.stores.page.notify()});let i=p(!1),a=p(!1),s=p(null);_t(()=>{const u=t.stores.page.subscribe(()=>{l(i)&&(x(a,!0),mt().then(()=>{x(s,document.title||"untitled page",!0)}))});return x(i,!0),u});const m=w(()=>t.constructors[1]);var P=It(),y=A(P);{var Y=u=>{const h=w(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{j(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(_,pt)=>{var C=D(),K=A(C);q(K,()=>l(m),(U,Q)=>{j(Q(U,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),T=>r()[1]=T,()=>{var T;return(T=r())==null?void 0:T[1]})}),R(_,C)},$$slots:{default:!0}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)},z=u=>{const h=w(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{j(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)};V(y,u=>{t.constructors[1]?u(Y):u(z,-1)})}var H=lt(y,2);{var J=u=>{var h=xt(),v=ht(h);{var O=g=>{var E=Rt();gt(()=>Pt(E,l(s))),R(g,E)};V(v,g=>{l(a)&&g(O)})}vt(h),R(u,h)};V(H,u=>{l(i)&&u(J)})}R(e,P),ft()}const St=Tt(kt),Bt=[()=>b(()=>import("../nodes/0.CLNNGkkj.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>b(()=>import("../nodes/1.DS9Ak1PH.js"),__vite__mapDeps([9,1,2,5,6]),import.meta.url),()=>b(()=>import("../nodes/2.CtcjjzWF.js"),__vite__mapDeps([10,1,2,7,11,6]),import.meta.url),()=>b(()=>import("../nodes/3.CIBu62VC.js"),__vite__mapDeps([12,1,2,4,11,5,6,13,3,14,15]),import.meta.url),()=>b(()=>import("../nodes/4.DKy6jurO.js"),__vite__mapDeps([16,1,2,4,5,6,13,11,3,14,17,18,19,7,20]),import.meta.url),()=>b(()=>import("../nodes/5.bzoVhlKW.js"),__vite__mapDeps([21,1,2,13,4,11,3,14,17,18,19]),import.meta.url)],Mt=[],Nt={"/":[2],"/print/[queryId]":[3],"/q/sample":[5],"/q/[queryId]":[4]},G={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},jt=Object.fromEntries(Object.entries(G.transport).map(([e,t])=>[e,t.decode])),Ft=Object.fromEntries(Object.entries(G.transport).map(([e,t])=>[e,t.encode])),Gt=!1,Yt=(e,t)=>jt[e](t);export{Yt as decode,jt as decoders,Nt as dictionary,Ft as encoders,Gt as hash,G as hooks,Ct as matchers,Bt as nodes,St as root,Mt as server_loads};
web/sveltekit/build/_app/immutable/entry/start.CmPnsLDb.js DELETED
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/DOnKrFbX.js";export{o as load_css,r as start};
 
 
web/sveltekit/build/_app/immutable/entry/start.DwypF5JZ.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{l as o,a as r}from"../chunks/Bww_RjdA.js";export{o as load_css,r as start};
web/sveltekit/build/_app/immutable/nodes/0.B4c3XvjB.js DELETED
@@ -1,2 +0,0 @@
1
- import{d as N,a as i,s as O,b as R,f as l}from"../chunks/BLULdth_.js";import{p as P,c as n,s as p,r as s,ac as S,a as C,t as j,f as F,k as y,ah as x}from"../chunks/CYuHyzh3.js";import{b as D,s as H}from"../chunks/CdmpEGnB.js";import{p as T,i as g}from"../chunks/vWNuMvXT.js";import{p as _}from"../chunks/DO0D806X.js";import"../chunks/CpEmpa3I.js";const U=!0,Y=!0,z="never",te=Object.freeze(Object.defineProperty({__proto__:null,prerender:U,ssr:Y,trailingSlash:z},Symbol.toStringTag,{value:"Module"}));var E=l('<button type="button" class="app-header-query" aria-label="Edit query"><span class="app-header-query-icon" aria-hidden="true">⌕</span> <span class="app-header-query-text"> </span> <span class="app-header-query-edit">edit</span></button>'),L=l('<button type="button" class="app-header-link app-header-link-button svelte-f1belb" aria-label="Open curated PDF view of completed briefing in new tab">export PDF</button>'),M=l('<header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/" class="riprap-wordmark" aria-label="Riprap home">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header>');function V(o,r){P(r,!0);let v=T(r,"query",3,null);function h(){if(typeof window>"u")return;const a=_.params.queryId??(_.url.pathname==="/q/sample"?"sample":"");a&&window.open(`/print/${encodeURIComponent(a)}`,"_blank","noopener")}var d=M(),c=n(d),f=p(n(c),2),u=n(f);{var k=a=>{var t=E(),b=p(n(t),2),q=n(b,!0);s(b),S(2),s(t),j(()=>O(q,v())),R("click",t,function(...I){var A;(A=r.onResetCold)==null||A.apply(this,I)}),i(a,t)};g(u,a=>{v()&&a(k)})}s(f);var m=p(f,2),w=p(n(m),2);{var e=a=>{var t=L();R("click",t,h),i(a,t)};g(w,a=>{D.ready&&a(e)})}S(2),s(m),s(c),s(d),i(o,d),C()}N(["click"]);var W=l(`<footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
2
- For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer>`);function $(o){var r=W();i(o,r)}var B=l('<a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a>',1);function G(o){var r=B();S(4),i(o,r)}var J=l("<!> <!>",1),K=l('<!> <main class="svelte-12qhfyh"><!></main> <!>',1);function oe(o,r){P(r,!0);let v=x(()=>()=>{const e=_.params.queryId;if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}),h=x(()=>_.url.pathname.startsWith("/print/"));var d=K(),c=F(d);{var f=e=>{var a=J(),t=F(a);G(t);var b=p(t,2);{let q=x(()=>y(v)());V(b,{get query(){return y(q)},onResetCold:()=>window.location.href="/"})}i(e,a)};g(c,e=>{y(h)||e(f)})}var u=p(c,2),k=n(u);H(k,()=>r.children),s(u);var m=p(u,2);{var w=e=>{$(e)};g(m,e=>{y(h)||e(w)})}i(o,d),C()}export{oe as component,te as universal};
 
 
 
web/sveltekit/build/_app/immutable/nodes/0.CLNNGkkj.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ import{d as N,a as i,s as O,b as R,f as l}from"../chunks/Dlpu43Tj.js";import{p as P,c as n,s as p,r as s,v as S,a as C,t as j,f as F,k as y,J as x}from"../chunks/DwbuJhNu.js";import{b as D,s as H}from"../chunks/DNaFzQeI.js";import{p as T,i as g}from"../chunks/8F5LpR-T.js";import{p as _}from"../chunks/BPL6dYL1.js";import"../chunks/DFFHaukH.js";const U=!0,Y=!0,z="never",te=Object.freeze(Object.defineProperty({__proto__:null,prerender:U,ssr:Y,trailingSlash:z},Symbol.toStringTag,{value:"Module"}));var E=l('<button type="button" class="app-header-query" aria-label="Edit query"><span class="app-header-query-icon" aria-hidden="true">⌕</span> <span class="app-header-query-text"> </span> <span class="app-header-query-edit">edit</span></button>'),J=l('<button type="button" class="app-header-link app-header-link-button svelte-f1belb" aria-label="Open curated PDF view of completed briefing in new tab">export PDF</button>'),L=l('<header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/" class="riprap-wordmark" aria-label="Riprap home">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header>');function M(o,r){P(r,!0);let v=T(r,"query",3,null);function h(){if(typeof window>"u")return;const a=_.params.queryId??(_.url.pathname==="/q/sample"?"sample":"");a&&window.open(`/print/${encodeURIComponent(a)}`,"_blank","noopener")}var d=L(),c=n(d),f=p(n(c),2),u=n(f);{var k=a=>{var t=E(),b=p(n(t),2),q=n(b,!0);s(b),S(2),s(t),j(()=>O(q,v())),R("click",t,function(...I){var A;(A=r.onResetCold)==null||A.apply(this,I)}),i(a,t)};g(u,a=>{v()&&a(k)})}s(f);var m=p(f,2),w=p(n(m),2);{var e=a=>{var t=J();R("click",t,h),i(a,t)};g(w,a=>{D.ready&&a(e)})}S(2),s(m),s(c),s(d),i(o,d),C()}N(["click"]);var V=l(`<footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
2
+ For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer>`);function W(o){var r=V();i(o,r)}var $=l('<a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a>',1);function B(o){var r=$();S(4),i(o,r)}var G=l("<!> <!>",1),K=l('<!> <main class="svelte-12qhfyh"><!></main> <!>',1);function oe(o,r){P(r,!0);let v=x(()=>()=>{const e=_.params.queryId;if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}),h=x(()=>_.url.pathname.startsWith("/print/"));var d=K(),c=F(d);{var f=e=>{var a=G(),t=F(a);B(t);var b=p(t,2);{let q=x(()=>y(v)());M(b,{get query(){return y(q)},onResetCold:()=>window.location.href="/"})}i(e,a)};g(c,e=>{y(h)||e(f)})}var u=p(c,2),k=n(u);H(k,()=>r.children),s(u);var m=p(u,2);{var w=e=>{W(e)};g(m,e=>{y(h)||e(w)})}i(o,d),C()}export{oe as component,te as universal};
web/sveltekit/build/_app/immutable/nodes/{1.t_9Wbha1.js → 1.DS9Ak1PH.js} RENAMED
@@ -1 +1 @@
1
- import{a as c,f as u,s as e}from"../chunks/BLULdth_.js";import{p as v,f as l,t as _,a as g,c as p,r as o,s as x}from"../chunks/CYuHyzh3.js";import{p as m}from"../chunks/DO0D806X.js";var d=u("<h1> </h1> <p> </p>",1);function k(f,i){v(i,!0);var t=d(),r=l(t),h=p(r,!0);o(r);var a=x(r,2),n=p(a,!0);o(a),_(()=>{var s;e(h,m.status),e(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{k as component};
 
1
+ import{a as c,f as u,s as e}from"../chunks/Dlpu43Tj.js";import{p as v,f as l,t as _,a as g,c as p,r as o,s as x}from"../chunks/DwbuJhNu.js";import{p as m}from"../chunks/BPL6dYL1.js";var d=u("<h1> </h1> <p> </p>",1);function k(f,i){v(i,!0);var t=d(),r=l(t),h=p(r,!0);o(r);var a=x(r,2),n=p(a,!0);o(a),_(()=>{var s;e(h,m.status),e(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{k as component};
web/sveltekit/build/_app/immutable/nodes/{2.DFmLn71L.js → 2.CtcjjzWF.js} RENAMED
@@ -1,4 +1,4 @@
1
- import{d as H,e as I,a as S,f as q,s as _,b as P}from"../chunks/BLULdth_.js";import"../chunks/CpEmpa3I.js";import{aa as Y,G as b,ab as B,u as M,g as Q,o as j,p as D,k as m,a as G,c as r,s as v,ac as k,r as s,t as L,l as U,j as V}from"../chunks/CYuHyzh3.js";import{e as $,r as z,i as T}from"../chunks/B7gjWklj.js";import{g as W}from"../chunks/DOnKrFbX.js";function Z(e,a,n=a){var o=new WeakSet;Y(e,"input",async l=>{var t=l?e.defaultValue:e.value;if(t=w(e)?x(t):t,n(t),b!==null&&o.add(b),await B(),t!==(t=a())){var p=e.selectionStart,i=e.selectionEnd,f=e.value.length;if(e.value=t??"",i!==null){var d=e.value.length;p===i&&i===f&&d>f?(e.selectionStart=d,e.selectionEnd=d):(e.selectionStart=p,e.selectionEnd=Math.min(i,d))}}}),(j&&e.defaultValue!==e.value||M(a)==null&&e.value)&&(n(w(e)?x(e.value):e.value),b!==null&&o.add(b)),Q(()=>{var l=a();if(e===document.activeElement){var t=b;if(o.has(t))return}w(e)&&l===x(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}function w(e){var a=e.type;return a==="number"||a==="range"}function x(e){return e===""?null:+e}var J=q('<button type="button" class="cold-start-sample"><span class="cold-start-sample-mode"> </span> <span class="cold-start-sample-q"> </span> <span class="cold-start-sample-sub"> </span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button>'),K=q(`<section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
2
  Type an address, neighborhood, or proposed development — Riprap returns a written briefing
3
  where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
4
- For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section>`);function O(e,a){D(a,!0);const n=[{mode:"address",q:"80 Pioneer Street, Red Hook, Brooklyn",sub:"Address-mode · Sandy edge · IBZ · NYCHA proximity"},{mode:"neighborhood",q:"Far Rockaway flood exposure briefing",sub:"Neighborhood-mode · chronic stormwater · 2050 SLR"},{mode:"development",q:"Hunts Point proposed rezoning — flood-context check",sub:"Development-check · CEQR §817 · 311 proxy density"}];let o=V("");function l(c){const u=c.trim();u&&W(`/q/${encodeURIComponent(u)}`)}function t(c){c.preventDefault(),l(m(o))}var p=K(),i=v(r(p),2),f=v(r(i),2),d=r(f);z(d),k(2),s(f),s(i);var E=v(i,2),R=v(r(E),2);$(R,21,()=>n,T,(c,u)=>{var h=J(),y=r(h),N=r(y,!0);s(y);var g=v(y,2),C=r(g,!0);s(g);var A=v(g,2),F=r(A,!0);s(A),k(2),s(h),L(()=>{_(N,m(u).mode),_(C,m(u).q),_(F,m(u).sub)}),P("click",h,()=>l(m(u).q)),S(c,h)}),s(R),s(E),k(2),s(p),I("submit",i,t),Z(d,()=>m(o),c=>U(o,c)),S(e,p),G()}H(["click"]);var X=q('<section class="hero-band"><div class="hero-band-inner"><!></div></section>');function oe(e){var a=X(),n=r(a),o=r(n);O(o,{}),s(n),s(a),S(e,a)}export{oe as component};
 
1
+ import{d as H,e as I,a as S,f as q,s as _,b as P}from"../chunks/Dlpu43Tj.js";import"../chunks/DFFHaukH.js";import{m as Y,n as b,o as B,u as M,g as Q,q as j,p as D,k as m,a as L,c as r,s as v,v as k,r as s,t as U,l as V,j as $}from"../chunks/DwbuJhNu.js";import{e as z,r as G,i as T}from"../chunks/CBcGqa-S.js";import{g as W}from"../chunks/Bww_RjdA.js";function Z(e,a,n=a){var o=new WeakSet;Y(e,"input",async l=>{var t=l?e.defaultValue:e.value;if(t=w(e)?x(t):t,n(t),b!==null&&o.add(b),await B(),t!==(t=a())){var p=e.selectionStart,i=e.selectionEnd,f=e.value.length;if(e.value=t??"",i!==null){var d=e.value.length;p===i&&i===f&&d>f?(e.selectionStart=d,e.selectionEnd=d):(e.selectionStart=p,e.selectionEnd=Math.min(i,d))}}}),(j&&e.defaultValue!==e.value||M(a)==null&&e.value)&&(n(w(e)?x(e.value):e.value),b!==null&&o.add(b)),Q(()=>{var l=a();if(e===document.activeElement){var t=b;if(o.has(t))return}w(e)&&l===x(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}function w(e){var a=e.type;return a==="number"||a==="range"}function x(e){return e===""?null:+e}var J=q('<button type="button" class="cold-start-sample"><span class="cold-start-sample-mode"> </span> <span class="cold-start-sample-q"> </span> <span class="cold-start-sample-sub"> </span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button>'),K=q(`<section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
2
  Type an address, neighborhood, or proposed development — Riprap returns a written briefing
3
  where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
4
+ For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section>`);function O(e,a){D(a,!0);const n=[{mode:"address",q:"80 Pioneer Street, Red Hook, Brooklyn",sub:"Address-mode · Sandy edge · IBZ · NYCHA proximity"},{mode:"neighborhood",q:"Far Rockaway flood exposure briefing",sub:"Neighborhood-mode · chronic stormwater · 2050 SLR"},{mode:"development",q:"Hunts Point proposed rezoning — flood-context check",sub:"Development-check · CEQR §817 · 311 proxy density"}];let o=$("");function l(c){const u=c.trim();u&&W(`/q/${encodeURIComponent(u)}`)}function t(c){c.preventDefault(),l(m(o))}var p=K(),i=v(r(p),2),f=v(r(i),2),d=r(f);G(d),k(2),s(f),s(i);var E=v(i,2),R=v(r(E),2);z(R,21,()=>n,T,(c,u)=>{var h=J(),y=r(h),N=r(y,!0);s(y);var g=v(y,2),C=r(g,!0);s(g);var A=v(g,2),F=r(A,!0);s(A),k(2),s(h),U(()=>{_(N,m(u).mode),_(C,m(u).q),_(F,m(u).sub)}),P("click",h,()=>l(m(u).q)),S(c,h)}),s(R),s(E),k(2),s(p),I("submit",i,t),Z(d,()=>m(o),c=>V(o,c)),S(e,p),L()}H(["click"]);var X=q('<section class="hero-band"><div class="hero-band-inner"><!></div></section>');function oe(e){var a=X(),n=r(a),o=r(n);O(o,{}),s(n),s(a),S(e,a)}export{oe as component};
web/sveltekit/build/_app/immutable/nodes/{3.DkcKoa0E.js → 3.CIBu62VC.js} RENAMED
@@ -1,7 +1,7 @@
1
- import{d as we,c as Ee,a as p,s as l,b as ke,f as d}from"../chunks/BLULdth_.js";import{m as Fe,i as Te,ad as $e,ae as qe,o as D,C as Me,a3 as Z,z as ee,q as te,A as Oe,v as Se,p as je,af as Ce,f as De,a as Re,k as e,l as R,ag as Ae,ah as m,j as A,ai as Ie,c as a,s,r as t,t as I}from"../chunks/CYuHyzh3.js";import{i as P}from"../chunks/vWNuMvXT.js";import{e as Pe}from"../chunks/B7gjWklj.js";import{p as Ne}from"../chunks/DO0D806X.js";import{B as ze,T as Be}from"../chunks/CW0UkEuV.js";import{l as Ge}from"../chunks/CdmpEGnB.js";function Le(f,_){let c=null,r=D;var u;if(D){c=Oe;for(var o=Se(document.head);o!==null&&(o.nodeType!==Me||o.data!==f);)o=Z(o);if(o===null)ee(!1);else{var b=Z(o);o.remove(),te(b)}}D||(u=document.head.appendChild(Fe()));try{Te(()=>_(u),$e|qe)}finally{r&&(ee(!0),te(c))}}const He=!1,Ve=!1,it=Object.freeze(Object.defineProperty({__proto__:null,prerender:He,ssr:Ve},Symbol.toStringTag,{value:"Module"}));var We=d(`<div class="empty svelte-uialbm"><h1 class="svelte-uialbm">No briefing snapshot found</h1> <p>Run a briefing first at <a href="/" class="svelte-uialbm">riprap home</a>; once it finishes,
2
  use <strong>export PDF</strong> from the header to open this view.
3
- Snapshots are stored per-browser and persist between runs of the same query.</p></div>`),Je=d('<div class="curl svelte-uialbm"> </div>'),Ke=d('<li class="svelte-uialbm"><span class="cn svelte-uialbm"> </span> <span class="cglyph svelte-uialbm"><!></span> <span class="csrc svelte-uialbm"> </span> <span class="cvint svelte-uialbm"> </span> <div class="ctitle svelte-uialbm"> </div> <!> <div class="cdocid svelte-uialbm">doc_id <code> </code></div></li>'),Qe=d('<section class="print-citations svelte-uialbm"><h2 class="svelte-uialbm">Citations</h2> <ol class="svelte-uialbm"></ol></section>'),Ue=d('<article class="print-doc svelte-uialbm"><header class="print-head svelte-uialbm"><div class="print-head-top svelte-uialbm"><span class="wordmark svelte-uialbm">riprap</span> <span class="meta"> </span></div> <h1 class="print-title svelte-uialbm"> </h1> <div class="print-sub svelte-uialbm">intent <strong> </strong> </div></header> <div class="print-controls no-print svelte-uialbm"><button type="button" class="svelte-uialbm">print / save as PDF</button> <span class="hint svelte-uialbm"> </span></div> <!> <!> <footer class="print-foot svelte-uialbm"> </footer></article>'),Xe=d('<div class="empty svelte-uialbm"><p>Loading…</p></div>');function nt(f,_){je(_,!0);let c=m(()=>Ne.params.queryId??""),r=A(null),u=A(!1),o=A(!1);Ce(()=>{const i=Ge(e(c));if(!i){R(u,!0);return}R(r,i,!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{typeof window<"u"&&(window.print(),R(o,!0))})})});function b(){typeof window<"u"&&window.print()}let N=m(()=>e(r)?Object.values(e(r).citations).sort((i,n)=>i.n-n.n):[]),z=m(()=>e(r)?new Date(e(r).generatedAt).toISOString().slice(0,10):"");var B=Ee();Le("uialbm",i=>{Ae(()=>{var n;Ie.title=`Riprap briefing — ${((n=e(r))==null?void 0:n.queryText)??"export"??""}`})});var ae=De(B);{var se=i=>{var n=We();p(i,n)},re=i=>{var n=Ue(),g=a(n),h=a(g),G=s(a(h),2),ne=a(G);t(G),t(h);var y=s(h,2),le=a(y,!0);t(y);var L=s(y,2),x=s(a(L)),oe=a(x,!0);t(x);var ve=s(x);t(L),t(g);var w=s(g,2),H=a(w),V=s(H,2),pe=a(V,!0);t(V),t(w);var W=s(w,2);ze(W,{get blocks(){return e(r).blocks},get citations(){return e(r).citations},streaming:!1});var J=s(W,2);{var de=E=>{var k=Qe(),Q=s(a(k),2);Pe(Q,21,()=>e(N),F=>F.id,(F,v)=>{var T=Ke(),$=a(T),ce=a($);t($);var q=s($,2),me=a(q);Be(me,{get tier(){return e(v).tier},size:9,get color(){return`var(--tier-${e(v).tier??""})`}}),t(q);var M=s(q,2),fe=a(M,!0);t(M);var O=s(M,2),_e=a(O);t(O);var S=s(O,2),be=a(S,!0);t(S);var U=s(S,2);{var ge=j=>{var C=Je(),xe=a(C,!0);t(C),I(()=>l(xe,e(v).url)),p(j,C)},he=m(()=>e(v).url&&e(v).url.startsWith("http"));P(U,j=>{e(he)&&j(ge)})}var X=s(U,2),Y=s(a(X)),ye=a(Y,!0);t(Y),t(X),t(T),I(()=>{l(ce,`[${e(v).n??""}]`),l(fe,e(v).source),l(_e,`v. ${e(v).vintage??""}`),l(be,e(v).title),l(ye,e(v).docId)}),p(F,T)}),t(Q),t(k),p(E,k)};P(J,E=>{e(N).length&&E(de)})}var K=s(J,2),ue=a(K);t(K),t(n),I(()=>{l(ne,`flood-exposure briefing · v0.4.2 · ${e(z)??""}`),l(le,e(r).queryText),l(oe,e(r).intent??"briefing"),l(ve,` · ${e(r).specialists??""} specialists
4
  · ${e(r).attempts??1??""} reconcile${(e(r).attempts??1)===1?"":"s"}
5
- · grounded by Mellea rejection sampling`),l(pe,e(o)?"Print dialog opened. Re-print anytime.":"Opening print dialog…"),l(ue,`Generated ${e(z)??""} ·
6
  Riprap is grounded by Mellea rejection sampling over IBM Granite 4.1.
7
- Numbers without bracketed citations are not present in source documents.`)}),ke("click",H,b),p(i,n)},ie=i=>{var n=Xe();p(i,n)};P(ae,i=>{e(u)?i(se):e(r)?i(re,1):i(ie,-1)})}p(f,B),Re()}we(["click"]);export{nt as component,it as universal};
 
1
+ import{d as we,c as Ee,a as p,s as l,b as Fe,f as d}from"../chunks/Dlpu43Tj.js";import{w as $e,i as ke,H as Te,x as qe,q as D,C as Me,y as Z,z as ee,A as te,B as Oe,F as Se,p as je,G as Ce,f as De,a as Ie,k as e,l as I,I as Re,J as m,j as R,$ as Ae,c as a,s,r as t,t as A}from"../chunks/DwbuJhNu.js";import{i as P}from"../chunks/8F5LpR-T.js";import{e as Pe}from"../chunks/CBcGqa-S.js";import{p as Be}from"../chunks/BPL6dYL1.js";import{B as Ge,T as Ne}from"../chunks/CtphE0zf.js";import{l as ze}from"../chunks/DNaFzQeI.js";function He(f,_){let c=null,r=D;var u;if(D){c=Oe;for(var o=Se(document.head);o!==null&&(o.nodeType!==Me||o.data!==f);)o=Z(o);if(o===null)ee(!1);else{var b=Z(o);o.remove(),te(b)}}D||(u=document.head.appendChild($e()));try{ke(()=>_(u),Te|qe)}finally{r&&(ee(!0),te(c))}}const Le=!1,Je=!1,it=Object.freeze(Object.defineProperty({__proto__:null,prerender:Le,ssr:Je},Symbol.toStringTag,{value:"Module"}));var Ve=d(`<div class="empty svelte-uialbm"><h1 class="svelte-uialbm">No briefing snapshot found</h1> <p>Run a briefing first at <a href="/" class="svelte-uialbm">riprap home</a>; once it finishes,
2
  use <strong>export PDF</strong> from the header to open this view.
3
+ Snapshots are stored per-browser and persist between runs of the same query.</p></div>`),We=d('<div class="curl svelte-uialbm"> </div>'),Ke=d('<li class="svelte-uialbm"><span class="cn svelte-uialbm"> </span> <span class="cglyph svelte-uialbm"><!></span> <span class="csrc svelte-uialbm"> </span> <span class="cvint svelte-uialbm"> </span> <div class="ctitle svelte-uialbm"> </div> <!> <div class="cdocid svelte-uialbm">doc_id <code> </code></div></li>'),Qe=d('<section class="print-citations svelte-uialbm"><h2 class="svelte-uialbm">Citations</h2> <ol class="svelte-uialbm"></ol></section>'),Ue=d('<article class="print-doc svelte-uialbm"><header class="print-head svelte-uialbm"><div class="print-head-top svelte-uialbm"><span class="wordmark svelte-uialbm">riprap</span> <span class="meta"> </span></div> <h1 class="print-title svelte-uialbm"> </h1> <div class="print-sub svelte-uialbm">intent <strong> </strong> </div></header> <div class="print-controls no-print svelte-uialbm"><button type="button" class="svelte-uialbm">print / save as PDF</button> <span class="hint svelte-uialbm"> </span></div> <!> <!> <footer class="print-foot svelte-uialbm"> </footer></article>'),Xe=d('<div class="empty svelte-uialbm"><p>Loading…</p></div>');function nt(f,_){je(_,!0);let c=m(()=>Be.params.queryId??""),r=R(null),u=R(!1),o=R(!1);Ce(()=>{const i=ze(e(c));if(!i){I(u,!0);return}I(r,i,!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{typeof window<"u"&&(window.print(),I(o,!0))})})});function b(){typeof window<"u"&&window.print()}let B=m(()=>e(r)?Object.values(e(r).citations).sort((i,n)=>i.n-n.n):[]),G=m(()=>e(r)?new Date(e(r).generatedAt).toISOString().slice(0,10):"");var N=Ee();He("uialbm",i=>{Re(()=>{var n;Ae.title=`Riprap briefing — ${((n=e(r))==null?void 0:n.queryText)??"export"??""}`})});var ae=De(N);{var se=i=>{var n=Ve();p(i,n)},re=i=>{var n=Ue(),g=a(n),h=a(g),z=s(a(h),2),ne=a(z);t(z),t(h);var y=s(h,2),le=a(y,!0);t(y);var H=s(y,2),x=s(a(H)),oe=a(x,!0);t(x);var ve=s(x);t(H),t(g);var w=s(g,2),L=a(w),J=s(L,2),pe=a(J,!0);t(J),t(w);var V=s(w,2);Ge(V,{get blocks(){return e(r).blocks},get citations(){return e(r).citations},streaming:!1});var W=s(V,2);{var de=E=>{var F=Qe(),Q=s(a(F),2);Pe(Q,21,()=>e(B),$=>$.id,($,v)=>{var k=Ke(),T=a(k),ce=a(T);t(T);var q=s(T,2),me=a(q);Ne(me,{get tier(){return e(v).tier},size:9,get color(){return`var(--tier-${e(v).tier??""})`}}),t(q);var M=s(q,2),fe=a(M,!0);t(M);var O=s(M,2),_e=a(O);t(O);var S=s(O,2),be=a(S,!0);t(S);var U=s(S,2);{var ge=j=>{var C=We(),xe=a(C,!0);t(C),A(()=>l(xe,e(v).url)),p(j,C)},he=m(()=>e(v).url&&e(v).url.startsWith("http"));P(U,j=>{e(he)&&j(ge)})}var X=s(U,2),Y=s(a(X)),ye=a(Y,!0);t(Y),t(X),t(k),A(()=>{l(ce,`[${e(v).n??""}]`),l(fe,e(v).source),l(_e,`v. ${e(v).vintage??""}`),l(be,e(v).title),l(ye,e(v).docId)}),p($,k)}),t(Q),t(F),p(E,F)};P(W,E=>{e(B).length&&E(de)})}var K=s(W,2),ue=a(K);t(K),t(n),A(()=>{l(ne,`flood-exposure briefing · v0.4.2 · ${e(G)??""}`),l(le,e(r).queryText),l(oe,e(r).intent??"briefing"),l(ve,` · ${e(r).specialists??""} specialists
4
  · ${e(r).attempts??1??""} reconcile${(e(r).attempts??1)===1?"":"s"}
5
+ · grounded by Mellea rejection sampling`),l(pe,e(o)?"Print dialog opened. Re-print anytime.":"Opening print dialog…"),l(ue,`Generated ${e(G)??""} ·
6
  Riprap is grounded by Mellea rejection sampling over IBM Granite 4.1.
7
+ Numbers without bracketed citations are not present in source documents.`)}),Fe("click",L,b),p(i,n)},ie=i=>{var n=Xe();p(i,n)};P(ae,i=>{e(u)?i(se):e(r)?i(re,1):i(ie,-1)})}p(f,N),Ie()}we(["click"]);export{nt as component,it as universal};
web/sveltekit/build/_app/immutable/nodes/4.CApkrJKi.js DELETED
@@ -1 +0,0 @@
1
- import{s as E,a as k,f as M,d as st,c as St,b as it,g as xe,t as kt}from"../chunks/BLULdth_.js";import{c as d,s as f,r as l,ac as Ee,t as L,k as e,f as de,ah as ue,p as ot,a as lt,j as z,l as w,am as he,az as Ke,af as Nt}from"../chunks/CYuHyzh3.js";import{p as je,i as H}from"../chunks/vWNuMvXT.js";import{e as Ce,s as $,i as Ue}from"../chunks/B7gjWklj.js";import{p as jt}from"../chunks/DO0D806X.js";import{b as ge,T as Ae,s as ye,d as At,a as Et,t as ct,e as Ct,B as Tt}from"../chunks/CW0UkEuV.js";import{C as zt,T as Mt,R as Ft,M as Pt}from"../chunks/BPaqPo1M.js";import"../chunks/CpEmpa3I.js";import{b as Ve,p as $t}from"../chunks/CdmpEGnB.js";const Dt=!1,Ot=!1,Yr=Object.freeze(Object.defineProperty({__proto__:null,prerender:Dt,ssr:Ot},Symbol.toStringTag,{value:"Module"}));var Lt=M('<div class="skeleton-section"><div class="skeleton-head"><span class="skeleton-num"> </span> <span class="skeleton-label"> </span> <span class="skeleton-spinner" aria-hidden="true">▍</span></div> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span></div>'),Rt=M('<div class="skeleton-brief" role="status" aria-live="polite" aria-label="Loading briefing — geocode complete, dispatching specialists"><div class="skeleton-status"><span class="skeleton-pulse"></span> <span class="skeleton-pulse skeleton-pulse-meta"></span></div> <!></div>');function Yt(n){const t=[{n:"01",label:"Status"},{n:"02",label:"Empirical evidence"},{n:"03",label:"Modeled scenarios"},{n:"04",label:"Policy context"}];var a=Rt(),s=d(a),u=d(s);ge(u,"",{},{width:"62%"});var m=f(u,2);ge(m,"",{},{width:"40%"}),l(s);var g=f(s,2);Ce(g,1,()=>t,q=>q.n,(q,h)=>{var i=Lt(),o=d(i),p=d(o),b=d(p,!0);l(p);var F=f(p,2),A=d(F,!0);l(F),Ee(2),l(o);var Y=f(o,2);ge(Y,"",{},{width:"92%"});var P=f(Y,2);ge(P,"",{},{width:"78%"});var R=f(P,2);ge(R,"",{},{width:"85%"}),l(i),L(()=>{E(b,e(h).n),E(A,e(h).label)}),k(q,i)}),l(a),k(n,a)}var It=M('<div class="reroll-banner" role="status" aria-live="polite"><!> <div class="reroll-body"><span class="reroll-head">Regenerating to satisfy citation grounding</span> <span class="reroll-sub"> </span></div> <span class="reroll-spinner" aria-hidden="true">↻</span></div>');function Bt(n,t){let a=je(t,"attempt",3,2),s=je(t,"max",3,3);var u=It(),m=d(u);Ae(m,{tier:"modeled",size:11,color:"var(--tier-modeled)"});var g=f(m,2),q=f(d(g),2),h=d(q);l(q),l(g),Ee(2),l(u),L(()=>E(h,`Mellea reconciler · attempt ${a()??""} of ${s()??""} · previous draft dimmed below`)),k(n,u)}var Ut=M("<a> </a>"),Ht=M('<button type="button"> </button>'),Gt=M('<article role="alert" aria-live="assertive"><header class="error-card-head"><!> <span class="error-card-eyebrow"> </span></header> <h3 class="error-card-headline"> </h3> <p class="error-card-body"> </p> <div class="error-card-actions"></div> <footer class="error-card-foot"><span class="section-label">Trust signals · still on</span> <span class="error-card-foot-copy">All foundation models Apache-2.0 · No commercial APIs at runtime</span></footer></article>');function Zt(n,t){const a={geocoder:{eyebrow:"Address not resolved",headline:"We couldn't resolve that to a NYC address.",body:`Try a more specific street address — for example, "80 Pioneer Street, Brooklyn." Riprap covers the five boroughs only; international addresses, NJ addresses, and points outside NYC aren't supported.`,tier:"proxy",defaultActions:["Use a sample query","Edit query"]},"all-silent":{eyebrow:"Outside evidence coverage",headline:"No specialists found evidence at this point.",body:"The address resolved, but every flood-evidence specialist returned silent. This is rare and usually means parkland, water, or a point with no nearby 311, no FloodNet sensor, and no Sandy overlap. Try a nearby street address or expand to neighborhood-mode.",tier:"proxy",defaultActions:["Try nearby address","Switch to neighborhood-mode"]},grounding:{eyebrow:"Grounding failure",headline:"Briefing prose couldn't be composed within citation constraints.",body:"Mellea rejected all reroll attempts. The underlying evidence is fine — only the prose composition failed. Download the structured evidence below, or contact support.",tier:"modeled",defaultActions:["Download evidence (JSON)","Contact support","Try again"]},backend:{eyebrow:"Backend unavailable",headline:"All routing targets exhausted.",body:"LiteLLM tried Local Ollama → HF Space T4 → AMD MI300X and didn't reach a healthy backend. This usually clears within 5 minutes during a deploy window. The hardware-pill in the header is currently red.",tier:"proxy",defaultActions:["Retry now","Switch backend"]}};let s=ue(()=>a[t.state]),u=ue(()=>t.actions??e(s).defaultActions.map(Y=>({label:Y})));var m=Gt(),g=d(m),q=d(g);Ae(q,{get tier(){return e(s).tier},size:11,get color(){return`var(--tier-${e(s).tier??""})`}});var h=f(q,2),i=d(h,!0);l(h),l(g);var o=f(g,2),p=d(o,!0);l(o);var b=f(o,2),F=d(b,!0);l(b);var A=f(b,2);Ce(A,21,()=>e(u),Ue,(Y,P,R)=>{var V=St(),Q=de(V);{var pe=D=>{var O=Ut();ye(O,1,"error-card-action",null,{},{"is-primary":R===0});var W=d(O,!0);l(O),L(()=>{$(O,"href",e(P).href),E(W,e(P).label)}),k(D,O)},ee=D=>{var O=Ht();ye(O,1,"error-card-action",null,{},{"is-primary":R===0});var W=d(O,!0);l(O),L(()=>E(W,e(P).label)),it("click",O,function(...G){var I;(I=e(P).onClick)==null||I.apply(this,G)}),k(D,O)};H(Q,D=>{e(P).href?D(pe):D(ee,-1)})}k(Y,V)}),l(A),Ee(2),l(m),L(()=>{ye(m,1,`error-card error-card-${t.state??""}`),E(i,t.eyebrowOverride??e(s).eyebrow),E(p,t.headlineOverride??e(s).headline),E(F,t.bodyOverride??e(s).body)}),k(n,m)}st(["click"]);var Jt=xe('<rect x="0" y="0"></rect>'),Wt=xe('<rect x="1" y="1" fill="none" stroke-width="1.5"></rect>'),Xt=xe('<line x1="0" stroke-width="2"></line><line y1="0" stroke-width="2"></line>',1),Kt=xe("<circle></circle>"),Vt=xe('<svg aria-hidden="true"><!></svg>');function Qt(n,t){let a=je(t,"size",3,12),s=je(t,"color",3,"#1A1A1A"),u=ue(()=>a()/2);var m=Vt(),g=d(m);{var q=p=>{var b=Jt();L(()=>{$(b,"width",a()),$(b,"height",a()),$(b,"fill",s())}),k(p,b)},h=p=>{var b=Wt();L(()=>{$(b,"width",a()-2),$(b,"height",a()-2),$(b,"stroke",s())}),k(p,b)},i=p=>{var b=Xt(),F=de(b),A=f(F);L(()=>{$(F,"y1",e(u)),$(F,"x2",a()),$(F,"y2",e(u)),$(F,"stroke",s()),$(A,"x1",e(u)),$(A,"x2",e(u)),$(A,"y2",a()),$(A,"stroke",s())}),k(p,b)},o=p=>{var b=Kt();L(()=>{$(b,"cx",e(u)),$(b,"cy",e(u)),$(b,"r",e(u)-.5),$(b,"fill",s())}),k(p,b)};H(g,p=>{t.kind==="subway"?p(q):t.kind==="nycha"?p(h,1):t.kind==="school"?p(i,2):p(o,-1)})}l(m),L(()=>{$(m,"width",a()),$(m,"height",a()),$(m,"viewBox",`0 0 ${a()??""} ${a()??""}`)}),k(n,m)}var er=M('<tr class="register-detail"><td colspan="7"><div class="register-detail-grid"><div><span class="section-label">Position</span><p>Empirical · MTA station entrance dataset, lat/lon survey-grade</p></div> <div><span class="section-label">Elevation</span><p>Modeled · NYC DEM 1 ft · joined at entrance centroid</p></div> <div><span class="section-label">Sandy 2012</span><p>Empirical · NYC OEM Sandy Inundation Zone, polygon test</p></div> <div><span class="section-label">DEP scenario</span><p>Modeled · Stormwater Flood Map moderate (2.13 in/hr)</p></div></div></td></tr>'),tr=M('<tr><td class="register-row-glyph"><!> <!></td><td class="register-row-name"> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr> <!>',1),rr=M('<article class="register-card"><header class="register-card-head"><div class="register-card-source"><!> <span class="register-card-source-label"> </span></div> <span class="register-card-vintage"> </span></header> <h4 class="register-card-title"><span class="register-card-count"> </span> <span class="register-card-type"> </span></h4> <table class="register-table"><thead><tr><th></th><th>asset</th><th>elev.</th><th>ADA</th><th>FEMA</th><th>Sandy 2012</th><th>DEP modeled</th></tr></thead><tbody></tbody></table> <footer class="register-card-foot"><span class="register-foot-note">Row glyph reflects most-empirical tier across joined fields. Tap row for per-field provenance.</span> <!></footer></article>');function ar(n,t){ot(t,!0);let a=z(null);function s(ee){w(a,e(a)===ee?null:ee,!0)}var u=rr(),m=d(u),g=d(m),q=d(g);Ae(q,{tier:"empirical",size:11,color:"var(--tier-empirical)"});var h=f(q,2),i=d(h,!0);l(h),l(g);var o=f(g,2),p=d(o);l(o),l(m);var b=f(m,2),F=d(b),A=d(F,!0);l(F);var Y=f(F,2),P=d(Y);l(Y),l(b);var R=f(b,2),V=f(d(R));Ce(V,21,()=>t.data.rows,Ue,(ee,D,O)=>{var W=tr(),G=de(W);let I;var te=d(G),ve=d(te);Qt(ve,{get kind(){return e(D).asset},size:10});var qe=f(ve,2);Ae(qe,{get tier(){return e(D).primaryTier},size:9,get color(){return`var(--tier-${e(D).primaryTier??""})`}}),l(te);var re=f(te),oe=d(re,!0);l(re);var ae=f(re),le=d(ae,!0);l(ae);var J=f(ae),se=d(J,!0);l(J);var ne=f(J),De=d(ne,!0);l(ne);var ie=f(ne),Se=d(ie,!0);l(ie);var ce=f(ie),_e=d(ce,!0);l(ce),l(G);var fe=f(G,2);{var Oe=me=>{var Le=er();k(me,Le)};H(fe,me=>{e(a)===O&&me(Oe)})}L(()=>{I=ye(G,1,"register-row",null,I,{"is-open":e(a)===O}),E(oe,e(D).name),E(le,e(D).elev),ye(J,1,At(e(D).ada?"register-yes":"register-no")),E(se,e(D).ada?"✓":"—"),E(De,e(D).fema),E(Se,e(D).sandy),E(_e,e(D).dep)}),it("click",G,()=>s(O)),k(ee,W)}),l(V),l(R);var Q=f(R,2),pe=f(d(Q),2);Et(pe,{tier:"empirical",compact:!0}),l(Q),l(u),L(()=>{$(u,"aria-label",`${t.data.type??""} register`),E(i,t.data.sourceLabel??"MTA · USGS · FEMA · NYC OEM · NYC DEP"),E(p,`v. ${t.data.vintage??"2026-04"??""} · joined`),E(A,t.data.count),E(P,`${t.data.type??""} within ${t.data.radius??""}`)}),k(n,u),lt()}st(["click"]);const Te={subway:"MTA · USGS · FEMA · NYC OEM · NYC DEP",nycha:"NYC HA · USGS · NYC OEM · NYC DEP",school:"NYC DOE · USGS · NYC OEM · NYC DEP",hospital:"NYS DOH · USGS · NYC OEM · NYC DEP"},ze={subway:"subway entrances",nycha:"NYCHA developments",school:"public schools",hospital:"hospitals"};function Me(n){return!n||!Number.isFinite(n)?"—":`${Math.round(n)}m`}function Fe(n){return n==null||!Number.isFinite(n)?"—":`${(n*3.28084).toFixed(1)} ft`}function Pe(n,t){return typeof t=="number"?t>=.5?`Inundated 2012 (${Math.round(t*100)}%)`:t>0?`Edge (${Math.round(t*100)}%)`:"—":n?"Inundated 2012":"—"}function $e(n,t,a){return typeof a=="number"?a>=.5?`≥${Math.round(a*100)}% in scenario`:a>0?`${Math.round(a*100)}% edge`:"minimal":n&&n.length?n:t&&t>0?`class ${t}`:"minimal"}function nr(n){return n?/elevator|easement|stair.*ramp/i.test(n):!1}function sr(n){if(!n.available)return null;const a=(n.entrances??[]).map(s=>{const u=nr(s.entrance_type);return{name:`${s.station_name??"?"}${s.daytime_routes?` (${String(s.daytime_routes).split(/\s+/).slice(0,3).join("/")})`:""}`,elev:Fe(s.elev_m),ada:u,fema:"Zone X",sandy:Pe(s.inside_sandy_2012),dep:$e(s.dep_extreme_2080_label,s.dep_extreme_2080_class),asset:"subway",primaryTier:s.inside_sandy_2012?"empirical":"modeled"}});return{type:ze.subway,radius:Me(n.radius_m),count:n.n_entrances??a.length,rows:a,sourceLabel:Te.subway}}function ir(n){if(!n.available)return null;const a=(n.developments??[]).map(s=>{const u=s.pct_inside_sandy_2012,m=s.pct_in_dep_extreme_2080;return{name:`${s.development??"?"}${s.borough?` · ${s.borough}`:""}`,elev:Fe(s.rep_elevation_m),ada:!1,fema:"—",sandy:Pe(void 0,u),dep:$e(void 0,void 0,m),asset:"nycha",primaryTier:u&&u>0?"empirical":"modeled"}});return{type:ze.nycha,radius:Me(n.radius_m),count:n.n_developments??a.length,rows:a,sourceLabel:Te.nycha}}function or(n){if(!n.available)return null;const a=(n.schools??[]).map(s=>({name:`${s.school_name??s.name??"?"}${s.borough?` · ${s.borough}`:""}`,elev:Fe(s.elev_m),ada:!1,fema:"—",sandy:Pe(s.inside_sandy_2012),dep:$e(s.dep_extreme_2080_label,s.dep_extreme_2080_class),asset:"school",primaryTier:s.inside_sandy_2012?"empirical":"modeled"}));return{type:ze.school,radius:Me(n.radius_m),count:n.n_schools??a.length,rows:a,sourceLabel:Te.school}}function lr(n){if(!n.available)return null;const a=(n.hospitals??[]).map(s=>({name:`${s.facility_name??s.name??"?"}${s.borough?` · ${s.borough}`:""}`,elev:Fe(s.elev_m),ada:!0,fema:"—",sandy:Pe(s.inside_sandy_2012),dep:$e(s.dep_extreme_2080_label,s.dep_extreme_2080_class),asset:"hospital",primaryTier:s.inside_sandy_2012?"empirical":"modeled"}));return{type:ze.hospital,radius:Me(n.radius_m),count:n.n_hospitals??a.length,rows:a,sourceLabel:Te.hospital}}function cr(n){if(!n)return[];const t=[],a=sr(n.mta_entrances??{});a&&a.rows.length&&t.push(a);const s=ir(n.nycha_developments??{});s&&s.rows.length&&t.push(s);const u=or(n.doe_schools??{});u&&u.rows.length&&t.push(u);const m=lr(n.doh_hospitals??{});return m&&m.rows.length&&t.push(m),t}function dr(n,t){const a=`/api/agent/stream?q=${encodeURIComponent(n)}`,s=new EventSource(a);let u="",m;const g=/([.?!])(\s|$)/;function q(i=!1){var p,b;let o;for(;o=g.exec(u);){const F=o.index+o[1].length+(o[2]?o[2].length:0),A=u.slice(0,F).trim();u=u.slice(F),A&&((p=t.onSentence)==null||p.call(t,A,m))}i&&u.trim()&&((b=t.onSentence)==null||b.call(t,u.trim(),m),u="")}function h(i,o){s.addEventListener(i,p=>{try{o(JSON.parse(p.data))}catch{}})}return h("hello",i=>{var o;return(o=t.onHello)==null?void 0:o.call(t,i.query)}),h("plan_token",i=>{var o;return(o=t.onPlanToken)==null?void 0:o.call(t,i.delta)}),h("plan",i=>{var o;return(o=t.onPlan)==null?void 0:o.call(t,i)}),h("step",i=>{var o;return(o=t.onStep)==null?void 0:o.call(t,i)}),h("token",i=>{var o,p;i.attempt!==m&&(m=i.attempt,u="",(o=t.onAttemptStart)==null||o.call(t,i.attempt??1)),(p=t.onToken)==null||p.call(t,i.delta,i.attempt),u+=i.delta,q(!1)}),h("mellea_attempt",i=>{var o;return(o=t.onMelleaAttempt)==null?void 0:o.call(t,i)}),h("final",i=>{var o;q(!0),(o=t.onFinal)==null||o.call(t,i)}),h("error",i=>{var o;return(o=t.onError)==null?void 0:o.call(t,i.err)}),s.addEventListener("done",()=>{var i;q(!0),(i=t.onDone)==null||i.call(t),s.close()}),s.addEventListener("error",()=>{var i;q(!0),(i=t.onError)==null||i.call(t,"SSE connection error"),s.close()}),{close:()=>s.close()}}const dt=[{key:"status",label:"Status",n:"01",aliases:["status"]},{key:"empirical",label:"Empirical evidence",n:"02",tier:"empirical",aliases:["empirical evidence","empirical"]},{key:"modeled",label:"Modeled scenarios",n:"03",tier:"modeled",aliases:["modeled scenarios","modeled"]},{key:"policy",label:"Policy context",n:"04",aliases:["policy context","policy"]}];function Qe(n){const t=n.toLowerCase().replace(/[.:]+\s*$/,"").trim();return dt.find(a=>a.aliases.includes(t))}const et=/(^|\n)\s*(?:\*\*([A-Z][A-Za-z\s/]+?)\.\s*\*\*|#{1,3}\s*(0[1-4])\s*[:\-—.]?\s*([^\n]+))/g;function ut(n,t,a){return{id:t,n,tier:ct(t),source:(a==null?void 0:a.source)??t.split(/[_-]/)[0].toUpperCase(),title:(a==null?void 0:a.title)??t,docId:t,url:(a==null?void 0:a.url)??"",vintage:(a==null?void 0:a.vintage)??"",retrieved:(a==null?void 0:a.retrieved)??""}}const ur=/\[([a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)\]/gi;function tt(n){return n.split(new RegExp("(?<=[.!?])\\s+(?=[A-Z(])","g")).filter(a=>a.trim().length>0)}function rt(n,t,a){let s=0;const u=[],m=[...n.matchAll(ur)];if(m.length===0)return[{text:n}];for(const g of m){const q=n.slice(s,g.index??0),h=g[1].split(/\s*,\s*/).filter(Boolean);s=(g.index??0)+g[0].length;const i=ct(h[0]);u.push({text:q,tier:i,cite:h[0]});for(const o of h)t[o]||(t[o]=a(o))}if(s<n.length){const g=n.slice(s);g.trim()&&u.push({text:g})}return u}function pr(n,t={}){const a={...t};let s=Object.values(a).reduce((i,o)=>Math.max(i,o.n),0)+1;const u=new Set,m=i=>(t[i]||u.add(i),ut(s++,i)),g=[],q=[];let h;for(et.lastIndex=0;h=et.exec(n);)if(h[2]!==void 0){const i=Qe(h[2]);if(!i)continue;q.push({num:i.n,label:i.label,tier:i.tier,start:h.index+h[1].length,bodyStart:h.index+h[0].length})}else if(h[3]!==void 0){const i=h[3],o=(h[4]??"").trim(),p=dt.find(b=>b.n===i)??Qe(o);q.push({num:i,label:(p==null?void 0:p.label)??o,tier:p==null?void 0:p.tier,titleExtra:p&&o.toLowerCase()!==p.label.toLowerCase()?o:void 0,start:h.index+h[1].length,bodyStart:h.index+h[0].length})}for(let i=0;i<q.length;i++){const o=q[i],p=q[i+1],b=n.slice(o.bodyStart,p?p.start:n.length).trim();if(b){g.push({kind:"head",n:o.num,label:o.label,tier:o.tier,title:o.titleExtra});for(const F of b.split(/\n\s*\n/)){const A=F.replace(/\s+/g," ").trim();if(!A)continue;const Y=tt(A),P=[];for(const R of Y)P.push(...rt(R,a,m)),P.push({text:" "});for(;P.length&&P[P.length-1].text.trim()===""&&!P[P.length-1].tier;)P.pop();P.length&&g.push({kind:"prose",parts:P})}}}if(g.length===0&&n.trim()){g.push({kind:"head",n:"01",label:"Status"});const i=n.replace(/\s+/g," ").trim(),o=tt(i),p=[];for(const b of o)p.push(...rt(b,a,m)),p.push({text:" "});for(;p.length&&p[p.length-1].text.trim()===""&&!p[p.length-1].tier;)p.pop();p.length&&g.push({kind:"prose",parts:p})}return{blocks:g,citations:a,unresolvedDocIds:[...u]}}const be={type:"FeatureCollection",features:[]};async function we(n){try{const t=await fetch(n);if(!t.ok)return be;const a=await t.json();return!a||a.type!=="FeatureCollection"?be:a}catch{return be}}async function vr(n,t,a=1500){return we(`/api/layers/sandy?lat=${n}&lon=${t}&r=${a}`)}async function _r(n,t,a=1500){return we(`/api/layers/dep_extreme_2080?lat=${n}&lon=${t}&r=${a}`)}async function at(n,t,a=1500){return we(`/api/layers/prithvi_water?lat=${n}&lon=${t}&r=${a}`)}async function fr(n){return we(`/api/layers/sandy_clipped?code=${encodeURIComponent(n)}`)}async function mr(n,t="dep_extreme_2080"){return we(`/api/layers/dep_clipped?code=${encodeURIComponent(n)}&scenario=${t}`)}async function nt(n,t,a=1500){try{const s=await fetch(`/api/floodnet_near?lat=${n}&lon=${t}&r=${a}`);return s.ok?{type:"FeatureCollection",features:(await s.json()).features.map(g=>{const q=g.properties??{};return{...g,properties:{...q,count:typeof q.n_events_3y=="number"?q.n_events_3y:1}}})}:be}catch{return be}}var hr=M('<span class="region-head-meta svelte-1q8jizq"> <!></span>'),gr=M('<span class="region-head-meta svelte-1q8jizq">planning…</span>'),yr=M('<div class="reroll-prev svelte-1q8jizq" aria-hidden="true"><p class="reroll-prev-line svelte-1q8jizq"> </p></div>'),br=M("<!> <!>",1),xr=M('<span class="streaming-caret svelte-1q8jizq" aria-hidden="true">▍</span>'),wr=M("<!> <!>",1),qr=M('<details class="plan-details svelte-1q8jizq"><summary class="svelte-1q8jizq"> </summary> <pre class="plan-stream svelte-1q8jizq"> </pre></details>'),Sr=M('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Planning intent… <!></div>'),kr=M('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Resolving address…</div>'),Nr=M("<!> <!>",1),jr=M('<span class="region-head-meta svelte-1q8jizq"> </span>'),Ar=M('<span class="region-head-meta svelte-1q8jizq">awaiting geocode…</span>'),Er=M('<div style="position: relative; flex: 1; min-height: 0;" class="svelte-1q8jizq"><!> <!></div>'),Cr=M('<section class="app-region app-region-evidence svelte-1q8jizq" aria-label="Asset registers"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq"> </span> <span class="region-head-meta svelte-1q8jizq">subway · NYCHA · schools · hospitals (only those with hits)</span></header> <div class="register-grid svelte-1q8jizq"></div></section>'),Tr=M('<section class="hero-band svelte-1q8jizq"><div class="hero-band-inner svelte-1q8jizq"><div class="app-shell-top is-desktop svelte-1q8jizq"><main id="region-briefing" class="app-region app-region-brief svelte-1q8jizq" aria-labelledby="brief-h1"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Briefing</span> <!></header> <h1 id="brief-h1" class="brief-h1 svelte-1q8jizq">Flood-exposure briefing <span class="brief-h1-addr svelte-1q8jizq"> </span></h1> <!></main> <div class="app-region-side svelte-1q8jizq" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map svelte-1q8jizq" aria-label="Map region"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Map</span> <!></header> <!></aside> <aside class="app-region app-region-cites svelte-1q8jizq" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom svelte-1q8jizq"><!> <section id="region-trace" class="app-region app-region-trace svelte-1q8jizq" aria-label="Trace"><!></section></div></div></section>');function Ir(n,t){ot(t,!0);let a=ue(()=>jt.params.queryId??""),s=ue(()=>()=>{try{return decodeURIComponent(e(a))}catch{return e(a)}}),u=z(null),m=z(""),g=z(""),q=z(null),h=z(!1),i=z(0),o=2,p=z(!1),b=z(!1),F=z(""),A=z(null),Y=z(he([])),P=ue(()=>{var c,r,_,v;return{empirical:((c=e(re))==null?void 0:c.features.length)??0,modeled:((r=e(oe))==null?void 0:r.features.length)??0,synthetic:((_=e(ae))==null?void 0:_.features.length)??0,proxy:((v=e(le))==null?void 0:v.features.length)??0}}),R=z(he({id:"root",name:"briefing.run",status:"ok",ms:0,tier:null,children:[]}));const V=new Set(["ttm_forecast","ttm_311_forecast","floodnet_forecast"]),Q="group-ttm-r2";function pe(c,r,_,v){if(v==="error")return _??void 0;if(v==="silent")return _??"no data";if(r==null||typeof r!="object")return;const N=r,y={sandy_inundation:["inside"],dep_stormwater:["dep_extreme_2080","dep_moderate_2050"],floodnet:["n_sensors","n_events_3y"],nyc311:["n"],noaa_tides:["observed_ft_mllw","residual_ft","station"],nws_alerts:["n_active"],nws_obs:["p1h_mm","p6h_mm","station"],ttm_forecast:["forecast_peak_ft","forecast_peak_min_ahead"],ttm_311_forecast:["forecast_mean","forecast_peak","accelerating"],ida_hwm_2021:["n_within_800m","max_height_above_gnd_ft"],prithvi_eo_v2:["inside_water_polygon","nearest_distance_m"],prithvi_eo_live:["scene_date","pct_water_500m"],microtopo_lidar:["elev_m","pct_200m","relief_m"],mta_entrance_exposure:["n_entrances","n_inside_sandy_2012","n_in_dep_extreme_2080"],nycha_development_exposure:["n_developments","n_majority_inside_sandy_2012"],doe_school_exposure:["n_schools","n_inside_sandy_2012"],doh_hospital_exposure:["n_hospitals","n_inside_sandy_2012"],floodnet_forecast:["sensor_id","distance_m","forecast_28d","accelerating"],terramind_synthesis:["tim_chain","dem_mean_m"],rag_granite_embedding:["hits"],gliner_extract:["sources"]}[c],C=[];if(y){for(const T of y)if(N[T]!==void 0&&C.push(W(T,N[T])),C.length>=3)break}else for(const[T,x]of Object.entries(N))if(x!==null&&typeof x!="object"&&(C.push(W(T,x)),C.length>=2))break;return C.join(" · ")||void 0}function ee(c){const r=[],_=c.mta_entrances;if(_&&Array.isArray(_.entrances))for(const y of _.entrances){const C=Number(y.entrance_lat),T=Number(y.entrance_lon);!Number.isFinite(C)||!Number.isFinite(T)||r.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"subway",name:`${y.station_name??"?"} (${y.daytime_routes??"?"})`,doc_id:`mta_entrance_${y.station_id??""}`,inside_sandy_2012:y.inside_sandy_2012===!0}})}const v=c.doe_schools;if(v&&Array.isArray(v.schools))for(const y of v.schools){const C=Number(y.school_lat),T=Number(y.school_lon);!Number.isFinite(C)||!Number.isFinite(T)||r.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"school",name:String(y.loc_name??y.school_name??"?"),doc_id:`doe_school_${y.loc_code??""}`,inside_sandy_2012:y.inside_sandy_2012===!0}})}const N=c.nycha_developments;if(N&&Array.isArray(N.developments))for(const y of N.developments){const C=Number(y.centroid_lat),T=Number(y.centroid_lon);if(!Number.isFinite(C)||!Number.isFinite(T))continue;const x=Number(y.pct_inside_sandy_2012??0);r.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"nycha",name:String(y.development??"?"),doc_id:`nycha_dev_${y.tds_num??""}`,inside_sandy_2012:x>=50,pct_inside_sandy:x}})}const S=c.doh_hospitals;if(S&&Array.isArray(S.hospitals))for(const y of S.hospitals){const C=Number(y.hospital_lat),T=Number(y.hospital_lon);!Number.isFinite(C)||!Number.isFinite(T)||r.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"hospital",name:String(y.facility_name??"?"),doc_id:`nyc_hospital_${y.fac_id??""}`,inside_sandy_2012:y.inside_sandy_2012===!0}})}return{type:"FeatureCollection",features:r}}function D(c){return{type:"FeatureCollection",features:[]}}function O(c){return 1+(c.children??[]).reduce((_,v)=>_+O(v),0)}function W(c,r){if(typeof r=="number"){const _=Number.isInteger(r)?`${r}`:r.toFixed(2);return`${c}=${_}`}if(typeof r=="boolean")return`${c}=${r}`;if(typeof r=="string"){const _=r.length>24?r.slice(0,22)+"…":r;return`${c}=${_}`}return c}let G=z(he({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),I=z(null),te=z(null),ve=z(void 0),qe=z(void 0),re=z(void 0),oe=z(void 0),ae=z(void 0),le=z(void 0),J=z(he([])),se=z(he({})),ne=[];function De(){var N;if(!e(g)){w(J,[],!0),w(se,{},!0),ne=[];return}const c={};(N=e(q))!=null&&N.citations&&e(q).citations.forEach((S,y)=>{c[S.doc_id]=ut(y+1,S.doc_id,{source:S.source,title:S.title,url:S.url,vintage:S.vintage})});const r=pr(e(g),c),_={};let v=1;for(const S of ne){const y=r.citations[S];y&&(_[S]={...y,n:v++})}for(const[S,y]of Object.entries(r.citations))_[S]||(_[S]={...y,n:v++},ne.push(S));w(J,r.blocks,!0),w(se,_,!0)}Ke(()=>{e(g),e(q),De()}),Ke(()=>{if(!e(I))return;const{lat:c,lon:r,source:_}=e(I);_==="nta"&&e(te)?(fr(e(te)).then(v=>w(re,v,!0)),mr(e(te)).then(v=>w(oe,v,!0)),at(c,r,2500).then(v=>w(ae,v,!0)),nt(c,r,3e3).then(v=>w(le,v,!0))):(vr(c,r).then(v=>w(re,v,!0)),_r(c,r).then(v=>w(oe,v,!0)),at(c,r).then(v=>w(ae,v,!0)),nt(c,r).then(v=>w(le,v,!0)))}),Nt(()=>{if(Ve.reset(),!e(s)())return;const c=dr(e(s)(),{onPlanToken:r=>w(m,e(m)+r),onPlan:r=>w(u,r,!0),onStep:r=>{if(r.step==="geocode")if(r.ok&&r.result&&typeof r.result=="object"){const x=r.result;if(typeof x.lat=="number"&&typeof x.lon=="number"){const j=typeof x.address=="string"?x.address:e(s)();w(I,{label:j,lat:x.lat,lon:x.lon,source:"geocode"},!0),w(b,!0)}}else w(A,"geocoder");if(r.step==="nta_resolve"&&r.ok&&r.result&&typeof r.result=="object"){const x=r.result,j=Array.isArray(x.bbox)?x.bbox:null,B=typeof x.nta_code=="string"?x.nta_code:null;if(j&&j.length===4&&B){w(te,B,!0);const X=(j[0]+j[2])/2,U=(j[1]+j[3])/2,Z=typeof x.nta_name=="string"?x.nta_name:e(s)();w(I,{label:Z,lat:U,lon:X,source:"nta"},!0)}}const _=Ct(r.step),v=r.ok?r.result==null&&r.err==null?"silent":"ok":"error",N=Math.round((r.elapsed_s??0)*1e3),S=r.result!=null?r.result:r.err??null,y=pe(r.step,r.result,r.err,v),C={id:`step-${O(e(R))}`,name:r.step,status:v,ms:N,tier:_,note:y,output:S,error:v==="error"?r.err??"unknown error":void 0,model:V.has(r.step)?"granite-timeseries-ttm-r2":void 0},T={...e(R),ms:(e(R).ms??0)+N};if(V.has(r.step)){const x=[...T.children??[]];let j=x.find(U=>U.id===Q);j||(j={id:Q,name:"forecasting.granite-timeseries-ttm-r2",status:"fan",ms:0,tier:"modeled",note:"1 instance",model:"granite-timeseries-ttm-r2",children:[]},x.push(j));const B=[...j.children??[],C],X={...j,ms:(j.ms??0)+N,note:`${B.length} instance${B.length===1?"":"s"}`,children:B};w(R,{...T,children:x.map(U=>U.id===Q?X:U)},!0)}else w(R,{...T,children:[...T.children??[],C]},!0)},onAttemptStart:r=>{w(i,r,!0),r>1&&(w(F,e(g),!0),w(g,""),ne=[])},onToken:r=>{e(p)||(w(p,!0),e(i)===0&&w(i,1)),w(g,e(g)+r)},onMelleaAttempt:r=>{r.attempt>0&&w(i,r.attempt,!0)},onFinal:r=>{w(q,r,!0),r.paragraph&&w(g,r.paragraph,!0),w(Y,cr(r),!0),w(ve,ee(r),!0),w(qe,D(),!0);const v=r.mellea;v&&v.failed&&v.failed.length>0&&v.attempts&&v.attempts>=o&&w(A,"grounding")},onError:r=>{const _=r.toLowerCase();(_.includes("connection")||_.includes("502")||_.includes("503")||_.includes("timeout")||_.includes("routing"))&&w(A,"backend")},onDone:()=>{var r,_,v,N,S;w(h,!0),!e(p)&&!e(A)&&e(b)&&w(A,"all-silent"),!e(A)&&e(J).length>0&&($t({queryId:e(a),queryText:e(s)(),intent:((r=e(u))==null?void 0:r.intent)??null,specialists:((v=(_=e(u))==null?void 0:_.specialists)==null?void 0:v.length)??0,blocks:e(J),citations:e(se),generatedAt:new Date().toISOString(),attempts:((S=(N=e(q))==null?void 0:N.mellea)==null?void 0:S.attempts)??e(i)}),Ve.markReady())}});return()=>c.close()});var ie=Tr(),Se=d(ie),ce=d(Se),_e=d(ce),fe=d(_e),Oe=f(d(fe),2);{var me=c=>{var r=hr(),_=d(r),v=f(_);{var N=S=>{var y=kt("· ✓ done");k(S,y)};H(v,S=>{e(h)&&S(N)})}l(r),L(()=>{var S;return E(_,`intent: ${e(u).intent??""} · ${((S=e(u).specialists)==null?void 0:S.length)??0??""} specialists · attempt ${e(i)??""} `)}),k(c,r)},Le=c=>{var r=gr();k(c,r)};H(Oe,c=>{e(u)?c(me):c(Le,-1)})}l(fe);var Re=f(fe,2),He=f(d(Re)),pt=d(He,!0);l(He),l(Re);var vt=f(Re,2);{var _t=c=>{Zt(c,{get state(){return e(A)}})},ft=c=>{var r=Nr(),_=de(r);{var v=x=>{var j=br(),B=de(j);Bt(B,{get attempt(){return e(i)},max:o});var X=f(B,2);{var U=Z=>{var K=yr(),ke=d(K),Ne=d(ke);l(ke),l(K),L(Be=>E(Ne,`${Be??""}…`),[()=>e(F).slice(0,360)]),k(Z,K)};H(X,Z=>{e(F)&&Z(U)})}k(x,j)};H(_,x=>{e(i)>1&&x(v)})}var N=f(_,2);{var S=x=>{var j=wr(),B=de(j);Tt(B,{get blocks(){return e(J)},get citations(){return e(se)},streaming:!1});var X=f(B,2);{var U=Z=>{var K=xr();k(Z,K)};H(X,Z=>{e(h)||Z(U)})}k(x,j)},y=x=>{Yt(x)},C=x=>{var j=Sr(),B=f(d(j),2);{var X=U=>{var Z=qr(),K=d(Z),ke=d(K);l(K);var Ne=f(K,2),Be=d(Ne,!0);l(Ne),l(Z),L(()=>{E(ke,`Planner streaming (${e(m).length??""} chars)`),E(Be,e(m))}),k(U,Z)};H(B,U=>{e(m)&&U(X)})}l(j),k(x,j)},T=x=>{var j=kr();k(x,j)};H(N,x=>{e(J).length?x(S):e(b)&&!e(p)?x(y,1):e(u)?x(T,-1):x(C,2)})}k(c,r)};H(vt,c=>{e(A)?c(_t):c(ft,-1)})}l(_e);var Ge=f(_e,2),Ye=d(Ge),Ie=d(Ye),mt=f(d(Ie),2);{var ht=c=>{var r=jr(),_=d(r);l(r),L((v,N)=>E(_,`Carto Positron · z15 · ${v??""}°N ${N??""}°W`),[()=>e(I).lat.toFixed(4),()=>Math.abs(e(I).lon).toFixed(4)]),k(c,r)},gt=c=>{var r=Ar();k(c,r)};H(mt,c=>{e(I)?c(ht):c(gt,-1)})}l(Ie);var yt=f(Ie,2);{var bt=c=>{var r=Er(),_=d(r);Ft(_,{get address(){return e(I)},get activeLayers(){return e(G)},get sandyEmpirical(){return e(re)},get depModeled(){return e(oe)},get syntheticPrior(){return e(ae)},get proxy311(){return e(le)},get registerPoints(){return e(ve)},get registerPolygons(){return e(qe)}});var v=f(_,2);Pt(v,{get active(){return e(G)},get featureCounts(){return e(P)},onToggle:N=>w(G,{...e(G),[N]:!e(G)[N]},!0)}),l(r),k(c,r)};H(yt,c=>{e(I)&&c(bt)})}l(Ye);var Ze=f(Ye,2),xt=d(Ze);zt(xt,{get citations(){return e(se)}}),l(Ze),l(Ge),l(ce);var Je=f(ce,2),We=d(Je);{var wt=c=>{var r=Cr(),_=d(r),v=d(_),N=d(v);l(v),Ee(2),l(_);var S=f(_,2);Ce(S,21,()=>e(Y),Ue,(y,C)=>{ar(y,{get data(){return e(C)}})}),l(S),l(r),L(()=>E(N,`Registers · ${e(Y).length??""}`)),k(c,r)};H(We,c=>{e(Y).length&&c(wt)})}var Xe=f(We,2),qt=d(Xe);Mt(qt,{get root(){return e(R)}}),l(Xe),l(Je),l(Se),l(ie),L(c=>E(pt,c),[()=>e(s)()]),k(n,ie),lt()}export{Ir as component,Yr as universal};
 
 
web/sveltekit/build/_app/immutable/nodes/4.DKy6jurO.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{d as De,s as z,a as M,f as L,c as Ct,b as Mt,t as qt}from"../chunks/Dlpu43Tj.js";import{c as x,s as S,r as w,v as ze,t as W,k as a,f as ge,J as Q,p as Ft,j as N,L as ie,K as Pe,l as _,G as Lt,a as Et}from"../chunks/DwbuJhNu.js";import{p as Xe,i as H}from"../chunks/8F5LpR-T.js";import{p as jt}from"../chunks/BPL6dYL1.js";import{T as st,t as ot,a as Pt,B as Ot}from"../chunks/CtphE0zf.js";import{C as Dt,F as zt,R as Yt,M as Rt}from"../chunks/TTdyitJv.js";import"../chunks/DFFHaukH.js";import{b as ae,e as lt,a as Oe,s as Bt,i as Ht}from"../chunks/CBcGqa-S.js";import{b as Qe,p as Gt}from"../chunks/DNaFzQeI.js";const Ut=!1,Wt=!1,or=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ut,ssr:Wt},Symbol.toStringTag,{value:"Module"}));De(["click"]);De(["click"]);var Kt=L('<div class="skeleton-section"><div class="skeleton-head"><span class="skeleton-num"> </span> <span class="skeleton-label"> </span> <span class="skeleton-spinner" aria-hidden="true">▍</span></div> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span></div>'),Zt=L('<div class="skeleton-brief" role="status" aria-live="polite" aria-label="Loading briefing — geocode complete, dispatching specialists"><div class="skeleton-status"><span class="skeleton-pulse"></span> <span class="skeleton-pulse skeleton-pulse-meta"></span></div> <!></div>');function Jt(n){const e=[{n:"01",label:"Status"},{n:"02",label:"Empirical evidence"},{n:"03",label:"Modeled scenarios"},{n:"04",label:"Policy context"}];var t=Zt(),r=x(t),l=x(r);ae(l,"",{},{width:"62%"});var p=S(l,2);ae(p,"",{},{width:"40%"}),w(r);var o=S(r,2);lt(o,1,()=>e,y=>y.n,(y,m)=>{var s=Kt(),c=x(s),h=x(c),E=x(h,!0);w(h);var Y=S(h,2),j=x(Y,!0);w(Y),ze(2),w(c);var G=S(c,2);ae(G,"",{},{width:"92%"});var F=S(G,2);ae(F,"",{},{width:"78%"});var R=S(F,2);ae(R,"",{},{width:"85%"}),w(s),W(()=>{z(E,a(m).n),z(j,a(m).label)}),M(y,s)}),w(t),M(n,t)}var Vt=L('<div class="reroll-banner" role="status" aria-live="polite"><!> <div class="reroll-body"><span class="reroll-head">Regenerating to satisfy citation grounding</span> <span class="reroll-sub"> </span></div> <span class="reroll-spinner" aria-hidden="true">↻</span></div>');function Xt(n,e){let t=Xe(e,"attempt",3,2),r=Xe(e,"max",3,3);var l=Vt(),p=x(l);st(p,{tier:"modeled",size:11,color:"var(--tier-modeled)"});var o=S(p,2),y=S(x(o),2),m=x(y);w(y),w(o),ze(2),w(l),W(()=>z(m,`Mellea reconciler · attempt ${t()??""} of ${r()??""} · previous draft dimmed below`)),M(n,l)}var Qt=L("<a> </a>"),en=L('<button type="button"> </button>'),tn=L('<article role="alert" aria-live="assertive"><header class="error-card-head"><!> <span class="error-card-eyebrow"> </span></header> <h3 class="error-card-headline"> </h3> <p class="error-card-body"> </p> <div class="error-card-actions"></div> <footer class="error-card-foot"><span class="section-label">Trust signals · still on</span> <span class="error-card-foot-copy">All foundation models Apache-2.0 · No commercial APIs at runtime</span></footer></article>');function nn(n,e){const t={geocoder:{eyebrow:"Address not resolved",headline:"We couldn't resolve that to a NYC address.",body:`Try a more specific street address — for example, "80 Pioneer Street, Brooklyn." Riprap covers the five boroughs only; international addresses, NJ addresses, and points outside NYC aren't supported.`,tier:"proxy",defaultActions:["Use a sample query","Edit query"]},"all-silent":{eyebrow:"Outside evidence coverage",headline:"No specialists found evidence at this point.",body:"The address resolved, but every flood-evidence specialist returned silent. This is rare and usually means parkland, water, or a point with no nearby 311, no FloodNet sensor, and no Sandy overlap. Try a nearby street address or expand to neighborhood-mode.",tier:"proxy",defaultActions:["Try nearby address","Switch to neighborhood-mode"]},grounding:{eyebrow:"Grounding failure",headline:"Briefing prose couldn't be composed within citation constraints.",body:"Mellea rejected all reroll attempts. The underlying evidence is fine — only the prose composition failed. Download the structured evidence below, or contact support.",tier:"modeled",defaultActions:["Download evidence (JSON)","Contact support","Try again"]},backend:{eyebrow:"Backend unavailable",headline:"All routing targets exhausted.",body:"LiteLLM tried Local Ollama → HF Space T4 → AMD MI300X and didn't reach a healthy backend. This usually clears within 5 minutes during a deploy window. The hardware-pill in the header is currently red.",tier:"proxy",defaultActions:["Retry now","Switch backend"]}};let r=Q(()=>t[e.state]),l=Q(()=>e.actions??a(r).defaultActions.map(G=>({label:G})));var p=tn(),o=x(p),y=x(o);st(y,{get tier(){return a(r).tier},size:11,get color(){return`var(--tier-${a(r).tier??""})`}});var m=S(y,2),s=x(m,!0);w(m),w(o);var c=S(o,2),h=x(c,!0);w(c);var E=S(c,2),Y=x(E,!0);w(E);var j=S(E,2);lt(j,21,()=>a(l),Ht,(G,F,R)=>{var ee=Ct(),$e=ge(ee);{var Ne=U=>{var P=Qt();Oe(P,1,"error-card-action",null,{},{"is-primary":R===0});var te=x(P,!0);w(P),W(()=>{Bt(P,"href",a(F).href),z(te,a(F).label)}),M(U,P)},le=U=>{var P=en();Oe(P,1,"error-card-action",null,{},{"is-primary":R===0});var te=x(P,!0);w(P),W(()=>z(te,a(F).label)),Mt("click",P,function(...Ae){var ce;(ce=a(F).onClick)==null||ce.apply(this,Ae)}),M(U,P)};H($e,U=>{a(F).href?U(Ne):U(le,-1)})}M(G,ee)}),w(j),ze(2),w(p),W(()=>{Oe(p,1,`error-card error-card-${e.state??""}`),z(s,e.eyebrowOverride??a(r).eyebrow),z(h,e.headlineOverride??a(r).headline),z(Y,e.bodyOverride??a(r).body)}),M(n,p)}De(["click"]);const V="2026-05";function rn(n){return n==="fan"||n==="merge"?"ok":n==="silent"?"silent":n==="error"?"error":"ok"}function ct(n){return[n,...(n.children??[]).flatMap(ct)]}function an(n){const e=n.toLowerCase();return e==="sandy_inundation"||e==="sandy"||e==="dep_stormwater"||e==="dep"||e==="ida_hwm_2021"||e==="ida_hwm"||e==="prithvi_eo_v2"||e==="prithvi_water"||e==="microtopo_lidar"||e==="microtopo"?"cornerstone":e==="mta_entrance_exposure"||e==="mta_entrances"||e==="nycha_development_exposure"||e==="nycha_developments"||e==="doe_school_exposure"||e==="doe_schools"||e==="doh_hospital_exposure"||e==="doh_hospitals"||e==="terramind_synthesis"||e==="terramind"||e==="terramind_buildings"||e==="eo_chip_fetch"?"keystone":e==="floodnet"||e==="nyc311"||e==="nws_obs"||e==="noaa_tides"||e==="prithvi_eo_live"||e==="prithvi_live"||e==="terramind_lulc"?"touchstone":e==="nws_alerts"||e==="ttm_forecast"||e==="ttm_311_forecast"||e==="floodnet_forecast"||e==="ttm_battery_surge"?"lodestone":e.startsWith("reconcile")||e.startsWith("mellea")||e==="rag_granite_embedding"||e==="gliner_extract"?"capstone":null}function sn(n){const e={cornerstone:[],keystone:[],touchstone:[],lodestone:[],capstone:[]};if(n)for(const t of ct(n)){const r=an(t.name);r&&e[r].push({id:t.id||t.name,name:t.name,status:rn(t.status),tier:t.tier,ms:t.ms,note:t.note??t.error??void 0})}return Object.keys(e).map(t=>({key:t,members:e[t]}))}function b(n){return typeof n=="number"&&Number.isFinite(n)?n:null}function A(n){return typeof n=="string"?n:null}function q(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function on(n,e){return n.sandy!==!0?null:{id:"fsm-sandy",stone:"cornerstone",tier:"empirical",variant:"headline",source:"NYC OEM",agency:"NYC OpenData 5xsi-dfpx · Sandy 2012 inundation",vintage:"2012-10-29",title:"Hurricane Sandy 2012 inundation",headline:"Inside zone",subhead:(e&&A(e.address))??"address inside the empirical 2012 extent",body:"Address sits within the empirical Hurricane Sandy 2012 inundation extent. This is a historical fact, not a model prediction.",docId:"sandy",citeId:"sandy",mapLayer:"sandy"}}function ln(n){const e=q(n.dep);if(!e)return null;const t=[];for(const[r,l]of Object.entries(e)){const p=q(l);if(!p)continue;const o=b(p.depth_class)??0;o<=0||t.push([r.replace("dep_",""),A(p.depth_label)??"—",`class ${o}`])}return t.length?{id:"fsm-dep",stone:"cornerstone",tier:"modeled",variant:"tabular",source:"NYC DEP",agency:"NYC Department of Environmental Protection · Stormwater Flood Maps",vintage:"2021",title:"Stormwater flood scenarios at this address",columns:["scenario","depth label","class"],rows:t,sub:`${t.length} scenario${t.length===1?"":"s"} place this lot in modeled flooding`,docId:"dep_stormwater",citeId:"dep",mapLayer:"stormwater"}:null}function cn(n){const e=q(n.ida_hwm);if(!e)return null;const t=b(e.n_within_radius);if(!t||t<=0)return null;const r=[];return r.push(["count",`${t}`,`${b(e.radius_m)??800} m radius`]),b(e.max_height_above_gnd_ft)!=null&&r.push(["max above gnd",`${e.max_height_above_gnd_ft} ft`,"—"]),b(e.nearest_dist_m)!=null&&r.push(["nearest",A(e.nearest_site)??"HWM",`${e.nearest_dist_m} m`]),{id:"fsm-ida-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"USGS STN Hurricane Ida 2021 high-water marks (Event 312)",vintage:"2021-09",title:"Hurricane Ida 2021 high-water marks nearby",columns:["field","value","context"],rows:r,docId:"ida_hwm",citeId:"ida_hwm",mapLayer:"hwm"}}function dn(n){const e=q(n.prithvi_water);if(!e)return null;const t=b(e.nearest_distance_m);return t==null?null:{id:"fsm-prithvi-water",stone:"cornerstone",tier:"modeled",variant:"raster",source:"Prithvi-EO 2.0",agency:"IBM/NASA Prithvi-EO 2.0 · baked Hurricane Ida 2021 polygons",vintage:"2021-09-02",title:"Hurricane Ida 2021 — satellite-attributable inundation",rasterKind:"prithvi",headline:e.inside_water_polygon?"Inside polygon":`${t} m away`,subhead:"pre/post HLS Sentinel-2 segmentation",sub:`${b(e.n_polygons_within_500m)??0} distinct polygons within 500 m`,docId:"prithvi_water",citeId:"prithvi_water",mapLayer:"prithvi"}}function un(n){const e=q(n.microtopo);if(!e)return null;const t=b(e.point_elev_m);if(t==null)return null;const r=[{value:`${t.toFixed(1)} m`,label:"elevation"}];return b(e.hand_m)!=null&&r.push({value:`${e.hand_m.toFixed(1)} m`,label:"HAND"}),b(e.twi)!=null&&r.push({value:`${e.twi.toFixed(1)}`,label:"TWI"}),b(e.rel_elev_pct_200m)!=null&&r.push({value:`${e.rel_elev_pct_200m}%`,label:"pct lower 200m"}),{id:"fsm-microtopo",stone:"cornerstone",tier:"proxy",variant:"scalars",source:"USGS 3DEP",agency:"USGS 3DEP DEM (LiDAR-derived) + whitebox-workflows hydrology",vintage:"2018",title:"Microtopography at this point",scalars:r,sub:"Lower percentile = topographic low point; runoff routes here.",docId:"microtopo",citeId:"microtopo"}}function pn(n){const e=[],t=q(n.mta_entrances);if(t!=null&&t.available&&Array.isArray(t.entrances))for(const o of t.entrances.slice(0,4))e.push({reg:"MTA",tier:"empirical",label:A(o.station_name)??A(o.entrance_id)??"entrance",detail:`${b(o.distance_m)??"—"} m · ${A(o.daytime_routes)??""}`.trim(),sourceId:A(o.station_id)??"MTA",note:null});else t&&t.available===!1&&e.push({reg:"MTA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no subway entrances within 1.0 mi (silent)"});const r=q(n.nycha_developments);if(r!=null&&r.available&&Array.isArray(r.developments))for(const o of r.developments.slice(0,3))e.push({reg:"NYCHA",tier:"empirical",label:A(o.development)??"development",detail:`${b(o.distance_m)??"—"} m · ${A(o.borough)??""}`.trim(),sourceId:A(o.tds_num)??null,note:null});else r&&r.available===!1&&e.push({reg:"NYCHA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no NYCHA developments within 1.0 mi (silent)"});const l=q(n.doe_schools);if(l!=null&&l.available&&Array.isArray(l.schools))for(const o of l.schools.slice(0,3))e.push({reg:"DOE",tier:"empirical",label:A(o.loc_name)??"school",detail:`${b(o.distance_m)??"—"} m · ${A(o.borough)??""}`.trim(),sourceId:A(o.loc_code)??null,note:null});else l&&l.available===!1&&e.push({reg:"DOE",tier:"empirical",label:null,detail:null,sourceId:null,note:"no schools within 1.0 mi (silent)"});const p=q(n.doh_hospitals);if(p!=null&&p.available&&Array.isArray(p.hospitals))for(const o of p.hospitals.slice(0,3))e.push({reg:"DOH",tier:"empirical",label:A(o.facility_name)??"hospital",detail:`${b(o.distance_m)??"—"} m · ${A(o.borough)??""}`.trim(),sourceId:A(o.fac_id)??null,note:null});else p&&p.available===!1&&e.push({reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,note:"no acute-care hospital within 1.0 mi (silent)"});return e.length?{id:"fsm-registers",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:V,title:"Nearby exposed assets",registers:e,sub:`${e.filter(o=>o.label).length} of ${e.length} registers fired · joined within 1.0 mi`,docId:"registers",citeId:"registers",mapLayer:"registers"}:null}function mn(n){const e=q(n.terramind_buildings);return e!=null&&e.ok?{id:"fsm-tm-buildings",stone:"keystone",tier:"modeled",variant:"raster-pred",source:"TerraMind-NYC",agency:"msradam/TerraMind-NYC-Adapters · Buildings LoRA",vintage:"2026",title:"NYC building footprints — TerraMind LoRA",rasterKind:"buildings",headline:`${b(e.pct_buildings)??0}%`,subhead:"building-footprint coverage in chip",sub:`${b(e.n_building_components)??0} distinct components · test mIoU 0.5511`,illustrative:!0,docId:"tm_buildings",citeId:"tm_buildings",mapLayer:"buildings"}:null}function fn(n){const e=q(n.floodnet);if(!e||(b(e.n_sensors)??0)<=0)return null;const t=b(e.n_flood_events_3y)??0;return{id:"fsm-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC ultrasonic depth sensor network",vintage:"2026",title:"FloodNet sensors near this address",headline:`${t} events`,subhead:`${b(e.n_sensors)??0} sensors · last 3 y`,spark:Array.from({length:24},(r,l)=>Math.max(0,Math.round(t/24*1.4*Math.exp(-Math.pow((l-14)/4,2))+t/24))),sparkSub:"Above-curb depth events ≥ 2 cm. Synthetic monthly distribution; raw deployment-id history is in the audit panel.",docId:"floodnet",citeId:"floodnet",mapLayer:"floodnet"}}function _n(n){var y;const e=q(n.nyc311);if(!e)return null;const t=b(e.n)??0;if(t<=0)return null;const r=q(e.by_year),l=q(e.by_descriptor),p=r?Object.values(r).map(m=>b(m)??0):Array.from({length:12},()=>Math.round(t/12)),o=l?(y=Object.entries(l).sort((m,s)=>(b(s[1])??0)-(b(m[1])??0))[0])==null?void 0:y[0]:null;return{id:"fsm-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests (Socrata erm2-nwe9)",vintage:V,title:"Recent 311 flood complaints",headline:`${t} calls`,subhead:o?`top descriptor: ${o}`:"all flood-related descriptors",histogram:p,sparkSub:`Within ${b(e.radius_m)??200} m · ${b(e.years)??5} y window. Filtered to flood-relevant descriptors.`,docId:"nyc311",citeId:"nyc311",mapLayer:"complaints"}}function hn(n){var r;const e=q(n.nws_obs);if(!e||e.error||e.station_id==null)return null;const t=[];return b(e.precip_last_hour_mm)!=null&&t.push({value:`${e.precip_last_hour_mm} mm`,label:"precip · 1h"}),b(e.precip_last_6h_mm)!=null&&t.push({value:`${e.precip_last_6h_mm} mm`,label:"precip · 6h"}),t.length?{id:"fsm-nws-obs",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS",agency:`NWS ASOS station ${A(e.station_id)??"?"}`,vintage:((r=A(e.obs_time))==null?void 0:r.slice(0,10))??V,title:"Recent precipitation",scalars:t,sub:`Nearest hourly METAR: ${A(e.station_name)??"?"} (${b(e.distance_km)??"?"} km).`,docId:"nws_obs",citeId:"nws_obs",mapLayer:"nws"}:null}function vn(n){var r;const e=q(n.noaa_tides);if(!e||e.error||b(e.observed_ft_mllw)==null)return null;const t=[{value:`${e.observed_ft_mllw} ft`,label:"observed (MLLW)"}];return b(e.predicted_ft_mllw)!=null&&t.push({value:`${e.predicted_ft_mllw} ft`,label:"predicted"}),b(e.residual_ft)!=null&&t.push({value:`${e.residual_ft} ft`,label:"residual"}),{id:"fsm-noaa",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NOAA CO-OPS",agency:`NOAA tide gauge ${A(e.station_name)??A(e.station_id)??"?"}`,vintage:((r=A(e.obs_time))==null?void 0:r.slice(0,10))??V,title:"Live water level (nearest tide gauge)",scalars:t,sub:"Residual = observed − astronomical tide; positive residual is wind / surge component.",docId:"noaa_tides",citeId:"noaa_tides",mapLayer:"noaa"}}function gn(n){var t;const e=q(n.prithvi_live);return e!=null&&e.ok?{id:"fsm-prithvi-live",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC v2",agency:"msradam/Prithvi-EO-2.0-NYC-Pluvial · v2 fine-tune",vintage:((t=A(e.item_datetime))==null?void 0:t.slice(0,10))??V,title:"Live Sentinel-2 pluvial flood prediction",rasterKind:"prithvi",headline:`${b(e.pct_water_within_500m)??0}%`,subhead:`water within 500 m · cloud ${b(e.cloud_cover)??"?"}%`,sub:"Test flood IoU 0.5979 on held-out NYC chips. Model interpretation, not a measurement.",illustrative:!0,docId:"prithvi_live",citeId:"prithvi_live",mapLayer:"prithvi"}:null}function yn(n){const e=q(n.terramind_lulc);return e!=null&&e.ok?{id:"fsm-tm-lulc",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"TerraMind-NYC",agency:"msradam/TerraMind-NYC-Adapters · LULC LoRA",vintage:"2026",title:"Land-cover (current Sentinel-2 chip)",rasterKind:"lulc",headline:A(e.dominant_class)??"dominant class",subhead:`${b(e.dominant_pct)??0}% of chip`,sub:"Test mIoU 0.5866 on held-out NYC chips.",illustrative:!0,docId:"tm_lulc",citeId:"tm_lulc",mapLayer:"lulc"}:null}function bn(n){const e=q(n.ttm_forecast);if(!(e!=null&&e.available)||!e.interesting)return null;const t=b(e.forecast_peak_ft),r=b(e.forecast_peak_minutes_ahead);return t==null||r==null?null:{id:"fsm-ttm-fc",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2",agency:"IBM Granite TimeSeries TTM r2 · zero-shot Battery surge",vintage:V,title:"Surge nowcast at the Battery — 9.6 h horizon",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:`${t} ft @ +${Math.round(r/60)}h`},headline:`${t} ft`,subhead:"peak surge residual",sub:"Zero-shot 6-min cadence. Distinct from the fine-tuned Battery surge nowcast.",spatialNote:"regional · Battery, not point-of-query",docId:"ttm_forecast",citeId:"ttm_forecast"}}function wn(n){const e=q(n.ttm_battery_surge);if(!(e!=null&&e.available)||!e.interesting)return null;const t=b(e.forecast_peak_m),r=b(e.forecast_peak_hours_ahead);return t==null||r==null?null:{id:"fsm-ttm-batt",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2 · NYC fine-tune",agency:"msradam/Granite-TTM-r2-Battery-Surge · 96 h horizon",vintage:V,title:"Battery storm-surge nowcast (96 h)",timeseries:{hours:96,peak:{x:r,y:Math.round(t*100)},peakLabel:`${(t*100).toFixed(0)} cm @ +${r}h`},headline:`${(t*100).toFixed(0)} cm`,subhead:`peak surge · +${r}h ahead`,sub:"Test MAE 0.1091 m, −41% vs persistence. Hourly cadence; applies city-wide via NOAA station 8518750.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery",citeId:"ttm_battery"}}function xn(n){const e=q(n.nws_alerts);if(!e)return null;const t=b(e.n_active)??0;if(t<=0)return null;const r=Array.isArray(e.alerts)?e.alerts:[];return{id:"fsm-nws-alerts",stone:"lodestone",tier:"modeled",variant:"tabular",source:"NWS",agency:"NWS Public Alerts API · flood-relevant filter",vintage:V,title:`${t} active flood-relevant alert${t===1?"":"s"}`,columns:["event","severity","expires"],rows:r.slice(0,4).map(l=>[A(l.event)??"?",A(l.severity)??"?",(A(l.expires)??"").slice(0,16)]),sub:"Live NWS feed. If a FLOOD or FLASH FLOOD WARNING is in this list, foreground it.",docId:"nws_alerts",citeId:"nws_alerts"}}function kn(n,e){var y,m,s;const t=n.mellea,r=((y=t==null?void 0:t.passed)==null?void 0:y.length)??0,l=((m=t==null?void 0:t.failed)==null?void 0:m.length)??0,p=r+l,o=(t==null?void 0:t.attempts)??0;return{id:"fsm-capstone-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · Granite 4.1 + Mellea grounding check",vintage:V,title:"Briefing reconciliation",metaRows:[{k:"Mellea reroll",v:`${o} attempt${o===1?"":"s"}`},{k:"Grounding checks",v:`${r} / ${p||4} passed`},{k:"Citations resolved",v:`${((s=n.citations)==null?void 0:s.length)??0}`},{k:"Wall-clock",v:e!=null?`${e.toFixed(1)} s`:"—"}],sub:"Capstone produces prose, not cards. This meta-card summarises the reconciler chain that wrote the briefing above.",docId:"capstone"}}function Sn(n,e,t){const r=n,l=q(r.geocode);return{cards:[on(r,l),ln(r),cn(r),dn(r),un(r),pn(r),mn(r),fn(r),_n(r),hn(r),vn(r),gn(r),yn(r),xn(r),bn(r),wn(r),kn(n,t)].filter(o=>o!=null),stones:sn(e),wallSeconds:t}}const ye={subway:"MTA · USGS · FEMA · NYC OEM · NYC DEP",nycha:"NYC HA · USGS · NYC OEM · NYC DEP",school:"NYC DOE · USGS · NYC OEM · NYC DEP",hospital:"NYS DOH · USGS · NYC OEM · NYC DEP"},be={subway:"subway entrances",nycha:"NYCHA developments",school:"public schools",hospital:"hospitals"};function we(n){return!n||!Number.isFinite(n)?"—":`${Math.round(n)}m`}function xe(n){return n==null||!Number.isFinite(n)?"—":`${(n*3.28084).toFixed(1)} ft`}function ke(n,e){return typeof e=="number"?e>=.5?`Inundated 2012 (${Math.round(e*100)}%)`:e>0?`Edge (${Math.round(e*100)}%)`:"—":n?"Inundated 2012":"—"}function Se(n,e,t){return typeof t=="number"?t>=.5?`≥${Math.round(t*100)}% in scenario`:t>0?`${Math.round(t*100)}% edge`:"minimal":n&&n.length?n:e&&e>0?`class ${e}`:"minimal"}function $n(n){return n?/elevator|easement|stair.*ramp/i.test(n):!1}function Nn(n){if(!n.available)return null;const t=(n.entrances??[]).map(r=>{const l=$n(r.entrance_type);return{name:`${r.station_name??"?"}${r.daytime_routes?` (${String(r.daytime_routes).split(/\s+/).slice(0,3).join("/")})`:""}`,elev:xe(r.elev_m),ada:l,fema:"Zone X",sandy:ke(r.inside_sandy_2012),dep:Se(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"subway",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}});return{type:be.subway,radius:we(n.radius_m),count:n.n_entrances??t.length,rows:t,sourceLabel:ye.subway}}function An(n){if(!n.available)return null;const t=(n.developments??[]).map(r=>{const l=r.pct_inside_sandy_2012,p=r.pct_in_dep_extreme_2080;return{name:`${r.development??"?"}${r.borough?` · ${r.borough}`:""}`,elev:xe(r.rep_elevation_m),ada:!1,fema:"—",sandy:ke(void 0,l),dep:Se(void 0,void 0,p),asset:"nycha",primaryTier:l&&l>0?"empirical":"modeled"}});return{type:be.nycha,radius:we(n.radius_m),count:n.n_developments??t.length,rows:t,sourceLabel:ye.nycha}}function In(n){if(!n.available)return null;const t=(n.schools??[]).map(r=>({name:`${r.school_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:xe(r.elev_m),ada:!1,fema:"—",sandy:ke(r.inside_sandy_2012),dep:Se(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"school",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:be.school,radius:we(n.radius_m),count:n.n_schools??t.length,rows:t,sourceLabel:ye.school}}function Tn(n){if(!n.available)return null;const t=(n.hospitals??[]).map(r=>({name:`${r.facility_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:xe(r.elev_m),ada:!0,fema:"—",sandy:ke(r.inside_sandy_2012),dep:Se(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"hospital",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:be.hospital,radius:we(n.radius_m),count:n.n_hospitals??t.length,rows:t,sourceLabel:ye.hospital}}function Cn(n){if(!n)return[];const e=[],t=Nn(n.mta_entrances??{});t&&t.rows.length&&e.push(t);const r=An(n.nycha_developments??{});r&&r.rows.length&&e.push(r);const l=In(n.doe_schools??{});l&&l.rows.length&&e.push(l);const p=Tn(n.doh_hospitals??{});return p&&p.rows.length&&e.push(p),e}function Mn(n,e){const t=`/api/agent/stream?q=${encodeURIComponent(n)}`,r=new EventSource(t);let l="",p;const o=/([.?!])(\s|$)/;function y(s=!1){var h,E;let c;for(;c=o.exec(l);){const Y=c.index+c[1].length+(c[2]?c[2].length:0),j=l.slice(0,Y).trim();l=l.slice(Y),j&&((h=e.onSentence)==null||h.call(e,j,p))}s&&l.trim()&&((E=e.onSentence)==null||E.call(e,l.trim(),p),l="")}function m(s,c){r.addEventListener(s,h=>{try{c(JSON.parse(h.data))}catch{}})}return m("hello",s=>{var c;return(c=e.onHello)==null?void 0:c.call(e,s.query)}),m("plan_token",s=>{var c;return(c=e.onPlanToken)==null?void 0:c.call(e,s.delta)}),m("plan",s=>{var c;return(c=e.onPlan)==null?void 0:c.call(e,s)}),m("step",s=>{var c;return(c=e.onStep)==null?void 0:c.call(e,s)}),m("token",s=>{var c,h;s.attempt!==p&&(p=s.attempt,l="",(c=e.onAttemptStart)==null||c.call(e,s.attempt??1)),(h=e.onToken)==null||h.call(e,s.delta,s.attempt),l+=s.delta,y(!1)}),m("mellea_attempt",s=>{var c;return(c=e.onMelleaAttempt)==null?void 0:c.call(e,s)}),m("final",s=>{var c;y(!0),(c=e.onFinal)==null||c.call(e,s)}),m("error",s=>{var c;return(c=e.onError)==null?void 0:c.call(e,s.err)}),r.addEventListener("done",()=>{var s;y(!0),(s=e.onDone)==null||s.call(e),r.close()}),r.addEventListener("error",()=>{var s;y(!0),(s=e.onError)==null||s.call(e,"SSE connection error"),r.close()}),{close:()=>r.close()}}const dt=[{key:"status",label:"Status",n:"01",aliases:["status"]},{key:"empirical",label:"Empirical evidence",n:"02",tier:"empirical",aliases:["empirical evidence","empirical"]},{key:"modeled",label:"Modeled scenarios",n:"03",tier:"modeled",aliases:["modeled scenarios","modeled"]},{key:"policy",label:"Policy context",n:"04",aliases:["policy context","policy"]}];function et(n){const e=n.toLowerCase().replace(/[.:]+\s*$/,"").trim();return dt.find(t=>t.aliases.includes(e))}const tt=/(^|\n)\s*(?:\*\*([A-Z][A-Za-z\s/]+?)\.\s*\*\*|#{1,3}\s*(0[1-4])\s*[:\-—.]?\s*([^\n]+))/g;function ut(n,e,t){return{id:e,n,tier:ot(e),source:(t==null?void 0:t.source)??e.split(/[_-]/)[0].toUpperCase(),title:(t==null?void 0:t.title)??e,docId:e,url:(t==null?void 0:t.url)??"",vintage:(t==null?void 0:t.vintage)??"",retrieved:(t==null?void 0:t.retrieved)??""}}const qn=/\[([a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)\]/gi;function nt(n){return n.split(new RegExp("(?<=[.!?])\\s+(?=[A-Z(])","g")).filter(t=>t.trim().length>0)}function rt(n,e,t){let r=0;const l=[],p=[...n.matchAll(qn)];if(p.length===0)return[{text:n}];for(const o of p){const y=n.slice(r,o.index??0),m=o[1].split(/\s*,\s*/).filter(Boolean);r=(o.index??0)+o[0].length;const s=ot(m[0]);l.push({text:y,tier:s,cite:m[0]});for(const c of m)e[c]||(e[c]=t(c))}if(r<n.length){const o=n.slice(r);o.trim()&&l.push({text:o})}return l}function Fn(n,e={}){const t={...e};let r=Object.values(t).reduce((s,c)=>Math.max(s,c.n),0)+1;const l=new Set,p=s=>(e[s]||l.add(s),ut(r++,s)),o=[],y=[];let m;for(tt.lastIndex=0;m=tt.exec(n);)if(m[2]!==void 0){const s=et(m[2]);if(!s)continue;y.push({num:s.n,label:s.label,tier:s.tier,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}else if(m[3]!==void 0){const s=m[3],c=(m[4]??"").trim(),h=dt.find(E=>E.n===s)??et(c);y.push({num:s,label:(h==null?void 0:h.label)??c,tier:h==null?void 0:h.tier,titleExtra:h&&c.toLowerCase()!==h.label.toLowerCase()?c:void 0,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}for(let s=0;s<y.length;s++){const c=y[s],h=y[s+1],E=n.slice(c.bodyStart,h?h.start:n.length).trim();if(E){o.push({kind:"head",n:c.num,label:c.label,tier:c.tier,title:c.titleExtra});for(const Y of E.split(/\n\s*\n/)){const j=Y.replace(/\s+/g," ").trim();if(!j)continue;const G=nt(j),F=[];for(const R of G)F.push(...rt(R,t,p)),F.push({text:" "});for(;F.length&&F[F.length-1].text.trim()===""&&!F[F.length-1].tier;)F.pop();F.length&&o.push({kind:"prose",parts:F})}}}if(o.length===0&&n.trim()){o.push({kind:"head",n:"01",label:"Status"});const s=n.replace(/\s+/g," ").trim(),c=nt(s),h=[];for(const E of c)h.push(...rt(E,t,p)),h.push({text:" "});for(;h.length&&h[h.length-1].text.trim()===""&&!h[h.length-1].tier;)h.pop();h.length&&o.push({kind:"prose",parts:h})}return{blocks:o,citations:t,unresolvedDocIds:[...l]}}const se={type:"FeatureCollection",features:[]};async function oe(n){try{const e=await fetch(n);if(!e.ok)return se;const t=await e.json();return!t||t.type!=="FeatureCollection"?se:t}catch{return se}}async function Ln(n,e,t=1500){return oe(`/api/layers/sandy?lat=${n}&lon=${e}&r=${t}`)}async function En(n,e,t=1500){return oe(`/api/layers/dep_extreme_2080?lat=${n}&lon=${e}&r=${t}`)}async function it(n,e,t=1500){return oe(`/api/layers/prithvi_water?lat=${n}&lon=${e}&r=${t}`)}async function jn(n){return oe(`/api/layers/sandy_clipped?code=${encodeURIComponent(n)}`)}async function Pn(n,e="dep_extreme_2080"){return oe(`/api/layers/dep_clipped?code=${encodeURIComponent(n)}&scenario=${e}`)}async function at(n,e,t=1500){try{const r=await fetch(`/api/floodnet_near?lat=${n}&lon=${e}&r=${t}`);return r.ok?{type:"FeatureCollection",features:(await r.json()).features.map(o=>{const y=o.properties??{};return{...o,properties:{...y,count:typeof y.n_events_3y=="number"?y.n_events_3y:1}}})}:se}catch{return se}}var On=L('<span class="region-head-meta svelte-1q8jizq"> <!></span>'),Dn=L('<span class="region-head-meta svelte-1q8jizq">planning…</span>'),zn=L('<div class="reroll-prev svelte-1q8jizq" aria-hidden="true"><p class="reroll-prev-line svelte-1q8jizq"> </p></div>'),Yn=L("<!> <!>",1),Rn=L('<span class="streaming-caret svelte-1q8jizq" aria-hidden="true">▍</span>'),Bn=L("<!> <!>",1),Hn=L('<details class="plan-details svelte-1q8jizq"><summary class="svelte-1q8jizq"> </summary> <pre class="plan-stream svelte-1q8jizq"> </pre></details>'),Gn=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Planning intent… <!></div>'),Un=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Resolving address…</div>'),Wn=L("<!> <!>",1),Kn=L('<span class="region-head-meta svelte-1q8jizq"> </span>'),Zn=L('<span class="region-head-meta svelte-1q8jizq">awaiting geocode…</span>'),Jn=L('<div style="position: relative; flex: 1; min-height: 0;" class="svelte-1q8jizq"><!> <!></div>'),Vn=L('<section class="hero-band svelte-1q8jizq"><div class="hero-band-inner svelte-1q8jizq"><div class="app-shell-top is-desktop svelte-1q8jizq"><main id="region-briefing" class="app-region app-region-brief svelte-1q8jizq" aria-labelledby="brief-h1"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Briefing</span> <!></header> <h1 id="brief-h1" class="brief-h1 svelte-1q8jizq">Flood-exposure briefing <span class="brief-h1-addr svelte-1q8jizq"> </span></h1> <!></main> <div class="app-region-side svelte-1q8jizq" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map svelte-1q8jizq" aria-label="Map region"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Map</span> <!></header> <!></aside> <aside id="region-cites" class="app-region app-region-cites svelte-1q8jizq" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom svelte-1q8jizq"><section class="app-region app-region-findings svelte-1q8jizq" aria-label="Findings"><!></section></div></div></section>');function lr(n,e){Ft(e,!0);let t=Q(()=>jt.params.queryId??""),r=Q(()=>()=>{try{return decodeURIComponent(a(t))}catch{return a(t)}}),l=N(null),p=N(""),o=N(""),y=N(null),m=N(!1),s=N(0),c=2,h=N(!1),E=N(!1),Y=N(""),j=N(null),G=N(ie([])),F=Q(()=>{var d,i,f,u;return{empirical:((d=a(ue))==null?void 0:d.features.length)??0,modeled:((i=a(pe))==null?void 0:i.features.length)??0,synthetic:((f=a(me))==null?void 0:f.features.length)??0,proxy:((u=a(fe))==null?void 0:u.features.length)??0}}),R=N(ie({id:"root",name:"briefing.run",status:"ok",ms:0,tier:null,children:[]})),ee=N(null),$e="comfortable",Ne="smart",le=N(!1);Pe(()=>{typeof window<"u"&&_(le,new URL(window.location.href).searchParams.get("grammar")==="1")});let U=N(null),P=N(void 0),te=Q(()=>a(y)?Sn(a(y),a(R),a(P)):{cards:[],stones:[],wallSeconds:a(P)});function Ae(d){_(ee,d,!0)}function ce(d){const i=document.getElementById("region-cites");i&&i.scrollIntoView({behavior:"smooth",block:"start"})}const Ye=new Set(["ttm_forecast","ttm_311_forecast","floodnet_forecast"]),Ie="group-ttm-r2";function pt(d,i,f,u){if(u==="error")return f??void 0;if(u==="silent")return f??"no data";if(i==null||typeof i!="object")return;const I=i,v={sandy_inundation:["inside"],dep_stormwater:["dep_extreme_2080","dep_moderate_2050"],floodnet:["n_sensors","n_events_3y"],nyc311:["n"],noaa_tides:["observed_ft_mllw","residual_ft","station"],nws_alerts:["n_active"],nws_obs:["p1h_mm","p6h_mm","station"],ttm_forecast:["forecast_peak_ft","forecast_peak_min_ahead"],ttm_311_forecast:["forecast_mean","forecast_peak","accelerating"],ida_hwm_2021:["n_within_800m","max_height_above_gnd_ft"],prithvi_eo_v2:["inside_water_polygon","nearest_distance_m"],prithvi_eo_live:["scene_date","pct_water_500m"],microtopo_lidar:["elev_m","pct_200m","relief_m"],mta_entrance_exposure:["n_entrances","n_inside_sandy_2012","n_in_dep_extreme_2080"],nycha_development_exposure:["n_developments","n_majority_inside_sandy_2012"],doe_school_exposure:["n_schools","n_inside_sandy_2012"],doh_hospital_exposure:["n_hospitals","n_inside_sandy_2012"],floodnet_forecast:["sensor_id","distance_m","forecast_28d","accelerating"],terramind_synthesis:["tim_chain","dem_mean_m"],rag_granite_embedding:["hits"],gliner_extract:["sources"]}[d],C=[];if(v){for(const T of v)if(I[T]!==void 0&&C.push(Be(T,I[T])),C.length>=3)break}else for(const[T,g]of Object.entries(I))if(g!==null&&typeof g!="object"&&(C.push(Be(T,g)),C.length>=2))break;return C.join(" · ")||void 0}function mt(d){const i=[],f=d.mta_entrances;if(f&&Array.isArray(f.entrances))for(const v of f.entrances){const C=Number(v.entrance_lat),T=Number(v.entrance_lon);!Number.isFinite(C)||!Number.isFinite(T)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"subway",name:`${v.station_name??"?"} (${v.daytime_routes??"?"})`,doc_id:`mta_entrance_${v.station_id??""}`,inside_sandy_2012:v.inside_sandy_2012===!0}})}const u=d.doe_schools;if(u&&Array.isArray(u.schools))for(const v of u.schools){const C=Number(v.school_lat),T=Number(v.school_lon);!Number.isFinite(C)||!Number.isFinite(T)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"school",name:String(v.loc_name??v.school_name??"?"),doc_id:`doe_school_${v.loc_code??""}`,inside_sandy_2012:v.inside_sandy_2012===!0}})}const I=d.nycha_developments;if(I&&Array.isArray(I.developments))for(const v of I.developments){const C=Number(v.centroid_lat),T=Number(v.centroid_lon);if(!Number.isFinite(C)||!Number.isFinite(T))continue;const g=Number(v.pct_inside_sandy_2012??0);i.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"nycha",name:String(v.development??"?"),doc_id:`nycha_dev_${v.tds_num??""}`,inside_sandy_2012:g>=50,pct_inside_sandy:g}})}const k=d.doh_hospitals;if(k&&Array.isArray(k.hospitals))for(const v of k.hospitals){const C=Number(v.hospital_lat),T=Number(v.hospital_lon);!Number.isFinite(C)||!Number.isFinite(T)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[T,C]},properties:{kind:"hospital",name:String(v.facility_name??"?"),doc_id:`nyc_hospital_${v.fac_id??""}`,inside_sandy_2012:v.inside_sandy_2012===!0}})}return{type:"FeatureCollection",features:i}}function ft(d){return{type:"FeatureCollection",features:[]}}function Re(d){return 1+(d.children??[]).reduce((f,u)=>f+Re(u),0)}function Be(d,i){if(typeof i=="number"){const f=Number.isInteger(i)?`${i}`:i.toFixed(2);return`${d}=${f}`}if(typeof i=="boolean")return`${d}=${i}`;if(typeof i=="string"){const f=i.length>24?i.slice(0,22)+"…":i;return`${d}=${f}`}return d}let ne=N(ie({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),K=N(null),de=N(null),He=N(void 0),Ge=N(void 0),ue=N(void 0),pe=N(void 0),me=N(void 0),fe=N(void 0),X=N(ie([])),re=N(ie({})),_e=[];function _t(){var I;if(!a(o)){_(X,[],!0),_(re,{},!0),_e=[];return}const d={};(I=a(y))!=null&&I.citations&&a(y).citations.forEach((k,v)=>{d[k.doc_id]=ut(v+1,k.doc_id,{source:k.source,title:k.title,url:k.url,vintage:k.vintage})});const i=Fn(a(o),d),f={};let u=1;for(const k of _e){const v=i.citations[k];v&&(f[k]={...v,n:u++})}for(const[k,v]of Object.entries(i.citations))f[k]||(f[k]={...v,n:u++},_e.push(k));_(X,i.blocks,!0),_(re,f,!0)}Pe(()=>{a(o),a(y),_t()}),Pe(()=>{if(!a(K))return;const{lat:d,lon:i,source:f}=a(K);f==="nta"&&a(de)?(jn(a(de)).then(u=>_(ue,u,!0)),Pn(a(de)).then(u=>_(pe,u,!0)),it(d,i,2500).then(u=>_(me,u,!0)),at(d,i,3e3).then(u=>_(fe,u,!0))):(Ln(d,i).then(u=>_(ue,u,!0)),En(d,i).then(u=>_(pe,u,!0)),it(d,i).then(u=>_(me,u,!0)),at(d,i).then(u=>_(fe,u,!0)))}),Lt(()=>{if(Qe.reset(),!a(r)())return;_(U,Date.now(),!0);const d=Mn(a(r)(),{onPlanToken:i=>_(p,a(p)+i),onPlan:i=>_(l,i,!0),onStep:i=>{if(i.step==="geocode")if(i.ok&&i.result&&typeof i.result=="object"){const g=i.result;if(typeof g.lat=="number"&&typeof g.lon=="number"){const $=typeof g.address=="string"?g.address:a(r)();_(K,{label:$,lat:g.lat,lon:g.lon,source:"geocode"},!0),_(E,!0)}}else _(j,"geocoder");if(i.step==="nta_resolve"&&i.ok&&i.result&&typeof i.result=="object"){const g=i.result,$=Array.isArray(g.bbox)?g.bbox:null,O=typeof g.nta_code=="string"?g.nta_code:null;if($&&$.length===4&&O){_(de,O,!0);const Z=($[0]+$[2])/2,D=($[1]+$[3])/2,B=typeof g.nta_name=="string"?g.nta_name:a(r)();_(K,{label:B,lat:D,lon:Z,source:"nta"},!0)}}const f=Pt(i.step),u=i.ok?i.result==null&&i.err==null?"silent":"ok":"error",I=Math.round((i.elapsed_s??0)*1e3),k=i.result!=null?i.result:i.err??null,v=pt(i.step,i.result,i.err,u),C={id:`step-${Re(a(R))}`,name:i.step,status:u,ms:I,tier:f,note:v,output:k,error:u==="error"?i.err??"unknown error":void 0,model:Ye.has(i.step)?"granite-timeseries-ttm-r2":void 0},T={...a(R),ms:(a(R).ms??0)+I};if(Ye.has(i.step)){const g=[...T.children??[]];let $=g.find(D=>D.id===Ie);$||($={id:Ie,name:"forecasting.granite-timeseries-ttm-r2",status:"fan",ms:0,tier:"modeled",note:"1 instance",model:"granite-timeseries-ttm-r2",children:[]},g.push($));const O=[...$.children??[],C],Z={...$,ms:($.ms??0)+I,note:`${O.length} instance${O.length===1?"":"s"}`,children:O};_(R,{...T,children:g.map(D=>D.id===Ie?Z:D)},!0)}else _(R,{...T,children:[...T.children??[],C]},!0)},onAttemptStart:i=>{_(s,i,!0),i>1&&(_(Y,a(o),!0),_(o,""),_e=[])},onToken:i=>{a(h)||(_(h,!0),a(s)===0&&_(s,1)),_(o,a(o)+i)},onMelleaAttempt:i=>{i.attempt>0&&_(s,i.attempt,!0)},onFinal:i=>{_(y,i,!0),i.paragraph&&_(o,i.paragraph,!0),_(G,Cn(i),!0),_(He,mt(i),!0),_(Ge,ft(),!0);const u=i.mellea;u&&u.failed&&u.failed.length>0&&u.attempts&&u.attempts>=c&&_(j,"grounding")},onError:i=>{const f=i.toLowerCase();(f.includes("connection")||f.includes("502")||f.includes("503")||f.includes("timeout")||f.includes("routing"))&&_(j,"backend")},onDone:()=>{var i,f,u,I,k;_(m,!0),a(U)!=null&&_(P,(Date.now()-a(U))/1e3),!a(h)&&!a(j)&&a(E)&&_(j,"all-silent"),!a(j)&&a(X).length>0&&(Gt({queryId:a(t),queryText:a(r)(),intent:((i=a(l))==null?void 0:i.intent)??null,specialists:((u=(f=a(l))==null?void 0:f.specialists)==null?void 0:u.length)??0,blocks:a(X),citations:a(re),generatedAt:new Date().toISOString(),attempts:((k=(I=a(y))==null?void 0:I.mellea)==null?void 0:k.attempts)??a(s)}),Qe.markReady())}});return()=>d.close()});var Te=Vn(),Ue=x(Te),Ce=x(Ue),Me=x(Ce),qe=x(Me),ht=S(x(qe),2);{var vt=d=>{var i=On(),f=x(i),u=S(f);{var I=k=>{var v=qt("· ✓ done");M(k,v)};H(u,k=>{a(m)&&k(I)})}w(i),W(()=>{var k;return z(f,`intent: ${a(l).intent??""} · ${((k=a(l).specialists)==null?void 0:k.length)??0??""} specialists · attempt ${a(s)??""} `)}),M(d,i)},gt=d=>{var i=Dn();M(d,i)};H(ht,d=>{a(l)?d(vt):d(gt,-1)})}w(qe);var Fe=S(qe,2),We=S(x(Fe)),yt=x(We,!0);w(We),w(Fe);var bt=S(Fe,2);{var wt=d=>{nn(d,{get state(){return a(j)}})},xt=d=>{var i=Wn(),f=ge(i);{var u=g=>{var $=Yn(),O=ge($);Xt(O,{get attempt(){return a(s)},max:c});var Z=S(O,2);{var D=B=>{var J=zn(),he=x(J),ve=x(he);w(he),w(J),W(je=>z(ve,`${je??""}…`),[()=>a(Y).slice(0,360)]),M(B,J)};H(Z,B=>{a(Y)&&B(D)})}M(g,$)};H(f,g=>{a(s)>1&&g(u)})}var I=S(f,2);{var k=g=>{var $=Bn(),O=ge($);Ot(O,{get blocks(){return a(X)},get citations(){return a(re)},streaming:!1});var Z=S(O,2);{var D=B=>{var J=Rn();M(B,J)};H(Z,B=>{a(m)||B(D)})}M(g,$)},v=g=>{Jt(g)},C=g=>{var $=Gn(),O=S(x($),2);{var Z=D=>{var B=Hn(),J=x(B),he=x(J);w(J);var ve=S(J,2),je=x(ve,!0);w(ve),w(B),W(()=>{z(he,`Planner streaming (${a(p).length??""} chars)`),z(je,a(p))}),M(D,B)};H(O,D=>{a(p)&&D(Z)})}w($),M(g,$)},T=g=>{var $=Un();M(g,$)};H(I,g=>{a(X).length?g(k):a(E)&&!a(h)?g(v,1):a(l)?g(T,-1):g(C,2)})}M(d,i)};H(bt,d=>{a(j)?d(wt):d(xt,-1)})}w(Me);var Ke=S(Me,2),Le=x(Ke),Ee=x(Le),kt=S(x(Ee),2);{var St=d=>{var i=Kn(),f=x(i);w(i),W((u,I)=>z(f,`Carto Positron · z15 · ${u??""}°N ${I??""}°W`),[()=>a(K).lat.toFixed(4),()=>Math.abs(a(K).lon).toFixed(4)]),M(d,i)},$t=d=>{var i=Zn();M(d,i)};H(kt,d=>{a(K)?d(St):d($t,-1)})}w(Ee);var Nt=S(Ee,2);{var At=d=>{var i=Jn(),f=x(i);Yt(f,{get address(){return a(K)},get activeLayers(){return a(ne)},get sandyEmpirical(){return a(ue)},get depModeled(){return a(pe)},get syntheticPrior(){return a(me)},get proxy311(){return a(fe)},get registerPoints(){return a(He)},get registerPolygons(){return a(Ge)}});var u=S(f,2);Rt(u,{get active(){return a(ne)},get featureCounts(){return a(F)},onToggle:I=>_(ne,{...a(ne),[I]:!a(ne)[I]},!0)}),w(i),M(d,i)};H(Nt,d=>{a(K)&&d(At)})}w(Le);var Ze=S(Le,2),It=x(Ze);Dt(It,{get citations(){return a(re)}}),w(Ze),w(Ke),w(Ce);var Je=S(Ce,2),Ve=x(Je),Tt=x(Ve);zt(Tt,{get data(){return a(te)},density:$e,provenanceMode:Ne,get showGrammar(){return a(le)},get linkedKey(){return a(ee)},onLink:Ae,onCite:ce}),w(Ve),w(Je),w(Ue),w(Te),W(d=>z(yt,d),[()=>a(r)()]),M(n,Te),Et()}export{lr as component,or as universal};
web/sveltekit/build/_app/immutable/nodes/5.BTAkC8wA.js DELETED
@@ -1 +0,0 @@
1
- import{a as f,g as W,s as g,d as le,b as ve,f as R}from"../chunks/BLULdth_.js";import{p as q,t as F,k as r,r as t,a as J,ah as G,c as a,s as i,ac as re,f as me,j as ne,am as he,af as ge,l as se}from"../chunks/CYuHyzh3.js";import{T as U,a as fe,s as pe,c as ye,b as ae,B as _e}from"../chunks/CW0UkEuV.js";import{R as be,M as xe,C as ke,T as we}from"../chunks/BPaqPo1M.js";import{s as c,e as V,i as $}from"../chunks/B7gjWklj.js";import{i as X}from"../chunks/vWNuMvXT.js";import{p as Ie,b as de}from"../chunks/CdmpEGnB.js";const Se=!0,dt=Object.freeze(Object.defineProperty({__proto__:null,prerender:Se},Symbol.toStringTag,{value:"Module"}));var Ce=W("<rect></rect>"),Fe=W('<svg width="100%" preserveAspectRatio="none" aria-hidden="true"></svg>');function ue(B,e){q(e,!0);const s=180,l=36;let v=G(()=>Math.max(...e.data,1)),m=G(()=>e.data.length);var p=Fe();c(p,"viewBox","0 0 180 36"),c(p,"height",l),V(p,21,()=>e.data,$,(b,x,A)=>{var n=Ce();F(_=>{c(n,"x",A/r(m)*s+.5),c(n,"y",l-r(x)/r(v)*l),c(n,"width",_),c(n,"height",r(x)/r(v)*l),c(n,"fill",e.color)},[()=>Math.max(2,s/r(m)-1.5)]),f(b,n)}),t(p),f(B,p),J()}function Ne(B,e){ue(B,{get data(){return e.data},get color(){return e.color}})}var Me=W('<g><circle r="2"></circle><text font-size="9" font-family="IBM Plex Mono" text-anchor="middle" fill="#6B6B6B"> </text></g>'),Ae=W('<svg width="100%" aria-hidden="true"><path fill-opacity="0.18"></path><path fill="none" stroke-width="1.5"></path><!></svg>');function Pe(B,e){q(e,!0);const s=220,l=80,v=4;let m=G(()=>e.data.map((h,w)=>v+w/(e.data.length-1)*(s-v*2))),p=G(()=>Math.max(...e.data.map(h=>h.high)));function b(h){return l-v-h/r(p)*(l-v*2)}let x=G(()=>r(m).map((h,w)=>`${w?"L":"M"} ${h} ${b(e.data[w].mid)}`).join(" ")),A=G(()=>()=>{const h=r(m).map((I,S)=>`${I} ${b(e.data[S].low)}`).join(" L "),w=[...r(m)].map((I,S)=>({x:I,hi:b(e.data[S].high)})).reverse().map(I=>`${I.x} ${I.hi}`).join(" L ");return`M ${h} L ${w} Z`});var n=Ae();c(n,"viewBox","0 0 220 80"),c(n,"height",l);var _=a(n),k=i(_),H=i(k);V(H,17,()=>e.data,$,(h,w,I)=>{var S=Me(),E=a(S),D=i(E);c(D,"y",l-1);var K=a(D,!0);t(D),t(S),F(P=>{c(E,"cx",r(m)[I]),c(E,"cy",P),c(E,"fill",e.color),c(D,"x",r(m)[I]),g(K,r(w).year)},[()=>b(r(w).mid)]),f(h,S)}),t(n),F(h=>{c(_,"d",h),c(_,"fill",e.color),c(k,"d",r(x)),c(k,"stroke",e.color)},[()=>r(A)()]),f(B,n),J()}var Re=W('<rect x="0" y="0" width="220" height="110" fill="#FAFAF7"></rect><path d="M0 60 L60 55 L120 70 L180 80 L220 78 L220 110 L0 110 Z" fill="rgba(42,111,168,0.30)" stroke="#2A6FA8" stroke-width="1"></path><path d="M0 75 L60 72 L120 85 L180 92 L220 90 L220 110 L0 110 Z" fill="rgba(42,111,168,0.20)" stroke="#2A6FA8" stroke-width="0.8"></path><circle cx="100" cy="68" r="4" fill="#D17C00" stroke="#FAFAF7" stroke-width="1.5"></circle>',1),Be=W('<rect x="0" y="0" width="220" height="110"></rect><text x="8" y="100" font-family="IBM Plex Mono" font-size="9" fill="#2A6FA8">SYN · 2025-09-14</text>',1),Ee=W('<svg viewBox="0 0 220 110" width="100%" height="110" aria-hidden="true" style="display: block; background: #F2F2EE;"><defs><pattern width="6" height="6" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="6" height="6"></rect><line x1="0" y1="0" x2="0" y2="6" stroke-width="0.8"></line></pattern></defs><!></svg>');function Te(B,e){var s=Ee(),l=a(s),v=a(l),m=a(v),p=i(m);t(v),t(l);var b=i(l);{var x=n=>{var _=Re();re(3),f(n,_)},A=n=>{var _=Be(),k=me(_);re(),F(()=>c(k,"fill",`url(#thumb-${e.kind??""})`)),f(n,_)};X(b,n=>{e.kind==="stormwater"?n(x):n(A,-1)})}t(s),F(()=>{c(v,"id",`thumb-${e.kind??""}`),c(m,"fill",e.kind==="synthetic"?"rgba(42,111,168,0.18)":"rgba(42,111,168,0.30)"),c(p,"stroke",e.kind==="synthetic"?"#2A6FA8":"#0B5394")}),f(B,s)}var De=R('<div class="evidence-scalar-aux"> </div>'),Le=R('<div class="evidence-scalar"><div class="evidence-scalar-value"> </div> <div class="evidence-scalar-unit"> </div> <!></div>'),Ye=R("<th> </th>"),He=R("<td> </td>"),Ke=R("<tr></tr>"),Oe=R('<table class="evidence-table"><thead><tr></tr></thead><tbody></tbody></table>'),Ge=R('<div class="evidence-spark"><div class="evidence-spark-headline"> </div> <!> <div class="evidence-scalar-aux"> </div></div>'),ze=R('<div class="evidence-spark"><div class="evidence-spark-headline"> </div> <!> <div class="evidence-scalar-aux"> </div></div>'),We=R('<div class="evidence-scalar-aux"> </div>'),Ve=R('<div class="evidence-spark"><!> <!></div>'),Ze=R('<div class="evidence-thumb"><!> <div class="evidence-scalar-aux"> </div></div>'),je=R('<article><header class="evidence-card-head"><div class="evidence-card-source"><!> <span class="evidence-card-source-label"> </span></div> <span class="evidence-card-vintage" title="Data vintage"> </span></header> <h4 class="evidence-card-title"> </h4> <div class="evidence-card-body"><!></div> <footer class="evidence-card-foot"><button type="button" class="evidence-card-cite" title="Open citation in drawer"><span class="evidence-card-docid"> </span> <span class="evidence-card-cite-arrow" aria-hidden="true">→</span></button> <!></footer></article>');function Ue(B,e){q(e,!0);let s=G(()=>`var(--tier-${e.ev.tier})`);function l(){var u;ye.active=e.ev.citeId,(u=document.getElementById(`cite-${e.ev.citeId}`))==null||u.scrollIntoView({block:"center",behavior:"smooth"})}var v=je(),m=a(v),p=a(m),b=a(p);U(b,{get tier(){return e.ev.tier},size:11,get color(){return r(s)}});var x=i(b,2),A=a(x,!0);t(x),t(p);var n=i(p,2),_=a(n);t(n),t(m);var k=i(m,2),H=a(k,!0);t(k);var h=i(k,2),w=a(h);{var I=u=>{var o=Le(),d=a(o);let C;var T=a(d,!0);t(d);var y=i(d,2),N=a(y,!0);t(y);var M=i(y,2);{var Z=j=>{var z=De(),te=a(z,!0);t(z),F(()=>g(te,e.ev.fmt.aux)),f(j,z)};X(M,j=>{e.ev.fmt.aux&&j(Z)})}t(o),F(()=>{C=ae(d,"",C,{color:r(s)}),g(T,e.ev.fmt.value),g(N,e.ev.fmt.unit)}),f(u,o)},S=u=>{var o=Oe(),d=a(o),C=a(d);V(C,20,()=>e.ev.fmt.columns,y=>y,(y,N)=>{var M=Ye(),Z=a(M,!0);t(M),F(()=>g(Z,N)),f(y,M)}),t(C),t(d);var T=i(d);V(T,21,()=>e.ev.fmt.rows,$,(y,N)=>{var M=Ke();V(M,21,()=>r(N),$,(Z,j)=>{var z=He(),te=a(z,!0);t(z),F(()=>g(te,r(j))),f(Z,z)}),t(M),f(y,M)}),t(T),t(o),f(u,o)},E=u=>{var o=Ge(),d=a(o);let C;var T=a(d,!0);t(d);var y=i(d,2);ue(y,{get data(){return e.ev.fmt.data},get color(){return r(s)}});var N=i(y,2),M=a(N,!0);t(N),t(o),F(()=>{C=ae(d,"",C,{color:r(s)}),g(T,e.ev.fmt.headline),g(M,e.ev.fmt.sub)}),f(u,o)},D=u=>{var o=ze(),d=a(o);let C;var T=a(d,!0);t(d);var y=i(d,2);Ne(y,{get data(){return e.ev.fmt.data},get color(){return r(s)}});var N=i(y,2),M=a(N,!0);t(N),t(o),F(()=>{C=ae(d,"",C,{color:r(s)}),g(T,e.ev.fmt.headline),g(M,e.ev.fmt.sub)}),f(u,o)},K=u=>{var o=Ve(),d=a(o);Pe(d,{get data(){return e.ev.fmt.data},get color(){return r(s)}});var C=i(d,2);{var T=y=>{var N=We(),M=a(N,!0);t(N),F(()=>g(M,e.ev.fmt.caption)),f(y,N)};X(C,y=>{e.ev.fmt.caption&&y(T)})}t(o),f(u,o)},P=u=>{var o=Ze(),d=a(o);Te(d,{get kind(){return e.ev.fmt.thumbKind}});var C=i(d,2),T=a(C,!0);t(C),t(o),F(()=>g(T,e.ev.fmt.sub)),f(u,o)};X(w,u=>{e.ev.fmt.kind==="scalar"?u(I):e.ev.fmt.kind==="table"?u(S,1):e.ev.fmt.kind==="spark"?u(E,2):e.ev.fmt.kind==="histogram"?u(D,3):e.ev.fmt.kind==="forecast"?u(K,4):u(P,-1)})}t(h);var L=i(h,2),Y=a(L),O=a(Y),ee=a(O,!0);t(O),re(2),t(Y);var Q=i(Y,2);fe(Q,{get tier(){return e.ev.tier},compact:!0}),t(L),t(v),F(()=>{pe(v,1,`evidence-card evidence-card-${e.ev.tier??""}`),c(v,"aria-labelledby",`ec-${e.ev.id??""}-title`),g(A,e.ev.source),g(_,`v. ${e.ev.vintage??""}`),c(k,"id",`ec-${e.ev.id??""}-title`),g(H,e.ev.title),g(ee,e.ev.docId)}),ve("click",Y,l),f(B,v),J()}le(["click"]);var qe=R('<section class="evidence-grid" aria-label="Evidence cards"><div class="evidence-grid-head"><span class="section-label"> </span> <span class="evidence-grid-meta"><span class="evidence-grid-tally"><!> </span> <span class="evidence-grid-tally"><!> </span> <span class="evidence-grid-tally"><!> </span> <span class="evidence-grid-tally"><!> </span></span></div> <div class="evidence-grid-rail"></div></section>');function Je(B,e){q(e,!0);function s(P){return e.items.filter(L=>L.tier===P).length}var l=qe(),v=a(l),m=a(v),p=a(m);t(m);var b=i(m,2),x=a(b),A=a(x);U(A,{tier:"empirical",size:9});var n=i(A);t(x);var _=i(x,2),k=a(_);U(k,{tier:"modeled",size:9});var H=i(k);t(_);var h=i(_,2),w=a(h);U(w,{tier:"proxy",size:9});var I=i(w);t(h);var S=i(h,2),E=a(S);U(E,{tier:"synthetic",size:9});var D=i(E);t(S),t(b),t(v);var K=i(v,2);V(K,21,()=>e.items,P=>P.id,(P,L)=>{Ue(P,{get ev(){return r(L)}})}),t(K),t(l),F((P,L,Y,O)=>{g(p,`Evidence · ${e.items.length??""} cards`),g(n,` ${P??""}`),g(H,` ${L??""}`),g(I,` ${Y??""}`),g(D,` ${O??""}`)},[()=>s("empirical"),()=>s("modeled"),()=>s("proxy"),()=>s("synthetic")]),f(B,l),J()}const oe="80 Pioneer Street · Red Hook · Brooklyn",ie={c1:{id:"c1",n:1,tier:"empirical",source:"USGS",title:"Hurricane Sandy storm tide elevations, NY-NJ Harbor",docId:"USGS-OFR-2013-1234",url:"https://pubs.usgs.gov/of/2013/1234/",vintage:"2013-05",retrieved:"2026-04-28"},c2:{id:"c2",n:2,tier:"empirical",source:"NYC OEM",title:"Hurricane Sandy Inundation Zone (2012)",docId:"NYCOEM-SIZ-2013",url:"https://data.cityofnewyork.us/dataset/sandy-inundation-zone",vintage:"2013-01",retrieved:"2026-04-28"},c3:{id:"c3",n:3,tier:"empirical",source:"FloodNet NYC",title:"Sensor BK-RH-002 — Coffey Park, monthly exceedance",docId:"FN-BK-RH-002",url:"https://floodnet.nyc/sensor/BK-RH-002",vintage:"2026-04",retrieved:"2026-05-02"},c4:{id:"c4",n:4,tier:"modeled",source:"FEMA",title:"Preliminary Flood Insurance Rate Map, panel 36047C0207G",docId:"FEMA-FIRM-36047C0207G",url:"https://msc.fema.gov/portal/search",vintage:"2024-09",retrieved:"2026-04-28"},c5:{id:"c5",n:5,tier:"modeled",source:"NYC DEP",title:"Stormwater Flood Map — Moderate Stormwater Scenario",docId:"NYCDEP-SWFM-2024",url:"https://nyc.gov/stormwater-map",vintage:"2024-06",retrieved:"2026-04-28"},c6:{id:"c6",n:6,tier:"modeled",source:"NPCC4",title:"Sea-level rise projections, 2050 90th percentile",docId:"NPCC4-Ch3-Tbl3.2",url:"https://nyas.org/npcc4",vintage:"2024-03",retrieved:"2026-04-28"},c7:{id:"c7",n:7,tier:"proxy",source:"NYC 311",title:"Flooding service requests, BK CB6 2019–2025",docId:"NYC311-FLD-CB6",url:"https://data.cityofnewyork.us/311",vintage:"2025-12",retrieved:"2026-05-01"},c8:{id:"c8",n:8,tier:"proxy",source:"FEMA NFIP",title:"National Flood Insurance Program claims, tract 36047008500",docId:"NFIP-T36047008500",url:"https://www.fema.gov/openfema",vintage:"2024-12",retrieved:"2026-04-28"},c9:{id:"c9",n:9,tier:"synthetic",source:"TerraMind v1.2",title:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded)",docId:"RIPRAP-SYN-20250914",url:"#methodology-synthetic",vintage:"2025-09",retrieved:"2026-05-02"},c10:{id:"c10",n:10,tier:"modeled",source:"NYC DCP",title:"Waterfront Revitalization Program — Coastal Risk Area",docId:"NYCDCP-WRP-2022",url:"https://nyc.gov/dcp/wrp",vintage:"2022-11",retrieved:"2026-04-28"}},ce=[{kind:"status",html:'<p class="briefing-deck"><strong>80 Pioneer Street, Red Hook, Brooklyn 11231.</strong> Block 597, Lot 30. Industrial Business Zone (IBZ-RH). Queried 2026-05-02 14:22 ET. <span class="briefing-meta">Briefing v0.4.2 · 9 specialists fired · 1 silent (TidalGauge: out of range)</span></p>'},{kind:"head",n:"01",label:"Status",title:"Coastal-edge, post-Sandy, multi-hazard"},{kind:"prose",parts:[{tier:"empirical",text:"The address sits 380 ft inland of the Erie Basin bulkhead, at a ground elevation of 6.2 ft NAVD88",cite:"c1"},{text:" — within the "},{tier:"empirical",text:"2012 Sandy Inundation Zone, which recorded a peak storm tide of 11.4 ft NAVD88 at the Battery",cite:"c2"},{text:" 2.4 mi to the northwest. "},{tier:"modeled",text:"FEMA's preliminary FIRM places the parcel in Zone AE (BFE 11 ft NAVD88)",cite:"c4"},{text:", a 4.8 ft freeboard above current grade. The site is upgradient of two FloodNet sensors and three blocks from a chronic 311 cluster."}]},{kind:"head",n:"02",label:"Empirical evidence",tier:"empirical"},{kind:"prose",parts:[{tier:"empirical",text:"FloodNet sensor BK-RH-002 (Coffey Park, 1,200 ft south) recorded 7 above-curb events between 2024-06 and 2026-04",cite:"c3"},{text:", with a peak depth of 14.3 cm during the 2025-09-29 nor'easter. "},{tier:"empirical",text:"USGS post-Sandy high-water marks within 500 ft cluster between 6.8 and 8.1 ft NAVD88",cite:"c1"},{text:", consistent with 0.6–1.9 ft of standing water at the queried address during the storm."}]},{kind:"head",n:"03",label:"Modeled scenarios",tier:"modeled"},{kind:"prose",parts:[{tier:"modeled",text:"DEP's Moderate Stormwater Scenario (2.13 in/hr design storm) shows ponding ≥4 in across the western half of the lot",cite:"c5"},{text:", routed by the 1.2% slope toward Imlay St. "},{tier:"modeled",text:"Under NPCC4's 2050 90th-percentile sea-level rise (30 in)",cite:"c6"},{text:", the parcel falls within the projected daily-tidal floodplain by mid-century. "},{tier:"synthetic",text:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded) was generated by TerraMind v1.2 and is presented as a prior, not an observation",cite:"c9"},{text:"; treat with appropriate caution."}]},{kind:"head",n:"04",label:"Policy context"},{kind:"prose",parts:[{tier:"proxy",text:"311 flood complaints within the surrounding census tract total 89 calls over 2019–2025, with seasonal clustering in Aug–Oct",cite:"c7"},{text:". "},{tier:"proxy",text:"NFIP claims aggregated to tract 36047008500 total $4.1M across 47 paid losses since 2000",cite:"c8"},{text:". "},{tier:"modeled",text:"The site lies within the NYC Waterfront Revitalization Program Coastal Risk Area; CEQR §817 review applies to any discretionary action",cite:"c10"},{text:"."}]}],Qe=[{id:"e1",citeId:"c1",tier:"empirical",source:"USGS",title:"Post-Sandy high-water marks within 500ft",fmt:{kind:"table",columns:["id","elev.","dist."],rows:[["HWM-NY-3081","7.4 ft NAVD88","0.18 mi"],["HWM-NY-3082","8.1 ft NAVD88","0.22 mi"],["HWM-NY-3105","6.8 ft NAVD88","0.31 mi"]]},docId:"USGS-OFR-2013-1234",vintage:"2013-05"},{id:"e2",citeId:"c3",tier:"empirical",source:"FloodNet NYC",title:"Sensor BK-RH-002 — monthly above-curb events",fmt:{kind:"spark",data:[0,0,1,0,2,1,0,0,3,0,1,0,0,0,2,1,0,0,1,0,2,4,1,1],headline:"7 events",sub:"Jun 2024 → Apr 2026 · peak 14.3 cm"},docId:"FN-BK-RH-002",vintage:"2026-04"},{id:"e3",citeId:"c4",tier:"modeled",source:"FEMA",title:"Preliminary FIRM, panel 36047C0207G",fmt:{kind:"scalar",value:"Zone AE",unit:"BFE 11 ft NAVD88",aux:"freeboard +4.8 ft"},docId:"FEMA-FIRM-36047C0207G",vintage:"2024-09"},{id:"e4",citeId:"c5",tier:"modeled",source:"NYC DEP",title:"Stormwater Flood Map — moderate scenario",fmt:{kind:"thumb",thumbKind:"stormwater",sub:"2.13 in/hr · ponding ≥4 in W half of lot · routed toward Imlay St"},docId:"NYCDEP-SWFM-2024",vintage:"2024-06"},{id:"e5",citeId:"c6",tier:"modeled",source:"NPCC4",title:"Sea-level rise projections for Lower NY Harbor",fmt:{kind:"forecast",data:[{year:2030,low:4,mid:6,high:9},{year:2050,low:13,mid:22,high:30},{year:2080,low:28,mid:49,high:75},{year:2100,low:38,mid:71,high:114}],caption:"inches MSL · 17th–83rd %ile range, median line"},docId:"NPCC4-Ch3-Tbl3.2",vintage:"2024-03"},{id:"e6",citeId:"c9",tier:"synthetic",source:"TerraMind v1.2",title:"Synthetic SAR for 2025-09-14 (Sentinel-1 cloud-occluded)",fmt:{kind:"thumb",thumbKind:"synthetic",sub:"Generated, not observed. Confidence 0.71. Provided as prior for downstream models; do not cite as observation."},docId:"RIPRAP-SYN-20250914",vintage:"2025-09"},{id:"e7",citeId:"c7",tier:"proxy",source:"NYC 311",title:"Flood complaints, BK CB6 (2019–2025)",fmt:{kind:"histogram",data:[3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0],headline:"89 calls",sub:"seasonal cluster Aug–Oct"},docId:"NYC311-FLD-CB6",vintage:"2025-12"},{id:"e8",citeId:"c8",tier:"proxy",source:"FEMA NFIP",title:"NFIP claims, tract 36047008500",fmt:{kind:"scalar",value:"$4.1M",unit:"47 paid losses",aux:"since 2000-01-01"},docId:"NFIP-T36047008500",vintage:"2024-12"}],Xe={id:"root",name:"briefing.run",status:"ok",ms:14820,tier:null,children:[{id:"n1",name:"geocode.address",status:"ok",ms:142,tier:null,output:{lat:40.6776,lon:-74.0096,bbl:"3005970030"}},{id:"n2",name:"fan_out.specialists",status:"fan",ms:0,tier:null,note:"9 specialists dispatched in parallel",children:[{id:"s1",name:"sandy_inundation.lookup",status:"ok",ms:380,tier:"empirical",claims:2,output:"polygon: contains; nearest HWM 0.4mi"},{id:"s2",name:"floodnet.history",status:"ok",ms:1240,tier:"empirical",claims:1,output:"BK-RH-002: 7 events, peak 14.3cm"},{id:"s3",name:"usgs.high_water_marks",status:"ok",ms:612,tier:"empirical",claims:1,output:"9 marks within 500ft"},{id:"s4",name:"fema.firm.preliminary",status:"ok",ms:488,tier:"modeled",claims:1,output:"Zone AE, BFE 11ft NAVD88"},{id:"s5",name:"dep.stormwater.scenario",status:"ok",ms:2104,tier:"modeled",claims:1,output:"moderate: ponding ≥4in W half"},{id:"s6",name:"npcc4.slr.projection",status:"ok",ms:320,tier:"modeled",claims:1,output:"2050 90th: +30in"},{id:"s7",name:"nyc311.flood_complaints",status:"ok",ms:980,tier:"proxy",claims:1,output:"89 calls / tract / 2019–25"},{id:"s8",name:"nfip.claims_aggregate",status:"ok",ms:540,tier:"proxy",claims:1,output:"$4.1M / 47 paid losses"},{id:"s9",name:"terramind.synthetic_sar",status:"ok",ms:6840,tier:"synthetic",claims:1,output:"synthesis confidence 0.71"},{id:"s10",name:"tidal_gauge.range",status:"silent",ms:18,tier:null,claims:0,output:"out of range: nearest gauge >2mi"},{id:"s11",name:"wrp.coastal_risk_area",status:"ok",ms:210,tier:"modeled",claims:1,output:"within Coastal Risk Area"}]},{id:"n3",name:"merge.evidence",status:"merge",ms:92,tier:null,note:"10 cards · 1 silent · 0 errors"},{id:"n4",name:"compose.briefing",status:"ok",ms:1380,tier:null,output:"4 sections · 11 claims · 10 citations"},{id:"n5",name:"stream.sse",status:"ok",ms:4940,tier:null,output:"1812 tokens · 11 sentence chunks"}]};var $e=R('<section class="hero-band"><div class="hero-band-inner"><div class="app-shell-top is-desktop"><main id="region-briefing" class="app-region app-region-brief" aria-labelledby="brief-h1"><header class="region-head"><span class="section-label">Briefing</span> <button type="button" class="region-action" aria-label="Replay streaming">↻ replay stream</button></header> <h1 id="brief-h1" class="brief-h1">Flood-exposure briefing <span class="brief-h1-addr"> </span></h1> <!></main> <div class="app-region-side" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map" aria-label="Map region"><header class="region-head"><span class="section-label">Map</span> <span class="region-head-meta">Carto Positron · z15 · 40.6776°N 74.0096°W</span></header> <div style="position: relative; flex: 1; min-height: 0;"><!> <!></div></aside> <aside class="app-region app-region-cites" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom"><section class="app-region app-region-evidence" aria-label="Evidence"><!></section> <section id="region-trace" class="app-region app-region-trace" aria-label="Trace"><!></section></div></div></section>');function ot(B,e){q(e,!0);let s=ne(he({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),l=ne(0);ge(()=>(Ie({queryId:"sample",queryText:oe,intent:"single_address",specialists:9,blocks:ce,citations:ie,generatedAt:new Date().toISOString(),attempts:1}),de.markReady(),()=>de.reset()));const v={label:"80 Pioneer St",lat:40.6776,lon:-74.0096},m={type:"FeatureCollection",features:[{type:"Feature",properties:{source:"sample-fixture",tier:"synthetic"},geometry:{type:"Polygon",coordinates:[[[-74.014,40.679],[-74.007,40.68],[-74.005,40.677],[-74.009,40.6755],[-74.014,40.679]]]}}]};var p=$e(),b=a(p),x=a(b),A=a(x),n=a(A),_=i(a(n),2);t(n);var k=i(n,2),H=i(a(k)),h=a(H,!0);t(H),t(k);var w=i(k,2);_e(w,{get blocks(){return ce},get citations(){return ie},streaming:!0,get replayKey(){return r(l)}}),t(A);var I=i(A,2),S=a(I),E=i(a(S),2),D=a(E);be(D,{get address(){return v},get activeLayers(){return r(s)},get syntheticPrior(){return m}});var K=i(D,2);{let o=G(()=>({empirical:0,modeled:0,synthetic:m.features.length,proxy:0}));xe(K,{get active(){return r(s)},get featureCounts(){return r(o)},onToggle:d=>se(s,{...r(s),[d]:!r(s)[d]},!0)})}t(E),t(S);var P=i(S,2),L=a(P);ke(L,{get citations(){return ie}}),t(P),t(I),t(x);var Y=i(x,2),O=a(Y),ee=a(O);Je(ee,{get items(){return Qe}}),t(O);var Q=i(O,2),u=a(Q);we(u,{get root(){return Xe}}),t(Q),t(Y),t(b),t(p),F(()=>g(h,oe)),ve("click",_,()=>se(l,r(l)+1)),f(B,p),J()}le(["click"]);export{ot as component,dt as universal};
 
 
web/sveltekit/build/_app/immutable/nodes/5.bzoVhlKW.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{d as V,b as U,a as j,f as q,s as z}from"../chunks/Dlpu43Tj.js";import{p as Z,K as Q,l as s,j as d,L as J,G as X,t as $,a as ee,s as i,c as e,k as a,r as t,J as te}from"../chunks/DwbuJhNu.js";import{B as ie}from"../chunks/CtphE0zf.js";import{R as ae,M as re,C as oe,F as ne}from"../chunks/TTdyitJv.js";import{p as se,b as R}from"../chunks/DNaFzQeI.js";const de=!0,ve=Object.freeze(Object.defineProperty({__proto__:null,prerender:de},Symbol.toStringTag,{value:"Module"})),E="80 Pioneer Street · Red Hook · Brooklyn",v={c1:{id:"c1",n:1,tier:"empirical",source:"USGS",title:"Hurricane Sandy storm tide elevations, NY-NJ Harbor",docId:"USGS-OFR-2013-1234",url:"https://pubs.usgs.gov/of/2013/1234/",vintage:"2013-05",retrieved:"2026-04-28"},c2:{id:"c2",n:2,tier:"empirical",source:"NYC OEM",title:"Hurricane Sandy Inundation Zone (2012)",docId:"NYCOEM-SIZ-2013",url:"https://data.cityofnewyork.us/dataset/sandy-inundation-zone",vintage:"2013-01",retrieved:"2026-04-28"},c3:{id:"c3",n:3,tier:"empirical",source:"FloodNet NYC",title:"Sensor BK-RH-002 — Coffey Park, monthly exceedance",docId:"FN-BK-RH-002",url:"https://floodnet.nyc/sensor/BK-RH-002",vintage:"2026-04",retrieved:"2026-05-02"},c4:{id:"c4",n:4,tier:"modeled",source:"FEMA",title:"Preliminary Flood Insurance Rate Map, panel 36047C0207G",docId:"FEMA-FIRM-36047C0207G",url:"https://msc.fema.gov/portal/search",vintage:"2024-09",retrieved:"2026-04-28"},c5:{id:"c5",n:5,tier:"modeled",source:"NYC DEP",title:"Stormwater Flood Map — Moderate Stormwater Scenario",docId:"NYCDEP-SWFM-2024",url:"https://nyc.gov/stormwater-map",vintage:"2024-06",retrieved:"2026-04-28"},c6:{id:"c6",n:6,tier:"modeled",source:"NPCC4",title:"Sea-level rise projections, 2050 90th percentile",docId:"NPCC4-Ch3-Tbl3.2",url:"https://nyas.org/npcc4",vintage:"2024-03",retrieved:"2026-04-28"},c7:{id:"c7",n:7,tier:"proxy",source:"NYC 311",title:"Flooding service requests, BK CB6 2019–2025",docId:"NYC311-FLD-CB6",url:"https://data.cityofnewyork.us/311",vintage:"2025-12",retrieved:"2026-05-01"},c8:{id:"c8",n:8,tier:"proxy",source:"FEMA NFIP",title:"National Flood Insurance Program claims, tract 36047008500",docId:"NFIP-T36047008500",url:"https://www.fema.gov/openfema",vintage:"2024-12",retrieved:"2026-04-28"},c9:{id:"c9",n:9,tier:"synthetic",source:"TerraMind v1.2",title:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded)",docId:"RIPRAP-SYN-20250914",url:"#methodology-synthetic",vintage:"2025-09",retrieved:"2026-05-02"},c10:{id:"c10",n:10,tier:"modeled",source:"NYC DCP",title:"Waterfront Revitalization Program — Coastal Risk Area",docId:"NYCDCP-WRP-2022",url:"https://nyc.gov/dcp/wrp",vintage:"2022-11",retrieved:"2026-04-28"}},M=[{kind:"status",html:'<p class="briefing-deck"><strong>80 Pioneer Street, Red Hook, Brooklyn 11231.</strong> Block 597, Lot 30. Industrial Business Zone (IBZ-RH). Queried 2026-05-02 14:22 ET. <span class="briefing-meta">Briefing v0.4.2 · 9 specialists fired · 1 silent (TidalGauge: out of range)</span></p>'},{kind:"head",n:"01",label:"Status",title:"Coastal-edge, post-Sandy, multi-hazard"},{kind:"prose",parts:[{tier:"empirical",text:"The address sits 380 ft inland of the Erie Basin bulkhead, at a ground elevation of 6.2 ft NAVD88",cite:"c1"},{text:" — within the "},{tier:"empirical",text:"2012 Sandy Inundation Zone, which recorded a peak storm tide of 11.4 ft NAVD88 at the Battery",cite:"c2"},{text:" 2.4 mi to the northwest. "},{tier:"modeled",text:"FEMA's preliminary FIRM places the parcel in Zone AE (BFE 11 ft NAVD88)",cite:"c4"},{text:", a 4.8 ft freeboard above current grade. The site is upgradient of two FloodNet sensors and three blocks from a chronic 311 cluster."}]},{kind:"head",n:"02",label:"Empirical evidence",tier:"empirical"},{kind:"prose",parts:[{tier:"empirical",text:"FloodNet sensor BK-RH-002 (Coffey Park, 1,200 ft south) recorded 7 above-curb events between 2024-06 and 2026-04",cite:"c3"},{text:", with a peak depth of 14.3 cm during the 2025-09-29 nor'easter. "},{tier:"empirical",text:"USGS post-Sandy high-water marks within 500 ft cluster between 6.8 and 8.1 ft NAVD88",cite:"c1"},{text:", consistent with 0.6–1.9 ft of standing water at the queried address during the storm."}]},{kind:"head",n:"03",label:"Modeled scenarios",tier:"modeled"},{kind:"prose",parts:[{tier:"modeled",text:"DEP's Moderate Stormwater Scenario (2.13 in/hr design storm) shows ponding ≥4 in across the western half of the lot",cite:"c5"},{text:", routed by the 1.2% slope toward Imlay St. "},{tier:"modeled",text:"Under NPCC4's 2050 90th-percentile sea-level rise (30 in)",cite:"c6"},{text:", the parcel falls within the projected daily-tidal floodplain by mid-century. "},{tier:"synthetic",text:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded) was generated by TerraMind v1.2 and is presented as a prior, not an observation",cite:"c9"},{text:"; treat with appropriate caution."}]},{kind:"head",n:"04",label:"Policy context"},{kind:"prose",parts:[{tier:"proxy",text:"311 flood complaints within the surrounding census tract total 89 calls over 2019–2025, with seasonal clustering in Aug–Oct",cite:"c7"},{text:". "},{tier:"proxy",text:"NFIP claims aggregated to tract 36047008500 total $4.1M across 47 paid losses since 2000",cite:"c8"},{text:". "},{tier:"modeled",text:"The site lies within the NYC Waterfront Revitalization Program Coastal Risk Area; CEQR §817 review applies to any discretionary action",cite:"c10"},{text:"."}]}],le={wallSeconds:14,cacheHit:.92,cards:[{id:"fc-fema",stone:"cornerstone",tier:"modeled",variant:"headline",source:"FEMA",agency:"Federal Emergency Management Agency",vintage:"2024-09",title:"Preliminary FIRM, panel 36047C0207G",headline:"Zone AE",subhead:"BFE 11 ft NAVD88 · freeboard +4.8 ft",body:"Address sits within the regulatory 1% annual-chance floodplain. Base Flood Elevation 11.0 ft NAVD88; first floor must be at or above this datum for NFIP rating.",docId:"FEMA-FIRM-36047C0207G",citeId:"c4",mapLayer:"fema-ae"},{id:"fc-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"U.S. Geological Survey",vintage:"2013-05",title:"Post-Sandy high-water marks within 500 ft",columns:["id","elev.","dist."],rows:[["HWM-NY-3081","7.4 ft NAVD88","0.18 mi"],["HWM-NY-3082","8.1 ft NAVD88","0.22 mi"],["HWM-NY-3105","6.8 ft NAVD88","0.31 mi"]],sub:"3 marks · max 8.1 ft · surveyed Nov 2012",docId:"USGS-OFR-2013-1234",citeId:"c1",mapLayer:"hwm"},{id:"fc-stormwater",stone:"cornerstone",tier:"modeled",variant:"raster",source:"NYC DEP",agency:"NYC Dept. of Environmental Protection",vintage:"2024-06",title:"Stormwater Flood Map · moderate scenario",rasterKind:"stormwater",sub:"2.13 in/hr · ponding ≥4 in W half of lot · routed toward Imlay St",docId:"NYCDEP-SWFM-2024",citeId:"c5",mapLayer:"stormwater"},{id:"fc-register-rh",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:"2026-05",title:"Nearby exposed assets",registers:[{reg:"MTA",tier:"empirical",label:"Smith–9 St subway entrance",detail:"0.34 mi · F · G",sourceId:"MTA-ENT-N048",vintage:"2025-11",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook East Houses",detail:"0.41 mi · 2,878 res.",sourceId:"NYCHA-RHE",vintage:"2025-Q3",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook West Houses",detail:"0.52 mi · 3,142 res.",sourceId:"NYCHA-RHW",vintage:"2025-Q3",note:null},{reg:"DOE",tier:"empirical",label:"PS 27 Agnes Y. Humphrey",detail:"0.29 mi · 271 K-5",sourceId:"DOE-K027",vintage:"2024-25",note:null},{reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,vintage:null,note:"no acute-care hospital within 1.0 mi (silent)"},{reg:"PLUTO",tier:"empirical",label:"Lot 36047 / 521 / 7",detail:"BIN 3018472 · MX-1",sourceId:"PLUTO-2024v2",vintage:"2024-12",note:null}],sub:"5 of 6 registers fired · 1 silent · joined within 1.0 mi",docId:"RIPRAP-EXP-RH80",citeId:"c-reg-rh",mapLayer:"registers"},{id:"fc-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC sensor network",vintage:"2026-04",title:"Sensor BK-RH-002, monthly above-curb events",headline:"7 events",subhead:"Jun 2024 → Apr 2026 · peak 14.3 cm",spark:[0,0,1,0,2,1,0,0,3,0,1,0,0,0,2,1,0,0,1,0,2,4,1,1],sparkSub:"Sensor located 0.21 mi N at Coffey & Van Brunt. Above-curb depth in cm; events ≥2 cm.",docId:"FN-BK-RH-002",citeId:"c3",mapLayer:"floodnet"},{id:"fc-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests",vintage:"2025-12",title:"Recent 311 flood complaints, BK CB6",headline:"89 calls",subhead:"2019–2025 · seasonal cluster Aug–Oct",histogram:[3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0],sparkSub:"Filtered to complaint types: Sewer (Backup), Street Flooding, Catch Basin Clogged. Within 200 m of address.",docId:"NYC311-FLD-CB6",citeId:"c7",mapLayer:"complaints"},{id:"fc-prithvi",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC",agency:"Prithvi-NYC-Pluvial v2 · IBM/NASA × Riprap",vintage:"2026-05-02",title:"Pluvial flood prediction, current Sentinel-2 chip",rasterKind:"prithvi",headline:"0.3% flooded",subhead:"no flooding apparent · scene 2026-05-02",sub:"Model interpretation of imagery, not real-time observation. Confidence-mean 0.84 across non-flooded pixels.",docId:"PRITHVI-NYC-PLUV-V2-20260502",citeId:"c-prithvi",illustrative:!0,mapLayer:"prithvi"},{id:"fc-nws",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS KNYC",agency:"NOAA · National Weather Service",vintage:"2026-05-05",title:"Current weather, station KNYC",scalars:[{value:"0.02 in",label:"precip · last 24h"},{value:"67°F",label:"temp · current"},{value:"PC",label:"conditions"}],sub:"Observation timestamp 2026-05-05 14:18 ET. Central Park station; not point-of-query.",docId:"NWS-KNYC",citeId:"c-nws",mapLayer:"nws"},{id:"fc-ttm-surge",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2",agency:"IBM Granite-TimeSeries · Riprap fine-tune",vintage:"2026-05-05 12:00 ET",title:"Storm surge nowcast at The Battery, 96-hour horizon",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:"+47 cm @ +38h"},headline:"+47 cm",subhead:"peak surge residual · Wed 04:00 ET",sub:"Nowcast applies city-wide via NOAA station 8518750. Not localized to query address. Residual above harmonic tide.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery_surge_v2",citeId:"c-ttm",mapLayer:null},{id:"fc-npcc4",stone:"lodestone",tier:"modeled",variant:"forecast",source:"NPCC4",agency:"NYC Panel on Climate Change, 4th Assessment",vintage:"2024-03",title:"Sea-level rise projections, Lower NY Harbor",forecast:[{year:2030,low:4,mid:6,high:9},{year:2050,low:13,mid:22,high:30},{year:2080,low:28,mid:49,high:75},{year:2100,low:38,mid:71,high:114}],sub:"inches MSL · 17th–83rd %ile range, median line. Battery tide-gauge baseline.",docId:"NPCC4-Ch3-Tbl3.2",citeId:"c6",mapLayer:null},{id:"fc-mellea-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · grounding check",vintage:"2026-05-05 14:22 ET",title:"Briefing reconciliation",metaRows:[{k:"Mellea reroll",v:"1 attempt"},{k:"Grounding checks",v:"4 / 4 passed"},{k:"Citations resolved",v:"11 / 11"},{k:"RAG → GLiNER",v:"9 entities · 0 unresolved"}],sub:"Capstone produces prose, not cards. This meta-card summarizes the reconciler chain that wrote the four-section briefing above.",docId:"RIPRAP-CAP-RH80",citeId:null,mapLayer:null}],stones:[{key:"cornerstone",members:[{id:"CORN-001",name:"pull FEMA NFHL panel 36047C0207G",status:"ok",tier:"modeled",ms:412},{id:"CORN-002",name:"parse panel index for AE / VE bands",status:"ok",tier:"modeled",ms:88},{id:"CORN-003",name:"USGS STN: post-Sandy HWM survey within 500 ft",status:"ok",tier:"empirical",ms:612},{id:"CORN-004",name:"NYC DEP stormwater flood map 2024",status:"ok",tier:"modeled",ms:980},{id:"CORN-005",name:"microtopo: 3DEP DEM + HAND + TWI",status:"ok",tier:"proxy",ms:1240}]},{key:"keystone",members:[{id:"KEY-001",name:"MTA subway entrance proximity",status:"ok",tier:"empirical",ms:220},{id:"KEY-002",name:"NYCHA developments in 1 mi",status:"ok",tier:"empirical",ms:410},{id:"KEY-003",name:"DOE schools in 1 mi",status:"ok",tier:"empirical",ms:360},{id:"KEY-004",name:"NYS DOH hospitals in 1 mi",status:"silent",tier:"empirical",ms:95,note:"no acute-care within 1 mi"},{id:"KEY-005",name:"PLUTO BBL fetch",status:"ok",tier:"empirical",ms:130}]},{key:"touchstone",members:[{id:"TCH-001",name:"FloodNet sensor lookup",status:"ok",tier:"empirical",ms:285},{id:"TCH-002",name:"NYC 311 flood complaints",status:"ok",tier:"proxy",ms:410},{id:"TCH-003",name:"NWS station KNYC observation",status:"ok",tier:"empirical",ms:240},{id:"TCH-004",name:"NOAA tide gauge water level",status:"ok",tier:"empirical",ms:196},{id:"TCH-005",name:"Prithvi-EO 2.0 NYC-Pluvial v2",status:"ok",tier:"modeled",ms:4920}]},{key:"lodestone",members:[{id:"LOD-001",name:"Granite TTM r2 surge fine-tune",status:"ok",tier:"modeled",ms:1820},{id:"LOD-002",name:"NPCC4 SLR projection table",status:"ok",tier:"modeled",ms:38},{id:"LOD-003",name:"NWS active flood alerts",status:"silent",tier:"modeled",ms:110}]},{key:"capstone",members:[{id:"CAP-001",name:"Granite Embedding RAG retrieval",status:"ok",tier:"proxy",ms:410},{id:"CAP-002",name:"GLiNER typed extraction",status:"ok",tier:"proxy",ms:280},{id:"CAP-003",name:"Granite 4.1 reconcile (Mellea)",status:"ok",tier:"modeled",ms:6240}]}]};var ce=q('<section class="hero-band"><div class="hero-band-inner"><div class="app-shell-top is-desktop"><main id="region-briefing" class="app-region app-region-brief" aria-labelledby="brief-h1"><header class="region-head"><span class="section-label">Briefing</span> <button type="button" class="region-action" aria-label="Replay streaming">↻ replay stream</button></header> <h1 id="brief-h1" class="brief-h1">Flood-exposure briefing <span class="brief-h1-addr"> </span></h1> <!></main> <div class="app-region-side" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map" aria-label="Map region"><header class="region-head"><span class="section-label">Map</span> <span class="region-head-meta">Carto Positron · z15 · 40.6776°N 74.0096°W</span></header> <div style="position: relative; flex: 1; min-height: 0;"><!> <!></div></aside> <aside id="region-cites" class="app-region app-region-cites" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom"><section class="app-region app-region-findings" aria-label="Findings"><!></section></div></div></section>');function ye(F,x){Z(x,!0);let y=d(null),Y="comfortable",T="smart",f=d(!1);Q(()=>{typeof window<"u"&&s(f,new URL(window.location.href).searchParams.get("grammar")==="1")});function H(n){s(y,n,!0)}function B(n){const o=document.getElementById("region-cites");o&&o.scrollIntoView({behavior:"smooth",block:"start"})}let r=d(J({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),l=d(0);X(()=>(se({queryId:"sample",queryText:E,intent:"single_address",specialists:9,blocks:M,citations:v,generatedAt:new Date().toISOString(),attempts:1}),R.markReady(),()=>R.reset()));const L={label:"80 Pioneer St",lat:40.6776,lon:-74.0096},b={type:"FeatureCollection",features:[{type:"Feature",properties:{source:"sample-fixture",tier:"synthetic"},geometry:{type:"Polygon",coordinates:[[[-74.014,40.679],[-74.007,40.68],[-74.005,40.677],[-74.009,40.6755],[-74.014,40.679]]]}}]};var c=ce(),N=e(c),m=e(N),p=e(m),u=e(p),D=i(e(u),2);t(u);var g=i(u,2),C=i(e(g)),O=e(C,!0);t(C),t(g);var G=i(g,2);ie(G,{get blocks(){return M},get citations(){return v},streaming:!0,get replayKey(){return a(l)}}),t(p);var k=i(p,2),h=e(k),S=i(e(h),2),w=e(S);ae(w,{get address(){return L},get activeLayers(){return a(r)},get syntheticPrior(){return b}});var _=i(w,2);{let n=te(()=>({empirical:0,modeled:0,synthetic:b.features.length,proxy:0}));re(_,{get active(){return a(r)},get featureCounts(){return a(n)},onToggle:o=>s(r,{...a(r),[o]:!a(r)[o]},!0)})}t(S),t(h);var I=i(h,2),K=e(I);oe(K,{get citations(){return v}}),t(I),t(k),t(m);var P=i(m,2),A=e(P),W=e(A);ne(W,{get data(){return le},density:Y,provenanceMode:T,get showGrammar(){return a(f)},get linkedKey(){return a(y)},onLink:H,onCite:B}),t(A),t(P),t(N),t(c),$(()=>z(O,E)),U("click",D,()=>s(l,a(l)+1)),j(F,c),ee()}V(["click"]);export{ye as component,ve as universal};
web/sveltekit/build/_app/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"1777858715422"}
 
1
+ {"version":"1778019086140"}
web/sveltekit/build/index.html CHANGED
@@ -6,19 +6,19 @@
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
- <link href="./_app/immutable/entry/start.CmPnsLDb.js" rel="modulepreload">
10
- <link href="./_app/immutable/chunks/DOnKrFbX.js" rel="modulepreload">
11
- <link href="./_app/immutable/chunks/CYuHyzh3.js" rel="modulepreload">
12
- <link href="./_app/immutable/entry/app.NAzo06Kr.js" rel="modulepreload">
13
- <link href="./_app/immutable/chunks/DwPgZwgo.js" rel="modulepreload">
14
- <link href="./_app/immutable/chunks/BLULdth_.js" rel="modulepreload">
15
- <link href="./_app/immutable/chunks/vWNuMvXT.js" rel="modulepreload">
16
- <link href="./_app/immutable/nodes/0.B4c3XvjB.js" rel="modulepreload">
17
- <link href="./_app/immutable/chunks/CdmpEGnB.js" rel="modulepreload">
18
- <link href="./_app/immutable/chunks/DO0D806X.js" rel="modulepreload">
19
- <link href="./_app/immutable/chunks/CpEmpa3I.js" rel="modulepreload">
20
- <link href="./_app/immutable/nodes/2.DFmLn71L.js" rel="modulepreload">
21
- <link href="./_app/immutable/chunks/B7gjWklj.js" rel="modulepreload">
22
 
23
  <link href="./_app/immutable/assets/0.KpTzaSsX.css" rel="stylesheet">
24
  </head>
@@ -31,15 +31,15 @@
31
 
32
  <script>
33
  {
34
- __sveltekit_yhur1t = {
35
  base: new URL(".", location).pathname.slice(0, -1)
36
  };
37
 
38
  const element = document.currentScript.parentElement;
39
 
40
  Promise.all([
41
- import("./_app/immutable/entry/start.CmPnsLDb.js"),
42
- import("./_app/immutable/entry/app.NAzo06Kr.js")
43
  ]).then(([kit, app]) => {
44
  kit.start(app, element, {
45
  node_ids: [0, 2],
 
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
+ <link href="./_app/immutable/entry/start.DwypF5JZ.js" rel="modulepreload">
10
+ <link href="./_app/immutable/chunks/Bww_RjdA.js" rel="modulepreload">
11
+ <link href="./_app/immutable/chunks/DwbuJhNu.js" rel="modulepreload">
12
+ <link href="./_app/immutable/entry/app.ccWcazJ_.js" rel="modulepreload">
13
+ <link href="./_app/immutable/chunks/1oGnrPC6.js" rel="modulepreload">
14
+ <link href="./_app/immutable/chunks/Dlpu43Tj.js" rel="modulepreload">
15
+ <link href="./_app/immutable/chunks/8F5LpR-T.js" rel="modulepreload">
16
+ <link href="./_app/immutable/nodes/0.CLNNGkkj.js" rel="modulepreload">
17
+ <link href="./_app/immutable/chunks/DNaFzQeI.js" rel="modulepreload">
18
+ <link href="./_app/immutable/chunks/BPL6dYL1.js" rel="modulepreload">
19
+ <link href="./_app/immutable/chunks/DFFHaukH.js" rel="modulepreload">
20
+ <link href="./_app/immutable/nodes/2.CtcjjzWF.js" rel="modulepreload">
21
+ <link href="./_app/immutable/chunks/CBcGqa-S.js" rel="modulepreload">
22
 
23
  <link href="./_app/immutable/assets/0.KpTzaSsX.css" rel="stylesheet">
24
  </head>
 
31
 
32
  <script>
33
  {
34
+ __sveltekit_1k2uwdb = {
35
  base: new URL(".", location).pathname.slice(0, -1)
36
  };
37
 
38
  const element = document.currentScript.parentElement;
39
 
40
  Promise.all([
41
+ import("./_app/immutable/entry/start.DwypF5JZ.js"),
42
+ import("./_app/immutable/entry/app.ccWcazJ_.js")
43
  ]).then(([kit, app]) => {
44
  kit.start(app, element, {
45
  node_ids: [0, 2],
web/sveltekit/build/q/sample.html CHANGED
The diff for this file is too large to render. See raw diff
 
web/sveltekit/src/lib/client/cardAdapter.ts ADDED
@@ -0,0 +1,586 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * FSM-state → Findings Card[] adapter.
3
+ *
4
+ * The Findings region is rendered from a `FindingsData` shape:
5
+ * `{ cards, stones, wallSeconds }`. The FSM produces a different
6
+ * structure: a stream of step events plus a final payload with each
7
+ * specialist's raw output keyed by state name (`sandy`, `dep`,
8
+ * `nyc311`, `mta_entrances`, etc.).
9
+ *
10
+ * This module bridges the two. For each Stone we collect the relevant
11
+ * state keys, render a card per non-silent specialist using the most
12
+ * legible variant for the data shape, and build a per-Stone trace from
13
+ * the TraceNode tree.
14
+ *
15
+ * Best-effort: a missing specialist drops out (silence over
16
+ * confabulation); a specialist that fired with no usable shape becomes
17
+ * a `meta` card listing whatever scalars it returned.
18
+ */
19
+ import type {
20
+ Card, FindingsData, StoneKey, StoneMember, StoneTrace
21
+ } from '$lib/types/card';
22
+ import type { TraceNode, TraceStatus } from '$lib/types/trace';
23
+ import type { FinalResult } from '$lib/client/agentStream';
24
+
25
+ /** Reasonable defaults — when the FSM doesn't supply a vintage, fall
26
+ * back to the Riprap publication date. */
27
+ const RIPRAP_VINTAGE = '2026-05';
28
+
29
+ /** Map an FSM step name to the trace status the Findings layer wants. */
30
+ function mapStatus(s: TraceStatus): StoneMember['status'] {
31
+ if (s === 'fan' || s === 'merge') return 'ok'; // structural nodes
32
+ if (s === 'silent') return 'silent';
33
+ if (s === 'error') return 'error';
34
+ return 'ok';
35
+ }
36
+
37
+ function flattenTrace(node: TraceNode): TraceNode[] {
38
+ return [node, ...(node.children ?? []).flatMap(flattenTrace)];
39
+ }
40
+
41
+ /** Group leaf specialist nodes by the Stone their state-key belongs to.
42
+ * The trace's name often differs from the state key (e.g.
43
+ * `mta_entrance_exposure` vs state `mta_entrances`); we map both. */
44
+ function stoneForStep(name: string): StoneKey | null {
45
+ const n = name.toLowerCase();
46
+ // Single-address chain
47
+ if (n === 'sandy_inundation' || n === 'sandy') return 'cornerstone';
48
+ if (n === 'dep_stormwater' || n === 'dep') return 'cornerstone';
49
+ if (n === 'ida_hwm_2021' || n === 'ida_hwm') return 'cornerstone';
50
+ if (n === 'prithvi_eo_v2' || n === 'prithvi_water') return 'cornerstone';
51
+ if (n === 'microtopo_lidar' || n === 'microtopo') return 'cornerstone';
52
+ if (n === 'mta_entrance_exposure' || n === 'mta_entrances') return 'keystone';
53
+ if (n === 'nycha_development_exposure' || n === 'nycha_developments') return 'keystone';
54
+ if (n === 'doe_school_exposure' || n === 'doe_schools') return 'keystone';
55
+ if (n === 'doh_hospital_exposure' || n === 'doh_hospitals') return 'keystone';
56
+ if (n === 'terramind_synthesis' || n === 'terramind' || n === 'terramind_buildings' ||
57
+ n === 'eo_chip_fetch') return 'keystone';
58
+ if (n === 'floodnet') return 'touchstone';
59
+ if (n === 'nyc311') return 'touchstone';
60
+ if (n === 'nws_obs') return 'touchstone';
61
+ if (n === 'noaa_tides') return 'touchstone';
62
+ if (n === 'prithvi_eo_live' || n === 'prithvi_live' || n === 'terramind_lulc')
63
+ return 'touchstone';
64
+ if (n === 'nws_alerts') return 'lodestone';
65
+ if (n === 'ttm_forecast' || n === 'ttm_311_forecast' || n === 'floodnet_forecast' ||
66
+ n === 'ttm_battery_surge') return 'lodestone';
67
+ if (n.startsWith('reconcile') || n.startsWith('mellea') ||
68
+ n === 'rag_granite_embedding' || n === 'gliner_extract') return 'capstone';
69
+ return null;
70
+ }
71
+
72
+ function buildStoneTraces(root: TraceNode | undefined | null): StoneTrace[] {
73
+ const buckets: Record<StoneKey, StoneMember[]> = {
74
+ cornerstone: [], keystone: [], touchstone: [], lodestone: [], capstone: [],
75
+ };
76
+ if (root) {
77
+ for (const node of flattenTrace(root)) {
78
+ const stone = stoneForStep(node.name);
79
+ if (!stone) continue;
80
+ buckets[stone].push({
81
+ id: node.id || node.name,
82
+ name: node.name,
83
+ status: mapStatus(node.status),
84
+ tier: node.tier,
85
+ ms: node.ms,
86
+ note: node.note ?? node.error ?? undefined,
87
+ });
88
+ }
89
+ }
90
+ return (Object.keys(buckets) as StoneKey[]).map((key) => ({
91
+ key,
92
+ members: buckets[key],
93
+ }));
94
+ }
95
+
96
+ /* ── Per-specialist card builders. Each returns null if the specialist
97
+ didn't fire, returned no usable data, or the shape doesn't exist. ── */
98
+
99
+ type Final = Record<string, unknown> & FinalResult;
100
+
101
+ function num(v: unknown): number | null {
102
+ return typeof v === 'number' && Number.isFinite(v) ? v : null;
103
+ }
104
+
105
+ function str(v: unknown): string | null {
106
+ return typeof v === 'string' ? v : null;
107
+ }
108
+
109
+ function obj(v: unknown): Record<string, unknown> | null {
110
+ return v && typeof v === 'object' && !Array.isArray(v)
111
+ ? (v as Record<string, unknown>) : null;
112
+ }
113
+
114
+ function buildSandy(state: Final, geocode: Record<string, unknown> | null): Card | null {
115
+ if (state.sandy !== true) return null;
116
+ const addr = geocode && str(geocode.address);
117
+ return {
118
+ id: 'fsm-sandy',
119
+ stone: 'cornerstone', tier: 'empirical', variant: 'headline',
120
+ source: 'NYC OEM', agency: 'NYC OpenData 5xsi-dfpx · Sandy 2012 inundation',
121
+ vintage: '2012-10-29',
122
+ title: 'Hurricane Sandy 2012 inundation',
123
+ headline: 'Inside zone',
124
+ subhead: addr ?? 'address inside the empirical 2012 extent',
125
+ body: 'Address sits within the empirical Hurricane Sandy 2012 inundation extent. This is a historical fact, not a model prediction.',
126
+ docId: 'sandy', citeId: 'sandy', mapLayer: 'sandy',
127
+ };
128
+ }
129
+
130
+ function buildDep(state: Final): Card | null {
131
+ const dep = obj(state.dep);
132
+ if (!dep) return null;
133
+ const rows: (string | number)[][] = [];
134
+ for (const [scen, info] of Object.entries(dep)) {
135
+ const i = obj(info);
136
+ if (!i) continue;
137
+ const cls = num(i.depth_class) ?? 0;
138
+ if (cls <= 0) continue;
139
+ rows.push([scen.replace('dep_', ''), str(i.depth_label) ?? '—', `class ${cls}`]);
140
+ }
141
+ if (!rows.length) return null;
142
+ return {
143
+ id: 'fsm-dep',
144
+ stone: 'cornerstone', tier: 'modeled', variant: 'tabular',
145
+ source: 'NYC DEP', agency: 'NYC Department of Environmental Protection · Stormwater Flood Maps',
146
+ vintage: '2021',
147
+ title: 'Stormwater flood scenarios at this address',
148
+ columns: ['scenario', 'depth label', 'class'],
149
+ rows,
150
+ sub: `${rows.length} scenario${rows.length === 1 ? '' : 's'} place this lot in modeled flooding`,
151
+ docId: 'dep_stormwater', citeId: 'dep', mapLayer: 'stormwater',
152
+ };
153
+ }
154
+
155
+ function buildIdaHwm(state: Final): Card | null {
156
+ const ida = obj(state.ida_hwm);
157
+ if (!ida) return null;
158
+ const n = num(ida.n_within_radius);
159
+ if (!n || n <= 0) return null;
160
+ const rows: (string | number)[][] = [];
161
+ rows.push(['count', `${n}`, `${num(ida.radius_m) ?? 800} m radius`]);
162
+ if (num(ida.max_height_above_gnd_ft) != null) {
163
+ rows.push(['max above gnd', `${ida.max_height_above_gnd_ft} ft`, '—']);
164
+ }
165
+ if (num(ida.nearest_dist_m) != null) {
166
+ rows.push(['nearest', str(ida.nearest_site) ?? 'HWM', `${ida.nearest_dist_m} m`]);
167
+ }
168
+ return {
169
+ id: 'fsm-ida-hwm',
170
+ stone: 'cornerstone', tier: 'empirical', variant: 'tabular',
171
+ source: 'USGS', agency: 'USGS STN Hurricane Ida 2021 high-water marks (Event 312)',
172
+ vintage: '2021-09',
173
+ title: 'Hurricane Ida 2021 high-water marks nearby',
174
+ columns: ['field', 'value', 'context'],
175
+ rows,
176
+ docId: 'ida_hwm', citeId: 'ida_hwm', mapLayer: 'hwm',
177
+ };
178
+ }
179
+
180
+ function buildPrithviWater(state: Final): Card | null {
181
+ const pw = obj(state.prithvi_water);
182
+ if (!pw) return null;
183
+ const dist = num(pw.nearest_distance_m);
184
+ if (dist == null) return null;
185
+ return {
186
+ id: 'fsm-prithvi-water',
187
+ stone: 'cornerstone', tier: 'modeled', variant: 'raster',
188
+ source: 'Prithvi-EO 2.0', agency: 'IBM/NASA Prithvi-EO 2.0 · baked Hurricane Ida 2021 polygons',
189
+ vintage: '2021-09-02',
190
+ title: 'Hurricane Ida 2021 — satellite-attributable inundation',
191
+ rasterKind: 'prithvi',
192
+ headline: pw.inside_water_polygon ? 'Inside polygon' : `${dist} m away`,
193
+ subhead: 'pre/post HLS Sentinel-2 segmentation',
194
+ sub: `${num(pw.n_polygons_within_500m) ?? 0} distinct polygons within 500 m`,
195
+ docId: 'prithvi_water', citeId: 'prithvi_water', mapLayer: 'prithvi',
196
+ };
197
+ }
198
+
199
+ function buildMicrotopo(state: Final): Card | null {
200
+ const mt = obj(state.microtopo);
201
+ if (!mt) return null;
202
+ const elev = num(mt.point_elev_m);
203
+ if (elev == null) return null;
204
+ const scalars = [
205
+ { value: `${elev.toFixed(1)} m`, label: 'elevation' },
206
+ ];
207
+ if (num(mt.hand_m) != null) scalars.push({ value: `${(mt.hand_m as number).toFixed(1)} m`, label: 'HAND' });
208
+ if (num(mt.twi) != null) scalars.push({ value: `${(mt.twi as number).toFixed(1)}`, label: 'TWI' });
209
+ if (num(mt.rel_elev_pct_200m) != null) scalars.push({ value: `${mt.rel_elev_pct_200m}%`, label: 'pct lower 200m' });
210
+ return {
211
+ id: 'fsm-microtopo',
212
+ stone: 'cornerstone', tier: 'proxy', variant: 'scalars',
213
+ source: 'USGS 3DEP', agency: 'USGS 3DEP DEM (LiDAR-derived) + whitebox-workflows hydrology',
214
+ vintage: '2018',
215
+ title: 'Microtopography at this point',
216
+ scalars,
217
+ sub: 'Lower percentile = topographic low point; runoff routes here.',
218
+ docId: 'microtopo', citeId: 'microtopo',
219
+ };
220
+ }
221
+
222
+ /** Per-asset register. Each register-specialist's state has an `available`
223
+ * flag + a list of items; we render one card with N rows. */
224
+ function buildRegisters(state: Final): Card | null {
225
+ const rows: NonNullable<Card['registers']> = [];
226
+ const mta = obj(state.mta_entrances);
227
+ if (mta?.available && Array.isArray(mta.entrances)) {
228
+ for (const e of (mta.entrances as Record<string, unknown>[]).slice(0, 4)) {
229
+ rows.push({
230
+ reg: 'MTA', tier: 'empirical',
231
+ label: str(e.station_name) ?? str(e.entrance_id) ?? 'entrance',
232
+ detail: `${num(e.distance_m) ?? '—'} m · ${str(e.daytime_routes) ?? ''}`.trim(),
233
+ sourceId: str(e.station_id) ?? 'MTA',
234
+ note: null,
235
+ });
236
+ }
237
+ } else if (mta && mta.available === false) {
238
+ rows.push({
239
+ reg: 'MTA', tier: 'empirical', label: null, detail: null, sourceId: null,
240
+ note: 'no subway entrances within 1.0 mi (silent)',
241
+ });
242
+ }
243
+
244
+ const nycha = obj(state.nycha_developments);
245
+ if (nycha?.available && Array.isArray(nycha.developments)) {
246
+ for (const d of (nycha.developments as Record<string, unknown>[]).slice(0, 3)) {
247
+ rows.push({
248
+ reg: 'NYCHA', tier: 'empirical',
249
+ label: str(d.development) ?? 'development',
250
+ detail: `${num(d.distance_m) ?? '—'} m · ${str(d.borough) ?? ''}`.trim(),
251
+ sourceId: str(d.tds_num) ?? null,
252
+ note: null,
253
+ });
254
+ }
255
+ } else if (nycha && nycha.available === false) {
256
+ rows.push({
257
+ reg: 'NYCHA', tier: 'empirical', label: null, detail: null, sourceId: null,
258
+ note: 'no NYCHA developments within 1.0 mi (silent)',
259
+ });
260
+ }
261
+
262
+ const doe = obj(state.doe_schools);
263
+ if (doe?.available && Array.isArray(doe.schools)) {
264
+ for (const s of (doe.schools as Record<string, unknown>[]).slice(0, 3)) {
265
+ rows.push({
266
+ reg: 'DOE', tier: 'empirical',
267
+ label: str(s.loc_name) ?? 'school',
268
+ detail: `${num(s.distance_m) ?? '—'} m · ${str(s.borough) ?? ''}`.trim(),
269
+ sourceId: str(s.loc_code) ?? null,
270
+ note: null,
271
+ });
272
+ }
273
+ } else if (doe && doe.available === false) {
274
+ rows.push({
275
+ reg: 'DOE', tier: 'empirical', label: null, detail: null, sourceId: null,
276
+ note: 'no schools within 1.0 mi (silent)',
277
+ });
278
+ }
279
+
280
+ const doh = obj(state.doh_hospitals);
281
+ if (doh?.available && Array.isArray(doh.hospitals)) {
282
+ for (const h of (doh.hospitals as Record<string, unknown>[]).slice(0, 3)) {
283
+ rows.push({
284
+ reg: 'DOH', tier: 'empirical',
285
+ label: str(h.facility_name) ?? 'hospital',
286
+ detail: `${num(h.distance_m) ?? '—'} m · ${str(h.borough) ?? ''}`.trim(),
287
+ sourceId: str(h.fac_id) ?? null,
288
+ note: null,
289
+ });
290
+ }
291
+ } else if (doh && doh.available === false) {
292
+ rows.push({
293
+ reg: 'DOH', tier: 'empirical', label: null, detail: null, sourceId: null,
294
+ note: 'no acute-care hospital within 1.0 mi (silent)',
295
+ });
296
+ }
297
+
298
+ if (!rows.length) return null;
299
+ return {
300
+ id: 'fsm-registers',
301
+ stone: 'keystone', tier: 'empirical', variant: 'register',
302
+ source: 'NYC OpenData', agency: 'NYC OpenData · multi-agency join',
303
+ vintage: RIPRAP_VINTAGE,
304
+ title: 'Nearby exposed assets',
305
+ registers: rows,
306
+ sub: `${rows.filter((r) => r.label).length} of ${rows.length} registers fired · joined within 1.0 mi`,
307
+ docId: 'registers', citeId: 'registers', mapLayer: 'registers',
308
+ };
309
+ }
310
+
311
+ function buildTerramindBuildings(state: Final): Card | null {
312
+ const tmb = obj(state.terramind_buildings);
313
+ if (!tmb?.ok) return null;
314
+ return {
315
+ id: 'fsm-tm-buildings',
316
+ stone: 'keystone', tier: 'modeled', variant: 'raster-pred',
317
+ source: 'TerraMind-NYC', agency: 'msradam/TerraMind-NYC-Adapters · Buildings LoRA',
318
+ vintage: '2026',
319
+ title: 'NYC building footprints — TerraMind LoRA',
320
+ rasterKind: 'buildings',
321
+ headline: `${num(tmb.pct_buildings) ?? 0}%`,
322
+ subhead: 'building-footprint coverage in chip',
323
+ sub: `${num(tmb.n_building_components) ?? 0} distinct components · test mIoU 0.5511`,
324
+ illustrative: true,
325
+ docId: 'tm_buildings', citeId: 'tm_buildings', mapLayer: 'buildings',
326
+ };
327
+ }
328
+
329
+ function buildFloodnet(state: Final): Card | null {
330
+ const fn = obj(state.floodnet);
331
+ if (!fn || (num(fn.n_sensors) ?? 0) <= 0) return null;
332
+ const events = num(fn.n_flood_events_3y) ?? 0;
333
+ return {
334
+ id: 'fsm-floodnet',
335
+ stone: 'touchstone', tier: 'empirical', variant: 'spark',
336
+ source: 'FloodNet', agency: 'FloodNet NYC ultrasonic depth sensor network',
337
+ vintage: '2026',
338
+ title: 'FloodNet sensors near this address',
339
+ headline: `${events} events`,
340
+ subhead: `${num(fn.n_sensors) ?? 0} sensors · last 3 y`,
341
+ spark: Array.from({ length: 24 }, (_, i) =>
342
+ Math.max(0, Math.round((events / 24) * 1.4 * Math.exp(-Math.pow((i - 14) / 4, 2)) +
343
+ (events / 24)))
344
+ ),
345
+ sparkSub: 'Above-curb depth events ≥ 2 cm. Synthetic monthly distribution; raw deployment-id history is in the audit panel.',
346
+ docId: 'floodnet', citeId: 'floodnet', mapLayer: 'floodnet',
347
+ };
348
+ }
349
+
350
+ function buildNyc311(state: Final): Card | null {
351
+ const n = obj(state.nyc311);
352
+ if (!n) return null;
353
+ const total = num(n.n) ?? 0;
354
+ if (total <= 0) return null;
355
+ // Synthesize a histogram that matches the seasonal pattern when by_year
356
+ // / by_descriptor is present; otherwise distribute uniformly.
357
+ const byYear = obj(n.by_year);
358
+ const byDescriptor = obj(n.by_descriptor);
359
+ const hist = byYear
360
+ ? Object.values(byYear).map((v) => num(v) ?? 0)
361
+ : Array.from({ length: 12 }, () => Math.round(total / 12));
362
+ const top = byDescriptor
363
+ ? Object.entries(byDescriptor).sort((a, b) => (num(b[1]) ?? 0) - (num(a[1]) ?? 0))[0]?.[0]
364
+ : null;
365
+ return {
366
+ id: 'fsm-311',
367
+ stone: 'touchstone', tier: 'proxy', variant: 'histogram',
368
+ source: 'NYC 311', agency: 'NYC 311 service requests (Socrata erm2-nwe9)',
369
+ vintage: RIPRAP_VINTAGE,
370
+ title: 'Recent 311 flood complaints',
371
+ headline: `${total} calls`,
372
+ subhead: top ? `top descriptor: ${top}` : 'all flood-related descriptors',
373
+ histogram: hist,
374
+ sparkSub: `Within ${num(n.radius_m) ?? 200} m · ${num(n.years) ?? 5} y window. Filtered to flood-relevant descriptors.`,
375
+ docId: 'nyc311', citeId: 'nyc311', mapLayer: 'complaints',
376
+ };
377
+ }
378
+
379
+ function buildNwsObs(state: Final): Card | null {
380
+ const obs = obj(state.nws_obs);
381
+ if (!obs || obs.error || obs.station_id == null) return null;
382
+ const scalars: NonNullable<Card['scalars']> = [];
383
+ if (num(obs.precip_last_hour_mm) != null) scalars.push({ value: `${obs.precip_last_hour_mm} mm`, label: 'precip · 1h' });
384
+ if (num(obs.precip_last_6h_mm) != null) scalars.push({ value: `${obs.precip_last_6h_mm} mm`, label: 'precip · 6h' });
385
+ if (!scalars.length) return null;
386
+ return {
387
+ id: 'fsm-nws-obs',
388
+ stone: 'touchstone', tier: 'empirical', variant: 'scalars',
389
+ source: 'NWS', agency: `NWS ASOS station ${str(obs.station_id) ?? '?'}`,
390
+ vintage: str(obs.obs_time)?.slice(0, 10) ?? RIPRAP_VINTAGE,
391
+ title: 'Recent precipitation',
392
+ scalars,
393
+ sub: `Nearest hourly METAR: ${str(obs.station_name) ?? '?'} (${num(obs.distance_km) ?? '?'} km).`,
394
+ docId: 'nws_obs', citeId: 'nws_obs', mapLayer: 'nws',
395
+ };
396
+ }
397
+
398
+ function buildNoaaTides(state: Final): Card | null {
399
+ const t = obj(state.noaa_tides);
400
+ if (!t || t.error || num(t.observed_ft_mllw) == null) return null;
401
+ const scalars: NonNullable<Card['scalars']> = [
402
+ { value: `${t.observed_ft_mllw} ft`, label: 'observed (MLLW)' },
403
+ ];
404
+ if (num(t.predicted_ft_mllw) != null) scalars.push({ value: `${t.predicted_ft_mllw} ft`, label: 'predicted' });
405
+ if (num(t.residual_ft) != null) scalars.push({ value: `${t.residual_ft} ft`, label: 'residual' });
406
+ return {
407
+ id: 'fsm-noaa',
408
+ stone: 'touchstone', tier: 'empirical', variant: 'scalars',
409
+ source: 'NOAA CO-OPS', agency: `NOAA tide gauge ${str(t.station_name) ?? str(t.station_id) ?? '?'}`,
410
+ vintage: str(t.obs_time)?.slice(0, 10) ?? RIPRAP_VINTAGE,
411
+ title: 'Live water level (nearest tide gauge)',
412
+ scalars,
413
+ sub: 'Residual = observed − astronomical tide; positive residual is wind / surge component.',
414
+ docId: 'noaa_tides', citeId: 'noaa_tides', mapLayer: 'noaa',
415
+ };
416
+ }
417
+
418
+ function buildPrithviLive(state: Final): Card | null {
419
+ const p = obj(state.prithvi_live);
420
+ if (!p?.ok) return null;
421
+ return {
422
+ id: 'fsm-prithvi-live',
423
+ stone: 'touchstone', tier: 'modeled', variant: 'raster-pred',
424
+ source: 'Prithvi-NYC v2', agency: 'msradam/Prithvi-EO-2.0-NYC-Pluvial · v2 fine-tune',
425
+ vintage: str(p.item_datetime)?.slice(0, 10) ?? RIPRAP_VINTAGE,
426
+ title: 'Live Sentinel-2 pluvial flood prediction',
427
+ rasterKind: 'prithvi',
428
+ headline: `${num(p.pct_water_within_500m) ?? 0}%`,
429
+ subhead: `water within 500 m · cloud ${num(p.cloud_cover) ?? '?'}%`,
430
+ sub: 'Test flood IoU 0.5979 on held-out NYC chips. Model interpretation, not a measurement.',
431
+ illustrative: true,
432
+ docId: 'prithvi_live', citeId: 'prithvi_live', mapLayer: 'prithvi',
433
+ };
434
+ }
435
+
436
+ function buildTerramindLulc(state: Final): Card | null {
437
+ const t = obj(state.terramind_lulc);
438
+ if (!t?.ok) return null;
439
+ return {
440
+ id: 'fsm-tm-lulc',
441
+ stone: 'touchstone', tier: 'modeled', variant: 'raster-pred',
442
+ source: 'TerraMind-NYC', agency: 'msradam/TerraMind-NYC-Adapters · LULC LoRA',
443
+ vintage: '2026',
444
+ title: 'Land-cover (current Sentinel-2 chip)',
445
+ rasterKind: 'lulc',
446
+ headline: str(t.dominant_class) ?? 'dominant class',
447
+ subhead: `${num(t.dominant_pct) ?? 0}% of chip`,
448
+ sub: 'Test mIoU 0.5866 on held-out NYC chips.',
449
+ illustrative: true,
450
+ docId: 'tm_lulc', citeId: 'tm_lulc', mapLayer: 'lulc',
451
+ };
452
+ }
453
+
454
+ function buildTtmForecast(state: Final): Card | null {
455
+ const t = obj(state.ttm_forecast);
456
+ if (!t?.available || !t.interesting) return null;
457
+ const peak = num(t.forecast_peak_ft);
458
+ const ahead = num(t.forecast_peak_minutes_ahead);
459
+ if (peak == null || ahead == null) return null;
460
+ return {
461
+ id: 'fsm-ttm-fc',
462
+ stone: 'lodestone', tier: 'modeled', variant: 'timeseries',
463
+ source: 'Granite TTM r2', agency: 'IBM Granite TimeSeries TTM r2 · zero-shot Battery surge',
464
+ vintage: RIPRAP_VINTAGE,
465
+ title: 'Surge nowcast at the Battery — 9.6 h horizon',
466
+ timeseries: { hours: 96, peak: { x: 38, y: 47 }, peakLabel: `${peak} ft @ +${Math.round(ahead/60)}h` },
467
+ headline: `${peak} ft`,
468
+ subhead: 'peak surge residual',
469
+ sub: 'Zero-shot 6-min cadence. Distinct from the fine-tuned Battery surge nowcast.',
470
+ spatialNote: 'regional · Battery, not point-of-query',
471
+ docId: 'ttm_forecast', citeId: 'ttm_forecast',
472
+ };
473
+ }
474
+
475
+ function buildTtmBatterySurge(state: Final): Card | null {
476
+ const t = obj(state.ttm_battery_surge);
477
+ if (!t?.available || !t.interesting) return null;
478
+ const peak = num(t.forecast_peak_m);
479
+ const ahead = num(t.forecast_peak_hours_ahead);
480
+ if (peak == null || ahead == null) return null;
481
+ return {
482
+ id: 'fsm-ttm-batt',
483
+ stone: 'lodestone', tier: 'modeled', variant: 'timeseries',
484
+ source: 'Granite TTM r2 · NYC fine-tune',
485
+ agency: 'msradam/Granite-TTM-r2-Battery-Surge · 96 h horizon',
486
+ vintage: RIPRAP_VINTAGE,
487
+ title: 'Battery storm-surge nowcast (96 h)',
488
+ timeseries: {
489
+ hours: 96,
490
+ peak: { x: ahead, y: Math.round(peak * 100) },
491
+ peakLabel: `${(peak * 100).toFixed(0)} cm @ +${ahead}h`,
492
+ },
493
+ headline: `${(peak * 100).toFixed(0)} cm`,
494
+ subhead: `peak surge · +${ahead}h ahead`,
495
+ sub: 'Test MAE 0.1091 m, −41% vs persistence. Hourly cadence; applies city-wide via NOAA station 8518750.',
496
+ spatialNote: 'regional · The Battery, not point-of-query',
497
+ docId: 'ttm_battery', citeId: 'ttm_battery',
498
+ };
499
+ }
500
+
501
+ function buildNwsAlerts(state: Final): Card | null {
502
+ const a = obj(state.nws_alerts);
503
+ if (!a) return null;
504
+ const n = num(a.n_active) ?? 0;
505
+ if (n <= 0) return null;
506
+ const alerts = Array.isArray(a.alerts) ? (a.alerts as Record<string, unknown>[]) : [];
507
+ return {
508
+ id: 'fsm-nws-alerts',
509
+ stone: 'lodestone', tier: 'modeled', variant: 'tabular',
510
+ source: 'NWS', agency: 'NWS Public Alerts API · flood-relevant filter',
511
+ vintage: RIPRAP_VINTAGE,
512
+ title: `${n} active flood-relevant alert${n === 1 ? '' : 's'}`,
513
+ columns: ['event', 'severity', 'expires'],
514
+ rows: alerts.slice(0, 4).map((al) => [
515
+ str(al.event) ?? '?',
516
+ str(al.severity) ?? '?',
517
+ (str(al.expires) ?? '').slice(0, 16),
518
+ ]),
519
+ sub: 'Live NWS feed. If a FLOOD or FLASH FLOOD WARNING is in this list, foreground it.',
520
+ docId: 'nws_alerts', citeId: 'nws_alerts',
521
+ };
522
+ }
523
+
524
+ function buildCapstoneMeta(final: FinalResult, wallSeconds?: number): Card {
525
+ const m = final.mellea;
526
+ const passed = m?.passed?.length ?? 0;
527
+ const failed = m?.failed?.length ?? 0;
528
+ const total = passed + failed;
529
+ const attempts = m?.attempts ?? 0;
530
+ return {
531
+ id: 'fsm-capstone-meta',
532
+ stone: 'capstone', tier: 'modeled', variant: 'meta',
533
+ source: 'Mellea', agency: 'Capstone synthesis · Granite 4.1 + Mellea grounding check',
534
+ vintage: RIPRAP_VINTAGE,
535
+ title: 'Briefing reconciliation',
536
+ metaRows: [
537
+ { k: 'Mellea reroll', v: `${attempts} attempt${attempts === 1 ? '' : 's'}` },
538
+ { k: 'Grounding checks', v: `${passed} / ${total || 4} passed` },
539
+ { k: 'Citations resolved',v: `${final.citations?.length ?? 0}` },
540
+ { k: 'Wall-clock', v: wallSeconds != null ? `${wallSeconds.toFixed(1)} s` : '—' },
541
+ ],
542
+ sub: 'Capstone produces prose, not cards. This meta-card summarises the reconciler chain that wrote the briefing above.',
543
+ docId: 'capstone',
544
+ };
545
+ }
546
+
547
+ /** Public adapter. Combines per-specialist card builders with the trace
548
+ * → StoneTrace mapper into a single FindingsData payload. */
549
+ export function adaptFinalToFindings(
550
+ final: FinalResult,
551
+ trace: TraceNode | undefined | null,
552
+ wallSeconds?: number,
553
+ ): FindingsData {
554
+ const f = final as Final;
555
+ const geocode = obj(f.geocode);
556
+ const cards: (Card | null)[] = [
557
+ // Cornerstone
558
+ buildSandy(f, geocode),
559
+ buildDep(f),
560
+ buildIdaHwm(f),
561
+ buildPrithviWater(f),
562
+ buildMicrotopo(f),
563
+ // Keystone
564
+ buildRegisters(f),
565
+ buildTerramindBuildings(f),
566
+ // Touchstone
567
+ buildFloodnet(f),
568
+ buildNyc311(f),
569
+ buildNwsObs(f),
570
+ buildNoaaTides(f),
571
+ buildPrithviLive(f),
572
+ buildTerramindLulc(f),
573
+ // Lodestone
574
+ buildNwsAlerts(f),
575
+ buildTtmForecast(f),
576
+ buildTtmBatterySurge(f),
577
+ // Capstone (always renders if we got here)
578
+ buildCapstoneMeta(final, wallSeconds),
579
+ ];
580
+
581
+ return {
582
+ cards: cards.filter((c): c is Card => c != null),
583
+ stones: buildStoneTraces(trace),
584
+ wallSeconds,
585
+ };
586
+ }
web/sveltekit/src/routes/q/[queryId]/+page.svelte CHANGED
@@ -9,7 +9,9 @@
9
  import SkeletonBriefing from '$lib/components/states/SkeletonBriefing.svelte';
10
  import RerollBanner from '$lib/components/states/RerollBanner.svelte';
11
  import ErrorCard from '$lib/components/states/ErrorCard.svelte';
12
- import RegisterCard from '$lib/components/evidence/RegisterCard.svelte';
 
 
13
  import type { ErrorKey, RegisterData } from '$lib/types/states';
14
  import { extractRegisters } from '$lib/client/registerAdapter';
15
  // Mellea rejection sampling is Riprap's sole grounding mechanism.
@@ -61,6 +63,37 @@
61
  id: 'root', name: 'briefing.run', status: 'ok', ms: 0, tier: null, children: []
62
  });
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  /** Steps that share the Granite TTM r2 foundation model — grouped
65
  * under a synthetic parent in the trace UI so the architectural
66
  * story ("one foundation model, multiple data streams") is legible
@@ -329,6 +362,7 @@
329
  onMount(() => {
330
  briefingState.reset();
331
  if (!queryText()) return;
 
332
  const stream = openAgentStream(queryText(), {
333
  onPlanToken: (d) => (planTokens += d),
334
  onPlan: (p) => (plan = p),
@@ -471,6 +505,9 @@
471
  },
472
  onDone: () => {
473
  streamDone = true;
 
 
 
474
  // v0.4.2 §12 all-silent: stream finished but no briefing emerged.
475
  if (!firstTokenSeen && !errorState && geocodeSucceeded) {
476
  errorState = 'all-silent';
@@ -592,45 +629,29 @@
592
  {/if}
593
  </aside>
594
 
595
- <aside class="app-region app-region-cites" aria-label="Citations">
596
  <CitationDrawer {citations} />
597
  </aside>
598
  </div>
599
  </div>
600
 
601
  <div class="app-shell-bottom">
602
- {#if registers.length}
603
- <section class="app-region app-region-evidence" aria-label="Asset registers">
604
- <header class="region-head">
605
- <span class="section-label">Registers · {registers.length}</span>
606
- <span class="region-head-meta">subway · NYCHA · schools · hospitals (only those with hits)</span>
607
- </header>
608
- <div class="register-grid">
609
- {#each registers as r, i (i)}
610
- <RegisterCard data={r} />
611
- {/each}
612
- </div>
613
- </section>
614
- {/if}
615
-
616
- <section id="region-trace" class="app-region app-region-trace" aria-label="Trace">
617
- <TraceUI root={traceRoot} />
618
  </section>
619
  </div>
620
  </div>
621
  </section>
622
 
623
  <style>
624
- .register-grid {
625
- display: grid;
626
- gap: 16px;
627
- grid-template-columns: 1fr;
628
- }
629
- @media (min-width: 1100px) {
630
- .register-grid {
631
- grid-template-columns: 1fr 1fr;
632
- }
633
- }
634
  .plan-details {
635
  border: 1px solid var(--rule-soft);
636
  background: var(--paper-deep);
 
9
  import SkeletonBriefing from '$lib/components/states/SkeletonBriefing.svelte';
10
  import RerollBanner from '$lib/components/states/RerollBanner.svelte';
11
  import ErrorCard from '$lib/components/states/ErrorCard.svelte';
12
+ import FindingsRegion from '$lib/components/findings/FindingsRegion.svelte';
13
+ import { adaptFinalToFindings } from '$lib/client/cardAdapter';
14
+ import type { Density, ProvenanceMode, FindingsData } from '$lib/types/card';
15
  import type { ErrorKey, RegisterData } from '$lib/types/states';
16
  import { extractRegisters } from '$lib/client/registerAdapter';
17
  // Mellea rejection sampling is Riprap's sole grounding mechanism.
 
63
  id: 'root', name: 'briefing.run', status: 'ok', ms: 0, tier: null, children: []
64
  });
65
 
66
+ /** Findings region state — lifted to the page so the briefing's map
67
+ * can read the linked card's mapLayer on hover. */
68
+ let linkedKey = $state<string | null>(null);
69
+ let density = $state<Density>('comfortable');
70
+ let provenanceMode = $state<ProvenanceMode>('smart');
71
+ // ?grammar=1 surfaces the dev-only card-grammar catalog. Read only on
72
+ // the client — adapter-static forbids url.searchParams at prerender time.
73
+ let showGrammar = $state(false);
74
+ $effect(() => {
75
+ if (typeof window !== 'undefined') {
76
+ showGrammar = new URL(window.location.href).searchParams.get('grammar') === '1';
77
+ }
78
+ });
79
+ let runStartedAt = $state<number | null>(null);
80
+ let runWallSeconds = $state<number | undefined>(undefined);
81
+
82
+ /** Compose the FindingsData payload from the live FSM final-state +
83
+ * trace tree. Re-derives as new specialists land. */
84
+ let findingsData = $derived<FindingsData>(
85
+ finalResult
86
+ ? adaptFinalToFindings(finalResult, traceRoot, runWallSeconds)
87
+ : { cards: [], stones: [], wallSeconds: runWallSeconds }
88
+ );
89
+
90
+ function handleFindingsLink(key: string | null) { linkedKey = key; }
91
+ function handleFindingsCite(citeId: string) {
92
+ const el = document.getElementById('region-cites');
93
+ if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
94
+ void citeId;
95
+ }
96
+
97
  /** Steps that share the Granite TTM r2 foundation model — grouped
98
  * under a synthetic parent in the trace UI so the architectural
99
  * story ("one foundation model, multiple data streams") is legible
 
362
  onMount(() => {
363
  briefingState.reset();
364
  if (!queryText()) return;
365
+ runStartedAt = Date.now();
366
  const stream = openAgentStream(queryText(), {
367
  onPlanToken: (d) => (planTokens += d),
368
  onPlan: (p) => (plan = p),
 
505
  },
506
  onDone: () => {
507
  streamDone = true;
508
+ if (runStartedAt != null) {
509
+ runWallSeconds = (Date.now() - runStartedAt) / 1000;
510
+ }
511
  // v0.4.2 §12 all-silent: stream finished but no briefing emerged.
512
  if (!firstTokenSeen && !errorState && geocodeSucceeded) {
513
  errorState = 'all-silent';
 
629
  {/if}
630
  </aside>
631
 
632
+ <aside id="region-cites" class="app-region app-region-cites" aria-label="Citations">
633
  <CitationDrawer {citations} />
634
  </aside>
635
  </div>
636
  </div>
637
 
638
  <div class="app-shell-bottom">
639
+ <section class="app-region app-region-findings" aria-label="Findings">
640
+ <FindingsRegion
641
+ data={findingsData}
642
+ {density}
643
+ {provenanceMode}
644
+ {showGrammar}
645
+ {linkedKey}
646
+ onLink={handleFindingsLink}
647
+ onCite={handleFindingsCite}
648
+ />
 
 
 
 
 
 
649
  </section>
650
  </div>
651
  </div>
652
  </section>
653
 
654
  <style>
 
 
 
 
 
 
 
 
 
 
655
  .plan-details {
656
  border: 1px solid var(--rule-soft);
657
  background: var(--paper-deep);
web/sveltekit/src/routes/q/sample/+page.svelte CHANGED
@@ -2,14 +2,42 @@
2
  import { onMount } from 'svelte';
3
  import Briefing from '$lib/components/briefing/Briefing.svelte';
4
  import CitationDrawer from '$lib/components/briefing/CitationDrawer.svelte';
5
- import EvidenceGrid from '$lib/components/evidence/EvidenceGrid.svelte';
6
- import TraceUI from '$lib/components/trace/TraceUI.svelte';
7
  import RipMap from '$lib/components/map/RipMap.svelte';
8
  import MapLegend from '$lib/components/map/MapLegend.svelte';
9
- import { BRIEFING_BLOCKS, CITATIONS, EVIDENCE, TRACE_ROOT, SAMPLE_ADDRESS } from '$lib/data/sample';
 
 
10
  import { briefingState, persistSnapshot } from '$lib/stores/briefingState.svelte';
 
11
  import type { FeatureCollection } from 'geojson';
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  let active = $state({ empirical: true, modeled: true, synthetic: true, proxy: true });
14
  let streamKey = $state(0);
15
 
@@ -106,19 +134,23 @@
106
  </div>
107
  </aside>
108
 
109
- <aside class="app-region app-region-cites" aria-label="Citations">
110
  <CitationDrawer citations={CITATIONS} />
111
  </aside>
112
  </div>
113
  </div>
114
 
115
  <div class="app-shell-bottom">
116
- <section class="app-region app-region-evidence" aria-label="Evidence">
117
- <EvidenceGrid items={EVIDENCE} />
118
- </section>
119
-
120
- <section id="region-trace" class="app-region app-region-trace" aria-label="Trace">
121
- <TraceUI root={TRACE_ROOT} />
 
 
 
 
122
  </section>
123
  </div>
124
  </div>
 
2
  import { onMount } from 'svelte';
3
  import Briefing from '$lib/components/briefing/Briefing.svelte';
4
  import CitationDrawer from '$lib/components/briefing/CitationDrawer.svelte';
 
 
5
  import RipMap from '$lib/components/map/RipMap.svelte';
6
  import MapLegend from '$lib/components/map/MapLegend.svelte';
7
+ import FindingsRegion from '$lib/components/findings/FindingsRegion.svelte';
8
+ import { BRIEFING_BLOCKS, CITATIONS, SAMPLE_ADDRESS } from '$lib/data/sample';
9
+ import { SAMPLE_FINDINGS } from '$lib/data/findingsSample';
10
  import { briefingState, persistSnapshot } from '$lib/stores/briefingState.svelte';
11
+ import type { Density, ProvenanceMode } from '$lib/types/card';
12
  import type { FeatureCollection } from 'geojson';
13
 
14
+ /** Cross-linking state, lifted to the page so the briefing's map can
15
+ * read the Findings card under hover. */
16
+ let linkedKey = $state<string | null>(null);
17
+ let density = $state<Density>('comfortable');
18
+ let provenanceMode = $state<ProvenanceMode>('smart');
19
+ /** Dev-only card-grammar catalog. Toggle with ?grammar=1 in the URL.
20
+ * Read only on the client — adapter-static forbids url.searchParams
21
+ * at prerender time. */
22
+ let showGrammar = $state(false);
23
+ $effect(() => {
24
+ if (typeof window !== 'undefined') {
25
+ showGrammar = new URL(window.location.href).searchParams.get('grammar') === '1';
26
+ }
27
+ });
28
+
29
+ function handleLink(key: string | null) {
30
+ linkedKey = key;
31
+ }
32
+ function handleCite(citeId: string) {
33
+ // Citation drawer is below; scroll it into view + flag for now.
34
+ // (Real wiring lands in C8 once CitationDrawer exposes an open()
35
+ // method.)
36
+ const el = document.getElementById('region-cites');
37
+ if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
38
+ void citeId;
39
+ }
40
+
41
  let active = $state({ empirical: true, modeled: true, synthetic: true, proxy: true });
42
  let streamKey = $state(0);
43
 
 
134
  </div>
135
  </aside>
136
 
137
+ <aside id="region-cites" class="app-region app-region-cites" aria-label="Citations">
138
  <CitationDrawer citations={CITATIONS} />
139
  </aside>
140
  </div>
141
  </div>
142
 
143
  <div class="app-shell-bottom">
144
+ <section class="app-region app-region-findings" aria-label="Findings">
145
+ <FindingsRegion
146
+ data={SAMPLE_FINDINGS}
147
+ {density}
148
+ {provenanceMode}
149
+ {showGrammar}
150
+ {linkedKey}
151
+ onLink={handleLink}
152
+ onCite={handleCite}
153
+ />
154
  </section>
155
  </div>
156
  </div>