@eyeon/map 2.0.12 → 2.0.14
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/assets/MapViewer.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/chunks/MapViewer.js +2486 -2055
- package/dist/chunks/MapViewer.js.map +1 -1
- package/dist/chunks/stacking.js +962 -782
- package/dist/chunks/stacking.js.map +1 -1
- package/dist/chunks/wheelZoom.js +27 -27
- package/dist/core/currentLocation.d.ts +15 -0
- package/dist/core/currentLocation.d.ts.map +1 -0
- package/dist/core/hostChrome.d.ts +9 -1
- package/dist/core/hostChrome.d.ts.map +1 -1
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +144 -130
- package/dist/core/publicShapes.d.ts +18 -0
- package/dist/core/publicShapes.d.ts.map +1 -0
- package/dist/core/publish/index.d.ts.map +1 -1
- package/dist/core/types.d.ts +12 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/websiteModal.d.ts +53 -0
- package/dist/core/websiteModal.d.ts.map +1 -0
- package/dist/editor/index.css +239 -48
- package/dist/editor/index.js +2215 -2291
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/panels/formRows.d.ts.map +1 -1
- package/dist/specialIcons.d.ts +2 -2
- package/dist/viewer/MapViewer.d.ts +2 -0
- package/dist/viewer/MapViewer.d.ts.map +1 -1
- package/dist/viewer/camera.d.ts +10 -1
- package/dist/viewer/camera.d.ts.map +1 -1
- package/dist/viewer/components/LevelMeshes.d.ts +6 -2
- package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
- package/dist/viewer/components/MapScene.d.ts +7 -2
- package/dist/viewer/components/MapScene.d.ts.map +1 -1
- package/dist/viewer/components/RouteLine.d.ts +25 -4
- package/dist/viewer/components/RouteLine.d.ts.map +1 -1
- package/dist/viewer/fetchWebsiteRetailers.d.ts +3 -0
- package/dist/viewer/fetchWebsiteRetailers.d.ts.map +1 -0
- package/dist/viewer/index.css +227 -0
- package/dist/viewer/index.js +6 -6
- package/dist/viewer/orbitWheelZoom.d.ts +12 -0
- package/dist/viewer/orbitWheelZoom.d.ts.map +1 -0
- package/dist/viewer/ui/WebsiteInfoModal.d.ts +10 -0
- package/dist/viewer/ui/WebsiteInfoModal.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/chunks/stacking.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
const
|
|
4
|
-
function
|
|
1
|
+
import Zt from "ngraph.graph";
|
|
2
|
+
import jt from "ngraph.path";
|
|
3
|
+
const qt = "transparent";
|
|
4
|
+
function pt(t) {
|
|
5
5
|
const e = (t ?? "").trim().toLowerCase();
|
|
6
|
-
return e ===
|
|
6
|
+
return e === qt || e === "none";
|
|
7
7
|
}
|
|
8
|
-
const
|
|
8
|
+
const wt = "#E9F7FC", Qt = [
|
|
9
9
|
"green-area",
|
|
10
10
|
"water-area",
|
|
11
11
|
"parking-lane",
|
|
12
12
|
"parking-icon",
|
|
13
13
|
"walking-path"
|
|
14
|
-
],
|
|
14
|
+
], Jt = {
|
|
15
15
|
"green-area": "GREEN_AREA_COLOR",
|
|
16
16
|
"water-area": "WATER_COLOR",
|
|
17
17
|
"parking-lane": "PARKING_LANE_COLOR",
|
|
18
18
|
"parking-icon": "PARKING_ICON_COLOR",
|
|
19
19
|
"walking-path": "WALKABLE_COLOR"
|
|
20
|
-
},
|
|
20
|
+
}, Pt = {
|
|
21
21
|
"green-area": {
|
|
22
22
|
fill: "#C4DDAB",
|
|
23
23
|
renderOrder: 2,
|
|
@@ -39,16 +39,16 @@ const vt = "#E9F7FC", Zt = [
|
|
|
39
39
|
extrudeHeight: 1
|
|
40
40
|
},
|
|
41
41
|
"walking-path": {
|
|
42
|
-
fill:
|
|
42
|
+
fill: wt,
|
|
43
43
|
renderOrder: 2,
|
|
44
44
|
extrudeHeight: 1
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
function z(t) {
|
|
48
|
-
const e =
|
|
48
|
+
const e = Pt[t];
|
|
49
49
|
return e.fill ?? e.stroke ?? "";
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function te() {
|
|
52
52
|
return {
|
|
53
53
|
GREEN_AREA_COLOR: z("green-area"),
|
|
54
54
|
WATER_COLOR: z("water-area"),
|
|
@@ -57,47 +57,47 @@ function qt() {
|
|
|
57
57
|
WALKABLE_COLOR: z("walking-path")
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function Ft(t) {
|
|
61
61
|
return t.toLowerCase().replace(/[-_]+/g, " ").replace(/\s+/g, " ").trim();
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
const n =
|
|
63
|
+
function ee(t, e) {
|
|
64
|
+
const n = Ft(e);
|
|
65
65
|
return !!(t === n || t.startsWith(`${n} `) || t === `${n}s` || t.startsWith(`${n}s `));
|
|
66
66
|
}
|
|
67
|
-
function
|
|
67
|
+
function ne(t) {
|
|
68
68
|
if (!t) return null;
|
|
69
|
-
const e =
|
|
69
|
+
const e = Ft(t);
|
|
70
70
|
if (!e) return null;
|
|
71
|
-
const n = [...
|
|
71
|
+
const n = [...Qt].sort((o, r) => r.length - o.length);
|
|
72
72
|
for (const o of n)
|
|
73
|
-
if (
|
|
73
|
+
if (ee(e, o)) return o;
|
|
74
74
|
return null;
|
|
75
75
|
}
|
|
76
|
-
function
|
|
77
|
-
const o =
|
|
76
|
+
function oe(t, e, n) {
|
|
77
|
+
const o = Jt[e];
|
|
78
78
|
if (!o) return t;
|
|
79
79
|
const r = n == null ? void 0 : n[o];
|
|
80
|
-
return typeof r != "string" ? t :
|
|
80
|
+
return typeof r != "string" ? t : pt(r) ? t.fill ? { ...t, fill: "transparent" } : t.stroke ? { ...t, stroke: "transparent" } : t : r.trim() ? t.fill ? { ...t, fill: r } : t.stroke ? { ...t, stroke: r } : t : t;
|
|
81
81
|
}
|
|
82
|
-
function
|
|
83
|
-
const n =
|
|
84
|
-
return n ?
|
|
82
|
+
function mt(t, e) {
|
|
83
|
+
const n = ne(t);
|
|
84
|
+
return n ? oe(Pt[n], n, e) : null;
|
|
85
85
|
}
|
|
86
|
-
function
|
|
86
|
+
function re(t, e) {
|
|
87
87
|
const n = (e == null ? void 0 : e.omitStaticLayers) === !0, o = /* @__PURE__ */ new Set();
|
|
88
88
|
for (const r of t) {
|
|
89
89
|
const s = r.sourceSvgId;
|
|
90
|
-
s && (n &&
|
|
90
|
+
s && (n && mt(s) || o.add(s));
|
|
91
91
|
}
|
|
92
92
|
return o;
|
|
93
93
|
}
|
|
94
|
-
function
|
|
95
|
-
return
|
|
94
|
+
function Wn(t) {
|
|
95
|
+
return re(
|
|
96
96
|
t.flatMap((e) => [...e.shapes]),
|
|
97
97
|
{ omitStaticLayers: !0 }
|
|
98
98
|
);
|
|
99
99
|
}
|
|
100
|
-
const
|
|
100
|
+
const U = {
|
|
101
101
|
MAP_STYLE: "2D",
|
|
102
102
|
MAP_BACKGROUND_COLOR: "#FFFFFF",
|
|
103
103
|
ACCENT_COLOR: "#2563eb",
|
|
@@ -113,46 +113,46 @@ const W = {
|
|
|
113
113
|
OVERLAY_COLOR: "#000000",
|
|
114
114
|
OVERLAY_OPACITY: 0.15,
|
|
115
115
|
PARKING_ZONE_COLOR: "#cbd5e1",
|
|
116
|
-
...
|
|
116
|
+
...te(),
|
|
117
117
|
KIOSK_SIZE: 12,
|
|
118
118
|
ZOOM_STEP: 0.5,
|
|
119
119
|
CAMERA_MAX_DISTANCE: 2e3,
|
|
120
120
|
CAMERA_MIN_DISTANCE: 50
|
|
121
|
-
},
|
|
122
|
-
function
|
|
121
|
+
}, ie = "#f5f5f5", se = /* @__PURE__ */ new Set(["#f8fafc", "#f1efea"]), ce = "#86efac", ae = "#7dd3fc", le = "#e2e8f0", ue = 500;
|
|
122
|
+
function Yt(t) {
|
|
123
123
|
const e = typeof t == "number" ? t : Number(t);
|
|
124
|
-
return !Number.isFinite(e) || e <= 0 ? 0 : Math.min(e,
|
|
124
|
+
return !Number.isFinite(e) || e <= 0 ? 0 : Math.min(e, ue);
|
|
125
125
|
}
|
|
126
|
-
function
|
|
127
|
-
const e = Object.assign({},
|
|
128
|
-
return e.MAP_BACKGROUND_COLOR.toLowerCase() ===
|
|
126
|
+
function fe(...t) {
|
|
127
|
+
const e = Object.assign({}, U, ...t.filter(Boolean));
|
|
128
|
+
return e.MAP_BACKGROUND_COLOR.toLowerCase() === ie && (e.MAP_BACKGROUND_COLOR = U.MAP_BACKGROUND_COLOR), se.has(e.WALKABLE_COLOR.toLowerCase()) && (e.WALKABLE_COLOR = wt), e.GREEN_AREA_COLOR.toLowerCase() === ce && (e.GREEN_AREA_COLOR = U.GREEN_AREA_COLOR), e.WATER_COLOR.toLowerCase() === ae && (e.WATER_COLOR = U.WATER_COLOR), e.STORE_DEFAULT_COLOR.toLowerCase() === le && (e.STORE_DEFAULT_COLOR = U.STORE_DEFAULT_COLOR), e.STORE_RADIUS = Yt(e.STORE_RADIUS), e;
|
|
129
129
|
}
|
|
130
|
-
const
|
|
130
|
+
const de = [
|
|
131
131
|
"unit",
|
|
132
132
|
"amenity",
|
|
133
133
|
"kiosk_screen",
|
|
134
134
|
"connector",
|
|
135
135
|
"entrance",
|
|
136
136
|
"parking_zone"
|
|
137
|
-
],
|
|
138
|
-
function
|
|
137
|
+
], ht = 1e4, zn = 2.5, he = "entrance", Un = 36, ye = 8;
|
|
138
|
+
function Vn(t) {
|
|
139
139
|
var e;
|
|
140
|
-
return t.kind === "entrance" && ((e = t.label) == null ? void 0 : e.imageKey) ===
|
|
140
|
+
return t.kind === "entrance" && ((e = t.label) == null ? void 0 : e.imageKey) === he;
|
|
141
141
|
}
|
|
142
|
-
function
|
|
143
|
-
return Math.max(
|
|
142
|
+
function Hn(t) {
|
|
143
|
+
return Math.max(ye, t);
|
|
144
144
|
}
|
|
145
|
-
const
|
|
146
|
-
function
|
|
147
|
-
return t === "left" || t === "right" ? t :
|
|
145
|
+
const Zn = ["left", "center", "right"], xe = "center";
|
|
146
|
+
function jn(t) {
|
|
147
|
+
return t === "left" || t === "right" ? t : xe;
|
|
148
148
|
}
|
|
149
|
-
function
|
|
149
|
+
function qn(t, e) {
|
|
150
150
|
return e === "left" ? t.minX : e === "right" ? t.maxX : (t.minX + t.maxX) / 2;
|
|
151
151
|
}
|
|
152
|
-
function
|
|
152
|
+
function Qn(t) {
|
|
153
153
|
return t === "left" ? "start" : t === "right" ? "end" : "middle";
|
|
154
154
|
}
|
|
155
|
-
const
|
|
155
|
+
const nt = 12, pe = nt, me = 4, ge = [
|
|
156
156
|
"retail_name",
|
|
157
157
|
"retail_logo",
|
|
158
158
|
"retail_text",
|
|
@@ -161,48 +161,48 @@ const J = 12, he = J, ye = 4, xe = [
|
|
|
161
161
|
"connector",
|
|
162
162
|
"custom_text",
|
|
163
163
|
"custom_image"
|
|
164
|
-
],
|
|
165
|
-
function
|
|
164
|
+
], be = new Set(ge);
|
|
165
|
+
function V(t, e) {
|
|
166
166
|
const n = typeof t == "number" ? t : Number(t);
|
|
167
167
|
return Number.isFinite(n) ? n : e;
|
|
168
168
|
}
|
|
169
|
-
const
|
|
170
|
-
function
|
|
169
|
+
const Ie = /^(?:|[+\-]|[+\-]?\.(?:0*)?)$/;
|
|
170
|
+
function ke(t) {
|
|
171
171
|
const e = t.trim();
|
|
172
|
-
if (
|
|
172
|
+
if (Ie.test(e))
|
|
173
173
|
return { render: 0, complete: !1 };
|
|
174
174
|
const n = Number(e);
|
|
175
175
|
return Number.isFinite(n) ? { render: n, complete: !0 } : { render: 0, complete: !1 };
|
|
176
176
|
}
|
|
177
|
-
function
|
|
178
|
-
const e =
|
|
177
|
+
function Jn(t) {
|
|
178
|
+
const e = ke(t);
|
|
179
179
|
return e.complete ? { display: String(e.render), render: e.render } : { display: "0", render: 0 };
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function P(t) {
|
|
182
182
|
if (t == null) return null;
|
|
183
183
|
const e = String(t).trim();
|
|
184
184
|
return e || null;
|
|
185
185
|
}
|
|
186
|
-
function
|
|
186
|
+
function _e(t) {
|
|
187
187
|
if (t == null) return null;
|
|
188
188
|
const e = String(t);
|
|
189
189
|
return e === "" ? null : e;
|
|
190
190
|
}
|
|
191
|
-
function
|
|
191
|
+
function it(t) {
|
|
192
192
|
if (t == null || t === "") return null;
|
|
193
193
|
const e = Number(t);
|
|
194
194
|
return Number.isFinite(e) ? e : null;
|
|
195
195
|
}
|
|
196
|
-
function
|
|
197
|
-
return typeof t == "string" &&
|
|
196
|
+
function Ae(t) {
|
|
197
|
+
return typeof t == "string" && be.has(t);
|
|
198
198
|
}
|
|
199
|
-
function
|
|
199
|
+
function Dt(t) {
|
|
200
200
|
return t === "amenity" ? "amenity" : t === "kiosk_screen" ? "kiosk" : t === "connector" ? "connector" : "retail_name";
|
|
201
201
|
}
|
|
202
|
-
function
|
|
202
|
+
function to(t) {
|
|
203
203
|
return t === "amenity" ? "amenity" : t === "kiosk_screen" ? "kiosk" : t === "unit" || t === "parking_zone" ? "retailer" : "none";
|
|
204
204
|
}
|
|
205
|
-
function
|
|
205
|
+
function eo(t, e) {
|
|
206
206
|
return {
|
|
207
207
|
shapeId: t,
|
|
208
208
|
targetType: "none",
|
|
@@ -213,8 +213,8 @@ function Gn(t, e) {
|
|
|
213
213
|
unitNumber: null,
|
|
214
214
|
customLabel: null,
|
|
215
215
|
customImageKey: null,
|
|
216
|
-
layerType:
|
|
217
|
-
size:
|
|
216
|
+
layerType: Dt(e),
|
|
217
|
+
size: nt,
|
|
218
218
|
rotate: 0,
|
|
219
219
|
offsetX: 0,
|
|
220
220
|
offsetY: 0,
|
|
@@ -222,145 +222,145 @@ function Gn(t, e) {
|
|
|
222
222
|
textColor: null
|
|
223
223
|
};
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function no(t, e = "unit") {
|
|
226
226
|
const n = t.layerType ?? t.layer_type, o = t.unitStatus ?? t.unit_status ?? "vacant";
|
|
227
227
|
return {
|
|
228
|
-
shapeId:
|
|
228
|
+
shapeId: V(
|
|
229
229
|
t.shapeId ?? t.shape_id,
|
|
230
230
|
0
|
|
231
231
|
),
|
|
232
232
|
targetType: t.targetType ?? t.target_type ?? "none",
|
|
233
|
-
retailerId:
|
|
233
|
+
retailerId: it(
|
|
234
234
|
t.retailerId ?? t.retailer_id
|
|
235
235
|
),
|
|
236
|
-
amenityId:
|
|
236
|
+
amenityId: it(
|
|
237
237
|
t.amenityId ?? t.amenity_id
|
|
238
238
|
),
|
|
239
|
-
kioskId:
|
|
239
|
+
kioskId: it(
|
|
240
240
|
t.kioskId ?? t.kiosk_id
|
|
241
241
|
),
|
|
242
242
|
unitStatus: o || "vacant",
|
|
243
|
-
unitNumber:
|
|
243
|
+
unitNumber: P(
|
|
244
244
|
t.unitNumber ?? t.unit_number
|
|
245
245
|
),
|
|
246
|
-
customLabel:
|
|
246
|
+
customLabel: _e(
|
|
247
247
|
t.customLabel ?? t.custom_label
|
|
248
248
|
),
|
|
249
|
-
customImageKey:
|
|
249
|
+
customImageKey: P(
|
|
250
250
|
t.customImageKey ?? t.custom_image_key
|
|
251
251
|
),
|
|
252
|
-
layerType:
|
|
253
|
-
size:
|
|
254
|
-
rotate:
|
|
255
|
-
offsetX:
|
|
252
|
+
layerType: Ae(n) ? n : Dt(e),
|
|
253
|
+
size: V(t.size, nt),
|
|
254
|
+
rotate: V(t.rotate, 0),
|
|
255
|
+
offsetX: V(
|
|
256
256
|
t.offsetX ?? t.offset_x,
|
|
257
257
|
0
|
|
258
258
|
),
|
|
259
|
-
offsetY:
|
|
259
|
+
offsetY: V(
|
|
260
260
|
t.offsetY ?? t.offset_y,
|
|
261
261
|
0
|
|
262
262
|
),
|
|
263
|
-
bgColor:
|
|
263
|
+
bgColor: P(
|
|
264
264
|
t.bgColor ?? t.bg_color
|
|
265
265
|
),
|
|
266
|
-
textColor:
|
|
266
|
+
textColor: P(
|
|
267
267
|
t.textColor ?? t.text_color
|
|
268
268
|
),
|
|
269
|
-
align:
|
|
269
|
+
align: Se(t.align)
|
|
270
270
|
};
|
|
271
271
|
}
|
|
272
|
-
function
|
|
272
|
+
function Se(t) {
|
|
273
273
|
if (t === "left" || t === "right" || t === "center") return t;
|
|
274
274
|
}
|
|
275
|
-
function
|
|
275
|
+
function oo(t, e) {
|
|
276
276
|
const n = (t.location ?? "").trim();
|
|
277
277
|
return e && n && n !== "-" ? `${t.name} (${n})` : t.name;
|
|
278
278
|
}
|
|
279
|
-
function
|
|
279
|
+
function ro(t, e) {
|
|
280
280
|
var o;
|
|
281
281
|
const n = (o = t == null ? void 0 : t.bgColor) == null ? void 0 : o.trim();
|
|
282
|
-
return
|
|
282
|
+
return pt(n) ? "transparent" : n || e;
|
|
283
283
|
}
|
|
284
|
-
function
|
|
284
|
+
function io(t, e) {
|
|
285
285
|
var o;
|
|
286
286
|
const n = (o = t == null ? void 0 : t.textColor) == null ? void 0 : o.trim();
|
|
287
|
-
return
|
|
287
|
+
return pt(n) ? "transparent" : n || e;
|
|
288
288
|
}
|
|
289
|
-
function
|
|
289
|
+
function so(t) {
|
|
290
290
|
const e = t.trim();
|
|
291
291
|
if (!e || !/^\d+$/.test(e)) return null;
|
|
292
292
|
const n = Number(e);
|
|
293
293
|
return Number.isSafeInteger(n) && n > 0 ? n : null;
|
|
294
294
|
}
|
|
295
|
-
function
|
|
295
|
+
function co(t, e) {
|
|
296
296
|
var r;
|
|
297
297
|
const n = e == null ? void 0 : e.trim();
|
|
298
298
|
if (n) return n;
|
|
299
299
|
const o = (r = t == null ? void 0 : t.customLabel) == null ? void 0 : r.trim();
|
|
300
300
|
return o || ((t == null ? void 0 : t.amenityId) != null ? `Amenity ${t.amenityId}` : null);
|
|
301
301
|
}
|
|
302
|
-
function
|
|
302
|
+
function ao(t, e) {
|
|
303
303
|
var r;
|
|
304
304
|
const n = (r = t == null ? void 0 : t.customLabel) == null ? void 0 : r.trim();
|
|
305
305
|
if (n) return n;
|
|
306
306
|
const o = e == null ? void 0 : e.trim();
|
|
307
307
|
return o || ((t == null ? void 0 : t.kioskId) != null ? `Kiosk ${t.kioskId}` : null);
|
|
308
308
|
}
|
|
309
|
-
function
|
|
309
|
+
function Y(t) {
|
|
310
310
|
var e, n;
|
|
311
311
|
return t ? t.targetType === "retailer" ? t.retailerId != null : t.targetType === "amenity" ? t.amenityId != null || !!((e = t.customLabel) != null && e.trim()) : t.targetType === "kiosk" ? t.kioskId != null || !!((n = t.customLabel) != null && n.trim()) : !1 : !1;
|
|
312
312
|
}
|
|
313
|
-
const
|
|
313
|
+
const Ce = /* @__PURE__ */ new Set([
|
|
314
314
|
"unit",
|
|
315
315
|
"parking_zone",
|
|
316
316
|
"amenity",
|
|
317
317
|
"kiosk_screen"
|
|
318
318
|
]);
|
|
319
|
-
function
|
|
319
|
+
function Kt(t, e, n) {
|
|
320
320
|
var o, r;
|
|
321
|
-
return t.kind === "label" || t.kind === "entrance" ? t.label : t.kind === "connector" || (e == null ? void 0 : e.layerType) === "connector" ? e ?
|
|
321
|
+
return t.kind === "label" || t.kind === "entrance" ? t.label : t.kind === "connector" || (e == null ? void 0 : e.layerType) === "connector" ? e ? kt(
|
|
322
322
|
{ style: t.style ?? {}, label: t.label },
|
|
323
323
|
e,
|
|
324
324
|
n
|
|
325
|
-
).label : t.label :
|
|
325
|
+
).label : t.label : Ce.has(t.kind) ? !e || !Y(e) ? !((o = t.label) != null && o.text) && !((r = t.label) != null && r.imageKey) ? t.label : {
|
|
326
326
|
...t.label,
|
|
327
327
|
text: void 0,
|
|
328
328
|
imageKey: void 0
|
|
329
|
-
} :
|
|
329
|
+
} : kt(
|
|
330
330
|
{ style: t.style ?? {}, label: t.label },
|
|
331
331
|
e,
|
|
332
332
|
n
|
|
333
333
|
).label : t.label;
|
|
334
334
|
}
|
|
335
|
-
function
|
|
336
|
-
if (
|
|
335
|
+
function Le(t, e) {
|
|
336
|
+
if (Y(t)) {
|
|
337
337
|
if (t.layerType === "retail_text" || t.layerType === "custom_text")
|
|
338
338
|
return t.customLabel ?? void 0;
|
|
339
339
|
if (t.layerType === "retail_name")
|
|
340
340
|
return (e == null ? void 0 : e.name) ?? t.customLabel ?? void 0;
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
function
|
|
344
|
-
if (!(!
|
|
345
|
-
return
|
|
343
|
+
function Bt(t, e, n) {
|
|
344
|
+
if (!(!Y(t) || !t) && !(t.layerType !== "retail_logo" && t.layerType !== "custom_image"))
|
|
345
|
+
return Oe(t, e) ?? P(n == null ? void 0 : n.imageKey) ?? void 0;
|
|
346
346
|
}
|
|
347
|
-
function
|
|
347
|
+
function lo(t, e) {
|
|
348
348
|
var n, o;
|
|
349
|
-
if (!(!
|
|
349
|
+
if (!(!Y(t) || !t)) {
|
|
350
350
|
if (t.layerType === "kiosk") return "kiosk";
|
|
351
351
|
if (t.layerType === "amenity")
|
|
352
352
|
return ((n = e == null ? void 0 : e.find((r) => r.id === t.amenityId)) == null ? void 0 : n.code) ?? ((o = t.customLabel) == null ? void 0 : o.trim()) ?? void 0;
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
|
-
function
|
|
356
|
-
const n = Number.isFinite(t) && t > 0 ? t :
|
|
357
|
-
return (e == null ? void 0 : e.layerType) === "retail_logo" ? n *
|
|
355
|
+
function ve(t, e) {
|
|
356
|
+
const n = Number.isFinite(t) && t > 0 ? t : nt;
|
|
357
|
+
return (e == null ? void 0 : e.layerType) === "retail_logo" ? n * me : n;
|
|
358
358
|
}
|
|
359
|
-
function
|
|
359
|
+
function uo(t) {
|
|
360
360
|
const e = t.assignment, n = t.label;
|
|
361
361
|
return {
|
|
362
|
-
size:
|
|
363
|
-
(e == null ? void 0 : e.size) ?? (n == null ? void 0 : n.size) ??
|
|
362
|
+
size: ve(
|
|
363
|
+
(e == null ? void 0 : e.size) ?? (n == null ? void 0 : n.size) ?? pe
|
|
364
364
|
),
|
|
365
365
|
rotate: (e == null ? void 0 : e.rotate) ?? (n == null ? void 0 : n.rotate) ?? 0,
|
|
366
366
|
offsetX: (e == null ? void 0 : e.offsetX) ?? (n == null ? void 0 : n.offsetX) ?? 0,
|
|
@@ -368,39 +368,39 @@ function qn(t) {
|
|
|
368
368
|
iconColor: (e == null ? void 0 : e.textColor) ?? (n == null ? void 0 : n.color) ?? null
|
|
369
369
|
};
|
|
370
370
|
}
|
|
371
|
-
function
|
|
371
|
+
function fo(t, e) {
|
|
372
372
|
var n;
|
|
373
|
-
return
|
|
373
|
+
return Y(t) ? (t == null ? void 0 : t.layerType) === "kiosk" || (t == null ? void 0 : t.layerType) === "amenity" || Bt(t, null, e) ? !0 : !!((n = e == null ? void 0 : e.text) != null && n.trim()) : !1;
|
|
374
374
|
}
|
|
375
|
-
function
|
|
376
|
-
if (
|
|
375
|
+
function Oe(t, e) {
|
|
376
|
+
if (Y(t)) {
|
|
377
377
|
if (t.layerType === "retail_logo")
|
|
378
|
-
return
|
|
378
|
+
return P(e == null ? void 0 : e.logoKey) ?? P(e == null ? void 0 : e.logoUrl) ?? P(t.customImageKey) ?? void 0;
|
|
379
379
|
if (t.layerType === "custom_image")
|
|
380
|
-
return
|
|
380
|
+
return P(t.customImageKey) ?? void 0;
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
|
-
function
|
|
383
|
+
function st(t) {
|
|
384
384
|
if (t.length === 0) return "";
|
|
385
385
|
const e = t[0];
|
|
386
386
|
return t.every((n) => n === e) ? e : "";
|
|
387
387
|
}
|
|
388
|
-
function
|
|
388
|
+
function It(t) {
|
|
389
389
|
if (t.length === 0) return !1;
|
|
390
390
|
const e = t[0];
|
|
391
391
|
return t.some((n) => n !== e);
|
|
392
392
|
}
|
|
393
|
-
function
|
|
393
|
+
function ho(t) {
|
|
394
394
|
const e = t.map((o) => o.bgColor ?? ""), n = t.map((o) => o.textColor ?? "");
|
|
395
395
|
return {
|
|
396
|
-
size:
|
|
397
|
-
bgColor:
|
|
398
|
-
textColor:
|
|
399
|
-
bgColorMixed:
|
|
400
|
-
textColorMixed:
|
|
396
|
+
size: st(t.map((o) => o.size)),
|
|
397
|
+
bgColor: st(e),
|
|
398
|
+
textColor: st(n),
|
|
399
|
+
bgColorMixed: It(e),
|
|
400
|
+
textColorMixed: It(n)
|
|
401
401
|
};
|
|
402
402
|
}
|
|
403
|
-
function
|
|
403
|
+
function yo(t, e) {
|
|
404
404
|
return {
|
|
405
405
|
...t,
|
|
406
406
|
...e.size != null ? { size: e.size } : {},
|
|
@@ -408,8 +408,8 @@ function to(t, e) {
|
|
|
408
408
|
...e.textColor !== void 0 ? { textColor: e.textColor } : {}
|
|
409
409
|
};
|
|
410
410
|
}
|
|
411
|
-
function
|
|
412
|
-
const o =
|
|
411
|
+
function kt(t, e, n) {
|
|
412
|
+
const o = Bt(e, n, t.label), r = Y(e) ? o ? void 0 : Le(e, n) ?? t.label.text : void 0;
|
|
413
413
|
return {
|
|
414
414
|
style: {
|
|
415
415
|
...t.style,
|
|
@@ -428,46 +428,197 @@ function bt(t, e, n) {
|
|
|
428
428
|
}
|
|
429
429
|
};
|
|
430
430
|
}
|
|
431
|
-
function
|
|
431
|
+
function xo(t) {
|
|
432
432
|
return t === "PORTAL" ? "editor" : "viewer";
|
|
433
433
|
}
|
|
434
|
-
const
|
|
434
|
+
const ct = {
|
|
435
435
|
search: !1,
|
|
436
436
|
amenities: !1,
|
|
437
437
|
floors: !0,
|
|
438
438
|
zoomReset: !0,
|
|
439
439
|
kioskOrigin: !1,
|
|
440
|
-
fetchDraft: !1
|
|
441
|
-
|
|
440
|
+
fetchDraft: !1,
|
|
441
|
+
storeModal: !1
|
|
442
|
+
}, Re = {
|
|
442
443
|
/** v1 WP_SITE / MapBox HOST WEBSITE. */
|
|
443
|
-
WEBSITE:
|
|
444
|
+
WEBSITE: { ...ct, storeModal: !0 },
|
|
444
445
|
/** Assign mode: click shapes, no public directory chrome. */
|
|
445
|
-
PORTAL_ASSIGN:
|
|
446
|
+
PORTAL_ASSIGN: ct,
|
|
446
447
|
DISPLAY_APP: {
|
|
447
|
-
...
|
|
448
|
+
...ct,
|
|
448
449
|
kioskOrigin: !0
|
|
449
450
|
}
|
|
450
451
|
};
|
|
451
|
-
function
|
|
452
|
-
return
|
|
452
|
+
function Me(t) {
|
|
453
|
+
return Re[t];
|
|
454
|
+
}
|
|
455
|
+
function po(t) {
|
|
456
|
+
return t !== "WEBSITE";
|
|
453
457
|
}
|
|
454
|
-
function
|
|
458
|
+
function mo(t) {
|
|
455
459
|
return t !== "PORTAL";
|
|
456
460
|
}
|
|
457
|
-
function
|
|
461
|
+
function Ee(t, e, n) {
|
|
462
|
+
var o;
|
|
463
|
+
return t === "DISPLAY_APP" && e != null && n.kind === "kiosk_screen" && !n.orphanedAt && ((o = n.assignment) == null ? void 0 : o.kioskId) === e;
|
|
464
|
+
}
|
|
465
|
+
function go(t, e, n) {
|
|
466
|
+
var o;
|
|
467
|
+
for (const r of t.levels) {
|
|
468
|
+
const s = r.shapes.find(
|
|
469
|
+
(u) => Ee(e, n, u)
|
|
470
|
+
);
|
|
471
|
+
if (s)
|
|
472
|
+
return {
|
|
473
|
+
levelId: r.id,
|
|
474
|
+
shapeId: s.id,
|
|
475
|
+
anchorId: ((o = r.anchors.find((u) => u.shapeId === s.id)) == null ? void 0 : o.id) ?? null
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
return null;
|
|
479
|
+
}
|
|
480
|
+
function _(t) {
|
|
481
|
+
if (typeof t != "string") return null;
|
|
482
|
+
const e = t.trim();
|
|
483
|
+
return e || null;
|
|
484
|
+
}
|
|
485
|
+
function q(t) {
|
|
486
|
+
const e = typeof t == "number" ? t : Number(t);
|
|
487
|
+
return Number.isFinite(e) && e > 0 ? e : null;
|
|
488
|
+
}
|
|
489
|
+
function Q(t) {
|
|
490
|
+
return !t || typeof t != "object" ? null : _(t.url);
|
|
491
|
+
}
|
|
492
|
+
function bo(t, e) {
|
|
493
|
+
var n;
|
|
494
|
+
return !e || !Me(t).storeModal ? !1 : e.kind === "unit" ? ((n = e.assignment) == null ? void 0 : n.retailerId) != null : e.kind === "amenity" ? Y(e.assignment) : !1;
|
|
495
|
+
}
|
|
496
|
+
function Ne(t, e) {
|
|
497
|
+
for (const n of t.levels) {
|
|
498
|
+
const o = n.shapes.find((r) => r.id === e);
|
|
499
|
+
if (o) return { level: n, shape: o };
|
|
500
|
+
}
|
|
501
|
+
return null;
|
|
502
|
+
}
|
|
503
|
+
function Te(t, e) {
|
|
504
|
+
var o, r, s, u;
|
|
505
|
+
const n = ((o = t.assignment) == null ? void 0 : o.amenityId) != null ? e == null ? void 0 : e.find((c) => c.id === t.assignment.amenityId) : void 0;
|
|
506
|
+
return _((r = t.assignment) == null ? void 0 : r.customLabel) || _(n == null ? void 0 : n.name) || _((s = t.label) == null ? void 0 : s.text) || _((u = t.assignment) == null ? void 0 : u.unitNumber) || t.key;
|
|
507
|
+
}
|
|
508
|
+
function Io(t, e) {
|
|
509
|
+
var s, u;
|
|
510
|
+
const n = Ne(t, e);
|
|
511
|
+
if (!n) return null;
|
|
512
|
+
const o = n.shape.kind === "amenity" ? "amenity" : "store", r = n.level.anchors.find((c) => c.shapeId === e);
|
|
513
|
+
return {
|
|
514
|
+
shapeId: e,
|
|
515
|
+
levelId: n.level.id,
|
|
516
|
+
anchorId: (r == null ? void 0 : r.id) ?? null,
|
|
517
|
+
kind: o,
|
|
518
|
+
retailerId: ((s = n.shape.assignment) == null ? void 0 : s.retailerId) ?? null,
|
|
519
|
+
amenityId: ((u = n.shape.assignment) == null ? void 0 : u.amenityId) ?? null,
|
|
520
|
+
name: Te(n.shape, t.amenities)
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function we(t) {
|
|
524
|
+
const e = /* @__PURE__ */ new Map();
|
|
525
|
+
for (const n of t ?? [])
|
|
526
|
+
(n == null ? void 0 : n.id) != null && e.set(n.id, n);
|
|
527
|
+
return e;
|
|
528
|
+
}
|
|
529
|
+
function Pe(t, e) {
|
|
530
|
+
var n, o;
|
|
531
|
+
return _(t == null ? void 0 : t.logoUrl) || _(t == null ? void 0 : t.logoKey) || _((n = e.label) == null ? void 0 : n.imageKey) || _((o = e.assignment) == null ? void 0 : o.customImageKey);
|
|
532
|
+
}
|
|
533
|
+
function ko(t, e) {
|
|
534
|
+
var s, u, c, i;
|
|
535
|
+
const n = we(e ?? t.retailers), o = /* @__PURE__ */ new Map();
|
|
536
|
+
for (const h of t.levels)
|
|
537
|
+
for (const p of h.shapes) {
|
|
538
|
+
const a = (s = p.assignment) == null ? void 0 : s.retailerId;
|
|
539
|
+
if (a == null || p.kind !== "unit") continue;
|
|
540
|
+
const m = n.get(a), l = h.anchors.find((y) => y.shapeId === p.id), d = {
|
|
541
|
+
id: a,
|
|
542
|
+
name: _(m == null ? void 0 : m.name) || _((u = p.label) == null ? void 0 : u.text) || _((c = p.assignment) == null ? void 0 : c.customLabel) || `Store ${a}`,
|
|
543
|
+
location: _(m == null ? void 0 : m.location) || _((i = p.assignment) == null ? void 0 : i.unitNumber),
|
|
544
|
+
phone: _(m == null ? void 0 : m.phone),
|
|
545
|
+
description: _(m == null ? void 0 : m.description),
|
|
546
|
+
logoUrl: Pe(m, p),
|
|
547
|
+
globalRetailerId: (m == null ? void 0 : m.globalRetailerId) ?? null,
|
|
548
|
+
shapeId: p.id,
|
|
549
|
+
levelId: h.id,
|
|
550
|
+
anchorId: (l == null ? void 0 : l.id) ?? null
|
|
551
|
+
}, f = o.get(a);
|
|
552
|
+
(!f || f.anchorId == null && d.anchorId != null) && o.set(a, d);
|
|
553
|
+
}
|
|
554
|
+
return Array.from(o.values()).sort((h, p) => h.name.localeCompare(p.name));
|
|
555
|
+
}
|
|
556
|
+
function _o(t, e) {
|
|
557
|
+
const n = /* @__PURE__ */ new Map();
|
|
558
|
+
for (const o of t)
|
|
559
|
+
o.globalRetailerId != null && n.set(o.globalRetailerId, (n.get(o.globalRetailerId) ?? 0) + 1);
|
|
560
|
+
return t.filter((o) => o.id !== e && o.anchorId != null).map((o) => {
|
|
561
|
+
const r = o.globalRetailerId != null && (n.get(o.globalRetailerId) ?? 0) > 1 && o.location;
|
|
562
|
+
return {
|
|
563
|
+
value: String(o.id),
|
|
564
|
+
label: r ? `${o.name} (${o.location})` : o.name
|
|
565
|
+
};
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
function Ao(t, e) {
|
|
569
|
+
return (t == null ? void 0 : t.anchorId) == null || (e == null ? void 0 : e.anchorId) == null ? null : {
|
|
570
|
+
fromAnchorId: t.anchorId,
|
|
571
|
+
toAnchorId: e.anchorId,
|
|
572
|
+
toLevelId: e.levelId
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
function So(t) {
|
|
576
|
+
const e = t.replace(/\D/g, "").slice(-10);
|
|
577
|
+
return e.length === 10 ? `${e.slice(0, 3)}.${e.slice(3, 6)}.${e.slice(-4)}` : t;
|
|
578
|
+
}
|
|
579
|
+
function Co(t) {
|
|
580
|
+
if (!t || typeof t != "object") return null;
|
|
581
|
+
const e = t, n = e.global_retailer && typeof e.global_retailer == "object" ? e.global_retailer : null, o = q(e.id);
|
|
582
|
+
if (o == null) return null;
|
|
583
|
+
const r = _(n == null ? void 0 : n.name) || _(e.name) || `Retailer ${o}`;
|
|
584
|
+
return {
|
|
585
|
+
id: o,
|
|
586
|
+
name: r,
|
|
587
|
+
location: _(e.location),
|
|
588
|
+
phone: _(e.retailer_phone) || _(e.phone),
|
|
589
|
+
description: _(n == null ? void 0 : n.description) || _(e.description) || _(e.local_description),
|
|
590
|
+
logoUrl: Q(n == null ? void 0 : n.media) || Q(n == null ? void 0 : n.featured_image) || Q(e.media) || Q(e.featured_image) || _(e.logoUrl) || _(e.logo),
|
|
591
|
+
logoKey: _(e.logoKey),
|
|
592
|
+
globalRetailerId: q(n == null ? void 0 : n.id) || q(e.global_retailer_id) || q(e.globalRetailerId)
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
function Fe(t) {
|
|
596
|
+
return t === "WEBSITE" || t === "DISPLAY_APP";
|
|
597
|
+
}
|
|
598
|
+
function Ye(t) {
|
|
599
|
+
const e = (t.sourceSvgId ?? t.key ?? "").trim().toLowerCase().replace(/_/g, "-");
|
|
600
|
+
return e === "escalator" || e.startsWith("escalator-") ? "escalator" : e === "elevator" || e.startsWith("elevator-") ? "elevator" : null;
|
|
601
|
+
}
|
|
602
|
+
function De(t, e) {
|
|
603
|
+
return Ye(t) ? e.has(t.id) : t.kind === "amenity" || t.kind === "kiosk_screen" ? Y(t.assignment) : !0;
|
|
604
|
+
}
|
|
605
|
+
function Lo(t, e, n) {
|
|
606
|
+
return Fe(e) ? De(t, n) : !0;
|
|
607
|
+
}
|
|
608
|
+
function Ke(t) {
|
|
458
609
|
return /^https?:\/\//i.test(t.trim());
|
|
459
610
|
}
|
|
460
|
-
function
|
|
461
|
-
return !e || !
|
|
611
|
+
function vo(t, e) {
|
|
612
|
+
return !e || !Ke(t) ? t : e + encodeURIComponent(t);
|
|
462
613
|
}
|
|
463
|
-
function
|
|
614
|
+
function Oo(t, e) {
|
|
464
615
|
return t.map((n) => ({ x: n.x, y: e - n.y }));
|
|
465
616
|
}
|
|
466
|
-
function
|
|
617
|
+
function F(t, e) {
|
|
467
618
|
const n = t.x - e.x, o = t.y - e.y;
|
|
468
619
|
return Math.hypot(n, o);
|
|
469
620
|
}
|
|
470
|
-
function
|
|
621
|
+
function Be(t) {
|
|
471
622
|
if (t.length === 0)
|
|
472
623
|
return { minX: 0, minY: 0, maxX: 0, maxY: 0 };
|
|
473
624
|
let e = t[0].x, n = t[0].y, o = t[0].x, r = t[0].y;
|
|
@@ -477,7 +628,7 @@ function Me(t) {
|
|
|
477
628
|
}
|
|
478
629
|
return { minX: e, minY: n, maxX: o, maxY: r };
|
|
479
630
|
}
|
|
480
|
-
function
|
|
631
|
+
function Ro(t, e) {
|
|
481
632
|
return {
|
|
482
633
|
minX: Math.min(t.minX, e.minX),
|
|
483
634
|
minY: Math.min(t.minY, e.minY),
|
|
@@ -485,95 +636,95 @@ function so(t, e) {
|
|
|
485
636
|
maxY: Math.max(t.maxY, e.maxY)
|
|
486
637
|
};
|
|
487
638
|
}
|
|
488
|
-
function
|
|
639
|
+
function Xe(t) {
|
|
489
640
|
if (t.length === 0) return { x: 0, y: 0 };
|
|
490
641
|
let e = 0, n = 0;
|
|
491
642
|
for (const o of t)
|
|
492
643
|
e += o.x, n += o.y;
|
|
493
644
|
return { x: e / t.length, y: n / t.length };
|
|
494
645
|
}
|
|
495
|
-
function
|
|
646
|
+
function $e(t, e) {
|
|
496
647
|
let n = !1;
|
|
497
648
|
for (let o = 0, r = e.length - 1; o < e.length; r = o++) {
|
|
498
|
-
const s = e[o].x, u = e[o].y,
|
|
499
|
-
u > t.y != i > t.y && t.x < (
|
|
649
|
+
const s = e[o].x, u = e[o].y, c = e[r].x, i = e[r].y;
|
|
650
|
+
u > t.y != i > t.y && t.x < (c - s) * (t.y - u) / (i - u + Number.EPSILON) + s && (n = !n);
|
|
500
651
|
}
|
|
501
652
|
return n;
|
|
502
653
|
}
|
|
503
|
-
function
|
|
504
|
-
return e.some((n) =>
|
|
654
|
+
function Mo(t, e) {
|
|
655
|
+
return e.some((n) => $e(t, n));
|
|
505
656
|
}
|
|
506
|
-
function
|
|
657
|
+
function Ge(t, e, n) {
|
|
507
658
|
const o = n.x - e.x, r = n.y - e.y, s = o * o + r * r;
|
|
508
659
|
if (s === 0)
|
|
509
|
-
return { point: { ...e }, t: 0, distance:
|
|
660
|
+
return { point: { ...e }, t: 0, distance: F(t, e) };
|
|
510
661
|
let u = ((t.x - e.x) * o + (t.y - e.y) * r) / s;
|
|
511
662
|
u = Math.max(0, Math.min(1, u));
|
|
512
|
-
const
|
|
513
|
-
return { point:
|
|
663
|
+
const c = { x: e.x + u * o, y: e.y + u * r };
|
|
664
|
+
return { point: c, t: u, distance: F(t, c) };
|
|
514
665
|
}
|
|
515
|
-
function
|
|
666
|
+
function Eo(t, e) {
|
|
516
667
|
if (e.length < 2) return null;
|
|
517
668
|
let n = null;
|
|
518
669
|
for (let o = 0; o < e.length - 1; o++) {
|
|
519
|
-
const r =
|
|
670
|
+
const r = Ge(t, e[o], e[o + 1]);
|
|
520
671
|
(!n || r.distance < n.distance) && (n = { point: r.point, segmentIndex: o, distance: r.distance });
|
|
521
672
|
}
|
|
522
673
|
return n;
|
|
523
674
|
}
|
|
524
|
-
function
|
|
675
|
+
function _t(t, e, n, o, r = 8) {
|
|
525
676
|
const s = [];
|
|
526
677
|
for (let u = 0; u <= r; u++) {
|
|
527
|
-
const
|
|
678
|
+
const c = u / r, i = 1 - c;
|
|
528
679
|
s.push({
|
|
529
|
-
x: i * i * i * t.x + 3 * i * i *
|
|
530
|
-
y: i * i * i * t.y + 3 * i * i *
|
|
680
|
+
x: i * i * i * t.x + 3 * i * i * c * e.x + 3 * i * c * c * n.x + c * c * c * o.x,
|
|
681
|
+
y: i * i * i * t.y + 3 * i * i * c * e.y + 3 * i * c * c * n.y + c * c * c * o.y
|
|
531
682
|
});
|
|
532
683
|
}
|
|
533
684
|
return s;
|
|
534
685
|
}
|
|
535
|
-
function
|
|
686
|
+
function At(t, e, n, o = 6) {
|
|
536
687
|
const r = [];
|
|
537
688
|
for (let s = 0; s <= o; s++) {
|
|
538
|
-
const u = s / o,
|
|
689
|
+
const u = s / o, c = 1 - u;
|
|
539
690
|
r.push({
|
|
540
|
-
x:
|
|
541
|
-
y:
|
|
691
|
+
x: c * c * t.x + 2 * c * u * e.x + u * u * n.x,
|
|
692
|
+
y: c * c * t.y + 2 * c * u * e.y + u * u * n.y
|
|
542
693
|
});
|
|
543
694
|
}
|
|
544
695
|
return r;
|
|
545
696
|
}
|
|
546
|
-
const
|
|
547
|
-
function
|
|
697
|
+
const We = 8;
|
|
698
|
+
function ze(t, e, n, o, r, s, u) {
|
|
548
699
|
if (t.x === u.x && t.y === u.y) return [{ ...t }];
|
|
549
|
-
let
|
|
550
|
-
if (
|
|
700
|
+
let c = Math.abs(e), i = Math.abs(n);
|
|
701
|
+
if (c === 0 || i === 0 || !Number.isFinite(c) || !Number.isFinite(i))
|
|
551
702
|
return [{ ...t }, { ...u }];
|
|
552
|
-
const
|
|
553
|
-
if (
|
|
554
|
-
const
|
|
555
|
-
|
|
703
|
+
const h = o % 360 * Math.PI / 180, p = Math.cos(h), a = Math.sin(h), m = (t.x - u.x) / 2, l = (t.y - u.y) / 2, d = p * m + a * l, f = -a * m + p * l, y = d * d / (c * c) + f * f / (i * i);
|
|
704
|
+
if (y > 1) {
|
|
705
|
+
const T = Math.sqrt(y);
|
|
706
|
+
c *= T, i *= T;
|
|
556
707
|
}
|
|
557
|
-
const
|
|
558
|
-
let
|
|
559
|
-
!s &&
|
|
560
|
-
const O = Math.abs(
|
|
561
|
-
for (let
|
|
562
|
-
const
|
|
563
|
-
|
|
564
|
-
x:
|
|
565
|
-
y:
|
|
708
|
+
const g = c * c, I = i * i, x = g * I - g * f * f - I * d * d, b = g * f * f + I * d * d, k = Math.sqrt(Math.max(0, x / b)) * (r === s ? -1 : 1), S = k * c * f / i, A = -k * i * d / c, C = p * S - a * A + (t.x + u.x) / 2, R = a * S + p * A + (t.y + u.y) / 2, v = (d - S) / c, D = (f - A) / i, E = (-d - S) / c, K = (-f - A) / i, $ = Math.atan2(D, v);
|
|
709
|
+
let L = Math.atan2(v * K - D * E, v * E + D * K);
|
|
710
|
+
!s && L > 0 ? L -= 2 * Math.PI : s && L < 0 && (L += 2 * Math.PI);
|
|
711
|
+
const O = Math.abs(L) / (Math.PI / 2) * We, B = Math.max(1, Math.round(O)), N = [{ ...t }];
|
|
712
|
+
for (let T = 1; T <= B; T++) {
|
|
713
|
+
const W = $ + L * T / B, Z = Math.cos(W), j = Math.sin(W);
|
|
714
|
+
N.push({
|
|
715
|
+
x: C + c * p * Z - i * a * j,
|
|
716
|
+
y: R + c * a * Z + i * p * j
|
|
566
717
|
});
|
|
567
718
|
}
|
|
568
|
-
return
|
|
719
|
+
return N[N.length - 1] = { ...u }, N;
|
|
569
720
|
}
|
|
570
|
-
const
|
|
571
|
-
function
|
|
721
|
+
const Ue = /[\s,]/;
|
|
722
|
+
function Xt(t) {
|
|
572
723
|
const e = [];
|
|
573
724
|
let n = 0, o = "", r = 0;
|
|
574
725
|
for (; n < t.length; ) {
|
|
575
726
|
const s = t[n];
|
|
576
|
-
if (
|
|
727
|
+
if (Ue.test(s)) {
|
|
577
728
|
n++;
|
|
578
729
|
continue;
|
|
579
730
|
}
|
|
@@ -586,7 +737,7 @@ function Dt(t) {
|
|
|
586
737
|
e.push(s), n++, r++;
|
|
587
738
|
continue;
|
|
588
739
|
}
|
|
589
|
-
const
|
|
740
|
+
const c = n;
|
|
590
741
|
let i = 0;
|
|
591
742
|
for ((s === "+" || s === "-") && n++; n < t.length && t[n] >= "0" && t[n] <= "9"; )
|
|
592
743
|
n++, i++;
|
|
@@ -594,120 +745,120 @@ function Dt(t) {
|
|
|
594
745
|
for (n++; n < t.length && t[n] >= "0" && t[n] <= "9"; )
|
|
595
746
|
n++, i++;
|
|
596
747
|
if (i > 0 && (t[n] === "e" || t[n] === "E")) {
|
|
597
|
-
const
|
|
748
|
+
const h = n;
|
|
598
749
|
if (n++, (t[n] === "+" || t[n] === "-") && n++, n < t.length && t[n] >= "0" && t[n] <= "9")
|
|
599
750
|
for (; n < t.length && t[n] >= "0" && t[n] <= "9"; ) n++;
|
|
600
751
|
else
|
|
601
|
-
n =
|
|
752
|
+
n = h;
|
|
602
753
|
}
|
|
603
754
|
if (i === 0) {
|
|
604
|
-
n =
|
|
755
|
+
n = c + 1;
|
|
605
756
|
continue;
|
|
606
757
|
}
|
|
607
|
-
e.push(t.slice(
|
|
758
|
+
e.push(t.slice(c, n)), r++;
|
|
608
759
|
}
|
|
609
760
|
return e;
|
|
610
761
|
}
|
|
611
|
-
function
|
|
612
|
-
const e =
|
|
613
|
-
let o = [], r = 0, s = 0, u = 0,
|
|
614
|
-
const
|
|
615
|
-
for (;
|
|
616
|
-
const
|
|
617
|
-
switch (/[a-zA-Z]/.test(
|
|
762
|
+
function $t(t) {
|
|
763
|
+
const e = Xt(t), n = [];
|
|
764
|
+
let o = [], r = 0, s = 0, u = 0, c = 0, i = null, h = 0, p = "";
|
|
765
|
+
const a = () => Number(e[h++]);
|
|
766
|
+
for (; h < e.length; ) {
|
|
767
|
+
const m = e[h];
|
|
768
|
+
switch (/[a-zA-Z]/.test(m) && (p = m, h++), p) {
|
|
618
769
|
case "M":
|
|
619
770
|
case "m": {
|
|
620
|
-
const
|
|
621
|
-
r =
|
|
771
|
+
const l = p === "m", d = a(), f = a();
|
|
772
|
+
r = l ? r + d : d, s = l ? s + f : f, o.length > 0 && n.push(o), o = [{ x: r, y: s }], u = r, c = s, i = null, p = l ? "l" : "L";
|
|
622
773
|
break;
|
|
623
774
|
}
|
|
624
775
|
case "L":
|
|
625
776
|
case "l": {
|
|
626
|
-
const
|
|
627
|
-
r =
|
|
777
|
+
const l = p === "l", d = a(), f = a();
|
|
778
|
+
r = l ? r + d : d, s = l ? s + f : f, o.push({ x: r, y: s }), i = null;
|
|
628
779
|
break;
|
|
629
780
|
}
|
|
630
781
|
case "H":
|
|
631
782
|
case "h": {
|
|
632
|
-
const
|
|
633
|
-
r =
|
|
783
|
+
const l = p === "h", d = a();
|
|
784
|
+
r = l ? r + d : d, o.push({ x: r, y: s }), i = null;
|
|
634
785
|
break;
|
|
635
786
|
}
|
|
636
787
|
case "V":
|
|
637
788
|
case "v": {
|
|
638
|
-
const
|
|
639
|
-
s =
|
|
789
|
+
const l = p === "v", d = a();
|
|
790
|
+
s = l ? s + d : d, o.push({ x: r, y: s }), i = null;
|
|
640
791
|
break;
|
|
641
792
|
}
|
|
642
793
|
case "C":
|
|
643
794
|
case "c": {
|
|
644
|
-
const
|
|
795
|
+
const l = p === "c", d = l ? r + a() : a(), f = l ? s + a() : a(), y = l ? r + a() : a(), g = l ? s + a() : a(), I = l ? r + a() : a(), x = l ? s + a() : a(), b = _t(
|
|
645
796
|
{ x: r, y: s },
|
|
646
797
|
{ x: d, y: f },
|
|
647
|
-
{ x:
|
|
648
|
-
{ x:
|
|
798
|
+
{ x: y, y: g },
|
|
799
|
+
{ x: I, y: x }
|
|
649
800
|
);
|
|
650
|
-
o.push(...b.slice(1)), i = { x:
|
|
801
|
+
o.push(...b.slice(1)), i = { x: y, y: g }, r = I, s = x;
|
|
651
802
|
break;
|
|
652
803
|
}
|
|
653
804
|
case "Q":
|
|
654
805
|
case "q": {
|
|
655
|
-
const
|
|
806
|
+
const l = p === "q", d = l ? r + a() : a(), f = l ? s + a() : a(), y = l ? r + a() : a(), g = l ? s + a() : a(), I = At(
|
|
656
807
|
{ x: r, y: s },
|
|
657
808
|
{ x: d, y: f },
|
|
658
|
-
{ x:
|
|
809
|
+
{ x: y, y: g }
|
|
659
810
|
);
|
|
660
|
-
o.push(...
|
|
811
|
+
o.push(...I.slice(1)), i = { x: d, y: f }, r = y, s = g;
|
|
661
812
|
break;
|
|
662
813
|
}
|
|
663
814
|
case "S":
|
|
664
815
|
case "s": {
|
|
665
|
-
const
|
|
816
|
+
const l = p === "s", d = i ? 2 * r - i.x : r, f = i ? 2 * s - i.y : s, y = l ? r + a() : a(), g = l ? s + a() : a(), I = l ? r + a() : a(), x = l ? s + a() : a(), b = _t(
|
|
666
817
|
{ x: r, y: s },
|
|
667
818
|
{ x: d, y: f },
|
|
668
|
-
{ x:
|
|
669
|
-
{ x:
|
|
819
|
+
{ x: y, y: g },
|
|
820
|
+
{ x: I, y: x }
|
|
670
821
|
);
|
|
671
|
-
o.push(...b.slice(1)), i = { x:
|
|
822
|
+
o.push(...b.slice(1)), i = { x: y, y: g }, r = I, s = x;
|
|
672
823
|
break;
|
|
673
824
|
}
|
|
674
825
|
case "T":
|
|
675
826
|
case "t": {
|
|
676
|
-
const
|
|
827
|
+
const l = p === "t", d = i ? 2 * r - i.x : r, f = i ? 2 * s - i.y : s, y = l ? r + a() : a(), g = l ? s + a() : a(), I = At(
|
|
677
828
|
{ x: r, y: s },
|
|
678
829
|
{ x: d, y: f },
|
|
679
|
-
{ x:
|
|
830
|
+
{ x: y, y: g }
|
|
680
831
|
);
|
|
681
|
-
o.push(...
|
|
832
|
+
o.push(...I.slice(1)), i = { x: d, y: f }, r = y, s = g;
|
|
682
833
|
break;
|
|
683
834
|
}
|
|
684
835
|
case "A":
|
|
685
836
|
case "a": {
|
|
686
|
-
const
|
|
837
|
+
const l = p === "a", d = a(), f = a(), y = a(), g = a() !== 0, I = a() !== 0, x = l ? r + a() : a(), b = l ? s + a() : a(), k = ze(
|
|
687
838
|
{ x: r, y: s },
|
|
688
839
|
d,
|
|
689
840
|
f,
|
|
690
|
-
|
|
691
|
-
m,
|
|
841
|
+
y,
|
|
692
842
|
g,
|
|
843
|
+
I,
|
|
693
844
|
{ x, y: b }
|
|
694
845
|
);
|
|
695
|
-
o.push(...
|
|
846
|
+
o.push(...k.slice(1)), i = null, r = x, s = b;
|
|
696
847
|
break;
|
|
697
848
|
}
|
|
698
849
|
case "Z":
|
|
699
850
|
case "z": {
|
|
700
|
-
o.push({ x: u, y:
|
|
851
|
+
o.push({ x: u, y: c }), n.push(o), o = [], r = u, s = c, i = null;
|
|
701
852
|
break;
|
|
702
853
|
}
|
|
703
854
|
default:
|
|
704
|
-
|
|
855
|
+
h++;
|
|
705
856
|
break;
|
|
706
857
|
}
|
|
707
858
|
}
|
|
708
859
|
return o.length > 0 && n.push(o), n;
|
|
709
860
|
}
|
|
710
|
-
function
|
|
861
|
+
function Ve(t) {
|
|
711
862
|
const e = t.match(
|
|
712
863
|
/^\s*M\s*(-?\d*\.?\d+(?:e[-+]?\d+)?)[\s,]+(-?\d*\.?\d+(?:e[-+]?\d+)?)/i
|
|
713
864
|
);
|
|
@@ -715,56 +866,56 @@ function Pe(t) {
|
|
|
715
866
|
const n = Number(e[1]), o = Number(e[2]);
|
|
716
867
|
return Number.isFinite(n) && Number.isFinite(o) ? { x: n, y: o } : null;
|
|
717
868
|
}
|
|
718
|
-
function
|
|
869
|
+
function He(t) {
|
|
719
870
|
var r, s;
|
|
720
871
|
const e = (r = t.paths[0]) == null ? void 0 : r.d;
|
|
721
872
|
if (!e || t.polygons.length === 0) return !1;
|
|
722
|
-
const n =
|
|
873
|
+
const n = Ve(e), o = (s = t.polygons[0]) == null ? void 0 : s[0];
|
|
723
874
|
return !n || !o ? !1 : Math.abs(n.x - o.x) > 0.01 || Math.abs(n.y - o.y) > 0.01;
|
|
724
875
|
}
|
|
725
|
-
function
|
|
726
|
-
if (!
|
|
727
|
-
const e = t.paths.flatMap((n) =>
|
|
876
|
+
function Gt(t) {
|
|
877
|
+
if (!He(t)) return t;
|
|
878
|
+
const e = t.paths.flatMap((n) => $t(n.d));
|
|
728
879
|
return e.length === 0 ? t : { paths: t.paths, polygons: e };
|
|
729
880
|
}
|
|
730
|
-
function
|
|
881
|
+
function Ze(t) {
|
|
731
882
|
const e = t.map((o) => ({
|
|
732
883
|
d: o,
|
|
733
884
|
closed: /z/i.test(o)
|
|
734
|
-
})), n = t.flatMap((o) =>
|
|
885
|
+
})), n = t.flatMap((o) => $t(o));
|
|
735
886
|
return { paths: e, polygons: n };
|
|
736
887
|
}
|
|
737
|
-
function
|
|
888
|
+
function gt(t) {
|
|
738
889
|
const e = t.polygons.flat();
|
|
739
|
-
return
|
|
890
|
+
return Be(e);
|
|
740
891
|
}
|
|
741
|
-
function
|
|
742
|
-
return
|
|
892
|
+
function je(t) {
|
|
893
|
+
return Xe(t.polygons.flat());
|
|
743
894
|
}
|
|
744
|
-
function
|
|
895
|
+
function No(t, e, n = 0, o = [15, 45, 90]) {
|
|
745
896
|
const r = e.x - t.x, s = e.y - t.y, u = Math.hypot(r, s);
|
|
746
897
|
if (u === 0) return { ...e };
|
|
747
898
|
const i = Math.atan2(s, r) * 180 / Math.PI - n;
|
|
748
|
-
let
|
|
749
|
-
for (const
|
|
750
|
-
const
|
|
751
|
-
d < p && (p = d,
|
|
899
|
+
let h = i, p = 1 / 0;
|
|
900
|
+
for (const m of o) {
|
|
901
|
+
const l = Math.round(i / m) * m, d = Math.abs(i - l);
|
|
902
|
+
d < p && (p = d, h = l);
|
|
752
903
|
}
|
|
753
|
-
const
|
|
904
|
+
const a = (h + n) * Math.PI / 180;
|
|
754
905
|
return {
|
|
755
|
-
x: t.x + Math.cos(
|
|
756
|
-
y: t.y + Math.sin(
|
|
906
|
+
x: t.x + Math.cos(a) * u,
|
|
907
|
+
y: t.y + Math.sin(a) * u
|
|
757
908
|
};
|
|
758
909
|
}
|
|
759
|
-
function
|
|
910
|
+
function To(t, e) {
|
|
760
911
|
return Math.atan2(e.y - t.y, e.x - t.x) * 180 / Math.PI;
|
|
761
912
|
}
|
|
762
|
-
function
|
|
913
|
+
function qe(t) {
|
|
763
914
|
if (!t) return null;
|
|
764
915
|
const e = t.trim().split(/[\s,]+/).map(Number);
|
|
765
916
|
return e.length !== 4 || e.some((n) => Number.isNaN(n)) ? null : { x: e[0], y: e[1], width: e[2], height: e[3] };
|
|
766
917
|
}
|
|
767
|
-
const
|
|
918
|
+
const Qe = {
|
|
768
919
|
fill: "fill",
|
|
769
920
|
"fill-opacity": "fill-opacity",
|
|
770
921
|
stroke: "stroke",
|
|
@@ -772,7 +923,7 @@ const Xe = {
|
|
|
772
923
|
"stroke-opacity": "stroke-opacity",
|
|
773
924
|
opacity: "opacity"
|
|
774
925
|
};
|
|
775
|
-
function
|
|
926
|
+
function Je(t) {
|
|
776
927
|
const e = {};
|
|
777
928
|
for (const n of t.split(";")) {
|
|
778
929
|
const o = n.indexOf(":");
|
|
@@ -782,14 +933,14 @@ function Ke(t) {
|
|
|
782
933
|
}
|
|
783
934
|
return e;
|
|
784
935
|
}
|
|
785
|
-
function
|
|
936
|
+
function tn(t) {
|
|
786
937
|
const e = /* @__PURE__ */ new Map(), n = t.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
787
938
|
for (const o of n.matchAll(/([^{]+)\{([^}]*)\}/g)) {
|
|
788
|
-
const r = o[1].split(",").map((u) => u.trim()), s =
|
|
939
|
+
const r = o[1].split(",").map((u) => u.trim()), s = Je(o[2]);
|
|
789
940
|
for (const u of r) {
|
|
790
|
-
const
|
|
791
|
-
if (!
|
|
792
|
-
const i =
|
|
941
|
+
const c = u.match(/^\.([a-zA-Z0-9_-]+)$/);
|
|
942
|
+
if (!c) continue;
|
|
943
|
+
const i = c[1];
|
|
793
944
|
e.set(i, {
|
|
794
945
|
...e.get(i) || {},
|
|
795
946
|
...s
|
|
@@ -798,42 +949,42 @@ function Ge(t) {
|
|
|
798
949
|
}
|
|
799
950
|
return e;
|
|
800
951
|
}
|
|
801
|
-
function
|
|
952
|
+
function en(t, e) {
|
|
802
953
|
const n = {};
|
|
803
954
|
for (const o of t.split(/\s+/).map((r) => r.trim()).filter(Boolean))
|
|
804
955
|
Object.assign(n, e.get(o) || {});
|
|
805
956
|
return n;
|
|
806
957
|
}
|
|
807
|
-
function
|
|
958
|
+
function nn(t) {
|
|
808
959
|
const e = [], n = t.replace(/<!--[\s\S]*?-->/g, "");
|
|
809
960
|
for (const r of n.matchAll(/<style\b[^>]*>([\s\S]*?)<\/style>/gi))
|
|
810
961
|
e.push(r[1]);
|
|
811
962
|
if (e.length === 0) return t;
|
|
812
963
|
const o = /* @__PURE__ */ new Map();
|
|
813
964
|
for (const r of e)
|
|
814
|
-
for (const [s, u] of
|
|
965
|
+
for (const [s, u] of tn(r))
|
|
815
966
|
o.set(s, { ...o.get(s) || {}, ...u });
|
|
816
967
|
return o.size === 0 ? t : t.replace(
|
|
817
968
|
/<(path|polygon|polyline|line|rect|g|circle|ellipse)\b([^>]*)>/gi,
|
|
818
969
|
(r, s, u) => {
|
|
819
|
-
const
|
|
820
|
-
if (!
|
|
821
|
-
const p =
|
|
822
|
-
let
|
|
823
|
-
for (const [
|
|
824
|
-
const d =
|
|
825
|
-
d && (new RegExp(`\\b${d}\\s*=`, "i").test(
|
|
970
|
+
const c = /\/\s*$/.test(u), i = u.replace(/\/\s*$/, ""), h = i.match(/\bclass\s*=\s*["']([^"']*)["']/i);
|
|
971
|
+
if (!h) return r;
|
|
972
|
+
const p = en(h[1], o);
|
|
973
|
+
let a = i;
|
|
974
|
+
for (const [m, l] of Object.entries(p)) {
|
|
975
|
+
const d = Qe[m];
|
|
976
|
+
d && (new RegExp(`\\b${d}\\s*=`, "i").test(a) || (a += ` ${d}="${l}"`));
|
|
826
977
|
}
|
|
827
|
-
return `<${s}${
|
|
978
|
+
return `<${s}${a}${c ? " /" : ""}>`;
|
|
828
979
|
}
|
|
829
980
|
);
|
|
830
981
|
}
|
|
831
|
-
function
|
|
832
|
-
var
|
|
833
|
-
const e = {}, n = (
|
|
982
|
+
function St(t) {
|
|
983
|
+
var c, i, h, p, a;
|
|
984
|
+
const e = {}, n = (c = t.match(/\bfill\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : c[1], o = (i = t.match(/\bstroke\s*=\s*["']([^"']*)["']/i)) == null ? void 0 : i[1], r = (h = t.match(/\bstroke-width\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : h[1], s = (p = t.match(/\bopacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : p[1], u = (a = t.match(/\bfill-opacity\s*=\s*["']?(-?[\d.]+)/i)) == null ? void 0 : a[1];
|
|
834
985
|
return n && n.toLowerCase() !== "none" && (e.fill = n), o && o.toLowerCase() !== "none" && (e.stroke = o), r != null && !Number.isNaN(Number(r)) && (e.strokeWidth = Number(r)), s != null && !Number.isNaN(Number(s)) ? e.opacity = Number(s) : u != null && !Number.isNaN(Number(u)) && (e.opacity = Number(u)), e;
|
|
835
986
|
}
|
|
836
|
-
function
|
|
987
|
+
function at(t, e) {
|
|
837
988
|
return {
|
|
838
989
|
fill: e.fill ?? t.fill,
|
|
839
990
|
stroke: e.stroke ?? t.stroke,
|
|
@@ -841,8 +992,8 @@ function it(t, e) {
|
|
|
841
992
|
opacity: e.opacity ?? t.opacity
|
|
842
993
|
};
|
|
843
994
|
}
|
|
844
|
-
const
|
|
845
|
-
function
|
|
995
|
+
const yt = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 };
|
|
996
|
+
function H(t, e) {
|
|
846
997
|
return {
|
|
847
998
|
a: t.a * e.a + t.c * e.b,
|
|
848
999
|
b: t.b * e.a + t.d * e.b,
|
|
@@ -852,28 +1003,28 @@ function V(t, e) {
|
|
|
852
1003
|
f: t.b * e.e + t.d * e.f + t.f
|
|
853
1004
|
};
|
|
854
1005
|
}
|
|
855
|
-
function
|
|
1006
|
+
function on(t, e) {
|
|
856
1007
|
return {
|
|
857
1008
|
x: t.a * e.x + t.c * e.y + t.e,
|
|
858
1009
|
y: t.b * e.x + t.d * e.y + t.f
|
|
859
1010
|
};
|
|
860
1011
|
}
|
|
861
|
-
function
|
|
1012
|
+
function rn(t, e = 1e-9) {
|
|
862
1013
|
return Math.abs(t.a - 1) < e && Math.abs(t.b) < e && Math.abs(t.c) < e && Math.abs(t.d - 1) < e && Math.abs(t.e) < e && Math.abs(t.f) < e;
|
|
863
1014
|
}
|
|
864
|
-
function
|
|
1015
|
+
function lt(t, e) {
|
|
865
1016
|
return { a: 1, b: 0, c: 0, d: 1, e: t, f: e };
|
|
866
1017
|
}
|
|
867
|
-
function
|
|
1018
|
+
function sn(t) {
|
|
868
1019
|
const e = t * Math.PI / 180, n = Math.cos(e), o = Math.sin(e);
|
|
869
1020
|
return { a: n, b: o, c: -o, d: n, e: 0, f: 0 };
|
|
870
1021
|
}
|
|
871
|
-
function
|
|
1022
|
+
function cn(t, e) {
|
|
872
1023
|
switch (t) {
|
|
873
1024
|
case "matrix":
|
|
874
1025
|
return e.length < 6 ? null : { a: e[0], b: e[1], c: e[2], d: e[3], e: e[4], f: e[5] };
|
|
875
1026
|
case "translate":
|
|
876
|
-
return e.length < 1 ? null :
|
|
1027
|
+
return e.length < 1 ? null : lt(e[0], e[1] ?? 0);
|
|
877
1028
|
case "scale": {
|
|
878
1029
|
if (e.length < 1) return null;
|
|
879
1030
|
const n = e[0], o = e[1] ?? n;
|
|
@@ -881,12 +1032,12 @@ function He(t, e) {
|
|
|
881
1032
|
}
|
|
882
1033
|
case "rotate": {
|
|
883
1034
|
if (e.length < 1) return null;
|
|
884
|
-
const n =
|
|
1035
|
+
const n = sn(e[0]);
|
|
885
1036
|
if (e.length < 3) return n;
|
|
886
1037
|
const o = e[1], r = e[2];
|
|
887
|
-
return
|
|
888
|
-
|
|
889
|
-
|
|
1038
|
+
return H(
|
|
1039
|
+
H(lt(o, r), n),
|
|
1040
|
+
lt(-o, -r)
|
|
890
1041
|
);
|
|
891
1042
|
}
|
|
892
1043
|
case "skewx":
|
|
@@ -897,17 +1048,17 @@ function He(t, e) {
|
|
|
897
1048
|
return null;
|
|
898
1049
|
}
|
|
899
1050
|
}
|
|
900
|
-
const
|
|
901
|
-
function
|
|
902
|
-
if (!t) return
|
|
903
|
-
let e =
|
|
904
|
-
|
|
1051
|
+
const Ct = /([a-zA-Z]+)\s*\(([^)]*)\)/g;
|
|
1052
|
+
function Lt(t) {
|
|
1053
|
+
if (!t) return yt;
|
|
1054
|
+
let e = yt;
|
|
1055
|
+
Ct.lastIndex = 0;
|
|
905
1056
|
let n;
|
|
906
|
-
for (; (n =
|
|
1057
|
+
for (; (n = Ct.exec(t)) !== null; ) {
|
|
907
1058
|
const o = n[1].toLowerCase(), r = n[2].trim().split(/[\s,]+/).filter(Boolean).map(Number);
|
|
908
1059
|
if (r.some((u) => Number.isNaN(u))) continue;
|
|
909
|
-
const s =
|
|
910
|
-
s && (e =
|
|
1060
|
+
const s = cn(o, r);
|
|
1061
|
+
s && (e = H(e, s));
|
|
911
1062
|
}
|
|
912
1063
|
return e;
|
|
913
1064
|
}
|
|
@@ -916,85 +1067,85 @@ function G(t) {
|
|
|
916
1067
|
const e = Math.round(t * 1e4) / 1e4;
|
|
917
1068
|
return Object.is(e, -0) ? "0" : String(e);
|
|
918
1069
|
}
|
|
919
|
-
function
|
|
920
|
-
const r = o * Math.PI / 180, s = Math.cos(r), u = Math.sin(r),
|
|
921
|
-
return { rx:
|
|
1070
|
+
function an(t, e, n, o) {
|
|
1071
|
+
const r = o * Math.PI / 180, s = Math.cos(r), u = Math.sin(r), c = s * e, i = u * e, h = -u * n, p = s * n, a = t.a * c + t.c * i, m = t.b * c + t.d * i, l = t.a * h + t.c * p, d = t.b * h + t.d * p, f = (a + d) / 2, y = (a - d) / 2, g = (m + l) / 2, I = (m - l) / 2, x = Math.hypot(f, I), b = Math.hypot(y, g), k = Math.abs(x + b), S = Math.abs(x - b), A = Math.atan2(g, y), R = (Math.atan2(I, f) + A) / 2 * (180 / Math.PI);
|
|
1072
|
+
return { rx: k, ry: S, phiDeg: R };
|
|
922
1073
|
}
|
|
923
|
-
function
|
|
924
|
-
if (!t ||
|
|
925
|
-
const n =
|
|
926
|
-
let s = 0, u = "",
|
|
927
|
-
const
|
|
1074
|
+
function ln(t, e) {
|
|
1075
|
+
if (!t || rn(e)) return t;
|
|
1076
|
+
const n = Xt(t), o = [], r = e.a * e.d - e.b * e.c < 0;
|
|
1077
|
+
let s = 0, u = "", c = 0, i = 0, h = 0, p = 0;
|
|
1078
|
+
const a = () => {
|
|
928
1079
|
const d = Number(n[s++]);
|
|
929
1080
|
return Number.isNaN(d) ? 0 : d;
|
|
930
|
-
},
|
|
1081
|
+
}, m = (d, ...f) => {
|
|
931
1082
|
o.push(d + (f.length ? " " + f.map(G).join(" ") : ""));
|
|
932
|
-
},
|
|
933
|
-
const
|
|
934
|
-
return [
|
|
1083
|
+
}, l = (d, f) => {
|
|
1084
|
+
const y = on(e, { x: d, y: f });
|
|
1085
|
+
return [y.x, y.y];
|
|
935
1086
|
};
|
|
936
1087
|
for (; s < n.length; ) {
|
|
937
1088
|
const d = n[s];
|
|
938
1089
|
switch (/[a-zA-Z]/.test(d) && (u = d, s++), u) {
|
|
939
1090
|
case "M":
|
|
940
1091
|
case "m": {
|
|
941
|
-
const f = u === "m",
|
|
942
|
-
|
|
1092
|
+
const f = u === "m", y = a(), g = a();
|
|
1093
|
+
c = f ? c + y : y, i = f ? i + g : g, h = c, p = i, m("M", ...l(c, i)), u = f ? "l" : "L";
|
|
943
1094
|
break;
|
|
944
1095
|
}
|
|
945
1096
|
case "L":
|
|
946
1097
|
case "l": {
|
|
947
|
-
const f = u === "l",
|
|
948
|
-
|
|
1098
|
+
const f = u === "l", y = a(), g = a();
|
|
1099
|
+
c = f ? c + y : y, i = f ? i + g : g, m("L", ...l(c, i));
|
|
949
1100
|
break;
|
|
950
1101
|
}
|
|
951
1102
|
case "H":
|
|
952
1103
|
case "h": {
|
|
953
|
-
const f = u === "h",
|
|
954
|
-
|
|
1104
|
+
const f = u === "h", y = a();
|
|
1105
|
+
c = f ? c + y : y, m("L", ...l(c, i));
|
|
955
1106
|
break;
|
|
956
1107
|
}
|
|
957
1108
|
case "V":
|
|
958
1109
|
case "v": {
|
|
959
|
-
const f = u === "v",
|
|
960
|
-
i = f ? i +
|
|
1110
|
+
const f = u === "v", y = a();
|
|
1111
|
+
i = f ? i + y : y, m("L", ...l(c, i));
|
|
961
1112
|
break;
|
|
962
1113
|
}
|
|
963
1114
|
case "C":
|
|
964
1115
|
case "c": {
|
|
965
|
-
const f = u === "c",
|
|
966
|
-
|
|
1116
|
+
const f = u === "c", y = f ? c + a() : a(), g = f ? i + a() : a(), I = f ? c + a() : a(), x = f ? i + a() : a(), b = f ? c + a() : a(), k = f ? i + a() : a();
|
|
1117
|
+
m("C", ...l(y, g), ...l(I, x), ...l(b, k)), c = b, i = k;
|
|
967
1118
|
break;
|
|
968
1119
|
}
|
|
969
1120
|
case "S":
|
|
970
1121
|
case "s": {
|
|
971
|
-
const f = u === "s",
|
|
972
|
-
|
|
1122
|
+
const f = u === "s", y = f ? c + a() : a(), g = f ? i + a() : a(), I = f ? c + a() : a(), x = f ? i + a() : a();
|
|
1123
|
+
m("S", ...l(y, g), ...l(I, x)), c = I, i = x;
|
|
973
1124
|
break;
|
|
974
1125
|
}
|
|
975
1126
|
case "Q":
|
|
976
1127
|
case "q": {
|
|
977
|
-
const f = u === "q",
|
|
978
|
-
|
|
1128
|
+
const f = u === "q", y = f ? c + a() : a(), g = f ? i + a() : a(), I = f ? c + a() : a(), x = f ? i + a() : a();
|
|
1129
|
+
m("Q", ...l(y, g), ...l(I, x)), c = I, i = x;
|
|
979
1130
|
break;
|
|
980
1131
|
}
|
|
981
1132
|
case "T":
|
|
982
1133
|
case "t": {
|
|
983
|
-
const f = u === "t",
|
|
984
|
-
|
|
1134
|
+
const f = u === "t", y = f ? c + a() : a(), g = f ? i + a() : a();
|
|
1135
|
+
m("T", ...l(y, g)), c = y, i = g;
|
|
985
1136
|
break;
|
|
986
1137
|
}
|
|
987
1138
|
case "A":
|
|
988
1139
|
case "a": {
|
|
989
|
-
const f = u === "a",
|
|
1140
|
+
const f = u === "a", y = a(), g = a(), I = a(), x = a(), b = a(), k = f ? c + a() : a(), S = f ? i + a() : a(), A = an(e, y, g, I), [C, R] = l(k, S);
|
|
990
1141
|
o.push(
|
|
991
|
-
`A ${G(
|
|
992
|
-
),
|
|
1142
|
+
`A ${G(A.rx)} ${G(A.ry)} ${G(A.phiDeg)} ${x ? 1 : 0} ${(b ? 1 : 0) ^ (r ? 1 : 0)} ${G(C)} ${G(R)}`
|
|
1143
|
+
), c = k, i = S;
|
|
993
1144
|
break;
|
|
994
1145
|
}
|
|
995
1146
|
case "Z":
|
|
996
1147
|
case "z": {
|
|
997
|
-
o.push("Z"),
|
|
1148
|
+
o.push("Z"), c = h, i = p;
|
|
998
1149
|
break;
|
|
999
1150
|
}
|
|
1000
1151
|
default:
|
|
@@ -1004,7 +1155,7 @@ function je(t, e) {
|
|
|
1004
1155
|
}
|
|
1005
1156
|
return o.join(" ");
|
|
1006
1157
|
}
|
|
1007
|
-
const
|
|
1158
|
+
const un = [
|
|
1008
1159
|
{ prefix: "walkable", kind: "walkable" },
|
|
1009
1160
|
{ prefix: "void", kind: "void" },
|
|
1010
1161
|
{ prefix: "unit", kind: "unit" },
|
|
@@ -1031,7 +1182,7 @@ const qe = [
|
|
|
1031
1182
|
{ prefix: "parking-icon", kind: "parking_icon" },
|
|
1032
1183
|
{ prefix: "walking-path", kind: "walkable" },
|
|
1033
1184
|
{ prefix: "water", kind: "water" }
|
|
1034
|
-
],
|
|
1185
|
+
], fn = [
|
|
1035
1186
|
{ prefix: "parking-zone", kind: "parking_zone" },
|
|
1036
1187
|
{ prefix: "parking-lane", kind: "parking_zone" },
|
|
1037
1188
|
{ prefix: "parking-icon", kind: "parking_icon" },
|
|
@@ -1052,67 +1203,67 @@ const qe = [
|
|
|
1052
1203
|
{ prefix: "elevator-", kind: "connector" },
|
|
1053
1204
|
{ prefix: "stairs-", kind: "connector" }
|
|
1054
1205
|
];
|
|
1055
|
-
function
|
|
1056
|
-
const e =
|
|
1206
|
+
function xt(t) {
|
|
1207
|
+
const e = ot(t);
|
|
1057
1208
|
return e === "route path" || e.startsWith("route path ");
|
|
1058
1209
|
}
|
|
1059
|
-
function
|
|
1060
|
-
const e =
|
|
1061
|
-
return e === "routes" || e === "route" || e === "wayfinding" || e === "wayfinding routes" ||
|
|
1210
|
+
function Wt(t) {
|
|
1211
|
+
const e = ot(t);
|
|
1212
|
+
return e === "routes" || e === "route" || e === "wayfinding" || e === "wayfinding routes" || xt(t);
|
|
1062
1213
|
}
|
|
1063
|
-
const
|
|
1064
|
-
...
|
|
1214
|
+
const dn = [
|
|
1215
|
+
...de,
|
|
1065
1216
|
"walkable",
|
|
1066
1217
|
"void"
|
|
1067
|
-
],
|
|
1068
|
-
function
|
|
1069
|
-
if (
|
|
1218
|
+
], hn = 8;
|
|
1219
|
+
function yn(t, e = "floor") {
|
|
1220
|
+
if (Vt(t))
|
|
1070
1221
|
return { kind: null, guessed: !1 };
|
|
1071
|
-
const n = t.toLowerCase(), o = e === "base" ?
|
|
1222
|
+
const n = t.toLowerCase(), o = e === "base" ? fn : un;
|
|
1072
1223
|
for (const { prefix: r, kind: s } of o)
|
|
1073
1224
|
if (n === r || n.startsWith(r))
|
|
1074
1225
|
return { kind: s, guessed: !1 };
|
|
1075
1226
|
return n.startsWith("interactive") ? { kind: "unit", guessed: !0 } : { kind: null, guessed: !1 };
|
|
1076
1227
|
}
|
|
1077
|
-
function
|
|
1228
|
+
function ot(t) {
|
|
1078
1229
|
return t.toLowerCase().replace(/[-_]+/g, " ").replace(/\s+/g, " ").trim();
|
|
1079
1230
|
}
|
|
1080
|
-
function
|
|
1231
|
+
function bt(t) {
|
|
1081
1232
|
return /non[-_ ]?interactive/i.test(t);
|
|
1082
1233
|
}
|
|
1083
|
-
function
|
|
1084
|
-
return
|
|
1234
|
+
function zt(t) {
|
|
1235
|
+
return bt(t) ? !1 : /^interactive( items)?( \d+)?$/.test(ot(t));
|
|
1085
1236
|
}
|
|
1086
|
-
function
|
|
1087
|
-
const e =
|
|
1237
|
+
function Ut(t) {
|
|
1238
|
+
const e = ot(t);
|
|
1088
1239
|
return e === "stores" || e === "store layer" || e === "units" || e === "unit layer";
|
|
1089
1240
|
}
|
|
1090
|
-
function
|
|
1091
|
-
return
|
|
1241
|
+
function Vt(t) {
|
|
1242
|
+
return zt(t) || bt(t) || Ut(t) || Wt(t);
|
|
1092
1243
|
}
|
|
1093
|
-
function
|
|
1244
|
+
function ut(t) {
|
|
1094
1245
|
return t.interactiveContainer || t.nonInteractiveContainer || t.storeFolder;
|
|
1095
1246
|
}
|
|
1096
|
-
function
|
|
1247
|
+
function w(t, e) {
|
|
1097
1248
|
const n = t.match(new RegExp(`\\b${e}\\s*=\\s*["']([^"']*)["']`, "i"));
|
|
1098
1249
|
return n ? n[1] : null;
|
|
1099
1250
|
}
|
|
1100
|
-
function
|
|
1251
|
+
function X(t, e) {
|
|
1101
1252
|
const n = t.match(new RegExp(`\\b${e}\\s*=\\s*["']?(-?[\\d.]+)`, "i"));
|
|
1102
1253
|
return n ? Number(n[1]) : 0;
|
|
1103
1254
|
}
|
|
1104
|
-
function
|
|
1255
|
+
function vt(t) {
|
|
1105
1256
|
return /\bdata-interactive\s*=\s*["']?(true|1|yes)/i.test(t);
|
|
1106
1257
|
}
|
|
1107
|
-
function
|
|
1108
|
-
return [
|
|
1258
|
+
function xn(t) {
|
|
1259
|
+
return [w(t, "id"), w(t, "data-name")].filter(
|
|
1109
1260
|
(e) => !!e
|
|
1110
1261
|
);
|
|
1111
1262
|
}
|
|
1112
|
-
function
|
|
1113
|
-
return t.some(
|
|
1263
|
+
function pn(t) {
|
|
1264
|
+
return t.some(bt) ? { interactiveContainer: !1, nonInteractiveContainer: !0, storeFolder: !1 } : t.some(zt) ? { interactiveContainer: !0, nonInteractiveContainer: !1, storeFolder: !1 } : t.some(Ut) ? { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !0 } : { interactiveContainer: !1, nonInteractiveContainer: !1, storeFolder: !1 };
|
|
1114
1265
|
}
|
|
1115
|
-
function
|
|
1266
|
+
function mn(t) {
|
|
1116
1267
|
const e = t.trim().split(/[\s,]+/).map(Number);
|
|
1117
1268
|
if (e.length < 4) return "";
|
|
1118
1269
|
let n = `M ${e[0]} ${e[1]}`;
|
|
@@ -1120,250 +1271,250 @@ function rn(t) {
|
|
|
1120
1271
|
n += ` L ${e[o]} ${e[o + 1]}`;
|
|
1121
1272
|
return n += " Z", n;
|
|
1122
1273
|
}
|
|
1123
|
-
function
|
|
1274
|
+
function gn(t, e, n, o) {
|
|
1124
1275
|
return `M ${t} ${e} L ${n} ${o}`;
|
|
1125
1276
|
}
|
|
1126
|
-
function
|
|
1277
|
+
function bn(t, e) {
|
|
1127
1278
|
if (t === "path")
|
|
1128
|
-
return
|
|
1279
|
+
return w(e, "d") ?? void 0;
|
|
1129
1280
|
if (t === "polygon" || t === "polyline") {
|
|
1130
|
-
const n =
|
|
1131
|
-
return n ?
|
|
1281
|
+
const n = w(e, "points");
|
|
1282
|
+
return n ? mn(n) : void 0;
|
|
1132
1283
|
}
|
|
1133
1284
|
if (t === "line")
|
|
1134
|
-
return
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1285
|
+
return gn(
|
|
1286
|
+
X(e, "x1"),
|
|
1287
|
+
X(e, "y1"),
|
|
1288
|
+
X(e, "x2"),
|
|
1289
|
+
X(e, "y2")
|
|
1139
1290
|
);
|
|
1140
1291
|
if (t === "rect") {
|
|
1141
|
-
const n =
|
|
1292
|
+
const n = X(e, "x"), o = X(e, "y"), r = X(e, "width"), s = X(e, "height");
|
|
1142
1293
|
return `M ${n} ${o} L ${n + r} ${o} L ${n + r} ${o + s} L ${n} ${o + s} Z`;
|
|
1143
1294
|
}
|
|
1144
1295
|
}
|
|
1145
|
-
function
|
|
1146
|
-
const e =
|
|
1296
|
+
function In(t) {
|
|
1297
|
+
const e = nn(t).replace(/<!--[\s\S]*?-->/g, ""), n = e.match(/viewBox\s*=\s*["']([^"']+)["']/i), o = qe(n == null ? void 0 : n[1]), r = [], s = [], u = [], c = [];
|
|
1147
1298
|
let i = 0;
|
|
1148
|
-
const
|
|
1149
|
-
for (let b =
|
|
1150
|
-
const
|
|
1151
|
-
if (
|
|
1299
|
+
const h = () => c.some((x) => x.routeContainer), p = () => {
|
|
1300
|
+
for (let b = c.length - 1; b >= 0; b--) {
|
|
1301
|
+
const k = c[b].style;
|
|
1302
|
+
if (k.fill || k.stroke || k.strokeWidth != null || k.opacity != null)
|
|
1152
1303
|
break;
|
|
1153
1304
|
}
|
|
1154
1305
|
let x = {};
|
|
1155
|
-
for (const b of
|
|
1156
|
-
x =
|
|
1306
|
+
for (const b of c)
|
|
1307
|
+
x = at(x, b.style);
|
|
1157
1308
|
return x;
|
|
1158
|
-
},
|
|
1159
|
-
for (let x =
|
|
1160
|
-
if (
|
|
1161
|
-
if (
|
|
1309
|
+
}, a = () => {
|
|
1310
|
+
for (let x = c.length - 1; x >= 0; x--) {
|
|
1311
|
+
if (c[x].nonInteractiveContainer) return !1;
|
|
1312
|
+
if (c[x].interactiveContainer || c[x].storeFolder) return !0;
|
|
1162
1313
|
}
|
|
1163
1314
|
return !1;
|
|
1164
|
-
},
|
|
1165
|
-
for (let x =
|
|
1166
|
-
const b =
|
|
1167
|
-
if (!
|
|
1315
|
+
}, m = () => c.length > 0 ? c[c.length - 1].matrix : yt, l = () => {
|
|
1316
|
+
for (let x = c.length - 1; x >= 0; x--) {
|
|
1317
|
+
const b = c[x];
|
|
1318
|
+
if (!ut(b) && b.id) {
|
|
1168
1319
|
b.hasNamedChild = !0;
|
|
1169
1320
|
return;
|
|
1170
1321
|
}
|
|
1171
1322
|
}
|
|
1172
1323
|
}, d = () => {
|
|
1173
|
-
for (let x =
|
|
1174
|
-
const b =
|
|
1175
|
-
if (!
|
|
1324
|
+
for (let x = c.length - 1; x >= 0; x--) {
|
|
1325
|
+
const b = c[x];
|
|
1326
|
+
if (!ut(b) && b.id)
|
|
1176
1327
|
return b;
|
|
1177
1328
|
}
|
|
1178
1329
|
return null;
|
|
1179
1330
|
}, f = (x) => {
|
|
1180
1331
|
if (x.routeContainer) {
|
|
1181
|
-
for (const b of x.collectedPaths)
|
|
1332
|
+
for (const b of x.collectedPaths) y("path", b);
|
|
1182
1333
|
return;
|
|
1183
1334
|
}
|
|
1184
|
-
|
|
1335
|
+
ut(x) || !x.id || x.collectedPaths.length === 0 || (x.hasNamedChild && u.push(
|
|
1185
1336
|
`Group ${x.id} mixes named children with ${x.collectedPaths.length} unnamed path(s); the unnamed paths were merged into a single shape "${x.id}" — give them ids if they are separate shapes`
|
|
1186
1337
|
), r.push({
|
|
1187
1338
|
id: x.id,
|
|
1188
1339
|
tag: "g",
|
|
1189
1340
|
d: x.collectedPaths.join(" "),
|
|
1190
1341
|
interactive: x.inInteractive,
|
|
1191
|
-
style:
|
|
1342
|
+
style: at(p(), x.style)
|
|
1192
1343
|
}));
|
|
1193
|
-
},
|
|
1344
|
+
}, y = (x, b) => {
|
|
1194
1345
|
if (!b) return;
|
|
1195
|
-
const
|
|
1196
|
-
s.includes(
|
|
1197
|
-
},
|
|
1198
|
-
let
|
|
1199
|
-
for (; (
|
|
1200
|
-
const x =
|
|
1346
|
+
const k = x === "polyline" || x === "polygon" || x === "path" ? b.replace(/\s*Z\s*$/i, "") : b;
|
|
1347
|
+
s.includes(k) || s.push(k);
|
|
1348
|
+
}, g = /<(\/?)(path|polygon|polyline|line|rect|g)\b([^>]*)(\/?)>/gi;
|
|
1349
|
+
let I;
|
|
1350
|
+
for (; (I = g.exec(e)) !== null; ) {
|
|
1351
|
+
const x = I[1] === "/", b = I[2].toLowerCase(), k = I[3] ?? "", S = I[4] === "/" || /\/\s*$/.test(k);
|
|
1201
1352
|
if (x) {
|
|
1202
1353
|
if (b === "g") {
|
|
1203
|
-
const O =
|
|
1354
|
+
const O = c.pop();
|
|
1204
1355
|
O && f(O);
|
|
1205
1356
|
}
|
|
1206
1357
|
continue;
|
|
1207
1358
|
}
|
|
1208
1359
|
if (b === "g") {
|
|
1209
|
-
const O =
|
|
1210
|
-
O &&
|
|
1211
|
-
const
|
|
1360
|
+
const O = w(k, "id"), B = xn(k), { interactiveContainer: N, nonInteractiveContainer: T, storeFolder: W } = pn(B), Z = a();
|
|
1361
|
+
O && l();
|
|
1362
|
+
const j = {
|
|
1212
1363
|
id: O,
|
|
1213
|
-
interactiveContainer:
|
|
1214
|
-
nonInteractiveContainer:
|
|
1215
|
-
storeFolder:
|
|
1216
|
-
inInteractive:
|
|
1364
|
+
interactiveContainer: N,
|
|
1365
|
+
nonInteractiveContainer: T,
|
|
1366
|
+
storeFolder: W,
|
|
1367
|
+
inInteractive: N || W || vt(k) || Z && !T,
|
|
1217
1368
|
collectedPaths: [],
|
|
1218
|
-
style:
|
|
1219
|
-
matrix:
|
|
1369
|
+
style: St(k),
|
|
1370
|
+
matrix: H(m(), Lt(w(k, "transform"))),
|
|
1220
1371
|
hasNamedChild: !1,
|
|
1221
|
-
routeContainer:
|
|
1372
|
+
routeContainer: B.some(Wt) || h()
|
|
1222
1373
|
};
|
|
1223
|
-
|
|
1374
|
+
S || c.push(j);
|
|
1224
1375
|
continue;
|
|
1225
1376
|
}
|
|
1226
|
-
const
|
|
1227
|
-
if (
|
|
1228
|
-
|
|
1377
|
+
const A = w(k, "id"), C = bn(b, k), R = H(m(), Lt(w(k, "transform"))), v = C && ln(C, R), D = vt(k) || a(), E = at(p(), St(k)), K = w(k, "data-name");
|
|
1378
|
+
if (A != null && xt(A) || K != null && xt(K) || !A && h()) {
|
|
1379
|
+
y(b, v);
|
|
1229
1380
|
continue;
|
|
1230
1381
|
}
|
|
1231
|
-
if (
|
|
1232
|
-
|
|
1382
|
+
if (A) {
|
|
1383
|
+
l(), v && r.push({ id: A, tag: b, d: v, interactive: D, style: E });
|
|
1233
1384
|
continue;
|
|
1234
1385
|
}
|
|
1235
|
-
if (!
|
|
1236
|
-
const
|
|
1237
|
-
|
|
1386
|
+
if (!v) continue;
|
|
1387
|
+
const L = d();
|
|
1388
|
+
L ? (L.collectedPaths.push(v), !L.style.fill && E.fill && (L.style = E)) : D && (i += 1, r.push({
|
|
1238
1389
|
id: `interactive-anon-${i}`,
|
|
1239
1390
|
tag: b,
|
|
1240
|
-
d:
|
|
1391
|
+
d: v,
|
|
1241
1392
|
interactive: !0,
|
|
1242
|
-
style:
|
|
1393
|
+
style: E
|
|
1243
1394
|
}));
|
|
1244
1395
|
}
|
|
1245
|
-
for (;
|
|
1246
|
-
f(
|
|
1396
|
+
for (; c.length > 0; )
|
|
1397
|
+
f(c.pop());
|
|
1247
1398
|
return { viewbox: o, elements: r, routePathDs: s, warnings: u };
|
|
1248
1399
|
}
|
|
1249
|
-
function
|
|
1400
|
+
function kn(t) {
|
|
1250
1401
|
return t.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 80);
|
|
1251
1402
|
}
|
|
1252
|
-
function
|
|
1253
|
-
var r, s, u,
|
|
1254
|
-
const n =
|
|
1255
|
-
return n != null && n.fill ? o.fill = n.fill : (r = t.style) != null && r.fill && (o.fill = t.style.fill), n != null && n.stroke ? o.stroke = n.stroke : (s = t.style) != null && s.stroke && (o.stroke = t.style.stroke), (n == null ? void 0 : n.strokeWidth) != null ? o.strokeWidth = n.strokeWidth : ((u = t.style) == null ? void 0 : u.strokeWidth) != null && (o.strokeWidth = t.style.strokeWidth), ((
|
|
1403
|
+
function _n(t, e) {
|
|
1404
|
+
var r, s, u, c;
|
|
1405
|
+
const n = mt(e), o = {};
|
|
1406
|
+
return n != null && n.fill ? o.fill = n.fill : (r = t.style) != null && r.fill && (o.fill = t.style.fill), n != null && n.stroke ? o.stroke = n.stroke : (s = t.style) != null && s.stroke && (o.stroke = t.style.stroke), (n == null ? void 0 : n.strokeWidth) != null ? o.strokeWidth = n.strokeWidth : ((u = t.style) == null ? void 0 : u.strokeWidth) != null && (o.strokeWidth = t.style.strokeWidth), ((c = t.style) == null ? void 0 : c.opacity) != null && (o.opacity = t.style.opacity), (n == null ? void 0 : n.extrudeHeight) != null && (o.extrudeHeight = n.extrudeHeight), o;
|
|
1256
1407
|
}
|
|
1257
|
-
function
|
|
1408
|
+
function An(t, e) {
|
|
1258
1409
|
return t == null && e == null ? !0 : t == null || e == null ? !1 : Math.abs(t.x - e.x) < 0.01 && Math.abs(t.y - e.y) < 0.01 && Math.abs(t.width - e.width) < 0.01 && Math.abs(t.height - e.height) < 0.01;
|
|
1259
1410
|
}
|
|
1260
|
-
function
|
|
1261
|
-
const o =
|
|
1262
|
-
let
|
|
1263
|
-
const
|
|
1264
|
-
|
|
1411
|
+
function wo(t, e = "floor", n = {}) {
|
|
1412
|
+
const o = In(t), r = [], s = [], u = [], c = [...o.warnings], i = [];
|
|
1413
|
+
let h = 0, p = 0, a = 0;
|
|
1414
|
+
const m = n.previousViewbox != null && o.viewbox != null && !An(n.previousViewbox, o.viewbox);
|
|
1415
|
+
m && c.push(
|
|
1265
1416
|
"SVG viewBox differs from the stored artboard — re-upload blocked until the designer restores the original viewBox"
|
|
1266
1417
|
);
|
|
1267
|
-
for (const
|
|
1268
|
-
if (
|
|
1269
|
-
let { kind: d, guessed: f } =
|
|
1270
|
-
|
|
1271
|
-
const
|
|
1272
|
-
sourceSvgId:
|
|
1418
|
+
for (const l of o.elements) {
|
|
1419
|
+
if (Vt(l.id)) continue;
|
|
1420
|
+
let { kind: d, guessed: f } = yn(l.id, e);
|
|
1421
|
+
l.interactive && !d && (d = "unit", f = !0);
|
|
1422
|
+
const y = {
|
|
1423
|
+
sourceSvgId: l.id,
|
|
1273
1424
|
kind: d,
|
|
1274
1425
|
guessed: f
|
|
1275
1426
|
};
|
|
1276
1427
|
if (!d)
|
|
1277
|
-
if (s.push(
|
|
1278
|
-
d = "decor",
|
|
1428
|
+
if (s.push(l.id), e === "floor")
|
|
1429
|
+
d = "decor", y.kind = "decor", y.message = "No matching prefix; imported as decor (floor mode)";
|
|
1279
1430
|
else {
|
|
1280
|
-
|
|
1431
|
+
y.message = "No matching prefix; skipped (outdoor decor stays in SVG)", r.push(y);
|
|
1281
1432
|
continue;
|
|
1282
1433
|
}
|
|
1283
|
-
if (!
|
|
1284
|
-
|
|
1434
|
+
if (!l.d) {
|
|
1435
|
+
c.push(`Element ${l.id} has no drawable geometry`);
|
|
1285
1436
|
continue;
|
|
1286
1437
|
}
|
|
1287
1438
|
if (e === "base") {
|
|
1288
|
-
const x =
|
|
1289
|
-
if (!(!x && (
|
|
1439
|
+
const x = mt(l.id) != null;
|
|
1440
|
+
if (!(!x && (dn.includes(d) || !!l.interactive))) {
|
|
1290
1441
|
r.push({
|
|
1291
|
-
...
|
|
1442
|
+
...y,
|
|
1292
1443
|
message: x ? "Static decoration — rendered from outdoor SVG" : "Decoration — not persisted; rendered from outdoor SVG"
|
|
1293
1444
|
});
|
|
1294
1445
|
continue;
|
|
1295
1446
|
}
|
|
1296
1447
|
}
|
|
1297
|
-
f && (u.push(
|
|
1298
|
-
const
|
|
1448
|
+
f && (u.push(y), y.message = y.message ?? "Guessed kind from interactive/fallback rule"), r.push(y), d === "walkable" && h++, d === "void" && p++, d === "unit" && a++;
|
|
1449
|
+
const g = Ze([l.d]), I = gt(g);
|
|
1299
1450
|
i.push({
|
|
1300
|
-
key:
|
|
1451
|
+
key: kn(l.id),
|
|
1301
1452
|
kind: d,
|
|
1302
|
-
geometry:
|
|
1303
|
-
bbox:
|
|
1304
|
-
sourceSvgId:
|
|
1305
|
-
style:
|
|
1453
|
+
geometry: g,
|
|
1454
|
+
bbox: I,
|
|
1455
|
+
sourceSvgId: l.id,
|
|
1456
|
+
style: _n(l, l.id)
|
|
1306
1457
|
});
|
|
1307
1458
|
}
|
|
1308
|
-
return e === "floor" &&
|
|
1459
|
+
return e === "floor" && h === 0 && c.push(
|
|
1309
1460
|
"No walkable layer found — auto-skeleton will be unavailable for this level"
|
|
1310
1461
|
), {
|
|
1311
1462
|
report: {
|
|
1312
1463
|
classified: r,
|
|
1313
1464
|
unrecognized: s,
|
|
1314
1465
|
guessed: u,
|
|
1315
|
-
walkableCount:
|
|
1466
|
+
walkableCount: h,
|
|
1316
1467
|
voidCount: p,
|
|
1317
|
-
unitCount:
|
|
1318
|
-
warnings:
|
|
1468
|
+
unitCount: a,
|
|
1469
|
+
warnings: c
|
|
1319
1470
|
},
|
|
1320
1471
|
shapes: i,
|
|
1321
1472
|
viewbox: o.viewbox,
|
|
1322
1473
|
routePathDs: o.routePathDs,
|
|
1323
|
-
viewBoxChanged:
|
|
1474
|
+
viewBoxChanged: m
|
|
1324
1475
|
};
|
|
1325
1476
|
}
|
|
1326
|
-
function
|
|
1327
|
-
const r = o.driftThreshold ??
|
|
1477
|
+
function Po(t, e, n, o = {}) {
|
|
1478
|
+
const r = o.driftThreshold ?? hn, s = new Map(
|
|
1328
1479
|
e.filter((i) => i.sourceSvgId).map((i) => [i.sourceSvgId, i])
|
|
1329
|
-
), u = /* @__PURE__ */ new Set(),
|
|
1480
|
+
), u = /* @__PURE__ */ new Set(), c = [];
|
|
1330
1481
|
for (const i of t) {
|
|
1331
|
-
const
|
|
1332
|
-
if (u.add(i.sourceSvgId), !
|
|
1333
|
-
|
|
1482
|
+
const h = s.get(i.sourceSvgId);
|
|
1483
|
+
if (u.add(i.sourceSvgId), !h)
|
|
1484
|
+
c.push({
|
|
1334
1485
|
sourceSvgId: i.sourceSvgId,
|
|
1335
1486
|
change: "added",
|
|
1336
1487
|
newKind: i.kind
|
|
1337
1488
|
});
|
|
1338
|
-
else if (
|
|
1339
|
-
|
|
1489
|
+
else if (h.kind !== i.kind)
|
|
1490
|
+
c.push({
|
|
1340
1491
|
sourceSvgId: i.sourceSvgId,
|
|
1341
1492
|
change: "kind_changed",
|
|
1342
|
-
existingShapeId:
|
|
1343
|
-
existingKind:
|
|
1493
|
+
existingShapeId: h.id,
|
|
1494
|
+
existingKind: h.kind,
|
|
1344
1495
|
newKind: i.kind,
|
|
1345
|
-
preserve: { key:
|
|
1346
|
-
geometryLocked:
|
|
1496
|
+
preserve: { key: h.key, assignment: !0, anchors: !0 },
|
|
1497
|
+
geometryLocked: h.geometryLocked
|
|
1347
1498
|
});
|
|
1348
1499
|
else {
|
|
1349
1500
|
let p = "unchanged";
|
|
1350
|
-
if (
|
|
1351
|
-
const
|
|
1352
|
-
Math.hypot(
|
|
1501
|
+
if (h.bbox) {
|
|
1502
|
+
const a = (h.bbox.minX + h.bbox.maxX) / 2, m = (h.bbox.minY + h.bbox.maxY) / 2, l = je(i.geometry);
|
|
1503
|
+
Math.hypot(l.x - a, l.y - m) > r && (p = "moved");
|
|
1353
1504
|
}
|
|
1354
|
-
|
|
1505
|
+
c.push({
|
|
1355
1506
|
sourceSvgId: i.sourceSvgId,
|
|
1356
1507
|
change: p,
|
|
1357
|
-
existingShapeId:
|
|
1358
|
-
existingKind:
|
|
1508
|
+
existingShapeId: h.id,
|
|
1509
|
+
existingKind: h.kind,
|
|
1359
1510
|
newKind: i.kind,
|
|
1360
|
-
preserve: { key:
|
|
1361
|
-
geometryLocked:
|
|
1511
|
+
preserve: { key: h.key, assignment: !0, anchors: !0 },
|
|
1512
|
+
geometryLocked: h.geometryLocked
|
|
1362
1513
|
});
|
|
1363
1514
|
}
|
|
1364
1515
|
}
|
|
1365
1516
|
for (const i of e)
|
|
1366
|
-
i.sourceSvgId && !u.has(i.sourceSvgId) &&
|
|
1517
|
+
i.sourceSvgId && !u.has(i.sourceSvgId) && c.push({
|
|
1367
1518
|
sourceSvgId: i.sourceSvgId,
|
|
1368
1519
|
change: "removed",
|
|
1369
1520
|
existingShapeId: i.id,
|
|
@@ -1371,84 +1522,84 @@ function ho(t, e, n, o = {}) {
|
|
|
1371
1522
|
geometryLocked: i.geometryLocked
|
|
1372
1523
|
});
|
|
1373
1524
|
return {
|
|
1374
|
-
items:
|
|
1525
|
+
items: c,
|
|
1375
1526
|
shapes: t,
|
|
1376
1527
|
viewbox: n
|
|
1377
1528
|
};
|
|
1378
1529
|
}
|
|
1379
|
-
const
|
|
1380
|
-
function
|
|
1381
|
-
return Math.abs(t.x - e.x) <
|
|
1530
|
+
const M = 1e-6, Sn = 15 * Math.PI / 180, Cn = 1e-3, J = Math.PI * 2;
|
|
1531
|
+
function Ot(t, e) {
|
|
1532
|
+
return Math.abs(t.x - e.x) < M && Math.abs(t.y - e.y) < M;
|
|
1382
1533
|
}
|
|
1383
|
-
function
|
|
1534
|
+
function ft(t, e) {
|
|
1384
1535
|
return { x: t.x + e.x, y: t.y + e.y };
|
|
1385
1536
|
}
|
|
1386
|
-
function
|
|
1537
|
+
function Rt(t, e) {
|
|
1387
1538
|
return { x: t.x - e.x, y: t.y - e.y };
|
|
1388
1539
|
}
|
|
1389
|
-
function
|
|
1540
|
+
function tt(t, e) {
|
|
1390
1541
|
return { x: t.x * e, y: t.y * e };
|
|
1391
1542
|
}
|
|
1392
|
-
function
|
|
1543
|
+
function dt(t, e, n) {
|
|
1393
1544
|
return {
|
|
1394
1545
|
x: t.x + Math.cos(n) * e,
|
|
1395
1546
|
y: t.y + Math.sin(n) * e
|
|
1396
1547
|
};
|
|
1397
1548
|
}
|
|
1398
|
-
function
|
|
1549
|
+
function Ln(t) {
|
|
1399
1550
|
const e = [];
|
|
1400
1551
|
for (const n of t) {
|
|
1401
1552
|
const o = e[e.length - 1];
|
|
1402
|
-
o &&
|
|
1553
|
+
o && Ot(o, n) || e.push(n);
|
|
1403
1554
|
}
|
|
1404
|
-
return e.length >= 2 &&
|
|
1555
|
+
return e.length >= 2 && Ot(e[0], e[e.length - 1]) && e.pop(), e;
|
|
1405
1556
|
}
|
|
1406
|
-
function
|
|
1407
|
-
const n =
|
|
1557
|
+
function Fo(t, e) {
|
|
1558
|
+
const n = Yt(e), o = Ln(t);
|
|
1408
1559
|
if (o.length < 3 || n <= 0) return t;
|
|
1409
|
-
const r = o.length, s = new Array(r), u = new Array(r),
|
|
1410
|
-
for (let
|
|
1411
|
-
const d = o[(
|
|
1412
|
-
if (
|
|
1413
|
-
s[
|
|
1560
|
+
const r = o.length, s = new Array(r), u = new Array(r), c = new Array(r), i = new Array(r), h = new Array(r).fill(0), p = new Array(r).fill(0), a = new Array(r).fill(!1);
|
|
1561
|
+
for (let l = 0; l < r; l++) {
|
|
1562
|
+
const d = o[(l - 1 + r) % r], f = o[l], y = o[(l + 1) % r], g = F(d, f), I = F(f, y);
|
|
1563
|
+
if (c[l] = I, g < M || I < M) {
|
|
1564
|
+
s[l] = { x: 1, y: 0 }, u[l] = { x: 1, y: 0 }, i[l] = 0;
|
|
1414
1565
|
continue;
|
|
1415
1566
|
}
|
|
1416
|
-
s[
|
|
1417
|
-
const x = s[
|
|
1418
|
-
i[
|
|
1419
|
-
const
|
|
1420
|
-
if (
|
|
1421
|
-
const
|
|
1422
|
-
if (
|
|
1423
|
-
const
|
|
1424
|
-
|
|
1567
|
+
s[l] = tt(Rt(f, d), 1 / g), u[l] = tt(Rt(y, f), 1 / I);
|
|
1568
|
+
const x = s[l].x * u[l].y - s[l].y * u[l].x, b = s[l].x * u[l].x + s[l].y * u[l].y;
|
|
1569
|
+
i[l] = Math.atan2(x, b);
|
|
1570
|
+
const k = Math.abs(i[l]);
|
|
1571
|
+
if (k < Sn) continue;
|
|
1572
|
+
const S = Math.PI - k, A = Math.tan(S / 2);
|
|
1573
|
+
if (A < M || S <= M || S >= Math.PI - M) continue;
|
|
1574
|
+
const C = n / A;
|
|
1575
|
+
h[l] = C, p[l] = C, a[l] = !0;
|
|
1425
1576
|
}
|
|
1426
|
-
for (let
|
|
1427
|
-
const d = (
|
|
1428
|
-
if (f <=
|
|
1429
|
-
const
|
|
1430
|
-
p[
|
|
1577
|
+
for (let l = 0; l < r; l++) {
|
|
1578
|
+
const d = (l + 1) % r, f = p[l] + h[d], y = Math.max(0, c[l] - Cn);
|
|
1579
|
+
if (f <= y || f <= M) continue;
|
|
1580
|
+
const g = y / f;
|
|
1581
|
+
p[l] *= g, h[d] *= g;
|
|
1431
1582
|
}
|
|
1432
|
-
const
|
|
1433
|
-
for (let
|
|
1434
|
-
const d = o[
|
|
1435
|
-
if (!l
|
|
1436
|
-
|
|
1583
|
+
const m = [];
|
|
1584
|
+
for (let l = 0; l < r; l++) {
|
|
1585
|
+
const d = o[l], f = Math.min(h[l], p[l]), y = Math.abs(i[l]), g = Math.PI - y, I = f * Math.tan(g / 2);
|
|
1586
|
+
if (!a[l] || I < M || f < M) {
|
|
1587
|
+
m.push({ ...d });
|
|
1437
1588
|
continue;
|
|
1438
1589
|
}
|
|
1439
|
-
const x =
|
|
1440
|
-
x: -s[
|
|
1441
|
-
y: s[
|
|
1442
|
-
}),
|
|
1443
|
-
for (let O = 0; O <=
|
|
1444
|
-
const
|
|
1445
|
-
|
|
1590
|
+
const x = ft(d, tt(s[l], -f)), b = ft(d, tt(u[l], f)), k = i[l] > 0 ? 1 : -1, S = ft(x, {
|
|
1591
|
+
x: -s[l].y * k * I,
|
|
1592
|
+
y: s[l].x * k * I
|
|
1593
|
+
}), A = Math.atan2(x.y - S.y, x.x - S.x), C = Math.atan2(b.y - S.y, b.x - S.x), R = (C - A + J) % J, v = (A - C + J) % J, D = dt(S, I, A + R / 2), E = dt(S, I, A - v / 2), K = F(D, d) <= F(E, d), $ = K ? R : v, L = Math.max(8, Math.min(28, Math.ceil($ * I / 2)));
|
|
1594
|
+
for (let O = 0; O <= L; O++) {
|
|
1595
|
+
const B = O / L, N = K ? A + $ * B : A - $ * B;
|
|
1596
|
+
m.push(dt(S, I, N));
|
|
1446
1597
|
}
|
|
1447
1598
|
}
|
|
1448
|
-
return
|
|
1599
|
+
return m;
|
|
1449
1600
|
}
|
|
1450
|
-
function
|
|
1451
|
-
const o =
|
|
1601
|
+
function vn(t, e, n = []) {
|
|
1602
|
+
const o = Zt(), r = new Map(t.map((i) => [i.id, i])), s = new Map(n.map((i) => [i.id, i])), u = t.map((i) => ({
|
|
1452
1603
|
id: i.id,
|
|
1453
1604
|
levelId: i.levelId,
|
|
1454
1605
|
x: i.x,
|
|
@@ -1459,87 +1610,87 @@ function xn(t, e, n = []) {
|
|
|
1459
1610
|
}));
|
|
1460
1611
|
for (const i of u)
|
|
1461
1612
|
o.addNode(i.id, i);
|
|
1462
|
-
const
|
|
1613
|
+
const c = [];
|
|
1463
1614
|
for (const i of e) {
|
|
1464
|
-
const
|
|
1465
|
-
if (!
|
|
1466
|
-
let
|
|
1467
|
-
|
|
1468
|
-
let
|
|
1469
|
-
if (i.kind === "connector" &&
|
|
1470
|
-
const d = s.get(
|
|
1471
|
-
d && (
|
|
1615
|
+
const h = r.get(i.fromAnchorId), p = r.get(i.toAnchorId);
|
|
1616
|
+
if (!h || !p) continue;
|
|
1617
|
+
let a = i.weight;
|
|
1618
|
+
a == null && (a = F(h, p), h.levelId !== p.levelId && (a += ht));
|
|
1619
|
+
let m = i.accessible;
|
|
1620
|
+
if (i.kind === "connector" && h.connectorId != null) {
|
|
1621
|
+
const d = s.get(h.connectorId);
|
|
1622
|
+
d && (m = d.accessible);
|
|
1472
1623
|
}
|
|
1473
|
-
const
|
|
1624
|
+
const l = {
|
|
1474
1625
|
id: i.id,
|
|
1475
1626
|
from: i.fromAnchorId,
|
|
1476
1627
|
to: i.toAnchorId,
|
|
1477
|
-
weight:
|
|
1628
|
+
weight: a,
|
|
1478
1629
|
directed: i.directed,
|
|
1479
|
-
accessible:
|
|
1630
|
+
accessible: m,
|
|
1480
1631
|
kind: i.kind
|
|
1481
1632
|
};
|
|
1482
|
-
|
|
1633
|
+
c.push(l), o.addLink(i.fromAnchorId, i.toAnchorId, l), i.directed || o.addLink(i.toAnchorId, i.fromAnchorId, l);
|
|
1483
1634
|
}
|
|
1484
|
-
return { graph: o, nodes: u, edges:
|
|
1635
|
+
return { graph: o, nodes: u, edges: c, anchorById: r };
|
|
1485
1636
|
}
|
|
1486
|
-
function
|
|
1637
|
+
function On(t, e, n, o = {}) {
|
|
1487
1638
|
const { graph: r, anchorById: s } = t;
|
|
1488
1639
|
if (!s.has(e) || !s.has(n))
|
|
1489
1640
|
return null;
|
|
1490
|
-
const
|
|
1641
|
+
const c = jt.nba(r, {
|
|
1491
1642
|
oriented: !0,
|
|
1492
|
-
distance(
|
|
1493
|
-
const
|
|
1494
|
-
return o.accessibleOnly &&
|
|
1643
|
+
distance(l, d, f) {
|
|
1644
|
+
const y = f.data;
|
|
1645
|
+
return o.accessibleOnly && y && !y.accessible ? Number.POSITIVE_INFINITY : (y == null ? void 0 : y.weight) ?? 1;
|
|
1495
1646
|
},
|
|
1496
|
-
heuristic(
|
|
1497
|
-
const f = s.get(
|
|
1498
|
-
if (!f || !
|
|
1499
|
-
let
|
|
1500
|
-
return f.levelId !==
|
|
1647
|
+
heuristic(l, d) {
|
|
1648
|
+
const f = s.get(l.id), y = s.get(d.id);
|
|
1649
|
+
if (!f || !y) return 0;
|
|
1650
|
+
let g = F(f, y);
|
|
1651
|
+
return f.levelId !== y.levelId && (g += ht), g;
|
|
1501
1652
|
}
|
|
1502
1653
|
}).find(e, n);
|
|
1503
|
-
if (!
|
|
1504
|
-
const
|
|
1505
|
-
let
|
|
1506
|
-
for (let
|
|
1507
|
-
const d = s.get(
|
|
1508
|
-
if (p.push({ x: d.x, y: d.y, levelId: d.levelId }),
|
|
1509
|
-
const f = s.get(
|
|
1510
|
-
|
|
1654
|
+
if (!c || c.length === 0) return null;
|
|
1655
|
+
const h = c.reverse().map((l) => l.id), p = [], a = [];
|
|
1656
|
+
let m = 0;
|
|
1657
|
+
for (let l = 0; l < h.length; l++) {
|
|
1658
|
+
const d = s.get(h[l]);
|
|
1659
|
+
if (p.push({ x: d.x, y: d.y, levelId: d.levelId }), l > 0) {
|
|
1660
|
+
const f = s.get(h[l - 1]);
|
|
1661
|
+
m += F(f, d), f.levelId !== d.levelId && (m += ht, a.push({
|
|
1511
1662
|
fromLevelId: f.levelId,
|
|
1512
1663
|
toLevelId: d.levelId,
|
|
1513
1664
|
connectorId: d.connectorId ?? f.connectorId
|
|
1514
1665
|
}));
|
|
1515
1666
|
}
|
|
1516
1667
|
}
|
|
1517
|
-
return { anchorIds:
|
|
1668
|
+
return { anchorIds: h, points: p, totalWeight: m, levelChanges: a };
|
|
1518
1669
|
}
|
|
1519
|
-
function
|
|
1670
|
+
function Yo(t, e, n, o = {}) {
|
|
1520
1671
|
let r = null;
|
|
1521
1672
|
for (const s of n) {
|
|
1522
|
-
const u =
|
|
1673
|
+
const u = On(t, e, s, o);
|
|
1523
1674
|
u && (!r || u.totalWeight < r.totalWeight) && (r = u);
|
|
1524
1675
|
}
|
|
1525
1676
|
return r;
|
|
1526
1677
|
}
|
|
1527
|
-
function
|
|
1528
|
-
const e =
|
|
1678
|
+
function Do(t) {
|
|
1679
|
+
const e = fe(t.theme), n = new Map(
|
|
1529
1680
|
t.assignments.map((i) => [i.shapeId, i])
|
|
1530
1681
|
), o = new Map(
|
|
1531
1682
|
(t.retailers ?? []).map((i) => [i.id, i])
|
|
1532
|
-
), r = t.resolveSvgUrl ?? ((i) => i), s = t.levels.filter((i) => i.isActive).sort((i,
|
|
1533
|
-
const
|
|
1534
|
-
const
|
|
1683
|
+
), r = t.resolveSvgUrl ?? ((i) => i), s = t.levels.filter((i) => i.isActive).sort((i, h) => i.ordering - h.ordering).map((i) => {
|
|
1684
|
+
const h = t.shapes.filter((a) => a.levelId === i.id).map((a) => {
|
|
1685
|
+
const m = Gt(a.geometry), l = n.get(a.id) ?? null, d = (l == null ? void 0 : l.retailerId) != null ? o.get(l.retailerId) ?? null : null, f = d && !t.persistMediaKeys ? { ...d, logoKey: null } : d;
|
|
1535
1686
|
return {
|
|
1536
|
-
...
|
|
1537
|
-
geometry:
|
|
1538
|
-
bbox:
|
|
1539
|
-
assignment:
|
|
1540
|
-
label:
|
|
1687
|
+
...a,
|
|
1688
|
+
geometry: m,
|
|
1689
|
+
bbox: m === a.geometry ? a.bbox : gt(m),
|
|
1690
|
+
assignment: l,
|
|
1691
|
+
label: Kt(a, l, f)
|
|
1541
1692
|
};
|
|
1542
|
-
}), p = t.anchors.filter((
|
|
1693
|
+
}), p = t.anchors.filter((a) => a.levelId === i.id);
|
|
1543
1694
|
return {
|
|
1544
1695
|
id: i.id,
|
|
1545
1696
|
buildingId: i.buildingId,
|
|
@@ -1550,10 +1701,10 @@ function po(t) {
|
|
|
1550
1701
|
sourceSvgUrl: r(i.sourceSvgKey) ?? i.sourceSvgUrl ?? null,
|
|
1551
1702
|
viewbox: i.sourceViewbox,
|
|
1552
1703
|
transform: i.transform,
|
|
1553
|
-
shapes:
|
|
1704
|
+
shapes: h,
|
|
1554
1705
|
anchors: p
|
|
1555
1706
|
};
|
|
1556
|
-
}), { nodes: u, edges:
|
|
1707
|
+
}), { nodes: u, edges: c } = vn(
|
|
1557
1708
|
t.anchors,
|
|
1558
1709
|
t.edges,
|
|
1559
1710
|
t.connectors
|
|
@@ -1571,21 +1722,36 @@ function po(t) {
|
|
|
1571
1722
|
levels: s,
|
|
1572
1723
|
connectors: t.connectors,
|
|
1573
1724
|
amenities: t.amenities.filter((i) => i.isActive),
|
|
1574
|
-
|
|
1725
|
+
retailers: (t.retailers ?? []).map(
|
|
1726
|
+
(i) => Rn(i, !!t.persistMediaKeys)
|
|
1727
|
+
),
|
|
1728
|
+
graph: { nodes: u, edges: c },
|
|
1575
1729
|
responsiveOverrides: t.responsiveOverrides,
|
|
1576
1730
|
publishedAt: t.publishedAt ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
1577
1731
|
};
|
|
1578
1732
|
}
|
|
1579
|
-
function
|
|
1733
|
+
function Rn(t, e) {
|
|
1734
|
+
return {
|
|
1735
|
+
id: t.id,
|
|
1736
|
+
name: t.name,
|
|
1737
|
+
location: t.location ?? null,
|
|
1738
|
+
logoUrl: e ? null : t.logoUrl ?? null,
|
|
1739
|
+
logoKey: e ? t.logoKey ?? null : null,
|
|
1740
|
+
phone: t.phone ?? null,
|
|
1741
|
+
description: t.description ?? null,
|
|
1742
|
+
globalRetailerId: t.globalRetailerId ?? null
|
|
1743
|
+
};
|
|
1744
|
+
}
|
|
1745
|
+
function Ko(t) {
|
|
1580
1746
|
let e = !1;
|
|
1581
1747
|
const n = t.levels.map((o) => {
|
|
1582
1748
|
let r = !1;
|
|
1583
1749
|
const s = o.shapes.map((u) => {
|
|
1584
|
-
const
|
|
1585
|
-
return !
|
|
1750
|
+
const c = Gt(u.geometry), i = Kt(u, u.assignment), h = c !== u.geometry, p = i !== u.label;
|
|
1751
|
+
return !h && !p ? u : (r = !0, {
|
|
1586
1752
|
...u,
|
|
1587
|
-
geometry:
|
|
1588
|
-
bbox:
|
|
1753
|
+
geometry: c,
|
|
1754
|
+
bbox: h ? gt(c) : u.bbox,
|
|
1589
1755
|
label: i
|
|
1590
1756
|
});
|
|
1591
1757
|
});
|
|
@@ -1593,7 +1759,7 @@ function mo(t) {
|
|
|
1593
1759
|
});
|
|
1594
1760
|
return e ? { ...t, levels: n } : t;
|
|
1595
1761
|
}
|
|
1596
|
-
const
|
|
1762
|
+
const Mn = [
|
|
1597
1763
|
"floorplate",
|
|
1598
1764
|
"walkable",
|
|
1599
1765
|
"decor",
|
|
@@ -1602,104 +1768,104 @@ const mn = [
|
|
|
1602
1768
|
"water",
|
|
1603
1769
|
"parking_zone"
|
|
1604
1770
|
];
|
|
1605
|
-
function
|
|
1771
|
+
function En(t) {
|
|
1606
1772
|
return t === "void";
|
|
1607
1773
|
}
|
|
1608
|
-
function
|
|
1609
|
-
return
|
|
1774
|
+
function Bo(t) {
|
|
1775
|
+
return Mn.includes(t);
|
|
1610
1776
|
}
|
|
1611
|
-
function
|
|
1612
|
-
return
|
|
1777
|
+
function Ht(t) {
|
|
1778
|
+
return En(t.kind) && !t.orphanedAt;
|
|
1613
1779
|
}
|
|
1614
|
-
function
|
|
1615
|
-
return (t.shapes ?? []).some(
|
|
1780
|
+
function Nn(t) {
|
|
1781
|
+
return (t.shapes ?? []).some(Ht);
|
|
1616
1782
|
}
|
|
1617
|
-
function
|
|
1783
|
+
function Xo(t) {
|
|
1618
1784
|
var n;
|
|
1619
1785
|
const e = [];
|
|
1620
1786
|
for (const o of t.shapes ?? [])
|
|
1621
|
-
if (
|
|
1787
|
+
if (Ht(o))
|
|
1622
1788
|
for (const r of ((n = o.geometry) == null ? void 0 : n.polygons) ?? [])
|
|
1623
1789
|
r.length >= 3 && e.push(r);
|
|
1624
1790
|
return e;
|
|
1625
1791
|
}
|
|
1626
|
-
function
|
|
1792
|
+
function Mt(t) {
|
|
1627
1793
|
let e = 0;
|
|
1628
1794
|
for (let n = 0, o = t.length - 1; n < t.length; o = n++)
|
|
1629
1795
|
e += t[o].x * t[n].y - t[n].x * t[o].y;
|
|
1630
1796
|
return e / 2;
|
|
1631
1797
|
}
|
|
1632
|
-
function
|
|
1798
|
+
function Tn(t) {
|
|
1633
1799
|
return t.slice().reverse();
|
|
1634
1800
|
}
|
|
1635
|
-
function
|
|
1636
|
-
const n =
|
|
1637
|
-
return n === 0 || o === 0 ? e : Math.sign(n) === Math.sign(o) ?
|
|
1801
|
+
function wn(t, e) {
|
|
1802
|
+
const n = Mt(t), o = Mt(e);
|
|
1803
|
+
return n === 0 || o === 0 ? e : Math.sign(n) === Math.sign(o) ? Tn(e) : e;
|
|
1638
1804
|
}
|
|
1639
|
-
function
|
|
1805
|
+
function Et(t) {
|
|
1640
1806
|
let e = 1 / 0, n = 1 / 0, o = -1 / 0, r = -1 / 0;
|
|
1641
1807
|
for (const s of t)
|
|
1642
1808
|
s.x < e && (e = s.x), s.y < n && (n = s.y), s.x > o && (o = s.x), s.y > r && (r = s.y);
|
|
1643
1809
|
return { minX: e, minY: n, maxX: o, maxY: r };
|
|
1644
1810
|
}
|
|
1645
|
-
function
|
|
1646
|
-
const n =
|
|
1811
|
+
function Pn(t, e) {
|
|
1812
|
+
const n = Et(t), o = Et(e);
|
|
1647
1813
|
return n.minX <= o.maxX && n.maxX >= o.minX && n.minY <= o.maxY && n.maxY >= o.minY;
|
|
1648
1814
|
}
|
|
1649
|
-
function
|
|
1650
|
-
return e.filter((n) => n.length >= 3 &&
|
|
1815
|
+
function $o(t, e) {
|
|
1816
|
+
return e.filter((n) => n.length >= 3 && Pn(t, n)).map((n) => wn(t, n));
|
|
1651
1817
|
}
|
|
1652
|
-
const
|
|
1653
|
-
function
|
|
1818
|
+
const Go = "#e8eef4", Wo = "#64748b", zo = "#475569";
|
|
1819
|
+
function Fn(t, e) {
|
|
1654
1820
|
return t.ordering - e.ordering || t.levelIndex - e.levelIndex;
|
|
1655
1821
|
}
|
|
1656
|
-
function
|
|
1822
|
+
function et(t) {
|
|
1657
1823
|
return t.kind === "outdoor";
|
|
1658
1824
|
}
|
|
1659
|
-
function
|
|
1660
|
-
const n = t.filter(
|
|
1661
|
-
return !o ||
|
|
1825
|
+
function Yn(t, e) {
|
|
1826
|
+
const n = t.filter(et), o = e == null ? null : t.find((r) => r.id === e) ?? null;
|
|
1827
|
+
return !o || et(o) || n.some((r) => r.id === o.id) ? n : [...n, o];
|
|
1662
1828
|
}
|
|
1663
|
-
function
|
|
1829
|
+
function Dn(t, e) {
|
|
1664
1830
|
if (e == null) return [];
|
|
1665
|
-
const n =
|
|
1831
|
+
const n = rt(t), o = n.findIndex((u) => u.id === e);
|
|
1666
1832
|
if (o < 0) return [];
|
|
1667
1833
|
const r = [];
|
|
1668
1834
|
let s = n[o];
|
|
1669
|
-
for (let u = o; u < n.length - 1 &&
|
|
1670
|
-
const
|
|
1671
|
-
if (!
|
|
1672
|
-
r.unshift(
|
|
1835
|
+
for (let u = o; u < n.length - 1 && Nn(s); u++) {
|
|
1836
|
+
const c = n[u + 1];
|
|
1837
|
+
if (!c) break;
|
|
1838
|
+
r.unshift(c), s = c;
|
|
1673
1839
|
}
|
|
1674
1840
|
return r;
|
|
1675
1841
|
}
|
|
1676
|
-
function
|
|
1677
|
-
return
|
|
1842
|
+
function Uo(t, e) {
|
|
1843
|
+
return Dn(t, e).at(-1) ?? null;
|
|
1678
1844
|
}
|
|
1679
|
-
function
|
|
1845
|
+
function Vo(t, e, n) {
|
|
1680
1846
|
const o = t.find((s) => s.id === n);
|
|
1681
|
-
if (!o || !
|
|
1847
|
+
if (!o || !et(o)) return n;
|
|
1682
1848
|
const r = e == null ? null : t.find((s) => s.id === e) ?? null;
|
|
1683
|
-
return r && !
|
|
1849
|
+
return r && !et(r) ? r.id : Kn(t) ?? n;
|
|
1684
1850
|
}
|
|
1685
|
-
function
|
|
1686
|
-
return t.filter((e) => e.kind === "floor").slice().sort(
|
|
1851
|
+
function rt(t) {
|
|
1852
|
+
return t.filter((e) => e.kind === "floor").slice().sort(Fn);
|
|
1687
1853
|
}
|
|
1688
|
-
function
|
|
1689
|
-
return
|
|
1854
|
+
function Ho(t) {
|
|
1855
|
+
return rt(t);
|
|
1690
1856
|
}
|
|
1691
|
-
function
|
|
1692
|
-
return
|
|
1857
|
+
function Zo(t) {
|
|
1858
|
+
return rt(t).length > 1;
|
|
1693
1859
|
}
|
|
1694
|
-
function
|
|
1860
|
+
function jo(t) {
|
|
1695
1861
|
return t.some((e) => e.kind === "floor");
|
|
1696
1862
|
}
|
|
1697
|
-
const
|
|
1698
|
-
function
|
|
1863
|
+
const qo = "This map doesn’t have any floors yet.";
|
|
1864
|
+
function Kn(t) {
|
|
1699
1865
|
var e, n;
|
|
1700
|
-
return ((e =
|
|
1866
|
+
return ((e = rt(t).at(-1)) == null ? void 0 : e.id) ?? ((n = t[0]) == null ? void 0 : n.id) ?? null;
|
|
1701
1867
|
}
|
|
1702
|
-
function
|
|
1868
|
+
function Nt(t) {
|
|
1703
1869
|
return {
|
|
1704
1870
|
minX: t.x,
|
|
1705
1871
|
minY: t.y,
|
|
@@ -1710,20 +1876,20 @@ function Et(t) {
|
|
|
1710
1876
|
size: Math.max(t.width, t.height, 100)
|
|
1711
1877
|
};
|
|
1712
1878
|
}
|
|
1713
|
-
function
|
|
1714
|
-
const n = e.scale || 1, o = (e.rotate || 0) * Math.PI / 180, r = Math.cos(o), s = Math.sin(o), u = t.x * n,
|
|
1879
|
+
function Bn(t, e) {
|
|
1880
|
+
const n = e.scale || 1, o = (e.rotate || 0) * Math.PI / 180, r = Math.cos(o), s = Math.sin(o), u = t.x * n, c = t.y * n;
|
|
1715
1881
|
return {
|
|
1716
|
-
x: u * r -
|
|
1717
|
-
y: u * s +
|
|
1882
|
+
x: u * r - c * s + (e.translateX || 0),
|
|
1883
|
+
y: u * s + c * r + (e.translateY || 0)
|
|
1718
1884
|
};
|
|
1719
1885
|
}
|
|
1720
|
-
function
|
|
1886
|
+
function Xn(t, e) {
|
|
1721
1887
|
const n = [
|
|
1722
1888
|
{ x: t.minX, y: t.minY },
|
|
1723
1889
|
{ x: t.maxX, y: t.minY },
|
|
1724
1890
|
{ x: t.minX, y: t.maxY },
|
|
1725
1891
|
{ x: t.maxX, y: t.maxY }
|
|
1726
|
-
].map((
|
|
1892
|
+
].map((c) => e ? Bn(c, e) : c), o = Math.min(
|
|
1727
1893
|
n[0].x,
|
|
1728
1894
|
n[1].x,
|
|
1729
1895
|
n[2].x,
|
|
@@ -1754,7 +1920,7 @@ function Mn(t, e) {
|
|
|
1754
1920
|
size: Math.max(s - o, u - r, 100)
|
|
1755
1921
|
};
|
|
1756
1922
|
}
|
|
1757
|
-
function
|
|
1923
|
+
function Tt(t, e) {
|
|
1758
1924
|
const n = Math.min(t.minX, e.minX), o = Math.min(t.minY, e.minY), r = Math.max(t.maxX, e.maxX), s = Math.max(t.maxY, e.maxY);
|
|
1759
1925
|
return {
|
|
1760
1926
|
minX: n,
|
|
@@ -1766,21 +1932,21 @@ function Rt(t, e) {
|
|
|
1766
1932
|
size: Math.max(r - n, s - o, 100)
|
|
1767
1933
|
};
|
|
1768
1934
|
}
|
|
1769
|
-
function
|
|
1770
|
-
let o = n ?
|
|
1771
|
-
for (const r of
|
|
1935
|
+
function Qo(t, e, n) {
|
|
1936
|
+
let o = n ? Nt(n) : null;
|
|
1937
|
+
for (const r of Yn(t, e)) {
|
|
1772
1938
|
if (r.viewbox) {
|
|
1773
|
-
const s =
|
|
1774
|
-
o = o ?
|
|
1939
|
+
const s = Nt(r.viewbox);
|
|
1940
|
+
o = o ? Tt(o, s) : s;
|
|
1775
1941
|
}
|
|
1776
1942
|
for (const s of r.shapes) {
|
|
1777
|
-
const u =
|
|
1778
|
-
o = o ?
|
|
1943
|
+
const u = Xn(s.bbox);
|
|
1944
|
+
o = o ? Tt(o, u) : u;
|
|
1779
1945
|
}
|
|
1780
1946
|
}
|
|
1781
1947
|
return o ?? { minX: 0, minY: 0, maxX: 500, maxY: 500, cx: 250, cy: 250, size: 500 };
|
|
1782
1948
|
}
|
|
1783
|
-
function
|
|
1949
|
+
function Jo(t, e) {
|
|
1784
1950
|
if (!t && !e) return { x: 0, y: 0, width: 1e3, height: 800 };
|
|
1785
1951
|
if (!t) return e;
|
|
1786
1952
|
if (!e) return t;
|
|
@@ -1788,151 +1954,165 @@ function vo(t, e) {
|
|
|
1788
1954
|
return { x: n, y: o, width: r - n, height: s - o };
|
|
1789
1955
|
}
|
|
1790
1956
|
export {
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1957
|
+
Do as $,
|
|
1958
|
+
ge as A,
|
|
1959
|
+
fo as B,
|
|
1960
|
+
pe as C,
|
|
1961
|
+
nt as D,
|
|
1962
|
+
he as E,
|
|
1963
|
+
ht as F,
|
|
1964
|
+
lo as G,
|
|
1965
|
+
kt as H,
|
|
1966
|
+
yt as I,
|
|
1967
|
+
Be as J,
|
|
1968
|
+
Ro as K,
|
|
1969
|
+
Zn as L,
|
|
1970
|
+
qo as M,
|
|
1971
|
+
Qo as N,
|
|
1972
|
+
Go as O,
|
|
1973
|
+
Ze as P,
|
|
1974
|
+
ho as Q,
|
|
1975
|
+
me as R,
|
|
1976
|
+
Mn as S,
|
|
1977
|
+
qt as T,
|
|
1978
|
+
Xe as U,
|
|
1979
|
+
Hn as V,
|
|
1980
|
+
wt as W,
|
|
1981
|
+
Yt as X,
|
|
1982
|
+
yn as Y,
|
|
1983
|
+
Jn as Z,
|
|
1984
|
+
Fn as _,
|
|
1985
|
+
Un as a,
|
|
1986
|
+
qe as a$,
|
|
1987
|
+
vn as a0,
|
|
1988
|
+
uo as a1,
|
|
1989
|
+
Dt as a2,
|
|
1990
|
+
to as a3,
|
|
1991
|
+
Kn as a4,
|
|
1992
|
+
Po as a5,
|
|
1993
|
+
F as a6,
|
|
1994
|
+
eo as a7,
|
|
1995
|
+
Tt as a8,
|
|
1996
|
+
Fo as a9,
|
|
1997
|
+
xt as aA,
|
|
1998
|
+
Bo as aB,
|
|
1999
|
+
Ut as aC,
|
|
2000
|
+
pt as aD,
|
|
2001
|
+
Ee as aE,
|
|
2002
|
+
En as aF,
|
|
2003
|
+
ao as aG,
|
|
2004
|
+
qn as aH,
|
|
2005
|
+
Qn as aI,
|
|
2006
|
+
Nn as aJ,
|
|
2007
|
+
xo as aK,
|
|
2008
|
+
at as aL,
|
|
2009
|
+
fe as aM,
|
|
2010
|
+
H as aN,
|
|
2011
|
+
Eo as aO,
|
|
2012
|
+
Uo as aP,
|
|
2013
|
+
Gt as aQ,
|
|
2014
|
+
jn as aR,
|
|
2015
|
+
ot as aS,
|
|
2016
|
+
Ft as aT,
|
|
2017
|
+
Ko as aU,
|
|
2018
|
+
Co as aV,
|
|
2019
|
+
Wn as aW,
|
|
2020
|
+
so as aX,
|
|
2021
|
+
no as aY,
|
|
2022
|
+
In as aZ,
|
|
2023
|
+
Lt as a_,
|
|
2024
|
+
Yo as aa,
|
|
2025
|
+
On as ab,
|
|
2026
|
+
Ne as ac,
|
|
2027
|
+
go as ad,
|
|
2028
|
+
Oo as ae,
|
|
2029
|
+
Ho as af,
|
|
2030
|
+
rt as ag,
|
|
2031
|
+
So as ah,
|
|
2032
|
+
gt as ai,
|
|
2033
|
+
je as aj,
|
|
2034
|
+
jo as ak,
|
|
2035
|
+
wn as al,
|
|
2036
|
+
$o as am,
|
|
2037
|
+
wo as an,
|
|
2038
|
+
nn as ao,
|
|
2039
|
+
Ht as ap,
|
|
2040
|
+
Ae as aq,
|
|
2041
|
+
Vn as ar,
|
|
2042
|
+
He as as,
|
|
2043
|
+
rn as at,
|
|
2044
|
+
zt as au,
|
|
2045
|
+
Vt as av,
|
|
2046
|
+
mo as aw,
|
|
2047
|
+
bt as ax,
|
|
2048
|
+
et as ay,
|
|
2049
|
+
Wt as az,
|
|
2050
|
+
xe as b,
|
|
2051
|
+
$t as b0,
|
|
2052
|
+
$e as b1,
|
|
2053
|
+
Mo as b2,
|
|
2054
|
+
Et as b3,
|
|
2055
|
+
Mt as b4,
|
|
2056
|
+
Pn as b5,
|
|
2057
|
+
Ge as b6,
|
|
2058
|
+
Kt as b7,
|
|
2059
|
+
St as b8,
|
|
2060
|
+
vo as b9,
|
|
2061
|
+
Xo as bA,
|
|
2062
|
+
bo as bB,
|
|
2063
|
+
Io as bC,
|
|
2064
|
+
_o as bD,
|
|
2065
|
+
Ao as bE,
|
|
2066
|
+
ko as bF,
|
|
2067
|
+
mt as ba,
|
|
2068
|
+
ne as bb,
|
|
2069
|
+
ro as bc,
|
|
2070
|
+
io as bd,
|
|
2071
|
+
oo as be,
|
|
2072
|
+
Dn as bf,
|
|
2073
|
+
Tn as bg,
|
|
2074
|
+
Xn as bh,
|
|
2075
|
+
Ke as bi,
|
|
2076
|
+
Zo as bj,
|
|
2077
|
+
No as bk,
|
|
2078
|
+
z as bl,
|
|
2079
|
+
te as bm,
|
|
2080
|
+
re as bn,
|
|
2081
|
+
Xt as bo,
|
|
2082
|
+
ln as bp,
|
|
2083
|
+
Jo as bq,
|
|
2084
|
+
Ln as br,
|
|
2085
|
+
Nt as bs,
|
|
2086
|
+
po as bt,
|
|
2087
|
+
Me as bu,
|
|
2088
|
+
Fe as bv,
|
|
2089
|
+
Vo as bw,
|
|
2090
|
+
Yn as bx,
|
|
2091
|
+
De as by,
|
|
2092
|
+
Lo as bz,
|
|
2093
|
+
U as c,
|
|
2094
|
+
zn as d,
|
|
2095
|
+
hn as e,
|
|
2096
|
+
dn as f,
|
|
2097
|
+
de as g,
|
|
2098
|
+
ye as h,
|
|
2099
|
+
zo as i,
|
|
2100
|
+
Wo as j,
|
|
2101
|
+
Qt as k,
|
|
2102
|
+
Pt as l,
|
|
2103
|
+
Jt as m,
|
|
2104
|
+
co as n,
|
|
2105
|
+
To as o,
|
|
2106
|
+
yo as p,
|
|
2107
|
+
Bn as q,
|
|
2108
|
+
on as r,
|
|
2109
|
+
ze as s,
|
|
2110
|
+
_t as t,
|
|
2111
|
+
At as u,
|
|
2112
|
+
ke as v,
|
|
2113
|
+
Le as w,
|
|
2114
|
+
Y as x,
|
|
2115
|
+
Bt as y,
|
|
2116
|
+
ve as z
|
|
1937
2117
|
};
|
|
1938
2118
|
//# sourceMappingURL=stacking.js.map
|