@expofp/floorplan 3.36.0 → 3.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{Button-2F0fcPWt.js → Button-CNs8VDGG.js} +5 -5
- package/dist/browser/{CookieConsent-Bs_a5mWS.js → CookieConsent-CcBA-IqC.js} +7 -7
- package/dist/browser/{Debug-CD7jIIc9.js → Debug-DzeeojOv.js} +7 -7
- package/dist/browser/{DebugTools-0QH5g7VI.js → DebugTools-Cg2kMVuz.js} +6 -6
- package/dist/browser/{Demo-CaQvpK66.js → Demo-DlX2eRc5.js} +9 -9
- package/dist/browser/{Free-DvMwspKE.js → Free-BPXxN14i.js} +9 -9
- package/dist/browser/{GalleryContainer-Dwlzieq8.js → GalleryContainer-D3PtNDq1.js} +10 -10
- package/dist/browser/{GpsLoader-BPoEXpR_.js → GpsLoader-MuKCP4hM.js} +26 -26
- package/dist/browser/KioskStore-DwJPzK8K.js +251 -0
- package/dist/browser/{MaplibreAdapter-CDSNSGMJ.js → MaplibreAdapter-DzycfkS9.js} +606 -605
- package/dist/browser/{ModalContainer-C0C_-D7Q.js → ModalContainer-U0c94Gcg.js} +10 -10
- package/dist/browser/{PermissionNotice-Ditp-Va7.js → PermissionNotice-DyTh0N80.js} +6 -6
- package/dist/browser/{SetKioskMode-Ch3P8jsl.js → SetKioskMode-DFNqggA2.js} +13 -13
- package/dist/browser/{ShowKiosk-D0NS-rMr.js → ShowKiosk-BuXxL7Re.js} +11 -11
- package/dist/browser/{ViewerMenuPanel-CH9tB2Sp.js → ViewerMenuPanel--flTFhEB.js} +10 -10
- package/dist/browser/{add-debug-secret-listener-Cw8yc4RW.js → add-debug-secret-listener-DvCB0ort.js} +1 -1
- package/dist/browser/{adopt-global-settings-Bc_AVw2I.js → adopt-global-settings-CVQmrlox.js} +9 -9
- package/dist/browser/{boolean-editor-DySssKe_.js → boolean-editor-Bk6Lfd_2.js} +9 -9
- package/dist/browser/{bootIntercom-veK3GB2r.js → bootIntercom-iv5wse99.js} +2 -2
- package/dist/browser/bundle.json +71 -71
- package/dist/browser/{camera-events-BX1-wPbL.js → camera-events-Uyswpptc.js} +1 -1
- package/dist/browser/{classnames-C1ATXib6.js → classnames-TUIUYS3L.js} +2 -2
- package/dist/browser/{client-Bdn_b8IB.js → client-Bm485HWD.js} +5 -5
- package/dist/browser/{components-ElNUYOon.js → components-DcbtuzgN.js} +1183 -1181
- package/dist/browser/{debug-context-iU8AaPvD.js → debug-context-CiRcA5z7.js} +5 -5
- package/dist/browser/{debug-overlay-Dqyz5mZZ.js → debug-overlay-BaIOFaoE.js} +10 -10
- package/dist/browser/{debug-ui-DPeQ3uf5.js → debug-ui-B3yO6QTa.js} +6 -6
- package/dist/browser/{dimming-CZLGDSAM.js → dimming-y3MYb4O3.js} +261 -261
- package/dist/browser/{dist-C2H8aaYx.js → dist-BaXVVYa9.js} +5 -5
- package/dist/browser/{dist-CLxwCMUL.js → dist-DAWn7KI8.js} +6 -6
- package/dist/browser/{dist-BE-vw9Dz.js → dist-fMLrkr8V.js} +3 -3
- package/dist/browser/{efp-debug-init-BD4LKeS1.js → efp-debug-init-CVDjWVXl.js} +3 -3
- package/dist/browser/{enum-editor-DntlOPuq.js → enum-editor-B-vJDdwf.js} +4 -4
- package/dist/browser/{es5-CjrUZ-uf.js → es5-CYKbplUA.js} +2 -2
- package/dist/browser/{event-head-CIqZD5NQ.js → event-head-BtayW8HA.js} +1 -1
- package/dist/browser/{event-not-found-DRIf3y4d.js → event-not-found-B4Tz7V1H.js} +3 -3
- package/dist/browser/{exports-m4XDiy76.js → exports-DTjBGI92.js} +1 -1
- package/dist/browser/{favicon-uIHQnsih.js → favicon-Bq3vaHM_.js} +1 -1
- package/dist/browser/{fetch-retry.umd-D-ufgiKo.js → fetch-retry.umd-Cw9OsA-s.js} +2 -2
- package/dist/browser/{flex-h9aGr8BA.js → flex-C0jlxRr9.js} +5 -5
- package/dist/browser/{floorplan.loader-DnpZi_x0.js → floorplan.loader-B0b2d8rT.js} +10 -10
- package/dist/browser/{floorplan.ready-BhJ0AYxK.js → floorplan.ready-Bi2mkI_V.js} +187 -192
- package/dist/browser/{fuse-kGJ6CyvN.js → fuse-CS-5RDcg.js} +2 -2
- package/dist/browser/{i18n-8GhKJLji.js → i18n-LVijVdMb.js} +5 -5
- package/dist/browser/index.js +16 -16
- package/dist/browser/{index.module-DXWLW2QZ.js → index.module-D7TtIVgi.js} +4 -4
- package/dist/browser/{integrateKiosk-Cwhicybg.js → integrateKiosk-BmVtSyFv.js} +4 -4
- package/dist/browser/{is-own-domain-BgHODyPb.js → is-own-domain-BL66TBhN.js} +1 -1
- package/dist/browser/{is-webview-8mSd5e7Z.js → is-webview-DwQBZFcX.js} +1 -1
- package/dist/browser/{jsx-runtime-Db0wke-m.js → jsx-runtime-DS8yJ69h.js} +2 -2
- package/dist/browser/{kiosk-record-BmUy79vX.js → kiosk-record-goZjGV8Y.js} +1 -1
- package/dist/browser/{lib-DYJdAHez.js → lib-dIwLYV0z.js} +3 -3
- package/dist/browser/{loadImage-DiOgFRgU.js → loadImage-BDk9loud.js} +4 -4
- package/dist/browser/{logDeviceInfo-Z3261diM.js → logDeviceInfo-227-j__X.js} +9 -9
- package/dist/browser/{mobx-BcDFojrl.js → mobx-D3NRVJz0.js} +4 -4
- package/dist/browser/{optional-boolean-editor-CW1Is1sb.js → optional-boolean-editor-BtWARd1i.js} +3 -3
- package/dist/browser/{optional-enum-editor-BkTQr_mP.js → optional-enum-editor-CJEQ7pDc.js} +4 -4
- package/dist/browser/{optional-string-editor-CQkcvxq9.js → optional-string-editor-Bd6a7i5L.js} +4 -4
- package/dist/browser/{particles.min-Ds4mtQz5.js → particles.min-CGC94f9R.js} +2 -2
- package/dist/browser/{react-Bws4GHzE.js → react-DUWO7pPs.js} +2 -2
- package/dist/browser/{react-dom-DKAc03u1.js → react-dom-C08Q2osf.js} +3 -3
- package/dist/browser/{rolldown-runtime-Bmk6v0JP.js → rolldown-runtime-CooLcCzw.js} +1 -1
- package/dist/browser/{scheduler-BXv92Cfb.js → scheduler-DuPfkMc5.js} +2 -2
- package/dist/browser/{select-BCscymDn.js → select-4KfoG4mp.js} +10 -10
- package/dist/browser/{settings-CrabU4sN.js → settings-Dbl2f0ow.js} +2 -2
- package/dist/browser/{settings-item-BZ_U0h8B.js → settings-item-CRyyzC8b.js} +6 -6
- package/dist/browser/{store-DJXUxGeN.js → store-BcEvlgIF.js} +3050 -3031
- package/dist/browser/{string-editor-CnG22Oly.js → string-editor-lytU5wX-.js} +4 -4
- package/dist/browser/{text-field-NVbcJEkm.js → text-field-BGvPdsaN.js} +5 -5
- package/dist/browser/{theme-eBX8BNJC.js → theme-CxFvVGHQ.js} +8 -8
- package/dist/browser/{ui-BPpyJIAd.js → ui-D3H7hMUC.js} +8 -8
- package/dist/browser/{useRenderTarget-yW52M18A.js → useRenderTarget-DGSXEfzc.js} +4 -4
- package/dist/browser/{viewport-nGSeFdsb.js → viewport-BczDYrg4.js} +3 -3
- package/dist/esm/components/Kiosk/KioskStore.d.ts +8 -0
- package/dist/esm/components/Kiosk/KioskStore.js +1 -1
- package/dist/esm/components/Kiosk/kiosk-mode.d.ts +18 -2
- package/dist/esm/components/Kiosk/kiosk-mode.js +1 -1
- package/dist/esm/components/Map/MapCamera.js +1 -1
- package/dist/esm/components/Map/camera-events.d.ts +9 -6
- package/dist/esm/components/Map/pointer.d.ts +7 -5
- package/dist/esm/components/MapControlsContainer.js +1 -1
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +1 -1
- package/dist/esm/components/Maplibre/useKioskCameraEvents.d.ts +20 -0
- package/dist/esm/components/Maplibre/useKioskCameraEvents.js +1 -0
- package/dist/esm/intercom/shouldLoad.js +1 -1
- package/dist/esm/store/UIState.d.ts +2 -0
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/store/init/init-ui.js +1 -1
- package/package.json +10 -10
- package/dist/browser/KioskStore-BSg4K_mL.js +0 -241
- package/dist/esm/components/Maplibre/useKioskIdleEvents.d.ts +0 -17
- package/dist/esm/components/Maplibre/useKioskIdleEvents.js +0 -1
|
@@ -2,23 +2,24 @@ function __vite_inject_css__(css, id, forceLightDom){ if (typeof document==='un
|
|
|
2
2
|
(function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
5
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
5
|
+
e.SENTRY_RELEASE = { id: "3.37.0" };
|
|
6
6
|
var t = new e.Error().stack;
|
|
7
|
-
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "
|
|
7
|
+
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "b300d5d4-cc8e-4bd9-8108-059ba872bc0b", e._sentryDebugIdIdentifier = "sentry-dbid-b300d5d4-cc8e-4bd9-8108-059ba872bc0b");
|
|
8
8
|
} catch {}
|
|
9
9
|
})();
|
|
10
|
-
import { r as e, t } from "./rolldown-runtime-
|
|
11
|
-
import { X as n, Z as r, v as i, y as a } from "./i18n-
|
|
12
|
-
import { t as o } from "./react-
|
|
13
|
-
import { t as s } from "./jsx-runtime-
|
|
14
|
-
import { n as c } from "./loadImage-
|
|
15
|
-
import {
|
|
16
|
-
import { t as re } from "./index.module-
|
|
17
|
-
import { i as ie } from "./mobx-
|
|
18
|
-
import { t as ae } from "./
|
|
19
|
-
import {
|
|
10
|
+
import { r as e, t } from "./rolldown-runtime-CooLcCzw.js";
|
|
11
|
+
import { X as n, Z as r, v as i, y as a } from "./i18n-LVijVdMb.js";
|
|
12
|
+
import { t as o } from "./react-DUWO7pPs.js";
|
|
13
|
+
import { t as s } from "./jsx-runtime-DS8yJ69h.js";
|
|
14
|
+
import { n as c } from "./loadImage-BDk9loud.js";
|
|
15
|
+
import { An as l, Cn as u, D as d, Dn as f, Dt as p, En as m, F as h, Ft as g, It as _, Jt as v, N as y, Nt as b, Ot as x, Pt as S, Sn as C, St as w, V as T, Vt as E, an as D, bn as O, c as k, d as A, f as j, l as M, p as N, u as ee, v as te, wn as ne, xt as P } from "./store-BcEvlgIF.js";
|
|
16
|
+
import { t as re } from "./index.module-D7TtIVgi.js";
|
|
17
|
+
import { i as ie } from "./mobx-D3NRVJz0.js";
|
|
18
|
+
import { t as ae } from "./camera-events-Uyswpptc.js";
|
|
19
|
+
import { t as oe } from "./viewport-BczDYrg4.js";
|
|
20
|
+
import { a as se, c as ce, i as le, l as ue, n as de, o as fe, r as pe, s as me, t as he } from "./dimming-y3MYb4O3.js";
|
|
20
21
|
//#region ../../node_modules/.pnpm/maplibre-gl@5.24.0/node_modules/maplibre-gl/dist/maplibre-gl.css
|
|
21
|
-
var F = /* @__PURE__ */ e(o(), 1),
|
|
22
|
+
var F = /* @__PURE__ */ e(o(), 1), ge = /* @__PURE__ */ e(f(), 1), _e = (/* @__PURE__ */ t(((e, t) => {
|
|
22
23
|
(function(n, r) {
|
|
23
24
|
typeof e == "object" && t !== void 0 ? t.exports = r() : typeof define == "function" && define.amd ? define(r) : (n = typeof globalThis < "u" ? globalThis : n || self, n.maplibregl = r());
|
|
24
25
|
})(e, (function() {
|
|
@@ -327,11 +328,11 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
327
328
|
let i = new o(e, t, n, r);
|
|
328
329
|
return (e) => i.solve(e);
|
|
329
330
|
}
|
|
330
|
-
let
|
|
331
|
-
function
|
|
331
|
+
let te = ee(.25, .1, .25, 1);
|
|
332
|
+
function ne(e, t, n) {
|
|
332
333
|
return Math.min(n, Math.max(t, e));
|
|
333
334
|
}
|
|
334
|
-
function
|
|
335
|
+
function P(e, t, n) {
|
|
335
336
|
let r = n - t, i = ((e - t) % r + r) % r + t;
|
|
336
337
|
return i === t ? n : i;
|
|
337
338
|
}
|
|
@@ -368,7 +369,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
368
369
|
return typeof ImageBitmap < "u" && e instanceof ImageBitmap;
|
|
369
370
|
}
|
|
370
371
|
let me = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";
|
|
371
|
-
function
|
|
372
|
+
function he(e, n, r, i, a) {
|
|
372
373
|
return t(this, void 0, void 0, (function* () {
|
|
373
374
|
if (typeof VideoFrame > "u") throw Error("VideoFrame not supported");
|
|
374
375
|
let t = new VideoFrame(e, { timestamp: 0 });
|
|
@@ -400,7 +401,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
400
401
|
}
|
|
401
402
|
}));
|
|
402
403
|
}
|
|
403
|
-
let
|
|
404
|
+
let F, ge;
|
|
404
405
|
function _e(e, t, n, r) {
|
|
405
406
|
return e.addEventListener(t, n, r), { unsubscribe: () => {
|
|
406
407
|
e.removeEventListener(t, n, r);
|
|
@@ -9415,7 +9416,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
9415
9416
|
}
|
|
9416
9417
|
}
|
|
9417
9418
|
function cs(e, t) {
|
|
9418
|
-
return 256 * (e =
|
|
9419
|
+
return 256 * (e = ne(Math.floor(e), 0, 255)) + ne(Math.floor(t), 0, 255);
|
|
9419
9420
|
}
|
|
9420
9421
|
ss.MAX_VERTEX_ARRAY_LENGTH = 2 ** 16 - 1, X("SegmentVector", ss);
|
|
9421
9422
|
let ls = oo([
|
|
@@ -9675,7 +9676,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
9675
9676
|
this.paintVertexBuffer && this.paintVertexBuffer.destroy();
|
|
9676
9677
|
}
|
|
9677
9678
|
setUniform(e, t) {
|
|
9678
|
-
let n = this.useIntegerZoom ? Math.floor(t.zoom) : t.zoom, r =
|
|
9679
|
+
let n = this.useIntegerZoom ? Math.floor(t.zoom) : t.zoom, r = ne(this.expression.interpolationFactor(n, this.zoom, this.zoom + 1), 0, 1);
|
|
9679
9680
|
e.set(r);
|
|
9680
9681
|
}
|
|
9681
9682
|
getBinding(e, t, n) {
|
|
@@ -9969,7 +9970,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
9969
9970
|
let t = O / e.extent, n = e.loadGeometry();
|
|
9970
9971
|
for (let e of n) for (let n of e) {
|
|
9971
9972
|
let e = Math.round(n.x * t), r = Math.round(n.y * t);
|
|
9972
|
-
n.x =
|
|
9973
|
+
n.x = ne(e, Bs, zs), n.y = ne(r, Bs, zs), (e < n.x || e > n.x + 1 || r < n.y || r > n.y + 1) && le("Geometry exceeds allowed extent, reduce your vector tile buffer size");
|
|
9973
9974
|
}
|
|
9974
9975
|
return n;
|
|
9975
9976
|
}
|
|
@@ -14781,7 +14782,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
14781
14782
|
if (this.lng = +e, this.lat = +t, this.lat > 90 || this.lat < -90) throw Error("Invalid LngLat latitude value: must be between -90 and 90");
|
|
14782
14783
|
}
|
|
14783
14784
|
wrap() {
|
|
14784
|
-
return new Nf(
|
|
14785
|
+
return new Nf(P(this.lng, -180, 180), this.lat);
|
|
14785
14786
|
}
|
|
14786
14787
|
toArray() {
|
|
14787
14788
|
return [this.lng, this.lat];
|
|
@@ -17390,9 +17391,9 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17390
17391
|
(o.textFitWidth || o.textFitHeight) && (u = lf(e)), v = hh(d, 0, t[0]), b = hh(f, 0, t[1]), y = hh(d, t[0], t[2]), x = hh(f, t[1], t[3]), S = t[0] - v, w = t[1] - b, C = n - y, T = r - x;
|
|
17391
17392
|
}
|
|
17392
17393
|
let E = u.x1, D = u.y1, O = u.x2 - E, k = u.y2 - D, A = (e, i, a, c) => {
|
|
17393
|
-
let l = _h(e.stretch - v, y, O, E), u = vh(e.fixed - S, C, e.stretch, m), d = _h(i.stretch - b, x, k, D), f = vh(i.fixed - w, T, i.stretch, h), p = _h(a.stretch - v, y, O, E), g = vh(a.fixed - S, C, a.stretch, m), _ = _h(c.stretch - b, x, k, D), A = vh(c.fixed - w, T, c.stretch, h), j = new n(l, d), M = new n(p, d), N = new n(p, _), ee = new n(l, _),
|
|
17394
|
-
if (
|
|
17395
|
-
let e = Math.sin(
|
|
17394
|
+
let l = _h(e.stretch - v, y, O, E), u = vh(e.fixed - S, C, e.stretch, m), d = _h(i.stretch - b, x, k, D), f = vh(i.fixed - w, T, i.stretch, h), p = _h(a.stretch - v, y, O, E), g = vh(a.fixed - S, C, a.stretch, m), _ = _h(c.stretch - b, x, k, D), A = vh(c.fixed - w, T, c.stretch, h), j = new n(l, d), M = new n(p, d), N = new n(p, _), ee = new n(l, _), te = new n(u / s, f / s), ne = new n(g / s, A / s), P = t * Math.PI / 180;
|
|
17395
|
+
if (P) {
|
|
17396
|
+
let e = Math.sin(P), t = Math.cos(P), n = [
|
|
17396
17397
|
t,
|
|
17397
17398
|
-e,
|
|
17398
17399
|
e,
|
|
@@ -17415,8 +17416,8 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17415
17416
|
writingMode: void 0,
|
|
17416
17417
|
glyphOffset: [0, 0],
|
|
17417
17418
|
sectionIndex: 0,
|
|
17418
|
-
pixelOffsetTL:
|
|
17419
|
-
pixelOffsetBR:
|
|
17419
|
+
pixelOffsetTL: te,
|
|
17420
|
+
pixelOffsetBR: ne,
|
|
17420
17421
|
minFontScaleX: C / s / O,
|
|
17421
17422
|
minFontScaleY: T / s / k,
|
|
17422
17423
|
isSDF: r
|
|
@@ -17677,7 +17678,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17677
17678
|
i && A !== "none" && (t.allowVerticalPlacement && r.vertical && (j = uf(i, r.vertical, A, m.get("icon-text-fit-padding"), h, _)), g && (i = uf(i, g, A, m.get("icon-text-fit-padding"), h, _)));
|
|
17678
17679
|
let M = d ? f.line.getGranularityForZoomLevel(d.z) : 1, N = (c, f) => {
|
|
17679
17680
|
f.x < 0 || f.x >= O || f.y < 0 || f.y >= O || function(t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T) {
|
|
17680
|
-
let E = t.addToLineVertexArray(n, r), D, O, k, A, j = 0, M = 0, N = 0, ee = 0,
|
|
17681
|
+
let E = t.addToLineVertexArray(n, r), D, O, k, A, j = 0, M = 0, N = 0, ee = 0, te = -1, ne = -1, P = {}, re = _s("");
|
|
17681
17682
|
if (t.allowVerticalPlacement && i.vertical) {
|
|
17682
17683
|
let e = c.layout.get("text-rotate").evaluate(x, {}, w) + 90;
|
|
17683
17684
|
k = new yh(l, n, u, d, f, i.vertical, p, m, h, e), s && (A = new yh(l, n, u, d, f, s, _, v, h, e));
|
|
@@ -17686,7 +17687,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17686
17687
|
let r = c.layout.get("icon-rotate").evaluate(x, {}), i = c.layout.get("icon-text-fit") !== "none", o = mh(a, r, C, i), p = s ? mh(s, r, C, i) : void 0;
|
|
17687
17688
|
O = new yh(l, n, u, d, f, a, _, v, !1, r), j = 4 * o.length;
|
|
17688
17689
|
let m = t.iconSizeData, h = null;
|
|
17689
|
-
m.kind === "source" ? (h = [128 * c.layout.get("icon-size").evaluate(x, {})], h[0] > df && le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)) : m.kind === "composite" && (h = [128 * S.compositeIconSizes[0].evaluate(x, {}, w), 128 * S.compositeIconSizes[1].evaluate(x, {}, w)], (h[0] > df || h[1] > df) && le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)), t.addSymbols(t.icon, o, h, b, y, x, e.ax.none, n, E.lineStartIndex, E.lineLength, -1, w),
|
|
17690
|
+
m.kind === "source" ? (h = [128 * c.layout.get("icon-size").evaluate(x, {})], h[0] > df && le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)) : m.kind === "composite" && (h = [128 * S.compositeIconSizes[0].evaluate(x, {}, w), 128 * S.compositeIconSizes[1].evaluate(x, {}, w)], (h[0] > df || h[1] > df) && le(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)), t.addSymbols(t.icon, o, h, b, y, x, e.ax.none, n, E.lineStartIndex, E.lineLength, -1, w), te = t.icon.placedSymbolArray.length - 1, p && (M = 4 * p.length, t.addSymbols(t.icon, p, h, b, y, x, e.ax.vertical, n, E.lineStartIndex, E.lineLength, -1, w), ne = t.icon.placedSymbolArray.length - 1);
|
|
17690
17691
|
}
|
|
17691
17692
|
let ie = Object.keys(i.horizontal);
|
|
17692
17693
|
for (let r of ie) {
|
|
@@ -17697,13 +17698,13 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17697
17698
|
D = new yh(l, n, u, d, f, a, p, m, h, e);
|
|
17698
17699
|
}
|
|
17699
17700
|
let s = a.positionedLines.length === 1;
|
|
17700
|
-
if (N += Ah(t, n, a, o, c, h, x, g, E, i.vertical ? e.ax.horizontal : e.ax.horizontalOnly, s ? ie : [r],
|
|
17701
|
+
if (N += Ah(t, n, a, o, c, h, x, g, E, i.vertical ? e.ax.horizontal : e.ax.horizontalOnly, s ? ie : [r], P, te, S, w), s) break;
|
|
17701
17702
|
}
|
|
17702
|
-
i.vertical && (ee += Ah(t, n, i.vertical, o, c, h, x, g, E, e.ax.vertical, ["vertical"],
|
|
17703
|
-
let ae = D ? D.boxStartIndex : t.collisionBoxArray.length, oe = D ? D.boxEndIndex : t.collisionBoxArray.length, se = k ? k.boxStartIndex : t.collisionBoxArray.length, ce = k ? k.boxEndIndex : t.collisionBoxArray.length, ue = O ? O.boxStartIndex : t.collisionBoxArray.length, de = O ? O.boxEndIndex : t.collisionBoxArray.length, fe = A ? A.boxStartIndex : t.collisionBoxArray.length, pe = A ? A.boxEndIndex : t.collisionBoxArray.length, me = -1,
|
|
17704
|
-
me =
|
|
17705
|
-
let
|
|
17706
|
-
|
|
17703
|
+
i.vertical && (ee += Ah(t, n, i.vertical, o, c, h, x, g, E, e.ax.vertical, ["vertical"], P, ne, S, w));
|
|
17704
|
+
let ae = D ? D.boxStartIndex : t.collisionBoxArray.length, oe = D ? D.boxEndIndex : t.collisionBoxArray.length, se = k ? k.boxStartIndex : t.collisionBoxArray.length, ce = k ? k.boxEndIndex : t.collisionBoxArray.length, ue = O ? O.boxStartIndex : t.collisionBoxArray.length, de = O ? O.boxEndIndex : t.collisionBoxArray.length, fe = A ? A.boxStartIndex : t.collisionBoxArray.length, pe = A ? A.boxEndIndex : t.collisionBoxArray.length, me = -1, he = (e, t) => e != null && e.circleDiameter ? Math.max(e.circleDiameter, t) : t;
|
|
17705
|
+
me = he(D, me), me = he(k, me), me = he(O, me), me = he(A, me);
|
|
17706
|
+
let F = +(me > -1);
|
|
17707
|
+
F && (me *= T / xd), t.glyphOffsetArray.length >= bf.MAX_GLYPHS && le("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"), x.sortKey !== void 0 && t.addToSortKeyRanges(t.symbolInstances.length, x.sortKey);
|
|
17707
17708
|
let ge = Dh(c, x, w), [_e, ve] = function(t, n) {
|
|
17708
17709
|
let r = t.length, i = n == null ? void 0 : n.values;
|
|
17709
17710
|
if ((i == null ? void 0 : i.length) > 0) for (let n = 0; n < i.length; n += 2) {
|
|
@@ -17712,7 +17713,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17712
17713
|
}
|
|
17713
17714
|
return [r, t.length];
|
|
17714
17715
|
}(t.textAnchorOffsets, ge);
|
|
17715
|
-
t.symbolInstances.emplaceBack(n.x, n.y,
|
|
17716
|
+
t.symbolInstances.emplaceBack(n.x, n.y, P.right >= 0 ? P.right : -1, P.center >= 0 ? P.center : -1, P.left >= 0 ? P.left : -1, P.vertical || -1, te, ne, re, ae, oe, se, ce, ue, de, fe, pe, u, N, ee, j, M, F, 0, p, me, _e, ve);
|
|
17716
17717
|
}(t, f, c, r, i, a, j, t.layers[0], t.collisionBoxArray, n.index, n.sourceLayerIndex, t.index, v, [
|
|
17717
17718
|
S,
|
|
17718
17719
|
S,
|
|
@@ -17925,10 +17926,10 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17925
17926
|
let n = {};
|
|
17926
17927
|
for (let r of t) r in e && (n[r] = e[r]);
|
|
17927
17928
|
return n;
|
|
17928
|
-
}, e.W = Nf, e.X =
|
|
17929
|
+
}, e.W = Nf, e.X = P, e.Y = Lf, e.Z = If, e._ = t, e.a = Ce, e.a$ = function(e) {
|
|
17929
17930
|
var t = new f(3);
|
|
17930
17931
|
return t[0] = e[0], t[1] = e[1], t[2] = e[2], t;
|
|
17931
|
-
}, e.a0 = l, e.a1 = u, e.a2 =
|
|
17932
|
+
}, e.a0 = l, e.a1 = u, e.a2 = he, e.a3 = Kf, e.a4 = zf, e.a5 = Bf, e.a6 = O, e.a7 = Hf, e.a8 = Jf, e.a9 = 25, e.aA = function(e) {
|
|
17932
17933
|
var t = e[0], n = e[1];
|
|
17933
17934
|
return Math.sqrt(t * t + n * n);
|
|
17934
17935
|
}, e.aB = function(e) {
|
|
@@ -17980,7 +17981,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
17980
17981
|
isNaN(e) ? delete t["max-age"] : t["max-age"] = e;
|
|
17981
17982
|
}
|
|
17982
17983
|
return t;
|
|
17983
|
-
}, e.al =
|
|
17984
|
+
}, e.al = ne, e.am = 85.051129, e.an = ve, e.ao = function(e) {
|
|
17984
17985
|
return 2 ** e;
|
|
17985
17986
|
}, e.ap = m, e.aq = Rf, e.ar = function(e) {
|
|
17986
17987
|
return Math.log(e) / Math.LN2;
|
|
@@ -18065,7 +18066,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
18065
18066
|
let n = 0, r = 0;
|
|
18066
18067
|
if (e.kind === "constant") r = e.layoutSize;
|
|
18067
18068
|
else if (e.kind !== "source") {
|
|
18068
|
-
let { interpolationType: i, minZoom: a, maxZoom: o } = e, s = i ?
|
|
18069
|
+
let { interpolationType: i, minZoom: a, maxZoom: o } = e, s = i ? ne(yn.interpolationFactor(i, t, a, o), 0, 1) : 0;
|
|
18069
18070
|
e.kind === "camera" ? r = xn.number(e.minSize, e.maxSize, s) : n = s;
|
|
18070
18071
|
}
|
|
18071
18072
|
return {
|
|
@@ -18374,7 +18375,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
18374
18375
|
let t = /* @__PURE__ */ new Float64Array(9);
|
|
18375
18376
|
var n, r, i, a, o, s, c, l, u, d = (i = (r = e)[0]) * (c = i + i), f = (a = r[1]) * c, p, m = (o = r[2]) * c, h = o * (l = a + a), g, _ = (s = r[3]) * c, v = s * l, y = s * (u = o + o);
|
|
18376
18377
|
(n = t)[0] = 1 - (p = a * l) - (g = o * u), n[3] = f - y, n[6] = m + v, n[1] = f + y, n[4] = 1 - d - g, n[7] = h - _, n[2] = m - v, n[5] = h + _, n[8] = 1 - d - p;
|
|
18377
|
-
let b = ye(-Math.asin(
|
|
18378
|
+
let b = ye(-Math.asin(ne(t[2], -1, 1))), x, S;
|
|
18378
18379
|
return Math.hypot(t[5], t[8]) < .001 ? (x = 0, S = -ye(Math.atan2(t[3], t[4]))) : (x = ye(t[5] === 0 && t[8] === 0 ? 0 : Math.atan2(t[5], t[8])), S = ye(t[1] === 0 && t[0] === 0 ? 0 : Math.atan2(t[1], t[0]))), {
|
|
18379
18380
|
roll: x,
|
|
18380
18381
|
pitch: b + 90,
|
|
@@ -18383,7 +18384,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
18383
18384
|
}, e.bn = function(e, t) {
|
|
18384
18385
|
return e.roll == t.roll && e.pitch == t.pitch && e.bearing == t.bearing;
|
|
18385
18386
|
}, e.bo = W, e.bp = Cs, e.bq = hl, e.br = gl, e.bs = pl, e.bt = M, e.bu = N, e.bv = Jt, e.bw = function(e, t, n, r, i) {
|
|
18386
|
-
return M(r, i,
|
|
18387
|
+
return M(r, i, ne((e - t) / (n - t), 0, 1));
|
|
18387
18388
|
}, e.bx = function(e, t, n, r) {
|
|
18388
18389
|
return e[0] = t[0] + n[0] * r, e[1] = t[1] + n[1] * r, e[2] = t[2] + n[2] * r, e;
|
|
18389
18390
|
}, e.by = j, e.bz = function() {
|
|
@@ -18563,11 +18564,11 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
18563
18564
|
}, e.cV = Ll, e.cW = Pd, e.cX = Vm, e.cY = function(e, n, r, i, a) {
|
|
18564
18565
|
return t(this, void 0, void 0, (function* () {
|
|
18565
18566
|
if (u()) try {
|
|
18566
|
-
return yield
|
|
18567
|
+
return yield he(e, n, r, i, a);
|
|
18567
18568
|
} catch {}
|
|
18568
18569
|
return function(e, t, n, r, i) {
|
|
18569
18570
|
let a = e.width, o = e.height;
|
|
18570
|
-
|
|
18571
|
+
F && ge || (F = new OffscreenCanvas(a, o), ge = F.getContext("2d", { willReadFrequently: !0 })), F.width = a, F.height = o, ge.drawImage(e, 0, 0, a, o);
|
|
18571
18572
|
let s = ge.getImageData(t, n, r, i);
|
|
18572
18573
|
return ge.clearRect(0, 0, a, o), s.data;
|
|
18573
18574
|
}(e, n, r, i, a);
|
|
@@ -18599,7 +18600,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
18599
18600
|
let r = D(t.x - n.x, t.y - n.y), i = D(e.x - n.x, e.y - n.y);
|
|
18600
18601
|
var a, o;
|
|
18601
18602
|
return ye(Math.atan2(r[0] * i[1] - r[1] * i[0], (a = r)[0] * (o = i)[0] + a[1] * o[1]));
|
|
18602
|
-
}, e.cy =
|
|
18603
|
+
}, e.cy = te, e.cz = function(e, t) {
|
|
18603
18604
|
var n;
|
|
18604
18605
|
if (!xe[t]) return !1;
|
|
18605
18606
|
let r = e == null ? void 0 : e.target, i = ((n = r == null ? void 0 : r.ownerDocument) == null ? void 0 : n.defaultView) || window;
|
|
@@ -20261,11 +20262,11 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
20261
20262
|
}
|
|
20262
20263
|
}
|
|
20263
20264
|
let M = Math.floor(s.hardwareConcurrency / 2), N, ee;
|
|
20264
|
-
function
|
|
20265
|
+
function te() {
|
|
20265
20266
|
return N || (N = new j()), N;
|
|
20266
20267
|
}
|
|
20267
20268
|
j.workerCount = t.L(globalThis) ? Math.max(Math.min(M, 3), 1) : 1;
|
|
20268
|
-
class
|
|
20269
|
+
class ne {
|
|
20269
20270
|
constructor(e, n) {
|
|
20270
20271
|
this.workerPool = e, this.actors = [], this.currentActor = 0, this.id = n;
|
|
20271
20272
|
let r = this.workerPool.acquire(n);
|
|
@@ -20297,8 +20298,8 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
20297
20298
|
for (let t of this.actors) t.unregisterMessageHandler(e);
|
|
20298
20299
|
}
|
|
20299
20300
|
}
|
|
20300
|
-
function
|
|
20301
|
-
return ee || (ee = new te(
|
|
20301
|
+
function P() {
|
|
20302
|
+
return ee || (ee = new ne(te(), t.M), ee.registerMessageHandler("GR", ((e, n, r) => t.m(n, r)))), ee;
|
|
20302
20303
|
}
|
|
20303
20304
|
function re(e, n) {
|
|
20304
20305
|
let r = t.O();
|
|
@@ -20792,17 +20793,17 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
20792
20793
|
}
|
|
20793
20794
|
return (e.removeAllProperties || t.removeAllProperties) && (n.removeAllProperties = !0), (e.removeProperties || t.removeProperties) && (n.removeProperties = [...e.removeProperties || [], ...t.removeProperties || []]), (e.addOrUpdateProperties || t.addOrUpdateProperties) && (n.addOrUpdateProperties = [...e.addOrUpdateProperties || [], ...t.addOrUpdateProperties || []]), (e.newGeometry || t.newGeometry) && (n.newGeometry = t.newGeometry || e.newGeometry), n;
|
|
20794
20795
|
}
|
|
20795
|
-
function
|
|
20796
|
+
function he(e) {
|
|
20796
20797
|
var t, n;
|
|
20797
20798
|
if (!e) return {};
|
|
20798
20799
|
let r = {};
|
|
20799
20800
|
return r.removeAll = e.removeAll, r.remove = new Set(e.remove || []), r.add = new Map((t = e.add) == null ? void 0 : t.map(((e) => [e.id, e]))), r.update = new Map((n = e.update) == null ? void 0 : n.map(((e) => [e.id, e]))), r;
|
|
20800
20801
|
}
|
|
20801
|
-
function
|
|
20802
|
-
return e && e.length !== 0 ? typeof e[0] == "number" ? [e] : e.flatMap(((e) =>
|
|
20802
|
+
function F(e) {
|
|
20803
|
+
return e && e.length !== 0 ? typeof e[0] == "number" ? [e] : e.flatMap(((e) => F(e))) : [];
|
|
20803
20804
|
}
|
|
20804
20805
|
function ge(e) {
|
|
20805
|
-
return e.type === "GeometryCollection" ? e.geometries.flatMap(((e) => ge(e))) :
|
|
20806
|
+
return e.type === "GeometryCollection" ? e.geometries.flatMap(((e) => ge(e))) : F(e.coordinates);
|
|
20806
20807
|
}
|
|
20807
20808
|
function _e(e) {
|
|
20808
20809
|
let t = new ce(), n;
|
|
@@ -20875,7 +20876,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
20875
20876
|
this._pendingWorkerUpdate.diff = function(e, t) {
|
|
20876
20877
|
if (!e) return t || {};
|
|
20877
20878
|
if (!t) return e || {};
|
|
20878
|
-
let n =
|
|
20879
|
+
let n = he(e), r = he(t);
|
|
20879
20880
|
(function(e, t) {
|
|
20880
20881
|
t.removeAll && (e.add.clear(), e.update.clear(), e.remove.clear(), t.remove.clear());
|
|
20881
20882
|
for (let n of t.remove) e.add.delete(n), e.update.delete(n);
|
|
@@ -21351,7 +21352,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
21351
21352
|
}, we = "RTLPluginLoaded";
|
|
21352
21353
|
class Te extends t.E {
|
|
21353
21354
|
constructor() {
|
|
21354
|
-
super(...arguments), this.status = "unavailable", this.url = null, this.dispatcher =
|
|
21355
|
+
super(...arguments), this.status = "unavailable", this.url = null, this.dispatcher = P();
|
|
21355
21356
|
}
|
|
21356
21357
|
_syncState(e) {
|
|
21357
21358
|
return this.status = e, this.dispatcher.broadcast("SRPS", {
|
|
@@ -23035,12 +23036,12 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
23035
23036
|
var w, A;
|
|
23036
23037
|
if (n[e.crossTileID]) return;
|
|
23037
23038
|
if (d) return void (this.placements[e.crossTileID] = new St(!1, !1, !1));
|
|
23038
|
-
let j = !1, M = !1, N = !0, ee = null,
|
|
23039
|
+
let j = !1, M = !1, N = !0, ee = null, te = {
|
|
23039
23040
|
box: null,
|
|
23040
23041
|
placeable: !1,
|
|
23041
23042
|
offscreen: null,
|
|
23042
23043
|
occluded: !1
|
|
23043
|
-
},
|
|
23044
|
+
}, ne = { placeable: !1 }, P = null, re = null, ie = null, ae = 0, oe = 0, se = 0;
|
|
23044
23045
|
f.textFeatureIndex ? ae = f.textFeatureIndex : e.useRuntimeCollisionCircles && (ae = e.featureIndex), f.verticalTextFeatureIndex && (oe = f.verticalTextFeatureIndex);
|
|
23045
23046
|
let ce = f.textBox;
|
|
23046
23047
|
if (ce) {
|
|
@@ -23053,8 +23054,8 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
23053
23054
|
return r;
|
|
23054
23055
|
}, a = (n, r) => {
|
|
23055
23056
|
if (i.allowVerticalPlacement && e.numVerticalGlyphVertices > 0 && f.verticalTextBox) {
|
|
23056
|
-
for (let e of i.writingModes) if (e === t.ax.vertical ? (
|
|
23057
|
-
} else
|
|
23057
|
+
for (let e of i.writingModes) if (e === t.ax.vertical ? (te = r(), ne = te) : te = n(), te != null && te.placeable) break;
|
|
23058
|
+
} else te = n();
|
|
23058
23059
|
}, l = e.textAnchorOffsetStartIndex, d = e.textAnchorOffsetEndIndex;
|
|
23059
23060
|
if (d === l) {
|
|
23060
23061
|
let r = (t, n) => {
|
|
@@ -23067,7 +23068,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
23067
23068
|
box: null,
|
|
23068
23069
|
offscreen: null
|
|
23069
23070
|
};
|
|
23070
|
-
})), n(
|
|
23071
|
+
})), n(te == null ? void 0 : te.placeable);
|
|
23071
23072
|
} else {
|
|
23072
23073
|
let p = t.aM[(A = (w = this.prevPlacement) == null ? void 0 : w.variableOffsets[e.crossTileID]) == null ? void 0 : A.anchor], h = (t, n, a) => {
|
|
23073
23074
|
let f = t.x2 - t.x1, h = t.y2 - t.y1, g = e.textBoxScale, v = C && y === "never" ? n : null, b = null, w = _ === "never" ? 1 : 2, T = "never";
|
|
@@ -23090,33 +23091,33 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
23090
23091
|
};
|
|
23091
23092
|
a((() => h(ce, f.iconBox, t.ax.horizontal)), (() => {
|
|
23092
23093
|
let n = f.verticalTextBox;
|
|
23093
|
-
return i.allowVerticalPlacement && !(
|
|
23094
|
+
return i.allowVerticalPlacement && !(te != null && te.placeable) && e.numVerticalGlyphVertices > 0 && n ? h(n, f.verticalIconBox, t.ax.vertical) : {
|
|
23094
23095
|
box: null,
|
|
23095
23096
|
occluded: !0,
|
|
23096
23097
|
offscreen: null
|
|
23097
23098
|
};
|
|
23098
|
-
})),
|
|
23099
|
-
let g = n(
|
|
23099
|
+
})), te && (j = te.placeable, N = te.offscreen);
|
|
23100
|
+
let g = n(te == null ? void 0 : te.placeable);
|
|
23100
23101
|
if (!j && this.prevPlacement) {
|
|
23101
23102
|
let t = this.prevPlacement.variableOffsets[e.crossTileID];
|
|
23102
23103
|
t && (this.variableOffsets[e.crossTileID] = t, this.markUsedJustification(i, t.anchor, e, g));
|
|
23103
23104
|
}
|
|
23104
23105
|
}
|
|
23105
23106
|
}
|
|
23106
|
-
if (
|
|
23107
|
+
if (P = te, j = P == null ? void 0 : P.placeable, N = P == null ? void 0 : P.offscreen, e.useRuntimeCollisionCircles && e.centerJustifiedTextSymbolIndex >= 0) {
|
|
23107
23108
|
let n = i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex), s = t.ay(i.textSizeData, p, n), u = a.get("text-padding");
|
|
23108
23109
|
re = this.collisionIndex.placeCollisionCircles(_, n, i.lineVertexArray, i.glyphOffsetArray, s, c, l, r, S, m.predicate, e.collisionCircleDiameter, u, o, O), re.circles.length && re.collisionDetected && !r && t.w("Collisions detected, but collision boxes are not shown"), j = v || re.circles.length > 0 && !re.collisionDetected, N && (N = re.offscreen);
|
|
23109
23110
|
}
|
|
23110
23111
|
if (f.iconFeatureIndex && (se = f.iconFeatureIndex), f.iconBox) {
|
|
23111
23112
|
let e = (e) => this.collisionIndex.placeCollisionBox(e, y, u, D, c, S, x, s, m.predicate, O, C && ee ? ee : void 0, k);
|
|
23112
|
-
|
|
23113
|
+
ne && ne.placeable && f.verticalIconBox ? (ie = e(f.verticalIconBox), M = ie.placeable) : (ie = e(f.iconBox), M = ie.placeable), N && (N = ie.offscreen);
|
|
23113
23114
|
}
|
|
23114
23115
|
let le = h || e.numHorizontalGlyphVertices === 0 && e.numVerticalGlyphVertices === 0, ue = g || e.numIconVertices === 0;
|
|
23115
23116
|
le || ue ? ue ? le || M && (M = j) : j = M && j : M = j = M && j;
|
|
23116
23117
|
let de = M && ie.placeable;
|
|
23117
|
-
if (j &&
|
|
23118
|
+
if (j && P.placeable && this.collisionIndex.insertCollisionBox(P.box, _, a.get("text-ignore-placement"), i.bucketInstanceId, ne && ne.placeable && oe ? oe : ae, m.ID), de && this.collisionIndex.insertCollisionBox(ie.box, y, a.get("icon-ignore-placement"), i.bucketInstanceId, se, m.ID), re && j && this.collisionIndex.insertCollisionCircles(re.circles, _, a.get("text-ignore-placement"), i.bucketInstanceId, ae, m.ID), r && this.storeCollisionData(i.bucketInstanceId, b, f, P, ie, re), e.crossTileID === 0) throw Error("symbolInstance.crossTileID can't be 0");
|
|
23118
23119
|
if (i.bucketInstanceId === 0) throw Error("bucket.bucketInstanceId can't be 0");
|
|
23119
|
-
this.placements[e.crossTileID] = new St((j || T) && !(
|
|
23120
|
+
this.placements[e.crossTileID] = new St((j || T) && !(P != null && P.occluded), (M || E) && !(ie != null && ie.occluded), N || i.justReloaded), n[e.crossTileID] = !0;
|
|
23120
23121
|
};
|
|
23121
23122
|
if (w) {
|
|
23122
23123
|
if (e.symbolInstanceStart !== 0) throw Error("bucket.bucketInstanceId should be 0");
|
|
@@ -26524,7 +26525,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
26524
26525
|
let t = this.tileManagers[e].getSource().type;
|
|
26525
26526
|
t !== "vector" && t !== "geojson" || this.tileManagers[e].reload();
|
|
26526
26527
|
}
|
|
26527
|
-
}, this.map = e, this.dispatcher = new te(
|
|
26528
|
+
}, this.map = e, this.dispatcher = new ne(te(), e._getMapId()), this.dispatcher.registerMessageHandler("GG", ((e, t) => this.getGlyphs(e, t))), this.dispatcher.registerMessageHandler("GI", ((e, t) => this.getImages(e, t))), this.dispatcher.registerMessageHandler("GDA", ((e, t) => this.getDashes(e, t))), this.imageManager = new _(), this.imageManager.setEventedParent(this);
|
|
26528
26529
|
let a = ((r = e._container) == null ? void 0 : r.lang) || typeof document < "u" && ((i = document.documentElement) == null ? void 0 : i.lang) || void 0;
|
|
26529
26530
|
this.glyphManager = new C(e._requestManager, n.localIdeographFontFamily, a), this.lineAtlas = new k(256, 512), this.crossTileSymbolIndex = new zt(), this._setInitialValues(), this._resetUpdates(), this.dispatcher.broadcast("SR", t.bO()), De().on(we, this._rtlPluginLoaded), this.on("data", ((e) => {
|
|
26530
26531
|
if (e.dataType !== "source" || e.sourceDataType !== "metadata") return;
|
|
@@ -28687,8 +28688,8 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
28687
28688
|
if (!l) continue;
|
|
28688
28689
|
let d = a ? l.text : l.icon;
|
|
28689
28690
|
if (!(d != null && d.segments.get().length) || !d.hasVisibleVertices) continue;
|
|
28690
|
-
let f = d.programConfigurations.get(r.id), h = a || l.sdfIcons, g = a ? l.textSizeData : l.iconSizeData, T = b || v.pitch !== 0, k = e.useProgram(_i(h, a, l), f), A = t.aw(g, v.zoom), j = (m = e.style.map.terrain) == null ? void 0 : m.getTerrainData(c), M, N, ee,
|
|
28691
|
-
if (a) N = i.glyphAtlasTexture, ee = _.LINEAR, M = i.glyphAtlasTexture.size, l.iconsInText && (
|
|
28691
|
+
let f = d.programConfigurations.get(r.id), h = a || l.sdfIcons, g = a ? l.textSizeData : l.iconSizeData, T = b || v.pitch !== 0, k = e.useProgram(_i(h, a, l), f), A = t.aw(g, v.zoom), j = (m = e.style.map.terrain) == null ? void 0 : m.getTerrainData(c), M, N, ee, te, ne = [0, 0], P = null;
|
|
28692
|
+
if (a) N = i.glyphAtlasTexture, ee = _.LINEAR, M = i.glyphAtlasTexture.size, l.iconsInText && (ne = i.imageAtlasTexture.size, P = i.imageAtlasTexture, te = T || e.options.rotating || e.options.zooming || g.kind === "composite" || g.kind === "camera" ? _.LINEAR : _.NEAREST);
|
|
28692
28693
|
else {
|
|
28693
28694
|
let t = r.layout.get("icon-size").constantOr(0) !== 1 || l.iconsNeedLinear;
|
|
28694
28695
|
N = i.imageAtlasTexture, ee = h || e.options.rotating || e.options.zooming || t || T ? _.LINEAR : _.NEAREST, M = i.imageAtlasTexture.size;
|
|
@@ -28705,16 +28706,16 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
28705
28706
|
it(l, e, a, ie, n, b, u, r.layout.get("text-rotation-alignment") === "map", c.toUnwrapped(), v.width, v.height, oe, i);
|
|
28706
28707
|
}
|
|
28707
28708
|
let ue = a && E || le, de = x || ue ? pi : b ? ie : e.transform.clipSpaceToPixelsMatrix, fe = h && r.paint.get(a ? "text-halo-width" : "icon-halo-width").constantOr(1) !== 0, pe;
|
|
28708
|
-
pe = h ? l.iconsInText ? yr(g.kind, A, S, b, x, ue, e, de, ae, oe, M,
|
|
28709
|
+
pe = h ? l.iconsInText ? yr(g.kind, A, S, b, x, ue, e, de, ae, oe, M, ne, O) : vr(g.kind, A, S, b, x, ue, e, de, ae, oe, a, M, fe, O) : _r(g.kind, A, S, b, x, ue, e, de, ae, oe, a, M, O);
|
|
28709
28710
|
let me = {
|
|
28710
28711
|
program: k,
|
|
28711
28712
|
buffers: d,
|
|
28712
28713
|
uniformValues: pe,
|
|
28713
28714
|
projectionData: se,
|
|
28714
28715
|
atlasTexture: N,
|
|
28715
|
-
atlasTextureIcon:
|
|
28716
|
+
atlasTextureIcon: P,
|
|
28716
28717
|
atlasInterpolation: ee,
|
|
28717
|
-
atlasInterpolationIcon:
|
|
28718
|
+
atlasInterpolationIcon: te,
|
|
28718
28719
|
isSDF: h,
|
|
28719
28720
|
hasHalo: fe
|
|
28720
28721
|
};
|
|
@@ -33719,7 +33720,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33719
33720
|
})), e.clearPrewarmedResources = function() {
|
|
33720
33721
|
let e = N;
|
|
33721
33722
|
e && (e.isPreloaded() && e.numActive() === 1 ? (e.release(A), N = null) : console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"));
|
|
33722
|
-
}, e.createTileMesh = fn, e.getGlobalDispatcher =
|
|
33723
|
+
}, e.createTileMesh = fn, e.getGlobalDispatcher = P, e.getMaxParallelImageRequests = function() {
|
|
33723
33724
|
return t.c.MAX_PARALLEL_IMAGE_REQUESTS;
|
|
33724
33725
|
}, e.getRTLTextPluginStatus = function() {
|
|
33725
33726
|
return De().getRTLTextPluginStatus();
|
|
@@ -33730,11 +33731,11 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33730
33731
|
}, e.getWorkerUrl = function() {
|
|
33731
33732
|
return t.c.WORKER_URL;
|
|
33732
33733
|
}, e.importScriptInWorkers = function(e) {
|
|
33733
|
-
return
|
|
33734
|
+
return P().broadcast("IS", e);
|
|
33734
33735
|
}, e.isTimeFrozen = function() {
|
|
33735
33736
|
return c.isFrozen();
|
|
33736
33737
|
}, e.now = l, e.prewarm = function() {
|
|
33737
|
-
|
|
33738
|
+
te().acquire(A);
|
|
33738
33739
|
}, e.restoreNow = function() {
|
|
33739
33740
|
c.restoreNow();
|
|
33740
33741
|
}, e.setMaxParallelImageRequests = function(e) {
|
|
@@ -33750,7 +33751,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33750
33751
|
};
|
|
33751
33752
|
})), e;
|
|
33752
33753
|
}));
|
|
33753
|
-
})))(),
|
|
33754
|
+
})))(), ve = Uint8Array, ye = Uint16Array, be = Int32Array, xe = new ve([
|
|
33754
33755
|
0,
|
|
33755
33756
|
0,
|
|
33756
33757
|
0,
|
|
@@ -33783,7 +33784,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33783
33784
|
0,
|
|
33784
33785
|
0,
|
|
33785
33786
|
0
|
|
33786
|
-
]),
|
|
33787
|
+
]), Se = new ve([
|
|
33787
33788
|
0,
|
|
33788
33789
|
0,
|
|
33789
33790
|
0,
|
|
@@ -33816,7 +33817,7 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33816
33817
|
13,
|
|
33817
33818
|
0,
|
|
33818
33819
|
0
|
|
33819
|
-
]),
|
|
33820
|
+
]), Ce = new ve([
|
|
33820
33821
|
16,
|
|
33821
33822
|
17,
|
|
33822
33823
|
18,
|
|
@@ -33836,51 +33837,51 @@ var F = /* @__PURE__ */ e(o(), 1), he = /* @__PURE__ */ e(u(), 1), ge = (/* @__P
|
|
|
33836
33837
|
14,
|
|
33837
33838
|
1,
|
|
33838
33839
|
15
|
|
33839
|
-
]),
|
|
33840
|
-
for (var n = new
|
|
33841
|
-
for (var i = new
|
|
33840
|
+
]), we = function(e, t) {
|
|
33841
|
+
for (var n = new ye(31), r = 0; r < 31; ++r) n[r] = t += 1 << e[r - 1];
|
|
33842
|
+
for (var i = new be(n[30]), r = 1; r < 30; ++r) for (var a = n[r]; a < n[r + 1]; ++a) i[a] = a - n[r] << 5 | r;
|
|
33842
33843
|
return {
|
|
33843
33844
|
b: n,
|
|
33844
33845
|
r: i
|
|
33845
33846
|
};
|
|
33846
|
-
},
|
|
33847
|
-
|
|
33848
|
-
var
|
|
33849
|
-
|
|
33850
|
-
for (var
|
|
33851
|
-
var
|
|
33852
|
-
|
|
33847
|
+
}, Te = we(xe, 2), Ee = Te.b, De = Te.r;
|
|
33848
|
+
Ee[28] = 258, De[258] = 28;
|
|
33849
|
+
var Oe = we(Se, 0), ke = Oe.b;
|
|
33850
|
+
Oe.r;
|
|
33851
|
+
for (var Ae = new ye(32768), je = 0; je < 32768; ++je) {
|
|
33852
|
+
var Me = (je & 43690) >> 1 | (je & 21845) << 1;
|
|
33853
|
+
Me = (Me & 52428) >> 2 | (Me & 13107) << 2, Me = (Me & 61680) >> 4 | (Me & 3855) << 4, Ae[je] = ((Me & 65280) >> 8 | (Me & 255) << 8) >> 1;
|
|
33853
33854
|
}
|
|
33854
|
-
for (var
|
|
33855
|
-
for (var r = e.length, i = 0, a = new
|
|
33856
|
-
var o = new
|
|
33855
|
+
for (var Ne = (function(e, t, n) {
|
|
33856
|
+
for (var r = e.length, i = 0, a = new ye(t); i < r; ++i) e[i] && ++a[e[i] - 1];
|
|
33857
|
+
var o = new ye(t);
|
|
33857
33858
|
for (i = 1; i < t; ++i) o[i] = o[i - 1] + a[i - 1] << 1;
|
|
33858
33859
|
var s;
|
|
33859
33860
|
if (n) {
|
|
33860
|
-
s = new
|
|
33861
|
+
s = new ye(1 << t);
|
|
33861
33862
|
var c = 15 - t;
|
|
33862
|
-
for (i = 0; i < r; ++i) if (e[i]) for (var l = i << 4 | e[i], u = t - e[i], d = o[e[i] - 1]++ << u, f = d | (1 << u) - 1; d <= f; ++d) s[
|
|
33863
|
-
} else for (s = new
|
|
33863
|
+
for (i = 0; i < r; ++i) if (e[i]) for (var l = i << 4 | e[i], u = t - e[i], d = o[e[i] - 1]++ << u, f = d | (1 << u) - 1; d <= f; ++d) s[Ae[d] >> c] = l;
|
|
33864
|
+
} else for (s = new ye(r), i = 0; i < r; ++i) e[i] && (s[i] = Ae[o[e[i] - 1]++] >> 15 - e[i]);
|
|
33864
33865
|
return s;
|
|
33865
|
-
}),
|
|
33866
|
-
for (var
|
|
33867
|
-
for (var
|
|
33868
|
-
for (var
|
|
33869
|
-
for (var
|
|
33870
|
-
var
|
|
33866
|
+
}), Pe = new ve(288), je = 0; je < 144; ++je) Pe[je] = 8;
|
|
33867
|
+
for (var je = 144; je < 256; ++je) Pe[je] = 9;
|
|
33868
|
+
for (var je = 256; je < 280; ++je) Pe[je] = 7;
|
|
33869
|
+
for (var je = 280; je < 288; ++je) Pe[je] = 8;
|
|
33870
|
+
for (var Fe = new ve(32), je = 0; je < 32; ++je) Fe[je] = 5;
|
|
33871
|
+
var Ie = /*#__PURE__*/ Ne(Pe, 9, 1), Le = /*#__PURE__*/ Ne(Fe, 5, 1), I = function(e) {
|
|
33871
33872
|
for (var t = e[0], n = 1; n < e.length; ++n) e[n] > t && (t = e[n]);
|
|
33872
33873
|
return t;
|
|
33873
|
-
},
|
|
33874
|
+
}, Re = function(e, t, n) {
|
|
33874
33875
|
var r = t / 8 | 0;
|
|
33875
33876
|
return (e[r] | e[r + 1] << 8) >> (t & 7) & n;
|
|
33876
|
-
},
|
|
33877
|
+
}, ze = function(e, t) {
|
|
33877
33878
|
var n = t / 8 | 0;
|
|
33878
33879
|
return (e[n] | e[n + 1] << 8 | e[n + 2] << 16) >> (t & 7);
|
|
33879
|
-
},
|
|
33880
|
+
}, R = function(e) {
|
|
33880
33881
|
return (e + 7) / 8 | 0;
|
|
33881
|
-
},
|
|
33882
|
-
return (t == null || t < 0) && (t = 0), (n == null || n > e.length) && (n = e.length), new
|
|
33883
|
-
},
|
|
33882
|
+
}, Be = function(e, t, n) {
|
|
33883
|
+
return (t == null || t < 0) && (t = 0), (n == null || n > e.length) && (n = e.length), new ve(e.subarray(t, n));
|
|
33884
|
+
}, Ve = [
|
|
33884
33885
|
"unexpected EOF",
|
|
33885
33886
|
"invalid block type",
|
|
33886
33887
|
"invalid length/literal",
|
|
@@ -33895,133 +33896,133 @@ var Fe = /*#__PURE__*/ Me(Ne, 9, 1), Ie = /*#__PURE__*/ Me(Pe, 5, 1), Le = funct
|
|
|
33895
33896
|
"filename too long",
|
|
33896
33897
|
"stream finishing",
|
|
33897
33898
|
"invalid zip data"
|
|
33898
|
-
],
|
|
33899
|
-
var r = Error(t ||
|
|
33900
|
-
if (r.code = e, Error.captureStackTrace && Error.captureStackTrace(r,
|
|
33899
|
+
], He = function(e, t, n) {
|
|
33900
|
+
var r = Error(t || Ve[e]);
|
|
33901
|
+
if (r.code = e, Error.captureStackTrace && Error.captureStackTrace(r, He), !n) throw r;
|
|
33901
33902
|
return r;
|
|
33902
|
-
},
|
|
33903
|
+
}, Ue = function(e, t, n, r) {
|
|
33903
33904
|
var i = e.length, a = r ? r.length : 0;
|
|
33904
|
-
if (!i || t.f && !t.l) return n || new
|
|
33905
|
+
if (!i || t.f && !t.l) return n || new ve(0);
|
|
33905
33906
|
var o = !n, s = o || t.i != 2, c = t.i;
|
|
33906
|
-
o && (n = new
|
|
33907
|
+
o && (n = new ve(i * 3));
|
|
33907
33908
|
var l = function(e) {
|
|
33908
33909
|
var t = n.length;
|
|
33909
33910
|
if (e > t) {
|
|
33910
|
-
var r = new
|
|
33911
|
+
var r = new ve(Math.max(t * 2, e));
|
|
33911
33912
|
r.set(n), n = r;
|
|
33912
33913
|
}
|
|
33913
33914
|
}, u = t.f || 0, d = t.p || 0, f = t.b || 0, p = t.l, m = t.d, h = t.m, g = t.n, _ = i * 8;
|
|
33914
33915
|
do {
|
|
33915
33916
|
if (!p) {
|
|
33916
|
-
u =
|
|
33917
|
-
var v =
|
|
33917
|
+
u = Re(e, d, 1);
|
|
33918
|
+
var v = Re(e, d + 1, 3);
|
|
33918
33919
|
if (d += 3, !v) {
|
|
33919
|
-
var y =
|
|
33920
|
+
var y = R(d) + 4, b = e[y - 4] | e[y - 3] << 8, x = y + b;
|
|
33920
33921
|
if (x > i) {
|
|
33921
|
-
c &&
|
|
33922
|
+
c && He(0);
|
|
33922
33923
|
break;
|
|
33923
33924
|
}
|
|
33924
33925
|
s && l(f + b), n.set(e.subarray(y, x), f), t.b = f += b, t.p = d = x * 8, t.f = u;
|
|
33925
33926
|
continue;
|
|
33926
|
-
} else if (v == 1) p =
|
|
33927
|
+
} else if (v == 1) p = Ie, m = Le, h = 9, g = 5;
|
|
33927
33928
|
else if (v == 2) {
|
|
33928
|
-
var S =
|
|
33929
|
+
var S = Re(e, d, 31) + 257, C = Re(e, d + 10, 15) + 4, w = S + Re(e, d + 5, 31) + 1;
|
|
33929
33930
|
d += 14;
|
|
33930
|
-
for (var T = new
|
|
33931
|
+
for (var T = new ve(w), E = new ve(19), D = 0; D < C; ++D) E[Ce[D]] = Re(e, d + D * 3, 7);
|
|
33931
33932
|
d += C * 3;
|
|
33932
|
-
for (var O =
|
|
33933
|
-
var j = A[
|
|
33933
|
+
for (var O = I(E), k = (1 << O) - 1, A = Ne(E, O, 1), D = 0; D < w;) {
|
|
33934
|
+
var j = A[Re(e, d, k)];
|
|
33934
33935
|
d += j & 15;
|
|
33935
33936
|
var y = j >> 4;
|
|
33936
33937
|
if (y < 16) T[D++] = y;
|
|
33937
33938
|
else {
|
|
33938
33939
|
var M = 0, N = 0;
|
|
33939
|
-
for (y == 16 ? (N = 3 +
|
|
33940
|
+
for (y == 16 ? (N = 3 + Re(e, d, 3), d += 2, M = T[D - 1]) : y == 17 ? (N = 3 + Re(e, d, 7), d += 3) : y == 18 && (N = 11 + Re(e, d, 127), d += 7); N--;) T[D++] = M;
|
|
33940
33941
|
}
|
|
33941
33942
|
}
|
|
33942
|
-
var ee = T.subarray(0, S),
|
|
33943
|
-
h =
|
|
33944
|
-
} else
|
|
33943
|
+
var ee = T.subarray(0, S), te = T.subarray(S);
|
|
33944
|
+
h = I(ee), g = I(te), p = Ne(ee, h, 1), m = Ne(te, g, 1);
|
|
33945
|
+
} else He(1);
|
|
33945
33946
|
if (d > _) {
|
|
33946
|
-
c &&
|
|
33947
|
+
c && He(0);
|
|
33947
33948
|
break;
|
|
33948
33949
|
}
|
|
33949
33950
|
}
|
|
33950
33951
|
s && l(f + 131072);
|
|
33951
|
-
for (var
|
|
33952
|
-
var M = p[
|
|
33952
|
+
for (var ne = (1 << h) - 1, P = (1 << g) - 1, re = d;; re = d) {
|
|
33953
|
+
var M = p[ze(e, d) & ne], ie = M >> 4;
|
|
33953
33954
|
if (d += M & 15, d > _) {
|
|
33954
|
-
c &&
|
|
33955
|
+
c && He(0);
|
|
33955
33956
|
break;
|
|
33956
33957
|
}
|
|
33957
|
-
if (M ||
|
|
33958
|
+
if (M || He(2), ie < 256) n[f++] = ie;
|
|
33958
33959
|
else if (ie == 256) {
|
|
33959
33960
|
re = d, p = null;
|
|
33960
33961
|
break;
|
|
33961
33962
|
} else {
|
|
33962
33963
|
var ae = ie - 254;
|
|
33963
33964
|
if (ie > 264) {
|
|
33964
|
-
var D = ie - 257, oe =
|
|
33965
|
-
ae =
|
|
33965
|
+
var D = ie - 257, oe = xe[D];
|
|
33966
|
+
ae = Re(e, d, (1 << oe) - 1) + Ee[D], d += oe;
|
|
33966
33967
|
}
|
|
33967
|
-
var se = m[
|
|
33968
|
-
se ||
|
|
33969
|
-
var
|
|
33968
|
+
var se = m[ze(e, d) & P], ce = se >> 4;
|
|
33969
|
+
se || He(3), d += se & 15;
|
|
33970
|
+
var te = ke[ce];
|
|
33970
33971
|
if (ce > 3) {
|
|
33971
|
-
var oe =
|
|
33972
|
-
|
|
33972
|
+
var oe = Se[ce];
|
|
33973
|
+
te += ze(e, d) & (1 << oe) - 1, d += oe;
|
|
33973
33974
|
}
|
|
33974
33975
|
if (d > _) {
|
|
33975
|
-
c &&
|
|
33976
|
+
c && He(0);
|
|
33976
33977
|
break;
|
|
33977
33978
|
}
|
|
33978
33979
|
s && l(f + 131072);
|
|
33979
33980
|
var le = f + ae;
|
|
33980
|
-
if (f <
|
|
33981
|
-
var ue = a -
|
|
33982
|
-
for (ue + f < 0 &&
|
|
33981
|
+
if (f < te) {
|
|
33982
|
+
var ue = a - te, de = Math.min(te, le);
|
|
33983
|
+
for (ue + f < 0 && He(3); f < de; ++f) n[f] = r[ue + f];
|
|
33983
33984
|
}
|
|
33984
|
-
for (; f < le; ++f) n[f] = n[f -
|
|
33985
|
+
for (; f < le; ++f) n[f] = n[f - te];
|
|
33985
33986
|
}
|
|
33986
33987
|
}
|
|
33987
33988
|
t.l = p, t.p = re, t.b = f, t.f = u, p && (u = 1, t.m = h, t.d = m, t.n = g);
|
|
33988
33989
|
} while (!u);
|
|
33989
|
-
return f != n.length && o ?
|
|
33990
|
-
},
|
|
33991
|
-
(e[0] != 31 || e[1] != 139 || e[2] != 8) &&
|
|
33990
|
+
return f != n.length && o ? Be(n, 0, f) : n.subarray(0, f);
|
|
33991
|
+
}, We = /*#__PURE__*/ new ve(0), Ge = function(e) {
|
|
33992
|
+
(e[0] != 31 || e[1] != 139 || e[2] != 8) && He(6, "invalid gzip data");
|
|
33992
33993
|
var t = e[3], n = 10;
|
|
33993
33994
|
t & 4 && (n += (e[10] | e[11] << 8) + 2);
|
|
33994
33995
|
for (var r = (t >> 3 & 1) + (t >> 4 & 1); r > 0; r -= !e[n++]);
|
|
33995
33996
|
return n + (t & 2);
|
|
33996
|
-
},
|
|
33997
|
+
}, Ke = function(e) {
|
|
33997
33998
|
var t = e.length;
|
|
33998
33999
|
return (e[t - 4] | e[t - 3] << 8 | e[t - 2] << 16 | e[t - 1] << 24) >>> 0;
|
|
33999
|
-
},
|
|
34000
|
-
return ((e[0] & 15) != 8 || e[0] >> 4 > 7 || (e[0] << 8 | e[1]) % 31) &&
|
|
34000
|
+
}, qe = function(e, t) {
|
|
34001
|
+
return ((e[0] & 15) != 8 || e[0] >> 4 > 7 || (e[0] << 8 | e[1]) % 31) && He(6, "invalid zlib data"), (e[1] >> 5 & 1) == +!t && He(6, "invalid zlib data: " + (e[1] & 32 ? "need" : "unexpected") + " dictionary"), (e[1] >> 3 & 4) + 2;
|
|
34001
34002
|
};
|
|
34002
|
-
function qe(e, t) {
|
|
34003
|
-
return He(e, { i: 2 }, t && t.out, t && t.dictionary);
|
|
34004
|
-
}
|
|
34005
34003
|
function z(e, t) {
|
|
34006
|
-
|
|
34007
|
-
return n + 8 > e.length && Ve(6, "invalid gzip data"), He(e.subarray(n, -8), { i: 2 }, t && t.out || new _e(Ge(e)), t && t.dictionary);
|
|
34004
|
+
return Ue(e, { i: 2 }, t && t.out, t && t.dictionary);
|
|
34008
34005
|
}
|
|
34009
34006
|
function Je(e, t) {
|
|
34010
|
-
|
|
34007
|
+
var n = Ge(e);
|
|
34008
|
+
return n + 8 > e.length && He(6, "invalid gzip data"), Ue(e.subarray(n, -8), { i: 2 }, t && t.out || new ve(Ke(e)), t && t.dictionary);
|
|
34011
34009
|
}
|
|
34012
34010
|
function Ye(e, t) {
|
|
34013
|
-
return e
|
|
34011
|
+
return Ue(e.subarray(qe(e, t && t.dictionary), -4), { i: 2 }, t && t.out, t && t.dictionary);
|
|
34012
|
+
}
|
|
34013
|
+
function Xe(e, t) {
|
|
34014
|
+
return e[0] == 31 && e[1] == 139 && e[2] == 8 ? Je(e, t) : (e[0] & 15) != 8 || e[0] >> 4 > 7 || (e[0] << 8 | e[1]) % 31 ? z(e, t) : Ye(e, t);
|
|
34014
34015
|
}
|
|
34015
|
-
var
|
|
34016
|
+
var Ze = typeof TextDecoder < "u" && /*#__PURE__*/ new TextDecoder();
|
|
34016
34017
|
try {
|
|
34017
|
-
|
|
34018
|
+
Ze.decode(We, { stream: !0 });
|
|
34018
34019
|
} catch {}
|
|
34019
34020
|
//#endregion
|
|
34020
34021
|
//#region ../../node_modules/.pnpm/pmtiles@4.4.1/node_modules/pmtiles/dist/esm/index.js
|
|
34021
|
-
var
|
|
34022
|
+
var B = Object.defineProperty, V = Math.pow, H = (e, t) => B(e, "name", {
|
|
34022
34023
|
value: t,
|
|
34023
34024
|
configurable: !0
|
|
34024
|
-
}),
|
|
34025
|
+
}), Qe = (e, t, n) => new Promise((r, i) => {
|
|
34025
34026
|
var a = (e) => {
|
|
34026
34027
|
try {
|
|
34027
34028
|
s(n.next(e));
|
|
@@ -34037,10 +34038,10 @@ var Ze = Object.defineProperty, B = Math.pow, V = (e, t) => Ze(e, "name", {
|
|
|
34037
34038
|
}, s = (e) => e.done ? r(e.value) : Promise.resolve(e.value).then(a, o);
|
|
34038
34039
|
s((n = n.apply(e, t)).next());
|
|
34039
34040
|
});
|
|
34040
|
-
|
|
34041
|
+
H((e, t) => {
|
|
34041
34042
|
let n = !1, r = "";
|
|
34042
34043
|
return new (L.GridLayer.extend({
|
|
34043
|
-
createTile:
|
|
34044
|
+
createTile: H((t, i) => {
|
|
34044
34045
|
let a = document.createElement("img"), o = new AbortController(), s = o.signal;
|
|
34045
34046
|
return a.cancel = () => {
|
|
34046
34047
|
o.abort();
|
|
@@ -34056,7 +34057,7 @@ V((e, t) => {
|
|
|
34056
34057
|
if (e.name !== "AbortError") throw e;
|
|
34057
34058
|
}), a;
|
|
34058
34059
|
}, "createTile"),
|
|
34059
|
-
_removeTile:
|
|
34060
|
+
_removeTile: H(function(e) {
|
|
34060
34061
|
let t = this._tiles[e];
|
|
34061
34062
|
t && (t.el.cancel && t.el.cancel(), t.el.src && window.URL.revokeObjectURL(t.el.src), t.el.width = 0, t.el.height = 0, t.el.deleted = !0, L.DomUtil.remove(t.el), delete this._tiles[e], this.fire("tileunload", {
|
|
34062
34063
|
tile: t.el,
|
|
@@ -34065,16 +34066,16 @@ V((e, t) => {
|
|
|
34065
34066
|
}, "_removeTile")
|
|
34066
34067
|
}))(t);
|
|
34067
34068
|
}, "leafletRasterLayer");
|
|
34068
|
-
var
|
|
34069
|
+
var $e = H((e) => (t, n) => {
|
|
34069
34070
|
if (n instanceof AbortController) return e(t, n);
|
|
34070
34071
|
let r = new AbortController();
|
|
34071
|
-
return e(t, r).then((e) => n(void 0, e.data, e.cacheControl || "", e.expires || ""), (e) => n(e)).catch((e) => n(e)), { cancel:
|
|
34072
|
-
}, "v3compat"),
|
|
34072
|
+
return e(t, r).then((e) => n(void 0, e.data, e.cacheControl || "", e.expires || ""), (e) => n(e)).catch((e) => n(e)), { cancel: H(() => r.abort(), "cancel") };
|
|
34073
|
+
}, "v3compat"), et = class {
|
|
34073
34074
|
constructor(e) {
|
|
34074
|
-
this.tilev4 =
|
|
34075
|
+
this.tilev4 = H((e, t) => Qe(this, null, function* () {
|
|
34075
34076
|
if (e.type === "json") {
|
|
34076
34077
|
let n = e.url.substr(10), r = this.tiles.get(n);
|
|
34077
|
-
if (r || (r = new
|
|
34078
|
+
if (r || (r = new Et(n), this.tiles.set(n, r)), this.metadata) {
|
|
34078
34079
|
let n = yield r.getTileJson(e.url);
|
|
34079
34080
|
return t.signal.throwIfAborted(), { data: n };
|
|
34080
34081
|
}
|
|
@@ -34094,7 +34095,7 @@ var Qe = V((e) => (t, n) => {
|
|
|
34094
34095
|
let n = /* @__PURE__ */ new RegExp(/pmtiles:\/\/(.+)\/(\d+)\/(\d+)\/(\d+)/), r = e.url.match(n);
|
|
34095
34096
|
if (!r) throw Error("Invalid PMTiles protocol URL");
|
|
34096
34097
|
let i = r[1], a = this.tiles.get(i);
|
|
34097
|
-
a || (a = new
|
|
34098
|
+
a || (a = new Et(i), this.tiles.set(i, a));
|
|
34098
34099
|
let o = r[2], s = r[3], c = r[4], l = yield a == null ? void 0 : a.getZxy(+o, +s, +c, t.signal);
|
|
34099
34100
|
if (t.signal.throwIfAborted(), l) return {
|
|
34100
34101
|
data: new Uint8Array(l.data),
|
|
@@ -34107,7 +34108,7 @@ var Qe = V((e) => (t, n) => {
|
|
|
34107
34108
|
return { data: /* @__PURE__ */ new Uint8Array() };
|
|
34108
34109
|
}
|
|
34109
34110
|
return { data: null };
|
|
34110
|
-
}), "tilev4"), this.tile =
|
|
34111
|
+
}), "tilev4"), this.tile = $e(this.tilev4), this.tiles = /* @__PURE__ */ new Map(), this.metadata = (e == null ? void 0 : e.metadata) || !1, this.errorOnMissingTile = (e == null ? void 0 : e.errorOnMissingTile) || !1;
|
|
34111
34112
|
}
|
|
34112
34113
|
add(e) {
|
|
34113
34114
|
this.tiles.set(e.source.getKey(), e);
|
|
@@ -34116,50 +34117,50 @@ var Qe = V((e) => (t, n) => {
|
|
|
34116
34117
|
return this.tiles.get(e);
|
|
34117
34118
|
}
|
|
34118
34119
|
};
|
|
34119
|
-
|
|
34120
|
-
var
|
|
34121
|
-
function
|
|
34120
|
+
H(et, "Protocol");
|
|
34121
|
+
var U = et;
|
|
34122
|
+
function tt(e, t) {
|
|
34122
34123
|
return (t >>> 0) * 4294967296 + (e >>> 0);
|
|
34123
34124
|
}
|
|
34124
|
-
|
|
34125
|
-
function
|
|
34125
|
+
H(tt, "toNum");
|
|
34126
|
+
function nt(e, t) {
|
|
34126
34127
|
let n = t.buf, r = n[t.pos++], i = (r & 112) >> 4;
|
|
34127
|
-
if (r < 128 || (r = n[t.pos++], i |= (r & 127) << 3, r < 128) || (r = n[t.pos++], i |= (r & 127) << 10, r < 128) || (r = n[t.pos++], i |= (r & 127) << 17, r < 128) || (r = n[t.pos++], i |= (r & 127) << 24, r < 128) || (r = n[t.pos++], i |= (r & 1) << 31, r < 128)) return
|
|
34128
|
+
if (r < 128 || (r = n[t.pos++], i |= (r & 127) << 3, r < 128) || (r = n[t.pos++], i |= (r & 127) << 10, r < 128) || (r = n[t.pos++], i |= (r & 127) << 17, r < 128) || (r = n[t.pos++], i |= (r & 127) << 24, r < 128) || (r = n[t.pos++], i |= (r & 1) << 31, r < 128)) return tt(e, i);
|
|
34128
34129
|
throw Error("Expected varint not more than 10 bytes");
|
|
34129
34130
|
}
|
|
34130
|
-
|
|
34131
|
-
function
|
|
34131
|
+
H(nt, "readVarintRemainder");
|
|
34132
|
+
function rt(e) {
|
|
34132
34133
|
let t = e.buf, n = t[e.pos++], r = n & 127;
|
|
34133
|
-
return n < 128 || (n = t[e.pos++], r |= (n & 127) << 7, n < 128) || (n = t[e.pos++], r |= (n & 127) << 14, n < 128) || (n = t[e.pos++], r |= (n & 127) << 21, n < 128) ? r : (n = t[e.pos], r |= (n & 15) << 28,
|
|
34134
|
+
return n < 128 || (n = t[e.pos++], r |= (n & 127) << 7, n < 128) || (n = t[e.pos++], r |= (n & 127) << 14, n < 128) || (n = t[e.pos++], r |= (n & 127) << 21, n < 128) ? r : (n = t[e.pos], r |= (n & 15) << 28, nt(r, e));
|
|
34134
34135
|
}
|
|
34135
|
-
|
|
34136
|
-
function
|
|
34136
|
+
H(rt, "readVarint");
|
|
34137
|
+
function it(e, t, n, r, i) {
|
|
34137
34138
|
return i === 0 ? r === 0 ? [n, t] : [e - 1 - n, e - 1 - t] : [t, n];
|
|
34138
34139
|
}
|
|
34139
|
-
|
|
34140
|
-
function
|
|
34140
|
+
H(it, "rotate");
|
|
34141
|
+
function at(e, t, n) {
|
|
34141
34142
|
if (e > 26) throw Error("Tile zoom level exceeds max safe number limit (26)");
|
|
34142
34143
|
if (t >= 1 << e || n >= 1 << e) throw Error("tile x/y outside zoom level bounds");
|
|
34143
34144
|
let r = ((1 << e) * (1 << e) - 1) / 3, i = e - 1, [a, o] = [t, n];
|
|
34144
34145
|
for (let e = 1 << i; e > 0; e >>= 1) {
|
|
34145
34146
|
let t = a & e, n = o & e;
|
|
34146
|
-
r += (3 * t ^ n) * (1 << i), [a, o] =
|
|
34147
|
+
r += (3 * t ^ n) * (1 << i), [a, o] = it(e, a, o, t, n), i--;
|
|
34147
34148
|
}
|
|
34148
34149
|
return r;
|
|
34149
34150
|
}
|
|
34150
|
-
|
|
34151
|
-
function
|
|
34151
|
+
H(at, "zxyToTileId");
|
|
34152
|
+
function ot(e) {
|
|
34152
34153
|
let t = 3 * e + 1;
|
|
34153
34154
|
return t < 4294967296 ? 31 - Math.clz32(t) : 63 - Math.clz32(t / 4294967296);
|
|
34154
34155
|
}
|
|
34155
|
-
|
|
34156
|
-
function
|
|
34157
|
-
let t =
|
|
34156
|
+
H(ot, "tileIdToZ");
|
|
34157
|
+
function st(e) {
|
|
34158
|
+
let t = ot(e) >> 1;
|
|
34158
34159
|
if (t > 26) throw Error("Tile zoom level exceeds max safe number limit (26)");
|
|
34159
34160
|
let n = e - ((1 << t) * (1 << t) - 1) / 3, r = 0, i = 0, a = 1 << t;
|
|
34160
34161
|
for (let e = 1; e < a; e <<= 1) {
|
|
34161
34162
|
let t = e & n / 2, a = e & (n ^ t);
|
|
34162
|
-
[r, i] =
|
|
34163
|
+
[r, i] = it(e, r, i, t, a), n /= 2, r += t, i += a;
|
|
34163
34164
|
}
|
|
34164
34165
|
return [
|
|
34165
34166
|
t,
|
|
@@ -34167,13 +34168,13 @@ function ot(e) {
|
|
|
34167
34168
|
i
|
|
34168
34169
|
];
|
|
34169
34170
|
}
|
|
34170
|
-
|
|
34171
|
-
var
|
|
34172
|
-
function
|
|
34173
|
-
return
|
|
34171
|
+
H(st, "tileIdToZxy");
|
|
34172
|
+
var ct = ((e) => (e[e.Unknown = 0] = "Unknown", e[e.None = 1] = "None", e[e.Gzip = 2] = "Gzip", e[e.Brotli = 3] = "Brotli", e[e.Zstd = 4] = "Zstd", e))(ct || {});
|
|
34173
|
+
function lt(e, t) {
|
|
34174
|
+
return Qe(this, null, function* () {
|
|
34174
34175
|
if (t === 1 || t === 0) return e;
|
|
34175
34176
|
if (t === 2) {
|
|
34176
|
-
if (globalThis.DecompressionStream === void 0) return
|
|
34177
|
+
if (globalThis.DecompressionStream === void 0) return Xe(new Uint8Array(e));
|
|
34177
34178
|
let t = new Response(e).body;
|
|
34178
34179
|
if (!t) throw Error("Failed to read response stream");
|
|
34179
34180
|
let n = t.pipeThrough(new globalThis.DecompressionStream("gzip"));
|
|
@@ -34182,14 +34183,14 @@ function ct(e, t) {
|
|
|
34182
34183
|
throw Error("Compression method not supported");
|
|
34183
34184
|
});
|
|
34184
34185
|
}
|
|
34185
|
-
|
|
34186
|
-
var
|
|
34187
|
-
function
|
|
34186
|
+
H(lt, "defaultDecompress");
|
|
34187
|
+
var ut = ((e) => (e[e.Unknown = 0] = "Unknown", e[e.Mvt = 1] = "Mvt", e[e.Png = 2] = "Png", e[e.Jpeg = 3] = "Jpeg", e[e.Webp = 4] = "Webp", e[e.Avif = 5] = "Avif", e[e.Mlt = 6] = "Mlt", e))(ut || {});
|
|
34188
|
+
function dt(e) {
|
|
34188
34189
|
return e === 1 ? ".mvt" : e === 2 ? ".png" : e === 3 ? ".jpg" : e === 4 ? ".webp" : e === 5 ? ".avif" : e === 6 ? ".mlt" : "";
|
|
34189
34190
|
}
|
|
34190
|
-
|
|
34191
|
-
var
|
|
34192
|
-
function
|
|
34191
|
+
H(dt, "tileTypeExt");
|
|
34192
|
+
var ft = 127;
|
|
34193
|
+
function pt(e, t) {
|
|
34193
34194
|
let n = 0, r = e.length - 1;
|
|
34194
34195
|
for (; n <= r;) {
|
|
34195
34196
|
let i = r + n >> 1, a = t - e[i].tileId;
|
|
@@ -34199,7 +34200,7 @@ function ft(e, t) {
|
|
|
34199
34200
|
}
|
|
34200
34201
|
return r >= 0 && (e[r].runLength === 0 || t - e[r].tileId < e[r].runLength) ? e[r] : null;
|
|
34201
34202
|
}
|
|
34202
|
-
|
|
34203
|
+
H(pt, "findTile"), H(class {
|
|
34203
34204
|
constructor(e) {
|
|
34204
34205
|
this.file = e;
|
|
34205
34206
|
}
|
|
@@ -34207,12 +34208,12 @@ V(ft, "findTile"), V(class {
|
|
|
34207
34208
|
return this.file.name;
|
|
34208
34209
|
}
|
|
34209
34210
|
getBytes(e, t) {
|
|
34210
|
-
return
|
|
34211
|
+
return Qe(this, null, function* () {
|
|
34211
34212
|
return { data: yield this.file.slice(e, e + t).arrayBuffer() };
|
|
34212
34213
|
});
|
|
34213
34214
|
}
|
|
34214
34215
|
}, "FileSource");
|
|
34215
|
-
var
|
|
34216
|
+
var mt = class {
|
|
34216
34217
|
constructor(e, t = new Headers(), n = void 0) {
|
|
34217
34218
|
var r, i;
|
|
34218
34219
|
this.url = e, this.customHeaders = t, this.credentials = n, this.mustReload = !1;
|
|
@@ -34228,7 +34229,7 @@ var pt = class {
|
|
|
34228
34229
|
this.customHeaders = e;
|
|
34229
34230
|
}
|
|
34230
34231
|
getBytes(e, t, n, r) {
|
|
34231
|
-
return
|
|
34232
|
+
return Qe(this, null, function* () {
|
|
34232
34233
|
let i, a;
|
|
34233
34234
|
n ? a = n : (i = new AbortController(), a = i.signal);
|
|
34234
34235
|
let o = new Headers(this.customHeaders);
|
|
@@ -34253,7 +34254,7 @@ var pt = class {
|
|
|
34253
34254
|
});
|
|
34254
34255
|
}
|
|
34255
34256
|
let l = c.headers.get("Etag");
|
|
34256
|
-
if (l != null && l.startsWith("W/") && (l = null), c.status === 416 || r && l && l !== r) throw this.mustReload = !0, new
|
|
34257
|
+
if (l != null && l.startsWith("W/") && (l = null), c.status === 416 || r && l && l !== r) throw this.mustReload = !0, new bt(`Server returned non-matching ETag ${r} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);
|
|
34257
34258
|
if (c.status >= 300) throw Error(`Bad response code: ${c.status}`);
|
|
34258
34259
|
let u = c.headers.get("Content-Length");
|
|
34259
34260
|
if (c.status === 200 && (!u || +u > t)) throw i && i.abort(), /* @__PURE__ */ Error("Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.");
|
|
@@ -34266,29 +34267,29 @@ var pt = class {
|
|
|
34266
34267
|
});
|
|
34267
34268
|
}
|
|
34268
34269
|
};
|
|
34269
|
-
|
|
34270
|
-
var
|
|
34271
|
-
function
|
|
34270
|
+
H(mt, "FetchSource");
|
|
34271
|
+
var ht = mt;
|
|
34272
|
+
function gt(e, t) {
|
|
34272
34273
|
let n = e.getUint32(t + 4, !0), r = e.getUint32(t + 0, !0);
|
|
34273
|
-
return n *
|
|
34274
|
+
return n * V(2, 32) + r;
|
|
34274
34275
|
}
|
|
34275
|
-
|
|
34276
|
-
function
|
|
34276
|
+
H(gt, "getUint64");
|
|
34277
|
+
function _t(e, t) {
|
|
34277
34278
|
let n = new DataView(e), r = n.getUint8(7);
|
|
34278
34279
|
if (r > 3) throw Error(`Archive is spec version ${r} but this library supports up to spec version 3`);
|
|
34279
34280
|
return {
|
|
34280
34281
|
specVersion: r,
|
|
34281
|
-
rootDirectoryOffset:
|
|
34282
|
-
rootDirectoryLength:
|
|
34283
|
-
jsonMetadataOffset:
|
|
34284
|
-
jsonMetadataLength:
|
|
34285
|
-
leafDirectoryOffset:
|
|
34286
|
-
leafDirectoryLength:
|
|
34287
|
-
tileDataOffset:
|
|
34288
|
-
tileDataLength:
|
|
34289
|
-
numAddressedTiles:
|
|
34290
|
-
numTileEntries:
|
|
34291
|
-
numTileContents:
|
|
34282
|
+
rootDirectoryOffset: gt(n, 8),
|
|
34283
|
+
rootDirectoryLength: gt(n, 16),
|
|
34284
|
+
jsonMetadataOffset: gt(n, 24),
|
|
34285
|
+
jsonMetadataLength: gt(n, 32),
|
|
34286
|
+
leafDirectoryOffset: gt(n, 40),
|
|
34287
|
+
leafDirectoryLength: gt(n, 48),
|
|
34288
|
+
tileDataOffset: gt(n, 56),
|
|
34289
|
+
tileDataLength: gt(n, 64),
|
|
34290
|
+
numAddressedTiles: gt(n, 72),
|
|
34291
|
+
numTileEntries: gt(n, 80),
|
|
34292
|
+
numTileContents: gt(n, 88),
|
|
34292
34293
|
clustered: n.getUint8(96) === 1,
|
|
34293
34294
|
internalCompression: n.getUint8(97),
|
|
34294
34295
|
tileCompression: n.getUint8(98),
|
|
@@ -34305,14 +34306,14 @@ function gt(e, t) {
|
|
|
34305
34306
|
etag: t
|
|
34306
34307
|
};
|
|
34307
34308
|
}
|
|
34308
|
-
|
|
34309
|
-
function
|
|
34309
|
+
H(_t, "bytesToHeader");
|
|
34310
|
+
function vt(e) {
|
|
34310
34311
|
let t = {
|
|
34311
34312
|
buf: new Uint8Array(e),
|
|
34312
34313
|
pos: 0
|
|
34313
|
-
}, n =
|
|
34314
|
+
}, n = rt(t), r = [], i = 0;
|
|
34314
34315
|
for (let e = 0; e < n; e++) {
|
|
34315
|
-
let e =
|
|
34316
|
+
let e = rt(t);
|
|
34316
34317
|
r.push({
|
|
34317
34318
|
tileId: i + e,
|
|
34318
34319
|
offset: 0,
|
|
@@ -34320,23 +34321,23 @@ function _t(e) {
|
|
|
34320
34321
|
runLength: 1
|
|
34321
34322
|
}), i += e;
|
|
34322
34323
|
}
|
|
34323
|
-
for (let e = 0; e < n; e++) r[e].runLength =
|
|
34324
|
-
for (let e = 0; e < n; e++) r[e].length =
|
|
34324
|
+
for (let e = 0; e < n; e++) r[e].runLength = rt(t);
|
|
34325
|
+
for (let e = 0; e < n; e++) r[e].length = rt(t);
|
|
34325
34326
|
for (let e = 0; e < n; e++) {
|
|
34326
|
-
let n =
|
|
34327
|
+
let n = rt(t);
|
|
34327
34328
|
n === 0 && e > 0 ? r[e].offset = r[e - 1].offset + r[e - 1].length : r[e].offset = n - 1;
|
|
34328
34329
|
}
|
|
34329
34330
|
return r;
|
|
34330
34331
|
}
|
|
34331
|
-
|
|
34332
|
-
var
|
|
34333
|
-
|
|
34334
|
-
var
|
|
34335
|
-
function
|
|
34336
|
-
return
|
|
34332
|
+
H(vt, "deserializeIndex");
|
|
34333
|
+
var yt = class extends Error {};
|
|
34334
|
+
H(yt, "EtagMismatch");
|
|
34335
|
+
var bt = yt;
|
|
34336
|
+
function xt(e, t) {
|
|
34337
|
+
return Qe(this, null, function* () {
|
|
34337
34338
|
let n = yield e.getBytes(0, 16384);
|
|
34338
34339
|
if (new DataView(n.data).getUint16(0, !0) !== 19792) throw Error("Wrong magic number for PMTiles archive");
|
|
34339
|
-
let r =
|
|
34340
|
+
let r = _t(n.data.slice(0, ft), n.etag), i = n.data.slice(r.rootDirectoryOffset, r.rootDirectoryOffset + r.rootDirectoryLength), a = `${e.getKey()}|${r.etag || ""}|${r.rootDirectoryOffset}|${r.rootDirectoryLength}`, o = vt(yield t(i, r.internalCompression));
|
|
34340
34341
|
return [r, [
|
|
34341
34342
|
a,
|
|
34342
34343
|
o.length,
|
|
@@ -34344,23 +34345,23 @@ function bt(e, t) {
|
|
|
34344
34345
|
]];
|
|
34345
34346
|
});
|
|
34346
34347
|
}
|
|
34347
|
-
|
|
34348
|
-
function
|
|
34349
|
-
return
|
|
34350
|
-
let a =
|
|
34348
|
+
H(xt, "getHeaderAndRoot");
|
|
34349
|
+
function St(e, t, n, r, i) {
|
|
34350
|
+
return Qe(this, null, function* () {
|
|
34351
|
+
let a = vt(yield t((yield e.getBytes(n, r, void 0, i.etag)).data, i.internalCompression));
|
|
34351
34352
|
if (a.length === 0) throw Error("Empty directory is invalid");
|
|
34352
34353
|
return a;
|
|
34353
34354
|
});
|
|
34354
34355
|
}
|
|
34355
|
-
|
|
34356
|
-
constructor(e = 100, t = !0, n =
|
|
34356
|
+
H(St, "getDirectory"), H(class {
|
|
34357
|
+
constructor(e = 100, t = !0, n = lt) {
|
|
34357
34358
|
this.cache = /* @__PURE__ */ new Map(), this.maxCacheEntries = e, this.counter = 1, this.decompress = n;
|
|
34358
34359
|
}
|
|
34359
34360
|
getHeader(e) {
|
|
34360
|
-
return
|
|
34361
|
+
return Qe(this, null, function* () {
|
|
34361
34362
|
let t = e.getKey(), n = this.cache.get(t);
|
|
34362
34363
|
if (n) return n.lastUsed = this.counter++, n.data;
|
|
34363
|
-
let r = yield
|
|
34364
|
+
let r = yield xt(e, this.decompress);
|
|
34364
34365
|
return r[1] && this.cache.set(r[1][0], {
|
|
34365
34366
|
lastUsed: this.counter++,
|
|
34366
34367
|
data: r[1][2]
|
|
@@ -34371,10 +34372,10 @@ V(xt, "getDirectory"), V(class {
|
|
|
34371
34372
|
});
|
|
34372
34373
|
}
|
|
34373
34374
|
getDirectory(e, t, n, r) {
|
|
34374
|
-
return
|
|
34375
|
+
return Qe(this, null, function* () {
|
|
34375
34376
|
let i = `${e.getKey()}|${r.etag || ""}|${t}|${n}`, a = this.cache.get(i);
|
|
34376
34377
|
if (a) return a.lastUsed = this.counter++, a.data;
|
|
34377
|
-
let o = yield
|
|
34378
|
+
let o = yield St(e, this.decompress, t, n, r);
|
|
34378
34379
|
return this.cache.set(i, {
|
|
34379
34380
|
lastUsed: this.counter++,
|
|
34380
34381
|
data: o
|
|
@@ -34390,21 +34391,21 @@ V(xt, "getDirectory"), V(class {
|
|
|
34390
34391
|
}
|
|
34391
34392
|
}
|
|
34392
34393
|
invalidate(e) {
|
|
34393
|
-
return
|
|
34394
|
+
return Qe(this, null, function* () {
|
|
34394
34395
|
this.cache.delete(e.getKey());
|
|
34395
34396
|
});
|
|
34396
34397
|
}
|
|
34397
34398
|
}, "ResolvedValueCache");
|
|
34398
|
-
var
|
|
34399
|
-
constructor(e = 100, t = !0, n =
|
|
34399
|
+
var Ct = class {
|
|
34400
|
+
constructor(e = 100, t = !0, n = lt) {
|
|
34400
34401
|
this.cache = /* @__PURE__ */ new Map(), this.invalidations = /* @__PURE__ */ new Map(), this.maxCacheEntries = e, this.counter = 1, this.decompress = n;
|
|
34401
34402
|
}
|
|
34402
34403
|
getHeader(e) {
|
|
34403
|
-
return
|
|
34404
|
+
return Qe(this, null, function* () {
|
|
34404
34405
|
let t = e.getKey(), n = this.cache.get(t);
|
|
34405
34406
|
if (n) return n.lastUsed = this.counter++, yield n.data;
|
|
34406
34407
|
let r = new Promise((t, n) => {
|
|
34407
|
-
|
|
34408
|
+
xt(e, this.decompress).then((e) => {
|
|
34408
34409
|
e[1] && this.cache.set(e[1][0], {
|
|
34409
34410
|
lastUsed: this.counter++,
|
|
34410
34411
|
data: Promise.resolve(e[1][2])
|
|
@@ -34420,11 +34421,11 @@ var St = class {
|
|
|
34420
34421
|
});
|
|
34421
34422
|
}
|
|
34422
34423
|
getDirectory(e, t, n, r) {
|
|
34423
|
-
return
|
|
34424
|
+
return Qe(this, null, function* () {
|
|
34424
34425
|
let i = `${e.getKey()}|${r.etag || ""}|${t}|${n}`, a = this.cache.get(i);
|
|
34425
34426
|
if (a) return a.lastUsed = this.counter++, yield a.data;
|
|
34426
34427
|
let o = new Promise((i, a) => {
|
|
34427
|
-
|
|
34428
|
+
St(e, this.decompress, t, n, r).then((e) => {
|
|
34428
34429
|
i(e), this.prune();
|
|
34429
34430
|
}).catch((e) => {
|
|
34430
34431
|
a(e);
|
|
@@ -34445,7 +34446,7 @@ var St = class {
|
|
|
34445
34446
|
}
|
|
34446
34447
|
}
|
|
34447
34448
|
invalidate(e) {
|
|
34448
|
-
return
|
|
34449
|
+
return Qe(this, null, function* () {
|
|
34449
34450
|
let t = e.getKey();
|
|
34450
34451
|
if (this.invalidations.get(t)) return yield this.invalidations.get(t);
|
|
34451
34452
|
this.cache.delete(e.getKey());
|
|
@@ -34460,23 +34461,23 @@ var St = class {
|
|
|
34460
34461
|
});
|
|
34461
34462
|
}
|
|
34462
34463
|
};
|
|
34463
|
-
|
|
34464
|
-
var
|
|
34464
|
+
H(Ct, "SharedPromiseCache");
|
|
34465
|
+
var wt = Ct, Tt = class {
|
|
34465
34466
|
constructor(e, t, n) {
|
|
34466
|
-
typeof e == "string" ? this.source = new
|
|
34467
|
+
typeof e == "string" ? this.source = new ht(e) : this.source = e, n ? this.decompress = n : this.decompress = lt, t ? this.cache = t : this.cache = new wt();
|
|
34467
34468
|
}
|
|
34468
34469
|
getHeader() {
|
|
34469
|
-
return
|
|
34470
|
+
return Qe(this, null, function* () {
|
|
34470
34471
|
return yield this.cache.getHeader(this.source);
|
|
34471
34472
|
});
|
|
34472
34473
|
}
|
|
34473
34474
|
getZxyAttempt(e, t, n, r) {
|
|
34474
|
-
return
|
|
34475
|
-
let i =
|
|
34475
|
+
return Qe(this, null, function* () {
|
|
34476
|
+
let i = at(e, t, n), a = yield this.cache.getHeader(this.source);
|
|
34476
34477
|
if (e < a.minZoom || e > a.maxZoom) return;
|
|
34477
34478
|
let o = a.rootDirectoryOffset, s = a.rootDirectoryLength;
|
|
34478
34479
|
for (let e = 0; e <= 3; e++) {
|
|
34479
|
-
let e =
|
|
34480
|
+
let e = pt(yield this.cache.getDirectory(this.source, o, s, a), i);
|
|
34480
34481
|
if (e) {
|
|
34481
34482
|
if (e.runLength > 0) {
|
|
34482
34483
|
let t = yield this.source.getBytes(a.tileDataOffset + e.offset, e.length, r, a.etag);
|
|
@@ -34493,38 +34494,38 @@ var Ct = St, wt = class {
|
|
|
34493
34494
|
});
|
|
34494
34495
|
}
|
|
34495
34496
|
getZxy(e, t, n, r) {
|
|
34496
|
-
return
|
|
34497
|
+
return Qe(this, null, function* () {
|
|
34497
34498
|
try {
|
|
34498
34499
|
return yield this.getZxyAttempt(e, t, n, r);
|
|
34499
34500
|
} catch (i) {
|
|
34500
|
-
if (i instanceof
|
|
34501
|
+
if (i instanceof bt) return this.cache.invalidate(this.source), yield this.getZxyAttempt(e, t, n, r);
|
|
34501
34502
|
throw i;
|
|
34502
34503
|
}
|
|
34503
34504
|
});
|
|
34504
34505
|
}
|
|
34505
34506
|
getMetadataAttempt() {
|
|
34506
|
-
return
|
|
34507
|
+
return Qe(this, null, function* () {
|
|
34507
34508
|
let e = yield this.cache.getHeader(this.source), t = yield this.source.getBytes(e.jsonMetadataOffset, e.jsonMetadataLength, void 0, e.etag), n = yield this.decompress(t.data, e.internalCompression), r = new TextDecoder("utf-8");
|
|
34508
34509
|
return JSON.parse(r.decode(n));
|
|
34509
34510
|
});
|
|
34510
34511
|
}
|
|
34511
34512
|
getMetadata() {
|
|
34512
|
-
return
|
|
34513
|
+
return Qe(this, null, function* () {
|
|
34513
34514
|
try {
|
|
34514
34515
|
return yield this.getMetadataAttempt();
|
|
34515
34516
|
} catch (e) {
|
|
34516
|
-
if (e instanceof
|
|
34517
|
+
if (e instanceof bt) return this.cache.invalidate(this.source), yield this.getMetadataAttempt();
|
|
34517
34518
|
throw e;
|
|
34518
34519
|
}
|
|
34519
34520
|
});
|
|
34520
34521
|
}
|
|
34521
34522
|
getTileJson(e) {
|
|
34522
|
-
return
|
|
34523
|
+
return Qe(this, null, function* () {
|
|
34523
34524
|
let t = yield this.getHeader(), n = yield this.getMetadata();
|
|
34524
34525
|
return {
|
|
34525
34526
|
tilejson: "3.0.0",
|
|
34526
34527
|
scheme: "xyz",
|
|
34527
|
-
tiles: [`${e}/{z}/{x}/{y}${
|
|
34528
|
+
tiles: [`${e}/{z}/{x}/{y}${dt(t.tileType)}`],
|
|
34528
34529
|
vector_layers: n.vector_layers,
|
|
34529
34530
|
attribution: n.attribution,
|
|
34530
34531
|
description: n.description,
|
|
@@ -34547,10 +34548,10 @@ var Ct = St, wt = class {
|
|
|
34547
34548
|
});
|
|
34548
34549
|
}
|
|
34549
34550
|
};
|
|
34550
|
-
|
|
34551
|
-
var
|
|
34551
|
+
H(Tt, "PMTiles");
|
|
34552
|
+
var Et = Tt, Dt = 16384, Ot = class {
|
|
34552
34553
|
constructor(e) {
|
|
34553
|
-
this.url = e, this.ranged = void 0, this.archive = void 0, this.ranged = new
|
|
34554
|
+
this.url = e, this.ranged = void 0, this.archive = void 0, this.ranged = new ht(e);
|
|
34554
34555
|
}
|
|
34555
34556
|
getKey() {
|
|
34556
34557
|
return this.url;
|
|
@@ -34558,28 +34559,28 @@ var Tt = wt, Et = 16384, Dt = class {
|
|
|
34558
34559
|
async getBytes(e, t, n, r) {
|
|
34559
34560
|
this.archive || (this.archive = this.probe());
|
|
34560
34561
|
let i = await this.archive;
|
|
34561
|
-
return i ? (
|
|
34562
|
+
return i ? (At(n), { data: await jt(i.slice(e, e + t)) }) : this.ranged.getBytes(e, t, n, r);
|
|
34562
34563
|
}
|
|
34563
34564
|
async probe() {
|
|
34564
34565
|
let e;
|
|
34565
34566
|
try {
|
|
34566
|
-
e = await fetch(this.url, { headers: { Range: `bytes=0-${
|
|
34567
|
+
e = await fetch(this.url, { headers: { Range: `bytes=0-${Dt - 1}` } });
|
|
34567
34568
|
} catch {
|
|
34568
34569
|
return null;
|
|
34569
34570
|
}
|
|
34570
34571
|
if (e.status !== 200) return null;
|
|
34571
34572
|
let t = await e.blob();
|
|
34572
|
-
return t.size ===
|
|
34573
|
+
return t.size === Dt ? null : t;
|
|
34573
34574
|
}
|
|
34574
34575
|
};
|
|
34575
|
-
function
|
|
34576
|
-
e.get(t) || e.add(new
|
|
34576
|
+
function kt(e, t) {
|
|
34577
|
+
e.get(t) || e.add(new Et(new Ot(t)));
|
|
34577
34578
|
}
|
|
34578
|
-
function
|
|
34579
|
+
function At(e) {
|
|
34579
34580
|
var t;
|
|
34580
34581
|
if (e != null && e.aborted) throw (t = e.reason) == null ? new DOMException("The operation was aborted.", "AbortError") : t;
|
|
34581
34582
|
}
|
|
34582
|
-
async function
|
|
34583
|
+
async function jt(e) {
|
|
34583
34584
|
return typeof e.arrayBuffer == "function" ? e.arrayBuffer() : new Promise((t, n) => {
|
|
34584
34585
|
let r = new FileReader();
|
|
34585
34586
|
r.onload = () => t(r.result), r.onerror = () => n(r.error), r.readAsArrayBuffer(e);
|
|
@@ -34587,7 +34588,7 @@ async function At(e) {
|
|
|
34587
34588
|
}
|
|
34588
34589
|
//#endregion
|
|
34589
34590
|
//#region src/components/Maplibre/utils/resolve-map-style.ts
|
|
34590
|
-
function
|
|
34591
|
+
function Mt(e, t) {
|
|
34591
34592
|
if (typeof e != "string") return;
|
|
34592
34593
|
let n = new URL(e, window.location.href).href, r = (e) => new URL(e, n).href.replace(/%7B/g, "{").replace(/%7D/g, "}"), i = (e) => {
|
|
34593
34594
|
if (!e.startsWith("pmtiles://")) return r(e);
|
|
@@ -34618,13 +34619,13 @@ function jt(e, t) {
|
|
|
34618
34619
|
}
|
|
34619
34620
|
//#endregion
|
|
34620
34621
|
//#region src/components/Maplibre/MaplibreWrapper.tsx
|
|
34621
|
-
var
|
|
34622
|
+
var Nt = s(), Pt = ["<a href=\"https://expofp.com\" target=\"_blank\">ExpoFP</a>", "<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>"], Ft = "expofp-map-dim", It = "expofp-map-dim-source", Lt = "3d-expofp", W = null, Rt = [
|
|
34622
34623
|
"coalesce",
|
|
34623
34624
|
["get", "name:en"],
|
|
34624
34625
|
["get", "name_en"],
|
|
34625
34626
|
["get", "name:latin"],
|
|
34626
34627
|
["get", "name"]
|
|
34627
|
-
],
|
|
34628
|
+
], zt = {
|
|
34628
34629
|
type: "Feature",
|
|
34629
34630
|
geometry: {
|
|
34630
34631
|
type: "Polygon",
|
|
@@ -34638,55 +34639,55 @@ var Mt = s(), Nt = ["<a href=\"https://expofp.com\" target=\"_blank\">ExpoFP</a>
|
|
|
34638
34639
|
},
|
|
34639
34640
|
properties: {}
|
|
34640
34641
|
};
|
|
34641
|
-
function
|
|
34642
|
+
function Bt(e) {
|
|
34642
34643
|
if (!e || typeof e != "object") return !1;
|
|
34643
34644
|
let t = e.length;
|
|
34644
34645
|
if (typeof t != "number" || t < 16) return !1;
|
|
34645
34646
|
let n = e[0];
|
|
34646
34647
|
return typeof n == "number" && Number.isFinite(n);
|
|
34647
34648
|
}
|
|
34648
|
-
function
|
|
34649
|
+
function Vt(e) {
|
|
34649
34650
|
var t;
|
|
34650
|
-
if (
|
|
34651
|
+
if (Bt(e)) return Array.from(e);
|
|
34651
34652
|
let n = e, r = n == null || (t = n.defaultProjectionData) == null ? void 0 : t.mainMatrix;
|
|
34652
|
-
return
|
|
34653
|
-
}
|
|
34654
|
-
function Vt(e) {
|
|
34655
|
-
return typeof e == "string" ? e.includes("name") : Array.isArray(e) ? e.some((e) => Vt(e)) : !e || typeof e != "object" ? !1 : Object.values(e).some((e) => Vt(e));
|
|
34653
|
+
return Bt(r) ? Array.from(r) : (console.warn("Maplibre custom layer received an unsupported projection matrix payload.", e), null);
|
|
34656
34654
|
}
|
|
34657
34655
|
function G(e) {
|
|
34658
|
-
return e
|
|
34656
|
+
return typeof e == "string" ? e.includes("name") : Array.isArray(e) ? e.some((e) => G(e)) : !e || typeof e != "object" ? !1 : Object.values(e).some((e) => G(e));
|
|
34659
34657
|
}
|
|
34660
34658
|
function Ht(e) {
|
|
34659
|
+
return e.type !== "symbol" || !e.id || !e.layout ? !1 : G(e.layout["text-field"]);
|
|
34660
|
+
}
|
|
34661
|
+
function Ut(e) {
|
|
34661
34662
|
var t;
|
|
34662
34663
|
let n = e.getStyle();
|
|
34663
|
-
for (let r of (t = n.layers) == null ? [] : t)
|
|
34664
|
+
for (let r of (t = n.layers) == null ? [] : t) Ht(r) && e.setLayoutProperty(r.id, "text-field", Rt);
|
|
34664
34665
|
}
|
|
34665
|
-
function
|
|
34666
|
-
if (
|
|
34667
|
-
let e = new
|
|
34668
|
-
|
|
34666
|
+
function Wt() {
|
|
34667
|
+
if (W) return W;
|
|
34668
|
+
let e = new U();
|
|
34669
|
+
W = e;
|
|
34669
34670
|
try {
|
|
34670
|
-
(0,
|
|
34671
|
+
(0, _e.addProtocol)("pmtiles", e.tile);
|
|
34671
34672
|
} catch (e) {
|
|
34672
34673
|
console.warn("Maplibre PMTiles protocol registration failed.", e);
|
|
34673
34674
|
}
|
|
34674
34675
|
return e;
|
|
34675
34676
|
}
|
|
34676
|
-
function
|
|
34677
|
-
let u = (0, F.useRef)(null), [d, f] = (0, F.useState)(),
|
|
34677
|
+
function Gt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i, onMapReady: a, onMapDimLayerReady: o, onMapLoadError: s, onPointerMissed: c, children: l }) {
|
|
34678
|
+
let u = (0, F.useRef)(null), [d, f] = (0, F.useState)(), m = (0, F.useRef)(a), h = (0, F.useRef)(o), g = (0, F.useRef)(s), _ = (0, F.useRef)({
|
|
34678
34679
|
geoConfig: t,
|
|
34679
34680
|
tileSource: n,
|
|
34680
34681
|
mapOptions: r,
|
|
34681
34682
|
debug: i
|
|
34682
34683
|
});
|
|
34683
34684
|
return (0, F.useEffect)(() => {
|
|
34684
|
-
|
|
34685
|
+
m.current = a, h.current = o, g.current = s;
|
|
34685
34686
|
}), (0, F.useEffect)(() => {
|
|
34686
34687
|
let e = u.current;
|
|
34687
34688
|
if (!e) return;
|
|
34688
|
-
let { geoConfig: t, tileSource: n, mapOptions: r, debug: i } =
|
|
34689
|
-
let s =
|
|
34689
|
+
let { geoConfig: t, tileSource: n, mapOptions: r, debug: i } = _.current, a = !1, o, s = () => {
|
|
34690
|
+
let s = Wt(), c = t.bounds ? {
|
|
34690
34691
|
bounds: t.bounds,
|
|
34691
34692
|
fitBoundsOptions: {
|
|
34692
34693
|
padding: t.fitPadding,
|
|
@@ -34695,7 +34696,7 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34695
34696
|
} : {
|
|
34696
34697
|
center: t.center,
|
|
34697
34698
|
zoom: t.zoom
|
|
34698
|
-
}, l =
|
|
34699
|
+
}, l = Mt(n.style, n.offline ? (e) => kt(s, e) : void 0), u = new _e.Map({
|
|
34699
34700
|
container: e,
|
|
34700
34701
|
...c,
|
|
34701
34702
|
bearing: t.bearing,
|
|
@@ -34705,17 +34706,17 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34705
34706
|
maxBounds: r == null ? void 0 : r.maxBounds,
|
|
34706
34707
|
attributionControl: {
|
|
34707
34708
|
compact: !0,
|
|
34708
|
-
customAttribution:
|
|
34709
|
+
customAttribution: Pt
|
|
34709
34710
|
},
|
|
34710
34711
|
bearingSnap: 0,
|
|
34711
34712
|
aroundCenter: !1,
|
|
34712
|
-
pitchWithRotate:
|
|
34713
|
-
touchPitch:
|
|
34713
|
+
pitchWithRotate: M.pitchEnabled,
|
|
34714
|
+
touchPitch: M.pitchEnabled,
|
|
34714
34715
|
canvasContextAttributes: { antialias: !0 }
|
|
34715
34716
|
});
|
|
34716
34717
|
t.zoomAdjustment && u.jumpTo({ zoom: u.getZoom() + t.zoomAdjustment }), u.once("error", (e) => {
|
|
34717
34718
|
var t, n;
|
|
34718
|
-
u.isStyleLoaded() || (t =
|
|
34719
|
+
u.isStyleLoaded() || (t = g.current) == null || t.call(g, (n = e == null ? void 0 : e.error) == null ? e : n);
|
|
34719
34720
|
});
|
|
34720
34721
|
let d = (e) => {
|
|
34721
34722
|
let t = e == null ? void 0 : e.id;
|
|
@@ -34726,8 +34727,8 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34726
34727
|
});
|
|
34727
34728
|
};
|
|
34728
34729
|
u.on("styleimagemissing", d);
|
|
34729
|
-
let
|
|
34730
|
-
id:
|
|
34730
|
+
let p, _ = () => u.triggerRepaint(), v = {
|
|
34731
|
+
id: Lt,
|
|
34731
34732
|
type: "custom",
|
|
34732
34733
|
renderingMode: "3d",
|
|
34733
34734
|
onAdd(e, t) {
|
|
@@ -34735,24 +34736,24 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34735
34736
|
a || (f({
|
|
34736
34737
|
gl: t,
|
|
34737
34738
|
requestFrame: _,
|
|
34738
|
-
onFrame: (e) => (
|
|
34739
|
-
|
|
34739
|
+
onFrame: (e) => (p = e, _(), () => {
|
|
34740
|
+
p === e && (p = void 0);
|
|
34740
34741
|
})
|
|
34741
|
-
}), (n =
|
|
34742
|
+
}), (n = m.current) == null || n.call(m, u, _));
|
|
34742
34743
|
},
|
|
34743
34744
|
render(e, t) {
|
|
34744
|
-
let n =
|
|
34745
|
-
n && (
|
|
34745
|
+
let n = Vt(t == null ? e : t);
|
|
34746
|
+
n && (p == null || p(n)), i && _();
|
|
34746
34747
|
}
|
|
34747
34748
|
}, y = () => {
|
|
34748
34749
|
var e;
|
|
34749
|
-
|
|
34750
|
+
Ut(u), u.getSource(It) || u.addSource(It, {
|
|
34750
34751
|
type: "geojson",
|
|
34751
|
-
data:
|
|
34752
|
+
data: zt
|
|
34752
34753
|
}), u.getLayer("expofp-map-dim") || u.addLayer({
|
|
34753
|
-
id:
|
|
34754
|
+
id: Ft,
|
|
34754
34755
|
type: "fill",
|
|
34755
|
-
source:
|
|
34756
|
+
source: It,
|
|
34756
34757
|
paint: {
|
|
34757
34758
|
"fill-color": "#000000",
|
|
34758
34759
|
"fill-opacity": 0,
|
|
@@ -34761,18 +34762,18 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34761
34762
|
delay: 0
|
|
34762
34763
|
}
|
|
34763
34764
|
}
|
|
34764
|
-
}), (e =
|
|
34765
|
+
}), (e = h.current) == null || e.call(h, u), u.addLayer(v);
|
|
34765
34766
|
};
|
|
34766
34767
|
u.on("style.load", y), u.setStyle(n.style, l ? { transformStyle: l } : void 0), o = () => {
|
|
34767
34768
|
u.off("style.load", y), u.off("styleimagemissing", d), u.remove();
|
|
34768
34769
|
};
|
|
34769
34770
|
};
|
|
34770
|
-
return i ?
|
|
34771
|
+
return i ? x().then(() => {
|
|
34771
34772
|
a || s();
|
|
34772
34773
|
}) : s(), () => {
|
|
34773
34774
|
a = !0, o == null || o(), f(void 0);
|
|
34774
34775
|
};
|
|
34775
|
-
}, []), /* @__PURE__ */ (0,
|
|
34776
|
+
}, []), /* @__PURE__ */ (0, Nt.jsx)("div", {
|
|
34776
34777
|
ref: u,
|
|
34777
34778
|
style: {
|
|
34778
34779
|
position: "absolute",
|
|
@@ -34781,7 +34782,7 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34781
34782
|
width: "100%",
|
|
34782
34783
|
height: "100%"
|
|
34783
34784
|
},
|
|
34784
|
-
children: d && /* @__PURE__ */ (0,
|
|
34785
|
+
children: d && /* @__PURE__ */ (0, Nt.jsx)(p, {
|
|
34785
34786
|
...d,
|
|
34786
34787
|
scene: e,
|
|
34787
34788
|
debug: i,
|
|
@@ -34792,38 +34793,38 @@ function Wt({ sceneDef: e, geoConfig: t, tileSource: n, mapOptions: r, debug: i,
|
|
|
34792
34793
|
}
|
|
34793
34794
|
//#endregion
|
|
34794
34795
|
//#region src/components/Maplibre/utils/geo-config.ts
|
|
34795
|
-
var
|
|
34796
|
-
function
|
|
34796
|
+
var Kt = .15, qt = 1.42, Jt = .35, Yt = .9, Xt = .85, Zt = 8, Qt = .05;
|
|
34797
|
+
function $t(e, t, n, r) {
|
|
34797
34798
|
let i = Math.min(e.getZoom(), t);
|
|
34798
|
-
return i + (n - i) * Math.min(1, r /
|
|
34799
|
+
return i + (n - i) * Math.min(1, r / qt) >= e.getMinZoom() - Qt;
|
|
34799
34800
|
}
|
|
34800
|
-
function
|
|
34801
|
-
if (
|
|
34802
|
-
if (
|
|
34803
|
-
let r =
|
|
34804
|
-
for (let a = 0; a <
|
|
34801
|
+
function en(e, t, n) {
|
|
34802
|
+
if ($t(e, t, n, qt)) return qt;
|
|
34803
|
+
if (!$t(e, t, n, Jt)) return null;
|
|
34804
|
+
let r = Jt, i = qt;
|
|
34805
|
+
for (let a = 0; a < Zt; a++) {
|
|
34805
34806
|
let a = (r + i) / 2;
|
|
34806
|
-
|
|
34807
|
+
$t(e, t, n, a) ? r = a : i = a;
|
|
34807
34808
|
}
|
|
34808
34809
|
return r;
|
|
34809
34810
|
}
|
|
34810
|
-
function
|
|
34811
|
+
function tn(e, t) {
|
|
34811
34812
|
let n = [
|
|
34812
|
-
|
|
34813
|
-
|
|
34814
|
-
|
|
34815
|
-
|
|
34813
|
+
y(e.min.x, e.min.y, t),
|
|
34814
|
+
y(e.max.x, e.min.y, t),
|
|
34815
|
+
y(e.max.x, e.max.y, t),
|
|
34816
|
+
y(e.min.x, e.max.y, t)
|
|
34816
34817
|
], r = n.map(([e]) => e), i = n.map(([, e]) => e);
|
|
34817
34818
|
return [[Math.min(...r), Math.min(...i)], [Math.max(...r), Math.max(...i)]];
|
|
34818
34819
|
}
|
|
34819
|
-
var
|
|
34820
|
-
function
|
|
34820
|
+
var nn = 512;
|
|
34821
|
+
function rn(e, t, n, r, i) {
|
|
34821
34822
|
let a = [
|
|
34822
|
-
|
|
34823
|
-
|
|
34824
|
-
|
|
34825
|
-
|
|
34826
|
-
].map(([e, t]) =>
|
|
34823
|
+
y(e.min.x, e.min.y, t),
|
|
34824
|
+
y(e.max.x, e.min.y, t),
|
|
34825
|
+
y(e.max.x, e.max.y, t),
|
|
34826
|
+
y(e.min.x, e.max.y, t)
|
|
34827
|
+
].map(([e, t]) => _e.MercatorCoordinate.fromLngLat({
|
|
34827
34828
|
lng: e,
|
|
34828
34829
|
lat: t
|
|
34829
34830
|
}));
|
|
@@ -34832,15 +34833,15 @@ function nn(e, t, n, r, i) {
|
|
|
34832
34833
|
if (d <= 0 || f <= 0) return null;
|
|
34833
34834
|
let p = r.width - i.left - i.right, m = r.height - i.top - i.bottom;
|
|
34834
34835
|
if (p <= 0 || m <= 0) return null;
|
|
34835
|
-
let h = Math.min(p / (d *
|
|
34836
|
+
let h = Math.min(p / (d * nn), m / (f * nn));
|
|
34836
34837
|
if (!(h > 0)) return null;
|
|
34837
|
-
let
|
|
34838
|
+
let g = nn * h, _ = (Math.min(...l) + Math.max(...l)) / 2 - (i.left - i.right) / 2 / g, v = (Math.min(...u) + Math.max(...u)) / 2 - (i.top - i.bottom) / 2 / g, { lng: b, lat: x } = new _e.MercatorCoordinate(_ * s + v * c, -_ * c + v * s).toLngLat();
|
|
34838
34839
|
return {
|
|
34839
34840
|
center: [b, x],
|
|
34840
34841
|
zoom: Math.log2(h)
|
|
34841
34842
|
};
|
|
34842
34843
|
}
|
|
34843
|
-
function
|
|
34844
|
+
function an(e, t) {
|
|
34844
34845
|
return {
|
|
34845
34846
|
top: e.top + t.top,
|
|
34846
34847
|
bottom: e.bottom + t.bottom,
|
|
@@ -34848,8 +34849,8 @@ function rn(e, t) {
|
|
|
34848
34849
|
right: e.right + t.right
|
|
34849
34850
|
};
|
|
34850
34851
|
}
|
|
34851
|
-
function
|
|
34852
|
-
let t =
|
|
34852
|
+
function on(e = 0) {
|
|
34853
|
+
let t = M.canvasVisibleRectPx, n = M.screenSize;
|
|
34853
34854
|
return t ? {
|
|
34854
34855
|
top: Math.max(0, t.min.y) + e,
|
|
34855
34856
|
bottom: Math.max(0, n.height - t.max.y) + e,
|
|
@@ -34862,14 +34863,14 @@ function an(e = 0) {
|
|
|
34862
34863
|
right: e
|
|
34863
34864
|
};
|
|
34864
34865
|
}
|
|
34865
|
-
function
|
|
34866
|
+
function sn(e, t, n) {
|
|
34866
34867
|
let r = e.project(t), i = e.getCanvas();
|
|
34867
34868
|
return r.x >= n.left && r.x <= i.clientWidth - n.right && r.y >= n.top && r.y <= i.clientHeight - n.bottom;
|
|
34868
34869
|
}
|
|
34869
|
-
function
|
|
34870
|
+
function K() {
|
|
34870
34871
|
var e, t;
|
|
34871
|
-
if (!(!(
|
|
34872
|
-
let n =
|
|
34872
|
+
if (!(!(T == null || (e = T.properties) == null) && e.config)) return null;
|
|
34873
|
+
let n = T.properties.config, r = (n.p0.lng + n.p2.lng) / 2, i = (n.p0.lat + n.p2.lat) / 2, a = h(n.p0, n.p2), o = Number.isFinite(a) ? a : (t = n.bearing) == null ? 0 : t;
|
|
34873
34874
|
return {
|
|
34874
34875
|
center: [r, i],
|
|
34875
34876
|
bearing: o,
|
|
@@ -34877,15 +34878,15 @@ function sn() {
|
|
|
34877
34878
|
gpsConfig: n
|
|
34878
34879
|
};
|
|
34879
34880
|
}
|
|
34880
|
-
function
|
|
34881
|
+
function q(e, t, n, r = {}) {
|
|
34881
34882
|
var i, a;
|
|
34882
34883
|
if (!e || !t || !n || t.size.height === Infinity || t.size.width === Infinity || t.size.height <= 0 || t.size.width <= 0) return;
|
|
34883
|
-
let o =
|
|
34884
|
+
let o = tn(t, n.gpsConfig), s = e.getCanvas(), c = r.paddingPercent == null ? on((i = r.padding) == null ? 50 : i) : an(on(0), {
|
|
34884
34885
|
top: s.clientHeight * r.paddingPercent,
|
|
34885
34886
|
bottom: s.clientHeight * r.paddingPercent,
|
|
34886
34887
|
left: s.clientWidth * r.paddingPercent,
|
|
34887
34888
|
right: s.clientWidth * r.paddingPercent
|
|
34888
|
-
}), l =
|
|
34889
|
+
}), l = rn(t, n.gpsConfig, n.bearing, {
|
|
34889
34890
|
width: s.clientWidth,
|
|
34890
34891
|
height: s.clientHeight
|
|
34891
34892
|
}, c);
|
|
@@ -34908,7 +34909,7 @@ function K(e, t, n, r = {}) {
|
|
|
34908
34909
|
e.easeTo(g);
|
|
34909
34910
|
return;
|
|
34910
34911
|
}
|
|
34911
|
-
let _ = e.getBounds().extend(
|
|
34912
|
+
let _ = e.getBounds().extend(_e.LngLatBounds.convert(o)), v = e.cameraForBounds(_, {
|
|
34912
34913
|
padding: c,
|
|
34913
34914
|
bearing: n.bearing
|
|
34914
34915
|
});
|
|
@@ -34916,9 +34917,9 @@ function K(e, t, n, r = {}) {
|
|
|
34916
34917
|
e.easeTo(g);
|
|
34917
34918
|
return;
|
|
34918
34919
|
}
|
|
34919
|
-
let y =
|
|
34920
|
+
let y = en(e, l.zoom, v.zoom);
|
|
34920
34921
|
if (y !== null) {
|
|
34921
|
-
let t = Math.max(
|
|
34922
|
+
let t = Math.max(Jt, y * Yt), n = Math.round(h * Xt);
|
|
34922
34923
|
e.flyTo({
|
|
34923
34924
|
...g,
|
|
34924
34925
|
curve: t,
|
|
@@ -34930,172 +34931,172 @@ function K(e, t, n, r = {}) {
|
|
|
34930
34931
|
}
|
|
34931
34932
|
//#endregion
|
|
34932
34933
|
//#region src/components/Maplibre/useCameraReactions.ts
|
|
34933
|
-
var
|
|
34934
|
-
function
|
|
34935
|
-
return
|
|
34934
|
+
var cn = M, J = 15, ln = 24, un = 20;
|
|
34935
|
+
function dn(e) {
|
|
34936
|
+
return ee(e, j(e, C)).expand(un);
|
|
34936
34937
|
}
|
|
34937
|
-
function
|
|
34938
|
+
function fn(e, t) {
|
|
34938
34939
|
return Math.min(Math.max(t, e.getMinZoom()), e.getMaxZoom());
|
|
34939
34940
|
}
|
|
34940
|
-
function
|
|
34941
|
+
function pn(e, t, n) {
|
|
34941
34942
|
var r;
|
|
34942
34943
|
if (n.length !== 1) return !1;
|
|
34943
|
-
let i = (r = n[0]) == null ? void 0 : r.id, a =
|
|
34944
|
+
let i = (r = n[0]) == null ? void 0 : r.id, a = k.poiMarkerStore.markers.find((e) => e.boothId === i);
|
|
34944
34945
|
if (!a) return !1;
|
|
34945
|
-
let o =
|
|
34946
|
-
return
|
|
34946
|
+
let o = y(a.center.x, a.center.y, t.gpsConfig);
|
|
34947
|
+
return sn(e, o, on(ln)) || e.easeTo({
|
|
34947
34948
|
center: o,
|
|
34948
|
-
zoom:
|
|
34949
|
+
zoom: fn(e, J),
|
|
34949
34950
|
bearing: t.bearing,
|
|
34950
34951
|
duration: 500,
|
|
34951
34952
|
essential: !0
|
|
34952
34953
|
}), !0;
|
|
34953
34954
|
}
|
|
34954
|
-
function
|
|
34955
|
-
ie(() =>
|
|
34955
|
+
function mn(e, t, n) {
|
|
34956
|
+
ie(() => cn.moveToBooths, (n) => {
|
|
34956
34957
|
let r = e.current;
|
|
34957
34958
|
if (!n || !r || !t) return;
|
|
34958
34959
|
let i = n.filter((e) => e.rect);
|
|
34959
34960
|
if (i.length !== 0) {
|
|
34960
|
-
if (
|
|
34961
|
-
|
|
34961
|
+
if (pn(r, t, i)) {
|
|
34962
|
+
cn.moveToBooths = null;
|
|
34962
34963
|
return;
|
|
34963
34964
|
}
|
|
34964
|
-
|
|
34965
|
+
q(r, dn(l.fromUnion(...i.map((e) => e.rect))), t), cn.moveToBooths = null;
|
|
34965
34966
|
}
|
|
34966
|
-
}), ie(() =>
|
|
34967
|
+
}), ie(() => cn.moveToRect, (n) => {
|
|
34967
34968
|
let r = e.current;
|
|
34968
|
-
!n || !r || !t || (
|
|
34969
|
-
}), ie(() =>
|
|
34969
|
+
!n || !r || !t || (q(r, n, t, { paddingPercent: cn.moveToRectPaddingPercent }), cn.moveToRect = null, cn.moveToRectPaddingPercent = null);
|
|
34970
|
+
}), ie(() => cn.zoomBy, (t) => {
|
|
34970
34971
|
let n = e.current;
|
|
34971
34972
|
!t || !n || (n.flyTo({
|
|
34972
34973
|
zoom: n.getZoom() + (t > 1 ? .5 : -.5),
|
|
34973
34974
|
animate: !0,
|
|
34974
34975
|
duration: 500
|
|
34975
|
-
}),
|
|
34976
|
+
}), cn.zoomBy = null);
|
|
34976
34977
|
}), ie(() => [
|
|
34977
|
-
|
|
34978
|
-
|
|
34979
|
-
|
|
34978
|
+
M.moveToLocation,
|
|
34979
|
+
k.maplibreStore.cameraPort,
|
|
34980
|
+
k.routeStore.currentPosition
|
|
34980
34981
|
], ([n]) => {
|
|
34981
34982
|
if (!n) return;
|
|
34982
|
-
let r = e.current, i =
|
|
34983
|
+
let r = e.current, i = k.routeStore.currentPosition;
|
|
34983
34984
|
if (!i) {
|
|
34984
|
-
|
|
34985
|
+
M.moveToLocation = !1;
|
|
34985
34986
|
return;
|
|
34986
34987
|
}
|
|
34987
34988
|
if (!r) return;
|
|
34988
34989
|
let { lng: a, lat: o } = i, s = typeof a == "number" && Number.isFinite(a) && typeof o == "number" && Number.isFinite(o);
|
|
34989
|
-
|
|
34990
|
+
M.moveToLocation = !1;
|
|
34990
34991
|
let c;
|
|
34991
34992
|
if (s) c = [a, o];
|
|
34992
34993
|
else {
|
|
34993
34994
|
if (!t) return;
|
|
34994
|
-
c =
|
|
34995
|
+
c = y(i.x, i.y, t.gpsConfig);
|
|
34995
34996
|
}
|
|
34996
34997
|
r.flyTo({
|
|
34997
34998
|
center: c,
|
|
34998
34999
|
animate: !0,
|
|
34999
35000
|
duration: 1e3
|
|
35000
35001
|
});
|
|
35001
|
-
}), ie(() =>
|
|
35002
|
+
}), ie(() => M.centerMap, (r) => {
|
|
35002
35003
|
let i = e.current;
|
|
35003
35004
|
if (!(!r || !i || !t)) {
|
|
35004
|
-
if (!(
|
|
35005
|
-
let { rect: e } =
|
|
35006
|
-
layerViewbox:
|
|
35007
|
-
explicitArea:
|
|
35008
|
-
layerRectangle:
|
|
35005
|
+
if (!(M.list.type === "search" && !M.list.text)) {
|
|
35006
|
+
let { rect: e } = N({
|
|
35007
|
+
layerViewbox: k.layerStore.viewboxRectangle,
|
|
35008
|
+
explicitArea: u ? C : null,
|
|
35009
|
+
layerRectangle: k.layerStore.rectangle,
|
|
35009
35010
|
sceneDef: n,
|
|
35010
|
-
svgArea:
|
|
35011
|
+
svgArea: C
|
|
35011
35012
|
});
|
|
35012
|
-
|
|
35013
|
+
q(i, e, t);
|
|
35013
35014
|
}
|
|
35014
|
-
|
|
35015
|
+
M.centerMap = !1;
|
|
35015
35016
|
}
|
|
35016
35017
|
});
|
|
35017
35018
|
}
|
|
35018
35019
|
//#endregion
|
|
35019
35020
|
//#region src/components/Maplibre/utils/map-theme.ts
|
|
35020
|
-
var
|
|
35021
|
-
function
|
|
35021
|
+
var hn = 50;
|
|
35022
|
+
function gn(e) {
|
|
35022
35023
|
return e === "light" || e === "dark";
|
|
35023
35024
|
}
|
|
35024
|
-
function
|
|
35025
|
+
function _n(e) {
|
|
35025
35026
|
if (!e || e === "none") return "light";
|
|
35026
35027
|
try {
|
|
35027
|
-
return (0,
|
|
35028
|
+
return (0, ge.default)(e).lightness() < hn ? "dark" : "light";
|
|
35028
35029
|
} catch {
|
|
35029
35030
|
return "light";
|
|
35030
35031
|
}
|
|
35031
35032
|
}
|
|
35032
|
-
function
|
|
35033
|
-
return
|
|
35033
|
+
function vn(e, t) {
|
|
35034
|
+
return gn(e) ? e : _n(t);
|
|
35034
35035
|
}
|
|
35035
35036
|
//#endregion
|
|
35036
35037
|
//#region src/components/Maplibre/utils/map-helpers.ts
|
|
35037
|
-
var
|
|
35038
|
-
function
|
|
35039
|
-
e != null && e.getLayer("expofp-map-dim") && (e.setPaintProperty(
|
|
35038
|
+
var yn = { style: "https://basemaps.cartocdn.com/gl/positron-gl-style/style.json" }, bn = { style: "https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json" };
|
|
35039
|
+
function xn(e, t) {
|
|
35040
|
+
e != null && e.getLayer("expofp-map-dim") && (e.setPaintProperty(Ft, "fill-opacity", Sn(t)), e.triggerRepaint());
|
|
35040
35041
|
}
|
|
35041
|
-
function
|
|
35042
|
+
function Sn(e) {
|
|
35042
35043
|
return Math.min(Math.max(e, 0), 1);
|
|
35043
35044
|
}
|
|
35044
|
-
function
|
|
35045
|
+
function Cn(e, t) {
|
|
35045
35046
|
var n, r, i;
|
|
35046
35047
|
if (!e) return;
|
|
35047
35048
|
e.setMinZoom((n = t.minZoom) == null ? null : n), e.setMaxZoom((r = t.maxZoom) == null ? null : r), e.setMaxBounds((i = t.maxBounds) == null ? null : i);
|
|
35048
|
-
let { pitch: a, maxPitch: o } = t, s =
|
|
35049
|
+
let { pitch: a, maxPitch: o } = t, s = M.animatePitch, c = e.getPitch(), l = !!(s && a != null && o != null && o < c);
|
|
35049
35050
|
l || e.setMaxPitch(o == null ? null : o), !(a == null || c === a) && (s ? (e.easeTo({
|
|
35050
35051
|
pitch: a,
|
|
35051
|
-
duration:
|
|
35052
|
+
duration: M.mapSettings.pitchtime
|
|
35052
35053
|
}), l && e.once("moveend", () => e.setMaxPitch(o))) : e.jumpTo({ pitch: a }));
|
|
35053
35054
|
}
|
|
35054
|
-
function
|
|
35055
|
+
function wn() {
|
|
35055
35056
|
var e, t, n;
|
|
35056
|
-
let r = (e = (t =
|
|
35057
|
+
let r = (e = (t = k.fp) == null ? void 0 : t.maplibre) == null ? window.__efpMaplibre : e;
|
|
35057
35058
|
return r != null && r.style ? {
|
|
35058
35059
|
style: r.style,
|
|
35059
35060
|
offline: r.offline
|
|
35060
35061
|
} : r != null && r.styleUrl ? {
|
|
35061
35062
|
style: r.styleUrl,
|
|
35062
35063
|
offline: r.offline
|
|
35063
|
-
} :
|
|
35064
|
+
} : vn(T == null || (n = T.properties) == null || (n = n.config) == null ? void 0 : n.style, ne.backgroundColor) === "dark" ? bn : yn;
|
|
35064
35065
|
}
|
|
35065
35066
|
//#endregion
|
|
35066
35067
|
//#region src/components/Maplibre/useDimming.ts
|
|
35067
|
-
function
|
|
35068
|
-
return
|
|
35068
|
+
function Tn() {
|
|
35069
|
+
return M.dimmed && !k.poiMarkerStore.dimSuppressed;
|
|
35069
35070
|
}
|
|
35070
|
-
function
|
|
35071
|
+
function En(e, t) {
|
|
35071
35072
|
let n = (0, F.useRef)(null), r = (0, F.useRef)(null), i = (0, F.useCallback)((e) => {
|
|
35072
35073
|
var t, i;
|
|
35073
|
-
let a =
|
|
35074
|
+
let a = Tn();
|
|
35074
35075
|
(t = n.current) == null || t.setTarget(a, e), (i = r.current) == null || i.setTarget(a, e);
|
|
35075
35076
|
}, []);
|
|
35076
35077
|
return (0, F.useEffect)(() => {
|
|
35077
|
-
let i =
|
|
35078
|
-
|
|
35079
|
-
}), a =
|
|
35078
|
+
let i = pe((t) => {
|
|
35079
|
+
xn(e.current, t * he);
|
|
35080
|
+
}), a = pe((e) => {
|
|
35080
35081
|
let n = t.current;
|
|
35081
|
-
n &&
|
|
35082
|
+
n && de(n, e * 1) && b(n.rootLayer);
|
|
35082
35083
|
});
|
|
35083
35084
|
return n.current = i, r.current = a, () => {
|
|
35084
35085
|
i.stop(), a.stop(), n.current = null, r.current = null;
|
|
35085
35086
|
};
|
|
35086
|
-
}, [e, t]), ie(() =>
|
|
35087
|
+
}, [e, t]), ie(() => Tn(), () => i()), {
|
|
35087
35088
|
mapDimAnimatorRef: n,
|
|
35088
35089
|
venueDimAnimatorRef: r,
|
|
35089
35090
|
applyDimmingTarget: i,
|
|
35090
35091
|
handleMapDimLayerReady: (0, F.useCallback)((e) => {
|
|
35091
35092
|
var t, r;
|
|
35092
|
-
|
|
35093
|
+
xn(e, ((t = (r = n.current) == null ? void 0 : r.getValue()) == null ? +!!Tn() : t) * he);
|
|
35093
35094
|
}, [])
|
|
35094
35095
|
};
|
|
35095
35096
|
}
|
|
35096
35097
|
//#endregion
|
|
35097
|
-
//#region src/components/Maplibre/
|
|
35098
|
-
function
|
|
35098
|
+
//#region src/components/Maplibre/useKioskCameraEvents.ts
|
|
35099
|
+
function Dn(e, t) {
|
|
35099
35100
|
(0, F.useEffect)(() => {
|
|
35100
35101
|
let n = t.current;
|
|
35101
35102
|
if (!e || !n) return;
|
|
@@ -35104,7 +35105,7 @@ function En(e, t) {
|
|
|
35104
35105
|
e.originalEvent && (r = !0, (t = (n = window).__resett) == null || t.call(n));
|
|
35105
35106
|
}, a = () => {
|
|
35106
35107
|
var e, t;
|
|
35107
|
-
r && (r = !1, (e = (t = window).__resett) == null || e.call(t));
|
|
35108
|
+
ae(), r && (r = !1, (e = (t = window).__resett) == null || e.call(t));
|
|
35108
35109
|
};
|
|
35109
35110
|
return n.on("movestart", i), n.on("moveend", a), () => {
|
|
35110
35111
|
n.off("movestart", i), n.off("moveend", a);
|
|
@@ -35113,41 +35114,41 @@ function En(e, t) {
|
|
|
35113
35114
|
}
|
|
35114
35115
|
//#endregion
|
|
35115
35116
|
//#region src/components/Maplibre/utils/layer-defs.ts
|
|
35116
|
-
function
|
|
35117
|
+
function On(e, t = /* @__PURE__ */ new Map()) {
|
|
35117
35118
|
var n;
|
|
35118
35119
|
if (e.name) {
|
|
35119
35120
|
var r;
|
|
35120
35121
|
let n = (r = t.get(e.name)) == null ? [] : r;
|
|
35121
35122
|
n.push(e), t.set(e.name, n);
|
|
35122
35123
|
}
|
|
35123
|
-
for (let r of (n = e.children) == null ? [] : n)
|
|
35124
|
+
for (let r of (n = e.children) == null ? [] : n) S(r) && On(r, t);
|
|
35124
35125
|
return t;
|
|
35125
35126
|
}
|
|
35126
35127
|
//#endregion
|
|
35127
35128
|
//#region src/components/Maplibre/useLayerVisibilitySync.ts
|
|
35128
|
-
function
|
|
35129
|
+
function kn(e, t, n) {
|
|
35129
35130
|
let r = (0, F.useRef)(null), i = (0, F.useRef)(null);
|
|
35130
|
-
ie(() =>
|
|
35131
|
+
ie(() => k.layerStore.layers.map((e) => `${e.name}:${+!!e.visible}`), () => {
|
|
35131
35132
|
var a, o;
|
|
35132
35133
|
if (!e) return;
|
|
35133
35134
|
((a = r.current) == null ? void 0 : a.rootLayer) !== e.rootLayer && (r.current = {
|
|
35134
35135
|
rootLayer: e.rootLayer,
|
|
35135
|
-
defsByName:
|
|
35136
|
+
defsByName: On(e.rootLayer)
|
|
35136
35137
|
});
|
|
35137
35138
|
let s = r.current.defsByName, c = [];
|
|
35138
|
-
for (let e of
|
|
35139
|
+
for (let e of k.layerStore.layers) {
|
|
35139
35140
|
let t = s.get(e.name);
|
|
35140
35141
|
if (t != null && t.length) for (let n of t) {
|
|
35141
35142
|
let t = !e.visible;
|
|
35142
35143
|
n.hidden !== t && (n.hidden = t, c.push(n));
|
|
35143
35144
|
}
|
|
35144
35145
|
}
|
|
35145
|
-
c.length &&
|
|
35146
|
-
let l =
|
|
35146
|
+
c.length && b(...c);
|
|
35147
|
+
let l = k.layerStore.layers.find((e) => e.visible && !e.frozen && !e.rootParent && !e.pathway);
|
|
35147
35148
|
if (!l || i.current === l.name) return;
|
|
35148
35149
|
i.current = l.name;
|
|
35149
35150
|
let u = (o = l.viewbox) == null ? l.rect : o;
|
|
35150
|
-
|
|
35151
|
+
q(t.current, u == null ? null : u, n);
|
|
35151
35152
|
}, void 0, [
|
|
35152
35153
|
e,
|
|
35153
35154
|
t,
|
|
@@ -35156,31 +35157,31 @@ function On(e, t, n) {
|
|
|
35156
35157
|
}
|
|
35157
35158
|
//#endregion
|
|
35158
35159
|
//#region src/components/Maplibre/usePoiMarkers.ts
|
|
35159
|
-
var
|
|
35160
|
-
An,
|
|
35160
|
+
var An = "expofp-poi", jn = "expofp-poi-clusters", Mn = "expofp-poi-cluster-count", Nn = "expofp-poi-unclustered", Pn = "expofp-poi-selected", Fn = "expofp-poi-pinhead-image", In = [
|
|
35161
35161
|
jn,
|
|
35162
35162
|
Mn,
|
|
35163
|
-
Nn
|
|
35164
|
-
|
|
35165
|
-
|
|
35163
|
+
Nn,
|
|
35164
|
+
Pn
|
|
35165
|
+
], Ln = In.filter((e) => e !== Mn), Rn = (e) => `expofp-poi-icon-${e}`;
|
|
35166
|
+
function zn(e, t, a) {
|
|
35166
35167
|
(0, F.useEffect)(() => {
|
|
35167
35168
|
var o;
|
|
35168
|
-
if (!
|
|
35169
|
+
if (!P()) return;
|
|
35169
35170
|
let s = t.current;
|
|
35170
35171
|
if (!e || !s || !a) return;
|
|
35171
|
-
let { gpsConfig: c } = a,
|
|
35172
|
-
s.hasImage(e) && s.removeImage(e), s.addImage(e, t, { pixelRatio:
|
|
35173
|
-
},
|
|
35174
|
-
let t =
|
|
35175
|
-
n.add(
|
|
35176
|
-
for (let e of [...
|
|
35172
|
+
let { gpsConfig: c } = a, u = /* @__PURE__ */ new Set(), d = window.devicePixelRatio || 1, f = D(36, d, ((o = ne.colors) == null || (o = o.booths) == null ? void 0 : o.selected) || "#3b6ef5"), p = (e) => y(e.center.x, e.center.y, c), m = (e, t) => {
|
|
35173
|
+
s.hasImage(e) && s.removeImage(e), s.addImage(e, t, { pixelRatio: d }), u.add(e);
|
|
35174
|
+
}, h = (e) => {
|
|
35175
|
+
let t = k.poiMarkerStore.markers, n = new Set(t.map((e) => Rn(e.boothId)));
|
|
35176
|
+
n.add(Fn);
|
|
35177
|
+
for (let e of [...u]) n.has(e) || (s.hasImage(e) && s.removeImage(e), u.delete(e));
|
|
35177
35178
|
for (let n of t) {
|
|
35178
|
-
let t =
|
|
35179
|
-
(e || !
|
|
35179
|
+
let t = Rn(n.boothId);
|
|
35180
|
+
(e || !u.has(t)) && m(t, n.icon);
|
|
35180
35181
|
}
|
|
35181
|
-
|
|
35182
|
-
},
|
|
35183
|
-
let e =
|
|
35182
|
+
u.has(Fn) || m(Fn, f);
|
|
35183
|
+
}, g = () => {
|
|
35184
|
+
let e = k.poiMarkerStore.selectedMarkerId, t = k.poiMarkerStore.outdoorFilter, n = !t.active, r = k.poiMarkerStore.markers;
|
|
35184
35185
|
return e === null ? t.active && (r = t.matchingMarkers) : r = r.filter((t) => t.boothId === e), {
|
|
35185
35186
|
cluster: n,
|
|
35186
35187
|
data: {
|
|
@@ -35193,13 +35194,13 @@ function Rn(e, t, a) {
|
|
|
35193
35194
|
},
|
|
35194
35195
|
properties: {
|
|
35195
35196
|
boothId: t.boothId,
|
|
35196
|
-
icon:
|
|
35197
|
+
icon: Rn(t.boothId),
|
|
35197
35198
|
pinhead: t.boothId === e
|
|
35198
35199
|
}
|
|
35199
35200
|
}))
|
|
35200
35201
|
}
|
|
35201
35202
|
};
|
|
35202
|
-
},
|
|
35203
|
+
}, _ = () => {
|
|
35203
35204
|
var e, t, n;
|
|
35204
35205
|
let r = null;
|
|
35205
35206
|
for (let n of (e = (t = s.getStyle()) == null ? void 0 : t.layers) == null ? [] : e) {
|
|
@@ -35212,17 +35213,17 @@ function Rn(e, t, a) {
|
|
|
35212
35213
|
}
|
|
35213
35214
|
}
|
|
35214
35215
|
return (n = r) == null ? ["Noto Sans Regular"] : n;
|
|
35215
|
-
},
|
|
35216
|
-
for (let e of
|
|
35217
|
-
s.getSource(
|
|
35218
|
-
},
|
|
35219
|
-
if (
|
|
35216
|
+
}, v = null, b = () => {
|
|
35217
|
+
for (let e of In) s.getLayer(e) && s.removeLayer(e);
|
|
35218
|
+
s.getSource(An) && s.removeSource(An), v = null;
|
|
35219
|
+
}, x = (e, t) => {
|
|
35220
|
+
if (v !== null && v !== t && b(), s.getSource(An) || (s.addSource(An, {
|
|
35220
35221
|
type: "geojson",
|
|
35221
35222
|
data: e,
|
|
35222
35223
|
cluster: t,
|
|
35223
35224
|
clusterRadius: 50,
|
|
35224
35225
|
clusterMinPoints: 3
|
|
35225
|
-
}),
|
|
35226
|
+
}), v = t), s.getLayer(jn)) return;
|
|
35226
35227
|
let i = ["!", ["has", "point_count"]], a = [
|
|
35227
35228
|
"==",
|
|
35228
35229
|
[
|
|
@@ -35233,9 +35234,9 @@ function Rn(e, t, a) {
|
|
|
35233
35234
|
!0
|
|
35234
35235
|
];
|
|
35235
35236
|
s.addLayer({
|
|
35236
|
-
id:
|
|
35237
|
+
id: jn,
|
|
35237
35238
|
type: "circle",
|
|
35238
|
-
source:
|
|
35239
|
+
source: An,
|
|
35239
35240
|
filter: ["has", "point_count"],
|
|
35240
35241
|
paint: {
|
|
35241
35242
|
"circle-radius": 36 / 2,
|
|
@@ -35245,22 +35246,22 @@ function Rn(e, t, a) {
|
|
|
35245
35246
|
"circle-pitch-alignment": "viewport"
|
|
35246
35247
|
}
|
|
35247
35248
|
}), s.addLayer({
|
|
35248
|
-
id:
|
|
35249
|
+
id: Mn,
|
|
35249
35250
|
type: "symbol",
|
|
35250
|
-
source:
|
|
35251
|
+
source: An,
|
|
35251
35252
|
filter: ["has", "point_count"],
|
|
35252
35253
|
layout: {
|
|
35253
35254
|
"text-field": ["get", "point_count_abbreviated"],
|
|
35254
|
-
"text-font":
|
|
35255
|
+
"text-font": _(),
|
|
35255
35256
|
"text-size": 14,
|
|
35256
35257
|
"text-allow-overlap": !0,
|
|
35257
35258
|
"text-ignore-placement": !0
|
|
35258
35259
|
},
|
|
35259
35260
|
paint: { "text-color": "#ffffff" }
|
|
35260
35261
|
}), s.addLayer({
|
|
35261
|
-
id:
|
|
35262
|
+
id: Nn,
|
|
35262
35263
|
type: "symbol",
|
|
35263
|
-
source:
|
|
35264
|
+
source: An,
|
|
35264
35265
|
filter: [
|
|
35265
35266
|
"all",
|
|
35266
35267
|
i,
|
|
@@ -35273,35 +35274,35 @@ function Rn(e, t, a) {
|
|
|
35273
35274
|
"icon-ignore-placement": !0
|
|
35274
35275
|
}
|
|
35275
35276
|
}), s.addLayer({
|
|
35276
|
-
id:
|
|
35277
|
+
id: Pn,
|
|
35277
35278
|
type: "symbol",
|
|
35278
|
-
source:
|
|
35279
|
+
source: An,
|
|
35279
35280
|
filter: [
|
|
35280
35281
|
"all",
|
|
35281
35282
|
i,
|
|
35282
35283
|
a
|
|
35283
35284
|
],
|
|
35284
35285
|
layout: {
|
|
35285
|
-
"icon-image":
|
|
35286
|
+
"icon-image": Fn,
|
|
35286
35287
|
"icon-anchor": "bottom",
|
|
35287
35288
|
"icon-allow-overlap": !0,
|
|
35288
35289
|
"icon-ignore-placement": !0
|
|
35289
35290
|
}
|
|
35290
35291
|
});
|
|
35291
|
-
},
|
|
35292
|
-
if (!s.getLayer(
|
|
35293
|
-
let e =
|
|
35294
|
-
s.setPaintProperty(
|
|
35295
|
-
},
|
|
35292
|
+
}, S = () => {
|
|
35293
|
+
if (!s.getLayer(jn)) return;
|
|
35294
|
+
let e = Tn() ? 1 - he : 1;
|
|
35295
|
+
s.setPaintProperty(jn, "circle-opacity", e), s.setPaintProperty(jn, "circle-stroke-opacity", e), s.setPaintProperty(Mn, "text-opacity", e), s.setPaintProperty(Nn, "icon-opacity", e), s.setPaintProperty(Pn, "icon-opacity", e);
|
|
35296
|
+
}, C = (e = !1) => {
|
|
35296
35297
|
var t;
|
|
35297
|
-
|
|
35298
|
-
let { cluster: n, data: r } =
|
|
35299
|
-
|
|
35300
|
-
},
|
|
35298
|
+
h(e);
|
|
35299
|
+
let { cluster: n, data: r } = g();
|
|
35300
|
+
x(r, n), (t = s.getSource(An)) == null || t.setData(r), S();
|
|
35301
|
+
}, w = (e) => {
|
|
35301
35302
|
if (!e.length) return;
|
|
35302
|
-
let t =
|
|
35303
|
-
if (e.every((e) =>
|
|
35304
|
-
let n =
|
|
35303
|
+
let t = on(50);
|
|
35304
|
+
if (e.every((e) => sn(s, p(e), t))) return;
|
|
35305
|
+
let n = tn(l.fromPoints(e.map((e) => e.center)), c), r = s.cameraForBounds(n, {
|
|
35305
35306
|
padding: t,
|
|
35306
35307
|
bearing: a.bearing
|
|
35307
35308
|
});
|
|
@@ -35312,15 +35313,15 @@ function Rn(e, t, a) {
|
|
|
35312
35313
|
duration: 500,
|
|
35313
35314
|
essential: !0
|
|
35314
35315
|
});
|
|
35315
|
-
},
|
|
35316
|
+
}, T = (e) => {
|
|
35316
35317
|
var t;
|
|
35317
35318
|
let n = (t = e.features) == null || (t = t[0]) == null || (t = t.properties) == null ? void 0 : t.boothId;
|
|
35318
35319
|
if (typeof n != "number") return;
|
|
35319
|
-
let r =
|
|
35320
|
-
r &&
|
|
35321
|
-
},
|
|
35320
|
+
let r = k.boothStore.boothById.get(n);
|
|
35321
|
+
r && k.clickBooth(r);
|
|
35322
|
+
}, O = (e) => {
|
|
35322
35323
|
var t, n, r;
|
|
35323
|
-
let i = (t = e.features) == null ? void 0 : t[0], a = i == null || (n = i.properties) == null ? void 0 : n.cluster_id, o = s.getSource(
|
|
35324
|
+
let i = (t = e.features) == null ? void 0 : t[0], a = i == null || (n = i.properties) == null ? void 0 : n.cluster_id, o = s.getSource(An);
|
|
35324
35325
|
if (typeof a != "number" || !o || (i == null || (r = i.geometry) == null ? void 0 : r.type) !== "Point") return;
|
|
35325
35326
|
let [c = 0, l = 0] = i.geometry.coordinates;
|
|
35326
35327
|
o.getClusterExpansionZoom(a).then((e) => {
|
|
@@ -35331,24 +35332,24 @@ function Rn(e, t, a) {
|
|
|
35331
35332
|
});
|
|
35332
35333
|
});
|
|
35333
35334
|
};
|
|
35334
|
-
s.on("click",
|
|
35335
|
-
let n =
|
|
35335
|
+
s.on("click", Nn, T), s.on("click", Pn, T), s.on("click", jn, O), E.set((e, t) => {
|
|
35336
|
+
let n = Ln.filter((e) => !!s.getLayer(e));
|
|
35336
35337
|
if (!n.length) return !1;
|
|
35337
|
-
let r = s.project(
|
|
35338
|
+
let r = s.project(y(e, t, c));
|
|
35338
35339
|
return s.queryRenderedFeatures([r.x, r.y], { layers: n }).length > 0;
|
|
35339
35340
|
});
|
|
35340
|
-
let
|
|
35341
|
-
|
|
35341
|
+
let A = () => {
|
|
35342
|
+
u.clear(), C(!0);
|
|
35342
35343
|
};
|
|
35343
|
-
s.on("style.load",
|
|
35344
|
-
let
|
|
35345
|
-
|
|
35346
|
-
}),
|
|
35347
|
-
return
|
|
35348
|
-
|
|
35344
|
+
s.on("style.load", A);
|
|
35345
|
+
let j = i(() => k.poiMarkerStore.markers, () => C(!0)), M = i(() => k.poiMarkerStore.selectedMarkerId, () => C()), N = i(() => k.poiMarkerStore.outdoorFilter.key, () => {
|
|
35346
|
+
C(), w(k.poiMarkerStore.outdoorFilter.matchingMarkers);
|
|
35347
|
+
}), ee = i(() => Tn(), () => S());
|
|
35348
|
+
return C(!0), () => {
|
|
35349
|
+
j(), M(), N(), ee(), E.set(null), s.off("style.load", A), s.off("click", Nn, T), s.off("click", Pn, T), s.off("click", jn, O);
|
|
35349
35350
|
try {
|
|
35350
|
-
|
|
35351
|
-
for (let e of
|
|
35351
|
+
b();
|
|
35352
|
+
for (let e of u) s.hasImage(e) && s.removeImage(e);
|
|
35352
35353
|
} catch {}
|
|
35353
35354
|
};
|
|
35354
35355
|
}, [
|
|
@@ -35359,14 +35360,14 @@ function Rn(e, t, a) {
|
|
|
35359
35360
|
}
|
|
35360
35361
|
//#endregion
|
|
35361
35362
|
//#region src/components/Maplibre/useWayfindingAndMarkers.ts
|
|
35362
|
-
function
|
|
35363
|
+
function Bn(e, t) {
|
|
35363
35364
|
(0, F.useEffect)(() => {
|
|
35364
35365
|
if (!e) return;
|
|
35365
35366
|
let n = d({
|
|
35366
35367
|
scene: e,
|
|
35367
|
-
store:
|
|
35368
|
+
store: k,
|
|
35368
35369
|
canvas: t
|
|
35369
|
-
}), r =
|
|
35370
|
+
}), r = ue({ scene: e });
|
|
35370
35371
|
return () => {
|
|
35371
35372
|
n(), r();
|
|
35372
35373
|
};
|
|
@@ -35374,17 +35375,17 @@ function zn(e, t) {
|
|
|
35374
35375
|
}
|
|
35375
35376
|
//#endregion
|
|
35376
35377
|
//#region src/components/Maplibre/utils/solver.ts
|
|
35377
|
-
var
|
|
35378
|
-
function
|
|
35378
|
+
var Vn = 1e-12, Hn = 3.28084, Un = 6371e3, Wn = 1, Gn = .02;
|
|
35379
|
+
function Kn(e, t) {
|
|
35379
35380
|
var n;
|
|
35380
35381
|
let r, i;
|
|
35381
35382
|
try {
|
|
35382
|
-
r =
|
|
35383
|
+
r = Xn(e), i = "perpendicular";
|
|
35383
35384
|
} catch (t) {
|
|
35384
35385
|
if (!e.p1) throw t;
|
|
35385
35386
|
r = e.p1, i = "explicit-fallback";
|
|
35386
35387
|
}
|
|
35387
|
-
let a =
|
|
35388
|
+
let a = qn(e);
|
|
35388
35389
|
i === "perpendicular" && a != null && a.inconsistent && console.warn("Maplibre geo: ignoring inconsistent anchor p1; placing venue from the p0->p2 diagonal.", {
|
|
35389
35390
|
angleErrorDeg: a.angleErrorDeg,
|
|
35390
35391
|
sideRatioError: a.ratioError
|
|
@@ -35395,9 +35396,9 @@ function Gn(e, t) {
|
|
|
35395
35396
|
e.p2
|
|
35396
35397
|
], s = [], c = [], l = [];
|
|
35397
35398
|
for (let e of o) {
|
|
35398
|
-
|
|
35399
|
-
let t =
|
|
35400
|
-
|
|
35399
|
+
Zn(e), c.push([e.x, e.y]);
|
|
35400
|
+
let t = _e.MercatorCoordinate.fromLngLat([e.lng, e.lat], 0), n = t.meterInMercatorCoordinateUnits();
|
|
35401
|
+
Qn(t.x), Qn(t.y), Qn(n), s.push(n), l.push([t.x, t.y]);
|
|
35401
35402
|
}
|
|
35402
35403
|
let u = [], d = [];
|
|
35403
35404
|
for (let e = 0; e < 3; e++) {
|
|
@@ -35418,7 +35419,7 @@ function Gn(e, t) {
|
|
|
35418
35419
|
1
|
|
35419
35420
|
]), d.push(i);
|
|
35420
35421
|
}
|
|
35421
|
-
let [f, p, m, h, g, _] =
|
|
35422
|
+
let [f, p, m, h, g, _] = ir(u, d), v = (t == null || (n = t.toLowerCase) == null ? void 0 : n.call(t).trim()) === "ft" ? 1 / Hn : 1, y = [
|
|
35422
35423
|
f,
|
|
35423
35424
|
h,
|
|
35424
35425
|
0,
|
|
@@ -35439,34 +35440,34 @@ function Gn(e, t) {
|
|
|
35439
35440
|
if (!y.every(Number.isFinite)) throw Error("Cannot calculate Maplibre transform: geo anchor points produced a non-finite matrix.");
|
|
35440
35441
|
return y;
|
|
35441
35442
|
}
|
|
35442
|
-
function
|
|
35443
|
+
function qn(e) {
|
|
35443
35444
|
let t = e.p1;
|
|
35444
35445
|
if (!t) return null;
|
|
35445
|
-
let n =
|
|
35446
|
+
let n = Jn(e.p0.x, e.p0.y, t.x, t.y, e.p2.x, e.p2.y), r = Yn(e.p0, t, e.p2), i = Math.abs(n.angleDeg - r.angleDeg), a = Number.isFinite(r.axisRatio) && r.axisRatio > 0 ? Math.abs(n.axisRatio / r.axisRatio - 1) : Infinity;
|
|
35446
35447
|
return {
|
|
35447
35448
|
angleErrorDeg: i,
|
|
35448
35449
|
ratioError: a,
|
|
35449
|
-
inconsistent: i >
|
|
35450
|
+
inconsistent: i > Wn || a > Gn
|
|
35450
35451
|
};
|
|
35451
35452
|
}
|
|
35452
|
-
function
|
|
35453
|
+
function Jn(e, t, n, r, i, a) {
|
|
35453
35454
|
let o = Math.hypot(n - e, r - t), s = Math.hypot(i - e, a - t), c = (n - e) * (i - e) + (r - t) * (a - t), l = o > 0 && s > 0 ? c / (o * s) : NaN;
|
|
35454
35455
|
return {
|
|
35455
35456
|
axisRatio: o > 0 ? s / o : Infinity,
|
|
35456
|
-
angleDeg:
|
|
35457
|
+
angleDeg: er(Math.acos(Math.max(-1, Math.min(1, l))))
|
|
35457
35458
|
};
|
|
35458
35459
|
}
|
|
35459
|
-
function
|
|
35460
|
-
let r =
|
|
35460
|
+
function Yn(e, t, n) {
|
|
35461
|
+
let r = tr(e.lat, e.lng, t.lat, t.lng), i = tr(e.lat, e.lng, n.lat, n.lng), a = nr(e.lat, e.lng, t.lat, t.lng), o = nr(e.lat, e.lng, n.lat, n.lng), s = Math.abs(o - a) % 360;
|
|
35461
35462
|
return s > 180 && (s = 360 - s), {
|
|
35462
35463
|
axisRatio: r > 0 ? i / r : Infinity,
|
|
35463
35464
|
angleDeg: s
|
|
35464
35465
|
};
|
|
35465
35466
|
}
|
|
35466
|
-
function
|
|
35467
|
+
function Xn(e) {
|
|
35467
35468
|
let t = e.p2.x - e.p0.x, n = e.p2.y - e.p0.y;
|
|
35468
35469
|
if (t === 0 && n === 0) throw Error("Cannot calculate Maplibre transform: p0 and p2 have identical SVG coordinates.");
|
|
35469
|
-
let r = e.p0.x - n, i = e.p0.y + t, a =
|
|
35470
|
+
let r = e.p0.x - n, i = e.p0.y + t, a = tr(e.p0.lat, e.p0.lng, e.p2.lat, e.p2.lng), o = nr(e.p0.lat, e.p0.lng, e.p2.lat, e.p2.lng), [s, c] = rr(e.p0.lat, e.p0.lng, a, o + 90);
|
|
35470
35471
|
return {
|
|
35471
35472
|
x: r,
|
|
35472
35473
|
y: i,
|
|
@@ -35474,36 +35475,36 @@ function Yn(e) {
|
|
|
35474
35475
|
lng: s
|
|
35475
35476
|
};
|
|
35476
35477
|
}
|
|
35477
|
-
function Xn(e) {
|
|
35478
|
-
Zn(e.x), Zn(e.y), Zn(e.lat), Zn(e.lng);
|
|
35479
|
-
}
|
|
35480
35478
|
function Zn(e) {
|
|
35481
|
-
|
|
35479
|
+
Qn(e.x), Qn(e.y), Qn(e.lat), Qn(e.lng);
|
|
35482
35480
|
}
|
|
35483
35481
|
function Qn(e) {
|
|
35484
|
-
|
|
35482
|
+
if (!Number.isFinite(e)) throw Error("Cannot calculate Maplibre transform: geo anchor points contain invalid coordinates.");
|
|
35485
35483
|
}
|
|
35486
35484
|
function $n(e) {
|
|
35487
|
-
return e *
|
|
35485
|
+
return e * Math.PI / 180;
|
|
35488
35486
|
}
|
|
35489
|
-
function er(e
|
|
35490
|
-
|
|
35491
|
-
return Hn * (2 * Math.atan2(Math.sqrt(c), Math.sqrt(1 - c)));
|
|
35487
|
+
function er(e) {
|
|
35488
|
+
return e * 180 / Math.PI;
|
|
35492
35489
|
}
|
|
35493
35490
|
function tr(e, t, n, r) {
|
|
35494
|
-
let i =
|
|
35495
|
-
return (
|
|
35491
|
+
let i = $n(e), a = $n(n), o = $n(n - e), s = $n(r - t), c = Math.sin(o / 2) * Math.sin(o / 2) + Math.cos(i) * Math.cos(a) * Math.sin(s / 2) * Math.sin(s / 2);
|
|
35492
|
+
return Un * (2 * Math.atan2(Math.sqrt(c), Math.sqrt(1 - c)));
|
|
35496
35493
|
}
|
|
35497
35494
|
function nr(e, t, n, r) {
|
|
35498
|
-
let i = n
|
|
35499
|
-
return
|
|
35495
|
+
let i = $n(e), a = $n(n), o = $n(r - t), s = Math.sin(o) * Math.cos(a), c = Math.cos(i) * Math.sin(a) - Math.sin(i) * Math.cos(a) * Math.cos(o);
|
|
35496
|
+
return (er(Math.atan2(s, c)) + 360) % 360;
|
|
35497
|
+
}
|
|
35498
|
+
function rr(e, t, n, r) {
|
|
35499
|
+
let i = n / Un, a = $n(r), o = $n(e), s = $n(t), c = Math.asin(Math.sin(o) * Math.cos(i) + Math.cos(o) * Math.sin(i) * Math.cos(a));
|
|
35500
|
+
return [er(s + Math.atan2(Math.sin(a) * Math.sin(i) * Math.cos(o), Math.cos(i) - Math.sin(o) * Math.sin(c))), er(c)];
|
|
35500
35501
|
}
|
|
35501
|
-
function
|
|
35502
|
+
function ir(e, t) {
|
|
35502
35503
|
let n = e.length, r = e.map((e, n) => [...e, t[n]]);
|
|
35503
35504
|
for (let e = 0; e < n; e++) {
|
|
35504
35505
|
let t = e;
|
|
35505
35506
|
for (let i = e + 1; i < n; i++) Math.abs(r[i][e]) > Math.abs(r[t][e]) && (t = i);
|
|
35506
|
-
if ([r[e], r[t]] = [r[t], r[e]], Math.abs(r[e][e]) <
|
|
35507
|
+
if ([r[e], r[t]] = [r[t], r[e]], Math.abs(r[e][e]) < Vn) throw Error("Cannot calculate Maplibre transform: geo anchor points are collinear or invalid.");
|
|
35507
35508
|
for (let t = e + 1; t < n; t++) {
|
|
35508
35509
|
let i = r[t][e] / r[e][e];
|
|
35509
35510
|
for (let a = e; a <= n; a++) r[t][a] -= i * r[e][a];
|
|
@@ -35519,8 +35520,8 @@ function rr(e, t) {
|
|
|
35519
35520
|
}
|
|
35520
35521
|
//#endregion
|
|
35521
35522
|
//#region src/components/Maplibre/MaplibreAdapter.tsx
|
|
35522
|
-
var
|
|
35523
|
-
function
|
|
35523
|
+
var ar = "routes-api.expofp.com", or = 800;
|
|
35524
|
+
function sr(e, t, n) {
|
|
35524
35525
|
return {
|
|
35525
35526
|
getCameraState: () => {
|
|
35526
35527
|
let t = e.getCenter();
|
|
@@ -35539,7 +35540,7 @@ function or(e, t, n) {
|
|
|
35539
35540
|
zoom: r.zoom,
|
|
35540
35541
|
bearing: (i = r.bearing) == null ? t : i,
|
|
35541
35542
|
pitch: (a = r.pitch) == null ? n() : a,
|
|
35542
|
-
duration:
|
|
35543
|
+
duration: or,
|
|
35543
35544
|
essential: !0
|
|
35544
35545
|
});
|
|
35545
35546
|
},
|
|
@@ -35549,62 +35550,62 @@ function or(e, t, n) {
|
|
|
35549
35550
|
}
|
|
35550
35551
|
};
|
|
35551
35552
|
}
|
|
35552
|
-
function
|
|
35553
|
-
|
|
35554
|
-
|
|
35553
|
+
function cr() {
|
|
35554
|
+
k.poiMarkerStore.clear(), a(() => {
|
|
35555
|
+
k.layerStore.layers.forEach((e) => {
|
|
35555
35556
|
e.configured = !1, e.children = [], e.loaded = !1;
|
|
35556
|
-
}),
|
|
35557
|
+
}), k.layerStore.layersLoaded = !1;
|
|
35557
35558
|
});
|
|
35558
35559
|
}
|
|
35559
|
-
var
|
|
35560
|
+
var lr = re(function({ viewMode: e }) {
|
|
35560
35561
|
var t;
|
|
35561
|
-
let [n, r] = (0, F.useState)(null), [i, a] = (0, F.useState)(!1), o = (0, F.useRef)(null), s = (0, F.useRef)(null), l = (0, F.useRef)(null),
|
|
35562
|
-
layerViewbox:
|
|
35563
|
-
explicitArea:
|
|
35564
|
-
layerRectangle:
|
|
35562
|
+
let [n, r] = (0, F.useState)(null), [i, a] = (0, F.useState)(!1), o = (0, F.useRef)(null), s = (0, F.useRef)(null), l = (0, F.useRef)(null), d = (0, F.useRef)(null), f = (0, F.useRef)(null), p = (0, F.useMemo)(() => K(), []), h = (0, F.useMemo)(() => N({
|
|
35563
|
+
layerViewbox: k.layerStore.viewboxRectangle,
|
|
35564
|
+
explicitArea: u ? C : null,
|
|
35565
|
+
layerRectangle: k.layerStore.rectangle,
|
|
35565
35566
|
sceneDef: n,
|
|
35566
|
-
svgArea:
|
|
35567
|
-
}), [n]),
|
|
35568
|
-
if (!
|
|
35569
|
-
let e =
|
|
35570
|
-
e &&
|
|
35571
|
-
let n =
|
|
35572
|
-
width:
|
|
35573
|
-
height:
|
|
35567
|
+
svgArea: C
|
|
35568
|
+
}), [n]), y = h.rect, b = (0, F.useMemo)(() => {
|
|
35569
|
+
if (!p) return null;
|
|
35570
|
+
let e = A(h.source) ? 0 : j(y, C), t = on(0);
|
|
35571
|
+
e && M.screenSize && (t.left += M.screenSize.width * e, t.right += M.screenSize.width * e, t.top += M.screenSize.height * e, t.bottom += M.screenSize.height * e);
|
|
35572
|
+
let n = M.screenSize ? rn(y, p.gpsConfig, p.bearing, {
|
|
35573
|
+
width: M.screenSize.width,
|
|
35574
|
+
height: M.screenSize.height
|
|
35574
35575
|
}, t) : null;
|
|
35575
35576
|
return n ? {
|
|
35576
35577
|
center: n.center,
|
|
35577
|
-
bearing:
|
|
35578
|
+
bearing: p.bearing,
|
|
35578
35579
|
zoom: n.zoom
|
|
35579
35580
|
} : {
|
|
35580
|
-
center:
|
|
35581
|
-
bearing:
|
|
35582
|
-
zoom:
|
|
35583
|
-
bounds:
|
|
35581
|
+
center: p.center,
|
|
35582
|
+
bearing: p.bearing,
|
|
35583
|
+
zoom: p.zoom,
|
|
35584
|
+
bounds: tn(y, p.gpsConfig),
|
|
35584
35585
|
fitPadding: t,
|
|
35585
|
-
zoomAdjustment:
|
|
35586
|
+
zoomAdjustment: Kt
|
|
35586
35587
|
};
|
|
35587
35588
|
}, [
|
|
35588
|
-
f,
|
|
35589
35589
|
p,
|
|
35590
|
-
|
|
35591
|
-
|
|
35590
|
+
h,
|
|
35591
|
+
y
|
|
35592
|
+
]), x = (0, F.useMemo)(() => {
|
|
35592
35593
|
var e;
|
|
35593
|
-
return
|
|
35594
|
-
}, [
|
|
35594
|
+
return p ? Kn(p.gpsConfig, (e = O()) == null ? void 0 : e.getAttribute("units")) : null;
|
|
35595
|
+
}, [p]), S = M.mapSettings.pitchdegrees, T = M.maxPitch, E = (0, F.useMemo)(() => {
|
|
35595
35596
|
let t = e === "map2d";
|
|
35596
35597
|
return {
|
|
35597
|
-
pitch: t ? 0 :
|
|
35598
|
-
maxPitch: t ? 0 :
|
|
35598
|
+
pitch: t ? 0 : S,
|
|
35599
|
+
maxPitch: t ? 0 : T,
|
|
35599
35600
|
minZoom: 12
|
|
35600
35601
|
};
|
|
35601
35602
|
}, [
|
|
35602
35603
|
e,
|
|
35603
|
-
|
|
35604
|
-
|
|
35605
|
-
]),
|
|
35606
|
-
if (!n || !
|
|
35607
|
-
let e = n.rootLayer.children, t =
|
|
35604
|
+
S,
|
|
35605
|
+
T
|
|
35606
|
+
]), D = (0, F.useRef)(E), ee = (0, F.useMemo)(() => wn(), []), P = (0, F.useMemo)(() => {
|
|
35607
|
+
if (!n || !x) return null;
|
|
35608
|
+
let e = n.rootLayer.children, t = g(e) ? e.filter((e) => e.name.toLowerCase() !== "areamap") : e;
|
|
35608
35609
|
return {
|
|
35609
35610
|
...n,
|
|
35610
35611
|
rootLayer: {
|
|
@@ -35612,81 +35613,81 @@ var cr = re(function({ viewMode: e }) {
|
|
|
35612
35613
|
children: t
|
|
35613
35614
|
},
|
|
35614
35615
|
background: void 0,
|
|
35615
|
-
staticTransform:
|
|
35616
|
+
staticTransform: x
|
|
35616
35617
|
};
|
|
35617
|
-
}, [n,
|
|
35618
|
+
}, [n, x]), re = (0, F.useRef)(null);
|
|
35618
35619
|
(0, F.useEffect)(() => {
|
|
35619
35620
|
re.current = P;
|
|
35620
35621
|
}, [P]), (0, F.useEffect)(() => {
|
|
35621
|
-
if (P) return
|
|
35622
|
+
if (P) return te(P), () => te(void 0);
|
|
35622
35623
|
}, [P]);
|
|
35623
|
-
let { mapDimAnimatorRef: ie, venueDimAnimatorRef:
|
|
35624
|
+
let { mapDimAnimatorRef: ie, venueDimAnimatorRef: ae, applyDimmingTarget: ue, handleMapDimLayerReady: de } = En(o, re);
|
|
35624
35625
|
(0, F.useEffect)(() => {
|
|
35625
|
-
if (!
|
|
35626
|
+
if (!p) return;
|
|
35626
35627
|
let e = !1;
|
|
35627
|
-
|
|
35628
|
+
cr(), ce().then(({ layers: t, cleanup: n }) => {
|
|
35628
35629
|
if (e) {
|
|
35629
35630
|
n();
|
|
35630
35631
|
return;
|
|
35631
35632
|
}
|
|
35632
35633
|
l.current = n;
|
|
35633
|
-
let i = (0,
|
|
35634
|
-
r(
|
|
35634
|
+
let i = (0, ge.default)(ne.backgroundColor === "none" ? "#ebebeb" : ne.backgroundColor).string();
|
|
35635
|
+
r(v(t, C, i));
|
|
35635
35636
|
}).catch((t) => {
|
|
35636
35637
|
e || console.warn("Maplibre scene configuration failed.", t);
|
|
35637
35638
|
});
|
|
35638
|
-
let t = ie.current, n =
|
|
35639
|
+
let t = ie.current, n = ae.current;
|
|
35639
35640
|
return () => {
|
|
35640
35641
|
var r;
|
|
35641
|
-
e = !0,
|
|
35642
|
+
e = !0, cr(), (r = l.current) == null || r.call(l), l.current = null, f.current && (k.maplibreStore.clearCameraPortIfCurrent(f.current), f.current = null), o.current = null, s.current = null, d.current = null, a(!1), t == null || t.stop(), n == null || n.stop(), M.sceneDefReady = !1;
|
|
35642
35643
|
};
|
|
35643
35644
|
}, [
|
|
35644
|
-
|
|
35645
|
+
p,
|
|
35645
35646
|
ie,
|
|
35646
|
-
|
|
35647
|
+
ae
|
|
35647
35648
|
]);
|
|
35648
|
-
let
|
|
35649
|
+
let pe = (0, F.useCallback)((e, t) => {
|
|
35649
35650
|
var n;
|
|
35650
|
-
o.current = e, s.current = e.getCanvas(),
|
|
35651
|
-
let r =
|
|
35651
|
+
o.current = e, s.current = e.getCanvas(), d.current = t, a(!0), e.once("idle", () => Cn(e, D.current));
|
|
35652
|
+
let r = sr(e, (n = p == null ? void 0 : p.bearing) == null ? e.getBearing() : n, () => {
|
|
35652
35653
|
var e;
|
|
35653
|
-
return (e =
|
|
35654
|
+
return (e = D.current.pitch) == null ? 0 : e;
|
|
35654
35655
|
});
|
|
35655
|
-
|
|
35656
|
-
}, [ue,
|
|
35656
|
+
f.current = r, k.maplibreStore.setCameraPort(r), k.fp.getCenterCoordinates = () => oe(s.current), ue({ immediate: !0 }), w(), k.layerStore.layersLoaded = !0, k.fp.onFpConfigured && k.fp.onFpConfigured(), M.sceneDefReady = !0, t();
|
|
35657
|
+
}, [ue, p]);
|
|
35657
35658
|
(0, F.useEffect)(() => {
|
|
35658
|
-
|
|
35659
|
-
}, [
|
|
35660
|
-
enabled:
|
|
35659
|
+
D.current = E, Cn(o.current, E);
|
|
35660
|
+
}, [E]), Dn(i, o), Bn(P, s), zn(i, o, p), kn(P, o, p), mn(o, p, P), se({
|
|
35661
|
+
enabled: k.layerStore.layersLoaded && M.buildRoute,
|
|
35661
35662
|
scene: P == null ? void 0 : P
|
|
35662
35663
|
});
|
|
35663
|
-
let
|
|
35664
|
-
|
|
35665
|
-
permission:
|
|
35664
|
+
let he = (t = m.busRoutes) != null && t;
|
|
35665
|
+
le({
|
|
35666
|
+
permission: k.layerStore.layersLoaded && he,
|
|
35666
35667
|
scene: P == null ? void 0 : P,
|
|
35667
|
-
dataJsonUrl: `https://${
|
|
35668
|
-
websocketUrl: `wss://${
|
|
35668
|
+
dataJsonUrl: `https://${ar}/v1/routes?expo=${ne.EXPO}`,
|
|
35669
|
+
websocketUrl: `wss://${ar}/locations?expo=${ne.EXPO}`
|
|
35669
35670
|
});
|
|
35670
35671
|
let _e = (0, F.useCallback)((e) => {
|
|
35671
|
-
console.warn("Maplibre map failed to load; falling back to floorplan mode.", e),
|
|
35672
|
+
console.warn("Maplibre map failed to load; falling back to floorplan mode.", e), k.maplibreStore.deactivateMaplibre();
|
|
35672
35673
|
}, []);
|
|
35673
|
-
if (!
|
|
35674
|
-
let ve = `${
|
|
35675
|
-
return /* @__PURE__ */ (0,
|
|
35674
|
+
if (!p || !b || !x || !P) return null;
|
|
35675
|
+
let ve = `${b.center.join(",")}:${b.bearing}:${b.zoom}`;
|
|
35676
|
+
return /* @__PURE__ */ (0, Nt.jsxs)(Gt, {
|
|
35676
35677
|
sceneDef: P,
|
|
35677
|
-
geoConfig:
|
|
35678
|
+
geoConfig: b,
|
|
35678
35679
|
tileSource: ee,
|
|
35679
|
-
mapOptions:
|
|
35680
|
+
mapOptions: E,
|
|
35680
35681
|
debug: c,
|
|
35681
|
-
onMapReady:
|
|
35682
|
-
onMapDimLayerReady:
|
|
35682
|
+
onMapReady: pe,
|
|
35683
|
+
onMapDimLayerReady: de,
|
|
35683
35684
|
onMapLoadError: _e,
|
|
35684
|
-
onPointerMissed:
|
|
35685
|
-
children: [/* @__PURE__ */ (0,
|
|
35685
|
+
onPointerMissed: _,
|
|
35686
|
+
children: [/* @__PURE__ */ (0, Nt.jsx)(fe, {}), c && /* @__PURE__ */ (0, Nt.jsx)(me, { canvas: s })]
|
|
35686
35687
|
}, ve);
|
|
35687
35688
|
});
|
|
35688
35689
|
//#endregion
|
|
35689
|
-
export {
|
|
35690
|
+
export { lr as default };
|
|
35690
35691
|
|
|
35691
35692
|
;/* vite-per-chunk-css */
|
|
35692
35693
|
__vite_inject_css__(".maplibregl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:-webkit-full-screen{width:100%;height:100%}.maplibregl-map:fullscreen{width:100%;height: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;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;z-index:2;position:absolute}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right: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{box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;outline:none;width:29px;height:29px;padding:0;display:block}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.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:2s linear infinite maplibregl-spin}@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{cursor:pointer;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;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;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{box-sizing:content-box;color:#000;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.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{box-sizing:border-box;cursor:pointer;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;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-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{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left: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{box-sizing:border-box;color:#333;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.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{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}[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{cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;position:relative;box-shadow:0 1px 2px #0000001a}.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;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:\"\";animation:2s infinite maplibregl-user-location-dot-pulse;position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:\"\";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@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%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items:center;padding:1rem;font-size:1.4em;line-height:1.2;transition:opacity 1s 1s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.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{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}\n/*$vite$:1*/", "MaplibreAdapter.css", false);
|