msradam commited on
Commit
2f3030d
·
verified ·
1 Parent(s): 7da07dd

DesirePath: heat-aware pedestrian routing on the OpenSidewalks graph

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +0 -33
  2. README.md +57 -5
  3. _app/immutable/assets/0.BI06jrIs.css +1 -0
  4. _app/immutable/assets/2.Bh7oouaO.css +1 -0
  5. _app/immutable/assets/3.BlipfDS5.css +1 -0
  6. _app/immutable/assets/maplibre-gl.B-YMMjus.css +1 -0
  7. _app/immutable/chunks/BOCuLG7J.js +1 -0
  8. _app/immutable/chunks/Bxo-DTfX.js +1 -0
  9. _app/immutable/chunks/C3O8Luwd.js +0 -0
  10. _app/immutable/chunks/CbXUJz7y.js +2 -0
  11. _app/immutable/chunks/Cgv1tdeu.js +1 -0
  12. _app/immutable/chunks/D0HAYttL.js +1 -0
  13. _app/immutable/chunks/DBnLgX18.js +1 -0
  14. _app/immutable/chunks/DN7CV-sg.js +2 -0
  15. _app/immutable/chunks/DuVv0l3G.js +1 -0
  16. _app/immutable/chunks/DyRWdz8X.js +1 -0
  17. _app/immutable/chunks/c4NiXbqN.js +1 -0
  18. _app/immutable/chunks/wbPk3Yxo.js +81 -0
  19. _app/immutable/chunks/xnoNZPIh.js +0 -0
  20. _app/immutable/entry/app.DEonpMA0.js +2 -0
  21. _app/immutable/entry/start.PrnwlT6r.js +1 -0
  22. _app/immutable/nodes/0.Cx9ZkrJ9.js +1 -0
  23. _app/immutable/nodes/1.ZNI8FrAE.js +1 -0
  24. _app/immutable/nodes/2.HzZESuN-.js +0 -0
  25. _app/immutable/nodes/3.BkeeEJ3Z.js +12 -0
  26. _app/version.json +1 -0
  27. coi-serviceworker.min.js +2 -0
  28. coverage.html +57 -0
  29. demo-queries.json +299 -0
  30. examples/browser-demo/index.html +85 -0
  31. examples/node-demo/demo.cjs +36 -0
  32. examples/node-demo/demo.mjs +67 -0
  33. examples/profile-generic_pedestrian.json +37 -0
  34. examples/profile-low_vision.json +97 -0
  35. examples/profile-manual_wheelchair.json +79 -0
  36. examples/web-app/brooklyn-downtown.geojson +0 -0
  37. favicon.svg +4 -0
  38. fonts/overpass-400.woff2 +0 -0
  39. fonts/overpass-600.woff2 +0 -0
  40. fonts/overpass-700.woff2 +0 -0
  41. fonts/overpass-800.woff2 +0 -0
  42. fonts/overpass-900.woff2 +0 -0
  43. fonts/overpass-mono-400.woff2 +0 -0
  44. fonts/overpass-mono-600.woff2 +0 -0
  45. fonts/overpass-mono-700.woff2 +0 -0
  46. index.html +51 -16
  47. nyc-boroughs.json +0 -0
  48. output/BK1602-coverage.json +0 -0
  49. output/BX0101-coverage.json +0 -0
  50. output/BX0602-coverage.json +0 -0
.gitattributes CHANGED
@@ -1,35 +1,2 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
  *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
1
  *.bin filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  *.wasm filter=lfs diff=lfs merge=lfs -text
 
 
 
 
README.md CHANGED
@@ -1,10 +1,62 @@
1
  ---
2
- title: Desirepath
3
- emoji: 🦀
4
- colorFrom: yellow
5
- colorTo: blue
6
  sdk: static
 
7
  pinned: false
 
 
 
 
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: DesirePath
3
+ emoji: 🌡️
4
+ colorFrom: blue
5
+ colorTo: yellow
6
  sdk: static
7
+ app_file: index.html
8
  pinned: false
9
+ license: mit
10
+ short_description: What NYC's quarter-mile cooling promise delivers
11
+ custom_headers:
12
+ cross-origin-embedder-policy: require-corp
13
+ cross-origin-opener-policy: same-origin
14
+ cross-origin-resource-policy: cross-origin
15
  ---
16
 
17
+ # DesirePath
18
+
19
+ **The contribution is the OpenSidewalks graph. This is a consumer of it.**
20
+
21
+ New York's Cool It! plan claims that "no New Yorker in the most heat-burdened
22
+ communities is more than 1/4 mile away from an outdoor cooling element"
23
+ (NYC DEP, 24 June 2020). That quarter mile is a straight line. DesirePath
24
+ measures the same claim along the sidewalk network a person actually has to
25
+ walk, with heat priced into the cost of every metre, and shows the difference.
26
+
27
+ In Brownsville the claim counts 12.8% of the sidewalk network as covered.
28
+ Walking it in the heat reaches 3.3%. North Corona has no cooling element at all.
29
+
30
+ Two screens: `/coverage` measures the claim, `/` plans a walk from a typed
31
+ sentence.
32
+
33
+ ## How heat enters the routing
34
+
35
+ Every edge in the graph carries its own mean radiant temperature, and the cost
36
+ Dijkstra minimises is
37
+
38
+ ```
39
+ cost = length x (accessibility multipliers) x (1 + sun_inflation x exposure)
40
+ exposure = clamp((mrt_edge - 33.01) / (61.8 - 33.01), 0, 1)
41
+ ```
42
+
43
+ `sun_inflation` runs 0.16 to 0.84, from Melnikov et al. (2022), who estimated it
44
+ from 408 observed pedestrian path choices. A metre in full sun costs up to 1.84
45
+ metres, so the router will accept a detour to avoid it.
46
+
47
+ Mean radiant temperature here is a **proxy, not SOLWEIG**, and every artifact
48
+ says so. Thermal survey covers five neighbourhoods, 7.67% of the city's edges.
49
+
50
+ ## Privacy
51
+
52
+ The model runs in your browser on WebGPU. It downloads once from
53
+ [msradam/Granite-4.0-1b-q4f32_1-MLC](https://huggingface.co/msradam/Granite-4.0-1b-q4f32_1-MLC)
54
+ and is cached in IndexedDB. After that, the routing, the graph and the geocoder
55
+ are all local: your query and your destination do not leave the browser.
56
+
57
+ First load is 20 to 29 seconds while the model downloads. The coverage screen
58
+ needs no model and is ready immediately.
59
+
60
+ Requires Chrome or Edge with WebGPU.
61
+
62
+ Source: https://github.com/msradam/ariadne-nyc
_app/immutable/assets/0.BI06jrIs.css ADDED
@@ -0,0 +1 @@
 
 
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/overpass-400.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/overpass-600.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/overpass-700.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(../../../fonts/overpass-800.woff2)format("woff2")}@font-face{font-family:Overpass;font-style:normal;font-weight:900;font-display:swap;src:url(../../../fonts/overpass-900.woff2)format("woff2")}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/overpass-mono-400.woff2)format("woff2")}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../../../fonts/overpass-mono-600.woff2)format("woff2")}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/overpass-mono-700.woff2)format("woff2")}:root{--slate:#10263f;--slate-2:#0a1b2d;--slate-3:#1b3a5c;--bone:#f5f1e8;--bone-2:#c6c1b5;--muted:#9aa8b8;--subtle:#7a90a8;--hivis:#ffc400;--hivis-2:#ffd84d;--reach:#3bb8d4;--reach-2:#7fd6e8;--bg:var(--slate);--bg-2:var(--slate-2);--surface:var(--slate);--surface-2:var(--slate-2);--ink:var(--bone);--ink-2:var(--bone-2);--border:var(--subtle);--border-2:var(--subtle);--rule:var(--bone);--primary:var(--reach);--primary-2:var(--reach-2);--primary-on:var(--slate);--accent:var(--hivis);--accent-2:var(--hivis-2);--ok:var(--reach);--warn:var(--hivis);--error:var(--hivis);--route:var(--reach);--poi-cooling:var(--hivis);--poi-access:var(--bone);--paper:var(--slate);--paper-2:var(--slate-2);--barricade:var(--hivis);--barricade-deep:var(--hivis);--signal:var(--reach);--signal-2:var(--reach-2);--fg:var(--ink);--fg-muted:var(--muted);--fg-subtle:var(--subtle);--bg-elevated:var(--surface);--route-transit:var(--hivis);--line-A:#0039a6;--line-B:#ff6319;--line-N:#fccc0a;--line-G:#6cbe45;--line-L:#a7a9ac;--line-7:#b933ad;--font-sans:"Overpass", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"Overpass Mono", ui-monospace, Menlo, monospace;--rule-heavy:3px;--rule-hair:1px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px}::selection{background:var(--hivis);color:#10263f}:focus-visible{outline:3px solid var(--hivis);outline-offset:2px;border-radius:0}:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--subtle) var(--slate-2)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--slate-2)}::-webkit-scrollbar-thumb{background:var(--subtle);border:2px solid var(--slate-2)}.mono,.tnum,[class*=-pct],[class*=-num]{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.roman{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--muted);font-size:10px;font-weight:700}.eyebrow-furniture{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.skip-link.svelte-supu7d{position:absolute;top:-9999px;left:6px;z-index:9999;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;background:var(--barricade);color:#121212;font-weight:800;font-size:.875rem;border-radius:0;text-decoration:none;white-space:nowrap}.skip-link.svelte-supu7d:focus-visible{top:0;outline:2px solid var(--bg);outline-offset:-4px}main.svelte-12qhfyh{height:100dvh;display:flex;flex-direction:column;min-height:0;overflow:hidden;outline:none;background:var(--paper)}
_app/immutable/assets/2.Bh7oouaO.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .screen.svelte-1qpkoic{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px;z-index:9999;overflow:hidden}.dot-grid.svelte-1qpkoic{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(oklch(.55 .05 65 / .06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.silhouette.svelte-1qpkoic{position:relative;width:220px;aspect-ratio:2281 / 2337;flex-shrink:0}.sil-base.svelte-1qpkoic{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto;opacity:.5}.sil-fill.svelte-1qpkoic{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto}.status-text.svelte-1qpkoic{text-align:center;max-width:360px;display:flex;flex-direction:column;gap:6px}.eyebrow.svelte-1qpkoic{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.headline.svelte-1qpkoic{font-size:18px;font-weight:700;line-height:1.35;color:var(--ink)}.body-text.svelte-1qpkoic{font-size:13px;color:var(--muted);line-height:1.45}.progress-wrap.svelte-1qpkoic{width:320px;flex-shrink:0}.bar-track.svelte-1qpkoic{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.bar-fill.svelte-1qpkoic{height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.bar-meta.svelte-1qpkoic{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;font-weight:600;color:var(--muted)}.stage-rows.svelte-1qpkoic{list-style:none;display:flex;flex-direction:column;gap:6px;width:320px;flex-shrink:0}.stage-row.svelte-1qpkoic{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.stage-dot.svelte-1qpkoic{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-spin.svelte-1qpkoic{background:var(--primary);animation:svelte-1qpkoic-pulse 1s infinite}.dot-ok.svelte-1qpkoic{background:var(--ok)}.dot-err.svelte-1qpkoic{background:var(--error)}.dot-wait.svelte-1qpkoic{background:var(--border-2)}.stage-label.svelte-1qpkoic{flex:1}.stage-state.svelte-1qpkoic{font-weight:700;color:var(--muted);font-family:var(--font-mono);font-size:11px}.tip.svelte-1qpkoic{max-width:360px;padding:10px 16px;background:var(--surface);border:2px solid var(--border);border-radius:2px;font-size:12px;color:var(--ink-2);line-height:1.5;text-align:center}.tip-lead.svelte-1qpkoic{font-weight:700;color:var(--primary)}@keyframes svelte-1qpkoic-pulse{0%,to{opacity:1}50%{opacity:.3}}.query-log.svelte-1n6xa1i{flex-shrink:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.log-header.svelte-1n6xa1i{height:38px;flex-shrink:0;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-mono)}.entry-list.svelte-1n6xa1i{list-style:none;padding:0;margin:0;overflow-y:auto;max-height:180px}.entry-row.svelte-1n6xa1i{display:grid;grid-template-columns:44px 56px 1fr auto;align-items:center;gap:0;padding:6px 14px;border-bottom:1px dashed var(--border-2);min-height:32px}.entry-row.entry-active.svelte-1n6xa1i{background:#38853e1a;border-left:3px solid var(--primary);padding-left:11px}.entry-row.entry-error.svelte-1n6xa1i{background:#cc282314;border-left:3px solid var(--error);padding-left:11px}.entry-num.svelte-1n6xa1i{font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--muted)}.entry-num.num-active.svelte-1n6xa1i{color:var(--primary)}.entry-time.svelte-1n6xa1i{font-size:11px;color:var(--muted);padding-right:8px}.entry-text.svelte-1n6xa1i{font-size:12px;font-weight:500;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.entry-text.text-active.svelte-1n6xa1i{font-weight:700;color:var(--ink)}.entry-status.svelte-1n6xa1i{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-family:var(--font-mono)}.entry-status.status-active.svelte-1n6xa1i{color:var(--primary)}.entry-empty.svelte-1n6xa1i{padding:12px 14px;font-size:11px;color:var(--muted);font-style:italic}.example-wrap.svelte-79zv2i{padding:16px 20px 12px}.example-eyebrow.svelte-79zv2i{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.example-list.svelte-79zv2i{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.example-list.svelte-79zv2i li:where(.svelte-79zv2i){font-size:13px;color:var(--ink-2);display:flex;align-items:baseline;gap:6px}.example-list.svelte-79zv2i li:where(.svelte-79zv2i):before{content:"→";color:var(--muted);flex-shrink:0}.example-link.svelte-79zv2i{background:none;border:none;border-bottom:1px dotted var(--rule);cursor:pointer;font:inherit;font-size:13px;color:var(--ink-2);padding:0;text-align:left;line-height:1.4}.example-link.svelte-79zv2i:hover{color:var(--ink);border-bottom-color:var(--ink)}.active-record.svelte-1ivq251{flex:1;overflow-y:auto;min-height:0;background:var(--bg)}.empty-state.svelte-1ivq251{padding:20px}.empty-doc-text.svelte-1ivq251{font-size:13px;line-height:1.6;color:var(--ink-2);margin-bottom:20px;max-width:340px}.record-eyebrow.svelte-1ivq251{padding:8px 14px 6px;font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.record-card.svelte-1ivq251{margin:0 14px 12px;border:2px solid var(--ink);background:var(--surface)}.card-header.svelte-1ivq251{padding:12px 16px;border-bottom:2px solid var(--ink)}.card-eyebrow.svelte-1ivq251{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin-bottom:4px}.card-name.svelte-1ivq251{font-size:18px;font-weight:800;font-variant:small-caps;letter-spacing:.02em;color:var(--ink);line-height:1.2}.card-address.svelte-1ivq251{font-size:12px;color:var(--muted);margin-top:2px}.stats-grid.svelte-1ivq251{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border)}.stat.svelte-1ivq251{padding:12px 16px;border-right:1px solid var(--border)}.stat.svelte-1ivq251:last-child{border-right:none}.stat-label.svelte-1ivq251{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin-bottom:2px}.stat-val.svelte-1ivq251{font-size:28px;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.02em}.stat-val--sm.svelte-1ivq251{font-size:14px;font-weight:700;letter-spacing:0;line-height:1.4;margin-top:4px;text-transform:capitalize}.stat-unit.svelte-1ivq251{font-size:10px;color:var(--muted);margin-top:1px}.pills.svelte-1ivq251{padding:8px 16px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border)}.pill.svelte-1ivq251{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1.5px solid var(--border-2);background:var(--bg);color:var(--ink-2);font-family:var(--font-mono)}.also-section.svelte-1ivq251{border-top:1px solid var(--border);padding:10px 16px 12px}.also-eyebrow.svelte-1ivq251{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin-bottom:8px}.also-list.svelte-1ivq251{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.also-row.svelte-1ivq251{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border)}.also-row.svelte-1ivq251:last-child{border-bottom:none}.also-letter.svelte-1ivq251{width:22px;height:22px;background:var(--ink);color:var(--bg);font-size:10px;font-weight:800;font-family:var(--font-mono);display:inline-flex;align-items:center;justify-content:center;border-radius:2px}.also-body.svelte-1ivq251{display:flex;flex-direction:column;min-width:0}.also-name.svelte-1ivq251{font-size:12px;font-weight:700;color:var(--ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.also-addr.svelte-1ivq251{font-size:10px;color:var(--muted);font-family:var(--font-mono);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.also-min.svelte-1ivq251{font-size:14px;font-weight:800;color:var(--ink);font-family:var(--font-mono);white-space:nowrap}.also-min-unit.svelte-1ivq251{font-size:9px;font-weight:600;color:var(--muted);letter-spacing:.06em}.steps-section.svelte-1ivq251{padding:10px 16px;border-top:1px solid var(--border)}.steps-header.svelte-1ivq251{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:var(--font-mono)}.step-list.svelte-1ivq251{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.step-row.svelte-1ivq251{display:grid;grid-template-columns:24px 1fr auto;gap:6px;align-items:baseline;font-size:12px;padding:2px 0;border-bottom:1px dashed var(--border)}.step-row.svelte-1ivq251:last-child{border-bottom:none}.step-num.svelte-1ivq251{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--muted);text-transform:lowercase}.step-cue.svelte-1ivq251{color:var(--ink-2);font-size:12px;line-height:1.4}.step-dist.svelte-1ivq251{font-size:10px;color:var(--muted);font-family:var(--font-mono);text-align:right;white-space:nowrap}.tool-pill.svelte-1ivq251{margin:8px 16px;padding:6px 10px;border:1px dashed var(--rule);font-size:10px;font-family:var(--font-mono);color:var(--muted);background:var(--bg-2)}.tool-dot.svelte-1ivq251{color:var(--primary)}.bot-text.svelte-1ivq251{padding:12px 16px;font-size:13px;line-height:1.6;color:var(--ink-2)}.thinking-wrap.svelte-1ivq251{padding:16px;display:flex;gap:6px;align-items:center}.thinking-dot.svelte-1ivq251{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:svelte-1ivq251-thinking 1.2s ease-in-out infinite}.thinking-dot.svelte-1ivq251:nth-child(2){animation-delay:.2s}.thinking-dot.svelte-1ivq251:nth-child(3){animation-delay:.4s}@keyframes svelte-1ivq251-thinking{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.thinking-dot.svelte-1ivq251{animation:none;opacity:.7}}.map-wrap.svelte-bdgyfb{position:relative;flex:1;min-width:0;min-height:0}.map-canvas.svelte-bdgyfb{width:100%;height:100%}.walk-legend.svelte-bdgyfb{position:absolute;top:110px;left:16px;background:var(--surface);border:2px solid var(--ink);padding:10px 14px;min-width:150px;display:flex;flex-direction:column;gap:5px;z-index:10;pointer-events:none}.walk-legend-title.svelte-bdgyfb{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.iso-row.svelte-bdgyfb{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.iso-swatch.svelte-bdgyfb{flex:1;height:6px;flex-shrink:0}.map-controls.svelte-bdgyfb{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:10}.ctrl-stack.svelte-bdgyfb{background:var(--surface);border:2px solid var(--ink);display:flex;flex-direction:column}.ctrl-btn.svelte-bdgyfb{width:44px;height:44px;background:transparent;border:none;border-top:1px solid var(--border);color:var(--ink);font-size:1.1rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;font-family:var(--font-sans)}.ctrl-btn.svelte-bdgyfb:first-child{border-top:none}.ctrl-btn.svelte-bdgyfb:hover{background:var(--bg-2)}.maplibregl-canvas{filter:sepia(.12) saturate(1.08) hue-rotate(-8deg)}.user-location-marker{width:18px;height:18px;border-radius:50%;background:#0089ea;background:oklch(.62 .2 250);border:3px solid #fff;box-shadow:0 0 #0089ea80;box-shadow:0 0 oklch(.62 .2 250 / .5);animation:svelte-bdgyfb-ariadne-pulse 2s ease-out infinite}@keyframes svelte-bdgyfb-ariadne-pulse{0%{box-shadow:0 0 #0089ea99;box-shadow:0 0 oklch(.62 .2 250 / .6)}70%{box-shadow:0 0 0 14px #0089ea00;box-shadow:0 0 0 14px oklch(.62 .2 250 / 0)}to{box-shadow:0 0 #0089ea00;box-shadow:0 0 oklch(.62 .2 250 / 0)}}@media(prefers-reduced-motion:reduce){.user-location-marker{animation:none}}.maplibregl-ctrl-attrib-inner,.maplibregl-ctrl-attrib-button,.maplibregl-ctrl-bottom-right{display:none!important}.maplibregl-ctrl-attrib{background:#fffc!important;color:var(--muted)!important;font-family:var(--font-sans)!important;font-size:10px!important}.maplibregl-ctrl-attrib a{color:var(--muted)!important}.maplibregl-popup-content{background:var(--surface)!important;color:var(--ink)!important;border:2px solid var(--ink)!important;border-radius:0!important;padding:10px 12px!important;box-shadow:none!important;font-family:var(--font-sans)!important}.maplibregl-popup-tip{border-top-color:var(--surface)!important}.maplibregl-popup-close-button{color:var(--muted)!important;font-size:1.1rem!important;top:4px!important;right:6px!important}.search-bar.svelte-yyldap{position:absolute;top:16px;left:16px;width:420px;z-index:20;background:var(--surface);border:2px solid var(--ink);display:flex;flex-direction:column;box-shadow:0 4px 20px #00000040;transition:box-shadow .15s}.search-bar.focused.svelte-yyldap{box-shadow:0 6px 28px #00000059}.search-row.svelte-yyldap{display:flex;align-items:center;gap:10px;padding:10px 14px}.search-icon.svelte-yyldap{flex-shrink:0;color:var(--muted);display:flex;align-items:center}.search-input.svelte-yyldap{flex:1;border:none;outline:none;background:transparent;font-size:15px;font-weight:500;font-family:var(--font-sans);color:var(--ink);min-width:0}.search-input.svelte-yyldap::placeholder{color:var(--muted);font-weight:400}.search-input.svelte-yyldap:disabled{opacity:.5;cursor:not-allowed}.search-hint.svelte-yyldap{flex-shrink:0;font-size:10px;font-family:var(--font-mono);color:var(--muted);background:var(--bg-2);border:1px solid var(--border);padding:2px 5px;border-radius:3px;font-weight:600;letter-spacing:.04em}.search-submit.svelte-yyldap{flex-shrink:0;background:var(--ink);color:var(--bg);border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background .1s}.search-submit.svelte-yyldap:hover{background:var(--ink-2)}.search-spinner.svelte-yyldap{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--ink);border-radius:50%;animation:svelte-yyldap-spin .8s linear infinite;flex-shrink:0}@keyframes svelte-yyldap-spin{to{transform:rotate(360deg)}}.suggestions.svelte-yyldap{border-top:1px solid var(--border);display:flex;flex-direction:column}.suggestion-row.svelte-yyldap{display:flex;align-items:center;gap:10px;padding:8px 14px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;transition:background .08s}.suggestion-row.svelte-yyldap:last-child{border-bottom:none}.suggestion-row.svelte-yyldap:hover{background:var(--bg-2)}.sug-arrow.svelte-yyldap{font-size:11px;color:var(--muted);flex-shrink:0;font-family:var(--font-mono)}.sug-text.svelte-yyldap{font-size:12px;font-weight:500;color:var(--ink-2)}@media(prefers-reduced-motion:reduce){.search-spinner.svelte-yyldap{animation:none;opacity:.5}}.page-layout.svelte-1uha8ag{flex:1;display:flex;min-height:0;overflow:hidden}.plate.svelte-1uha8ag{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--slate-2);color:var(--bone);border-bottom:var(--rule-hair) solid var(--subtle);flex:none}.wordmark.svelte-1uha8ag{font-size:1.05rem;font-weight:900;letter-spacing:-.02em;text-transform:uppercase;text-decoration:none;color:var(--bone)}.wordmark.svelte-1uha8ag span:where(.svelte-1uha8ag){color:var(--hivis)}.cross.svelte-1uha8ag{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bone);text-decoration:none;padding:7px 9px;border:2px solid var(--subtle)}.cross.svelte-1uha8ag:hover{border-color:var(--hivis);color:var(--hivis)}.cross.svelte-1uha8ag:focus-visible{outline:3px solid var(--hivis);outline-offset:2px}.left-col.svelte-1uha8ag{width:460px;flex-shrink:0;border-right:var(--rule-hair) solid var(--subtle);display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.inferred.svelte-1uha8ag{margin:0 14px 14px;padding:14px 16px 16px;background:var(--slate-3);border-left:3px solid var(--hivis)}.inferred.svelte-1uha8ag h2:where(.svelte-1uha8ag){font-size:.85rem;font-weight:800;line-height:1.3;color:var(--bone)}.inferred.svelte-1uha8ag dl:where(.svelte-1uha8ag){display:grid;gap:4px;margin-top:10px}.inferred.svelte-1uha8ag dl:where(.svelte-1uha8ag) div:where(.svelte-1uha8ag){display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:10px;font-size:.8rem;line-height:1.35}.inferred.svelte-1uha8ag dt:where(.svelte-1uha8ag){font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px}.inferred.svelte-1uha8ag dd:where(.svelte-1uha8ag){color:var(--bone);font-weight:600}.inferred.svelte-1uha8ag .corrected:where(.svelte-1uha8ag){margin-top:10px;padding:8px 10px;font-size:.76rem;line-height:1.4;font-weight:600;color:var(--slate);background:var(--hivis)}.inferred.svelte-1uha8ag .warn:where(.svelte-1uha8ag){margin-top:10px;font-size:.74rem;line-height:1.45;color:var(--muted)}.map-col.svelte-1uha8ag{flex:1;position:relative;background:var(--ink);padding:12px;display:flex;flex-direction:column;min-height:0}.plate-inner.svelte-1uha8ag{flex:1;position:relative;border:1px solid oklch(.55 .02 60);overflow:hidden;min-height:0;display:flex;flex-direction:column}.plate-date.svelte-1uha8ag{position:absolute;top:16px;right:80px;background:var(--surface);border:2px solid var(--ink);padding:8px 14px;text-align:right;z-index:10;pointer-events:none}.plate-eyebrow.svelte-1uha8ag{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.plate-datestr.svelte-1uha8ag{font-size:11px;font-weight:700;color:var(--ink);font-family:var(--font-mono);margin-top:2px}.plate-legend.svelte-1uha8ag{position:absolute;bottom:16px;right:16px;background:var(--surface);border:2px solid var(--ink);padding:10px 14px;min-width:180px;z-index:10;pointer-events:none}.legend-eyebrow.svelte-1uha8ag{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);margin-bottom:8px}.legend-row.svelte-1uha8ag{display:flex;align-items:center;gap:8px;margin-bottom:5px}.legend-row.svelte-1uha8ag:last-child{margin-bottom:0}.legend-swatch.svelte-1uha8ag{flex-shrink:0}.legend-swatch--cooling.svelte-1uha8ag{width:14px;height:14px;background:var(--poi-cooling);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.legend-swatch--access.svelte-1uha8ag{width:14px;height:14px;background:var(--poi-access);border-radius:4px;transform:rotate(45deg)}.legend-swatch--route.svelte-1uha8ag{width:18px;height:4px;background:var(--route);border-radius:2px}.legend-label.svelte-1uha8ag{font-size:11px;font-weight:600;color:var(--ink-2)}.route-strip.svelte-1uha8ag{position:absolute;left:16px;right:16px;bottom:16px;z-index:12;background:var(--slate-2);color:var(--bone);border:2px solid var(--subtle);display:grid;grid-template-columns:220px 1fr 240px;align-items:stretch;box-shadow:0 8px 28px #00000080}.rs-block.svelte-1uha8ag{padding:12px 18px;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.rs-block--total.svelte-1uha8ag{background:var(--slate-3);border-right:var(--rule-hair) solid var(--subtle)}.rs-eyebrow.svelte-1uha8ag{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.rs-total.svelte-1uha8ag{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1}.rs-total-unit.svelte-1uha8ag{font-size:12px;font-weight:600;letter-spacing:0;opacity:.7}.rs-block--legs.svelte-1uha8ag{border-right:var(--rule-hair) solid var(--subtle);gap:8px}.rs-leg.svelte-1uha8ag{display:grid;grid-template-columns:14px 60px 1fr;align-items:center;gap:10px;min-width:0}.rs-dot.svelte-1uha8ag{width:10px;height:10px;border-radius:50%;background:#fff9}.rs-dot--dest.svelte-1uha8ag{background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.rs-leg-meta.svelte-1uha8ag{font-size:9px;font-weight:800;letter-spacing:.18em;color:var(--muted);font-family:var(--font-mono)}.rs-leg-name.svelte-1uha8ag{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-block--profile.svelte-1uha8ag{gap:3px}.rs-row.svelte-1uha8ag{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-family:var(--font-mono)}.rs-key.svelte-1uha8ag{color:var(--muted);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.rs-val.svelte-1uha8ag{font-weight:700;text-transform:capitalize;letter-spacing:.04em}.rs-val--ok.svelte-1uha8ag{color:var(--ok)}.map-toolbar.svelte-1uha8ag{position:absolute;bottom:148px;right:16px;z-index:10}.toolbar-btn.svelte-1uha8ag{padding:6px 14px;border:2px solid var(--ink);background:var(--surface);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-sans);cursor:pointer;transition:background .12s;white-space:nowrap;min-height:36px}.toolbar-btn.svelte-1uha8ag:hover{background:var(--bg-2)}.toolbar-btn.active.svelte-1uha8ag{background:var(--primary);border-color:var(--primary);color:#eff7f3}.gpu-error-banner.svelte-1uha8ag{padding:10px 16px;background:#361715;border-bottom:2px solid var(--error);font-size:11px;color:#e7c4c1;font-family:var(--font-mono);line-height:1.5;word-break:break-word}@media(max-width:1024px)and (min-width:641px){.left-col.svelte-1uha8ag{width:340px}}@media(max-width:640px){.page-layout.svelte-1uha8ag{flex-direction:column}.left-col.svelte-1uha8ag{width:100%;height:45vh;min-height:0;border-right:none;border-bottom:3px solid var(--ink);order:2}.map-col.svelte-1uha8ag{width:100%;height:55vh;flex:0 0 55vh;padding:0;order:1}.plate-inner.svelte-1uha8ag{border:none}.search-bar{width:calc(100vw - 16px)!important;left:8px!important;top:8px!important}.plate-date.svelte-1uha8ag{top:8px;right:60px;padding:4px 8px;font-size:9px}.map-controls{top:8px!important;right:8px!important}.ctrl-btn{width:36px!important;height:36px!important}.plate-legend.svelte-1uha8ag{display:none}.map-toolbar.svelte-1uha8ag{bottom:12px;right:12px}.route-strip.svelte-1uha8ag{grid-template-columns:1fr;left:8px;right:8px;bottom:8px}.rs-block.svelte-1uha8ag{padding:8px 12px}.rs-block--total.svelte-1uha8ag,.rs-block--legs.svelte-1uha8ag{border-right:none;border-bottom:var(--rule-hair) solid var(--subtle)}.rs-total.svelte-1uha8ag{font-size:24px}.rs-leg-name.svelte-1uha8ag{font-size:12px}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.map-col.svelte-1uha8ag{height:60vh;flex:0 0 60vh}.left-col.svelte-1uha8ag{height:40vh}}
_app/immutable/assets/3.BlipfDS5.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .notice.svelte-1g0fsmd{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;background:var(--slate);color:var(--ink);font-family:var(--font-sans)}.band.svelte-1g0fsmd{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:0 22px;padding:16px 24px 18px;border-bottom:var(--rule-heavy) solid var(--bone)}.where.svelte-1g0fsmd{font-size:clamp(1.1rem,.75rem + 1.1vw,1.9rem);font-weight:900;line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:var(--bone)}.boro.svelte-1g0fsmd{color:var(--muted);font-weight:700}.gap-num.svelte-1g0fsmd{font-size:clamp(3.2rem,1.2rem + 6.2vw,6.5rem);font-weight:900;line-height:.78;letter-spacing:-.045em;color:var(--hivis)}.gap-unit.svelte-1g0fsmd{max-width:11ch;padding-left:2px;text-wrap:balance;font-size:clamp(.8rem,.66rem + .36vw,1rem);font-weight:800;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;color:var(--bone)}.sheet.svelte-1g0fsmd{position:relative;min-height:0;border-bottom:var(--rule-heavy) solid var(--ink)}.map.svelte-1g0fsmd{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--slate-2)}.map.svelte-1g0fsmd .maplibregl-ctrl-attrib{font-family:var(--font-mono);font-size:10px;background:var(--paper);color:var(--muted);border-radius:0}.map.svelte-1g0fsmd .maplibregl-ctrl-attrib a{color:var(--muted)}.key.svelte-1g0fsmd{position:absolute;left:16px;bottom:16px;z-index:2;display:grid;gap:7px;padding:12px 14px;list-style:none;background:var(--paper);border:3px solid var(--ink);font-size:.78rem;font-weight:600;line-height:1.1}.key.svelte-1g0fsmd li:where(.svelte-1g0fsmd){display:flex;align-items:center;gap:9px}.mark.svelte-1g0fsmd{flex:none;display:inline-block;width:26px;height:10px;border:1px solid var(--ink)}.mark.claimed.svelte-1g0fsmd{height:0;border:0;border-top:2px dotted var(--ink)}.mark.shortfall.svelte-1g0fsmd{background:repeating-linear-gradient(-45deg,var(--barricade) 0 4px,#000 4px 7px);border-color:var(--ink)}.mark.network.svelte-1g0fsmd{background:repeating-linear-gradient(-45deg,var(--muted) 0 4px,var(--paper) 4px 7px)}.mark.reachable.svelte-1g0fsmd{background:var(--signal)}.mark.site.svelte-1g0fsmd{width:14px;height:14px;background:var(--paper);border:3px solid var(--ink);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 7px var(--ink)}.stamp.svelte-1g0fsmd{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 28px;padding:16px 24px 18px;background:var(--paper-2)}.readings.svelte-1g0fsmd{display:grid;gap:6px;list-style:none}.readings.svelte-1g0fsmd li:where(.svelte-1g0fsmd){display:grid;grid-template-columns:34px minmax(5.2rem,auto) minmax(0,auto) minmax(0,1fr) auto;align-items:baseline;gap:14px}.readings.svelte-1g0fsmd li:where(.svelte-1g0fsmd):last-child .r-pct:where(.svelte-1g0fsmd){color:var(--barricade-deep)}.readings.svelte-1g0fsmd li:where(.svelte-1g0fsmd):last-child .r-label:where(.svelte-1g0fsmd){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}.readings.svelte-1g0fsmd .mark:where(.svelte-1g0fsmd){align-self:center}.r-pct.svelte-1g0fsmd{font-size:clamp(1.25rem,.9rem + .95vw,1.85rem);font-weight:900;line-height:1;letter-spacing:-.03em}.r-pct.svelte-1g0fsmd .pc:where(.svelte-1g0fsmd){font-size:.6em;font-weight:800;margin-left:1px}.r-label.svelte-1g0fsmd{font-size:.88rem;font-weight:800;letter-spacing:.005em}.r-sub.svelte-1g0fsmd{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-delta.svelte-1g0fsmd{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--ink-2);white-space:nowrap}.readings.svelte-1g0fsmd li:where(.svelte-1g0fsmd):last-child .r-delta:where(.svelte-1g0fsmd){color:var(--barricade-deep);font-weight:700}.census.svelte-1g0fsmd{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding-left:28px;border-left:var(--rule-hair) solid var(--ink)}.census-num.svelte-1g0fsmd{grid-row:span 2;font-size:clamp(2.2rem,1.4rem + 2.4vw,3.4rem);font-weight:900;line-height:.85;letter-spacing:-.03em}.census-say.svelte-1g0fsmd{font-size:.8rem;font-weight:600;line-height:1.35}.honesty.svelte-1g0fsmd{font-size:.72rem;line-height:1.4;color:var(--muted)}.census.svelte-1g0fsmd .honesty:where(.svelte-1g0fsmd){align-self:start}.zero.svelte-1g0fsmd,.state.svelte-1g0fsmd{grid-template-rows:auto;align-content:center;justify-content:center;padding:32px 24px;overflow:auto}.zero-body.svelte-1g0fsmd{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:36px;width:min(100%,76rem);padding:40px 44px 44px;border:var(--rule-heavy) solid var(--ink);background:var(--paper)}.zero-num.svelte-1g0fsmd{font-size:clamp(6rem,3rem + 13vw,16rem);font-weight:900;line-height:.78;letter-spacing:-.05em;color:var(--barricade-deep)}.zero-say.svelte-1g0fsmd{max-width:30ch;font-size:clamp(1.25rem,.8rem + 1.9vw,2.6rem);font-weight:800;line-height:1.2;text-wrap:balance}.zero-body.svelte-1g0fsmd .honesty:where(.svelte-1g0fsmd){margin-top:16px;max-width:58ch;font-size:.8rem}.stencil.svelte-1g0fsmd{font-size:clamp(1.1rem,.9rem + .8vw,1.6rem);font-weight:800;letter-spacing:.01em}.state.svelte-1g0fsmd .honesty:where(.svelte-1g0fsmd){margin-top:10px;max-width:60ch}@media(max-width:62rem){.band.svelte-1g0fsmd{grid-template-columns:minmax(0,1fr);align-items:start}.gap.svelte-1g0fsmd{text-align:left;padding:14px 16px 16px}.gap-say.svelte-1g0fsmd{margin-left:0}.stamp.svelte-1g0fsmd{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px 16px 14px}.readings.svelte-1g0fsmd li:where(.svelte-1g0fsmd){grid-template-columns:26px minmax(3.8rem,auto) minmax(0,1fr) auto}.r-sub.svelte-1g0fsmd{display:none}.census.svelte-1g0fsmd{padding-left:0;padding-top:12px;border-left:0;border-top:var(--rule-hair) solid var(--ink)}.notice.svelte-1g0fsmd{grid-template-rows:auto auto auto;overflow-y:auto}.sheet.svelte-1g0fsmd{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:52vh}.map.svelte-1g0fsmd{position:relative;inset:auto;min-height:0;order:2}.key.svelte-1g0fsmd{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding:8px 16px 9px;border:0;border-bottom:var(--rule-hair) solid var(--ink);background:var(--paper-2);font-size:.68rem;order:1}.zero-body.svelte-1g0fsmd{grid-template-columns:minmax(0,1fr);gap:10px;padding:20px}.zero-num.svelte-1g0fsmd{line-height:.85}}.sign.svelte-1tsbbb3{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:var(--slate)}.plate.svelte-1tsbbb3{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:10px 24px;background:var(--slate-2);color:var(--bone);border-bottom:var(--rule-hair) solid var(--subtle)}.wordmark.svelte-1tsbbb3{display:inline-flex;align-items:center;min-height:44px;font-size:1.15rem;font-weight:900;letter-spacing:-.02em;text-transform:uppercase;text-decoration:none;color:var(--bone)}.wordmark.svelte-1tsbbb3 span:where(.svelte-1tsbbb3){color:var(--hivis)}.wordmark.svelte-1tsbbb3:hover{text-decoration:underline;text-underline-offset:4px}.subject.svelte-1tsbbb3{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav.svelte-1tsbbb3{display:flex;flex-wrap:wrap;gap:3px}button.svelte-1tsbbb3{font:800 .78rem/1 var(--font-sans);letter-spacing:.02em;min-height:44px;padding:9px 12px;color:var(--bone);background:transparent;border:2px solid var(--subtle);border-radius:0;cursor:pointer}button.svelte-1tsbbb3:hover{border-color:var(--bone)}button.svelte-1tsbbb3:focus-visible{outline:3px solid var(--hivis);outline-offset:2px}button.on.svelte-1tsbbb3{background:var(--hivis);border-color:var(--hivis);color:var(--slate)}@media(max-width:62rem){.plate.svelte-1tsbbb3{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 16px}.subject.svelte-1tsbbb3{display:none}nav.svelte-1tsbbb3{gap:2px}button.svelte-1tsbbb3{padding:8px 10px;font-size:.72rem;min-height:44px}}
_app/immutable/assets/maplibre-gl.B-YMMjus.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media(prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
_app/immutable/chunks/BOCuLG7J.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{h as i,az as n,aA as d,aB as v,aC as A,aD as h,_ as T,aE as E,aF as g,aG as u}from"./Bxo-DTfX.js";const S=Symbol("is custom element"),L=Symbol("is html"),M=v?"link":"LINK";function p(r){if(i){var s=!1,a=()=>{if(!s){if(s=!0,r.hasAttribute("value")){var o=r.value;_(r,"value",null),r.value=o}if(r.hasAttribute("checked")){var e=r.checked;_(r,"checked",null),r.checked=e}}};r[h]=a,T(a),E()}}function _(r,s,a,o){var e=N(r);i&&(e[s]=r.getAttribute(s),s==="src"||s==="srcset"||s==="href"&&r.nodeName===M)||e[s]!==(e[s]=a)&&(s==="loading"&&(r[g]=a),a==null?r.removeAttribute(s):typeof a!="string"&&I(r).has(s)?r[s]=a:r.setAttribute(s,a))}function N(r){var s;return r[s=n]??(r[s]={[S]:r.nodeName.includes("-"),[L]:r.namespaceURI===d})}var c=new Map;function I(r){var s=r.getAttribute("is")||r.nodeName,a=c.get(s);if(a)return a;c.set(s,a=new Set);for(var o,e=r,f=Element.prototype;f!==e;){o=u(e);for(var t in o)o[t].set&&t!=="innerHTML"&&t!=="textContent"&&t!=="innerText"&&a.add(t);e=A(e)}return a}export{p as r,_ as s};
_app/immutable/chunks/Bxo-DTfX.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var on=Object.defineProperty;var pt=e=>{throw TypeError(e)};var cn=(e,t,n)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var H=(e,t,n)=>cn(e,typeof t!="symbol"?t+"":t,n),$e=(e,t,n)=>t.has(e)||pt("Cannot "+n);var o=(e,t,n)=>($e(e,t,"read from private field"),n?n.call(e):t.get(e)),y=(e,t,n)=>t.has(e)?pt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),S=(e,t,n,r)=>($e(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),A=(e,t,n)=>($e(e,t,"access private method"),n);const dr=32;const hr=128;const vr=8192,pr=16384,Tr=32768,Rr=33554432,Cr=65536;const Ar=262144,Dr=524288;const Nr=33554432;const De=Symbol("$state"),It=Symbol("component"),Fr=Symbol("legacy props"),wr=Symbol(""),_n=Symbol("attributes"),En=Symbol("class"),dn=Symbol("style"),hn=Symbol("text"),Pe=Symbol("form reset"),me=new class extends Error{constructor(){super(...arguments);H(this,"name","StaleReactionError");H(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Ot;const Or=!!((Ot=globalThis.document)!=null&&Ot.contentType)&&globalThis.document.contentType.includes("xml"),Ke=3,gt=8,St=!1;var vn=Array.isArray,pn=Array.prototype.indexOf,Me=Array.prototype.includes,Ir=Array.from,Tn=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,Rn=Object.getOwnPropertyDescriptors,Cn=Object.prototype,An=Array.prototype,mt=Object.getPrototypeOf,Tt=Object.isExtensible;const Fe=()=>{};function gr(e){return typeof(e==null?void 0:e.then)=="function"}function Sr(e){return e()}function Dn(e){for(var t=0;t<e.length;t++)e[t]()}function bt(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Yt(e){return e===this.v}function Lt(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Pt(e){return!Lt(e,this.v)}function Nn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function mr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Fn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function wn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function yn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function On(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function br(){throw new Error("https://svelte.dev/e/hydration_failed")}function Yr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function In(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function gn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Sn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Lr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}let qe=!1,mn=!1;function Pr(){qe=!0}const kr=1,xr=2,Mr=4,Br=8,Vr=16,Hr=1,Ur=2,jr=4,Gr=8,Kr=16,qr=1,zr=2,bn="[",Yn="[!",$r="[?",Ln="]",it={},F=Symbol("uninitialized"),Xr="http://www.w3.org/1999/xhtml";let I=null;function Be(e){I=e}function Zr(e,t=!1,n){I={p:I,i:!1,c:null,e:null,s:e,x:null,r:C,l:qe&&!t?{s:null,u:null,$:[]}:null}}function Jr(e){var t=I,n=t.e;if(n!==null){t.e=null;for(var r of n)sn(r)}return e!==void 0&&(t.x=e),t.i=!0,I=t.p,Pn(e)}function Pn(e={}){return Tn(e,It,{value:!0}),e}function be(){return!qe||I!==null&&I.l===null}let Q=[];function kt(){var e=Q;Q=[],Dn(e)}function Rt(e){if(Q.length===0&&!ye){var t=Q;queueMicrotask(()=>{t===Q&&kt()})}Q.push(e)}function kn(){for(;Q.length>0;)kt()}function xn(){console.warn("https://svelte.dev/e/derived_inert")}function lt(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Qr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let q=!1;function Wr(e){q=e}let w;function de(e){if(e===null)throw lt(),it;return w=e}function es(){return de(X(w))}function Mn(e){if(q){if(X(w)!==null)throw lt(),it;w=e}}function ts(e=1){if(q){for(var t=e,n=w;t--;)n=X(n);w=n}}function ns(e=!0){for(var t=0,n=w;;){if(n.nodeType===gt){var r=n.data;if(r===Ln){if(t===0)return n;t-=1}else(r===bn||r===Yn||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=X(n);e&&n.remove(),n=s}}function rs(e){if(!e||e.nodeType!==gt)throw lt(),it;return e.data}function pe(e){if(typeof e!="object"||e===null||De in e||It in e)return e;const t=mt(e);if(t!==Cn&&t!==An)return e;var n=new Map,r=vn(e),s=G(0),i=ne,u=l=>{if(ne===i)return l();var f=h,a=ne;$(null),wt(i);var E=l();return $(f),wt(a),E};return r&&n.set("length",G(e.length)),new Proxy(e,{defineProperty(l,f,a){(!("value"in a)||a.configurable===!1||a.enumerable===!1||a.writable===!1)&&In();var E=n.get(f);return E===void 0?u(()=>{var c=G(a.value);return n.set(f,c),c}):Z(E,a.value,!0),!0},deleteProperty(l,f){var a=n.get(f);if(a===void 0){if(f in l){const E=u(()=>G(F));n.set(f,E),Je(s)}}else Z(a,F),Je(s);return!0},get(l,f,a){var _;if(f===De)return e;var E=n.get(f),c=f in l;if(E===void 0&&(!c||(_=Ne(l,f))!=null&&_.writable)&&(E=u(()=>{var d=pe(c?l[f]:F),R=G(d);return R}),n.set(f,E)),E!==void 0){var T=Ae(E);return T===F?void 0:T}return Reflect.get(l,f,a)},getOwnPropertyDescriptor(l,f){var T;(T=this.has)==null||T.call(this,l,f);var a=Reflect.getOwnPropertyDescriptor(l,f),E=n.get(f);if(E!==void 0){var c=Ae(E);if(c===F)return;if(a&&"value"in a)a.value=c;else return{enumerable:!0,configurable:!0,value:c,writable:!0}}return a},has(l,f){var T;if(f===De)return!0;var a=n.get(f),E=a!==void 0&&a.v!==F||Reflect.has(l,f);if(a!==void 0||C!==null&&(!E||(T=Ne(l,f))!=null&&T.writable)){a===void 0&&(a=u(()=>{var _=E?pe(l[f]):F,d=G(_);return d}),n.set(f,a));var c=Ae(a);if(c===F)return!1}return E},set(l,f,a,E){var vt;var c=n.get(f),T=f in l;if(r&&f==="length")for(var _=a;_<c.v;_+=1){var d=n.get(_+"");d!==void 0?Z(d,F):_ in l&&(d=u(()=>G(F)),n.set(_+"",d))}if(c===void 0)(!T||(vt=Ne(l,f))!=null&&vt.writable)&&(c=u(()=>G(void 0)),Z(c,pe(a)),n.set(f,c));else{T=c.v!==F;var R=u(()=>pe(a));Z(c,R)}var N=Reflect.getOwnPropertyDescriptor(l,f);if(N!=null&&N.set&&N.set.call(E,a),!T){if(r&&typeof f=="string"){var ht=n.get("length"),ze=Number(f);Number.isInteger(ze)&&ze>=ht.v&&Z(ht,ze+1)}Je(s)}return!0},ownKeys(l){Ae(s);var f=Reflect.ownKeys(l).filter(c=>{var T=n.get(c);return T===void 0||T.v!==F});for(var[a,E]of n)E.v!==F&&!(a in l)&&f.push(a);return f},setPrototypeOf(){gn()}})}var Ct,Bn,Vn,xt,Mt;function ss(){if(Ct===void 0){Ct=window,Bn=document,Vn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;xt=Ne(t,"firstChild").get,Mt=Ne(t,"nextSibling").get,Tt(e)&&(e[En]=void 0,e[_n]=null,e[dn]=void 0,e.__e=void 0),Tt(n)&&(n[hn]=void 0)}}function Ve(e=""){return document.createTextNode(e)}function He(e){return xt.call(e)}function X(e){return Mt.call(e)}function Hn(e,t){if(!q)return He(e);var n=He(w);if(n===null)n=w.appendChild(Ve());else if(t&&n.nodeType!==Ke){var r=Ve();return n==null||n.before(r),de(r),r}return t&&ft(n),de(n),n}function is(e,t=!1){if(!q){var n=He(e);return n instanceof Comment&&n.data===""?X(n):n}if(t){if((w==null?void 0:w.nodeType)!==Ke){var r=Ve();return w==null||w.before(r),de(r),r}ft(w)}return w}function ls(e,t=!1){if(!q)return He(e);var n=Hn(e,t);return Mn(e),n}function fs(e,t=1,n=!1){let r=q?w:e;for(var s;t--;)s=r,r=X(r);if(!q)return r;if(n){if((r==null?void 0:r.nodeType)!==Ke){var i=Ve();return r===null?s==null||s.after(i):r.before(i),de(i),i}ft(r)}return de(r),r}function as(e){e.textContent=""}function us(){return!1}function os(e,t,n){return n?document.createElement(e,{is:n}):document.createElement(e)}function ft(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Ke;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Un(e){var t=C;if(t===null)return h.f|=8388608,e;if((t.f&32768)===0&&(t.f&4)===0)throw e;Ie(e,t)}function Ie(e,t){if(!(t!==null&&(t.f&16384)!==0)){for(;t!==null;){if((t.f&128)!==0&&(t.f&33570816)===0){if((t.f&32768)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}}const jn=-7169;function D(e,t){e.f=e.f&jn|t}function at(e){(e.f&512)!==0||e.deps===null?D(e,1024):D(e,4096)}function Gn(e,t,n){(e.f&2048)!==0?t.add(e):(e.f&4096)!==0&&n.add(e),D(e,1024)}let At=!1;function Kn(){At||(At=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n[Pe])==null||t.call(n)})},{capture:!0}))}function Ye(e){var t=h,n=C;$(null),he(null);try{return e()}finally{$(t),he(n)}}function cs(e,t,n,r=n){e.addEventListener(t,()=>Ye(n));const s=e[Pe];s?e[Pe]=()=>{s(),r(!0)}:e[Pe]=()=>r(!0),Kn()}function qn(e,t,n,r){const s=be()?ut:Xn;var i=e.filter(_=>!_.settled),u=t.map(s);if(n.length===0&&i.length===0){r(u);return}var l=C,f=zn(),a=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function E(_){if((l.f&16384)===0){f();try{r([...u,..._])}catch(d){Ie(d,l)}Ue()}}var c=Bt();if(n.length===0){a.then(()=>E([])).finally(c);return}function T(){Promise.all(n.map(_=>$n(_))).then(E).catch(_=>Ie(_,l)).finally(c)}a?a.then(()=>{f(),T(),Ue()}):T()}function zn(){var e=C,t=h,n=I,r=v;return function(i=!0){he(e),$(t),Be(n),i&&(e.f&16384)===0&&(r==null||r.activate(),r==null||r.apply())}}function Ue(e=!0){he(null),$(null),Be(null),e&&(v==null||v.deactivate())}function Bt(){var e=C,t=e.b,n=v,r=!!(t!=null&&t.is_rendered());return t==null||t.update_pending_count(1,n),n.increment(r,e),()=>{t==null||t.update_pending_count(-1,n),n.decrement(r,e)}}function ut(e){var t=2050;return C!==null&&(C.f|=524288),{ctx:I,deps:null,effects:null,equals:Yt,f:t,fn:e,reactions:null,rv:0,v:F,wv:0,parent:C,ac:null}}const Te=Symbol("obsolete");function $n(e,t,n){let r=C;r===null&&Nn();var s=void 0,i=Et(F),u=!h,l=new Set;return ar(()=>{var _,d;var f=C,a=bt();s=a.promise;try{Promise.resolve(e()).then(a.resolve,R=>{R!==me&&a.reject(R)}).finally(Ue)}catch(R){a.reject(R),Ue()}var E=v;if(u){if((f.f&32768)!==0)var c=Bt();if((_=r.b)!=null&&_.is_rendered())(d=E.async_deriveds.get(f))==null||d.reject(Te);else for(const R of l.values())R.reject(Te);l.add(a),E.async_deriveds.set(f,a)}const T=(R,N=void 0)=>{c==null||c(),l.delete(a),N!==Te&&(E.activate(),N?(i.f|=8388608,rt(i,N)):((i.f&8388608)!==0&&(i.f^=8388608),rt(i,R)),E.deactivate())};a.promise.then(T,R=>T(null,R||"unknown"))}),fr(()=>{for(const f of l)f.reject(Te)}),new Promise(f=>{function a(E){function c(){E===s?f(i):a(s)}E.then(c,c)}a(s)})}function _s(e){const t=ut(e);return Xt(t),t}function Xn(e){const t=ut(e);return t.equals=Pt,t}function Zn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)se(t[n])}}function ot(e){var t,n=C,r=e.parent;if(!z&&r!==null&&e.v!==F&&(r.f&24576)!==0)return xn(),e.v;he(r);try{Zn(e),t=Wt(e)}finally{he(n)}return t}function Vt(e){var t=ot(e);if(!e.equals(t)&&(e.wv=Jt(),(!(v!=null&&v.is_fork)||e.deps===null)&&(v!==null?(v.capture(e,t,!0),we==null||we.capture(e,t,!0)):e.v=t,e.deps===null))){D(e,1024);return}z||(O!==null?(rn()||v!=null&&v.is_fork)&&O.set(e,t):at(e))}function Jn(e){var t;if(e.effects!==null)for(const n of e.effects)(n.teardown||n.ac)&&((t=n.teardown)==null||t.call(n),n.ac!==null&&Ye(()=>{n.ac.abort(me),n.ac=null}),n.fn!==null&&(n.teardown=Fe),ge(n,0),dt(n))}function Ht(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&t.fn!==null&&ve(t)}let Xe=null,ie=null,v=null,we=null,O=null,Qe=null,ye=!1,Ze=!1,Oe=null,ke=null;var Dt=0;let Qn=1;var ae,K,ee,ue,oe,ce,U,_e,m,Se,j,P,M,Ee,te,p,We,et,Re,tt,Ut,jt,fe,Wn,Ce;const Ge=class Ge{constructor(){y(this,p);H(this,"id",Qn++);y(this,ae,!1);H(this,"linked",!0);y(this,K,null);y(this,ee,null);H(this,"async_deriveds",new Map);H(this,"current",new Map);H(this,"previous",new Map);y(this,ue,new Set);y(this,oe,new Set);y(this,ce,0);y(this,U,new Map);y(this,_e,null);y(this,m,[]);y(this,Se,[]);y(this,j,new Set);y(this,P,new Set);y(this,M,new Map);y(this,Ee,new Set);H(this,"is_fork",!1);y(this,te,!1);ie===null?Xe=ie=this:(S(ie,ee,this),S(this,K,ie)),ie=this}skip_effect(t){o(this,M).has(t)||o(this,M).set(t,{d:[],m:[]}),o(this,Ee).delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=o(this,M).get(t);if(r){o(this,M).delete(t);for(var s of r.d)D(s,2048),n(s);for(s of r.m)D(s,4096),n(s)}o(this,Ee).add(t)}capture(t,n,r=!1){t.v!==F&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&8388608)===0&&(this.current.set(t,[n,r]),O==null||O.set(t,n)),this.is_fork||(t.v=n)}activate(){v=this}deactivate(){v=null,O=null}flush(){try{Ze=!0,v=this,A(this,p,Re).call(this)}finally{Dt=0,Qe=null,Oe=null,ke=null,Ze=!1,v=null,O=null,B.clear()}}discard(){var t;for(const n of o(this,oe))n(this);o(this,oe).clear();for(const n of this.async_deriveds.values())n.reject(Te);A(this,p,Ce).call(this),(t=o(this,_e))==null||t.resolve()}register_created_effect(t){o(this,Se).push(t)}increment(t,n){if(S(this,ce,o(this,ce)+1),t){let r=o(this,U).get(n)??0;o(this,U).set(n,r+1)}}decrement(t,n){if(S(this,ce,o(this,ce)-1),t){let r=o(this,U).get(n)??0;r===1?o(this,U).delete(n):o(this,U).set(n,r-1)}o(this,te)||(S(this,te,!0),Rt(()=>{S(this,te,!1),this.linked&&this.flush()}))}transfer_effects(t,n){for(const r of t)o(this,j).add(r);for(const r of n)o(this,P).add(r);t.clear(),n.clear()}oncommit(t){o(this,ue).add(t)}ondiscard(t){o(this,oe).add(t)}settled(){return(o(this,_e)??S(this,_e,bt())).promise}static ensure(){if(v===null){const t=v=new Ge;!Ze&&!ye&&Rt(()=>{o(t,ae)||t.flush()})}return v}apply(){{O=null;return}}schedule(t){var n;if(Qe=t,(n=t.b)!=null&&n.is_pending&&(t.f&16777228)!==0&&(t.f&32768)===0){t.b.defer_effect(t);return}o(this,m).push(t)}};ae=new WeakMap,K=new WeakMap,ee=new WeakMap,ue=new WeakMap,oe=new WeakMap,ce=new WeakMap,U=new WeakMap,_e=new WeakMap,m=new WeakMap,Se=new WeakMap,j=new WeakMap,P=new WeakMap,M=new WeakMap,Ee=new WeakMap,te=new WeakMap,p=new WeakSet,We=function(){if(this.is_fork)return!0;for(const r of o(this,U).keys()){for(var t=r,n=!1;t.parent!==null;){if(o(this,M).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},et=function(){var t=[];for(const i of o(this,m))if(!((i.f&16384)!==0||(i.f&6144)===0)){for(var n=i,r=!1;n.parent!==null;){n=n.parent;var s=n.f;if((s&96)!==0){if((s&1024)===0){r=!0;break}n.f^=1024}}r||t.push(n)}return S(this,m,[]),t},Re=function(){var l,f,a,E;S(this,ae,!0);for(const c of o(this,j))o(this,P).delete(c),D(c,2048),this.schedule(c);for(const c of o(this,P))D(c,4096),this.schedule(c);this.apply();for(var t=Oe=[],n=[],r=ke=[];o(this,m).length>0;){Dt++>1e3&&(A(this,p,Ce).call(this),tr());for(const c of A(this,p,et).call(this))try{A(this,p,tt).call(this,c,t,n)}catch(T){throw qt(c),A(this,p,We).call(this)||this.discard(),T}}if(v=null,r.length>0){var s=Ge.ensure();for(const c of r)s.schedule(c)}if(Oe=null,ke=null,A(this,p,We).call(this)){A(this,p,fe).call(this,n),A(this,p,fe).call(this,t);for(const[c,T]of o(this,M))Kt(c,T);r.length>0&&A(l=v,p,Re).call(l);return}const i=A(this,p,Ut).call(this);if(i){A(this,p,fe).call(this,n),A(this,p,fe).call(this,t),A(f=i,p,jt).call(f,this);return}o(this,j).clear(),o(this,P).clear();for(const c of o(this,ue))c(this);o(this,ue).clear(),we=this,Nt(n),Nt(t),we=null,(a=o(this,_e))==null||a.resolve();var u=v;if(o(this,ce)===0&&(o(this,m).length===0||u!==null)&&A(this,p,Ce).call(this),o(this,m).length>0)if(u!==null){for(const c of o(this,m))o(u,m).push(c);S(this,m,[])}else u=this;u!==null&&(B.clear(),A(E=u,p,Re).call(E))},tt=function(t,n,r){t.f^=1024;for(var s=t.first;s!==null;){var i=s.f,u=(i&96)!==0,l=u&&(i&1024)!==0,f=l||(i&8192)!==0||o(this,M).has(s);if(!f&&s.fn!==null){u?s.f^=1024:(i&4)!==0?n.push(s):Le(s)&&((i&16)!==0&&o(this,P).add(s),ve(s));var a=s.first;if(a!==null){s=a;continue}}for(;s!==null;){var E=s.next;if(E!==null){s=E;break}s=s.parent}}},Ut=function(){for(var t=o(this,K);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=o(t,K)}return null},jt=function(t){var r;for(const[s,i]of t.current)!this.previous.has(s)&&t.previous.has(s)&&this.previous.set(s,t.previous.get(s)),this.current.set(s,i);for(const[s,i]of t.async_deriveds){const u=this.async_deriveds.get(s);u&&i.promise.then(u.resolve).catch(u.reject)}t.async_deriveds.clear(),this.transfer_effects(o(t,j),o(t,P));const n=s=>{var i=s.reactions;if(i!==null&&!((s.f&2)!==0&&(s.f&6144)===0))for(const f of i){var u=f.f;if((u&2)!==0)n(f);else{var l=f;u&4194320&&!this.async_deriveds.has(l)&&(o(this,P).delete(l),D(l,2048),this.schedule(l))}}};for(const s of this.current.keys())n(s);this.oncommit(()=>t.discard()),A(r=t,p,Ce).call(r),v=this,A(this,p,Re).call(this)},fe=function(t){for(var n=0;n<t.length;n+=1)Gn(t[n],o(this,j),o(this,P))},Wn=function(){var c,T;for(let _=Xe;_!==null;_=o(_,ee)){var t=_.id<this.id,n=[];for(const[d,[R,N]]of this.current){if(_.current.has(d)){var r=_.current.get(d)[0];if(t&&R!==r)_.current.set(d,[R,N]);else continue}n.push(d)}if(t)for(const[d,R]of this.async_deriveds){const N=_.async_deriveds.get(d);N&&R.promise.then(N.resolve).catch(N.reject)}var s=[..._.current.keys()].filter(d=>!_.current.get(d)[1]);if(!(!o(_,ae)||s.length===0)){var i=s.filter(d=>!this.current.has(d));if(i.length===0)t&&_.discard();else if(n.length>0){if(t)for(const d of o(this,Ee))_.unskip_effect(d,R=>{var N;(R.f&4194320)!==0?_.schedule(R):A(N=_,p,fe).call(N,[R])});_.activate();var u=new Set,l=new Map;for(var f of n)Gt(f,i,u,l);l=new Map;var a=[..._.current].filter(([d,R])=>{const N=this.current.get(d);return N?N[0]!==R[0]||N[1]!==R[1]:!0}).map(([d])=>d);if(a.length>0)for(const d of o(this,Se))(d.f&155648)===0&&ct(d,a,l)&&((d.f&4194320)!==0?(D(d,2048),_.schedule(d)):o(_,j).add(d));if(o(_,m).length>0&&!o(_,te)){_.apply();for(var E of A(c=_,p,et).call(c))A(T=_,p,tt).call(T,E,[],[])}_.deactivate()}}}},Ce=function(){if(this.linked){var t=o(this,K),n=o(this,ee);t===null?Xe=n:S(t,ee,n),n===null?ie=t:S(n,K,t),this.linked=!1}};let re=Ge;function er(e){var t=ye;ye=!0;try{for(var n;;){if(kn(),v===null)return n;v.flush()}}finally{ye=t}}function tr(){try{On()}catch(e){Ie(e,Qe)}}let L=null;function Nt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&24576)===0&&Le(r)&&(L=new Set,ve(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&fn(r),(L==null?void 0:L.size)>0)){B.clear();for(const s of L){if((s.f&24576)!==0)continue;const i=[s];let u=s.parent;for(;u!==null;)L.has(u)&&(L.delete(u),i.push(u)),u=u.parent;for(let l=i.length-1;l>=0;l--){const f=i[l];(f.f&24576)===0&&ve(f)}}L.clear()}}L=null}}function Gt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&2)!==0?Gt(s,t,n,r):(i&4194320)!==0&&(i&2048)===0&&ct(s,t,r)&&(D(s,2048),_t(s))}}function ct(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Me.call(t,s))return!0;if((s.f&2)!==0&&ct(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function _t(e){v.schedule(e)}function Kt(e,t){if(!((e.f&32)!==0&&(e.f&1024)!==0)){(e.f&2048)!==0?t.d.push(e):(e.f&4096)!==0&&t.m.push(e),D(e,1024);for(var n=e.first;n!==null;)Kt(n,t),n=n.next}}function qt(e){D(e,1024);for(var t=e.first;t!==null;)qt(t),t=t.next}let je=new Set;const B=new Map;let zt=!1;function Et(e,t){var n={f:0,v:e,reactions:null,equals:Yt,rv:0,wv:0};return n}function G(e,t){const n=Et(e);return Xt(n),n}function Es(e,t=!1,n=!0){var s;const r=Et(e);return t||(r.equals=Pt),qe&&n&&I!==null&&I.l!==null&&((s=I.l).s??(s.s=[])).push(r),r}function Z(e,t,n=!1){h!==null&&(!k||(h.f&131072)!==0)&&be()&&(h.f&4325394)!==0&&(V===null||!V.has(e))&&Sn();let r=n?pe(t):t;return rt(e,r,ke)}var J=null,nt=0;function rt(e,t,n=null){if(!e.equals(t)){z?B.set(e,t):B.has(e)||B.set(e,e.v);var r=re.ensure();if(r.capture(e,t),(e.f&2)!==0){const s=e;(e.f&2048)!==0&&ot(s),O===null&&at(s)}e.wv=Jt(),J=null,nt=0,$t(e,2048,n),J=null,be()&&C!==null&&(C.f&1024)!==0&&(C.f&96)===0&&(Y===null?rr([e]):Y.push(e)),!r.is_fork&&je.size>0&&!zt&&nr()}return t}function nr(){zt=!1;for(const e of je){(e.f&1024)!==0&&D(e,4096);let t;try{t=Le(e)}catch{t=!0}t&&ve(e)}je.clear()}function Je(e){Z(e,e.v+1)}function $t(e,t,n){var r=e.reactions;if(r!==null){var s=be(),i=r.length;if(nt+=i,nt>1e5&&J===null&&(J=new Set),J!==null){if(J.has(e))return;J.add(e)}for(var u=0;u<i;u++){var l=r[u],f=l.f;if(!(!s&&l===C)){var a=(f&2048)===0;if(a&&D(l,t),(f&131072)!==0)je.add(l);else if((f&2)!==0){var E=l;O==null||O.delete(E),$t(E,4096,n)}else if(a){var c=l;(f&16)!==0&&L!==null&&L.add(c),n!==null?n.push(c):_t(c)}}}}}let xe=!1,z=!1;function Ft(e){z=e}let h=null,k=!1;function $(e){h=e}let C=null;function he(e){C=e}let V=null;function Xt(e){h!==null&&((h.f&2097152)!==0||(h.f&2)!==0)&&(V??(V=new Set)).add(e)}let g=null,b=0,Y=null;function rr(e){Y=e}let Zt=1,W=0,ne=W;function wt(e){ne=e}function Jt(){return++Zt}function Le(e){var t=e.f;if((t&2048)!==0)return!0;if((t&4096)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(Le(i)&&Vt(i),i.wv>e.wv)return!0}(t&512)!==0&&O===null&&D(e,1024)}return!1}function Qt(e,t,n=!0){var r=e.reactions;if(r!==null&&!(V!==null&&V.has(e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&2)!==0?Qt(i,t,!1):t===i&&(n?D(i,2048):(i.f&1024)!==0&&D(i,4096),_t(i))}}function Wt(e){var t=g,n=b,r=Y,s=h,i=V,u=I,l=k,f=ne,a=e.f;g=null,b=0,Y=null,h=(a&96)===0?e:null,V=null,Be(e.ctx),k=!1,ne=++W,e.ac!==null&&(Ye(()=>{e.ac.abort(me)}),e.ac=null);try{e.f|=2097152;var E=e.fn,c=E();e.f|=32768;var T=yt(e);if(be()&&Y!==null&&!k&&T!==null&&(e.f&6146)===0)for(var _=0;_<Y.length;_++)Qt(Y[_],e);if(s!==null&&s!==e){if(W++,s.deps!==null)for(let d=0;d<n;d+=1)s.deps[d].rv=W;if(t!==null)for(const d of t)d.rv=W;Y!==null&&(r===null?r=Y:r.push(...Y))}return(e.f&8388608)!==0&&(e.f^=8388608),c}catch(d){return yt(e),Un(d)}finally{e.f^=2097152,g=t,b=n,Y=r,h=s,V=i,Be(u),k=l,ne=f}}function yt(e){var s;var t=e.deps,n=v==null?void 0:v.is_fork;if(g!==null){var r;if(n||ge(e,b),t!==null&&b>0)for(t.length=b+g.length,r=0;r<g.length;r++)t[b+r]=g[r];else e.deps=t=g;if(rn()&&(e.f&512)!==0)for(r=b;r<t.length;r++)((s=t[r]).reactions??(s.reactions=[])).push(e)}else!n&&t!==null&&b<t.length&&(ge(e,b),t.length=b);return t}function sr(e,t){let n=t.reactions;if(n!==null){var r=pn.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&2)!==0&&(g===null||!Me.call(g,t))){var i=t;(i.f&512)!==0&&(i.f^=512),i.v!==F&&at(i),i.ac!==null&&Ye(()=>{i.ac.abort(me),i.ac=null,D(i,2048)}),Jn(i),ge(i,0)}}function ge(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)sr(e,n[r])}function ve(e){var t=e.f;if((t&16384)===0){D(e,1024);var n=C,r=xe;C=e,xe=(t&96)===0;try{(t&16777232)!==0?ur(e):dt(e),ln(e);var s=Wt(e);e.teardown=typeof s=="function"?s:null,e.wv=Zt;var i;St&&mn&&(e.f&2048)!==0&&e.deps}finally{xe=r,C=n}}}async function ds(){await Promise.resolve(),er()}function hs(){return re.ensure().settled()}function Ae(e){var t=e.f,n=(t&2)!==0;if(h!==null&&!k){var r=C!==null&&(C.f&16384)!==0;if(!r&&(V===null||!V.has(e))){var s=h.deps;if((h.f&2097152)!==0)e.rv<W&&(e.rv=W,g===null&&s!==null&&s[b]===e?b++:g===null?g=[e]:g.push(e));else{h.deps??(h.deps=[]),Me.call(h.deps,e)||h.deps.push(e);var i=e.reactions;i===null?e.reactions=[h]:Me.call(i,h)||i.push(h)}}}if(z&&B.has(e))return B.get(e);if(n){var u=e;if(z){var l=u.v;return((u.f&1024)===0&&u.reactions!==null||tn(u))&&(l=ot(u)),B.set(u,l),l}var f=(u.f&512)===0&&!k&&h!==null&&(xe||(h.f&512)!==0),a=(u.f&32768)===0;Le(u)&&(f&&(u.f|=512),Vt(u)),f&&!a&&(Ht(u),en(u))}if(O!=null&&O.has(e))return O.get(e);if((e.f&8388608)!==0)throw e.v;return e.v}function en(e){if(e.f|=512,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&2)!==0&&(t.f&512)===0&&(Ht(t),en(t))}function tn(e){if(e.v===F)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(B.has(t)||(t.f&2)!==0&&tn(t))return!0;return!1}function ir(e){var t=k;try{return k=!0,e()}finally{k=t}}function vs(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(De in e)st(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&De in n&&st(n)}}}function st(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{st(e[r],t)}catch{}const n=mt(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Rn(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function nn(e){C===null&&(h===null&&yn(),wn()),z&&Fn()}function lr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function x(e,t){var n=C;n!==null&&(n.f&8192)!==0&&(e|=8192);var r={ctx:I,deps:null,nodes:null,f:e|2048|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};v==null||v.register_created_effect(r);var s=r;if((e&4)!==0)Oe!==null?Oe.push(r):re.ensure().schedule(r);else if(t!==null){try{ve(r)}catch(u){throw se(r),u}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&524288)===0&&(s=s.first,(e&16)!==0&&(e&65536)!==0&&s!==null&&(s.f|=65536))}if(s!==null&&(s.parent=n,n!==null&&lr(s,n),h!==null&&(h.f&2)!==0&&(e&64)===0)){var i=h;(i.effects??(i.effects=[])).push(s)}return r}function rn(){return h!==null&&!k}function fr(e){const t=x(8,null);return D(t,1024),t.teardown=e,t}function ps(e){nn();var t=C.f,n=!h&&(t&32)!==0&&I!==null&&!I.i;if(n){var r=I;(r.e??(r.e=[])).push(e)}else return sn(e)}function sn(e){return x(1048580,e)}function Ts(e){return nn(),x(1048584,e)}function Rs(e){re.ensure();const t=x(524352,e);return(n={})=>new Promise(r=>{n.outro?cr(t,()=>{se(t),r(void 0)}):(se(t),r(void 0))})}function Cs(e){return x(4,e)}function ar(e){return x(4718592,e)}function As(e,t=0){return x(8|t,e)}function Ds(e,t=[],n=[],r=[]){qn(r,t,n,s=>{x(8,()=>{e(...s.map(Ae))})})}function Ns(e,t=0){var n=x(16|t,e);return n}function Fs(e,t=0){var n=x(16777216|t,e);return n}function ws(e){return x(524320,e)}function ln(e){var t=e.teardown;if(t!==null){const n=z,r=h;Ft(!0),$(null);try{t.call(null)}catch(s){Ie(s,e.parent)}finally{Ft(n),$(r)}}}function dt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Ye(()=>{s.abort(me)});var r=n.next;(n.f&64)!==0?n.parent=null:se(n,t),n=r}}function ur(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&32)===0&&se(t),t=n}}function se(e,t=!0){var n=!1;(t||(e.f&262144)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(or(e.nodes.start,e.nodes.end),n=!0),e.f|=33554432,dt(e,t&&!n),ge(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();ln(e),e.f^=33554432,e.f|=16384;var s=e.parent;s!==null&&s.first!==null&&fn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function or(e,t){for(;e!==null;){var n=e===t?null:X(e);e.remove(),e=n}}function fn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function cr(e,t,n=!0){var r=[];e.f|=256,an(e,r,!0);var s=()=>{n&&se(e),t&&t()},i=r.length;if(i>0){var u=()=>--i||s();for(var l of r)l.out(u)}else s()}function an(e,t,n){if((e.f&8192)===0){e.f^=8192;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next;if((s.f&64)===0){var u=(s.f&65536)!==0||(s.f&32)!==0&&(e.f&16)!==0;an(s,t,u?n:!1)}s=i}}}function ys(e){e.f&=-257,un(e,!0)}function un(e,t){if((e.f&256)===0&&(e.f&8192)!==0){e.f^=8192,(e.f&1024)===0&&(D(e,2048),re.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&65536)!==0||(n.f&32)!==0;un(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const u of i)(u.is_global||t)&&u.in()}}function Os(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:X(n);t.append(n),n=s}}function _r(e,t,n){if(e==null)return t(void 0),Fe;const r=ir(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const le=[];function Is(e,t=Fe){let n=null;const r=new Set;function s(l){if(Lt(e,l)&&(e=l,n)){const f=!le.length;for(const a of r)a[1](),le.push(a,e);if(f){for(let a=0;a<le.length;a+=2)le[a][0](le[a+1]);le.length=0}}}function i(l){s(l(e))}function u(l,f=Fe){const a=[l,f];return r.add(a),r.size===1&&(n=t(s,i)||Fe),l(e),()=>{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:s,update:i,subscribe:u}}function gs(e){let t;return _r(e,n=>t=n)(),t}export{rt as $,cs as A,v as B,ir as C,As as D,Cr as E,I as F,Dn as G,bn as H,Sr as I,vs as J,ut as K,Fr as L,gs as M,Is as N,pe as O,ts as P,Pr as Q,Cs as R,dn as S,Pn as T,C as U,Rr as V,De as W,be as X,gr as Y,Yn as Z,Rt as _,es as a,Ie as a$,re as a0,Ue as a1,ye as a2,Et as a3,F as a4,zn as a5,Ve as a6,ws as a7,Ar as a8,gt as a9,Xr as aA,Or as aB,mt as aC,Pe as aD,Kn as aE,wr as aF,Rn as aG,Fe as aH,_r as aI,fr as aJ,Ne as aK,Yr as aL,jr as aM,z as aN,Kr as aO,qe as aP,Ur as aQ,Gr as aR,Hr as aS,Ye as aT,$ as aU,he as aV,h as aW,rn as aX,Je as aY,hr as aZ,$r as a_,X as aa,He as ab,Fs as ac,se as ad,Bn as ae,Ln as af,Nr as ag,mr as ah,us as ai,Xn as aj,vn as ak,Ir as al,kr as am,Vr as an,xr as ao,pr as ap,ys as aq,cr as ar,vr as as,dr as at,as as au,Os as av,Mr as aw,Br as ax,En as ay,_n as az,Ns as b,Gn as b0,Be as b1,Dr as b2,Qr as b3,Lr as b4,hn as b5,ss as b6,it as b7,br as b8,Rs as b9,lt as ba,os as bb,Vn as bc,qr as bd,zr as be,Tr as bf,Ke as bg,ft as bh,hs as bi,ns as c,Tn as d,de as e,er as f,Ae as g,q as h,Wr as i,w as j,ps as k,is as l,Es as m,fs as n,Jr as o,Zr as p,G as q,rs as r,Z as s,ds as t,Ts as u,Hn as v,Mn as w,Ds as x,_s as y,ls as z};
_app/immutable/chunks/C3O8Luwd.js ADDED
The diff for this file is too large to render. See raw diff
 
_app/immutable/chunks/CbXUJz7y.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ import{a6 as q,b as le,h as I,e as B,ab as ue,a as se,g as Q,r as oe,Z as te,c as W,i as Y,j as x,a9 as ve,af as de,$ as y,B as ce,ag as w,a7 as U,ah as ge,ai as pe,aj as he,ak as _e,al as Z,am as Ee,an as me,m as Ae,a3 as j,ao as we,ap as Ce,aq as fe,ar as ae,as as V,at as Se,au as Te,av as Ne,ad as be,aa as Ie,aw as ie,_ as De,ax as Oe,ay as ee}from"./Bxo-DTfX.js";function Le(e,a){return a}function Re(e,a,u){for(var r=[],o=a.length,i,f=a.length,t=0;t<o;t++){let E=a[t];ae(E,()=>{if(i){if(i.pending.delete(E),i.done.add(E),i.pending.size===0){var c=e.outrogroups;X(e,Z(i.done)),c.delete(i),c.size===0&&(e.outrogroups=null)}}else f-=1},!1)}if(f===0){var l=r.length===0&&u!==null&&e.pending.size===0;if(l){var d=u,s=d.parentNode;Te(s),s.append(d),e.items.clear()}X(e,a,!l)}else i={pending:new Set(a),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function X(e,a,u=!0){var r;if(e.pending.size>0){r=new Set;for(const f of e.pending.values())for(const t of f)r.add(e.items.get(t).e)}for(var o=0;o<a.length;o++){var i=a[o];if(r!=null&&r.has(i)){i.f|=w;const f=document.createDocumentFragment();Ne(i,f)}else be(a[o],u)}}var ne;function ke(e,a,u,r,o,i=null){var f=e,t=new Map,l=(a&ie)!==0;if(l){var d=e;f=I?B(ue(d)):d.appendChild(q())}I&&se();var s=null,E=he(()=>{var g=u();return _e(g)?g:g==null?[]:Z(g)}),c,m=new Map,A=!0;function D(g){(S.effect.f&Ce)===0&&(S.pending.delete(g),S.fallback=s,He(S,c,f,a,r),s!==null&&(c.length===0?(s.f&w)===0?fe(s):(s.f^=w,z(s,null,f)):ae(s,()=>{s=null})))}function n(g){S.pending.delete(g)}var v=le(()=>{c=Q(E);var g=c.length;let h=!1;if(I){var F=oe(f)===te;F!==(g===0)&&(f=W(),B(f),Y(!1),h=!0)}for(var T=new Set,p=ce,R=pe(),N=0;N<g;N+=1){I&&x.nodeType===ve&&x.data===de&&(f=x,h=!0,Y(!1));var H=c[N],O=r(H,N),_=A?null:t.get(O);_?(_.v&&y(_.v,H),_.i&&y(_.i,N),R&&p.unskip_effect(_.e)):(_=Me(t,A?f:ne??(ne=q()),H,O,N,o,a,u),A||(_.e.f|=w),t.set(O,_)),T.add(O)}if(g===0&&i&&!s&&(A?s=U(()=>i(f)):(s=U(()=>i(ne??(ne=q()))),s.f|=w)),g>T.size&&ge(),I&&g>0&&B(W()),!A)if(m.set(p,T),R){for(const[L,k]of t)T.has(L)||p.skip_effect(k.e);p.oncommit(D),p.ondiscard(n)}else D(p);h&&Y(!0),Q(E)}),S={effect:v,items:t,pending:m,outrogroups:null,fallback:s};A=!1,I&&(f=x)}function M(e){for(;e!==null&&(e.f&Se)===0;)e=e.next;return e}function He(e,a,u,r,o){var H,O,_,L,k,$,G,J,K;var i=(r&Oe)!==0,f=a.length,t=e.items,l=M(e.effect.first),d,s=null,E,c=[],m=[],A,D,n,v;if(i)for(v=0;v<f;v+=1)A=a[v],D=o(A,v),n=t.get(D).e,(n.f&w)===0&&((O=(H=n.nodes)==null?void 0:H.a)==null||O.measure(),(E??(E=new Set)).add(n));for(v=0;v<f;v+=1){if(A=a[v],D=o(A,v),n=t.get(D).e,e.outrogroups!==null)for(const C of e.outrogroups)C.pending.delete(n),C.done.delete(n);if((n.f&V)!==0&&(fe(n),i&&((L=(_=n.nodes)==null?void 0:_.a)==null||L.unfix(),(E??(E=new Set)).delete(n))),(n.f&w)!==0)if(n.f^=w,n===l)z(n,null,u);else{var S=s?s.next:l;n===e.effect.last&&(e.effect.last=n.prev),n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),b(e,s,n),b(e,n,S),z(n,S,u),s=n,c=[],m=[],l=M(s.next);continue}if(n!==l){if(d!==void 0&&d.has(n)){if(c.length<m.length){var g=m[0],h;s=g.prev;var F=c[0],T=c[c.length-1];for(h=0;h<c.length;h+=1)z(c[h],g,u);for(h=0;h<m.length;h+=1)d.delete(m[h]);b(e,F.prev,T.next),b(e,s,F),b(e,T,g),l=g,s=T,v-=1,c=[],m=[]}else d.delete(n),z(n,l,u),b(e,n.prev,n.next),b(e,n,s===null?e.effect.first:s.next),b(e,s,n),s=n;continue}for(c=[],m=[];l!==null&&l!==n;)(d??(d=new Set)).add(l),m.push(l),l=M(l.next);if(l===null)continue}(n.f&w)===0&&c.push(n),s=n,l=M(n.next)}if(e.outrogroups!==null){for(const C of e.outrogroups)C.pending.size===0&&(X(e,Z(C.done)),(k=e.outrogroups)==null||k.delete(C));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||d!==void 0){var p=[];if(d!==void 0)for(n of d)(n.f&V)===0&&p.push(n);for(;l!==null;)(l.f&V)===0&&l!==e.fallback&&p.push(l),l=M(l.next);var R=p.length;if(R>0){var N=(r&ie)!==0&&f===0?u:null;if(i){for(v=0;v<R;v+=1)(G=($=p[v].nodes)==null?void 0:$.a)==null||G.measure();for(v=0;v<R;v+=1)(K=(J=p[v].nodes)==null?void 0:J.a)==null||K.fix()}Re(e,p,N)}}i&&De(()=>{var C,P;if(E!==void 0)for(n of E)(P=(C=n.nodes)==null?void 0:C.a)==null||P.apply()})}function Me(e,a,u,r,o,i,f,t){var l=(f&Ee)!==0?(f&me)===0?Ae(u,!1,!1):j(u):null,d=(f&we)!==0?j(o):null;return{v:l,i:d,e:U(()=>(i(a,l??u,d??o,t),()=>{e.delete(r)}))}}function z(e,a,u){if(e.nodes)for(var r=e.nodes.start,o=e.nodes.end,i=a&&(a.f&w)===0?a.nodes.start:u;r!==null;){var f=Ie(r);if(i.before(r),r===o)return;r=f}}function b(e,a,u){a===null?e.effect.first=u:a.next=u,u===null?e.effect.last=a:u.prev=a}const re=[...`
2
+ \r\f \v\uFEFF`];function ze(e,a,u){var r=e==null?"":""+e;if(a&&(r=r?r+" "+a:a),u){for(var o of Object.keys(u))if(u[o])r=r?r+" "+o:o;else if(r.length)for(var i=o.length,f=0;(f=r.indexOf(o,f))>=0;){var t=f+i;(f===0||re.includes(r[f-1]))&&(t===r.length||re.includes(r[t]))?r=(f===0?"":r.substring(0,f))+r.substring(t+1):f=t}}return r===""?null:r}function xe(e,a){return e==null?null:String(e)}function qe(e,a,u,r,o,i){var f=e[ee];if(I||f!==u||f===void 0){var t=ze(u,r,i);(!I||t!==e.getAttribute("class"))&&(t==null?e.removeAttribute("class"):e.className=t),e[ee]=u}else if(i&&o!==i)for(var l in i){var d=!!i[l];(o==null||d!==!!o[l])&&e.classList.toggle(l,d)}return i}export{ke as e,Le as i,qe as s,xe as t};
_app/immutable/chunks/Cgv1tdeu.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{k as u,F as t,aP as a,C as o}from"./Bxo-DTfX.js";function c(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function l(e){t===null&&c(),a&&t.l!==null?i(t).m.push(e):u(()=>{const n=o(e);if(typeof n=="function")return n})}function f(e){t===null&&c(),l(()=>()=>o(e))}function i(e){var n=e.l;return n.u??(n.u={a:[],b:[],m:[]})}export{f as a,l as o};
_app/immutable/chunks/D0HAYttL.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var N=t=>{throw TypeError(t)};var W=(t,e,n)=>e.has(t)||N("Cannot "+n);var a=(t,e,n)=>(W(t,e,"read from private field"),n?n.call(t):e.get(t)),c=(t,e,n)=>e.has(t)?N("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{o as I}from"./Cgv1tdeu.js";import{N as G,q as u,g as f,s as d}from"./Bxo-DTfX.js";const X="1789931630721";var C;const z=((C=globalThis.__sveltekit_1i6ligo)==null?void 0:C.base)??"";var P;const J=((P=globalThis.__sveltekit_1i6ligo)==null?void 0:P.assets)??z??"";new URL("sveltekit-internal://");function oe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function ie(t){return t.split("%25").map(decodeURI).join("%25")}function le(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function ce({href:t}){return t.split("#")[0]}function M(){}function F(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;function Q(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const Z=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&_.delete(U(t)),Z(t,e));const _=new Map;function ue(t,e){const n=U(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);r.getAttribute("data-b64")!==null&&(s=Q(s));const o=r.getAttribute("data-ttl");return o&&_.set(n,{body:s,init:l,ttl:1e3*Number(o)}),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function fe(t,e,n){if(_.size>0){const r=U(t,n),s=_.get(r);if(s){if(performance.now()<s.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(s.body,s.init);_.delete(r)}}return window.fetch(e,n)}function U(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const s=[];e.headers&&s.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&s.push(e.body),r+=`[data-hash="${F(...s)}"]`}return r}const de="sveltekit:snapshot",he="sveltekit:scroll",ge="sveltekit:states",_e="sveltekit:pageurl",be="sveltekit:history",we="sveltekit:navigation",L={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Y=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Y];const ee=new Set([...Y]);[...ee];const H=location.origin;function ve(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function me(){return{x:pageXOffset,y:pageYOffset}}function g(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const O={...L,"":L.hover};function K(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function pe(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=K(t)}}function ye(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const s=t instanceof SVGAElement?t.target.baseVal:t.target,l=!r||!!s||te(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(r==null?void 0:r.origin)===H&&t.hasAttribute("download");return{url:r,external:l,target:s,download:i}}function Ae(t){let e=null,n=null,r=null,s=null,l=null,i=null,o=t;for(;o&&o!==document.documentElement;)r===null&&(r=g(o,"preload-code")),s===null&&(s=g(o,"preload-data")),e===null&&(e=g(o,"keepfocus")),n===null&&(n=g(o,"noscroll")),l===null&&(l=g(o,"reload")),i===null&&(i=g(o,"replacestate")),o=K(o);function h(D){switch(D){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:O[r??"off"],preload_data:O[s??"off"],keepfocus:h(e),noscroll:h(n),reload:h(l),replace_state:h(i)}}function Re(t){const e=G(t);let n=!0;function r(){n=!0,e.update(i=>i)}function s(i){n=!1,e.set(i)}function l(i){let o;return e.subscribe(h=>{(o===void 0||n&&h!==o)&&i(o=h)})}return{notify:r,set:s,subscribe:l}}const B={v:M};function Se(){const{set:t,subscribe:e}=G(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${J}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const i=(await s.json()).version!==X;return i&&(t(!0),B.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:e,check:r}}function te(t,e,n){return t.origin!==H||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function ke(t){}let T,x,E;const ne=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString()),$="a:";var b,w,v,m,p,y,A,R,V,S,j,k,q;ne?(T={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL($)},x={current:null},E={current:!1}):(T=new(V=class{constructor(){c(this,b,u({}));c(this,w,u(null));c(this,v,u(null));c(this,m,u({}));c(this,p,u({id:null}));c(this,y,u({}));c(this,A,u(-1));c(this,R,u(new URL($)))}get data(){return f(a(this,b))}set data(e){d(a(this,b),e)}get form(){return f(a(this,w))}set form(e){d(a(this,w),e)}get error(){return f(a(this,v))}set error(e){d(a(this,v),e)}get params(){return f(a(this,m))}set params(e){d(a(this,m),e)}get route(){return f(a(this,p))}set route(e){d(a(this,p),e)}get state(){return f(a(this,y))}set state(e){d(a(this,y),e)}get status(){return f(a(this,A))}set status(e){d(a(this,A),e)}get url(){return f(a(this,R))}set url(e){d(a(this,R),e)}},b=new WeakMap,w=new WeakMap,v=new WeakMap,m=new WeakMap,p=new WeakMap,y=new WeakMap,A=new WeakMap,R=new WeakMap,V),x=new(j=class{constructor(){c(this,S,u(null))}get current(){return f(a(this,S))}set current(e){d(a(this,S),e)}},S=new WeakMap,j),E=new(q=class{constructor(){c(this,k,u(!1))}get current(){return f(a(this,k))}set current(e){d(a(this,k),e)}},k=new WeakMap,q),B.v=()=>E.current=!0);function Ne(t){Object.assign(T,t)}export{be as H,we as N,_e as P,ge as S,x as a,z as b,Ae as c,ce as d,le as e,pe as f,ye as g,oe as h,te as i,Se as j,Re as k,L as l,ie as m,M as n,H as o,T as p,de as q,ve as r,me as s,fe as t,Ne as u,ue as v,he as w,ke as x};
_app/immutable/chunks/DBnLgX18.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{b,h as _,a as g,E as p,r as k,c as w,e as P,i as E,j as R}from"./Bxo-DTfX.js";import{B as S}from"./c4NiXbqN.js";const B="modulepreload",A=function(h,l){return new URL(h,l).href},y={},j=function(l,c,u){let o=Promise.resolve();if(c&&c.length>0){let n=function(t){return Promise.all(t.map(a=>Promise.resolve(a).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const e=document.getElementsByTagName("link"),r=document.querySelector("meta[property=csp-nonce]"),i=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));o=n(c.map(t=>{if(t=A(t,u),t in y)return;y[t]=!0;const a=t.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!u)for(let d=e.length-1;d>=0;d--){const v=e[d];if(v.href===t&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${f}`))return;const s=document.createElement("link");if(s.rel=a?"stylesheet":B,a||(s.as="script"),s.crossOrigin="",s.href=t,i&&s.setAttribute("nonce",i),document.head.appendChild(s),a)return new Promise((d,v)=>{s.addEventListener("load",d),s.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${t}`)))})}))}function m(n){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=n,window.dispatchEvent(e),!e.defaultPrevented)throw n}return o.then(n=>{for(const e of n||[])e.status==="rejected"&&m(e.reason);return l().catch(m)})};function $(h,l,c=!1){var u;_&&(u=R,g());var o=new S(h),m=c?p:0;function n(e,r){if(_){var i=k(u);if(e!==parseInt(i.substring(1))){var t=w();P(t),o.anchor=t,E(!1),o.ensure(e,r),E(!0);return}}o.ensure(e,r)}b(()=>{var e=!1;l((r,i=0)=>{e=!0,n(i,r)}),e||n(-1,null)},m)}export{j as _,$ as i};
_app/immutable/chunks/DN7CV-sg.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ var Le=Object.defineProperty;var ve=t=>{throw TypeError(t)};var Me=(t,e,r)=>e in t?Le(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var z=(t,e,r)=>Me(t,typeof e!="symbol"?e+"":e,r),re=(t,e,r)=>e.has(t)||ve("Cannot "+r);var s=(t,e,r)=>(re(t,e,"read from private field"),r?r.call(t):e.get(t)),d=(t,e,r)=>e.has(t)?ve("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),o=(t,e,r,i)=>(re(t,e,"write to private field"),i?i.call(t,r):e.set(t,r),r),c=(t,e,r)=>(re(t,e,"access private method"),r);import{aJ as Ie,_ as B,aT as Ye,d as Be,aU as G,aV as K,aW as we,U as P,aX as Pe,g as ke,D as Ve,C as We,aY as ye,a3 as Se,j as F,h as C,aZ as be,b as $e,a as xe,Z as je,a_ as me,a7 as O,a6 as Re,a$ as $,B as A,ar as se,av as qe,b0 as Ue,b1 as Ee,a0 as ze,F as Ae,$ as Je,ad as ie,e as Q,P as Xe,c as Ze,E as Ge,b2 as Ke,b3 as Qe,b4 as et,b5 as Te,b6 as fe,ab as tt,a9 as De,H as rt,aa as st,b7 as oe,i as J,b8 as it,au as nt,b9 as at,al as ft,p as ot,T as ht,af as lt,ba as ct,o as dt}from"./Bxo-DTfX.js";import{d as ut}from"./DuVv0l3G.js";const H=Symbol("events"),Ne=new Set,he=new Set;function _t(t,e,r,i={}){function n(a){if(i.capture||le.call(e,a),!a.cancelBubble)return Ye(()=>r==null?void 0:r.call(this,a))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?(n.__removed=!1,B(()=>{n.__removed||e.addEventListener(t,n,i)})):e.addEventListener(t,n,i),n}function St(t,e,r,i,n){var a={capture:i,passive:n},f=_t(t,e,r,a);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ie(()=>{f.__removed=!0,e.removeEventListener(t,f,a)})}function Rt(t,e,r){(e[H]??(e[H]={}))[t]=r}function At(t){for(var e=0;e<t.length;e++)Ne.add(t[e]);for(var r of he)r(t)}let ne=null,ae=!1;function le(t){var y,N;var e=this,r=e.ownerDocument,i=t.type,n=((y=t.composedPath)==null?void 0:y.call(t))||[],a=n[0]||t.target;ne=t,ae||(ae=!0,setTimeout(()=>{ae=!1,ne=null}));var f=0,l=ne===t&&t[H];if(l){var w=n.indexOf(l);if(w!==-1&&(e===document||e===window)){t[H]=e;return}var I=n.indexOf(e);if(I===-1)return;w<=I&&(f=w)}if(a=n[f]||t.target,a!==e){Be(t,"currentTarget",{configurable:!0,get(){return a||r}});var Y=we,W=P;G(null),K(null);try{for(var R,g=[];a!==null&&a!==e;){try{var v=(N=a[H])==null?void 0:N[i];v!=null&&(!a.disabled||t.target===a)&&v.call(a,t)}catch(u){R?g.push(u):R=u}if(t.cancelBubble)break;f++,a=f<n.length?n[f]:null}if(R){for(let u of g)queueMicrotask(()=>{throw u});throw R}}finally{t[H]=e,delete t.currentTarget,G(Y),K(W)}}}const pt=["touchstart","touchmove"];function gt(t){return pt.includes(t)}function vt(t){let e=0,r=Se(0),i;return()=>{Pe()&&(ke(r),Ve(()=>(e===0&&(i=We(()=>t(()=>ye(r)))),e+=1,()=>{B(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ye(r))})})))}}var yt=Ge|Ke;function bt(t,e,r,i){new mt(t,e,r,i)}var b,j,T,L,_,m,p,E,k,M,D,V,q,U,S,ee,h,Oe,Fe,ce,Ce,de,x,Z,ue,_e;class mt{constructor(e,r,i,n){d(this,h);z(this,"parent");z(this,"is_pending",!1);z(this,"transform_error");d(this,b);d(this,j,C?F:null);d(this,T);d(this,L);d(this,_);d(this,m,null);d(this,p,null);d(this,E,null);d(this,k,null);d(this,M,0);d(this,D,0);d(this,V,!1);d(this,q,new Set);d(this,U,new Set);d(this,S,null);d(this,ee,vt(()=>(o(this,S,Se(s(this,M))),()=>{o(this,S,null)})));var a;o(this,b,e),o(this,T,r),o(this,L,f=>{var l=P;l.b=this,l.f|=be,i(f)}),this.parent=P.b,this.transform_error=n??((a=this.parent)==null?void 0:a.transform_error)??(f=>f),o(this,_,$e(()=>{if(C){const f=s(this,j);xe();const l=f.data===je;if(f.data.startsWith(me)){const I=JSON.parse(f.data.slice(me.length));c(this,h,Fe).call(this,I)}else l?c(this,h,Ce).call(this):c(this,h,Oe).call(this)}else c(this,h,de).call(this)},yt)),C&&o(this,b,F)}defer_effect(e){Ue(e,s(this,q),s(this,U))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,T).pending}update_pending_count(e,r){c(this,h,ue).call(this,e,r),o(this,M,s(this,M)+e),!(!s(this,S)||s(this,V))&&(o(this,V,!0),B(()=>{o(this,V,!1),s(this,S)&&Je(s(this,S),s(this,M))}))}get_effect_pending(){return s(this,ee).call(this),ke(s(this,S))}error(e){var r;if(!s(this,T).onerror&&!s(this,T).failed)throw e;(r=A)!=null&&r.is_fork?(s(this,m)&&A.skip_effect(s(this,m)),s(this,p)&&A.skip_effect(s(this,p)),s(this,E)&&A.skip_effect(s(this,E)),A.oncommit(()=>{c(this,h,_e).call(this,e)})):c(this,h,_e).call(this,e)}}b=new WeakMap,j=new WeakMap,T=new WeakMap,L=new WeakMap,_=new WeakMap,m=new WeakMap,p=new WeakMap,E=new WeakMap,k=new WeakMap,M=new WeakMap,D=new WeakMap,V=new WeakMap,q=new WeakMap,U=new WeakMap,S=new WeakMap,ee=new WeakMap,h=new WeakSet,Oe=function(){try{o(this,m,O(()=>s(this,L).call(this,s(this,b))))}catch(e){this.error(e)}},Fe=function(e){const r=s(this,T).failed,{reset:i,invoke_onerror:n}=c(this,h,ce).call(this,e);B(n),r&&o(this,E,O(()=>{r(s(this,b),()=>e,()=>i)}))},ce=function(e){var r=!1,i=!1;const n=()=>{if(r){Qe();return}r=!0,i&&et(),s(this,E)!==null&&se(s(this,E),()=>{o(this,E,null)}),c(this,h,Z).call(this,()=>{c(this,h,de).call(this)})};return{reset:n,invoke_onerror:()=>{var f,l;try{i=!0,(l=(f=s(this,T)).onerror)==null||l.call(f,e,n),i=!1}catch(w){$(w,s(this,_)&&s(this,_).parent)}}}},Ce=function(){const e=s(this,T).pending;e&&(this.is_pending=!0,o(this,p,O(()=>e(s(this,b)))),B(()=>{var r=o(this,k,document.createDocumentFragment()),i=Re(),n=!1;if(r.append(i),o(this,m,c(this,h,Z).call(this,()=>{try{return O(()=>s(this,L).call(this,i))}catch(a){try{this.error(a),n=!0}catch(f){$(f,s(this,_).parent)}return null}})),s(this,m)===null){o(this,k,null),n&&c(this,h,x).call(this,A);return}s(this,D)===0&&(s(this,b).before(r),o(this,k,null),se(s(this,p),()=>{o(this,p,null)}),c(this,h,x).call(this,A))}))},de=function(){try{if(this.is_pending=this.has_pending_snippet(),o(this,D,0),o(this,M,0),o(this,m,O(()=>{s(this,L).call(this,s(this,b))})),s(this,D)>0){var e=o(this,k,document.createDocumentFragment());qe(s(this,m),e);const r=s(this,T).pending;o(this,p,O(()=>r(s(this,b))))}else c(this,h,x).call(this,A)}catch(r){this.error(r)}},x=function(e){this.is_pending=!1,e.transfer_effects(s(this,q),s(this,U))},Z=function(e){var r=P,i=we,n=Ae;K(s(this,_)),G(s(this,_)),Ee(s(this,_).ctx);try{return ze.ensure(),e()}finally{K(r),G(i),Ee(n)}},ue=function(e,r){var i;if(!this.has_pending_snippet()){this.parent&&c(i=this.parent,h,ue).call(i,e,r);return}o(this,D,s(this,D)+e),s(this,D)===0&&(c(this,h,x).call(this,r),s(this,p)&&se(s(this,p),()=>{o(this,p,null)}),s(this,k)&&(s(this,b).before(s(this,k)),o(this,k,null)))},_e=function(e){s(this,m)&&(ie(s(this,m)),o(this,m,null)),s(this,p)&&(ie(s(this,p)),o(this,p,null)),s(this,E)&&(ie(s(this,E)),o(this,E,null)),C&&(Q(s(this,j)),Xe(),Q(Ze()));let r=s(this,T).failed;const i=n=>{const{reset:a,invoke_onerror:f}=c(this,h,ce).call(this,n);f(),r&&o(this,E,c(this,h,Z).call(this,()=>{try{return O(()=>{var l=P;l.b=this,l.f|=be,r(s(this,b),()=>n,()=>a)})}catch(l){return $(l,s(this,_).parent),null}}))};B(()=>{var n;try{n=this.transform_error(e)}catch(a){$(a,s(this,_)&&s(this,_).parent);return}n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(i,a=>$(a,s(this,_)&&s(this,_).parent)):i(n)})};function Dt(t,e){var i;var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[i=Te]??(t[i]=t.nodeValue))&&(t[Te]=r,t.nodeValue=`${r}`)}function Et(t,e){return He(t,e)}function Nt(t,e){fe(),e.intro=e.intro??!1;const r=e.target,i=C,n=F;try{for(var a=tt(r);a&&(a.nodeType!==De||a.data!==rt);)a=st(a);if(!a)throw oe;J(!0),Q(a);const f=He(t,{...e,anchor:a});return J(!1),f}catch(f){if(f instanceof Error&&f.message.split(`
2
+ `).some(l=>l.startsWith("https://svelte.dev/e/")))throw f;return f!==oe&&console.warn("Failed to hydrate: ",f),e.recover===!1&&it(),fe(),nt(r),J(!1),Et(t,e)}finally{J(i),Q(n)}}const X=new Map;function He(t,{target:e,anchor:r,props:i={},events:n,context:a,intro:f=!0,transformError:l}){fe();var w=void 0,I=at(()=>{var Y=r??e.appendChild(Re());bt(Y,{pending:()=>{}},g=>{ot({});var v=Ae;if(a&&(v.c=a),n&&(i.$$events=n),C&&ut(g,null),w=t(g,i)||ht(),C&&(P.nodes.end=F,F===null||F.nodeType!==De||F.data!==lt))throw ct(),oe;dt()},l);var W=new Set,R=g=>{for(var v=0;v<g.length;v++){var y=g[v];if(!W.has(y)){W.add(y);var N=gt(y);for(const te of[e,document]){var u=X.get(te);u===void 0&&(u=new Map,X.set(te,u));var ge=u.get(y);ge===void 0?(te.addEventListener(y,le,{passive:N}),u.set(y,1)):u.set(y,ge+1)}}}};return R(ft(Ne)),he.add(R),()=>{var N;for(var g of W)for(const u of[e,document]){var v=X.get(u),y=v.get(g);--y==0?(u.removeEventListener(g,le),v.delete(g),v.size===0&&X.delete(u)):v.set(g,y)}he.delete(R),Y!==r&&((N=Y.parentNode)==null||N.removeChild(Y))}});return pe.set(w,I),w}let pe=new WeakMap;function Ot(t,e){const r=pe.get(t);return r?(pe.delete(t),r(e)):Promise.resolve()}export{Rt as a,At as d,St as e,Nt as h,Et as m,Dt as s,Ot as u};
_app/immutable/chunks/DuVv0l3G.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{bb as b,a6 as v,ab as f,bc as g,U as T,bd as E,be as w,h as i,j as s,bf as N,a as y,bg as M,e as x,bh as A}from"./Bxo-DTfX.js";var m;const c=((m=globalThis==null?void 0:globalThis.window)==null?void 0:m.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function L(e){return(c==null?void 0:c.createHTML(e))??e}function p(e){var t=b("template");return t.innerHTML=L(e.replaceAll("<!>","<!---->")),t.content}function a(e,t){var r=T;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var r=(t&E)!==0,l=(t&w)!==0,n,u=!e.startsWith("<!>");return()=>{if(i)return a(s,null),s;n===void 0&&(n=p(u?e:"<!>"+e),r||(n=f(n)));var o=l||g?document.importNode(n,!0):n.cloneNode(!0);if(r){var _=f(o),d=o.lastChild;a(_,d)}else a(o,o);return o}}function O(e,t,r="svg"){var l=!e.startsWith("<!>"),n=`<${r}>${l?e:"<!>"+e}</${r}>`,u;return()=>{if(i)return a(s,null),s;if(!u){var o=p(n),_=f(o);u=f(_)}var d=u.cloneNode(!0);return a(d,d),d}}function I(e,t){return O(e,t,"svg")}function D(e=""){if(!i){var t=v(e+"");return a(t,t),t}var r=s;return r.nodeType!==M?(r.before(r=v()),x(r)):A(r),a(r,r),r}function H(){if(i)return a(s,null),s;var e=document.createDocumentFragment(),t=document.createComment(""),r=v();return e.append(t,r),a(t,r),e}function S(e,t){if(i){var r=T;((r.f&N)===0||r.nodes.end===null)&&(r.nodes.end=s),y();return}e!==null&&e.before(t)}const P="5";var h;typeof window<"u"&&((h=window.__svelte??(window.__svelte={})).v??(h.v=new Set)).add(P);export{S as a,I as b,H as c,a as d,C as f,D as t};
_app/immutable/chunks/DyRWdz8X.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{F as w,R as S,T as k,D as x,C as D,U as E,V as O,W as R}from"./Bxo-DTfX.js";function n(r,a){return r===a||(r==null?void 0:r[R])===a}function B(r=k(),a,i,Y){var p=w.r,T=E;return S(()=>{var f,t;return x(()=>{f=t,t=[],D(()=>{n(i(...t),r)||(a(r,...t),f&&n(i(...f),r)&&a(null,...f))})}),()=>{let s=T;for(;s!==p&&s.parent!==null&&s.parent.f&O;)s=s.parent;const h=()=>{t&&n(i(...t),r)&&a(null,...t)},c=s.teardown;s.teardown=()=>{h(),c==null||c()}}}),r}export{B as b};
_app/immutable/chunks/c4NiXbqN.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var H=Object.defineProperty;var N=t=>{throw TypeError(t)};var J=(t,e,s)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var U=(t,e,s)=>J(t,typeof e!="symbol"?e+"":e,s),Y=(t,e,s)=>e.has(t)||N("Cannot "+s);var i=(t,e,s)=>(Y(t,e,"read from private field"),s?s.call(t):e.get(t)),_=(t,e,s)=>e.has(t)?N("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),x=(t,e,s,a)=>(Y(t,e,"write to private field"),a?a.call(t,s):e.set(t,s),s);import{aq as C,ad as R,ar as Q,a6 as $,a7 as j,B as W,h as Z,j as V,av as X,ai as ee,aH as k,m as te,aI as se,M as ae,g as P,aJ as ie,d as re,s as F,C as ne,aK as fe,aL as ue,aM as ce,O as de,aN as oe,U as le,ap as he,aO as _e,aP as ve,aQ as be,aR as ge,aS as me,K as q,aj as Se,W as pe,L as Pe}from"./Bxo-DTfX.js";var o,h,d,v,I,O,A;class Ae{constructor(e,s=!0){U(this,"anchor");_(this,o,new Map);_(this,h,new Map);_(this,d,new Map);_(this,v,new Set);_(this,I,!0);_(this,O,e=>{if(i(this,o).has(e)){var s=i(this,o).get(e),a=i(this,h).get(s);if(a)C(a),i(this,v).delete(s);else{var r=i(this,d).get(s);r&&(C(r.effect),i(this,h).set(s,r.effect),i(this,d).delete(s),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),a=r.effect)}for(const[n,c]of i(this,o)){if(i(this,o).delete(n),n===e)break;const f=i(this,d).get(c);f&&(R(f.effect),i(this,d).delete(c))}for(const[n,c]of i(this,h)){if(n===s||i(this,v).has(n))continue;const f=()=>{if(Array.from(i(this,o).values()).includes(n)){var b=document.createDocumentFragment();X(c,b),b.append($()),i(this,d).set(n,{effect:c,fragment:b})}else R(c);i(this,v).delete(n),i(this,h).delete(n)};i(this,I)||!a?(i(this,v).add(n),Q(c,f,!1)):f()}}});_(this,A,e=>{i(this,o).delete(e);const s=Array.from(i(this,o).values());for(const[a,r]of i(this,d))s.includes(a)||(R(r.effect),i(this,d).delete(a))});this.anchor=e,x(this,I,s)}ensure(e,s){var a=W,r=ee();if(s&&!i(this,h).has(e)&&!i(this,d).has(e))if(r){var n=document.createDocumentFragment(),c=$();n.append(c),i(this,d).set(e,{effect:j(()=>s(c)),fragment:n})}else i(this,h).set(e,j(()=>s(this.anchor)));if(i(this,o).set(a,e),r){for(const[f,l]of i(this,h))f===e?a.unskip_effect(l):a.skip_effect(l);for(const[f,l]of i(this,d))f===e?a.unskip_effect(l.effect):a.skip_effect(l.effect);a.oncommit(i(this,O)),a.ondiscard(i(this,A))}else Z&&(this.anchor=V),i(this,O).call(this,a)}}o=new WeakMap,h=new WeakMap,d=new WeakMap,v=new WeakMap,I=new WeakMap,O=new WeakMap,A=new WeakMap;let M=!1,D=Symbol("unmounted");function Ee(t,e,s){const a=s[e]??(s[e]={store:null,source:te(void 0),unsubscribe:k});if(a.store!==t&&!(D in s))if(a.unsubscribe(),a.store=t??null,t==null)a.source.v=void 0,a.unsubscribe=k;else{var r=!0;a.unsubscribe=se(t,n=>{r?a.source.v=n:F(a.source,n)}),r=!1}return t&&D in s?ae(t):P(a.source)}function Re(t,e){return Ie(t,e),e}function De(){const t={};function e(){ie(()=>{for(var s in t)t[s].unsubscribe();re(t,D,{enumerable:!1,value:!0})})}return[t,e]}function Ie(t,e){try{t.set(e)}finally{}}function Oe(t){var e=M;try{return M=!1,[t(),M]}finally{M=e}}function Le(t,e,s,a){var B;var r=!ve||(s&be)!==0,n=(s&ge)!==0,c=(s&_e)!==0,f=a,l=!0,b=void 0,L=()=>c&&r?(b??(b=q(a)),P(b)):(l&&(l=!1,f=c?ne(a):a),f);let m;if(n){var K=pe in t||Pe in t;m=((B=fe(t,e))==null?void 0:B.set)??(K&&e in t?u=>t[e]=u:void 0)}var S,w=!1;n?[S,w]=Oe(()=>t[e]):S=t[e],S===void 0&&a!==void 0&&(S=L(),m&&(r&&ue(),m(S)));var g;if(r?g=()=>{var u=t[e];return u===void 0?L():(l=!0,u)}:g=()=>{var u=t[e];return u!==void 0&&(f=void 0),u===void 0?f:u},r&&(s&ce)===0)return g;if(m){var z=t.$$legacy;return(function(u,y){return arguments.length>0?((!r||!y||z||w)&&m(y?g():u),u):g()})}var E=!1,p=((s&me)!==0?q:Se)(()=>(E=!1,g()));n&&P(p);var G=le;return(function(u,y){if(arguments.length>0){const T=y?P(p):r&&n?de(u):u;return F(p,T),E=!0,f!==void 0&&(f=T),u}return oe&&E||(G.f&he)!==0?p.v:P(p)})}export{Ae as B,De as a,Re as b,Le as p,Ee as s};
_app/immutable/chunks/wbPk3Yxo.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const e=({status:n,message:t})=>`<!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>`+t+`</title>
6
+
7
+ <style>
8
+ body {
9
+ --bg: white;
10
+ --fg: #222;
11
+ --divider: #ccc;
12
+ background: var(--bg);
13
+ color: var(--fg);
14
+ font-family:
15
+ system-ui,
16
+ -apple-system,
17
+ BlinkMacSystemFont,
18
+ 'Segoe UI',
19
+ Roboto,
20
+ Oxygen,
21
+ Ubuntu,
22
+ Cantarell,
23
+ 'Open Sans',
24
+ 'Helvetica Neue',
25
+ sans-serif;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ height: 100vh;
30
+ margin: 0;
31
+ }
32
+
33
+ .error {
34
+ display: flex;
35
+ align-items: center;
36
+ max-width: 32rem;
37
+ margin: 0 1rem;
38
+ }
39
+
40
+ .status {
41
+ font-weight: 200;
42
+ font-size: 3rem;
43
+ line-height: 1;
44
+ position: relative;
45
+ top: -0.05rem;
46
+ }
47
+
48
+ .message {
49
+ border-left: 1px solid var(--divider);
50
+ padding: 0 0 0 1rem;
51
+ margin: 0 0 0 1rem;
52
+ min-height: 2.5rem;
53
+ display: flex;
54
+ align-items: center;
55
+ }
56
+
57
+ .message h1 {
58
+ font-weight: 400;
59
+ font-size: 1em;
60
+ margin: 0;
61
+ }
62
+
63
+ @media (prefers-color-scheme: dark) {
64
+ body {
65
+ --bg: #222;
66
+ --fg: #ddd;
67
+ --divider: #666;
68
+ }
69
+ }
70
+ </style>
71
+ </head>
72
+ <body>
73
+ <div class="error">
74
+ <span class="status">`+n+`</span>
75
+ <div class="message">
76
+ <h1>`+t+`</h1>
77
+ </div>
78
+ </div>
79
+ </body>
80
+ </html>
81
+ `;export{e as default};
_app/immutable/chunks/xnoNZPIh.js ADDED
The diff for this file is too large to render. See raw diff
 
_app/immutable/entry/app.DEonpMA0.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Cx9ZkrJ9.js","../chunks/DuVv0l3G.js","../chunks/Bxo-DTfX.js","../chunks/c4NiXbqN.js","../chunks/BOCuLG7J.js","../assets/0.BI06jrIs.css","../nodes/1.ZNI8FrAE.js","../chunks/DN7CV-sg.js","../chunks/D0HAYttL.js","../chunks/Cgv1tdeu.js","../nodes/2.HzZESuN-.js","../chunks/DBnLgX18.js","../chunks/CbXUJz7y.js","../chunks/DyRWdz8X.js","../assets/2.Bh7oouaO.css","../nodes/3.BkeeEJ3Z.js","../assets/3.BlipfDS5.css"])))=>i.map(i=>d[i]);
2
+ var M=e=>{throw TypeError(e)};var N=(e,t,r)=>t.has(e)||M("Cannot "+r);var i=(e,t,r)=>(N(e,t,"read from private field"),r?r.call(e):t.get(e)),k=(e,t,r)=>t.has(e)?M("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),w=(e,t,r,n)=>(N(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);import{i as j,_ as O}from"../chunks/DBnLgX18.js";import{s as A,L as W,g as l,f as X,d as Z,m as $,h as B,a as tt,b as et,E as rt,r as at,c as st,e as nt,i as F,H as ot,j as ct,p as it,u as ut,k as mt,t as dt,l as T,n as _t,o as lt,q as p,v as ft,w as ht,x as vt,y as L}from"../chunks/Bxo-DTfX.js";import{h as gt,m as yt,u as bt,s as Et}from"../chunks/DN7CV-sg.js";import{a as E,c as D,f as H,t as Rt}from"../chunks/DuVv0l3G.js";import{o as Pt}from"../chunks/Cgv1tdeu.js";import{B as Ot,p as I}from"../chunks/c4NiXbqN.js";import{b as C}from"../chunks/DyRWdz8X.js";const Bt={};function xt(e){return class extends Tt{constructor(t){super({component:e,...t})}}}var f,m;class Tt{constructor(t){k(this,f);k(this,m);var c;var r=new Map,n=(a,s)=>{var _=$(s,!1,!1);return r.set(a,_),_};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===W?!0:(l(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,_){return A(r.get(s)??n(s,_),_),Reflect.set(a,s,_)}});w(this,m,(t.hydrate?gt:yt)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((c=t==null?void 0:t.props)!=null&&c.$$host)||t.sync===!1)&&X(),w(this,f,o.$$events);for(const a of Object.keys(i(this,m)))a==="$set"||a==="$destroy"||a==="$on"||Z(this,a,{get(){return i(this,m)[a]},set(s){i(this,m)[a]=s},enumerable:!0});i(this,m).$set=a=>{Object.assign(o,a)},i(this,m).$destroy=()=>{bt(i(this,m))}}$set(t){i(this,m).$set(t)}$on(t,r){i(this,f)[t]=i(this,f)[t]||[];const n=(...o)=>r.call(this,...o);return i(this,f)[t].push(n),()=>{i(this,f)[t]=i(this,f)[t].filter(o=>o!==n)}}$destroy(){i(this,m).$destroy()}}f=new WeakMap,m=new WeakMap;function S(e,t,r){var n;B&&(n=ct,tt());var o=new Ot(e);et(()=>{var c=t()??null;if(B){var a=at(n),s=a===ot,_=c!==null;if(s!==_){var R=st();nt(R),o.anchor=R,F(!1),o.ensure(c,c&&(y=>r(y,c))),F(!0);return}}o.ensure(c,c&&(y=>r(y,c)))},rt)}var At=H('<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>'),kt=H("<!> <!>",1);function wt(e,t){it(t,!0);let r=I(t,"components",23,()=>[]),n=I(t,"data_0",3,null),o=I(t,"data_1",3,null);ut(()=>t.stores.page.set(t.page)),mt(()=>{t.stores,t.page,t.constructors,r(),t.form,n(),o(),t.stores.page.notify()});let c=p(!1),a=p(!1),s=p(null);Pt(()=>{const u=t.stores.page.subscribe(()=>{l(c)&&(A(a,!0),dt().then(()=>{A(s,document.title||"untitled page",!0)}))});return A(c,!0),u});const _=L(()=>t.constructors[1]);var R=kt(),y=T(R);{var q=u=>{const h=L(()=>t.constructors[0]);var v=D(),P=T(v);S(P,()=>l(h),(g,b)=>{C(b(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(d,pt)=>{var V=D(),K=T(V);S(K,()=>l(_),(Q,U)=>{C(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]})}),E(d,V)},$$slots:{default:!0}}),d=>r()[0]=d,()=>{var d;return(d=r())==null?void 0:d[0]})}),E(u,v)},G=u=>{const h=L(()=>t.constructors[0]);var v=D(),P=T(v);S(P,()=>l(h),(g,b)=>{C(b(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),d=>r()[0]=d,()=>{var d;return(d=r())==null?void 0:d[0]})}),E(u,v)};j(y,u=>{t.constructors[1]?u(q):u(G,-1)})}var z=_t(y,2);{var J=u=>{var h=At(),v=ft(h);{var P=g=>{var b=Rt();vt(()=>Et(b,l(s))),E(g,b)};j(v,g=>{l(a)&&g(P)})}ht(h),E(u,h)};j(z,u=>{l(c)&&u(J)})}E(e,R),lt()}const Ft=xt(wt),Ht=[()=>O(()=>import("../nodes/0.Cx9ZkrJ9.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>O(()=>import("../nodes/1.ZNI8FrAE.js"),__vite__mapDeps([6,1,2,7,8,9]),import.meta.url),()=>O(()=>import("../nodes/2.HzZESuN-.js"),__vite__mapDeps([10,1,2,9,7,11,3,4,12,13,14]),import.meta.url),()=>O(()=>import("../nodes/3.BkeeEJ3Z.js"),__vite__mapDeps([15,1,2,7,12,4,11,3,16]),import.meta.url)],Yt=[],qt={"/":[2],"/coverage":[3]},Y={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},jt=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.decode])),Gt=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.encode])),zt=!1,Jt=(e,t)=>jt[e](t),Kt=()=>O(()=>import("../chunks/wbPk3Yxo.js"),[],import.meta.url).then(e=>e.default);export{Jt as decode,jt as decoders,qt as dictionary,Gt as encoders,Kt as get_error_template,zt as hash,Y as hooks,Bt as matchers,Ht as nodes,Ft as root,Yt as server_loads};
_app/immutable/entry/start.PrnwlT6r.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{t as tt,N as oe,bi as se}from"../chunks/Bxo-DTfX.js";import{H as D,N as z,r as Kt,n as C,i as bt,b as R,s as j,a as gt,f as Mt,g as _t,c as et,d as ht,S as Ft,P as ie,p as P,e as ce,h as le,u as Ht,o as fe,j as ue,k as Ct,l as H,m as de,q as Bt,t as he,v as pe,w as Vt}from"../chunks/D0HAYttL.js";import{x as We}from"../chunks/D0HAYttL.js";const me=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ge=/^\/\((?:[^)]+)\)$/;function _e(t){const n=[];return{pattern:t==="/"||ge.test(t)?/^\/$/:new RegExp(`^${ve(t).map(o=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(o);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(o);if(s)return n.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!o)return;const r=o.split(/\[(.+?)\](?!\])/);return"/"+r.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return pt(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return pt(String.fromCharCode(...c.slice(2).split("-").map(g=>parseInt(g,16))));const f=me.exec(c),[,h,_,u,d]=f;return n.push({name:u,matcher:d,optional:!!h,rest:!!_,chained:_?l===1&&r[0]==="":!1}),_?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return pt(c)}).join("")}).join("")}/?$`),params:n}}function we(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function ve(t){return t.slice(1).split("/").filter(we)}function ye(t,n,e){const o={},a=t.slice(1),s=a.filter(i=>i!==void 0);let r=0;for(let i=0;i<n.length;i+=1){const c=n[i];let l=a[i-r];if(c.chained&&c.rest&&r&&(l=a.slice(i-r,i+1).filter(f=>f).join("/"),r=0),l===void 0)if(c.rest)l="";else continue;if(!c.matcher||e[c.matcher](l)){o[c.name]=l;const f=n[i+1],h=a[i+1];f&&!f.rest&&f.optional&&h&&c.chained&&(r=0),!f&&!h&&Object.keys(o).length===s.length&&(r=0);continue}if(c.optional&&c.chained){r++;continue}return}if(!r)return o}function pt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}class Et{constructor(n,e){this.status=n,typeof e=="string"?this.body={message:e}:e?this.body=e:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class St{constructor(n,e){try{new Headers({location:e})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(e)}: this string contains characters that cannot be used in HTTP headers`)}this.status=n,this.location=e}}class kt extends Error{constructor(n,e,o){super(o),this.status=n,this.text=e}}function be({nodes:t,server_loads:n,dictionary:e,matchers:o}){const a=new Set(n);return Object.entries(e).map(([i,[c,l,f]])=>{const{pattern:h,params:_}=_e(i),u={id:i,exec:d=>{const g=h.exec(d);if(g)return ye(g,_,o)},errors:[1,...f||[]].map(d=>t[d]),layouts:[0,...l||[]].map(r),leaf:s(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function s(i){const c=i<0;return c&&(i=~i),[c,t[i]]}function r(i){return i===void 0?i:[a.has(i),t[i]]}}function Yt(t,n=JSON.parse){try{return n(sessionStorage[t])}catch{}}function jt(t,n,e=JSON.stringify){const o=e(n);try{sessionStorage[t]=o}catch{}}function Ee(t){return t.filter(n=>n!=null)}function Q(t,n){return t+"/"+n}function xt(t){return t instanceof Et||t instanceof kt?t.status:500}function Se(t){return t instanceof kt?t.text:"Internal Error"}const ke=new Set(["icon","shortcut icon","apple-touch-icon"]);let B=null;const I=Yt(Vt)??{},J=Yt(Bt)??{},U={url:Ct({}),page:Ct({}),navigating:oe(null),updated:ue()};function Rt(t){I[t]=j()}function xe(t,n){let e=t+1;for(;I[e];)delete I[e],e+=1;for(e=n+1;J[e];)delete J[e],e+=1}function W(t,n=!1){return n?location.replace(t.href):location.href=t.href,new Promise(C)}async function zt(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(R||"/");t&&await t.update()}}let Lt,wt,nt,L,vt,b;const at=[],rt=[];let v=null;function ot(){var t;(t=v==null?void 0:v.fork)==null||t.then(n=>n==null?void 0:n.discard()),v=null,$={element:void 0,href:void 0}}const Z=new Map,Jt=new Set,Re=new Set,Y=new Set;let w={branch:[],error:null,url:null},Wt=!1,st=!1,Nt=!0,G=!1,V=!1,Gt=!1,Pt=!1,Xt,E,x,A;const it=new Set,$t=new Map,Dt=new Map;async function Ye(t,n,e){var s,r,i,c;if(globalThis.__sveltekit_1i6ligo.data){const{q:l={},p:f={},l:h={},f:_={}}=globalThis.__sveltekit_1i6ligo.data;for(const u in l)l[u];for(const u in h)h[u];for(const u in _)_[u];for(const u in f)f[u]}document.URL!==location.href&&(location.href=location.href),b=t,await((r=(s=t.hooks).init)==null?void 0:r.call(s)),Lt=be(t),L=document.documentElement,vt=n,wt=t.nodes[0],nt=t.nodes[1],wt(),nt(),E=(i=history.state)==null?void 0:i[D],x=(c=history.state)==null?void 0:c[z],E||(E=x=Date.now(),history.replaceState({...history.state,[D]:E,[z]:x},""));const o=I[E];function a(){o&&(history.scrollRestoration="manual",scrollTo(o.x,o.y))}e?(a(),await Ke(vt,e)):(await q({type:"enter",url:Kt(b.hash?He(new URL(location.href)):location.href),replace_state:!0}),a()),qe()}function Le(){at.length=0,Pt=!1}function Qt(t){rt.some(n=>n==null?void 0:n.snapshot)&&(J[t]=rt.map(n=>{var e;return(e=n==null?void 0:n.snapshot)==null?void 0:e.capture()}))}function Zt(t){var n;(n=J[t])==null||n.forEach((e,o)=>{var a,s;(s=(a=rt[o])==null?void 0:a.snapshot)==null||s.restore(e)})}function qt(){Rt(E),jt(Vt,I),Qt(x),jt(Bt,J)}async function Pe(t,n,e,o){let a,s;n.invalidateAll&&ot(),await q({type:"goto",url:Kt(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:e,nav_token:o,accept:()=>{var r;if(n.invalidateAll){Pt=!0,a=new Set;for(const[i,c]of $t)for(const[l,f]of c)(r=f.resource)==null||r.reset(),a.add(Q(i,l));s=new Set;for(const[i,c]of Dt)for(const l of c.keys())s.add(Q(i,l))}n.invalidate&&n.invalidate.forEach(De)}}),n.invalidateAll&&tt().then(tt).then(()=>{for(const[r,i]of $t)for(const[c,{resource:l}]of i)a!=null&&a.has(Q(r,c))&&l.start();for(const[r,i]of Dt)for(const[c,{resource:l}]of i)s!=null&&s.has(Q(r,c))&&l.reconnect()})}async function Te(t){if(t.id!==(v==null?void 0:v.id)){ot();const n={};it.add(n),v={id:t.id,token:n,promise:ee({...t,preload:n}).then(e=>(it.delete(n),e.type==="loaded"&&e.state.error&&ot(),e)),fork:null}}return v.promise}async function mt(t){var e;const n=(e=await ft(t,!1))==null?void 0:e.route;n&&await Promise.all([...n.layouts,n.leaf].filter(Boolean).map(o=>o[1]()))}async function te(t,n,e){var a;const o={params:w.params,route:{id:((a=w.route)==null?void 0:a.id)??null},url:new URL(location.href)};if(w={...t.state,nav:o},Ht(t.props.page),Xt=new b.root({target:n,props:{...t.props,stores:U,components:rt},hydrate:e,sync:!1,transformError:void 0}),await Promise.resolve(),e){const s={from:null,to:{...o,scroll:I[E]??j()},willUnload:!1,type:"enter",complete:Promise.resolve()};Y.forEach(r=>r(s))}Zt(x),st=!0}async function ct({url:t,params:n,branch:e,errors:o,status:a,error:s,route:r,form:i}){let c="never";if(R&&(t.pathname===R||t.pathname===R+"/"))c="always";else for(const d of e)(d==null?void 0:d.slash)!==void 0&&(c=d.slash);t.pathname=le(t.pathname,c),t.search=t.search;const l={type:"loaded",state:{url:t,params:n,branch:e,error:s,route:r},props:{constructors:Ee(e).map(d=>d.node.component),page:Ot(P)}};i!==void 0&&(l.props.form=i);let f={},h=!P,_=0;for(let d=0;d<Math.max(e.length,w.branch.length);d+=1){const g=e[d],m=w.branch[d];(g==null?void 0:g.data)!==(m==null?void 0:m.data)&&(h=!0),g&&(f={...f,...g.data},h&&(l.props[`data_${_}`]=f),_+=1)}return(!w.url||t.href!==w.url.href||w.error!==s||i!==void 0&&i!==P.form||h)&&(l.props.page={error:s,params:n,route:{id:(r==null?void 0:r.id)??null},state:{},status:a,url:new URL(t),form:i??null,data:h?f:P.data}),l}async function Tt({loader:t,parent:n,url:e,params:o,route:a,server_data_node:s}){var l,f;let r=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();return{node:c,loader:t,server:s,universal:(l=c.universal)!=null&&l.load?{type:"data",data:r,uses:i}:null,data:r??(s==null?void 0:s.data)??null,slash:((f=c.universal)==null?void 0:f.trailingSlash)??(s==null?void 0:s.slash)}}function Ae(t,n,e){let o=t instanceof Request?t.url:t;const a=new URL(o,e);a.origin===e.origin&&(o=a.href.slice(e.origin.length));const s=st?he(o,a.href,n):pe(o,n);return{resolved:a,promise:s}}function Ue(t,n,e,o,a,s){if(Pt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&n||a.url&&e)return!0;for(const r of a.search_params)if(o.has(r))return!0;for(const r of a.params)if(s[r]!==w.params[r])return!0;for(const r of a.dependencies)if(at.some(i=>i(new URL(r))))return!0;return!1}function At(t,n){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?n??null:null}function Ie(t,n){if(!t)return new Set(n.searchParams.keys());const e=new Set([...t.searchParams.keys(),...n.searchParams.keys()]);for(const o of e){const a=t.searchParams.getAll(o),s=n.searchParams.getAll(o);a.every(r=>s.includes(r))&&s.every(r=>a.includes(r))&&e.delete(o)}return e}function Oe({error:t,url:n,route:e,params:o}){return{type:"loaded",state:{error:t,url:n,route:e,params:o,branch:[]},props:{page:Ot(P),constructors:[]}}}async function ee({id:t,invalidating:n,url:e,params:o,route:a,preload:s}){if((v==null?void 0:v.id)===t)return it.delete(v.token),v.promise;const{errors:r,layouts:i,leaf:c}=a,l=[...i,c];r.forEach(m=>m==null?void 0:m().catch(C)),l.forEach(m=>m==null?void 0:m[1]().catch(C));const f=w.url?t!==lt(w.url):!1,h=w.route?a.id!==w.route.id:!1,_=Ie(w.url,e);let u=!1;const d=l.map(async(m,p)=>{var T;if(!m)return;const y=w.branch[p];return m[1]===(y==null?void 0:y.loader)&&!Ue(u,h,f,_,(T=y.universal)==null?void 0:T.uses,o)?y:(u=!0,Tt({loader:m[1],url:e,params:o,route:a,parent:async()=>{var X;const O={};for(let N=0;N<p;N+=1)Object.assign(O,(X=await d[N])==null?void 0:X.data);return O},server_data_node:At(m[0]?{type:"skip"}:null,m[0]?y==null?void 0:y.server:void 0)}))});for(const m of d)m.catch(C);const g=[];for(let m=0;m<l.length;m+=1)if(l[m])try{g.push(await d[m])}catch(p){if(p instanceof St)return{type:"redirect",location:p.location};if(s&&it.has(s))return Oe({error:await K(p,{params:o,url:e,route:{id:a.id}}),url:e,params:o,route:a});let y=xt(p),k;if(p instanceof Et)k=p.body;else{if(await U.updated.check())return await zt(),await W(e);k=await K(p,{params:o,url:e,route:{id:a.id}})}const T=await Ce(m,g,r);return T?ct({url:e,params:o,branch:g.slice(0,T.idx).concat(T.node),errors:r,status:y,error:k,route:a}):await ae(e,{id:a.id},k,y)}else g.push(void 0);return ct({url:e,params:o,branch:g,errors:r,status:200,error:null,route:a,form:n?void 0:null})}async function Ce(t,n,e){for(;t--;)if(e[t]){let o=t;for(;!n[o];)o-=1;try{return{idx:o+1,node:{node:await e[t](),loader:e[t],data:{},server:null,universal:null}}}catch{continue}}}async function Ut({status:t,error:n,url:e,route:o}){const a={};let s=null;try{const r=await Tt({loader:wt,url:e,params:a,route:o,parent:()=>Promise.resolve({}),server_data_node:At(s)}),i={node:await nt(),loader:nt,universal:null,server:null,data:null};return ct({url:e,params:a,branch:[r,i],status:t,error:n,errors:[],route:null})}catch(r){if(r instanceof St){await Pe(new URL(r.location,location.href),{},0);return}const i=await b.get_error_template(),c=await K(r,{url:e,params:a,route:o}),l=String((c==null?void 0:c.message)??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),f=i({status:t,message:l}),h=new DOMParser().parseFromString(f,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),r}}async function je(t){const n=t.href;if(Z.has(n))return Z.get(n);let e;try{const o=(async()=>{let a=await b.hooks.reroute({url:new URL(t),fetch:async(s,r)=>Ae(s,r,t).promise})??t;if(typeof a=="string"){const s=new URL(t);b.hash?s.hash=a:s.pathname=a,a=s}return a})();Z.set(n,o),e=await o}catch{Z.delete(n);return}return e}async function ft(t,n){if(t&&!bt(t,R,b.hash)){const e=await je(t);if(!e)return;const o=Ne(e);for(const a of Lt){const s=a.exec(o);if(s)return{id:lt(t),invalidating:n,route:a,params:ce(s),url:t}}}}function Ne(t){return de(b.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(R.length))||"/"}function lt(t){return(b.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function ne({url:t,type:n,intent:e,delta:o,event:a,scroll:s}){let r=!1;const i=It(w,e,t,n,s??null);o!==void 0&&(i.navigation.delta=o),a!==void 0&&(i.navigation.event=a);const c={...i.navigation,cancel:()=>{r=!0,i.reject(new Error("navigation cancelled"))}};return G||Jt.forEach(l=>l(c)),r?null:i}async function q({type:t,url:n,popped:e,keepfocus:o,noscroll:a,replace_state:s,state:r={},redirect_count:i=0,nav_token:c={},accept:l=C,block:f=C,event:h}){var N;const _=A;A=c;const u=await ft(n,!1),d=t==="enter"?It(w,u,n,t):ne({url:n,type:t,delta:e==null?void 0:e.delta,intent:u,scroll:e==null?void 0:e.scroll,event:h});if(!d){f(),A===c&&(A=_);return}const g=E,m=x;l(),G=!0,st&&d.navigation.type!=="enter"&&U.navigating.set(gt.current=d.navigation);let p=u&&await ee(u);if(!p){if(bt(n,R,b.hash))return await W(n,s);p=await ae(n,{id:null},await K(new kt(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404,s)}if(n=(u==null?void 0:u.url)||n,A!==c){d.reject(new Error("navigation aborted"));return}if(!p)return;if(p.type==="redirect"){if(i<20){await q({type:t,url:new URL(p.location,n),popped:e,keepfocus:o,noscroll:a,replace_state:s,state:r,redirect_count:i+1,nav_token:c}),d.fulfil(void 0);return}if(p=await Ut({status:500,error:await K(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}}),!p)return}else if(p.props.page.status>=400&&await U.updated.check())return await zt(),await W(n,s);if(Le(),Rt(g),Qt(m),p.props.page.url.pathname!==n.pathname&&(n.pathname=p.props.page.url.pathname),r=e?e.state:r,!e){const S=s?0:1,M={[D]:E+=S,[z]:x+=S,[Ft]:r};(s?history.replaceState:history.pushState).call(history,M,"",n),s||xe(E,x)}const y=u&&(v==null?void 0:v.id)===u.id?v.fork:null;v!=null&&v.fork&&!y?ot():(v=null,$={element:void 0,href:void 0}),p.props.page.state=r;let k;if(st){const S=(await Promise.all(Array.from(Re,F=>F(d.navigation)))).filter(F=>typeof F=="function");if(S.length>0){let F=function(){S.forEach(dt=>{Y.delete(dt)})};S.push(F),S.forEach(dt=>{Y.add(dt)})}const M=d.navigation.to;w={...p.state,nav:{params:M.params,route:M.route,url:M.url}},p.props.page&&(p.props.page.url=n),!o&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const ut=y&&await y;ut?k=ut.commit():(B=null,Xt.$set(p.props),B&&Object.assign(p.props.page,B),Ht(p.props.page),k=(N=se)==null?void 0:N()),Gt=!0}else await te(p,vt,!1);const{activeElement:T}=document;if(await k,await tt(),await tt(),A!==c){d.reject(new Error("navigation aborted"));return}p.props.page&&B&&Object.assign(p.props.page,B);let O=null;if(Nt){const S=e?e.scroll:a?j():null;S?scrollTo(S.x,S.y):(O=n.hash&&document.getElementById(re(n)))?O.scrollIntoView():scrollTo(0,0)}const X=document.activeElement!==T&&document.activeElement!==document.body;!o&&!X&&Fe(n,!O),Nt=!0,G=!1,d.fulfil(void 0),d.navigation.to&&(d.navigation.to.scroll=j()),Y.forEach(S=>S(d.navigation)),t==="popstate"&&Zt(x),U.navigating.set(gt.current=null)}async function ae(t,n,e,o,a){return t.origin===fe&&t.pathname===location.pathname&&!Wt?await Ut({status:o,error:e,url:t,route:n}):await W(t,a)}let $={element:void 0,href:void 0};function $e(){let t,n;L.addEventListener("mousemove",r=>{const i=r.target;clearTimeout(t),t=setTimeout(()=>{a(i,H.hover)},20)});function e(r){r.defaultPrevented||a(r.composedPath()[0],H.tap)}L.addEventListener("mousedown",e),L.addEventListener("touchstart",e,{passive:!0});const o=new IntersectionObserver(r=>{for(const i of r)i.isIntersecting&&(mt(new URL(i.target.href)),o.unobserve(i.target))},{threshold:0});async function a(r,i){const c=Mt(r,L),l=c===$.element&&(c==null?void 0:c.href)===$.href&&i>=n;if(!c||l)return;const{url:f,external:h,download:_}=_t(c,R,b.hash);if(h||_)return;const u=et(c),d=f&&lt(w.url)===lt(f);if(!(u.reload||d))if(i<=u.preload_data){$={element:c,href:c.href},n=H.tap;const g=await ft(f,!1);if(!g)return;Te(g)}else i<=u.preload_code&&($={element:c,href:c.href},n=i,mt(f))}function s(){o.disconnect();for(const r of L.querySelectorAll("a")){const{url:i,external:c,download:l}=_t(r,R,b.hash);if(c||l)continue;const f=et(r);f.reload||(f.preload_code===H.viewport&&o.observe(r),f.preload_code===H.eager&&mt(i))}}Y.add(s),s()}function K(t,n){if(t instanceof Et)return t.body;const e=xt(t),o=Se(t);return b.hooks.handleError({error:t,event:n,status:e,message:o})??{message:o}}function De(t){if(typeof t=="function")at.push(t);else{const{href:n}=new URL(t,location.href);at.push(e=>e.href===n)}}function qe(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",e=>{let o=!1;if(qt(),!G){const a=It(w,void 0,null,"leave"),s={...a.navigation,cancel:()=>{o=!0,a.reject(new Error("navigation cancelled"))}};Jt.forEach(r=>r(s))}o?(e.preventDefault(),e.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&qt()}),(n=navigator.connection)!=null&&n.saveData||$e(),L.addEventListener("click",async e=>{if(e.button||e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;const o=Mt(e.composedPath()[0],L);if(!o)return;const{url:a,external:s,target:r,download:i}=_t(o,R,b.hash);if(!a)return;if(r==="_parent"||r==="_top"){if(window.parent!==window)return}else if(r&&r!=="_self")return;const c=et(o);if(!(o instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||i)return;const[f,h]=(b.hash?a.hash.replace(/^#/,""):a.href).split("#"),_=f===ht(location);if(s||c.reload&&(!_||!h)){ne({url:a,type:"link",event:e})?G=!0:e.preventDefault();return}if(h!==void 0&&_){const[,u]=w.url.href.split("#");if(u===h){if(e.preventDefault(),h===""||h==="top"&&o.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const d=o.ownerDocument.getElementById(decodeURIComponent(h));d&&(d.scrollIntoView(),d.focus())}return}if(V=!0,Rt(E),t(a),!c.replace_state)return;V=!1}e.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await q({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href,event:e})}),L.addEventListener("submit",e=>{if(e.defaultPrevented)return;const o=HTMLFormElement.prototype.cloneNode.call(e.target),a=e.submitter;if(((a==null?void 0:a.formTarget)||o.target)==="_blank"||((a==null?void 0:a.formMethod)||o.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||o.action);if(bt(i,R,!1))return;const c=e.target,l=et(c);if(l.reload)return;e.preventDefault(),e.stopPropagation();const f=new FormData(c,a);i.search=new URLSearchParams(f).toString(),q({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href,event:e})}),addEventListener("popstate",async e=>{var o;if(!yt){if((o=e.state)!=null&&o[D]){const a=e.state[D];if(A={},a===E)return;const s=I[a],r=e.state[Ft]??{},i=new URL(e.state[ie]??location.href),c=e.state[z],l=w.url?ht(location)===ht(w.url):!1;if(c===x&&(Gt||l)){r!==P.state&&(P.state=r),t(i),I[E]=j(),s&&scrollTo(s.x,s.y),E=a;return}const h=a-E;await q({type:"popstate",url:i,popped:{state:r,scroll:s,delta:h},accept:()=>{E=a,x=c},block:()=>{history.go(-h)},nav_token:A,event:e})}else if(!V){const a=new URL(location.href);t(a),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{V&&(V=!1,history.replaceState({...history.state,[D]:++E,[z]:x},"",location.href))});for(const e of document.querySelectorAll("link"))ke.has(e.rel)&&(e.href=e.href);addEventListener("pageshow",e=>{e.persisted&&U.navigating.set(gt.current=null)});function t(e){w.url=P.url=e,U.page.set(Ot(P)),U.page.notify()}}async function Ke(t,{status:n=200,error:e,node_ids:o,params:a,route:s,server_route:r,data:i,form:c}){Wt=!0;const l=new URL(location.href);let f;({params:a={},route:s={id:null}}=await ft(l,!1)||{}),f=Lt.find(({id:u})=>u===s.id);let h,_=!0;try{const u=o.map(async(g,m)=>{const p=i[m];return p!=null&&p.uses&&(p.uses=Me(p.uses)),Tt({loader:b.nodes[g],url:l,params:a,route:s,parent:async()=>{const y={};for(let k=0;k<m;k+=1)Object.assign(y,(await u[k]).data);return y},server_data_node:At(p)})}),d=await Promise.all(u);if(f){const g=f.layouts;for(let m=0;m<g.length;m++)g[m]||d.splice(m,0,void 0)}h=await ct({url:l,params:a,branch:d,status:n,error:e,errors:f==null?void 0:f.errors,form:c,route:f??null})}catch(u){if(u instanceof St)return await W(new URL(u.location,location.href));h=await Ut({status:xt(u),error:await K(u,{url:l,params:a,route:s}),url:l,route:s}),t.textContent="",_=!1}h&&(h.props.page&&(h.props.page.state={}),await te(h,t,_))}function Me(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let yt=!1;function Fe(t,n=!0){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const o=re(t);if(o&&document.getElementById(o)){const{x:s,y:r}=j();setTimeout(()=>{const i=history.state;yt=!0,location.replace(new URL(`#${o}`,location.href)),history.replaceState(i,"",t),n&&scrollTo(s,r),yt=!1})}else{const s=document.body,r=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),r!==null?s.setAttribute("tabindex",r):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let r=0;r<a.rangeCount;r+=1)s.push(a.getRangeAt(r));setTimeout(()=>{if(a.rangeCount===s.length){for(let r=0;r<a.rangeCount;r+=1){const i=s[r],c=a.getRangeAt(r);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}a.removeAllRanges()}})}}}function It(t,n,e,o,a=null){var l,f;let s,r;const i=new Promise((h,_)=>{s=h,r=_});return i.catch(C),{navigation:{from:{params:t.params,route:{id:((l=t.route)==null?void 0:l.id)??null},url:t.url,scroll:j()},to:e&&{params:(n==null?void 0:n.params)??null,route:{id:((f=n==null?void 0:n.route)==null?void 0:f.id)??null},url:e,scroll:a},willUnload:!n,type:o,complete:i},fulfil:s,reject:r}}function Ot(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function He(t){const n=new URL(t);return n.hash=decodeURIComponent(t.hash),n}function re(t){let n;if(b.hash){const[,,e]=t.hash.split("#",3);n=e??""}else n=t.hash.slice(1);return decodeURIComponent(n)}export{We as load_css,Ye as start};
_app/immutable/nodes/0.Cx9ZkrJ9.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{a as o,f as i}from"../chunks/DuVv0l3G.js";import{b as l,E as c,x as p,l as f,n as m,v as u,w as v}from"../chunks/Bxo-DTfX.js";import{B as d,p as _}from"../chunks/c4NiXbqN.js";import{s as b}from"../chunks/BOCuLG7J.js";function h(n,r,...e){var t=new d(n);l(()=>{const a=r()??null;t.ensure(a,a&&(s=>a(s,...e)))},c)}const g=!0,k=!1,y=!0,B=Object.freeze(Object.defineProperty({__proto__:null,csr:y,prerender:g,ssr:k},Symbol.toStringTag,{value:"Module"}));var S=i('<a class="skip-link svelte-supu7d">Skip to main content</a>');function E(n,r){let e=_(r,"target",3,"#content");var t=S();p(()=>b(t,"href",e())),o(n,t)}var T=i('<!> <main id="content" tabindex="-1" class="svelte-12qhfyh"><!></main>',1);function F(n,r){var e=T(),t=f(e);E(t,{});var a=m(t,2),s=u(a);h(s,()=>r.children),v(a),o(n,e)}export{F as component,B as universal};
_app/immutable/nodes/1.ZNI8FrAE.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{a as g,f as c}from"../chunks/DuVv0l3G.js";import{p as h,l,x as v,o as _,z as e,n as x}from"../chunks/Bxo-DTfX.js";import{s}from"../chunks/DN7CV-sg.js";import{p as o}from"../chunks/D0HAYttL.js";const d={get error(){return o.error},get status(){return o.status}},p=d;var $=c("<h1> </h1> <p> </p>",1);function j(m,n){h(n,!0);var r=$(),t=l(r),f=e(t,!0),i=x(t,2),u=e(i,!0);v(()=>{var a;s(f,p.status),s(u,(a=p.error)==null?void 0:a.message)}),g(m,r),_()}export{j as component};
_app/immutable/nodes/2.HzZESuN-.js ADDED
The diff for this file is too large to render. See raw diff
 
_app/immutable/nodes/3.BkeeEJ3Z.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../assets/maplibre-gl.B-YMMjus.css"])))=>i.map(i=>d[i]);
2
+ import{c as fe,a as $,t as ve,f as H}from"../chunks/DuVv0l3G.js";import{X as Ge,b as Ce,h as q,a as Qe,Y as he,Z as Xe,e as le,c as Ze,i as ae,_ as Ye,$ as oe,B as ge,a0 as Je,a1 as et,a2 as tt,f as at,a3 as ye,a4 as st,m as be,a5 as rt,a6 as nt,a7 as Te,a8 as ot,a9 as lt,aa as _e,j as it,ab as ct,ac as dt,ad as ut,R as Ie,p as Re,l as we,o as Le,v,z as _,n as u,P as te,w as c,x as N,g as s,y as ke,k as mt,s as xe,ae as pt,q as ft}from"../chunks/Bxo-DTfX.js";import{s as d,d as vt,a as ht}from"../chunks/DN7CV-sg.js";import{e as Me,s as Se}from"../chunks/CbXUJz7y.js";import{s as Ne}from"../chunks/BOCuLG7J.js";import{i as Pe,_ as Ee}from"../chunks/DBnLgX18.js";import{B as gt,p as yt}from"../chunks/c4NiXbqN.js";const Fe=0,$e=1,bt=2;function _t(C,T,m,l,w){q&&Qe();var p=Ge(),k=st,y=p?ye(k):be(k,!1,!1),B=p?ye(k):be(k,!1,!1),M=new gt(C);Ce(()=>{var x=ge,n=T(),h=!1;let P=q&&he(n)===(C.data===Xe);if(P&&(le(Ze()),ae(!1)),he(n)){var z=rt(),U=!1;const S=O=>{if(!h){U=!0,z(!1),ge===x&&x.deactivate(),Je.ensure();try{O()}finally{et(!1),tt||at()}}};n.then(O=>{S(()=>{oe(y,O),M.ensure($e,l&&(Q=>l(Q,y)))})},O=>{S(()=>{if(oe(B,O),M.ensure(bt,w&&(Q=>w(Q,B))),!w)throw B.v})}),q?M.ensure(Fe,m):Ye(()=>{U||S(()=>{M.ensure(Fe,m)})})}else oe(y,n),M.ensure($e,l&&(S=>l(S,y)));return P&&ae(!0),()=>{h=!0}})}function wt(C,T){let m=null,l=q;var w;if(q){m=it;for(var p=ct(document.head);p!==null&&(p.nodeType!==lt||p.data!==C);)p=_e(p);if(p===null)ae(!1);else{var k=_e(p);p.remove(),le(k)}}q||(w=document.head.appendChild(nt()));try{Ce(()=>{var y=Te(()=>T(w));y.f|=ot,q||(y.nodes===null?y.nodes={start:w,end:w,a:null,t:null}:y.nodes.end=w)})}finally{l&&(ae(!0),le(m))}}function kt(C,T){var m=void 0,l;dt(()=>{m!==(m=T())&&(l&&(ut(l),l=null),m&&(l=Te(()=>{Ie(()=>m(C))})))})}var xt=H('<li class="svelte-1g0fsmd"><span aria-hidden="true"></span> <span class="r-pct svelte-1g0fsmd"> <span class="pc svelte-1g0fsmd">%</span></span> <span class="r-label svelte-1g0fsmd"> </span> <span class="r-sub svelte-1g0fsmd"> </span> <span class="r-delta svelte-1g0fsmd"><!></span></li>'),Pt=H('<section class="notice svelte-1g0fsmd"><header class="band svelte-1g0fsmd"><p class="where svelte-1g0fsmd"> <span class="boro svelte-1g0fsmd"> </span></p> <p class="gap-num svelte-1g0fsmd"> </p> <p class="gap-unit svelte-1g0fsmd">points the claim overstates</p></header> <div class="sheet svelte-1g0fsmd"><div class="map svelte-1g0fsmd" role="application"></div> <ul class="key svelte-1g0fsmd"><li class="svelte-1g0fsmd"><span class="mark claimed svelte-1g0fsmd" aria-hidden="true"></span>Counted as covered</li> <li class="svelte-1g0fsmd"><span class="mark shortfall svelte-1g0fsmd" aria-hidden="true"></span>Counted, unreachable in heat</li> <li class="svelte-1g0fsmd"><span class="mark reachable svelte-1g0fsmd" aria-hidden="true"></span>Reachable in heat</li> <li class="svelte-1g0fsmd"><span class="mark site svelte-1g0fsmd" aria-hidden="true"></span>Cooling element, quarter mile</li></ul></div> <footer class="stamp svelte-1g0fsmd"><ol class="readings svelte-1g0fsmd"></ol> <div class="census svelte-1g0fsmd"><p class="census-num svelte-1g0fsmd"> </p> <p class="census-say svelte-1g0fsmd"> </p> <p class="honesty svelte-1g0fsmd"> </p></div></footer></section>'),Et=H('<section class="notice zero svelte-1g0fsmd"><div class="zero-body svelte-1g0fsmd"><p class="zero-num svelte-1g0fsmd">0</p> <div><p class="zero-say svelte-1g0fsmd"> </p> <p class="honesty svelte-1g0fsmd"> </p></div></div></section>'),Ft=H(`<section class="notice state svelte-1g0fsmd"><p class="stencil svelte-1g0fsmd"> </p> <p class="honesty svelte-1g0fsmd">The file did not load: <span class="mono"> </span>. Build coverage for this
3
+ neighbourhood, then reload. If the code is wrong, pass a 2020 NTA code such as BK1602.</p></section>`),$t=H('<section class="notice state svelte-1g0fsmd"><p class="stencil svelte-1g0fsmd"> </p></section>');function Ct(C,T){Re(T,!0);let m=yt(T,"nta",3,"BK1602");const l="spray showers and misting only",w="https://tiles.openfreemap.org/styles/dark";async function p(a){const t=`/output/${a}-coverage.json`,r=await fetch(t);if(!r.ok)throw new Error(`${t} returned HTTP ${r.status}`);return r.json()}const k=ke(()=>p(m()));function y(a){return a.filter(t=>!/drinking fountain$/i.test(t.kind.trim()))}function B(a){return(a.radius.share-a.thermal.share).toFixed(1)}function M(a){return[{key:"claimed",label:"As the crow flies",sub:"what the quarter mile counts",share:a.radius.share,km2:a.radius.km2,delta:null},{key:"network",label:"Walking the network",sub:"along real sidewalks and crossings",share:a.network.share,km2:a.network.km2,delta:(a.network.share-a.radius.share).toFixed(1)},{key:"reachable",label:"Walking it in the heat",sub:"sun priced into every metre",share:a.thermal.share,km2:a.thermal.km2,delta:(a.thermal.share-a.radius.share).toFixed(1)}]}let x=null;function n(a,t){if(x??(x=document.createElement("canvas").getContext("2d",{willReadFrequently:!0})),!x)return t;x.fillStyle=t,x.fillStyle=getComputedStyle(document.documentElement).getPropertyValue(a).trim(),x.fillRect(0,0,1,1);const[r,i,e]=x.getImageData(0,0,1,1).data;return`rgb(${r}, ${i}, ${e})`}function h(){return{claimed:n("--muted","#8C9AAB"),shortfall:n("--hivis","#FFC400"),reachable:n("--reach","#5FD4E8"),paper:n("--slate","#10263F"),bone:n("--bone","#F5F1E8")}}function P(a,t){const i=document.createElement("canvas");i.width=i.height=22;const e=i.getContext("2d");return e.fillStyle=t,e.fillRect(0,0,22,22),e.fillStyle=a,e.fillRect(0,0,22,4),e.fillRect(0,18,22,4),e.fillRect(0,0,4,22),e.fillRect(18,0,4,22),e.fillRect(7,7,8,8),e.getImageData(0,0,22,22)}function z(a){return(a.type==="MultiPolygon"?a.coordinates:[a.coordinates]).map(r=>r[0])}function U(a){return{type:"FeatureCollection",features:[{type:"Feature",geometry:a,properties:{}}]}}function S(a){return{type:"FeatureCollection",features:(a??[]).map(t=>({type:"Feature",geometry:{type:"LineString",coordinates:t},properties:{}}))}}function O(a){return{type:"FeatureCollection",features:a.map(t=>({type:"Feature",geometry:{type:"Point",coordinates:[t.lon,t.lat]},properties:{name:t.name,kind:t.kind}}))}}function Q(a,t,r=64){return{type:"FeatureCollection",features:a.map(i=>{const e=[];for(let b=0;b<=r;b++){const E=b/r*2*Math.PI,f=t/111320*Math.cos(E),g=t/(111320*Math.cos(i.lat*Math.PI/180))*Math.sin(E);e.push([i.lon+g,i.lat+f])}return{type:"Feature",geometry:{type:"Polygon",coordinates:[e]},properties:{}}})}}function Be(a,t,r){return i=>{let e=null,b=null,E=null,f=!1;return(async()=>{var W,X,Z,G;let g=window.__maplibre;if(g||(g=await Ee(()=>import("../chunks/xnoNZPIh.js").then(o=>o.m),[],import.meta.url),await Ee(()=>Promise.resolve({}),__vite__mapDeps([0]),import.meta.url),window.__maplibre=g),f)return;const j=S(t.geometry.claimed),I=((X=(W=t.geometry.claimed)==null?void 0:W[0])==null?void 0:X[0])??[((Z=r[0])==null?void 0:Z.lon)??-73.9,((G=r[0])==null?void 0:G.lat)??40.66],R=new g.LngLatBounds(I,I);for(const o of z(a.boundary))for(const A of o)R.extend(A);for(const o of t.geometry.claimed??[])for(const A of o)R.extend(A);for(const o of r)R.extend([o.lon,o.lat]);if(e=new g.Map({container:i,style:w,center:I,zoom:13,attributionControl:{compact:!0}}),await new Promise(o=>e.on("load",()=>o())),f||!e)return;const F=h(),K=window.matchMedia("(prefers-reduced-motion: reduce)").matches;e.addImage("site",P(F.bone,F.paper)),e.addSource("boundary",{type:"geojson",data:U(a.boundary)}),e.addSource("claimed",{type:"geojson",data:j}),e.addSource("shortfall",{type:"geojson",data:S(t.geometry.shortfall)}),e.addSource("reachable",{type:"geojson",data:S(t.geometry.reachable)}),e.addSource("rings",{type:"geojson",data:Q(r,a.quarter_mile_m)}),e.addSource("elements",{type:"geojson",data:O(r)}),e.addLayer({id:"boundary-line",type:"line",source:"boundary",layout:{"line-join":"miter"},paint:{"line-color":F.bone,"line-width":2.5}}),e.addLayer({id:"claimed-line",type:"line",source:"claimed",layout:{"line-join":"miter","line-cap":"butt"},paint:{"line-color":F.claimed,"line-width":1.5,"line-dasharray":[1,2],"line-opacity":.7}}),e.addLayer({id:"shortfall-line",type:"line",source:"shortfall",layout:{"line-join":"miter","line-cap":"butt"},paint:{"line-color":F.shortfall,"line-width":8,"line-dasharray":[1.6,.9],"line-opacity":K?1:0,"line-opacity-transition":{duration:420,delay:0}}}),e.addLayer({id:"reachable-line",type:"line",source:"reachable",layout:{"line-join":"miter","line-cap":"butt"},paint:{"line-color":F.reachable,"line-width":4,"line-opacity":1}}),e.addLayer({id:"ring-line",type:"line",source:"rings",paint:{"line-color":F.bone,"line-width":1.75,"line-dasharray":[5,4],"line-opacity":.75}}),e.addLayer({id:"element-dot",type:"symbol",source:"elements",layout:{"icon-image":"site","icon-allow-overlap":!0,"icon-size":1}});const V=()=>{if(!e)return;e.resize();const{clientWidth:o,clientHeight:A}=i,se=Math.max(8,Math.min(64,Math.floor(Math.min(o,A)/7)));e.fitBounds(R,{padding:se,maxZoom:15,animate:!1})};V();const ee=new ResizeObserver(V);ee.observe(i),E=ee,K||requestAnimationFrame(()=>e==null?void 0:e.setPaintProperty("shortfall-line","line-opacity",1)),b=new MutationObserver(()=>{if(!e)return;const o=h();e.setPaintProperty("boundary-line","line-color",o.bone),e.setPaintProperty("claimed-line","line-color",o.claimed),e.setPaintProperty("shortfall-line","line-color",o.shortfall),e.setPaintProperty("reachable-line","line-color",o.reachable),e.setPaintProperty("ring-line","line-color",o.bone),e.hasImage("site")&&e.removeImage("site"),e.addImage("site",P(o.bone,o.paper))}),b.observe(document.documentElement,{attributes:!0,attributeFilter:["data-mode"]})})(),()=>{f=!0,E==null||E.disconnect(),b==null||b.disconnect(),e==null||e.remove(),e=null}}}var ie=fe(),je=we(ie);_t(je,()=>s(k),a=>{var t=$t(),r=v(t),i=_(r);c(t),N(()=>d(i,`Reading the sidewalk network for ${m()??""}`)),$(a,t)},(a,t)=>{const r=ke(()=>{var f;return(f=s(t).readings)==null?void 0:f[l]});var i=fe(),e=we(i);{var b=f=>{var g=Pt(),j=v(g),I=v(j),R=v(I,!0),F=u(R),K=_(F);c(I);var V=u(I,2),ee=_(V,!0);te(2),c(j);var W=u(j,2),X=v(W);kt(X,()=>Be(s(t),s(r),y(s(t).elements))),te(2),c(W);var Z=u(W,2),G=v(Z);Me(G,21,()=>M(s(r)),Y=>Y.key,(Y,L)=>{var re=xt(),de=v(re),ne=u(de,2),qe=v(ne,!0);te(),c(ne);var ue=u(ne,2),He=_(ue,!0),me=u(ue,2),ze=_(me,!0),pe=u(me,2),Ue=v(pe);{var Ke=D=>{var J=ve();N(()=>d(J,`${s(L).delta??""} pts`)),$(D,J)},Ve=D=>{var J=ve();N(We=>d(J,We),[()=>s(L).km2?`${s(L).km2.toFixed(2)} km²`:""]),$(D,J)};Pe(Ue,D=>{s(L).delta?D(Ke):D(Ve,-1)})}c(pe),c(re),N(D=>{Se(de,1,`mark ${s(L).key??""}`,"svelte-1g0fsmd"),d(qe,D),d(He,s(L).label),d(ze,s(L).sub)},[()=>s(L).share.toFixed(1)]),$(Y,re)}),c(G);var o=u(G,2),A=v(o),se=_(A,!0),ce=u(A,2),Ae=_(ce),De=u(ce,2),Oe=_(De);c(o),c(Z),c(g),N((Y,L)=>{d(R,s(t).name),d(K,`, ${s(t).borough??""}`),d(ee,Y),Ne(X,"aria-label",`Map of ${s(t).name??""}. Every figure it shows is written out below it.`),d(se,s(r).elements),d(Ae,`${s(r).elements===1?"cooling element":"cooling elements"} for
4
+ ${L??""}${s(t).name??""}.
5
+ Spray showers and misting stations, counted without drinking fountains.`),d(Oe,`The claim under test: “${s(t).city_claim.text??""}” ${s(t).city_claim.source??""}.
6
+ Radiant temperature here is a proxy, not SOLWEIG. The City also opens hydrant spray
7
+ caps during heat advisories; those are not in the published dataset and are not
8
+ counted.`)},[()=>B(s(r)),()=>s(t).area_km2?`${s(t).area_km2.toFixed(2)} km² of `:"all of "]),$(f,g)},E=f=>{var g=Et(),j=v(g),I=u(v(j),2),R=v(I),F=_(R),K=u(R,2),V=_(K);c(I),c(j),c(g),N(()=>{d(F,`No spray showers. No misting stations. There is nothing in ${s(t).name??""} to be a quarter
9
+ mile away from.`),d(V,`A Heat Vulnerability Index 4 to 5 neighbourhood. The claim covers none of ${s(t).name??""}'s
10
+ sidewalk network, because the network leads nowhere. The claim under test:
11
+ “${s(t).city_claim.text??""}” ${s(t).city_claim.source??""}.`)}),$(f,g)};Pe(e,f=>{s(r)&&s(r).elements>0?f(b):f(E,-1)})}$(a,i)},(a,t)=>{var r=Ft(),i=v(r),e=_(i),b=u(i,2),E=u(v(b)),f=_(E,!0);te(),c(b),c(r),N(()=>{d(e,`No coverage file for ${m()??""}`),d(f,s(t).message)}),$(a,r)}),$(C,ie),Le()}var Tt=H('<button type="button"> </button>'),It=H('<div class="sign svelte-1tsbbb3"><header class="plate svelte-1tsbbb3"><a class="wordmark svelte-1tsbbb3" href="/">Desire<span class="svelte-1tsbbb3">Path</span></a> <p class="subject svelte-1tsbbb3">Quarter-mile coverage, measured on foot</p> <nav aria-label="Neighbourhood" class="svelte-1tsbbb3"></nav></header> <h1 class="sr-only"> </h1> <!></div>');function At(C,T){Re(T,!0);const m=[{code:"BK1602",name:"Brownsville"},{code:"BX0101",name:"Mott Haven"},{code:"BX0602",name:"Tremont"},{code:"MN1102",name:"East Harlem N"},{code:"QN0303",name:"North Corona"}];let l=ft("BK1602");mt(()=>{const n=new URLSearchParams(window.location.search).get("nta");n&&xe(l,n.toUpperCase(),!0)});function w(n){xe(l,n,!0);const h=new URL(window.location.href);h.searchParams.set("nta",n),history.replaceState(null,"",h)}var p=It();wt("1tsbbb3",n=>{Ie(()=>{pt.title="Quarter mile · DesirePath"})});var k=v(p),y=u(v(k),4);Me(y,21,()=>m,n=>n.code,(n,h)=>{var P=Tt();let z;var U=_(P,!0);N(()=>{Ne(P,"aria-current",s(l)===s(h).code?"true":void 0),z=Se(P,1,"svelte-1tsbbb3",null,z,{on:s(l)===s(h).code}),d(U,s(h).name)}),ht("click",P,()=>w(s(h).code)),$(n,P)}),c(y),c(k);var B=u(k,2),M=_(B),x=u(B,2);Ct(x,{get nta(){return s(l)}}),c(p),N(n=>d(M,`${n??""}: quarter-mile cooling coverage, claimed
12
+ against what is reachable on foot in the heat`),[()=>{var n;return((n=m.find(h=>h.code===s(l)))==null?void 0:n.name)??s(l)}]),$(C,p),Le()}vt(["click"]);export{At as component};
_app/version.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":"1789931630721"}
coi-serviceworker.min.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ /*! coi-serviceworker v0.1.7 - Guido Zuidhof and contributors, licensed under MIT */
2
+ let coepCredentialless=!1;"undefined"==typeof window?(self.addEventListener("install",(()=>self.skipWaiting())),self.addEventListener("activate",(e=>e.waitUntil(self.clients.claim()))),self.addEventListener("message",(e=>{e.data&&("deregister"===e.data.type?self.registration.unregister().then((()=>self.clients.matchAll())).then((e=>{e.forEach((e=>e.navigate(e.url)))})):"coepCredentialless"===e.data.type&&(coepCredentialless=e.data.value))})),self.addEventListener("fetch",(function(e){const o=e.request;if("only-if-cached"===o.cache&&"same-origin"!==o.mode)return;const s=coepCredentialless&&"no-cors"===o.mode?new Request(o,{credentials:"omit"}):o;e.respondWith(fetch(s).then((e=>{if(0===e.status)return e;const o=new Headers(e.headers);return o.set("Cross-Origin-Embedder-Policy",coepCredentialless?"credentialless":"require-corp"),coepCredentialless||o.set("Cross-Origin-Resource-Policy","cross-origin"),o.set("Cross-Origin-Opener-Policy","same-origin"),new Response(e.body,{status:e.status,statusText:e.statusText,headers:o})})).catch((e=>console.error(e))))}))):(()=>{const e=window.sessionStorage.getItem("coiReloadedBySelf");window.sessionStorage.removeItem("coiReloadedBySelf");const o="coepdegrade"==e,s={shouldRegister:()=>!e,shouldDeregister:()=>!1,coepCredentialless:()=>!0,coepDegrade:()=>!0,doReload:()=>window.location.reload(),quiet:!1,...window.coi},r=navigator,t=r.serviceWorker&&r.serviceWorker.controller;t&&!window.crossOriginIsolated&&window.sessionStorage.setItem("coiCoepHasFailed","true");const i=window.sessionStorage.getItem("coiCoepHasFailed");if(t){const e=s.coepDegrade()&&!(o||window.crossOriginIsolated);r.serviceWorker.controller.postMessage({type:"coepCredentialless",value:!(e||i&&s.coepDegrade())&&s.coepCredentialless()}),e&&(!s.quiet&&console.log("Reloading page to degrade COEP."),window.sessionStorage.setItem("coiReloadedBySelf","coepdegrade"),s.doReload("coepdegrade")),s.shouldDeregister()&&r.serviceWorker.controller.postMessage({type:"deregister"})}!1===window.crossOriginIsolated&&s.shouldRegister()&&(window.isSecureContext?r.serviceWorker?r.serviceWorker.register(window.document.currentScript.src).then((e=>{!s.quiet&&console.log("COOP/COEP Service Worker registered",e.scope),e.addEventListener("updatefound",(()=>{!s.quiet&&console.log("Reloading page to make use of updated COOP/COEP Service Worker."),window.sessionStorage.setItem("coiReloadedBySelf","updatefound"),s.doReload()})),e.active&&!r.serviceWorker.controller&&(!s.quiet&&console.log("Reloading page to make use of COOP/COEP Service Worker."),window.sessionStorage.setItem("coiReloadedBySelf","notcontrolling"),s.doReload())}),(e=>{!s.quiet&&console.error("COOP/COEP Service Worker failed to register:",e)})):!s.quiet&&console.error("COOP/COEP Service Worker not registered, perhaps due to private mode."):!s.quiet&&console.log("COOP/COEP Service Worker not registered, a secure context is required."))})();
coverage.html ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="./favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta name="theme-color" content="#0d1117" />
8
+ <title>DesirePath. What the quarter mile delivers</title>
9
+ <meta
10
+ name="description"
11
+ content="Accessible pedestrian and transit routing for New York City. Supports wheelchair, slow walker, low vision, and stroller profiles. On-device AI, no data sent to servers."
12
+ />
13
+ <link href="./_app/immutable/entry/start.PrnwlT6r.js" rel="modulepreload">
14
+ <link href="./_app/immutable/chunks/Bxo-DTfX.js" rel="modulepreload">
15
+ <link href="./_app/immutable/chunks/D0HAYttL.js" rel="modulepreload">
16
+ <link href="./_app/immutable/chunks/Cgv1tdeu.js" rel="modulepreload">
17
+ <link href="./_app/immutable/entry/app.DEonpMA0.js" rel="modulepreload">
18
+ <link href="./_app/immutable/chunks/DBnLgX18.js" rel="modulepreload">
19
+ <link href="./_app/immutable/chunks/c4NiXbqN.js" rel="modulepreload">
20
+ <link href="./_app/immutable/chunks/DN7CV-sg.js" rel="modulepreload">
21
+ <link href="./_app/immutable/chunks/DuVv0l3G.js" rel="modulepreload">
22
+ <link href="./_app/immutable/chunks/DyRWdz8X.js" rel="modulepreload">
23
+ <link href="./_app/immutable/nodes/0.Cx9ZkrJ9.js" rel="modulepreload">
24
+ <link href="./_app/immutable/chunks/BOCuLG7J.js" rel="modulepreload">
25
+ <link href="./_app/immutable/nodes/3.BkeeEJ3Z.js" rel="modulepreload">
26
+ <link href="./_app/immutable/chunks/CbXUJz7y.js" rel="modulepreload">
27
+
28
+ <link href="./_app/immutable/assets/0.BI06jrIs.css" rel="stylesheet">
29
+ <link href="./_app/immutable/assets/3.BlipfDS5.css" rel="stylesheet">
30
+ <!-- Enables SharedArrayBuffer (required for WebGPU/WebLLM) on hosts that
31
+ don't send COEP/COOP headers natively. Registers a service worker that
32
+ re-serves all responses with those headers; reloads once on first visit. -->
33
+ <script src="./coi-serviceworker.min.js"></script>
34
+ <!-- HF Spaces embeds at /index.html; rewrite to / before SvelteKit boots -->
35
+ <script>if(location.pathname==='/index.html')history.replaceState(null,'','/');</script>
36
+ </head>
37
+ <body data-sveltekit-preload-data="hover">
38
+ <div style="display: contents">
39
+ <script>
40
+ {
41
+ __sveltekit_1i6ligo = {
42
+ base: new URL(".", location).pathname.slice(0, -1)
43
+ };
44
+
45
+ const element = document.currentScript.parentElement;
46
+
47
+ Promise.all([
48
+ import("./_app/immutable/entry/start.PrnwlT6r.js"),
49
+ import("./_app/immutable/entry/app.DEonpMA0.js")
50
+ ]).then(([kit, app]) => {
51
+ kit.start(app, element);
52
+ });
53
+ }
54
+ </script>
55
+ </div>
56
+ </body>
57
+ </html>
demo-queries.json ADDED
@@ -0,0 +1,299 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "id": 1,
4
+ "query": "wheelchair route from Grand Central to Penn Station",
5
+ "borough": "Manhattan",
6
+ "profile": "wheelchair",
7
+ "type": "route",
8
+ "notes": "Multimodal. Should suggest subway or walk along 42nd St"
9
+ },
10
+ {
11
+ "id": 2,
12
+ "query": "I walk slowly, how do I get from Times Square to Bryant Park",
13
+ "borough": "Manhattan",
14
+ "profile": "slow_walker",
15
+ "type": "route",
16
+ "notes": "Short walk, should be walk-only"
17
+ },
18
+ {
19
+ "id": 3,
20
+ "query": "low vision route from Union Square to the Flatiron Building",
21
+ "borough": "Manhattan",
22
+ "profile": "low_vision",
23
+ "type": "route",
24
+ "notes": "Prefers signalized crossings"
25
+ },
26
+ {
27
+ "id": 4,
28
+ "query": "stroller, Atlantic Terminal to Prospect Park",
29
+ "borough": "Brooklyn",
30
+ "profile": "stroller",
31
+ "type": "route",
32
+ "notes": "Walk only, Brooklyn"
33
+ },
34
+ {
35
+ "id": 5,
36
+ "query": "wheelchair, Grand Central to Atlantic Terminal",
37
+ "borough": "Cross-borough",
38
+ "profile": "wheelchair",
39
+ "type": "route",
40
+ "notes": "Manhattan → Brooklyn multimodal, ADA station check"
41
+ },
42
+ {
43
+ "id": 6,
44
+ "query": "I walk slowly, from Flushing to Forest Hills",
45
+ "borough": "Queens",
46
+ "profile": "slow_walker",
47
+ "type": "route",
48
+ "notes": "Queens multimodal, should pick subway"
49
+ },
50
+ {
51
+ "id": 7,
52
+ "query": "wheelchair user, get me from Yankee Stadium to Grand Concourse",
53
+ "borough": "Bronx",
54
+ "profile": "wheelchair",
55
+ "type": "route",
56
+ "notes": "Bronx walk, ADA sidewalk profile"
57
+ },
58
+ {
59
+ "id": 8,
60
+ "query": "I have a cane and tired legs, from Bay Ridge to Sunset Park",
61
+ "borough": "Brooklyn",
62
+ "profile": "slow_walker",
63
+ "type": "route",
64
+ "notes": "slow_walker inferred from cane + tired"
65
+ },
66
+ {
67
+ "id": 9,
68
+ "query": "stroller, from Astoria to Downtown Brooklyn",
69
+ "borough": "Cross-borough",
70
+ "profile": "stroller",
71
+ "type": "route",
72
+ "notes": "Queens → Brooklyn multimodal"
73
+ },
74
+ {
75
+ "id": 10,
76
+ "query": "slow walker from Inwood to the Cloisters",
77
+ "borough": "Manhattan",
78
+ "profile": "slow_walker",
79
+ "type": "route",
80
+ "notes": "Upper Manhattan, Fort Tryon Park area"
81
+ },
82
+ {
83
+ "id": 11,
84
+ "query": "I'm near Times Square and it's really hot, I need somewhere to cool down, I use a wheelchair",
85
+ "borough": "Manhattan",
86
+ "profile": "wheelchair",
87
+ "type": "comfort",
88
+ "notes": "Cooling center near Midtown, wheelchair"
89
+ },
90
+ {
91
+ "id": 12,
92
+ "query": "need a bathroom near DUMBO, I walk with a cane",
93
+ "borough": "Brooklyn",
94
+ "profile": "slow_walker",
95
+ "type": "comfort",
96
+ "notes": "Bathroom resource in Brooklyn"
97
+ },
98
+ {
99
+ "id": 13,
100
+ "query": "slow walker near East Village, looking for a quiet place to sit and rest with wifi",
101
+ "borough": "Manhattan",
102
+ "profile": "slow_walker",
103
+ "type": "comfort",
104
+ "notes": "quiet_indoor + wifi_power"
105
+ },
106
+ {
107
+ "id": 14,
108
+ "query": "wheelchair user, need an overnight shelter near Mott Haven, it's late",
109
+ "borough": "Bronx",
110
+ "profile": "wheelchair",
111
+ "type": "comfort",
112
+ "night": true,
113
+ "notes": "shelter_24h, night, Bronx"
114
+ },
115
+ {
116
+ "id": 15,
117
+ "query": "I'm in Brighton Beach and it's freezing, I need somewhere warm to go inside, I walk slowly",
118
+ "borough": "Brooklyn",
119
+ "profile": "slow_walker",
120
+ "type": "comfort",
121
+ "notes": "warm_indoor, Brooklyn"
122
+ },
123
+ {
124
+ "id": 16,
125
+ "query": "I have a stroller in Jackson Heights, need a quiet indoor space for my baby",
126
+ "borough": "Queens",
127
+ "profile": "stroller",
128
+ "type": "comfort",
129
+ "notes": "quiet_indoor, Queens"
130
+ },
131
+ {
132
+ "id": 17,
133
+ "query": "visually impaired, need somewhere with wifi and power outlets near Astoria",
134
+ "borough": "Queens",
135
+ "profile": "low_vision",
136
+ "type": "comfort",
137
+ "notes": "wifi_power, low_vision"
138
+ },
139
+ {
140
+ "id": 18,
141
+ "query": "what cooling centers can I reach in 15 minutes from Penn Station, I walk slowly",
142
+ "borough": "Manhattan",
143
+ "profile": "slow_walker",
144
+ "type": "reachable",
145
+ "notes": "Isochrone + POI filter"
146
+ },
147
+ {
148
+ "id": 19,
149
+ "query": "wheelchair, what overnight shelters are within 20 minutes of Grand Central",
150
+ "borough": "Manhattan",
151
+ "profile": "wheelchair",
152
+ "type": "reachable",
153
+ "notes": "shelter_24h, wheelchair isochrone"
154
+ },
155
+ {
156
+ "id": 20,
157
+ "query": "I have a stroller, what libraries can I reach in 20 minutes from Atlantic Terminal",
158
+ "borough": "Brooklyn",
159
+ "profile": "stroller",
160
+ "type": "reachable",
161
+ "notes": "NYPL branches as quiet/wifi resource"
162
+ },
163
+ {
164
+ "id": 21,
165
+ "query": "slow walker near Jackson Heights, what shelters or cooling centers can I reach in 25 minutes",
166
+ "borough": "Queens",
167
+ "profile": "slow_walker",
168
+ "type": "reachable",
169
+ "notes": "Multi-resource type isochrone, Queens"
170
+ },
171
+ {
172
+ "id": 22,
173
+ "query": "wheelchair, it's midnight, need an overnight shelter near Jamaica Queens",
174
+ "borough": "Queens",
175
+ "profile": "wheelchair",
176
+ "night": true,
177
+ "type": "comfort",
178
+ "notes": "Night + shelter + wheelchair, outer Queens"
179
+ },
180
+ {
181
+ "id": 23,
182
+ "query": "soy usuario de silla de ruedas, quiero ir desde Grand Central hasta la Terminal Atlantic en Brooklyn",
183
+ "borough": "Cross-borough",
184
+ "profile": "wheelchair",
185
+ "type": "route",
186
+ "lang": "es",
187
+ "notes": "Spanish. Wheelchair cross-borough route"
188
+ },
189
+ {
190
+ "id": 24,
191
+ "query": "necesito encontrar un lugar fresco cerca de Jackson Heights, camino despacio",
192
+ "borough": "Queens",
193
+ "profile": "slow_walker",
194
+ "type": "comfort",
195
+ "lang": "es",
196
+ "notes": "Spanish. Cooling center, Jackson Heights"
197
+ },
198
+ {
199
+ "id": 25,
200
+ "query": "estoy con mi carriola en Flushing y necesito un baño, ¿dónde puedo ir?",
201
+ "borough": "Queens",
202
+ "profile": "stroller",
203
+ "type": "comfort",
204
+ "lang": "es",
205
+ "notes": "Spanish. Bathroom near Flushing, stroller"
206
+ },
207
+ {
208
+ "id": 26,
209
+ "query": "tengo las piernas cansadas y busco un refugio nocturno cerca de Mott Haven esta noche",
210
+ "borough": "Bronx",
211
+ "profile": "slow_walker",
212
+ "type": "comfort",
213
+ "lang": "es",
214
+ "night": true,
215
+ "notes": "Spanish. Overnight shelter, Bronx"
216
+ },
217
+ {
218
+ "id": 27,
219
+ "query": "我在法拉盛,走路很慢,需要找一个安静的室内空间休息",
220
+ "borough": "Queens",
221
+ "profile": "slow_walker",
222
+ "type": "comfort",
223
+ "lang": "zh",
224
+ "notes": "Mandarin. Quiet indoor space, Flushing"
225
+ },
226
+ {
227
+ "id": 28,
228
+ "query": "я в Брайтон-Бич, мне нужен туалет, я хожу медленно",
229
+ "borough": "Brooklyn",
230
+ "profile": "slow_walker",
231
+ "type": "comfort",
232
+ "lang": "ru",
233
+ "notes": "Russian. Bathroom, Brighton Beach"
234
+ },
235
+ {
236
+ "id": 29,
237
+ "query": "আমি জ্যাকসন হাইটসে আছি, গরম লাগছে, আমি ধীরে হাঁটি, একটি শীতল জায়গা খুঁজছি",
238
+ "borough": "Queens",
239
+ "profile": "slow_walker",
240
+ "type": "comfort",
241
+ "lang": "bn",
242
+ "notes": "Bengali. Cooling center, Jackson Heights"
243
+ },
244
+ {
245
+ "id": 30,
246
+ "query": "mwen nan Flatbush, li cho anpil, mwen bezwen yon kote fre, mwen mache dousman",
247
+ "borough": "Brooklyn",
248
+ "profile": "slow_walker",
249
+ "type": "comfort",
250
+ "lang": "ht",
251
+ "notes": "Haitian Creole. Cooling center, Flatbush"
252
+ },
253
+
254
+ {
255
+ "id": 31,
256
+ "query": "it's 95 degrees out, I'm near Penn Station with a power wheelchair. Find me a cooling center",
257
+ "borough": "Manhattan",
258
+ "profile": "powered_wheelchair",
259
+ "type": "comfort",
260
+ "featured": true,
261
+ "notes": "MANHATTAN / HEAT EMERGENCY: Penn Station, power wheelchair, natural-language heat framing. Accessible comfort routing under duress."
262
+ },
263
+ {
264
+ "id": 32,
265
+ "query": "step-free route from Grand Central to Atlantic Terminal, manual wheelchair",
266
+ "borough": "Cross-borough",
267
+ "profile": "wheelchair",
268
+ "type": "route",
269
+ "featured": true,
270
+ "notes": "CROSS-BOROUGH / ADA TRANSIT: Manhattan → Brooklyn multimodal. Manual wheelchair ADA station check. Classic long-distance accessible routing test."
271
+ },
272
+ {
273
+ "id": 33,
274
+ "query": "nearest cooling center to 161 Amsterdam Avenue, wheelchair",
275
+ "borough": "Manhattan",
276
+ "profile": "wheelchair",
277
+ "type": "comfort",
278
+ "featured": true,
279
+ "notes": "ADDRESS GEOCODING / UWS: Named street address (Upper West Side), wheelchair. Tests Geosearch API address resolution in a dense Manhattan corridor."
280
+ },
281
+ {
282
+ "id": 34,
283
+ "query": "cooling centers within 15 minutes of Yankee Stadium, I walk slowly",
284
+ "borough": "Bronx",
285
+ "profile": "slow_walker",
286
+ "type": "reachable",
287
+ "featured": true,
288
+ "notes": "BRONX / ISOCHRONE: Landmark + slow walker profile. Reachability query outside Manhattan. Demonstrates borough coverage."
289
+ },
290
+ {
291
+ "id": 35,
292
+ "query": "what libraries or shelters can I reach from 2881 Third Avenue Mott Haven in 20 minutes, wheelchair",
293
+ "borough": "Bronx",
294
+ "profile": "wheelchair",
295
+ "type": "reachable",
296
+ "featured": true,
297
+ "notes": "ADDRESS + ISOCHRONE / BRONX: Street address in Mott Haven, wheelchair, multi-resource reachability. Tests address geocoder + comfort index in the South Bronx."
298
+ }
299
+ ]
examples/browser-demo/index.html ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>unweaver-wasm browser demo</title>
7
+ <style>
8
+ body { font-family: monospace; max-width: 800px; margin: 2rem auto; padding: 0 1rem; }
9
+ pre { background: #f4f4f4; padding: 1rem; overflow-x: auto; border-radius: 4px; }
10
+ h2 { margin-top: 2rem; }
11
+ .ok { color: #2a7a2a; }
12
+ .err { color: #a00; }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <h1>unweaver-wasm browser demo</h1>
17
+ <p>
18
+ Loads an OSW GeoJSON fixture, registers two profiles, and routes A→C.
19
+ The wheelchair profile avoids the steep middle edge and takes a longer detour.
20
+ </p>
21
+
22
+ <h2>Graph</h2>
23
+ <pre id="graph-info">loading…</pre>
24
+
25
+ <h2>Routes (A → C)</h2>
26
+ <pre id="routes">computing…</pre>
27
+
28
+ <h2>Reachability tree (wheelchair, 200m budget)</h2>
29
+ <pre id="tree">computing…</pre>
30
+
31
+ <script type="module">
32
+ // Serve this file alongside the pkg/ directory.
33
+ // e.g.: npx serve . --cors (from experiments/unweaver-wasm/)
34
+ import init, { Router } from "../../pkg/unweaver_wasm.js";
35
+
36
+ async function fetchText(url) {
37
+ const r = await fetch(url);
38
+ if (!r.ok) throw new Error(`fetch ${url}: ${r.status}`);
39
+ return r.text();
40
+ }
41
+
42
+ async function run() {
43
+ await init();
44
+
45
+ const geojson = await fetchText("../../tests/fixtures/small_osw.geojson");
46
+ const router = Router.fromOSWGeoJSON(geojson);
47
+
48
+ document.getElementById("graph-info").textContent =
49
+ `nodes: ${router.nodeCount()} edges: ${router.edgeCount()}`;
50
+
51
+ for (const name of ["generic_pedestrian", "manual_wheelchair", "low_vision"]) {
52
+ const json = await fetchText(`../profile-${name}.json`);
53
+ router.addProfile(name, json);
54
+ }
55
+
56
+ const [oLat, oLon] = [40.692, -73.990];
57
+ const [dLat, dLon] = [40.692, -73.988];
58
+
59
+ const routesEl = document.getElementById("routes");
60
+ routesEl.textContent = "";
61
+
62
+ for (const profile of ["generic_pedestrian", "manual_wheelchair"]) {
63
+ const json = router.shortestPathJSON(profile, oLat, oLon, dLat, dLon, null);
64
+ const result = JSON.parse(json);
65
+ const line = result.status === "Ok"
66
+ ? `[${profile}] ✓ total_cost=${result.total_cost.toFixed(1)}m edges=${result.edges.length}`
67
+ : `[${profile}] ✗ ${result.code}`;
68
+ routesEl.textContent += line + "\n";
69
+ }
70
+
71
+ const treeJson = router.shortestPathTreeJSON(
72
+ "manual_wheelchair", oLat, oLon, 200, null
73
+ );
74
+ const tree = JSON.parse(treeJson);
75
+ document.getElementById("tree").textContent =
76
+ JSON.stringify({ reachable_nodes: tree.node_costs?.features?.length }, null, 2);
77
+ }
78
+
79
+ run().catch(err => {
80
+ document.getElementById("graph-info").textContent = "Error: " + err.message;
81
+ console.error(err);
82
+ });
83
+ </script>
84
+ </body>
85
+ </html>
examples/node-demo/demo.cjs ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Node.js demo (CommonJS): same as demo.mjs but using the nodejs-target package.
3
+ * Run: node demo.cjs
4
+ */
5
+
6
+ const { readFileSync } = require("fs");
7
+ const path = require("path");
8
+
9
+ const pkgDir = path.resolve(__dirname, "../../pkg-node");
10
+ const { Router } = require(pkgDir);
11
+
12
+ const geojson = readFileSync(
13
+ path.resolve(__dirname, "../../tests/fixtures/small_osw.geojson"),
14
+ "utf8"
15
+ );
16
+ const router = Router.fromOSWGeoJSON(geojson);
17
+ console.log(`Graph loaded: ${router.nodeCount()} nodes, ${router.edgeCount()} edges`);
18
+
19
+ const profileDir = path.resolve(__dirname, "..");
20
+ for (const name of ["generic_pedestrian", "manual_wheelchair", "low_vision"]) {
21
+ const json = readFileSync(`${profileDir}/profile-${name}.json`, "utf8");
22
+ router.addProfile(name, json);
23
+ }
24
+
25
+ const originLat = 40.692, originLon = -73.990;
26
+ const destLat = 40.692, destLon = -73.988;
27
+
28
+ for (const profile of ["generic_pedestrian", "manual_wheelchair"]) {
29
+ const json = router.shortestPathJSON(profile, originLat, originLon, destLat, destLon, null);
30
+ const result = JSON.parse(json);
31
+ if (result.status === "Ok") {
32
+ console.log(`[${profile}] total_cost=${result.total_cost.toFixed(1)}m edges=${result.edges.length}`);
33
+ } else {
34
+ console.log(`[${profile}] ${result.code}`);
35
+ }
36
+ }
examples/node-demo/demo.mjs ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Node.js demo: load an OSW GeoJSON fixture, register two profiles, and
3
+ * compute routes with each. Demonstrates that wheelchair and generic-pedestrian
4
+ * profiles produce different routes on the same graph.
5
+ *
6
+ * Run: node demo.mjs
7
+ */
8
+
9
+ import { readFileSync } from "fs";
10
+ import { createRequire } from "module";
11
+ import { fileURLToPath } from "url";
12
+ import { dirname, resolve } from "path";
13
+
14
+ const __dir = dirname(fileURLToPath(import.meta.url));
15
+ const pkgDir = resolve(__dir, "../../pkg");
16
+
17
+ // wasm-pack --target web generates ESM. For Node we use the bundler target's
18
+ // CommonJS shim, or simply import the .js glue and initialise with the binary.
19
+ const { default: init, Router } = await import(`${pkgDir}/unweaver_wasm.js`);
20
+ const wasmBytes = readFileSync(`${pkgDir}/unweaver_wasm_bg.wasm`);
21
+ await init(wasmBytes);
22
+
23
+ // ── load graph ───────────────────────────────────────────────────────────────
24
+ const geojson = readFileSync(
25
+ resolve(__dir, "../../tests/fixtures/small_osw.geojson"),
26
+ "utf8"
27
+ );
28
+ const router = Router.fromOSWGeoJSON(geojson);
29
+ console.log(`Graph loaded: ${router.nodeCount()} nodes, ${router.edgeCount()} edges`);
30
+
31
+ // ── register profiles ────────────────────────────────────────────────────────
32
+ const profileDir = resolve(__dir, "..");
33
+ for (const name of ["generic_pedestrian", "manual_wheelchair", "low_vision"]) {
34
+ const json = readFileSync(`${profileDir}/profile-${name}.json`, "utf8");
35
+ router.addProfile(name, json);
36
+ console.log(`Profile registered: ${name}`);
37
+ }
38
+
39
+ // ── route: A → C ─────────────────────────────────────────────────────────────
40
+ // Fixture coords: A = [40.692, -73.990], C = [40.692, -73.988]
41
+ const originLat = 40.692, originLon = -73.990;
42
+ const destLat = 40.692, destLon = -73.988;
43
+
44
+ for (const profile of ["generic_pedestrian", "manual_wheelchair"]) {
45
+ const json = router.shortestPathJSON(profile, originLat, originLon, destLat, destLon, null);
46
+ const result = JSON.parse(json);
47
+ if (result.status === "Ok") {
48
+ console.log(
49
+ `\n[${profile}] total_cost=${result.total_cost.toFixed(1)}m, edges=${result.edges.length}`
50
+ );
51
+ result.edges.forEach((e, i) => {
52
+ console.log(` edge ${i + 1}: footway=${e.footway ?? "-"} incline=${e.incline ?? "-"} length=${e.length ?? e.cost?.toFixed(1)}m`);
53
+ });
54
+ } else {
55
+ console.log(`\n[${profile}] ${result.code}`);
56
+ }
57
+ }
58
+
59
+ // ── reachability tree ────────────────────────────────────────────────────────
60
+ const treeJson = router.shortestPathTreeJSON(
61
+ "manual_wheelchair", originLat, originLon, 200, null
62
+ );
63
+ const tree = JSON.parse(treeJson);
64
+ console.log(
65
+ `\n[manual_wheelchair] reachability (budget=200m): ` +
66
+ `${tree.node_costs?.features?.length ?? 0} nodes reachable`
67
+ );
examples/profile-generic_pedestrian.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "generic_pedestrian",
3
+ "args": [
4
+ {
5
+ "name": "mrt_shade",
6
+ "type": "float",
7
+ "default": 33.01,
8
+ "description": "Mean radiant temperature (C) of full building shade at the reference meteorology (NWS New York Heat Advisory threshold, NOAA 1991-2020 normals at LaGuardia). The zero point of the thermal cost: an edge at or below this pays nothing, which is also what an unsurveyed edge pays, so the router is never paid to leave coverage."
9
+ },
10
+ {
11
+ "name": "mrt_sun",
12
+ "type": "float",
13
+ "default": 61.8,
14
+ "description": "Mean radiant temperature (C) of open full sun at the same reference meteorology. Exposure is the position between the two anchors."
15
+ },
16
+ {
17
+ "name": "sun_inflation",
18
+ "type": "float",
19
+ "default": 0.0,
20
+ "description": "Extra cost at full sun exposure, as a fraction of distance. This is beta - 1 from Melnikov et al. (2022), Sci Rep 12:2441, who estimate a population mean beta of 1.16 from 408 observed path choices, so 0.16 means a metre in full sun feels 16 percent longer than a metre in shade. Defaults to 0, which switches the thermal layer off and reproduces the pre-thermal router exactly. config/condition-map.yaml sets it per person."
21
+ }
22
+ ],
23
+ "cost": {
24
+ "impassable_if": [],
25
+ "base": "length",
26
+ "multipliers": [],
27
+ "terms": [
28
+ {
29
+ "description": "Distance-inflating coefficient on thermal exposure, after Melnikov et al. (2022). Continuous rather than banded: the UTCI stress categories are too coarse to route on here, because dUTCI/dMRT is only 0.2137 at these conditions, so a whole neighbourhood falls inside one or two categories.",
30
+ "attr": "mrt",
31
+ "from": "mrt_shade",
32
+ "to": "mrt_sun",
33
+ "coefficient": "sun_inflation"
34
+ }
35
+ ]
36
+ }
37
+ }
examples/profile-low_vision.json ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "low_vision",
3
+ "args": [
4
+ {
5
+ "name": "avoid_unpaved",
6
+ "type": "bool",
7
+ "default": true,
8
+ "description": "Treat unpaved surfaces as impassable (unstable footing, no tactile guiding)."
9
+ },
10
+ {
11
+ "name": "mrt_shade",
12
+ "type": "float",
13
+ "default": 33.01,
14
+ "description": "Mean radiant temperature (C) of full building shade at the reference meteorology (NWS New York Heat Advisory threshold, NOAA 1991-2020 normals at LaGuardia). The zero point of the thermal cost: an edge at or below this pays nothing, which is also what an unsurveyed edge pays, so the router is never paid to leave coverage."
15
+ },
16
+ {
17
+ "name": "mrt_sun",
18
+ "type": "float",
19
+ "default": 61.8,
20
+ "description": "Mean radiant temperature (C) of open full sun at the same reference meteorology. Exposure is the position between the two anchors."
21
+ },
22
+ {
23
+ "name": "sun_inflation",
24
+ "type": "float",
25
+ "default": 0.0,
26
+ "description": "Extra cost at full sun exposure, as a fraction of distance. This is beta - 1 from Melnikov et al. (2022), Sci Rep 12:2441, who estimate a population mean beta of 1.16 from 408 observed path choices, so 0.16 means a metre in full sun feels 16 percent longer than a metre in shade. Defaults to 0, which switches the thermal layer off and reproduces the pre-thermal router exactly. config/condition-map.yaml sets it per person."
27
+ }
28
+ ],
29
+ "cost": {
30
+ "impassable_if": [
31
+ {
32
+ "all": [
33
+ {
34
+ "param": "avoid_unpaved",
35
+ "op": "eq",
36
+ "value": true
37
+ },
38
+ {
39
+ "attr": "surface",
40
+ "op": "in",
41
+ "value": [
42
+ "unpaved",
43
+ "gravel",
44
+ "dirt",
45
+ "grass",
46
+ "mud",
47
+ "sand"
48
+ ]
49
+ }
50
+ ]
51
+ }
52
+ ],
53
+ "base": "length",
54
+ "multipliers": [
55
+ {
56
+ "description": "Rough stone surfaces increase effective cost by 50%.",
57
+ "if": {
58
+ "attr": "surface",
59
+ "op": "in",
60
+ "value": [
61
+ "cobblestone",
62
+ "sett",
63
+ "unhewn_cobblestone"
64
+ ]
65
+ },
66
+ "multiply": 1.5
67
+ },
68
+ {
69
+ "description": "Zebra crossings are most visible \u2014 preferred.",
70
+ "if": {
71
+ "attr": "crossing_markings",
72
+ "op": "eq",
73
+ "value": "zebra"
74
+ },
75
+ "multiply": 0.8
76
+ },
77
+ {
78
+ "description": "Unknown-marking crossings may be unmarked \u2014 penalised.",
79
+ "if": {
80
+ "attr": "crossing_markings",
81
+ "op": "eq",
82
+ "value": "unknown"
83
+ },
84
+ "multiply": 1.5
85
+ }
86
+ ],
87
+ "terms": [
88
+ {
89
+ "description": "Distance-inflating coefficient on thermal exposure, after Melnikov et al. (2022). Continuous rather than banded: the UTCI stress categories are too coarse to route on here, because dUTCI/dMRT is only 0.2137 at these conditions, so a whole neighbourhood falls inside one or two categories.",
90
+ "attr": "mrt",
91
+ "from": "mrt_shade",
92
+ "to": "mrt_sun",
93
+ "coefficient": "sun_inflation"
94
+ }
95
+ ]
96
+ }
97
+ }
examples/profile-manual_wheelchair.json ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "manual_wheelchair",
3
+ "args": [
4
+ {
5
+ "name": "uphill_max",
6
+ "type": "float",
7
+ "default": 0.0833,
8
+ "description": "Maximum uphill grade (rise/run). 0.0833 \u2248 5% ADA-recommended max."
9
+ },
10
+ {
11
+ "name": "downhill_max",
12
+ "type": "float",
13
+ "default": -0.1,
14
+ "description": "Maximum downhill grade (negative). -0.10 = 10% descent."
15
+ },
16
+ {
17
+ "name": "mrt_shade",
18
+ "type": "float",
19
+ "default": 33.01,
20
+ "description": "Mean radiant temperature (C) of full building shade at the reference meteorology (NWS New York Heat Advisory threshold, NOAA 1991-2020 normals at LaGuardia). The zero point of the thermal cost: an edge at or below this pays nothing, which is also what an unsurveyed edge pays, so the router is never paid to leave coverage."
21
+ },
22
+ {
23
+ "name": "mrt_sun",
24
+ "type": "float",
25
+ "default": 61.8,
26
+ "description": "Mean radiant temperature (C) of open full sun at the same reference meteorology. Exposure is the position between the two anchors."
27
+ },
28
+ {
29
+ "name": "sun_inflation",
30
+ "type": "float",
31
+ "default": 0.0,
32
+ "description": "Extra cost at full sun exposure, as a fraction of distance. This is beta - 1 from Melnikov et al. (2022), Sci Rep 12:2441, who estimate a population mean beta of 1.16 from 408 observed path choices, so 0.16 means a metre in full sun feels 16 percent longer than a metre in shade. Defaults to 0, which switches the thermal layer off and reproduces the pre-thermal router exactly. config/condition-map.yaml sets it per person."
33
+ }
34
+ ],
35
+ "cost": {
36
+ "impassable_if": [
37
+ {
38
+ "attr": "incline",
39
+ "op": "gt",
40
+ "param": "uphill_max"
41
+ },
42
+ {
43
+ "attr": "incline",
44
+ "op": "lt",
45
+ "param": "downhill_max"
46
+ }
47
+ ],
48
+ "base": "length",
49
+ "multipliers": [
50
+ {
51
+ "description": "Crossings without a confirmed lowered curb ramp are strongly penalised. The router will detour to a confirmed ramp if one is nearby. Uses 3x so a detour up to ~2 blocks is preferred over an unconfirmed crossing.",
52
+ "if": {
53
+ "all": [
54
+ {
55
+ "attr": "footway",
56
+ "op": "eq",
57
+ "value": "crossing"
58
+ },
59
+ {
60
+ "attr": "curbramps",
61
+ "op": "eq",
62
+ "value": false
63
+ }
64
+ ]
65
+ },
66
+ "multiply": 3.0
67
+ }
68
+ ],
69
+ "terms": [
70
+ {
71
+ "description": "Distance-inflating coefficient on thermal exposure, after Melnikov et al. (2022). Continuous rather than banded: the UTCI stress categories are too coarse to route on here, because dUTCI/dMRT is only 0.2137 at these conditions, so a whole neighbourhood falls inside one or two categories.",
72
+ "attr": "mrt",
73
+ "from": "mrt_shade",
74
+ "to": "mrt_sun",
75
+ "coefficient": "sun_inflation"
76
+ }
77
+ ]
78
+ }
79
+ }
examples/web-app/brooklyn-downtown.geojson ADDED
The diff for this file is too large to render. See raw diff
 
favicon.svg ADDED
fonts/overpass-400.woff2 ADDED
Binary file (39.3 kB). View file
 
fonts/overpass-600.woff2 ADDED
Binary file (39.3 kB). View file
 
fonts/overpass-700.woff2 ADDED
Binary file (39.3 kB). View file
 
fonts/overpass-800.woff2 ADDED
Binary file (39.3 kB). View file
 
fonts/overpass-900.woff2 ADDED
Binary file (39.3 kB). View file
 
fonts/overpass-mono-400.woff2 ADDED
Binary file (22 kB). View file
 
fonts/overpass-mono-600.woff2 ADDED
Binary file (22 kB). View file
 
fonts/overpass-mono-700.woff2 ADDED
Binary file (22 kB). View file
 
index.html CHANGED
@@ -1,19 +1,54 @@
1
  <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  </div>
18
- </body>
19
  </html>
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta name="theme-color" content="#0d1117" />
8
+ <title>DesirePath. What the quarter mile delivers</title>
9
+ <meta
10
+ name="description"
11
+ content="Accessible pedestrian and transit routing for New York City. Supports wheelchair, slow walker, low vision, and stroller profiles. On-device AI, no data sent to servers."
12
+ />
13
+ <link href="/_app/immutable/entry/start.PrnwlT6r.js" rel="modulepreload">
14
+ <link href="/_app/immutable/chunks/Bxo-DTfX.js" rel="modulepreload">
15
+ <link href="/_app/immutable/chunks/D0HAYttL.js" rel="modulepreload">
16
+ <link href="/_app/immutable/chunks/Cgv1tdeu.js" rel="modulepreload">
17
+ <link href="/_app/immutable/entry/app.DEonpMA0.js" rel="modulepreload">
18
+ <link href="/_app/immutable/chunks/DBnLgX18.js" rel="modulepreload">
19
+ <link href="/_app/immutable/chunks/c4NiXbqN.js" rel="modulepreload">
20
+ <link href="/_app/immutable/chunks/DN7CV-sg.js" rel="modulepreload">
21
+ <link href="/_app/immutable/chunks/DuVv0l3G.js" rel="modulepreload">
22
+ <link href="/_app/immutable/chunks/DyRWdz8X.js" rel="modulepreload">
23
+ <link href="/_app/immutable/nodes/0.Cx9ZkrJ9.js" rel="modulepreload">
24
+ <link href="/_app/immutable/chunks/BOCuLG7J.js" rel="modulepreload">
25
+
26
+ <link href="/_app/immutable/assets/0.BI06jrIs.css" rel="stylesheet">
27
+ <!-- Enables SharedArrayBuffer (required for WebGPU/WebLLM) on hosts that
28
+ don't send COEP/COOP headers natively. Registers a service worker that
29
+ re-serves all responses with those headers; reloads once on first visit. -->
30
+ <script src="/coi-serviceworker.min.js"></script>
31
+ <!-- HF Spaces embeds at /index.html; rewrite to / before SvelteKit boots -->
32
+ <script>if(location.pathname==='/index.html')history.replaceState(null,'','/');</script>
33
+ </head>
34
+ <body data-sveltekit-preload-data="hover">
35
+ <div style="display: contents">
36
+ <script>
37
+ {
38
+ __sveltekit_1i6ligo = {
39
+ base: ""
40
+ };
41
+
42
+ const element = document.currentScript.parentElement;
43
+
44
+ Promise.all([
45
+ import("/_app/immutable/entry/start.PrnwlT6r.js"),
46
+ import("/_app/immutable/entry/app.DEonpMA0.js")
47
+ ]).then(([kit, app]) => {
48
+ kit.start(app, element);
49
+ });
50
+ }
51
+ </script>
52
  </div>
53
+ </body>
54
  </html>
nyc-boroughs.json ADDED
The diff for this file is too large to render. See raw diff
 
output/BK1602-coverage.json ADDED
The diff for this file is too large to render. See raw diff
 
output/BX0101-coverage.json ADDED
The diff for this file is too large to render. See raw diff
 
output/BX0602-coverage.json ADDED
The diff for this file is too large to render. See raw diff