@zhangdali1996/lr-map-viewer 0.0.2

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.
@@ -0,0 +1,3948 @@
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, nextTick as s, normalizeClass as c, onBeforeUnmount as l, onMounted as u, onUnmounted as d, openBlock as f, ref as p, renderList as m, toDisplayString as h, unref as g, vModelText as _, watch as v, withDirectives as y } from "vue";
2
+ import { LrYMap as b, useMap as x } from "@longruan/lr-map";
3
+ //#region packages/lr-map-viewer/src/config/lr2d.js
4
+ var S = {
5
+ engine: "lr-map",
6
+ behavior: {
7
+ autoInitLayer: !0,
8
+ autoShowLayer: !0,
9
+ captureLayerTree: !0
10
+ },
11
+ options: {
12
+ ygis_dsGuid: "",
13
+ ygis_username: "",
14
+ ygis_password: "",
15
+ ygis_url: "",
16
+ extent: "",
17
+ Url: "",
18
+ layerName: "",
19
+ layerCode: "",
20
+ token: "",
21
+ rotate: !1,
22
+ animate: !1,
23
+ zoomAnimation: !1,
24
+ markerZoomAnimation: !1,
25
+ fadeAnimation: !1
26
+ }
27
+ }, C = [
28
+ "ygis_dsGuid",
29
+ "ygis_url",
30
+ "Url"
31
+ ];
32
+ function w(e) {
33
+ return Object.prototype.toString.call(e) === "[object Object]";
34
+ }
35
+ function T(e) {
36
+ return Array.isArray(e) ? e.map((e) => T(e)) : w(e) ? Object.keys(e).reduce((t, n) => (t[n] = T(e[n]), t), {}) : e;
37
+ }
38
+ function E(e, t) {
39
+ if (Array.isArray(t)) return t.map((e) => T(e));
40
+ if (!w(e) || !w(t)) return T(t === void 0 ? e : t);
41
+ let n = { ...T(e) };
42
+ return Object.keys(t).forEach((r) => {
43
+ let i = t[r];
44
+ i !== void 0 && (n[r] = E(e[r], i));
45
+ }), n;
46
+ }
47
+ function D(e = {}) {
48
+ let t = String(e.token || "").trim(), n = String(e.ygis_username || "").trim(), r = String(e.ygis_password || "").trim();
49
+ return !!(t || n && r);
50
+ }
51
+ function O(e = {}) {
52
+ let t = j(e), n = [...C];
53
+ return t.behavior.autoShowLayer && n.push("layerName"), n;
54
+ }
55
+ function k(e = {}) {
56
+ let t = j(e), n = O(t).filter((e) => !String(t.options[e] || "").trim());
57
+ return D(t.options) || n.push("token | ygis_username + ygis_password"), n;
58
+ }
59
+ function ee(e = {}) {
60
+ return k(e).length === 0;
61
+ }
62
+ var te = T(S);
63
+ function A() {
64
+ return T(S);
65
+ }
66
+ function ne() {
67
+ return T(te);
68
+ }
69
+ function re() {
70
+ return ne().options;
71
+ }
72
+ function ie(e = {}) {
73
+ return te = E(S, e), ne();
74
+ }
75
+ function ae() {
76
+ return te = T(S), ne();
77
+ }
78
+ function j(e = {}) {
79
+ return E(S, e);
80
+ }
81
+ //#endregion
82
+ //#region packages/lr-map-viewer/src/adapters/lr2d/index.js
83
+ var M = null;
84
+ function oe(e, t = "") {
85
+ if (e?.dataset) {
86
+ if (t) {
87
+ e.dataset.mapMode = t;
88
+ return;
89
+ }
90
+ delete e.dataset.mapMode;
91
+ }
92
+ }
93
+ function se(e) {
94
+ return e?.getContainer?.() || null;
95
+ }
96
+ function N() {
97
+ return x();
98
+ }
99
+ async function P({ map: e, config: t = {} } = {}) {
100
+ if (!e) throw Error("未找到 2D 地图实例");
101
+ let n = j(t), r = k(n);
102
+ if (r.length) throw Error(`2D 地图配置不完整,缺少:${r.join("、")}`);
103
+ let i = se(e), { behavior: a, options: o } = n, { setMap: s, initLayer: c, showLayer: l, getLayerTree: u } = N();
104
+ await s(e);
105
+ let d = [];
106
+ return a.autoInitLayer && await c(), a.captureLayerTree && (d = await u()), a.autoShowLayer && o.layerName && await l(o.layerName, o.layerCode || ""), M = {
107
+ mode: "2d",
108
+ ready: !0,
109
+ engineType: "lr-map",
110
+ map: e,
111
+ host: i,
112
+ config: n,
113
+ options: { ...o },
114
+ behavior: { ...a },
115
+ layerTree: d
116
+ }, oe(i, "2d"), M;
117
+ }
118
+ function F() {
119
+ return M;
120
+ }
121
+ function ce() {
122
+ M?.host && oe(M.host), M = null;
123
+ }
124
+ function le() {
125
+ let e = M?.map;
126
+ return e?.invalidateSize ? (e.invalidateSize(), !0) : !1;
127
+ }
128
+ //#endregion
129
+ //#region packages/lr-map-viewer/src/utils/loadScript.js
130
+ var ue = /* @__PURE__ */ new Map();
131
+ function de(e) {
132
+ return new URL(e, window.location.origin).toString();
133
+ }
134
+ function fe(e) {
135
+ return document.querySelector(`script[data-script-src="${e}"]`);
136
+ }
137
+ function pe(e, t = {}) {
138
+ if (!e) return Promise.reject(/* @__PURE__ */ Error("脚本地址不能为空"));
139
+ if (typeof window > "u" || typeof document > "u") return Promise.reject(/* @__PURE__ */ Error("当前环境不支持动态加载脚本"));
140
+ let n = de(e);
141
+ if (ue.has(n)) return ue.get(n);
142
+ let r = new Promise((r, i) => {
143
+ let a = fe(n), o = (e) => {
144
+ e.dataset.loadState = "loaded", r(e);
145
+ }, s = (t) => {
146
+ t.dataset.loadState = "error", ue.delete(n), i(/* @__PURE__ */ Error(`脚本加载失败: ${e}`));
147
+ };
148
+ if (a) {
149
+ if (a.dataset.loadState === "loaded") {
150
+ r(a);
151
+ return;
152
+ }
153
+ a.addEventListener("load", () => o(a), { once: !0 }), a.addEventListener("error", () => s(a), { once: !0 });
154
+ return;
155
+ }
156
+ let c = document.createElement("script"), { async: l = !0, defer: u = !1, type: d, crossOrigin: f, referrerPolicy: p, attributes: m = {} } = t;
157
+ c.src = n, c.async = l, c.defer = u, c.dataset.scriptSrc = n, c.dataset.loadState = "loading", d && (c.type = d), f && (c.crossOrigin = f), p && (c.referrerPolicy = p), Object.entries(m).forEach(([e, t]) => {
158
+ c.setAttribute(e, t);
159
+ }), c.addEventListener("load", () => o(c), { once: !0 }), c.addEventListener("error", () => s(c), { once: !0 }), document.head.appendChild(c);
160
+ });
161
+ return ue.set(n, r), r;
162
+ }
163
+ //#endregion
164
+ //#region packages/lr-map-viewer/src/config/lr3d.js
165
+ var me = {
166
+ sdk: {
167
+ basePath: "/editorapp",
168
+ scriptSrc: "/editorapp/editorapp.bundle.js",
169
+ globalNames: ["lr3dapp", "EditorApp"],
170
+ dependencies: [
171
+ {
172
+ src: "/resource/js/three.min.js",
173
+ globalNames: ["THREE"]
174
+ },
175
+ {
176
+ src: "/resource/js/vue.2.6.11.js",
177
+ globalNames: ["Vue"]
178
+ },
179
+ {
180
+ src: "/resource/js/element_ui.js",
181
+ globalNames: ["ELEMENT"]
182
+ },
183
+ {
184
+ src: "/resource/js/jquery-3.1.1.min.js",
185
+ globalNames: ["jQuery", "$"]
186
+ }
187
+ ]
188
+ },
189
+ scene: {
190
+ containerId: "lr3d-viewer",
191
+ autoResize: !0
192
+ },
193
+ initOptions: {
194
+ showMenu: !1,
195
+ showToolbar: !1,
196
+ showSidebar: !1,
197
+ theme: "shallow",
198
+ basePoint: {
199
+ x: 0,
200
+ y: 0,
201
+ z: 0
202
+ }
203
+ },
204
+ dataSource: {
205
+ type: "cloud",
206
+ autoLoad: !1,
207
+ loadMode: "workfaceOnly",
208
+ cloud: {
209
+ server: "",
210
+ mapServerUrl: "",
211
+ username: "",
212
+ password: "",
213
+ dsGuid: "",
214
+ dsname: "",
215
+ layers: [],
216
+ demoPerson: {
217
+ layer: "",
218
+ startPoint: null
219
+ },
220
+ laneSize: {
221
+ width: 10,
222
+ height: 10
223
+ },
224
+ coalLayers: [],
225
+ geofaultLayers: [],
226
+ workfaceFeatureTypes: ["0202030030"],
227
+ regionFeatureTypes: [
228
+ "0202030030",
229
+ "0106020009",
230
+ "0202030004",
231
+ "0202030006"
232
+ ],
233
+ enableRegionAssist: !1,
234
+ enableLane: !0
235
+ }
236
+ }
237
+ };
238
+ function I(e) {
239
+ return Object.prototype.toString.call(e) === "[object Object]";
240
+ }
241
+ function he(e) {
242
+ return Array.isArray(e) ? e.map((e) => he(e)) : I(e) ? Object.keys(e).reduce((t, n) => (t[n] = he(e[n]), t), {}) : e;
243
+ }
244
+ function L(e, t) {
245
+ if (Array.isArray(t)) return t.map((e) => he(e));
246
+ if (!I(e) || !I(t)) return he(t === void 0 ? e : t);
247
+ let n = { ...he(e) };
248
+ return Object.keys(t).forEach((r) => {
249
+ let i = t[r];
250
+ i !== void 0 && (n[r] = L(e[r], i));
251
+ }), n;
252
+ }
253
+ var ge = he(me);
254
+ function _e() {
255
+ return he(me);
256
+ }
257
+ function ve() {
258
+ return he(ge);
259
+ }
260
+ function ye() {
261
+ return ve().sdk;
262
+ }
263
+ function be() {
264
+ return ve().scene;
265
+ }
266
+ function xe() {
267
+ return ve().initOptions;
268
+ }
269
+ function Se() {
270
+ return ve().dataSource;
271
+ }
272
+ function Ce(e = {}) {
273
+ return ge = L(me, e), ve();
274
+ }
275
+ function we() {
276
+ return ge = he(me), ve();
277
+ }
278
+ function Te(e = {}) {
279
+ return L(me, e);
280
+ }
281
+ //#endregion
282
+ //#region node_modules/pako/dist/pako.esm.mjs
283
+ var Ee = 4, De = 0, Oe = 1, ke = 2;
284
+ function Ae(e) {
285
+ let t = e.length;
286
+ for (; --t >= 0;) e[t] = 0;
287
+ }
288
+ var je = 0, Me = 1, Ne = 2, Pe = 3, Fe = 258, Ie = 29, Le = 256, Re = Le + 1 + Ie, ze = 30, Be = 19, Ve = 2 * Re + 1, He = 15, Ue = 16, We = 7, Ge = 256, Ke = 16, R = 17, qe = 18, Je = new Uint8Array([
289
+ 0,
290
+ 0,
291
+ 0,
292
+ 0,
293
+ 0,
294
+ 0,
295
+ 0,
296
+ 0,
297
+ 1,
298
+ 1,
299
+ 1,
300
+ 1,
301
+ 2,
302
+ 2,
303
+ 2,
304
+ 2,
305
+ 3,
306
+ 3,
307
+ 3,
308
+ 3,
309
+ 4,
310
+ 4,
311
+ 4,
312
+ 4,
313
+ 5,
314
+ 5,
315
+ 5,
316
+ 5,
317
+ 0
318
+ ]), Ye = new Uint8Array([
319
+ 0,
320
+ 0,
321
+ 0,
322
+ 0,
323
+ 1,
324
+ 1,
325
+ 2,
326
+ 2,
327
+ 3,
328
+ 3,
329
+ 4,
330
+ 4,
331
+ 5,
332
+ 5,
333
+ 6,
334
+ 6,
335
+ 7,
336
+ 7,
337
+ 8,
338
+ 8,
339
+ 9,
340
+ 9,
341
+ 10,
342
+ 10,
343
+ 11,
344
+ 11,
345
+ 12,
346
+ 12,
347
+ 13,
348
+ 13
349
+ ]), Xe = new Uint8Array([
350
+ 0,
351
+ 0,
352
+ 0,
353
+ 0,
354
+ 0,
355
+ 0,
356
+ 0,
357
+ 0,
358
+ 0,
359
+ 0,
360
+ 0,
361
+ 0,
362
+ 0,
363
+ 0,
364
+ 0,
365
+ 0,
366
+ 2,
367
+ 3,
368
+ 7
369
+ ]), Ze = new Uint8Array([
370
+ 16,
371
+ 17,
372
+ 18,
373
+ 0,
374
+ 8,
375
+ 7,
376
+ 9,
377
+ 6,
378
+ 10,
379
+ 5,
380
+ 11,
381
+ 4,
382
+ 12,
383
+ 3,
384
+ 13,
385
+ 2,
386
+ 14,
387
+ 1,
388
+ 15
389
+ ]), Qe = 512, $e = Array((Re + 2) * 2);
390
+ Ae($e);
391
+ var et = Array(ze * 2);
392
+ Ae(et);
393
+ var tt = Array(Qe);
394
+ Ae(tt);
395
+ var nt = Array(Fe - Pe + 1);
396
+ Ae(nt);
397
+ var rt = Array(Ie);
398
+ Ae(rt);
399
+ var it = Array(ze);
400
+ Ae(it);
401
+ function at(e, t, n, r, i) {
402
+ this.static_tree = e, this.extra_bits = t, this.extra_base = n, this.elems = r, this.max_length = i, this.has_stree = e && e.length;
403
+ }
404
+ var ot, st, ct;
405
+ function lt(e, t) {
406
+ this.dyn_tree = e, this.max_code = 0, this.stat_desc = t;
407
+ }
408
+ var ut = (e) => e < 256 ? tt[e] : tt[256 + (e >>> 7)], dt = (e, t) => {
409
+ e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255;
410
+ }, z = (e, t, n) => {
411
+ e.bi_valid > Ue - n ? (e.bi_buf |= t << e.bi_valid & 65535, dt(e, e.bi_buf), e.bi_buf = t >> Ue - e.bi_valid, e.bi_valid += n - Ue) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += n);
412
+ }, ft = (e, t, n) => {
413
+ z(e, n[t * 2], n[t * 2 + 1]);
414
+ }, pt = (e, t) => {
415
+ let n = 0;
416
+ do
417
+ n |= e & 1, e >>>= 1, n <<= 1;
418
+ while (--t > 0);
419
+ return n >>> 1;
420
+ }, mt = (e) => {
421
+ e.bi_valid === 16 ? (dt(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8);
422
+ }, ht = (e, t) => {
423
+ let n = t.dyn_tree, r = t.max_code, i = t.stat_desc.static_tree, a = t.stat_desc.has_stree, o = t.stat_desc.extra_bits, s = t.stat_desc.extra_base, c = t.stat_desc.max_length, l, u, d, f, p, m, h = 0;
424
+ for (f = 0; f <= He; f++) e.bl_count[f] = 0;
425
+ for (n[e.heap[e.heap_max] * 2 + 1] = 0, l = e.heap_max + 1; l < Ve; l++) u = e.heap[l], f = n[n[u * 2 + 1] * 2 + 1] + 1, f > c && (f = c, h++), n[u * 2 + 1] = f, !(u > r) && (e.bl_count[f]++, p = 0, u >= s && (p = o[u - s]), m = n[u * 2], e.opt_len += m * (f + p), a && (e.static_len += m * (i[u * 2 + 1] + p)));
426
+ if (h !== 0) {
427
+ do {
428
+ for (f = c - 1; e.bl_count[f] === 0;) f--;
429
+ e.bl_count[f]--, e.bl_count[f + 1] += 2, e.bl_count[c]--, h -= 2;
430
+ } while (h > 0);
431
+ for (f = c; f !== 0; f--) for (u = e.bl_count[f]; u !== 0;) d = e.heap[--l], !(d > r) && (n[d * 2 + 1] !== f && (e.opt_len += (f - n[d * 2 + 1]) * n[d * 2], n[d * 2 + 1] = f), u--);
432
+ }
433
+ }, gt = (e, t, n) => {
434
+ let r = Array(He + 1), i = 0, a, o;
435
+ for (a = 1; a <= He; a++) i = i + n[a - 1] << 1, r[a] = i;
436
+ for (o = 0; o <= t; o++) {
437
+ let t = e[o * 2 + 1];
438
+ t !== 0 && (e[o * 2] = pt(r[t]++, t));
439
+ }
440
+ }, _t = () => {
441
+ let e, t, n, r, i, a = Array(He + 1);
442
+ for (n = 0, r = 0; r < Ie - 1; r++) for (rt[r] = n, e = 0; e < 1 << Je[r]; e++) nt[n++] = r;
443
+ for (nt[n - 1] = r, i = 0, r = 0; r < 16; r++) for (it[r] = i, e = 0; e < 1 << Ye[r]; e++) tt[i++] = r;
444
+ for (i >>= 7; r < ze; r++) for (it[r] = i << 7, e = 0; e < 1 << Ye[r] - 7; e++) tt[256 + i++] = r;
445
+ for (t = 0; t <= He; t++) a[t] = 0;
446
+ for (e = 0; e <= 143;) $e[e * 2 + 1] = 8, e++, a[8]++;
447
+ for (; e <= 255;) $e[e * 2 + 1] = 9, e++, a[9]++;
448
+ for (; e <= 279;) $e[e * 2 + 1] = 7, e++, a[7]++;
449
+ for (; e <= 287;) $e[e * 2 + 1] = 8, e++, a[8]++;
450
+ for (gt($e, Re + 1, a), e = 0; e < ze; e++) et[e * 2 + 1] = 5, et[e * 2] = pt(e, 5);
451
+ ot = new at($e, Je, Le + 1, Re, He), st = new at(et, Ye, 0, ze, He), ct = new at([], Xe, 0, Be, We);
452
+ }, vt = (e) => {
453
+ let t;
454
+ for (t = 0; t < Re; t++) e.dyn_ltree[t * 2] = 0;
455
+ for (t = 0; t < ze; t++) e.dyn_dtree[t * 2] = 0;
456
+ for (t = 0; t < Be; t++) e.bl_tree[t * 2] = 0;
457
+ e.dyn_ltree[Ge * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0;
458
+ }, yt = (e) => {
459
+ e.bi_valid > 8 ? dt(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;
460
+ }, bt = (e, t, n, r) => {
461
+ let i = t * 2, a = n * 2;
462
+ return e[i] < e[a] || e[i] === e[a] && r[t] <= r[n];
463
+ }, xt = (e, t, n) => {
464
+ let r = e.heap[n], i = n << 1;
465
+ for (; i <= e.heap_len && (i < e.heap_len && bt(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !bt(t, r, e.heap[i], e.depth));) e.heap[n] = e.heap[i], n = i, i <<= 1;
466
+ e.heap[n] = r;
467
+ }, St = (e, t, n) => {
468
+ let r, i, a = 0, o, s;
469
+ if (e.sym_next !== 0) do
470
+ r = e.pending_buf[e.sym_buf + a++] & 255, r += (e.pending_buf[e.sym_buf + a++] & 255) << 8, i = e.pending_buf[e.sym_buf + a++], r === 0 ? ft(e, i, t) : (o = nt[i], ft(e, o + Le + 1, t), s = Je[o], s !== 0 && (i -= rt[o], z(e, i, s)), r--, o = ut(r), ft(e, o, n), s = Ye[o], s !== 0 && (r -= it[o], z(e, r, s)));
471
+ while (a < e.sym_next);
472
+ ft(e, Ge, t);
473
+ }, Ct = (e, t) => {
474
+ let n = t.dyn_tree, r = t.stat_desc.static_tree, i = t.stat_desc.has_stree, a = t.stat_desc.elems, o, s, c = -1, l;
475
+ for (e.heap_len = 0, e.heap_max = Ve, o = 0; o < a; o++) n[o * 2] === 0 ? n[o * 2 + 1] = 0 : (e.heap[++e.heap_len] = c = o, e.depth[o] = 0);
476
+ for (; e.heap_len < 2;) l = e.heap[++e.heap_len] = c < 2 ? ++c : 0, n[l * 2] = 1, e.depth[l] = 0, e.opt_len--, i && (e.static_len -= r[l * 2 + 1]);
477
+ for (t.max_code = c, o = e.heap_len >> 1; o >= 1; o--) xt(e, n, o);
478
+ l = a;
479
+ do
480
+ o = e.heap[1], e.heap[1] = e.heap[e.heap_len--], xt(e, n, 1), s = e.heap[1], e.heap[--e.heap_max] = o, e.heap[--e.heap_max] = s, n[l * 2] = n[o * 2] + n[s * 2], e.depth[l] = (e.depth[o] >= e.depth[s] ? e.depth[o] : e.depth[s]) + 1, n[o * 2 + 1] = n[s * 2 + 1] = l, e.heap[1] = l++, xt(e, n, 1);
481
+ while (e.heap_len >= 2);
482
+ e.heap[--e.heap_max] = e.heap[1], ht(e, t), gt(n, c, e.bl_count);
483
+ }, wt = (e, t, n) => {
484
+ let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
485
+ for (o === 0 && (c = 138, l = 3), t[(n + 1) * 2 + 1] = 65535, r = 0; r <= n; r++) a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o) && (s < l ? e.bl_tree[a * 2] += s : a === 0 ? s <= 10 ? e.bl_tree[R * 2]++ : e.bl_tree[qe * 2]++ : (a !== i && e.bl_tree[a * 2]++, e.bl_tree[Ke * 2]++), s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4));
486
+ }, Tt = (e, t, n) => {
487
+ let r, i = -1, a, o = t[1], s = 0, c = 7, l = 4;
488
+ for (o === 0 && (c = 138, l = 3), r = 0; r <= n; r++) if (a = o, o = t[(r + 1) * 2 + 1], !(++s < c && a === o)) {
489
+ if (s < l) do
490
+ ft(e, a, e.bl_tree);
491
+ while (--s !== 0);
492
+ else a === 0 ? s <= 10 ? (ft(e, R, e.bl_tree), z(e, s - 3, 3)) : (ft(e, qe, e.bl_tree), z(e, s - 11, 7)) : (a !== i && (ft(e, a, e.bl_tree), s--), ft(e, Ke, e.bl_tree), z(e, s - 3, 2));
493
+ s = 0, i = a, o === 0 ? (c = 138, l = 3) : a === o ? (c = 6, l = 3) : (c = 7, l = 4);
494
+ }
495
+ }, Et = (e) => {
496
+ let t;
497
+ for (wt(e, e.dyn_ltree, e.l_desc.max_code), wt(e, e.dyn_dtree, e.d_desc.max_code), Ct(e, e.bl_desc), t = Be - 1; t >= 3 && e.bl_tree[Ze[t] * 2 + 1] === 0; t--);
498
+ return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;
499
+ }, Dt = (e, t, n, r) => {
500
+ let i;
501
+ for (z(e, t - 257, 5), z(e, n - 1, 5), z(e, r - 4, 4), i = 0; i < r; i++) z(e, e.bl_tree[Ze[i] * 2 + 1], 3);
502
+ Tt(e, e.dyn_ltree, t - 1), Tt(e, e.dyn_dtree, n - 1);
503
+ }, Ot = (e) => {
504
+ let t = 4093624447, n;
505
+ for (n = 0; n <= 31; n++, t >>>= 1) if (t & 1 && e.dyn_ltree[n * 2] !== 0) return De;
506
+ if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return Oe;
507
+ for (n = 32; n < Le; n++) if (e.dyn_ltree[n * 2] !== 0) return Oe;
508
+ return De;
509
+ }, kt = !1, At = (e) => {
510
+ kt ||= (_t(), !0), e.l_desc = new lt(e.dyn_ltree, ot), e.d_desc = new lt(e.dyn_dtree, st), e.bl_desc = new lt(e.bl_tree, ct), e.bi_buf = 0, e.bi_valid = 0, vt(e);
511
+ }, jt = (e, t, n, r) => {
512
+ z(e, (je << 1) + (r ? 1 : 0), 3), yt(e), dt(e, n), dt(e, ~n), n && e.pending_buf.set(e.window.subarray(t, t + n), e.pending), e.pending += n;
513
+ }, Mt = {
514
+ _tr_init: At,
515
+ _tr_stored_block: jt,
516
+ _tr_flush_block: (e, t, n, r) => {
517
+ let i, a, o = 0;
518
+ e.level > 0 ? (e.strm.data_type === ke && (e.strm.data_type = Ot(e)), Ct(e, e.l_desc), Ct(e, e.d_desc), o = Et(e), i = e.opt_len + 3 + 7 >>> 3, a = e.static_len + 3 + 7 >>> 3, a <= i && (i = a)) : i = a = n + 5, n + 4 <= i && t !== -1 ? jt(e, t, n, r) : e.strategy === Ee || a === i ? (z(e, (Me << 1) + (r ? 1 : 0), 3), St(e, $e, et)) : (z(e, (Ne << 1) + (r ? 1 : 0), 3), Dt(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, o + 1), St(e, e.dyn_ltree, e.dyn_dtree)), vt(e), r && yt(e);
519
+ },
520
+ _tr_tally: (e, t, n) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = n, t === 0 ? e.dyn_ltree[n * 2]++ : (e.matches++, t--, e.dyn_ltree[(nt[n] + Le + 1) * 2]++, e.dyn_dtree[ut(t) * 2]++), e.sym_next === e.sym_end),
521
+ _tr_align: (e) => {
522
+ z(e, Me << 1, 3), ft(e, Ge, $e), mt(e);
523
+ }
524
+ }, Nt = (e, t, n, r) => {
525
+ let i = e & 65535 | 0, a = e >>> 16 & 65535 | 0, o = 0;
526
+ for (; n !== 0;) {
527
+ o = n > 2e3 ? 2e3 : n, n -= o;
528
+ do
529
+ i = i + t[r++] | 0, a = a + i | 0;
530
+ while (--o);
531
+ i %= 65521, a %= 65521;
532
+ }
533
+ return i | a << 16 | 0;
534
+ }, Pt = new Uint32Array((() => {
535
+ let e, t = [];
536
+ for (var n = 0; n < 256; n++) {
537
+ e = n;
538
+ for (var r = 0; r < 8; r++) e = e & 1 ? 3988292384 ^ e >>> 1 : e >>> 1;
539
+ t[n] = e;
540
+ }
541
+ return t;
542
+ })()), B = (e, t, n, r) => {
543
+ let i = Pt, a = r + n;
544
+ e ^= -1;
545
+ for (let n = r; n < a; n++) e = e >>> 8 ^ i[(e ^ t[n]) & 255];
546
+ return e ^ -1;
547
+ }, Ft = {
548
+ 2: "need dictionary",
549
+ 1: "stream end",
550
+ 0: "",
551
+ "-1": "file error",
552
+ "-2": "stream error",
553
+ "-3": "data error",
554
+ "-4": "insufficient memory",
555
+ "-5": "buffer error",
556
+ "-6": "incompatible version"
557
+ }, It = {
558
+ Z_NO_FLUSH: 0,
559
+ Z_PARTIAL_FLUSH: 1,
560
+ Z_SYNC_FLUSH: 2,
561
+ Z_FULL_FLUSH: 3,
562
+ Z_FINISH: 4,
563
+ Z_BLOCK: 5,
564
+ Z_TREES: 6,
565
+ Z_OK: 0,
566
+ Z_STREAM_END: 1,
567
+ Z_NEED_DICT: 2,
568
+ Z_ERRNO: -1,
569
+ Z_STREAM_ERROR: -2,
570
+ Z_DATA_ERROR: -3,
571
+ Z_MEM_ERROR: -4,
572
+ Z_BUF_ERROR: -5,
573
+ Z_NO_COMPRESSION: 0,
574
+ Z_BEST_SPEED: 1,
575
+ Z_BEST_COMPRESSION: 9,
576
+ Z_DEFAULT_COMPRESSION: -1,
577
+ Z_FILTERED: 1,
578
+ Z_HUFFMAN_ONLY: 2,
579
+ Z_RLE: 3,
580
+ Z_FIXED: 4,
581
+ Z_DEFAULT_STRATEGY: 0,
582
+ Z_BINARY: 0,
583
+ Z_TEXT: 1,
584
+ Z_UNKNOWN: 2,
585
+ Z_DEFLATED: 8
586
+ }, { _tr_init: Lt, _tr_stored_block: Rt, _tr_flush_block: zt, _tr_tally: Bt, _tr_align: Vt } = Mt, { Z_NO_FLUSH: Ht, Z_PARTIAL_FLUSH: Ut, Z_FULL_FLUSH: Wt, Z_FINISH: V, Z_BLOCK: Gt, Z_OK: H, Z_STREAM_END: Kt, Z_STREAM_ERROR: U, Z_DATA_ERROR: qt, Z_BUF_ERROR: Jt, Z_DEFAULT_COMPRESSION: Yt, Z_FILTERED: Xt, Z_HUFFMAN_ONLY: Zt, Z_RLE: Qt, Z_FIXED: $t, Z_DEFAULT_STRATEGY: en, Z_UNKNOWN: tn, Z_DEFLATED: nn } = It, rn = 9, an = 15, on = 8, sn = 286, cn = 30, ln = 19, un = 2 * sn + 1, dn = 15, W = 3, fn = 258, G = fn + W + 1, pn = 32, mn = 42, hn = 57, gn = 69, _n = 73, vn = 91, yn = 103, bn = 113, xn = 666, K = 1, Sn = 2, Cn = 3, wn = 4, Tn = 3, En = (e, t) => (e.msg = Ft[t], t), Dn = (e) => e * 2 - (e > 4 ? 9 : 0), On = (e) => {
587
+ let t = e.length;
588
+ for (; --t >= 0;) e[t] = 0;
589
+ }, kn = (e) => {
590
+ let t, n, r, i = e.w_size;
591
+ t = e.hash_size, r = t;
592
+ do
593
+ n = e.head[--r], e.head[r] = n >= i ? n - i : 0;
594
+ while (--t);
595
+ t = i, r = t;
596
+ do
597
+ n = e.prev[--r], e.prev[r] = n >= i ? n - i : 0;
598
+ while (--t);
599
+ }, An = (e, t, n) => (t << e.hash_shift ^ n) & e.hash_mask, q = (e) => {
600
+ let t = e.state, n = t.pending;
601
+ n > e.avail_out && (n = e.avail_out), n !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + n), e.next_out), e.next_out += n, t.pending_out += n, e.total_out += n, e.avail_out -= n, t.pending -= n, t.pending === 0 && (t.pending_out = 0));
602
+ }, J = (e, t) => {
603
+ zt(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, q(e.strm);
604
+ }, Y = (e, t) => {
605
+ e.pending_buf[e.pending++] = t;
606
+ }, jn = (e, t) => {
607
+ e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255;
608
+ }, Mn = (e, t, n, r) => {
609
+ let i = e.avail_in;
610
+ return i > r && (i = r), i === 0 ? 0 : (e.avail_in -= i, t.set(e.input.subarray(e.next_in, e.next_in + i), n), e.state.wrap === 1 ? e.adler = Nt(e.adler, t, i, n) : e.state.wrap === 2 && (e.adler = B(e.adler, t, i, n)), e.next_in += i, e.total_in += i, i);
611
+ }, Nn = (e, t) => {
612
+ let n = e.max_chain_length, r = e.strstart, i, a, o = e.prev_length, s = e.nice_match, c = e.strstart > e.w_size - G ? e.strstart - (e.w_size - G) : 0, l = e.window, u = e.w_mask, d = e.prev, f = e.strstart + fn, p = l[r + o - 1], m = l[r + o];
613
+ e.prev_length >= e.good_match && (n >>= 2), s > e.lookahead && (s = e.lookahead);
614
+ do {
615
+ if (i = t, l[i + o] !== m || l[i + o - 1] !== p || l[i] !== l[r] || l[++i] !== l[r + 1]) continue;
616
+ r += 2, i++;
617
+ do ;
618
+ while (l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && l[++r] === l[++i] && r < f);
619
+ if (a = fn - (f - r), r = f - fn, a > o) {
620
+ if (e.match_start = t, o = a, a >= s) break;
621
+ p = l[r + o - 1], m = l[r + o];
622
+ }
623
+ } while ((t = d[t & u]) > c && --n !== 0);
624
+ return o <= e.lookahead ? o : e.lookahead;
625
+ }, Pn = (e) => {
626
+ let t = e.w_size, n, r, i;
627
+ do {
628
+ if (r = e.window_size - e.lookahead - e.strstart, e.strstart >= t + (t - G) && (e.window.set(e.window.subarray(t, t + t - r), 0), e.match_start -= t, e.strstart -= t, e.block_start -= t, e.insert > e.strstart && (e.insert = e.strstart), kn(e), r += t), e.strm.avail_in === 0) break;
629
+ if (n = Mn(e.strm, e.window, e.strstart + e.lookahead, r), e.lookahead += n, e.lookahead + e.insert >= W) for (i = e.strstart - e.insert, e.ins_h = e.window[i], e.ins_h = An(e, e.ins_h, e.window[i + 1]); e.insert && (e.ins_h = An(e, e.ins_h, e.window[i + W - 1]), e.prev[i & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = i, i++, e.insert--, !(e.lookahead + e.insert < W)););
630
+ } while (e.lookahead < G && e.strm.avail_in !== 0);
631
+ }, Fn = (e, t) => {
632
+ let n = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, r, i, a, o = 0, s = e.strm.avail_in;
633
+ do {
634
+ if (r = 65535, a = e.bi_valid + 42 >> 3, e.strm.avail_out < a || (a = e.strm.avail_out - a, i = e.strstart - e.block_start, r > i + e.strm.avail_in && (r = i + e.strm.avail_in), r > a && (r = a), r < n && (r === 0 && t !== V || t === Ht || r !== i + e.strm.avail_in))) break;
635
+ o = t === V && r === i + e.strm.avail_in ? 1 : 0, Rt(e, 0, 0, o), e.pending_buf[e.pending - 4] = r, e.pending_buf[e.pending - 3] = r >> 8, e.pending_buf[e.pending - 2] = ~r, e.pending_buf[e.pending - 1] = ~r >> 8, q(e.strm), i && (i > r && (i = r), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + i), e.strm.next_out), e.strm.next_out += i, e.strm.avail_out -= i, e.strm.total_out += i, e.block_start += i, r -= i), r && (Mn(e.strm, e.strm.output, e.strm.next_out, r), e.strm.next_out += r, e.strm.avail_out -= r, e.strm.total_out += r);
636
+ } while (o === 0);
637
+ return s -= e.strm.avail_in, s && (s >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= s && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - s, e.strm.next_in), e.strstart), e.strstart += s, e.insert += s > e.w_size - e.insert ? e.w_size - e.insert : s), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), o ? wn : t !== Ht && t !== V && e.strm.avail_in === 0 && e.strstart === e.block_start ? Sn : (a = e.window_size - e.strstart, e.strm.avail_in > a && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, a += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), a > e.strm.avail_in && (a = e.strm.avail_in), a && (Mn(e.strm, e.window, e.strstart, a), e.strstart += a, e.insert += a > e.w_size - e.insert ? e.w_size - e.insert : a), e.high_water < e.strstart && (e.high_water = e.strstart), a = e.bi_valid + 42 >> 3, a = e.pending_buf_size - a > 65535 ? 65535 : e.pending_buf_size - a, n = a > e.w_size ? e.w_size : a, i = e.strstart - e.block_start, (i >= n || (i || t === V) && t !== Ht && e.strm.avail_in === 0 && i <= a) && (r = i > a ? a : i, o = t === V && e.strm.avail_in === 0 && r === i ? 1 : 0, Rt(e, e.block_start, r, o), e.block_start += r, q(e.strm)), o ? Cn : K);
638
+ }, In = (e, t) => {
639
+ let n, r;
640
+ for (;;) {
641
+ if (e.lookahead < G) {
642
+ if (Pn(e), e.lookahead < G && t === Ht) return K;
643
+ if (e.lookahead === 0) break;
644
+ }
645
+ if (n = 0, e.lookahead >= W && (e.ins_h = An(e, e.ins_h, e.window[e.strstart + W - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), n !== 0 && e.strstart - n <= e.w_size - G && (e.match_length = Nn(e, n)), e.match_length >= W) if (r = Bt(e, e.strstart - e.match_start, e.match_length - W), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= W) {
646
+ e.match_length--;
647
+ do
648
+ e.strstart++, e.ins_h = An(e, e.ins_h, e.window[e.strstart + W - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;
649
+ while (--e.match_length !== 0);
650
+ e.strstart++;
651
+ } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = An(e, e.ins_h, e.window[e.strstart + 1]);
652
+ else r = Bt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
653
+ if (r && (J(e, !1), e.strm.avail_out === 0)) return K;
654
+ }
655
+ return e.insert = e.strstart < W - 1 ? e.strstart : W - 1, t === V ? (J(e, !0), e.strm.avail_out === 0 ? Cn : wn) : e.sym_next && (J(e, !1), e.strm.avail_out === 0) ? K : Sn;
656
+ }, Ln = (e, t) => {
657
+ let n, r, i;
658
+ for (;;) {
659
+ if (e.lookahead < G) {
660
+ if (Pn(e), e.lookahead < G && t === Ht) return K;
661
+ if (e.lookahead === 0) break;
662
+ }
663
+ if (n = 0, e.lookahead >= W && (e.ins_h = An(e, e.ins_h, e.window[e.strstart + W - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = W - 1, n !== 0 && e.prev_length < e.max_lazy_match && e.strstart - n <= e.w_size - G && (e.match_length = Nn(e, n), e.match_length <= 5 && (e.strategy === Xt || e.match_length === W && e.strstart - e.match_start > 4096) && (e.match_length = W - 1)), e.prev_length >= W && e.match_length <= e.prev_length) {
664
+ i = e.strstart + e.lookahead - W, r = Bt(e, e.strstart - 1 - e.prev_match, e.prev_length - W), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
665
+ do
666
+ ++e.strstart <= i && (e.ins_h = An(e, e.ins_h, e.window[e.strstart + W - 1]), n = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);
667
+ while (--e.prev_length !== 0);
668
+ if (e.match_available = 0, e.match_length = W - 1, e.strstart++, r && (J(e, !1), e.strm.avail_out === 0)) return K;
669
+ } else if (e.match_available) {
670
+ if (r = Bt(e, 0, e.window[e.strstart - 1]), r && J(e, !1), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return K;
671
+ } else e.match_available = 1, e.strstart++, e.lookahead--;
672
+ }
673
+ return e.match_available &&= (r = Bt(e, 0, e.window[e.strstart - 1]), 0), e.insert = e.strstart < W - 1 ? e.strstart : W - 1, t === V ? (J(e, !0), e.strm.avail_out === 0 ? Cn : wn) : e.sym_next && (J(e, !1), e.strm.avail_out === 0) ? K : Sn;
674
+ }, Rn = (e, t) => {
675
+ let n, r, i, a, o = e.window;
676
+ for (;;) {
677
+ if (e.lookahead <= fn) {
678
+ if (Pn(e), e.lookahead <= fn && t === Ht) return K;
679
+ if (e.lookahead === 0) break;
680
+ }
681
+ if (e.match_length = 0, e.lookahead >= W && e.strstart > 0 && (i = e.strstart - 1, r = o[i], r === o[++i] && r === o[++i] && r === o[++i])) {
682
+ a = e.strstart + fn;
683
+ do ;
684
+ while (r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && r === o[++i] && i < a);
685
+ e.match_length = fn - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead);
686
+ }
687
+ if (e.match_length >= W ? (n = Bt(e, 1, e.match_length - W), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (n = Bt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), n && (J(e, !1), e.strm.avail_out === 0)) return K;
688
+ }
689
+ return e.insert = 0, t === V ? (J(e, !0), e.strm.avail_out === 0 ? Cn : wn) : e.sym_next && (J(e, !1), e.strm.avail_out === 0) ? K : Sn;
690
+ }, zn = (e, t) => {
691
+ let n;
692
+ for (;;) {
693
+ if (e.lookahead === 0 && (Pn(e), e.lookahead === 0)) {
694
+ if (t === Ht) return K;
695
+ break;
696
+ }
697
+ if (e.match_length = 0, n = Bt(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, n && (J(e, !1), e.strm.avail_out === 0)) return K;
698
+ }
699
+ return e.insert = 0, t === V ? (J(e, !0), e.strm.avail_out === 0 ? Cn : wn) : e.sym_next && (J(e, !1), e.strm.avail_out === 0) ? K : Sn;
700
+ };
701
+ function Bn(e, t, n, r, i) {
702
+ this.good_length = e, this.max_lazy = t, this.nice_length = n, this.max_chain = r, this.func = i;
703
+ }
704
+ var Vn = [
705
+ new Bn(0, 0, 0, 0, Fn),
706
+ new Bn(4, 4, 8, 4, In),
707
+ new Bn(4, 5, 16, 8, In),
708
+ new Bn(4, 6, 32, 32, In),
709
+ new Bn(4, 4, 16, 16, Ln),
710
+ new Bn(8, 16, 32, 32, Ln),
711
+ new Bn(8, 16, 128, 128, Ln),
712
+ new Bn(8, 32, 128, 256, Ln),
713
+ new Bn(32, 128, 258, 1024, Ln),
714
+ new Bn(32, 258, 258, 4096, Ln)
715
+ ], Hn = (e) => {
716
+ e.window_size = 2 * e.w_size, On(e.head), e.max_lazy_match = Vn[e.level].max_lazy, e.good_match = Vn[e.level].good_length, e.nice_match = Vn[e.level].nice_length, e.max_chain_length = Vn[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = W - 1, e.match_available = 0, e.ins_h = 0;
717
+ };
718
+ function Un() {
719
+ this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = nn, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(un * 2), this.dyn_dtree = new Uint16Array((2 * cn + 1) * 2), this.bl_tree = new Uint16Array((2 * ln + 1) * 2), On(this.dyn_ltree), On(this.dyn_dtree), On(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(dn + 1), this.heap = new Uint16Array(2 * sn + 1), On(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(2 * sn + 1), On(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
720
+ }
721
+ var Wn = (e) => {
722
+ if (!e) return 1;
723
+ let t = e.state;
724
+ return !t || t.strm !== e || t.status !== mn && t.status !== hn && t.status !== gn && t.status !== _n && t.status !== vn && t.status !== yn && t.status !== bn && t.status !== xn ? 1 : 0;
725
+ }, Gn = (e) => {
726
+ if (Wn(e)) return En(e, U);
727
+ e.total_in = e.total_out = 0, e.data_type = tn;
728
+ let t = e.state;
729
+ return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? hn : t.wrap ? mn : bn, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, Lt(t), H;
730
+ }, Kn = (e) => {
731
+ let t = Gn(e);
732
+ return t === H && Hn(e.state), t;
733
+ }, qn = (e, t) => Wn(e) || e.state.wrap !== 2 ? U : (e.state.gzhead = t, H), Jn = (e, t, n, r, i, a) => {
734
+ if (!e) return U;
735
+ let o = 1;
736
+ if (t === Yt && (t = 6), r < 0 ? (o = 0, r = -r) : r > 15 && (o = 2, r -= 16), i < 1 || i > rn || n !== nn || r < 8 || r > 15 || t < 0 || t > 9 || a < 0 || a > $t || r === 8 && o !== 1) return En(e, U);
737
+ r === 8 && (r = 9);
738
+ let s = new Un();
739
+ return e.state = s, s.strm = e, s.status = mn, s.wrap = o, s.gzhead = null, s.w_bits = r, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = i + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + W - 1) / W), s.window = new Uint8Array(s.w_size * 2), s.head = new Uint16Array(s.hash_size), s.prev = new Uint16Array(s.w_size), s.lit_bufsize = 1 << i + 6, s.pending_buf_size = s.lit_bufsize * 4, s.pending_buf = new Uint8Array(s.pending_buf_size), s.sym_buf = s.lit_bufsize, s.sym_end = (s.lit_bufsize - 1) * 3, s.level = t, s.strategy = a, s.method = n, Kn(e);
740
+ }, Yn = {
741
+ deflateInit: (e, t) => Jn(e, t, nn, an, on, en),
742
+ deflateInit2: Jn,
743
+ deflateReset: Kn,
744
+ deflateResetKeep: Gn,
745
+ deflateSetHeader: qn,
746
+ deflate: (e, t) => {
747
+ if (Wn(e) || t > Gt || t < 0) return e ? En(e, U) : U;
748
+ let n = e.state;
749
+ if (!e.output || e.avail_in !== 0 && !e.input || n.status === xn && t !== V) return En(e, e.avail_out === 0 ? Jt : U);
750
+ let r = n.last_flush;
751
+ if (n.last_flush = t, n.pending !== 0) {
752
+ if (q(e), e.avail_out === 0) return n.last_flush = -1, H;
753
+ } else if (e.avail_in === 0 && Dn(t) <= Dn(r) && t !== V) return En(e, Jt);
754
+ if (n.status === xn && e.avail_in !== 0) return En(e, Jt);
755
+ if (n.status === mn && n.wrap === 0 && (n.status = bn), n.status === mn) {
756
+ let t = nn + (n.w_bits - 8 << 4) << 8, r = -1;
757
+ if (r = n.strategy >= Zt || n.level < 2 ? 0 : n.level < 6 ? 1 : n.level === 6 ? 2 : 3, t |= r << 6, n.strstart !== 0 && (t |= pn), t += 31 - t % 31, jn(n, t), n.strstart !== 0 && (jn(n, e.adler >>> 16), jn(n, e.adler & 65535)), e.adler = 1, n.status = bn, q(e), n.pending !== 0) return n.last_flush = -1, H;
758
+ }
759
+ if (n.status === hn) {
760
+ if (e.adler = 0, Y(n, 31), Y(n, 139), Y(n, 8), n.gzhead) Y(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Y(n, n.gzhead.time & 255), Y(n, n.gzhead.time >> 8 & 255), Y(n, n.gzhead.time >> 16 & 255), Y(n, n.gzhead.time >> 24 & 255), Y(n, n.level === 9 ? 2 : n.strategy >= Zt || n.level < 2 ? 4 : 0), Y(n, n.gzhead.os & 255), n.gzhead.extra && n.gzhead.extra.length && (Y(n, n.gzhead.extra.length & 255), Y(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = B(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = gn;
761
+ else if (Y(n, 0), Y(n, 0), Y(n, 0), Y(n, 0), Y(n, 0), Y(n, n.level === 9 ? 2 : n.strategy >= Zt || n.level < 2 ? 4 : 0), Y(n, Tn), n.status = bn, q(e), n.pending !== 0) return n.last_flush = -1, H;
762
+ }
763
+ if (n.status === gn) {
764
+ if (n.gzhead.extra) {
765
+ let t = n.pending, r = (n.gzhead.extra.length & 65535) - n.gzindex;
766
+ for (; n.pending + r > n.pending_buf_size;) {
767
+ let i = n.pending_buf_size - n.pending;
768
+ if (n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex, n.gzindex + i), n.pending), n.pending = n.pending_buf_size, n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex += i, q(e), n.pending !== 0) return n.last_flush = -1, H;
769
+ t = 0, r -= i;
770
+ }
771
+ let i = new Uint8Array(n.gzhead.extra);
772
+ n.pending_buf.set(i.subarray(n.gzindex, n.gzindex + r), n.pending), n.pending += r, n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
773
+ }
774
+ n.status = _n;
775
+ }
776
+ if (n.status === _n) {
777
+ if (n.gzhead.name) {
778
+ let t = n.pending, r;
779
+ do {
780
+ if (n.pending === n.pending_buf_size) {
781
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t)), q(e), n.pending !== 0) return n.last_flush = -1, H;
782
+ t = 0;
783
+ }
784
+ r = n.gzindex < n.gzhead.name.length ? n.gzhead.name.charCodeAt(n.gzindex++) & 255 : 0, Y(n, r);
785
+ } while (r !== 0);
786
+ n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t)), n.gzindex = 0;
787
+ }
788
+ n.status = vn;
789
+ }
790
+ if (n.status === vn) {
791
+ if (n.gzhead.comment) {
792
+ let t = n.pending, r;
793
+ do {
794
+ if (n.pending === n.pending_buf_size) {
795
+ if (n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t)), q(e), n.pending !== 0) return n.last_flush = -1, H;
796
+ t = 0;
797
+ }
798
+ r = n.gzindex < n.gzhead.comment.length ? n.gzhead.comment.charCodeAt(n.gzindex++) & 255 : 0, Y(n, r);
799
+ } while (r !== 0);
800
+ n.gzhead.hcrc && n.pending > t && (e.adler = B(e.adler, n.pending_buf, n.pending - t, t));
801
+ }
802
+ n.status = yn;
803
+ }
804
+ if (n.status === yn) {
805
+ if (n.gzhead.hcrc) {
806
+ if (n.pending + 2 > n.pending_buf_size && (q(e), n.pending !== 0)) return n.last_flush = -1, H;
807
+ Y(n, e.adler & 255), Y(n, e.adler >> 8 & 255), e.adler = 0;
808
+ }
809
+ if (n.status = bn, q(e), n.pending !== 0) return n.last_flush = -1, H;
810
+ }
811
+ if (e.avail_in !== 0 || n.lookahead !== 0 || t !== Ht && n.status !== xn) {
812
+ let r = n.level === 0 ? Fn(n, t) : n.strategy === Zt ? zn(n, t) : n.strategy === Qt ? Rn(n, t) : Vn[n.level].func(n, t);
813
+ if ((r === Cn || r === wn) && (n.status = xn), r === K || r === Cn) return e.avail_out === 0 && (n.last_flush = -1), H;
814
+ if (r === Sn && (t === Ut ? Vt(n) : t !== Gt && (Rt(n, 0, 0, !1), t === Wt && (On(n.head), n.lookahead === 0 && (n.strstart = 0, n.block_start = 0, n.insert = 0))), q(e), e.avail_out === 0)) return n.last_flush = -1, H;
815
+ }
816
+ return t === V ? n.wrap <= 0 ? Kt : (n.wrap === 2 ? (Y(n, e.adler & 255), Y(n, e.adler >> 8 & 255), Y(n, e.adler >> 16 & 255), Y(n, e.adler >> 24 & 255), Y(n, e.total_in & 255), Y(n, e.total_in >> 8 & 255), Y(n, e.total_in >> 16 & 255), Y(n, e.total_in >> 24 & 255)) : (jn(n, e.adler >>> 16), jn(n, e.adler & 65535)), q(e), n.wrap > 0 && (n.wrap = -n.wrap), n.pending === 0 ? Kt : H) : H;
817
+ },
818
+ deflateEnd: (e) => {
819
+ if (Wn(e)) return U;
820
+ let t = e.state.status;
821
+ return e.state = null, t === bn ? En(e, qt) : H;
822
+ },
823
+ deflateSetDictionary: (e, t) => {
824
+ let n = t.length;
825
+ if (Wn(e)) return U;
826
+ let r = e.state, i = r.wrap;
827
+ if (i === 2 || i === 1 && r.status !== mn || r.lookahead) return U;
828
+ if (i === 1 && (e.adler = Nt(e.adler, t, n, 0)), r.wrap = 0, n >= r.w_size) {
829
+ i === 0 && (On(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0);
830
+ let e = new Uint8Array(r.w_size);
831
+ e.set(t.subarray(n - r.w_size, n), 0), t = e, n = r.w_size;
832
+ }
833
+ let a = e.avail_in, o = e.next_in, s = e.input;
834
+ for (e.avail_in = n, e.next_in = 0, e.input = t, Pn(r); r.lookahead >= W;) {
835
+ let e = r.strstart, t = r.lookahead - (W - 1);
836
+ do
837
+ r.ins_h = An(r, r.ins_h, r.window[e + W - 1]), r.prev[e & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = e, e++;
838
+ while (--t);
839
+ r.strstart = e, r.lookahead = W - 1, Pn(r);
840
+ }
841
+ return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = W - 1, r.match_available = 0, e.next_in = o, e.input = s, e.avail_in = a, r.wrap = i, H;
842
+ },
843
+ deflateInfo: "pako deflate (from Nodeca project)"
844
+ }, Xn = (e, t) => Object.prototype.hasOwnProperty.call(e, t), Zn = {
845
+ assign: function(e) {
846
+ let t = Array.prototype.slice.call(arguments, 1);
847
+ for (; t.length;) {
848
+ let n = t.shift();
849
+ if (n) {
850
+ if (typeof n != "object") throw TypeError(n + "must be non-object");
851
+ for (let t in n) Xn(n, t) && (e[t] = n[t]);
852
+ }
853
+ }
854
+ return e;
855
+ },
856
+ flattenChunks: (e) => {
857
+ let t = 0;
858
+ for (let n = 0, r = e.length; n < r; n++) t += e[n].length;
859
+ let n = new Uint8Array(t);
860
+ for (let t = 0, r = 0, i = e.length; t < i; t++) {
861
+ let i = e[t];
862
+ n.set(i, r), r += i.length;
863
+ }
864
+ return n;
865
+ }
866
+ }, Qn = !0;
867
+ try {
868
+ String.fromCharCode.apply(null, new Uint8Array(1));
869
+ } catch {
870
+ Qn = !1;
871
+ }
872
+ var $n = new Uint8Array(256);
873
+ for (let e = 0; e < 256; e++) $n[e] = e >= 252 ? 6 : e >= 248 ? 5 : e >= 240 ? 4 : e >= 224 ? 3 : e >= 192 ? 2 : 1;
874
+ $n[254] = $n[254] = 1;
875
+ var er = (e) => {
876
+ if (typeof TextEncoder == "function" && TextEncoder.prototype.encode) return new TextEncoder().encode(e);
877
+ let t, n, r, i, a, o = e.length, s = 0;
878
+ for (i = 0; i < o; i++) n = e.charCodeAt(i), (n & 64512) == 55296 && i + 1 < o && (r = e.charCodeAt(i + 1), (r & 64512) == 56320 && (n = 65536 + (n - 55296 << 10) + (r - 56320), i++)), s += n < 128 ? 1 : n < 2048 ? 2 : n < 65536 ? 3 : 4;
879
+ for (t = new Uint8Array(s), a = 0, i = 0; a < s; i++) n = e.charCodeAt(i), (n & 64512) == 55296 && i + 1 < o && (r = e.charCodeAt(i + 1), (r & 64512) == 56320 && (n = 65536 + (n - 55296 << 10) + (r - 56320), i++)), n < 128 ? t[a++] = n : n < 2048 ? (t[a++] = 192 | n >>> 6, t[a++] = 128 | n & 63) : n < 65536 ? (t[a++] = 224 | n >>> 12, t[a++] = 128 | n >>> 6 & 63, t[a++] = 128 | n & 63) : (t[a++] = 240 | n >>> 18, t[a++] = 128 | n >>> 12 & 63, t[a++] = 128 | n >>> 6 & 63, t[a++] = 128 | n & 63);
880
+ return t;
881
+ }, tr = (e, t) => {
882
+ if (t < 65534 && e.subarray && Qn) return String.fromCharCode.apply(null, e.length === t ? e : e.subarray(0, t));
883
+ let n = "";
884
+ for (let r = 0; r < t; r++) n += String.fromCharCode(e[r]);
885
+ return n;
886
+ }, nr = {
887
+ string2buf: er,
888
+ buf2string: (e, t) => {
889
+ let n = t || e.length;
890
+ if (typeof TextDecoder == "function" && TextDecoder.prototype.decode) return new TextDecoder().decode(e.subarray(0, t));
891
+ let r, i, a = Array(n * 2);
892
+ for (i = 0, r = 0; r < n;) {
893
+ let t = e[r++];
894
+ if (t < 128) {
895
+ a[i++] = t;
896
+ continue;
897
+ }
898
+ let o = $n[t];
899
+ if (o > 4) {
900
+ a[i++] = 65533, r += o - 1;
901
+ continue;
902
+ }
903
+ for (t &= o === 2 ? 31 : o === 3 ? 15 : 7; o > 1 && r < n;) t = t << 6 | e[r++] & 63, o--;
904
+ if (o > 1) {
905
+ a[i++] = 65533;
906
+ continue;
907
+ }
908
+ t < 65536 ? a[i++] = t : (t -= 65536, a[i++] = 55296 | t >> 10 & 1023, a[i++] = 56320 | t & 1023);
909
+ }
910
+ return tr(a, i);
911
+ },
912
+ utf8border: (e, t) => {
913
+ t ||= e.length, t > e.length && (t = e.length);
914
+ let n = t - 1;
915
+ for (; n >= 0 && (e[n] & 192) == 128;) n--;
916
+ return n < 0 || n === 0 ? t : n + $n[e[n]] > t ? n : t;
917
+ }
918
+ };
919
+ function rr() {
920
+ this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
921
+ }
922
+ var ir = rr, ar = Object.prototype.toString, { Z_NO_FLUSH: or, Z_SYNC_FLUSH: sr, Z_FULL_FLUSH: cr, Z_FINISH: lr, Z_OK: ur, Z_STREAM_END: dr, Z_DEFAULT_COMPRESSION: fr, Z_DEFAULT_STRATEGY: pr, Z_DEFLATED: mr } = It;
923
+ function hr(e) {
924
+ this.options = Zn.assign({
925
+ level: fr,
926
+ method: mr,
927
+ chunkSize: 16384,
928
+ windowBits: 15,
929
+ memLevel: 8,
930
+ strategy: pr
931
+ }, e || {});
932
+ let t = this.options;
933
+ t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new ir(), this.strm.avail_out = 0;
934
+ let n = Yn.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy);
935
+ if (n !== ur) throw Error(Ft[n]);
936
+ if (t.header && Yn.deflateSetHeader(this.strm, t.header), t.dictionary) {
937
+ let e;
938
+ if (e = typeof t.dictionary == "string" ? nr.string2buf(t.dictionary) : ar.call(t.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t.dictionary) : t.dictionary, n = Yn.deflateSetDictionary(this.strm, e), n !== ur) throw Error(Ft[n]);
939
+ this._dict_set = !0;
940
+ }
941
+ }
942
+ hr.prototype.push = function(e, t) {
943
+ let n = this.strm, r = this.options.chunkSize, i, a;
944
+ if (this.ended) return !1;
945
+ for (a = t === ~~t ? t : t === !0 ? lr : or, typeof e == "string" ? n.input = nr.string2buf(e) : ar.call(e) === "[object ArrayBuffer]" ? n.input = new Uint8Array(e) : n.input = e, n.next_in = 0, n.avail_in = n.input.length;;) {
946
+ if (n.avail_out === 0 && (n.output = new Uint8Array(r), n.next_out = 0, n.avail_out = r), (a === sr || a === cr) && n.avail_out <= 6) {
947
+ this.onData(n.output.subarray(0, n.next_out)), n.avail_out = 0;
948
+ continue;
949
+ }
950
+ if (i = Yn.deflate(n, a), i === dr) return n.next_out > 0 && this.onData(n.output.subarray(0, n.next_out)), i = Yn.deflateEnd(this.strm), this.onEnd(i), this.ended = !0, i === ur;
951
+ if (n.avail_out === 0) {
952
+ this.onData(n.output);
953
+ continue;
954
+ }
955
+ if (a > 0 && n.next_out > 0) {
956
+ this.onData(n.output.subarray(0, n.next_out)), n.avail_out = 0;
957
+ continue;
958
+ }
959
+ if (n.avail_in === 0) break;
960
+ }
961
+ return !0;
962
+ }, hr.prototype.onData = function(e) {
963
+ this.chunks.push(e);
964
+ }, hr.prototype.onEnd = function(e) {
965
+ e === ur && (this.result = Zn.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
966
+ };
967
+ function gr(e, t) {
968
+ let n = new hr(t);
969
+ if (n.push(e, !0), n.err) throw n.msg || Ft[n.err];
970
+ return n.result;
971
+ }
972
+ function _r(e, t) {
973
+ return t ||= {}, t.raw = !0, gr(e, t);
974
+ }
975
+ function vr(e, t) {
976
+ return t ||= {}, t.gzip = !0, gr(e, t);
977
+ }
978
+ var yr = {
979
+ Deflate: hr,
980
+ deflate: gr,
981
+ deflateRaw: _r,
982
+ gzip: vr,
983
+ constants: It
984
+ }, br = 16209, xr = 16191, Sr = function(e, t) {
985
+ let n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E = e.state;
986
+ n = e.next_in, w = e.input, r = n + (e.avail_in - 5), i = e.next_out, T = e.output, a = i - (t - e.avail_out), o = i + (e.avail_out - 257), s = E.dmax, c = E.wsize, l = E.whave, u = E.wnext, d = E.window, f = E.hold, p = E.bits, m = E.lencode, h = E.distcode, g = (1 << E.lenbits) - 1, _ = (1 << E.distbits) - 1;
987
+ top: do {
988
+ p < 15 && (f += w[n++] << p, p += 8, f += w[n++] << p, p += 8), v = m[f & g];
989
+ dolen: for (;;) {
990
+ if (y = v >>> 24, f >>>= y, p -= y, y = v >>> 16 & 255, y === 0) T[i++] = v & 65535;
991
+ else if (y & 16) {
992
+ b = v & 65535, y &= 15, y && (p < y && (f += w[n++] << p, p += 8), b += f & (1 << y) - 1, f >>>= y, p -= y), p < 15 && (f += w[n++] << p, p += 8, f += w[n++] << p, p += 8), v = h[f & _];
993
+ dodist: for (;;) {
994
+ if (y = v >>> 24, f >>>= y, p -= y, y = v >>> 16 & 255, y & 16) {
995
+ if (x = v & 65535, y &= 15, p < y && (f += w[n++] << p, p += 8, p < y && (f += w[n++] << p, p += 8)), x += f & (1 << y) - 1, x > s) {
996
+ e.msg = "invalid distance too far back", E.mode = br;
997
+ break top;
998
+ }
999
+ if (f >>>= y, p -= y, y = i - a, x > y) {
1000
+ if (y = x - y, y > l && E.sane) {
1001
+ e.msg = "invalid distance too far back", E.mode = br;
1002
+ break top;
1003
+ }
1004
+ if (S = 0, C = d, u === 0) {
1005
+ if (S += c - y, y < b) {
1006
+ b -= y;
1007
+ do
1008
+ T[i++] = d[S++];
1009
+ while (--y);
1010
+ S = i - x, C = T;
1011
+ }
1012
+ } else if (u < y) {
1013
+ if (S += c + u - y, y -= u, y < b) {
1014
+ b -= y;
1015
+ do
1016
+ T[i++] = d[S++];
1017
+ while (--y);
1018
+ if (S = 0, u < b) {
1019
+ y = u, b -= y;
1020
+ do
1021
+ T[i++] = d[S++];
1022
+ while (--y);
1023
+ S = i - x, C = T;
1024
+ }
1025
+ }
1026
+ } else if (S += u - y, y < b) {
1027
+ b -= y;
1028
+ do
1029
+ T[i++] = d[S++];
1030
+ while (--y);
1031
+ S = i - x, C = T;
1032
+ }
1033
+ for (; b > 2;) T[i++] = C[S++], T[i++] = C[S++], T[i++] = C[S++], b -= 3;
1034
+ b && (T[i++] = C[S++], b > 1 && (T[i++] = C[S++]));
1035
+ } else {
1036
+ S = i - x;
1037
+ do
1038
+ T[i++] = T[S++], T[i++] = T[S++], T[i++] = T[S++], b -= 3;
1039
+ while (b > 2);
1040
+ b && (T[i++] = T[S++], b > 1 && (T[i++] = T[S++]));
1041
+ }
1042
+ } else if (y & 64) {
1043
+ e.msg = "invalid distance code", E.mode = br;
1044
+ break top;
1045
+ } else {
1046
+ v = h[(v & 65535) + (f & (1 << y) - 1)];
1047
+ continue dodist;
1048
+ }
1049
+ break;
1050
+ }
1051
+ } else if (!(y & 64)) {
1052
+ v = m[(v & 65535) + (f & (1 << y) - 1)];
1053
+ continue dolen;
1054
+ } else if (y & 32) {
1055
+ E.mode = xr;
1056
+ break top;
1057
+ } else {
1058
+ e.msg = "invalid literal/length code", E.mode = br;
1059
+ break top;
1060
+ }
1061
+ break;
1062
+ }
1063
+ } while (n < r && i < o);
1064
+ b = p >> 3, n -= b, p -= b << 3, f &= (1 << p) - 1, e.next_in = n, e.next_out = i, e.avail_in = n < r ? 5 + (r - n) : 5 - (n - r), e.avail_out = i < o ? 257 + (o - i) : 257 - (i - o), E.hold = f, E.bits = p;
1065
+ }, Cr = 15, wr = 852, Tr = 592, Er = 0, Dr = 1, Or = 2, kr = new Uint16Array([
1066
+ 3,
1067
+ 4,
1068
+ 5,
1069
+ 6,
1070
+ 7,
1071
+ 8,
1072
+ 9,
1073
+ 10,
1074
+ 11,
1075
+ 13,
1076
+ 15,
1077
+ 17,
1078
+ 19,
1079
+ 23,
1080
+ 27,
1081
+ 31,
1082
+ 35,
1083
+ 43,
1084
+ 51,
1085
+ 59,
1086
+ 67,
1087
+ 83,
1088
+ 99,
1089
+ 115,
1090
+ 131,
1091
+ 163,
1092
+ 195,
1093
+ 227,
1094
+ 258,
1095
+ 0,
1096
+ 0
1097
+ ]), Ar = new Uint8Array([
1098
+ 16,
1099
+ 16,
1100
+ 16,
1101
+ 16,
1102
+ 16,
1103
+ 16,
1104
+ 16,
1105
+ 16,
1106
+ 17,
1107
+ 17,
1108
+ 17,
1109
+ 17,
1110
+ 18,
1111
+ 18,
1112
+ 18,
1113
+ 18,
1114
+ 19,
1115
+ 19,
1116
+ 19,
1117
+ 19,
1118
+ 20,
1119
+ 20,
1120
+ 20,
1121
+ 20,
1122
+ 21,
1123
+ 21,
1124
+ 21,
1125
+ 21,
1126
+ 16,
1127
+ 72,
1128
+ 78
1129
+ ]), jr = new Uint16Array([
1130
+ 1,
1131
+ 2,
1132
+ 3,
1133
+ 4,
1134
+ 5,
1135
+ 7,
1136
+ 9,
1137
+ 13,
1138
+ 17,
1139
+ 25,
1140
+ 33,
1141
+ 49,
1142
+ 65,
1143
+ 97,
1144
+ 129,
1145
+ 193,
1146
+ 257,
1147
+ 385,
1148
+ 513,
1149
+ 769,
1150
+ 1025,
1151
+ 1537,
1152
+ 2049,
1153
+ 3073,
1154
+ 4097,
1155
+ 6145,
1156
+ 8193,
1157
+ 12289,
1158
+ 16385,
1159
+ 24577,
1160
+ 0,
1161
+ 0
1162
+ ]), Mr = new Uint8Array([
1163
+ 16,
1164
+ 16,
1165
+ 16,
1166
+ 16,
1167
+ 17,
1168
+ 17,
1169
+ 18,
1170
+ 18,
1171
+ 19,
1172
+ 19,
1173
+ 20,
1174
+ 20,
1175
+ 21,
1176
+ 21,
1177
+ 22,
1178
+ 22,
1179
+ 23,
1180
+ 23,
1181
+ 24,
1182
+ 24,
1183
+ 25,
1184
+ 25,
1185
+ 26,
1186
+ 26,
1187
+ 27,
1188
+ 27,
1189
+ 28,
1190
+ 28,
1191
+ 29,
1192
+ 29,
1193
+ 64,
1194
+ 64
1195
+ ]), Nr = (e, t, n, r, i, a, o, s) => {
1196
+ let c = s.bits, l = 0, u = 0, d = 0, f = 0, p = 0, m = 0, h = 0, g = 0, _ = 0, v = 0, y, b, x, S, C, w = null, T, E = new Uint16Array(Cr + 1), D = new Uint16Array(Cr + 1), O = null, k, ee, te;
1197
+ for (l = 0; l <= Cr; l++) E[l] = 0;
1198
+ for (u = 0; u < r; u++) E[t[n + u]]++;
1199
+ for (p = c, f = Cr; f >= 1 && E[f] === 0; f--);
1200
+ if (p > f && (p = f), f === 0) return i[a++] = 20971520, i[a++] = 20971520, s.bits = 1, 0;
1201
+ for (d = 1; d < f && E[d] === 0; d++);
1202
+ for (p < d && (p = d), g = 1, l = 1; l <= Cr; l++) if (g <<= 1, g -= E[l], g < 0) return -1;
1203
+ if (g > 0 && (e === Er || f !== 1)) return -1;
1204
+ for (D[1] = 0, l = 1; l < Cr; l++) D[l + 1] = D[l] + E[l];
1205
+ for (u = 0; u < r; u++) t[n + u] !== 0 && (o[D[t[n + u]]++] = u);
1206
+ if (e === Er ? (w = O = o, T = 20) : e === Dr ? (w = kr, O = Ar, T = 257) : (w = jr, O = Mr, T = 0), v = 0, u = 0, l = d, C = a, m = p, h = 0, x = -1, _ = 1 << p, S = _ - 1, e === Dr && _ > wr || e === Or && _ > Tr) return 1;
1207
+ for (;;) {
1208
+ k = l - h, o[u] + 1 < T ? (ee = 0, te = o[u]) : o[u] >= T ? (ee = O[o[u] - T], te = w[o[u] - T]) : (ee = 96, te = 0), y = 1 << l - h, b = 1 << m, d = b;
1209
+ do
1210
+ b -= y, i[C + (v >> h) + b] = k << 24 | ee << 16 | te | 0;
1211
+ while (b !== 0);
1212
+ for (y = 1 << l - 1; v & y;) y >>= 1;
1213
+ if (y === 0 ? v = 0 : (v &= y - 1, v += y), u++, --E[l] === 0) {
1214
+ if (l === f) break;
1215
+ l = t[n + o[u]];
1216
+ }
1217
+ if (l > p && (v & S) !== x) {
1218
+ for (h === 0 && (h = p), C += d, m = l - h, g = 1 << m; m + h < f && (g -= E[m + h], !(g <= 0));) m++, g <<= 1;
1219
+ if (_ += 1 << m, e === Dr && _ > wr || e === Or && _ > Tr) return 1;
1220
+ x = v & S, i[x] = p << 24 | m << 16 | C - a | 0;
1221
+ }
1222
+ }
1223
+ return v !== 0 && (i[C + v] = l - h << 24 | 4194304), s.bits = p, 0;
1224
+ }, Pr = 0, Fr = 1, Ir = 2, { Z_FINISH: Lr, Z_BLOCK: Rr, Z_TREES: zr, Z_OK: Br, Z_STREAM_END: Vr, Z_NEED_DICT: Hr, Z_STREAM_ERROR: X, Z_DATA_ERROR: Ur, Z_MEM_ERROR: Wr, Z_BUF_ERROR: Gr, Z_DEFLATED: Kr } = It, qr = 16180, Jr = 16181, Yr = 16182, Xr = 16183, Zr = 16184, Qr = 16185, $r = 16186, ei = 16187, ti = 16188, ni = 16189, ri = 16190, ii = 16191, ai = 16192, oi = 16193, si = 16194, ci = 16195, li = 16196, ui = 16197, di = 16198, fi = 16199, pi = 16200, mi = 16201, hi = 16202, gi = 16203, _i = 16204, vi = 16205, yi = 16206, bi = 16207, xi = 16208, Z = 16209, Si = 16210, Ci = 16211, wi = 852, Ti = 592, Ei = 15, Di = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
1225
+ function Oi() {
1226
+ this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
1227
+ }
1228
+ var ki = (e) => {
1229
+ if (!e) return 1;
1230
+ let t = e.state;
1231
+ return !t || t.strm !== e || t.mode < qr || t.mode > Ci ? 1 : 0;
1232
+ }, Ai = (e) => {
1233
+ if (ki(e)) return X;
1234
+ let t = e.state;
1235
+ return e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = t.wrap & 1), t.mode = qr, t.last = 0, t.havedict = 0, t.flags = -1, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Int32Array(wi), t.distcode = t.distdyn = new Int32Array(Ti), t.sane = 1, t.back = -1, Br;
1236
+ }, ji = (e) => {
1237
+ if (ki(e)) return X;
1238
+ let t = e.state;
1239
+ return t.wsize = 0, t.whave = 0, t.wnext = 0, Ai(e);
1240
+ }, Mi = (e, t) => {
1241
+ let n;
1242
+ if (ki(e)) return X;
1243
+ let r = e.state;
1244
+ return t < 0 ? (n = 0, t = -t) : (n = (t >> 4) + 5, t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? X : (r.window !== null && r.wbits !== t && (r.window = null), r.wrap = n, r.wbits = t, ji(e));
1245
+ }, Ni = (e, t) => {
1246
+ if (!e) return X;
1247
+ let n = new Oi();
1248
+ e.state = n, n.strm = e, n.window = null, n.mode = qr;
1249
+ let r = Mi(e, t);
1250
+ return r !== Br && (e.state = null), r;
1251
+ }, Pi = (e) => Ni(e, Ei), Fi = !0, Ii, Li, Ri = (e) => {
1252
+ if (Fi) {
1253
+ Ii = new Int32Array(512), Li = new Int32Array(32);
1254
+ let t = 0;
1255
+ for (; t < 144;) e.lens[t++] = 8;
1256
+ for (; t < 256;) e.lens[t++] = 9;
1257
+ for (; t < 280;) e.lens[t++] = 7;
1258
+ for (; t < 288;) e.lens[t++] = 8;
1259
+ for (Nr(Fr, e.lens, 0, 288, Ii, 0, e.work, { bits: 9 }), t = 0; t < 32;) e.lens[t++] = 5;
1260
+ Nr(Ir, e.lens, 0, 32, Li, 0, e.work, { bits: 5 }), Fi = !1;
1261
+ }
1262
+ e.lencode = Ii, e.lenbits = 9, e.distcode = Li, e.distbits = 5;
1263
+ }, zi = (e, t, n, r) => {
1264
+ let i, a = e.state;
1265
+ return a.window === null && (a.wsize = 1 << a.wbits, a.wnext = 0, a.whave = 0, a.window = new Uint8Array(a.wsize)), r >= a.wsize ? (a.window.set(t.subarray(n - a.wsize, n), 0), a.wnext = 0, a.whave = a.wsize) : (i = a.wsize - a.wnext, i > r && (i = r), a.window.set(t.subarray(n - r, n - r + i), a.wnext), r -= i, r ? (a.window.set(t.subarray(n - r, n), 0), a.wnext = r, a.whave = a.wsize) : (a.wnext += i, a.wnext === a.wsize && (a.wnext = 0), a.whave < a.wsize && (a.whave += i))), 0;
1266
+ }, Bi = {
1267
+ inflateReset: ji,
1268
+ inflateReset2: Mi,
1269
+ inflateResetKeep: Ai,
1270
+ inflateInit: Pi,
1271
+ inflateInit2: Ni,
1272
+ inflate: (e, t) => {
1273
+ let n, r, i, a, o, s, c, l, u, d, f, p, m, h, g = 0, _, v, y, b, x, S, C, w, T = new Uint8Array(4), E, D, O = new Uint8Array([
1274
+ 16,
1275
+ 17,
1276
+ 18,
1277
+ 0,
1278
+ 8,
1279
+ 7,
1280
+ 9,
1281
+ 6,
1282
+ 10,
1283
+ 5,
1284
+ 11,
1285
+ 4,
1286
+ 12,
1287
+ 3,
1288
+ 13,
1289
+ 2,
1290
+ 14,
1291
+ 1,
1292
+ 15
1293
+ ]);
1294
+ if (ki(e) || !e.output || !e.input && e.avail_in !== 0) return X;
1295
+ n = e.state, n.mode === ii && (n.mode = ai), o = e.next_out, i = e.output, c = e.avail_out, a = e.next_in, r = e.input, s = e.avail_in, l = n.hold, u = n.bits, d = s, f = c, w = Br;
1296
+ inf_leave: for (;;) switch (n.mode) {
1297
+ case qr:
1298
+ if (n.wrap === 0) {
1299
+ n.mode = ai;
1300
+ break;
1301
+ }
1302
+ for (; u < 16;) {
1303
+ if (s === 0) break inf_leave;
1304
+ s--, l += r[a++] << u, u += 8;
1305
+ }
1306
+ if (n.wrap & 2 && l === 35615) {
1307
+ n.wbits === 0 && (n.wbits = 15), n.check = 0, T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = B(n.check, T, 2, 0), l = 0, u = 0, n.mode = Jr;
1308
+ break;
1309
+ }
1310
+ if (n.head && (n.head.done = !1), !(n.wrap & 1) || (((l & 255) << 8) + (l >> 8)) % 31) {
1311
+ e.msg = "incorrect header check", n.mode = Z;
1312
+ break;
1313
+ }
1314
+ if ((l & 15) !== Kr) {
1315
+ e.msg = "unknown compression method", n.mode = Z;
1316
+ break;
1317
+ }
1318
+ if (l >>>= 4, u -= 4, C = (l & 15) + 8, n.wbits === 0 && (n.wbits = C), C > 15 || C > n.wbits) {
1319
+ e.msg = "invalid window size", n.mode = Z;
1320
+ break;
1321
+ }
1322
+ n.dmax = 1 << n.wbits, n.flags = 0, e.adler = n.check = 1, n.mode = l & 512 ? ni : ii, l = 0, u = 0;
1323
+ break;
1324
+ case Jr:
1325
+ for (; u < 16;) {
1326
+ if (s === 0) break inf_leave;
1327
+ s--, l += r[a++] << u, u += 8;
1328
+ }
1329
+ if (n.flags = l, (n.flags & 255) !== Kr) {
1330
+ e.msg = "unknown compression method", n.mode = Z;
1331
+ break;
1332
+ }
1333
+ if (n.flags & 57344) {
1334
+ e.msg = "unknown header flags set", n.mode = Z;
1335
+ break;
1336
+ }
1337
+ n.head && (n.head.text = l >> 8 & 1), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = B(n.check, T, 2, 0)), l = 0, u = 0, n.mode = Yr;
1338
+ case Yr:
1339
+ for (; u < 32;) {
1340
+ if (s === 0) break inf_leave;
1341
+ s--, l += r[a++] << u, u += 8;
1342
+ }
1343
+ n.head && (n.head.time = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, T[2] = l >>> 16 & 255, T[3] = l >>> 24 & 255, n.check = B(n.check, T, 4, 0)), l = 0, u = 0, n.mode = Xr;
1344
+ case Xr:
1345
+ for (; u < 16;) {
1346
+ if (s === 0) break inf_leave;
1347
+ s--, l += r[a++] << u, u += 8;
1348
+ }
1349
+ n.head && (n.head.xflags = l & 255, n.head.os = l >> 8), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = B(n.check, T, 2, 0)), l = 0, u = 0, n.mode = Zr;
1350
+ case Zr:
1351
+ if (n.flags & 1024) {
1352
+ for (; u < 16;) {
1353
+ if (s === 0) break inf_leave;
1354
+ s--, l += r[a++] << u, u += 8;
1355
+ }
1356
+ n.length = l, n.head && (n.head.extra_len = l), n.flags & 512 && n.wrap & 4 && (T[0] = l & 255, T[1] = l >>> 8 & 255, n.check = B(n.check, T, 2, 0)), l = 0, u = 0;
1357
+ } else n.head && (n.head.extra = null);
1358
+ n.mode = Qr;
1359
+ case Qr:
1360
+ if (n.flags & 1024 && (p = n.length, p > s && (p = s), p && (n.head && (C = n.head.extra_len - n.length, n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)), n.head.extra.set(r.subarray(a, a + p), C)), n.flags & 512 && n.wrap & 4 && (n.check = B(n.check, r, p, a)), s -= p, a += p, n.length -= p), n.length)) break inf_leave;
1361
+ n.length = 0, n.mode = $r;
1362
+ case $r:
1363
+ if (n.flags & 2048) {
1364
+ if (s === 0) break inf_leave;
1365
+ p = 0;
1366
+ do
1367
+ C = r[a + p++], n.head && C && n.length < 65536 && (n.head.name += String.fromCharCode(C));
1368
+ while (C && p < s);
1369
+ if (n.flags & 512 && n.wrap & 4 && (n.check = B(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
1370
+ } else n.head && (n.head.name = null);
1371
+ n.length = 0, n.mode = ei;
1372
+ case ei:
1373
+ if (n.flags & 4096) {
1374
+ if (s === 0) break inf_leave;
1375
+ p = 0;
1376
+ do
1377
+ C = r[a + p++], n.head && C && n.length < 65536 && (n.head.comment += String.fromCharCode(C));
1378
+ while (C && p < s);
1379
+ if (n.flags & 512 && n.wrap & 4 && (n.check = B(n.check, r, p, a)), s -= p, a += p, C) break inf_leave;
1380
+ } else n.head && (n.head.comment = null);
1381
+ n.mode = ti;
1382
+ case ti:
1383
+ if (n.flags & 512) {
1384
+ for (; u < 16;) {
1385
+ if (s === 0) break inf_leave;
1386
+ s--, l += r[a++] << u, u += 8;
1387
+ }
1388
+ if (n.wrap & 4 && l !== (n.check & 65535)) {
1389
+ e.msg = "header crc mismatch", n.mode = Z;
1390
+ break;
1391
+ }
1392
+ l = 0, u = 0;
1393
+ }
1394
+ n.head && (n.head.hcrc = n.flags >> 9 & 1, n.head.done = !0), e.adler = n.check = 0, n.mode = ii;
1395
+ break;
1396
+ case ni:
1397
+ for (; u < 32;) {
1398
+ if (s === 0) break inf_leave;
1399
+ s--, l += r[a++] << u, u += 8;
1400
+ }
1401
+ e.adler = n.check = Di(l), l = 0, u = 0, n.mode = ri;
1402
+ case ri:
1403
+ if (n.havedict === 0) return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, Hr;
1404
+ e.adler = n.check = 1, n.mode = ii;
1405
+ case ii: if (t === Rr || t === zr) break inf_leave;
1406
+ case ai:
1407
+ if (n.last) {
1408
+ l >>>= u & 7, u -= u & 7, n.mode = yi;
1409
+ break;
1410
+ }
1411
+ for (; u < 3;) {
1412
+ if (s === 0) break inf_leave;
1413
+ s--, l += r[a++] << u, u += 8;
1414
+ }
1415
+ switch (n.last = l & 1, l >>>= 1, --u, l & 3) {
1416
+ case 0:
1417
+ n.mode = oi;
1418
+ break;
1419
+ case 1:
1420
+ if (Ri(n), n.mode = fi, t === zr) {
1421
+ l >>>= 2, u -= 2;
1422
+ break inf_leave;
1423
+ }
1424
+ break;
1425
+ case 2:
1426
+ n.mode = li;
1427
+ break;
1428
+ case 3: e.msg = "invalid block type", n.mode = Z;
1429
+ }
1430
+ l >>>= 2, u -= 2;
1431
+ break;
1432
+ case oi:
1433
+ for (l >>>= u & 7, u -= u & 7; u < 32;) {
1434
+ if (s === 0) break inf_leave;
1435
+ s--, l += r[a++] << u, u += 8;
1436
+ }
1437
+ if ((l & 65535) != (l >>> 16 ^ 65535)) {
1438
+ e.msg = "invalid stored block lengths", n.mode = Z;
1439
+ break;
1440
+ }
1441
+ if (n.length = l & 65535, l = 0, u = 0, n.mode = si, t === zr) break inf_leave;
1442
+ case si: n.mode = ci;
1443
+ case ci:
1444
+ if (p = n.length, p) {
1445
+ if (p > s && (p = s), p > c && (p = c), p === 0) break inf_leave;
1446
+ i.set(r.subarray(a, a + p), o), s -= p, a += p, c -= p, o += p, n.length -= p;
1447
+ break;
1448
+ }
1449
+ n.mode = ii;
1450
+ break;
1451
+ case li:
1452
+ for (; u < 14;) {
1453
+ if (s === 0) break inf_leave;
1454
+ s--, l += r[a++] << u, u += 8;
1455
+ }
1456
+ if (n.nlen = (l & 31) + 257, l >>>= 5, u -= 5, n.ndist = (l & 31) + 1, l >>>= 5, u -= 5, n.ncode = (l & 15) + 4, l >>>= 4, u -= 4, n.nlen > 286 || n.ndist > 30) {
1457
+ e.msg = "too many length or distance symbols", n.mode = Z;
1458
+ break;
1459
+ }
1460
+ n.have = 0, n.mode = ui;
1461
+ case ui:
1462
+ for (; n.have < n.ncode;) {
1463
+ for (; u < 3;) {
1464
+ if (s === 0) break inf_leave;
1465
+ s--, l += r[a++] << u, u += 8;
1466
+ }
1467
+ n.lens[O[n.have++]] = l & 7, l >>>= 3, u -= 3;
1468
+ }
1469
+ for (; n.have < 19;) n.lens[O[n.have++]] = 0;
1470
+ if (n.lencode = n.lendyn, n.lenbits = 7, E = { bits: n.lenbits }, w = Nr(Pr, n.lens, 0, 19, n.lencode, 0, n.work, E), n.lenbits = E.bits, w) {
1471
+ e.msg = "invalid code lengths set", n.mode = Z;
1472
+ break;
1473
+ }
1474
+ n.have = 0, n.mode = di;
1475
+ case di:
1476
+ for (; n.have < n.nlen + n.ndist;) {
1477
+ for (; g = n.lencode[l & (1 << n.lenbits) - 1], _ = g >>> 24, v = g >>> 16 & 255, y = g & 65535, !(_ <= u);) {
1478
+ if (s === 0) break inf_leave;
1479
+ s--, l += r[a++] << u, u += 8;
1480
+ }
1481
+ if (y < 16) l >>>= _, u -= _, n.lens[n.have++] = y;
1482
+ else {
1483
+ if (y === 16) {
1484
+ for (D = _ + 2; u < D;) {
1485
+ if (s === 0) break inf_leave;
1486
+ s--, l += r[a++] << u, u += 8;
1487
+ }
1488
+ if (l >>>= _, u -= _, n.have === 0) {
1489
+ e.msg = "invalid bit length repeat", n.mode = Z;
1490
+ break;
1491
+ }
1492
+ C = n.lens[n.have - 1], p = 3 + (l & 3), l >>>= 2, u -= 2;
1493
+ } else if (y === 17) {
1494
+ for (D = _ + 3; u < D;) {
1495
+ if (s === 0) break inf_leave;
1496
+ s--, l += r[a++] << u, u += 8;
1497
+ }
1498
+ l >>>= _, u -= _, C = 0, p = 3 + (l & 7), l >>>= 3, u -= 3;
1499
+ } else {
1500
+ for (D = _ + 7; u < D;) {
1501
+ if (s === 0) break inf_leave;
1502
+ s--, l += r[a++] << u, u += 8;
1503
+ }
1504
+ l >>>= _, u -= _, C = 0, p = 11 + (l & 127), l >>>= 7, u -= 7;
1505
+ }
1506
+ if (n.have + p > n.nlen + n.ndist) {
1507
+ e.msg = "invalid bit length repeat", n.mode = Z;
1508
+ break;
1509
+ }
1510
+ for (; p--;) n.lens[n.have++] = C;
1511
+ }
1512
+ }
1513
+ if (n.mode === Z) break;
1514
+ if (n.lens[256] === 0) {
1515
+ e.msg = "invalid code -- missing end-of-block", n.mode = Z;
1516
+ break;
1517
+ }
1518
+ if (n.lenbits = 9, E = { bits: n.lenbits }, w = Nr(Fr, n.lens, 0, n.nlen, n.lencode, 0, n.work, E), n.lenbits = E.bits, w) {
1519
+ e.msg = "invalid literal/lengths set", n.mode = Z;
1520
+ break;
1521
+ }
1522
+ if (n.distbits = 6, n.distcode = n.distdyn, E = { bits: n.distbits }, w = Nr(Ir, n.lens, n.nlen, n.ndist, n.distcode, 0, n.work, E), n.distbits = E.bits, w) {
1523
+ e.msg = "invalid distances set", n.mode = Z;
1524
+ break;
1525
+ }
1526
+ if (n.mode = fi, t === zr) break inf_leave;
1527
+ case fi: n.mode = pi;
1528
+ case pi:
1529
+ if (s >= 6 && c >= 258) {
1530
+ e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, Sr(e, f), o = e.next_out, i = e.output, c = e.avail_out, a = e.next_in, r = e.input, s = e.avail_in, l = n.hold, u = n.bits, n.mode === ii && (n.back = -1);
1531
+ break;
1532
+ }
1533
+ for (n.back = 0; g = n.lencode[l & (1 << n.lenbits) - 1], _ = g >>> 24, v = g >>> 16 & 255, y = g & 65535, !(_ <= u);) {
1534
+ if (s === 0) break inf_leave;
1535
+ s--, l += r[a++] << u, u += 8;
1536
+ }
1537
+ if (v && !(v & 240)) {
1538
+ for (b = _, x = v, S = y; g = n.lencode[S + ((l & (1 << b + x) - 1) >> b)], _ = g >>> 24, v = g >>> 16 & 255, y = g & 65535, !(b + _ <= u);) {
1539
+ if (s === 0) break inf_leave;
1540
+ s--, l += r[a++] << u, u += 8;
1541
+ }
1542
+ l >>>= b, u -= b, n.back += b;
1543
+ }
1544
+ if (l >>>= _, u -= _, n.back += _, n.length = y, v === 0) {
1545
+ n.mode = vi;
1546
+ break;
1547
+ }
1548
+ if (v & 32) {
1549
+ n.back = -1, n.mode = ii;
1550
+ break;
1551
+ }
1552
+ if (v & 64) {
1553
+ e.msg = "invalid literal/length code", n.mode = Z;
1554
+ break;
1555
+ }
1556
+ n.extra = v & 15, n.mode = mi;
1557
+ case mi:
1558
+ if (n.extra) {
1559
+ for (D = n.extra; u < D;) {
1560
+ if (s === 0) break inf_leave;
1561
+ s--, l += r[a++] << u, u += 8;
1562
+ }
1563
+ n.length += l & (1 << n.extra) - 1, l >>>= n.extra, u -= n.extra, n.back += n.extra;
1564
+ }
1565
+ n.was = n.length, n.mode = hi;
1566
+ case hi:
1567
+ for (; g = n.distcode[l & (1 << n.distbits) - 1], _ = g >>> 24, v = g >>> 16 & 255, y = g & 65535, !(_ <= u);) {
1568
+ if (s === 0) break inf_leave;
1569
+ s--, l += r[a++] << u, u += 8;
1570
+ }
1571
+ if (!(v & 240)) {
1572
+ for (b = _, x = v, S = y; g = n.distcode[S + ((l & (1 << b + x) - 1) >> b)], _ = g >>> 24, v = g >>> 16 & 255, y = g & 65535, !(b + _ <= u);) {
1573
+ if (s === 0) break inf_leave;
1574
+ s--, l += r[a++] << u, u += 8;
1575
+ }
1576
+ l >>>= b, u -= b, n.back += b;
1577
+ }
1578
+ if (l >>>= _, u -= _, n.back += _, v & 64) {
1579
+ e.msg = "invalid distance code", n.mode = Z;
1580
+ break;
1581
+ }
1582
+ n.offset = y, n.extra = v & 15, n.mode = gi;
1583
+ case gi:
1584
+ if (n.extra) {
1585
+ for (D = n.extra; u < D;) {
1586
+ if (s === 0) break inf_leave;
1587
+ s--, l += r[a++] << u, u += 8;
1588
+ }
1589
+ n.offset += l & (1 << n.extra) - 1, l >>>= n.extra, u -= n.extra, n.back += n.extra;
1590
+ }
1591
+ if (n.offset > n.dmax) {
1592
+ e.msg = "invalid distance too far back", n.mode = Z;
1593
+ break;
1594
+ }
1595
+ n.mode = _i;
1596
+ case _i:
1597
+ if (c === 0) break inf_leave;
1598
+ if (p = f - c, n.offset > p) {
1599
+ if (p = n.offset - p, p > n.whave && n.sane) {
1600
+ e.msg = "invalid distance too far back", n.mode = Z;
1601
+ break;
1602
+ }
1603
+ p > n.wnext ? (p -= n.wnext, m = n.wsize - p) : m = n.wnext - p, p > n.length && (p = n.length), h = n.window;
1604
+ } else h = i, m = o - n.offset, p = n.length;
1605
+ p > c && (p = c), c -= p, n.length -= p;
1606
+ do
1607
+ i[o++] = h[m++];
1608
+ while (--p);
1609
+ n.length === 0 && (n.mode = pi);
1610
+ break;
1611
+ case vi:
1612
+ if (c === 0) break inf_leave;
1613
+ i[o++] = n.length, c--, n.mode = pi;
1614
+ break;
1615
+ case yi:
1616
+ if (n.wrap) {
1617
+ for (; u < 32;) {
1618
+ if (s === 0) break inf_leave;
1619
+ s--, l |= r[a++] << u, u += 8;
1620
+ }
1621
+ if (f -= c, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? B(n.check, i, f, o - f) : Nt(n.check, i, f, o - f)), f = c, n.wrap & 4 && (n.flags ? l : Di(l)) !== n.check) {
1622
+ e.msg = "incorrect data check", n.mode = Z;
1623
+ break;
1624
+ }
1625
+ l = 0, u = 0;
1626
+ }
1627
+ n.mode = bi;
1628
+ case bi:
1629
+ if (n.wrap && n.flags) {
1630
+ for (; u < 32;) {
1631
+ if (s === 0) break inf_leave;
1632
+ s--, l += r[a++] << u, u += 8;
1633
+ }
1634
+ if (n.wrap & 4 && l !== (n.total & 4294967295)) {
1635
+ e.msg = "incorrect length check", n.mode = Z;
1636
+ break;
1637
+ }
1638
+ l = 0, u = 0;
1639
+ }
1640
+ n.mode = xi;
1641
+ case xi:
1642
+ w = Vr;
1643
+ break inf_leave;
1644
+ case Z:
1645
+ w = Ur;
1646
+ break inf_leave;
1647
+ case Si: return Wr;
1648
+ case Ci:
1649
+ default: return X;
1650
+ }
1651
+ return e.next_out = o, e.avail_out = c, e.next_in = a, e.avail_in = s, n.hold = l, n.bits = u, (n.wsize || f !== e.avail_out && n.mode < Z && (n.mode < yi || t !== Lr)) && zi(e, e.output, e.next_out, f - e.avail_out), d -= e.avail_in, f -= e.avail_out, e.total_in += d, e.total_out += f, n.total += f, n.wrap & 4 && f && (e.adler = n.check = n.flags ? B(n.check, i, f, e.next_out - f) : Nt(n.check, i, f, e.next_out - f)), e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === ii ? 128 : 0) + (n.mode === fi || n.mode === si ? 256 : 0), (d === 0 && f === 0 || t === Lr) && w === Br && (w = Gr), w;
1652
+ },
1653
+ inflateEnd: (e) => {
1654
+ if (ki(e)) return X;
1655
+ let t = e.state;
1656
+ return t.window &&= null, e.state = null, Br;
1657
+ },
1658
+ inflateGetHeader: (e, t) => {
1659
+ if (ki(e)) return X;
1660
+ let n = e.state;
1661
+ return n.wrap & 2 ? (n.head = t, t.done = !1, Br) : X;
1662
+ },
1663
+ inflateSetDictionary: (e, t) => {
1664
+ let n = t.length, r, i, a;
1665
+ return ki(e) || (r = e.state, r.wrap !== 0 && r.mode !== ri) ? X : r.mode === ri && (i = 1, i = Nt(i, t, n, 0), i !== r.check) ? Ur : (a = zi(e, t, n, n), a ? (r.mode = Si, Wr) : (r.havedict = 1, Br));
1666
+ },
1667
+ inflateInfo: "pako inflate (from Nodeca project)"
1668
+ };
1669
+ function Vi() {
1670
+ this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
1671
+ }
1672
+ var Hi = Vi, Ui = Object.prototype.toString, { Z_NO_FLUSH: Wi, Z_FINISH: Gi, Z_OK: Ki, Z_STREAM_END: qi, Z_NEED_DICT: Ji, Z_STREAM_ERROR: Yi, Z_DATA_ERROR: Xi, Z_MEM_ERROR: Zi } = It;
1673
+ function Qi(e) {
1674
+ this.options = Zn.assign({
1675
+ chunkSize: 1024 * 64,
1676
+ windowBits: 15,
1677
+ to: ""
1678
+ }, e || {});
1679
+ let t = this.options;
1680
+ t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, t.windowBits === 0 && (t.windowBits = -15)), t.windowBits >= 0 && t.windowBits < 16 && !(e && e.windowBits) && (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && (t.windowBits & 15 || (t.windowBits |= 15)), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new ir(), this.strm.avail_out = 0;
1681
+ let n = Bi.inflateInit2(this.strm, t.windowBits);
1682
+ if (n !== Ki || (this.header = new Hi(), Bi.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = nr.string2buf(t.dictionary) : Ui.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (n = Bi.inflateSetDictionary(this.strm, t.dictionary), n !== Ki)))) throw Error(Ft[n]);
1683
+ }
1684
+ Qi.prototype.push = function(e, t) {
1685
+ let n = this.strm, r = this.options.chunkSize, i = this.options.dictionary, a, o, s;
1686
+ if (this.ended) return !1;
1687
+ for (o = t === ~~t ? t : t === !0 ? Gi : Wi, Ui.call(e) === "[object ArrayBuffer]" ? n.input = new Uint8Array(e) : n.input = e, n.next_in = 0, n.avail_in = n.input.length;;) {
1688
+ for (n.avail_out === 0 && (n.output = new Uint8Array(r), n.next_out = 0, n.avail_out = r), a = Bi.inflate(n, o), a === Ji && i && (a = Bi.inflateSetDictionary(n, i), a === Ki ? a = Bi.inflate(n, o) : a === Xi && (a = Ji)); n.avail_in > 0 && a === qi && n.state.wrap > 0 && e[n.next_in] !== 0;) Bi.inflateReset(n), a = Bi.inflate(n, o);
1689
+ switch (a) {
1690
+ case Yi:
1691
+ case Xi:
1692
+ case Ji:
1693
+ case Zi: return this.onEnd(a), this.ended = !0, !1;
1694
+ }
1695
+ if (s = n.avail_out, n.next_out && (n.avail_out === 0 || a === qi)) if (this.options.to === "string") {
1696
+ let e = nr.utf8border(n.output, n.next_out), t = n.next_out - e, i = nr.buf2string(n.output, e);
1697
+ n.next_out = t, n.avail_out = r - t, t && n.output.set(n.output.subarray(e, e + t), 0), this.onData(i);
1698
+ } else this.onData(n.output.length === n.next_out ? n.output : n.output.subarray(0, n.next_out));
1699
+ if (!(a === Ki && s === 0)) {
1700
+ if (a === qi) return a = Bi.inflateEnd(this.strm), this.onEnd(a), this.ended = !0, !0;
1701
+ if (n.avail_in === 0) break;
1702
+ }
1703
+ }
1704
+ return !0;
1705
+ }, Qi.prototype.onData = function(e) {
1706
+ this.chunks.push(e);
1707
+ }, Qi.prototype.onEnd = function(e) {
1708
+ e === Ki && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = Zn.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
1709
+ };
1710
+ function $i(e, t) {
1711
+ let n = new Qi(t);
1712
+ if (n.push(e), n.err) throw n.msg || Ft[n.err];
1713
+ return n.result;
1714
+ }
1715
+ function ea(e, t) {
1716
+ return t ||= {}, t.raw = !0, $i(e, t);
1717
+ }
1718
+ var ta = {
1719
+ Inflate: Qi,
1720
+ inflate: $i,
1721
+ inflateRaw: ea,
1722
+ ungzip: $i,
1723
+ constants: It
1724
+ }, { Deflate: na, deflate: ra, deflateRaw: ia, gzip: aa } = yr, { Inflate: oa, inflate: sa, inflateRaw: ca, ungzip: la } = ta, ua = {
1725
+ Deflate: na,
1726
+ deflate: ra,
1727
+ deflateRaw: ia,
1728
+ gzip: aa,
1729
+ Inflate: oa,
1730
+ inflate: sa,
1731
+ inflateRaw: ca,
1732
+ ungzip: la,
1733
+ constants: It
1734
+ };
1735
+ //#endregion
1736
+ //#region packages/lr-map-viewer/src/sdk/lr3d/CLoudDataLoader.js
1737
+ function da(e) {
1738
+ let t = window.atob(e), n = t.length, r = new Uint8Array(n);
1739
+ for (let e = 0; e < n; e++) r[e] = t.charCodeAt(e);
1740
+ return r;
1741
+ }
1742
+ function fa(e) {
1743
+ return e[0] === 31 && e[1] === 139 ? "gzip" : e[0] === 120 ? "zlib" : "deflate";
1744
+ }
1745
+ function pa(e) {
1746
+ let t = da(e).slice(4), n = fa(t), r;
1747
+ try {
1748
+ r = n === "gzip" ? ua.ungzip(t) : n === "zlib" ? ua.inflate(t) : ua.inflate(t, { raw: !0 });
1749
+ } catch (e) {
1750
+ console.error("Decompression failed:", e);
1751
+ }
1752
+ if (r) return new DataView(r.buffer);
1753
+ }
1754
+ var ma = class {
1755
+ constructor(e = {}) {
1756
+ this.params = e, window.lr3dapp && (this.editorApp = window.lr3dapp), this.coalLayers = [], this.geofaultLayers = [];
1757
+ }
1758
+ expandMap() {
1759
+ var e = new Headers();
1760
+ e.append("Content-Type", "application/x-www-form-urlencoded");
1761
+ var t = new URLSearchParams();
1762
+ t.append("token", this.params.token), t.append("dsGuid", this.params.dsGuid), t.append("forceRebuild", "true"), t.append("only2d", "false");
1763
+ var n = {
1764
+ method: "POST",
1765
+ headers: e,
1766
+ body: t,
1767
+ redirect: "follow"
1768
+ };
1769
+ fetch(this.params.server + "/api/gis/mapserver/rest/feature/expand", n).then((e) => e.json()).then((e) => {
1770
+ e.code != 0 && console.error("图形展开失败:", e.msg);
1771
+ }).catch((e) => console.log("error", e));
1772
+ }
1773
+ async load() {
1774
+ if (!this.params.server || !this.params.dsGuid) return console.error("please set server && dsGuid params"), !1;
1775
+ if (!this.params.token && this.params.username && this.params.password) {
1776
+ let e = await this.getToken();
1777
+ if (e) this.params.token = e;
1778
+ else return console.error("username or password wrong"), !1;
1779
+ }
1780
+ if (this.params.basePoint) this.params.basePoint = {
1781
+ x: .5 * (Number(this.params.basePoint[0]) + Number(this.params.basePoint[2])),
1782
+ y: .5 * (Number(this.params.basePoint[1]) + Number(this.params.basePoint[3])),
1783
+ z: 0
1784
+ };
1785
+ else {
1786
+ let e = await this.getMap();
1787
+ if (!e) return console.error("get map info error"), !1;
1788
+ let t = e.data.box.split(",");
1789
+ this.params.basePoint = {
1790
+ x: .5 * (Number(t[0]) + Number(t[2])),
1791
+ y: .5 * (Number(t[1]) + Number(t[3])),
1792
+ z: 0
1793
+ };
1794
+ }
1795
+ this.editorApp.basePoint.copy(this.params.basePoint), this.editorApp.isSetBasePoint = !0;
1796
+ let e = {}, t = await this.queryFeatureDict();
1797
+ t.code == 0 && (this.featureDict = t.data.Features);
1798
+ let n = await this.queryLaneData();
1799
+ e.laneData = n, await this.addLaneData(n);
1800
+ let r = await this.queryRegionAssistData();
1801
+ e.regionAssistData = r, await this.addRegionAssistData(r);
1802
+ let i = await this.queryRegionData();
1803
+ e.regionData = i, await this.addRegionData(i), e.coalData = [];
1804
+ for (let t of this.coalLayers) {
1805
+ let n = await this.queryCoalData(t);
1806
+ e.coalData.push(n), await this.addCoalData(n, t);
1807
+ }
1808
+ e.geofaultData = [];
1809
+ for (let t of this.geofaultLayers) {
1810
+ let n = await this.queryGeoFaultData(t);
1811
+ e.geofaultData.push(n), await this.addGeoFaultData(n, t);
1812
+ }
1813
+ let a = await this.queryCoalResversData();
1814
+ e.coalResversData = a, await this.addCoalResversData(a);
1815
+ let o = await this.queryBoundaryData();
1816
+ e.boundaryData = o, await this.addBoundaryData(o);
1817
+ let s = await this.queryGeologyData();
1818
+ e.geologyData = s, await this.addGeologyData(s);
1819
+ let c = await this.queryPointSymbolData();
1820
+ return e.pointSymbolData = c, await this.addPointSymbolData(c), e;
1821
+ }
1822
+ async queryTxtData() {
1823
+ var e = new FormData();
1824
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "line,polyline,text"), e.append("returnFeatureInfo", "geometry,attributes"), e.append("attributesFilter", "{\"op\":\"=\",\"left\":\"FEATURETYPE\",\"right\":\"0701010001\"} "), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
1825
+ }
1826
+ async addTxtData(e) {
1827
+ if (!(e && e.data && e.data.featureGroups)) return !1;
1828
+ let t = [];
1829
+ e.data.featureGroups.forEach((e) => {
1830
+ e.features.forEach((e) => {
1831
+ if (Object.prototype.hasOwnProperty.call(e.attributes, "3DTEXT")) {
1832
+ let n = e.attributes["3DTEXT"].data;
1833
+ t.push(JSON.parse(n));
1834
+ }
1835
+ });
1836
+ }), t.length > 0 && this.editorApp.interfaces.addText(t);
1837
+ }
1838
+ async queryRegionAssistData() {
1839
+ var e = new FormData();
1840
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "point,compound"), e.append("returnFeatureInfo", "geometry,attributes"), e.append("attributesFilter", JSON.stringify({
1841
+ op: "or",
1842
+ left: {
1843
+ op: "=",
1844
+ left: "FEATURETYPE",
1845
+ right: "0202030012"
1846
+ },
1847
+ right: {
1848
+ op: "=",
1849
+ left: "FEATURETYPE",
1850
+ right: "0202030010"
1851
+ }
1852
+ })), e.append("returnGroupByLayer", "true"), e.append("returnFeatureAttributes", "FEATUREID,FEATURENAME,FEATURETYPE,WORKFACENAME,工作面名称,色块剖面坐标序列,注记文本,COALMININGLINECOORS"), this.queryFeature(e);
1853
+ }
1854
+ async addRegionAssistData(e) {
1855
+ if (!(e && e.data && e.data.featureGroups)) return !1;
1856
+ let t = [];
1857
+ e.data.featureGroups.forEach((e) => {
1858
+ let n = e.layer;
1859
+ e.features.forEach((e) => {
1860
+ let r = e.attributes.FEATURETYPE.data;
1861
+ if (r === "0202030010" && !e.attributes.工作面名称 || r === "0202030012" && !e.attributes.WORKFACENAME) return;
1862
+ let i = r === "0202030010" ? e.attributes.工作面名称.data : e.attributes.WORKFACENAME.data, a = [];
1863
+ if (r === "0202030010") {
1864
+ if (!e.attributes.hasOwnProperty("色块剖面坐标序列") || !e.attributes.hasOwnProperty("注记文本") || e.attributes.注记文本.data !== "开采起始线") return;
1865
+ let t = e.attributes.色块剖面坐标序列.data.split(";");
1866
+ if (t.length < 3 || t[0] !== t[1]) return;
1867
+ for (let e = 1; e < 3; e++) {
1868
+ let n = t[e].split(",");
1869
+ a.push(Number(n[0]), Number(n[1]), Number(n[2]));
1870
+ }
1871
+ } else if (r === "0202030012") {
1872
+ let t = {
1873
+ x: e.geometry.coordinates[0],
1874
+ y: e.geometry.coordinates[1],
1875
+ z: e.geometry.coordinates[2]
1876
+ };
1877
+ if (a.push(t.x, t.y, t.z), !e.attributes.hasOwnProperty("COALMININGLINECOORS")) return;
1878
+ let n = e.attributes.COALMININGLINECOORS.data.split(";");
1879
+ if (n.length < 2) return;
1880
+ for (let e = 0; e < n.length; e++) {
1881
+ let t = n[e].split(",");
1882
+ a.push(Number(t[0]), Number(t[1]), Number(t[2]));
1883
+ }
1884
+ } else return;
1885
+ let o = e.id;
1886
+ t.push({
1887
+ id: o,
1888
+ layername: n,
1889
+ geometry: { coordinates: a },
1890
+ attrs: {
1891
+ linkName: i,
1892
+ FeatureType: r
1893
+ }
1894
+ });
1895
+ });
1896
+ }), t.length > 0 && this.editorApp.interfaces.addRegionAssistData(t);
1897
+ }
1898
+ async queryRegionData() {
1899
+ var e = new FormData();
1900
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "line,polyline"), e.append("returnFeatureInfo", "geometry,attributes"), e.append("attributesFilter", JSON.stringify({
1901
+ op: "or",
1902
+ left: {
1903
+ op: "or",
1904
+ left: {
1905
+ op: "=",
1906
+ left: "FEATURETYPE",
1907
+ right: "0202030006"
1908
+ },
1909
+ right: {
1910
+ op: "=",
1911
+ left: "FEATURETYPE",
1912
+ right: "0202030011"
1913
+ }
1914
+ },
1915
+ right: {
1916
+ op: "or",
1917
+ left: {
1918
+ op: "or",
1919
+ left: {
1920
+ op: "=",
1921
+ left: "FEATURETYPE",
1922
+ right: "0202030032"
1923
+ },
1924
+ right: {
1925
+ op: "=",
1926
+ left: "FEATURETYPE",
1927
+ right: "0202030031"
1928
+ }
1929
+ },
1930
+ right: {
1931
+ op: "or",
1932
+ left: {
1933
+ op: "=",
1934
+ left: "FEATURETYPE",
1935
+ right: "0106020009"
1936
+ },
1937
+ right: {
1938
+ op: "or",
1939
+ left: {
1940
+ op: "=",
1941
+ left: "FEATURETYPE",
1942
+ right: "0202030004"
1943
+ },
1944
+ right: {
1945
+ op: "=",
1946
+ left: "FEATURETYPE",
1947
+ right: "0202030030"
1948
+ }
1949
+ }
1950
+ }
1951
+ }
1952
+ })), e.append("returnGroupByLayer", "true"), e.append("returnFeatureAttributes", "FEATUREID,FEATURENAME,FEATURETYPE,MININGFACE,MININGLEVEL,MININGREGION"), this.queryFeature(e);
1953
+ }
1954
+ async addRegionData(e) {
1955
+ if (!(e && e.data && e.data.featureGroups)) return !1;
1956
+ let t = [];
1957
+ e.data.featureGroups.forEach((e) => {
1958
+ let n = e.layer;
1959
+ e.features.forEach((e) => {
1960
+ let r = [];
1961
+ for (let t = 0; t < e.geometry.coordinates.length; t++) r.push(e.geometry.coordinates[t][0], e.geometry.coordinates[t][1], e.geometry.coordinates[t][2]);
1962
+ let i = "";
1963
+ Object.prototype.hasOwnProperty.call(e.attributes, "名称") && (i = e.attributes.名称.data);
1964
+ let a = e.id, o = "0202030004";
1965
+ Object.prototype.hasOwnProperty.call(e.attributes, "FEATURETYPE") && (o = e.attributes.FEATURETYPE.data, Object.prototype.hasOwnProperty.call(e.attributes, "FEATUREID") && (i = e.attributes.FEATUREID.data)), t.push({
1966
+ id: a,
1967
+ layername: n,
1968
+ geometry: { coordinates: r },
1969
+ attrs: {
1970
+ 图层: n,
1971
+ 实体ID: a,
1972
+ 名称: i,
1973
+ FeatureType: o
1974
+ },
1975
+ isSJGZM: !1
1976
+ });
1977
+ });
1978
+ }), t.length > 0 && await this.editorApp.interfaces.addRegion(t);
1979
+ }
1980
+ async queryCoalResversData() {
1981
+ var e = new FormData();
1982
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "line,polyline"), e.append("returnFeatureInfo", "geometry,attributes"), e.append("attributesFilter", JSON.stringify({
1983
+ op: "or",
1984
+ left: {
1985
+ op: "or",
1986
+ left: {
1987
+ op: "=",
1988
+ left: "FEATURETYPE",
1989
+ right: "0105100001"
1990
+ },
1991
+ right: {
1992
+ op: "=",
1993
+ left: "FEATURETYPE",
1994
+ right: "0105100002"
1995
+ }
1996
+ },
1997
+ right: {
1998
+ op: "or",
1999
+ left: {
2000
+ op: "or",
2001
+ left: {
2002
+ op: "=",
2003
+ left: "FEATURETYPE",
2004
+ right: "0105100003"
2005
+ },
2006
+ right: {
2007
+ op: "=",
2008
+ left: "FEATURETYPE",
2009
+ right: "0105100004"
2010
+ }
2011
+ },
2012
+ right: {
2013
+ op: "=",
2014
+ left: "FEATURETYPE",
2015
+ right: "0105100005"
2016
+ }
2017
+ }
2018
+ })), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
2019
+ }
2020
+ async addCoalResversData(e) {
2021
+ let t = {};
2022
+ if (this.featureDict) {
2023
+ let e = /(0105100001|0105100002|0105100003|0105100004|0105100005)/;
2024
+ for (let n of this.featureDict) n.FeatureType.search(e) !== -1 && (t[n.FeatureType] = n);
2025
+ }
2026
+ if (!e?.data?.featureGroups) return !1;
2027
+ let n = [];
2028
+ e.data.featureGroups.forEach((e) => {
2029
+ let r = e.layer;
2030
+ e.features.forEach((e) => {
2031
+ let i = [];
2032
+ for (let t = 0; t < e.geometry.coordinates.length; t++) i.push(e.geometry.coordinates[t][0], e.geometry.coordinates[t][1], e.geometry.coordinates[t][2]);
2033
+ let a = "0105100001";
2034
+ Object.prototype.hasOwnProperty.call(e.attributes, "FeatureType") && (a = e.attributes.FEATURETYPE.data);
2035
+ let o = {};
2036
+ if (t && t[a]) {
2037
+ let n = t[a].Properties;
2038
+ for (let t of n) {
2039
+ let n = t.PropName;
2040
+ Object.prototype.hasOwnProperty.call(e.attributes, n.toUpperCase()) && (t.DefaultValue = e.attributes[n.toUpperCase()].data), o[n] = Object.assign({}, t);
2041
+ }
2042
+ }
2043
+ let s = e.id;
2044
+ n.push({
2045
+ id: s,
2046
+ layername: r,
2047
+ geometry: { coordinates: i },
2048
+ attrs: o
2049
+ });
2050
+ });
2051
+ }), n.length > 0 && (this.editorApp.interfaces.addCoalReserves(n), n.forEach((e) => {
2052
+ window.lr3dapp.editor.manager.modules.CoalReservesModule.getLayerGroup(e.layername).visible = !0;
2053
+ }));
2054
+ }
2055
+ async queryBoundaryData() {
2056
+ var e = new FormData();
2057
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "line,polyline"), e.append("returnFeatureInfo", "geometry,attributes"), e.append("attributesFilter", JSON.stringify({
2058
+ op: "=",
2059
+ left: "FEATURETYPE",
2060
+ right: "0104020001"
2061
+ })), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
2062
+ }
2063
+ async addBoundaryData(e) {
2064
+ if (!e?.data?.featureGroups) return !1;
2065
+ let t = [];
2066
+ e.data.featureGroups.forEach((e) => {
2067
+ let n = e.layer;
2068
+ e.features.forEach((e) => {
2069
+ let r = [];
2070
+ for (let t = 0; t < e.geometry.coordinates.length; t++) r.push(e.geometry.coordinates[t][0], e.geometry.coordinates[t][1], e.geometry.coordinates[t][2]);
2071
+ if (!Object.prototype.hasOwnProperty.call(e.attributes, "名称")) return;
2072
+ let i = e.attributes.名称.data.split(":");
2073
+ if (i.length < 3) return;
2074
+ let a = Number(i[1]), o = Number(i[2]), s = e.id;
2075
+ t.push({
2076
+ layername: n,
2077
+ id: s,
2078
+ points: r,
2079
+ attrs: {
2080
+ 图层: n,
2081
+ 实体ID: s,
2082
+ 名称: "井田边界"
2083
+ },
2084
+ groundelevation: a,
2085
+ bottomevation: o
2086
+ });
2087
+ });
2088
+ }), t.length > 0 && this.editorApp.interfaces.addBoundary(t);
2089
+ }
2090
+ async queryGeologyData() {
2091
+ let e = new FormData();
2092
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "polyline"), e.append("returnFeatureInfo", "all"), e.append("attributesFilter", JSON.stringify({
2093
+ op: "=",
2094
+ left: "FEATURETYPE",
2095
+ right: "0103030002"
2096
+ })), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
2097
+ }
2098
+ async addGeologyData(e) {
2099
+ if (!e?.data?.featureGroups) return !1;
2100
+ let t = [];
2101
+ e.data.featureGroups.forEach((e) => {
2102
+ e.features.forEach((n) => {
2103
+ if (Object.prototype.hasOwnProperty.call(n.attributes, "3D_STRATUM_DATA")) {
2104
+ let r = e.layer, i = n.id;
2105
+ t.push({
2106
+ id: i,
2107
+ layername: r,
2108
+ datatype: n.attributes["3D_STRATUM_DATATYPE"].data,
2109
+ stratumdata: n.attributes["3D_STRATUM_DATA"].data,
2110
+ data3dMat: JSON.parse(n.attributes.DATA3DMAT.data),
2111
+ info: {
2112
+ 类型: "地层",
2113
+ 图层: r
2114
+ }
2115
+ });
2116
+ }
2117
+ });
2118
+ }), t.length > 0 && window.lr3dapp.interfaces.addStratumModel(t);
2119
+ }
2120
+ async queryPointSymbolData() {
2121
+ let e = new FormData();
2122
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "point"), e.append("returnFeatureInfo", "all"), e.append("attributesFilter", JSON.stringify({
2123
+ op: "=",
2124
+ left: "FEATURETYPE",
2125
+ right: "0103030003"
2126
+ })), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
2127
+ }
2128
+ async addPointSymbolData(e) {
2129
+ if (!e?.data?.featureGroups) return !1;
2130
+ let t = await this.queryFeatureDict(), n = {};
2131
+ if (t.data.Features) for (let e of t.data.Features) {
2132
+ let t = e.FeatureType;
2133
+ n[t] = e;
2134
+ }
2135
+ let r = [];
2136
+ e.data.featureGroups.forEach((e) => {
2137
+ e.features.forEach((t) => {
2138
+ if (Object.prototype.hasOwnProperty.call(t.attributes, "MODEL_TRANSFORM")) {
2139
+ let i = t.geometry.coordinates[0], a = t.geometry.coordinates[1], o = t.geometry.coordinates[2], s = e.layer, c = t.id, l = JSON.parse(t.attributes.MODEL_TRANSFORM.data), u = {};
2140
+ if (Object.prototype.hasOwnProperty.call(t.attributes, "FEATURETYPE")) {
2141
+ let e = t.attributes.FEATURETYPE.data;
2142
+ if (n && n[e]) {
2143
+ let r = n[e].Properties;
2144
+ for (let e of r) {
2145
+ let n = e.PropName;
2146
+ Object.prototype.hasOwnProperty.call(t.attributes, n) && (e.DefaultValue = t.attributes[n].data), u[n] = Object.assign({}, e);
2147
+ }
2148
+ }
2149
+ }
2150
+ r.push({
2151
+ id: c,
2152
+ layername: s,
2153
+ geometry: { coor: {
2154
+ x: i,
2155
+ y: a,
2156
+ z: o
2157
+ } },
2158
+ guid: t?.style?.styles?.[0]?.guid ?? "",
2159
+ info: u || {
2160
+ 类型: "点符号",
2161
+ 图层: s
2162
+ },
2163
+ transform: l
2164
+ });
2165
+ }
2166
+ });
2167
+ }), r.length > 0 && await window.lr3dapp.interfaces.addModel(r);
2168
+ }
2169
+ async queryDrillData() {
2170
+ let e = new FormData();
2171
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "compound"), e.append("returnFeatureInfo", "all"), e.append("returnGroupByLayer", "true"), this.queryFeature(e);
2172
+ }
2173
+ async addDrillData(e) {
2174
+ if (!e?.data?.featureGroups) return !1;
2175
+ let t = [];
2176
+ e.data.featureGroups.forEach((e) => {
2177
+ let n = {}, r = e.layer;
2178
+ e.features.forEach((e) => {
2179
+ if (e.attributes.hasOwnProperty("KK_X") && e.attributes.hasOwnProperty("KK_Y") && e.attributes.hasOwnProperty("KK_Z") && e.attributes.hasOwnProperty("JMD_X") && e.attributes.hasOwnProperty("JMD_Y") && e.attributes.hasOwnProperty("JMD_Z")) {
2180
+ let t = e.id, i = {
2181
+ x: 0,
2182
+ y: 0,
2183
+ z: 0
2184
+ };
2185
+ i.x = e.attributes.KK_X.data, i.y = e.attributes.KK_Y.data, i.z = e.attributes.KK_Z.data;
2186
+ let a = {
2187
+ x: 0,
2188
+ y: 0,
2189
+ z: 0
2190
+ };
2191
+ a.x = e.attributes.JMD_X.data, a.y = e.attributes.JMD_Y.data, a.z = e.attributes.JMD_Z.data;
2192
+ let o = {};
2193
+ Object.prototype.hasOwnProperty.call(e.attributes, "properties") && Object.assign(o, e.properties), n[r + ":" + t] = {
2194
+ id: t,
2195
+ layername: r,
2196
+ geometry: {
2197
+ beginCoor: i,
2198
+ endCoor: a
2199
+ },
2200
+ info: o
2201
+ };
2202
+ }
2203
+ }), Object.keys(n).length > 0 && t.push({
2204
+ layername: r,
2205
+ drills: n
2206
+ });
2207
+ }), t.length > 0 && window.lr3dapp.interfaces.addDrill(t);
2208
+ }
2209
+ async queryLaneData() {
2210
+ var e = new FormData();
2211
+ return e.append("stamp", "1687166665966"), e.append("dsGuid", this.params.dsGuid), e.append("geometryTypes", "line,polyline,point"), e.append("returnFeatureInfo", "geometry,attributes,style"), e.append("attributesFilter", JSON.stringify({
2212
+ op: "or",
2213
+ left: {
2214
+ op: "=",
2215
+ left: "FEATURETYPE",
2216
+ right: "0202020005"
2217
+ },
2218
+ right: {
2219
+ op: "or",
2220
+ left: {
2221
+ op: "=",
2222
+ left: "FEATURETYPE",
2223
+ right: "1002010101"
2224
+ },
2225
+ right: {
2226
+ op: "=",
2227
+ left: "FEATURETYPE",
2228
+ right: "1002010102"
2229
+ }
2230
+ }
2231
+ })), e.append("returnGroupByLayer", "true"), e.append("returnFeatureAttributes", "FEATUREID,FEATURENAME,FEATURETYPE,MININGFACE,MININGLEVEL,MININGREGION,ROADWAYAREA,ROADWAYHEIGHT,ROADWAYLENGTH,ROADWAYPURPOSE,ROADWAYSHAPE,ROADWAYSIDEHEIGHT,ROADWAYSUPPORT,ROADWAYTOPWIDTH,ROADWAYTYPE,ROADWAYWIDTH"), this.queryFeature(e);
2232
+ }
2233
+ async addLaneData(e) {
2234
+ if (!(e && e.data && e.data.featureGroups)) return !1;
2235
+ let t = [];
2236
+ e.data.featureGroups.forEach((e) => {
2237
+ let n = e.layer;
2238
+ e.features.forEach((e) => {
2239
+ let r = e.attributes, i = [
2240
+ "水平",
2241
+ "采区",
2242
+ "工作面",
2243
+ "井下巷道"
2244
+ ];
2245
+ Object.prototype.hasOwnProperty.call(r, "ID") && (i = r.ID.data.split(",")), i.length < 4 && (i = [
2246
+ "水平",
2247
+ "采区",
2248
+ "工作面",
2249
+ "井下巷道"
2250
+ ]);
2251
+ let a = [];
2252
+ if (e.geometry.type === "Point") {
2253
+ if (!r.hasOwnProperty("ROCKSHAFTBEGINELE")) return;
2254
+ let t = Number(r.ROCKSHAFTBEGINELE.data), n = Number(r.ROCKSHAFTENDELE.data);
2255
+ a.push({
2256
+ x: e.geometry.coordinates[0],
2257
+ y: e.geometry.coordinates[1],
2258
+ z: t
2259
+ }), a.push({
2260
+ x: e.geometry.coordinates[0],
2261
+ y: e.geometry.coordinates[1],
2262
+ z: n
2263
+ });
2264
+ } else for (let t = 0; t < e.geometry.coordinates.length; t++) a.push({
2265
+ x: e.geometry.coordinates[t][0],
2266
+ y: e.geometry.coordinates[t][1],
2267
+ z: e.geometry.coordinates[t][2]
2268
+ });
2269
+ let o = {
2270
+ 图层: n,
2271
+ 实体ID: e.id
2272
+ };
2273
+ e.geometry.type === "Point" ? (o.名称 = r.ROCKSHAFTNAME.data, o.井筒用途 = r.ROCKSHAFTUSAGE.data, r.hasOwnProperty("ROCKSHAFTRADIUS") && (o.井筒半径 = r.ROCKSHAFTRADIUS.data, o.竖井类型 = "0"), r.hasOwnProperty("ROCKSHAFTSIDELEN") && (o.井筒边长 = r.ROCKSHAFTSIDELEN.data, o.竖井类型 = "1")) : (o.水平 = i[0], o.采区 = i[1], o.工作面 = i[2], o.名称 = r.hasOwnProperty("FEATURENAME") ? r.FEATURENAME.data : i[3], r.hasOwnProperty("COALSEAM") && (o.所属采区 = r.COALSEAM.data, r.hasOwnProperty("MININGREGION") && (o.所属中段 = r.MININGREGION.data), r.hasOwnProperty("ROADWAYTYPE") && (o.巷道类型 = r.ROADWAYTYPE.data))), n.indexOf("施工进度") > -1 && r.FEATURETYPE && r.FEATURETYPE.data == "0202020005" && (r.FOOTAGE && (o.FOOTAGE = r.FOOTAGE.data), r.TOTALFOOTAGE && (o.TOTALFOOTAGE = r.TOTALFOOTAGE.data), r.UPDATE && (o.UPDATE = r.UPDATE.data), r.FEATURETYPE && (o.FEATURETYPE = r.FEATURETYPE.data)), t.push({
2274
+ points: a,
2275
+ layername: n,
2276
+ id: e.id,
2277
+ attrs: o,
2278
+ height: this.params?.laneSize?.height ?? 10,
2279
+ width: this.params?.laneSize?.width ?? 10,
2280
+ modeType: 0,
2281
+ topWidth: 3,
2282
+ archHeight: 2,
2283
+ startTime: 0,
2284
+ endTime: 0,
2285
+ colorStr: e?.style?.styles?.[0]?.foreColor ? e?.style?.styles?.[0]?.foreColor : "#AAAAAA"
2286
+ });
2287
+ });
2288
+ }), t.length > 0 && await this.editorApp.interfaces.addLane(t);
2289
+ }
2290
+ async queryCoalData(e) {
2291
+ var t = {};
2292
+ return t.stamp = "1687166665966", t.dsGuid = this.params.dsGuid, t.layerName = e, t.returnAttribute = "true", this.queryLayer(t);
2293
+ }
2294
+ async addCoalData(e, t) {
2295
+ if (!(e && e.data && e.data.attributes)) return !1;
2296
+ let n = this.parseCoalFunc(e.data.attributes, t);
2297
+ if (n) {
2298
+ if (Object.prototype.hasOwnProperty.call(e.data.attributes, "coalInfo")) {
2299
+ let r = JSON.parse(e.data.attributes.coalInfo);
2300
+ n[t].coalInfo = Object.assign({}, r);
2301
+ }
2302
+ n && await this.editorApp.interfaces.addCoal2Data([n]);
2303
+ }
2304
+ }
2305
+ parseCoalFunc(e, t) {
2306
+ let n = {
2307
+ triData: /* @__PURE__ */ new Map(),
2308
+ pntData: /* @__PURE__ */ new Map(),
2309
+ edgeData: /* @__PURE__ */ new Map(),
2310
+ layername: t
2311
+ };
2312
+ if (!Object.prototype.hasOwnProperty.call(e, "_tin_data") || !Object.prototype.hasOwnProperty.call(e, "_tri_model")) return !1;
2313
+ let r = !0;
2314
+ Object.prototype.hasOwnProperty.call(e, "_tin_hd") || (r = !1);
2315
+ let i = pa(e._tin_data.data), a;
2316
+ r && (a = pa(e._tin_hd.data));
2317
+ let o = pa(e._tri_model.data), s = n.triData, c = n.pntData, l = n.edgeData, u = 0;
2318
+ u += 20;
2319
+ let d = o.getUint32(u, !0);
2320
+ u += 4;
2321
+ let f = o.getUint32(u, !0);
2322
+ u += 4, u += 4, u += 480;
2323
+ for (let e = 0; e < d; e++) {
2324
+ let t = o.getInt32(u, !0);
2325
+ u += 4;
2326
+ let n = o.getInt32(u, !0);
2327
+ u += 4;
2328
+ let r = o.getInt32(u, !0);
2329
+ u += 4, u += 4, u += 4, u += 4, s.set(String(e), [
2330
+ String(e),
2331
+ String(t),
2332
+ String(n),
2333
+ String(r)
2334
+ ]);
2335
+ let i = "";
2336
+ i = Number(t) < Number(n) ? t + ":" + n : n + ":" + t;
2337
+ let a = l.get(i);
2338
+ a ? l.set(i, a + 1) : l.set(i, 1), i = Number(n) < Number(r) ? n + ":" + r : r + ":" + n, a = l.get(i), a ? l.set(i, a + 1) : l.set(i, 1), i = Number(r) < Number(t) ? r + ":" + t : t + ":" + r, a = l.get(i), a ? l.set(i, a + 1) : l.set(i, 1);
2339
+ }
2340
+ let p, m = 0;
2341
+ if (p = i.getInt32(0, !0), m += 4, p !== f) return console.log("tin_data he tri module 标识的点数不一致"), !1;
2342
+ let h = 0;
2343
+ for (let e = 0; e < p; e++) {
2344
+ if (m > i.byteLength) return !1;
2345
+ let t = i.getFloat64(m, !0), n = i.getFloat64(m + 8, !0), o = i.getFloat64(m + 16, !0);
2346
+ m += 24;
2347
+ let s = 0;
2348
+ r && (s = a.getFloat64(h, !0), h += 8), c.set(String(e + 1), [
2349
+ String(e + 1),
2350
+ t,
2351
+ n,
2352
+ o,
2353
+ s
2354
+ ]);
2355
+ }
2356
+ return n;
2357
+ }
2358
+ async queryGeoFaultData(e) {
2359
+ var t = {};
2360
+ return t.stamp = "1687166665968", t.dsGuid = this.params.dsGuid, t.layerName = e, t.returnAttribute = "true", this.queryLayer(t);
2361
+ }
2362
+ async addGeoFaultData(e, t) {
2363
+ if (!(e && e.data && e.data.attributes)) return !1;
2364
+ let n = this.parseGeoFaultFunc(e.data.attributes, t);
2365
+ if (n) {
2366
+ if (Object.prototype.hasOwnProperty.call(e.data.attributes, "geofaultInfo")) {
2367
+ let r = JSON.parse(e.data.attributes.geofaultInfo);
2368
+ n[t].geofaultInfo = Object.assign({}, r);
2369
+ }
2370
+ n && await this.editorApp.interfaces.addGeoFault([n]);
2371
+ }
2372
+ }
2373
+ parseGeoFaultFunc(e, t) {
2374
+ if (!Object.prototype.hasOwnProperty.call(e, "_tin_data") || !Object.prototype.hasOwnProperty.call(e, "_tri_model") || !Object.prototype.hasOwnProperty.call(e, "_tin_id_value")) return !1;
2375
+ let n = {
2376
+ layername: t,
2377
+ data: {
2378
+ triData: [],
2379
+ pntData: []
2380
+ }
2381
+ }, r = pa(e._tin_data.data), i = pa(e._tin_id_value.data), a = pa(e._tri_model.data), o = n.data.triData, s = n.data.pntData, c = 0;
2382
+ c += 20;
2383
+ let l = a.getUint32(c, !0);
2384
+ c += 4;
2385
+ let u = a.getUint32(c, !0);
2386
+ c += 4, c += 4, c += 480;
2387
+ for (let e = 0; e < l; e++) {
2388
+ let e = [];
2389
+ for (let t = 0; t < 6; t++) {
2390
+ let t = a.getInt32(c, !0);
2391
+ e.push(t), c += 4;
2392
+ }
2393
+ o.push(e);
2394
+ }
2395
+ let d, f = 0;
2396
+ if (d = r.getInt32(0, !0), f += 4, d !== u) return console.log("tin_data he tri module 标识的点数不一致"), !1;
2397
+ let p = 0, m = 0, h = 0;
2398
+ for (let e = 0; e < d; e++) {
2399
+ if (f > r.byteLength) return !1;
2400
+ let e = [], t = r.getFloat64(f, !0), n = r.getFloat64(f + 8, !0), a = r.getFloat64(f + 16, !0);
2401
+ f += 24, e.push(t, n, a), e.push(i.getInt32(p, !0)), p += 4, m += e[3], e[3] > h && (h = e[3]), s.push(e);
2402
+ }
2403
+ return n;
2404
+ }
2405
+ async getToken() {
2406
+ return new Promise((e, t) => {
2407
+ fetch(this.params.server + "/api/gis/mapserver/rest/auth?user_name=" + this.params.username + "&password=" + this.params.password, {
2408
+ method: "POST",
2409
+ redirect: "follow"
2410
+ }).then((e) => e.json()).then((t) => {
2411
+ e(t.data.token);
2412
+ }).catch((e) => {
2413
+ console.log("error", e), t(!1);
2414
+ });
2415
+ });
2416
+ }
2417
+ async getMap() {
2418
+ return new Promise((e, t) => {
2419
+ var n = new Headers();
2420
+ n.append("Authorization", " Bearer " + this.params.token);
2421
+ var r = {
2422
+ method: "GET",
2423
+ headers: n,
2424
+ redirect: "follow"
2425
+ };
2426
+ fetch(this.params.server + "/api/gis/mapserver/rest/map?dsGuid=" + this.params.dsGuid + "&fields=id,name,guid,box&token=" + this.params.token, r).then((e) => e.json()).then((t) => e(t)).catch((e) => {
2427
+ console.log("error", e), t(!1);
2428
+ });
2429
+ });
2430
+ }
2431
+ async getDatasource() {
2432
+ let e = await this.getToken();
2433
+ if (e) this.params.token = e;
2434
+ else return !1;
2435
+ return new Promise((e, t) => {
2436
+ var n = new Headers();
2437
+ n.append("Authorization", " Bearer " + this.params.token);
2438
+ var r = {
2439
+ method: "GET",
2440
+ headers: n,
2441
+ redirect: "follow"
2442
+ };
2443
+ fetch(this.params.server + "/api/gis/mapserver/rest/datasources?type=all", r).then((e) => e.json()).then((t) => e(t)).catch((e) => {
2444
+ console.log("error", e), t(!1);
2445
+ });
2446
+ });
2447
+ }
2448
+ async queryFeature(e) {
2449
+ return new Promise((t, n) => {
2450
+ var r = new Headers();
2451
+ r.append("Authorization", " Bearer " + this.params.token);
2452
+ var i = {
2453
+ method: "POST",
2454
+ headers: r,
2455
+ body: e,
2456
+ redirect: "follow"
2457
+ };
2458
+ fetch(this.params.server + "/api/gis/mapserver/rest/feature/query", i).then((e) => e.json()).then((e) => t(e)).catch((e) => {
2459
+ console.log("error", e), n(!1);
2460
+ });
2461
+ });
2462
+ }
2463
+ async queryFeatureDict() {
2464
+ return new Promise((e, t) => {
2465
+ var n = new Headers();
2466
+ n.append("Authorization", " Bearer " + this.params.token), n.append("Content-Type", "application/json;");
2467
+ var r = {
2468
+ method: "GET",
2469
+ headers: n,
2470
+ redirect: "follow"
2471
+ };
2472
+ fetch(this.params.server + "/api/cfg/features/get", r).then((e) => e.json()).then((t) => e(t)).catch((e) => {
2473
+ console.log("error", e), t(!1);
2474
+ });
2475
+ });
2476
+ }
2477
+ async queryLayer(e) {
2478
+ return new Promise((t, n) => {
2479
+ var r = new Headers();
2480
+ r.append("Authorization", " Bearer " + this.params.token);
2481
+ let i = {
2482
+ method: "GET",
2483
+ headers: r,
2484
+ async: !0,
2485
+ redirect: "follow"
2486
+ }, a = "", o = !0;
2487
+ for (let t in e) o || (a += "&"), o = !1, a += t + "=" + e[t];
2488
+ fetch(this.params.server + "/api/gis/mapserver/rest/layer?" + a, i).then((e) => e.json()).then((e) => t(e)).catch((e) => {
2489
+ console.log("error", e), n(!1);
2490
+ });
2491
+ });
2492
+ }
2493
+ }, ha = [
2494
+ "0202030030",
2495
+ "0106020009",
2496
+ "0202030004",
2497
+ "0202030006"
2498
+ ], ga = {
2499
+ "0202030030": "工作面",
2500
+ "0106020009": "积水区",
2501
+ "0202030004": "回采工作面",
2502
+ "0202030006": "采空区"
2503
+ }, _a = /* @__PURE__ */ new Map(), Q = null;
2504
+ function va(e = ye().globalNames) {
2505
+ if (typeof window > "u") return null;
2506
+ for (let t of e) if (window[t]) return {
2507
+ name: t,
2508
+ value: window[t]
2509
+ };
2510
+ return null;
2511
+ }
2512
+ function ya(e = []) {
2513
+ if (typeof window > "u") return null;
2514
+ for (let t of e) if (window[t]) return {
2515
+ name: t,
2516
+ value: window[t]
2517
+ };
2518
+ return null;
2519
+ }
2520
+ async function ba(e, t = {}) {
2521
+ let { src: n, globalNames: r = [] } = e;
2522
+ if (!n) throw Error("存在未配置脚本地址的 SDK 前置依赖");
2523
+ try {
2524
+ await pe(n, t);
2525
+ } catch {
2526
+ throw Error(`SDK 前置依赖加载失败: ${n}`);
2527
+ }
2528
+ if (r.length > 0 && !ya(r)) throw Error(`SDK 前置依赖已加载,但未检测到全局对象: ${r.join(", ")} (${n})`);
2529
+ }
2530
+ function xa(e = ye().globalNames) {
2531
+ return va(e);
2532
+ }
2533
+ async function Sa(e = {}) {
2534
+ let t = ye(), n = t.scriptSrc, r = t.globalNames, i = t.dependencies ?? [], { src: a = n, globalNames: o = r, dependencies: s = i, validateGlobal: c = !0, scriptOptions: l = {} } = e, u = `${a}::${s.map(({ src: e }) => e).join("|")}`;
2535
+ if (_a.has(u)) return _a.get(u);
2536
+ let d = (async () => {
2537
+ for (let e of s) await ba(e, l);
2538
+ await pe(a, l);
2539
+ let e = va(o);
2540
+ if (c && !e) throw Error(`龙软 GIS SDK 脚本已加载,但未检测到全局对象: ${o.join(", ")}`);
2541
+ return {
2542
+ src: a,
2543
+ global: e
2544
+ };
2545
+ })();
2546
+ _a.set(u, d);
2547
+ try {
2548
+ return await d;
2549
+ } catch (e) {
2550
+ throw _a.delete(u), e;
2551
+ }
2552
+ }
2553
+ function Ca(e) {
2554
+ return [
2555
+ e?.value?.EditorApp,
2556
+ e?.value,
2557
+ window.EditorApp?.EditorApp,
2558
+ window.EditorApp
2559
+ ].find((e) => typeof e == "function") ?? null;
2560
+ }
2561
+ function wa(e) {
2562
+ e && e.replaceChildren();
2563
+ }
2564
+ function Ta() {
2565
+ return Q;
2566
+ }
2567
+ function Ea() {
2568
+ Q && typeof Q.onWindowResize == "function" && Q.onWindowResize();
2569
+ }
2570
+ function Da(e = null) {
2571
+ typeof window < "u" && Q && typeof Q.onWindowResize == "function" && window.removeEventListener("resize", Q.onWindowResize, !1), typeof window < "u" && window.lr3dapp === Q && delete window.lr3dapp, wa(e), Q = null;
2572
+ }
2573
+ async function Oa(e, t = {}) {
2574
+ let n = be(), r = xe();
2575
+ if (!e) throw Error(`未找到场景容器: ${n.containerId}`);
2576
+ Da(e);
2577
+ let { initOptions: i = {}, autoResize: a = n.autoResize } = t, { global: o } = await Sa(), s = Ca(o);
2578
+ if (!s) throw Error("未检测到可用的 EditorApp 构造器");
2579
+ return Q = new s({
2580
+ ...r,
2581
+ ...i,
2582
+ dom: e
2583
+ }), typeof window < "u" && (window.lr3dapp = Q), a && Ea(), {
2584
+ instance: Q,
2585
+ globalName: o?.name ?? "未知"
2586
+ };
2587
+ }
2588
+ function ka() {
2589
+ let e = Ta();
2590
+ if (!e) throw Error("龙软 GIS 三维实例不存在,请先完成场景初始化");
2591
+ return e;
2592
+ }
2593
+ function Aa() {
2594
+ return ka();
2595
+ }
2596
+ function ja() {
2597
+ let e = ka();
2598
+ if (!e.editor) throw Error("当前三维实例缺少 editor 对象");
2599
+ return e.editor;
2600
+ }
2601
+ function Ma() {
2602
+ let e = ka();
2603
+ if (!e.interfaces) throw Error("当前三维实例缺少 interfaces 对象");
2604
+ return e.interfaces;
2605
+ }
2606
+ function Na() {
2607
+ Ea();
2608
+ }
2609
+ function Pa(e) {
2610
+ e?.interfaces?.signals?.sceneGraphChanged?.dispatch?.(), e?.editor?.signals?.sceneGraphChanged?.dispatch?.();
2611
+ }
2612
+ function Fa() {
2613
+ Pa(ka());
2614
+ }
2615
+ async function Ia(e, t = null) {
2616
+ if (!e || typeof e != "string") throw Error("toolName 必须是非空字符串");
2617
+ let n = ka();
2618
+ if (typeof n.activeTool != "function") throw Error("当前三维实例不支持 activeTool 接口");
2619
+ return n.activeTool(e, t);
2620
+ }
2621
+ function La(e) {
2622
+ return e.endsWith("/") ? e.slice(0, -1) : e;
2623
+ }
2624
+ function Ra(e, t) {
2625
+ return `${La(e)}/map/getMeta?dsname=${encodeURIComponent(t)}`;
2626
+ }
2627
+ function za(e) {
2628
+ let t = Number(e?.laneSize?.width), n = Number(e?.laneSize?.height);
2629
+ return {
2630
+ width: Number.isFinite(t) && t > 0 ? t : 10,
2631
+ height: Number.isFinite(n) && n > 0 ? n : 10
2632
+ };
2633
+ }
2634
+ function Ba(e = {}) {
2635
+ let t = Se(), n = e.loadMode ?? t?.loadMode ?? "all", r = e.enableRegionAssist ?? t?.cloud?.enableRegionAssist ?? !1, i = e.regionFeatureTypes ?? t?.cloud?.regionFeatureTypes ?? ha, a = e.enableLane ?? t?.cloud?.enableLane ?? !1, o = {
2636
+ ...t?.cloud ?? {},
2637
+ ...e,
2638
+ loadMode: n,
2639
+ enableRegionAssist: r,
2640
+ regionFeatureTypes: i,
2641
+ enableLane: a
2642
+ };
2643
+ if ([
2644
+ "server",
2645
+ "mapServerUrl",
2646
+ "username",
2647
+ "password",
2648
+ "dsGuid",
2649
+ "dsname"
2650
+ ].forEach((e) => {
2651
+ let t = o[e];
2652
+ if (typeof t != "string" || !t.trim()) throw Error(`云 GIS 数据源配置缺失: ${e}`);
2653
+ }), !Array.isArray(o.coalLayers)) throw Error("云 GIS 数据源配置错误: coalLayers 必须为数组");
2654
+ if (!Array.isArray(o.workfaceFeatureTypes)) throw Error("云 GIS 数据源配置错误: workfaceFeatureTypes 必须为数组");
2655
+ if (!Array.isArray(o.regionFeatureTypes)) throw Error("云 GIS 数据源配置错误: regionFeatureTypes 必须为数组");
2656
+ if (!Array.isArray(o.layers ?? [])) throw Error("云 GIS 数据源配置错误: layers 必须为数组");
2657
+ if (!Array.isArray(o.geofaultLayers ?? [])) throw Error("云 GIS 数据源配置错误: geofaultLayers 必须为数组");
2658
+ let s = o.workfaceFeatureTypes.map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean), c = o.regionFeatureTypes.map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean);
2659
+ if (n === "workfaceOnly" && s.length === 0) throw Error("工作面加载模式下,workfaceFeatureTypes 至少需要一个要素编码");
2660
+ return {
2661
+ ...o,
2662
+ loadMode: n,
2663
+ enableRegionAssist: !!o.enableRegionAssist,
2664
+ enableLane: !!o.enableLane,
2665
+ laneSize: za(o),
2666
+ coalLayers: o.coalLayers.map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean),
2667
+ layers: (o.layers ?? []).map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean),
2668
+ geofaultLayers: (o.geofaultLayers ?? []).map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean),
2669
+ regionFeatureTypes: c.length > 0 ? c : [...ha],
2670
+ workfaceFeatureTypes: s
2671
+ };
2672
+ }
2673
+ function Va(e) {
2674
+ return e?.attributes?.FEATURETYPE?.data ?? e?.attributes?.FeatureType?.data ?? "";
2675
+ }
2676
+ function $(e, t) {
2677
+ let n = e?.attributes?.[t]?.data;
2678
+ return typeof n == "string" ? n.trim() : "";
2679
+ }
2680
+ function Ha(e) {
2681
+ return $(e, "工作面名称") || $(e, "FEATUREID") || $(e, "名称") || $(e, "FEATURENAME") || "";
2682
+ }
2683
+ function Ua(e) {
2684
+ return ga[e] ?? `类型 ${e || "未知"}`;
2685
+ }
2686
+ function Wa(e, t) {
2687
+ return t === "0202030030" ? Ha(e) : $(e, "FEATUREID") || $(e, "名称") || $(e, "FEATURENAME") || $(e, "工作面名称") || "";
2688
+ }
2689
+ function Ga(e) {
2690
+ let t = lo(e), n = [];
2691
+ return t.forEach((e) => {
2692
+ let t = typeof e?.layer == "string" ? e.layer : "";
2693
+ !t || !Array.isArray(e?.features) || e.features.forEach((e) => {
2694
+ let r = String(e?.id ?? "").trim();
2695
+ if (!r) return;
2696
+ let i = String(Va(e)).trim(), a = $(e, "FEATUREID"), o = $(e, "FEATURENAME"), s = $(e, "工作面名称"), c = Ua(i), l = Wa(e, i) || `${c}-${r}`, u = `${t}::${r}`;
2697
+ n.push({
2698
+ key: u,
2699
+ featureType: i,
2700
+ typeLabel: c,
2701
+ layerName: t,
2702
+ entityId: r,
2703
+ featureId: a,
2704
+ featureName: o,
2705
+ workfaceName: s,
2706
+ displayName: l
2707
+ });
2708
+ });
2709
+ }), n;
2710
+ }
2711
+ function Ka(e) {
2712
+ return $(e, "FEATURENAME") || $(e, "名称") || $(e, "ID") || $(e, "FEATUREID") || "";
2713
+ }
2714
+ function qa(e) {
2715
+ if (e?.geometry?.type === "Point" && Array.isArray(e?.geometry?.coordinates)) {
2716
+ let [t, n, r] = e.geometry.coordinates;
2717
+ return [{
2718
+ x: Number(t),
2719
+ y: Number(n),
2720
+ z: Number(r)
2721
+ }];
2722
+ }
2723
+ return Array.isArray(e?.geometry?.coordinates) ? e.geometry.coordinates.filter((e) => Array.isArray(e) && e.length >= 3).map(([e, t, n]) => ({
2724
+ x: Number(e),
2725
+ y: Number(t),
2726
+ z: Number(n)
2727
+ })) : [];
2728
+ }
2729
+ function Ja(e) {
2730
+ let t = lo(e), n = [];
2731
+ return t.forEach((e) => {
2732
+ let t = typeof e?.layer == "string" ? e.layer : "";
2733
+ !t || !Array.isArray(e?.features) || e.features.forEach((e) => {
2734
+ let r = String(e?.id ?? "").trim();
2735
+ if (!r) return;
2736
+ let i = $(e, "FEATUREID"), a = $(e, "FEATURENAME"), o = String(Va(e)).trim(), s = Ka(e) || `巷道-${r}`, c = `${t}::${r}`;
2737
+ n.push({
2738
+ key: c,
2739
+ layerName: t,
2740
+ entityId: r,
2741
+ featureId: i,
2742
+ featureName: a,
2743
+ featureType: o,
2744
+ typeLabel: "巷道",
2745
+ displayName: s,
2746
+ coordinates: qa(e)
2747
+ });
2748
+ });
2749
+ }), n;
2750
+ }
2751
+ function Ya(e, t = []) {
2752
+ let n = new Set(t), r = e?.data?.featureGroups;
2753
+ if (!Array.isArray(r)) return {
2754
+ ...e ?? {},
2755
+ data: {
2756
+ ...e?.data ?? {},
2757
+ featureGroups: [],
2758
+ type: e?.data?.type ?? "FeatureGroupCollection"
2759
+ }
2760
+ };
2761
+ let i = r.map((e) => {
2762
+ let t = Array.isArray(e?.features) ? e.features.filter((e) => n.has(String(Va(e)).trim())) : [];
2763
+ return {
2764
+ ...e,
2765
+ features: t
2766
+ };
2767
+ }).filter((e) => e.features.length > 0);
2768
+ return {
2769
+ ...e,
2770
+ data: {
2771
+ ...e.data,
2772
+ featureGroups: i
2773
+ }
2774
+ };
2775
+ }
2776
+ function Xa(e, t = []) {
2777
+ let n = new Set(t.map((e) => typeof e == "string" ? e.trim() : "").filter(Boolean)), r = e?.data?.featureGroups;
2778
+ if (n.size === 0) return e;
2779
+ if (!Array.isArray(r)) return {
2780
+ ...e ?? {},
2781
+ data: {
2782
+ ...e?.data ?? {},
2783
+ featureGroups: [],
2784
+ type: e?.data?.type ?? "FeatureGroupCollection"
2785
+ }
2786
+ };
2787
+ let i = r.filter((e) => n.has(typeof e?.layer == "string" ? e.layer.trim() : ""));
2788
+ return {
2789
+ ...e,
2790
+ data: {
2791
+ ...e?.data ?? {},
2792
+ featureGroups: i,
2793
+ type: e?.data?.type ?? "FeatureGroupCollection"
2794
+ }
2795
+ };
2796
+ }
2797
+ function Za(e, t) {
2798
+ return Ya(e, t);
2799
+ }
2800
+ function Qa(e) {
2801
+ return e.reduce((e, t) => e + (Array.isArray(t?.features) ? t.features.length : 0), 0);
2802
+ }
2803
+ function $a(e) {
2804
+ let t = e?.result?.extent;
2805
+ if (!Array.isArray(t) || t.length < 4) throw Error("map/getMeta 返回结果缺少有效 extent");
2806
+ return t;
2807
+ }
2808
+ function eo(e) {
2809
+ return {
2810
+ x: .5 * (Number(e[0]) + Number(e[2])),
2811
+ y: .5 * (Number(e[1]) + Number(e[3])),
2812
+ z: 0
2813
+ };
2814
+ }
2815
+ function to(e, t) {
2816
+ e && (e.basePoint && typeof e.basePoint.copy == "function" ? e.basePoint.copy(t) : e.basePoint = { ...t }, e.isSetBasePoint = !0);
2817
+ }
2818
+ function no(e, t) {
2819
+ !e || typeof e.getLayerGroup != "function" || t.forEach((t) => {
2820
+ let n = t?.layer;
2821
+ if (typeof n != "string" || !n) return;
2822
+ let r = e.getLayerGroup(n);
2823
+ r && (r.visible = !0);
2824
+ });
2825
+ }
2826
+ function ro(e) {
2827
+ return e?.editor?.manager?.modules?.regionmodule ?? e?.interfaces?.manager?.modules?.regionmodule;
2828
+ }
2829
+ function io(e) {
2830
+ return e?.editor?.manager?.modules?.lanemodulen ?? e?.interfaces?.manager?.modules?.lanemodulen;
2831
+ }
2832
+ function ao(e) {
2833
+ return [...new Set(e.map((e) => e?.layer).filter((e) => typeof e == "string" && e))];
2834
+ }
2835
+ function oo(e, t, n, r = 1500, i = 50) {
2836
+ let a = ao(n);
2837
+ if (a.length === 0) return Promise.resolve(!1);
2838
+ let o = Date.now();
2839
+ return new Promise((n) => {
2840
+ function s() {
2841
+ let c = e(t);
2842
+ if (a.some((e) => {
2843
+ let t = c?.getLayerGroup?.(e);
2844
+ return (Array.isArray(t?.children) ? t.children.length : 0) > 0;
2845
+ })) {
2846
+ n(!0);
2847
+ return;
2848
+ }
2849
+ if (Date.now() - o >= r) {
2850
+ n(!1);
2851
+ return;
2852
+ }
2853
+ setTimeout(s, i);
2854
+ }
2855
+ s();
2856
+ });
2857
+ }
2858
+ function so() {
2859
+ return new Promise((e) => {
2860
+ if (typeof requestAnimationFrame == "function") {
2861
+ requestAnimationFrame(() => e());
2862
+ return;
2863
+ }
2864
+ setTimeout(e, 16);
2865
+ });
2866
+ }
2867
+ async function co(e) {
2868
+ let t = Ra(e.mapServerUrl, e.dsname), n = await fetch(t);
2869
+ if (!n.ok) throw Error(`map/getMeta 请求失败: ${n.status}`);
2870
+ return n.json();
2871
+ }
2872
+ function lo(e) {
2873
+ return Array.isArray(e?.data?.featureGroups) ? e.data.featureGroups : [];
2874
+ }
2875
+ function uo(e) {
2876
+ let t = lo(e);
2877
+ return {
2878
+ featureGroupCount: t.length,
2879
+ featureCount: Qa(t),
2880
+ featureGroups: t
2881
+ };
2882
+ }
2883
+ async function fo(e) {
2884
+ let t = await e.queryFeatureDict();
2885
+ t?.code === 0 && Array.isArray(t?.data?.Features) && (e.featureDict = t.data.Features);
2886
+ }
2887
+ async function po(e, t = !0) {
2888
+ t && (Pa(e), await so()), e.editor && typeof e.editor.focusScene == "function" && e.editor.focusScene();
2889
+ }
2890
+ async function mo(e = {}) {
2891
+ let t = ka(), n = Ba(e), r = $a(await co(n)), i = eo(r), a = new ma({
2892
+ server: n.server,
2893
+ username: n.username,
2894
+ password: n.password,
2895
+ dsGuid: n.dsGuid,
2896
+ basePoint: r,
2897
+ laneSize: n.laneSize
2898
+ });
2899
+ typeof window < "u" && (window.lr3dLoader = a);
2900
+ let o = await a.getDatasource();
2901
+ if (!o) throw Error("云 GIS 数据源认证失败或未返回数据源列表");
2902
+ return to(t, i), {
2903
+ app: t,
2904
+ config: n,
2905
+ datasource: o,
2906
+ loader: a,
2907
+ basePointCenter: i
2908
+ };
2909
+ }
2910
+ async function ho(e = {}) {
2911
+ let { app: t, config: n, datasource: r, loader: i, basePointCenter: a } = await mo(e);
2912
+ if (n.loadMode === "workfaceOnly") {
2913
+ let e = Xa(Ya(await i.queryRegionData(), n.regionFeatureTypes), n.layers), o = lo(e), s = lo(Za(e, n.workfaceFeatureTypes)), c = Ga(e), l = new Set(n.workfaceFeatureTypes), u = c.filter((e) => l.has(e.featureType)), d = {
2914
+ featureGroupCount: s.length,
2915
+ featureCount: Qa(s),
2916
+ featureTypes: n.workfaceFeatureTypes,
2917
+ items: u,
2918
+ renderReady: !1
2919
+ }, f = {
2920
+ featureGroupCount: o.length,
2921
+ featureCount: Qa(o),
2922
+ featureTypes: n.regionFeatureTypes,
2923
+ items: c
2924
+ }, p = {
2925
+ enabled: n.enableLane,
2926
+ featureGroupCount: 0,
2927
+ featureCount: 0,
2928
+ items: [],
2929
+ renderReady: !1
2930
+ };
2931
+ if (f.featureGroupCount > 0 && (await i.addRegionData(e), d.renderReady = await oo(ro, t, o) && d.featureGroupCount > 0, no(ro(t), o)), n.enableLane) {
2932
+ let e = Xa(await i.queryLaneData(), n.layers), r = lo(e);
2933
+ p.featureGroupCount = r.length, p.featureCount = Qa(r), p.items = Ja(e), p.featureGroupCount > 0 && (await i.addLaneData(e), p.renderReady = await oo(io, t, r), no(io(t), r));
2934
+ }
2935
+ return await po(t, f.featureGroupCount > 0 || p.featureGroupCount > 0), {
2936
+ loadMode: n.loadMode,
2937
+ datasource: r,
2938
+ regions: f,
2939
+ workface: d,
2940
+ lane: p,
2941
+ basePoint: a
2942
+ };
2943
+ }
2944
+ i.coalLayers = n.coalLayers, i.geofaultLayers = n.geofaultLayers;
2945
+ let o = await i.load();
2946
+ if (!o) throw Error("云 GIS 数据加载失败");
2947
+ return await po(t, !0), {
2948
+ loadMode: n.loadMode,
2949
+ layers: o,
2950
+ datasource: r,
2951
+ coalLayers: n.coalLayers,
2952
+ geofaultLayers: n.geofaultLayers
2953
+ };
2954
+ }
2955
+ async function go(e = {}) {
2956
+ let { app: t, datasource: n, loader: r, basePointCenter: i } = await mo(e), a = await r.queryRegionAssistData(), { featureGroupCount: o, featureCount: s } = uo(a);
2957
+ return o > 0 && await r.addRegionAssistData(a), await po(t, o > 0), {
2958
+ datasource: n,
2959
+ basePoint: i,
2960
+ featureGroupCount: o,
2961
+ featureCount: s,
2962
+ loadSuccess: o > 0
2963
+ };
2964
+ }
2965
+ async function _o(e = {}) {
2966
+ let { app: t, datasource: n, loader: r, basePointCenter: i } = await mo(e);
2967
+ await fo(r);
2968
+ let a = await r.queryCoalResversData(), { featureGroupCount: o, featureCount: s } = uo(a);
2969
+ return o > 0 && await r.addCoalResversData(a), await po(t, o > 0), {
2970
+ datasource: n,
2971
+ basePoint: i,
2972
+ featureGroupCount: o,
2973
+ featureCount: s,
2974
+ loadSuccess: o > 0
2975
+ };
2976
+ }
2977
+ async function vo(e = {}) {
2978
+ let { app: t, datasource: n, loader: r, basePointCenter: i } = await mo(e), a = await r.queryBoundaryData(), { featureGroupCount: o, featureCount: s } = uo(a);
2979
+ return o > 0 && await r.addBoundaryData(a), await po(t, o > 0), {
2980
+ datasource: n,
2981
+ basePoint: i,
2982
+ featureGroupCount: o,
2983
+ featureCount: s,
2984
+ loadSuccess: o > 0
2985
+ };
2986
+ }
2987
+ async function yo(e = {}) {
2988
+ let { app: t, datasource: n, loader: r, basePointCenter: i } = await mo(e), a = await r.queryGeologyData(), { featureGroupCount: o, featureCount: s } = uo(a);
2989
+ return o > 0 && await r.addGeologyData(a), await po(t, o > 0), {
2990
+ datasource: n,
2991
+ basePoint: i,
2992
+ featureGroupCount: o,
2993
+ featureCount: s,
2994
+ loadSuccess: o > 0
2995
+ };
2996
+ }
2997
+ async function bo(e = {}) {
2998
+ let { app: t, datasource: n, loader: r, basePointCenter: i } = await mo(e), a = await r.queryPointSymbolData(), { featureGroupCount: o, featureCount: s } = uo(a);
2999
+ return o > 0 && await r.addPointSymbolData(a), await po(t, o > 0), {
3000
+ datasource: n,
3001
+ basePoint: i,
3002
+ featureGroupCount: o,
3003
+ featureCount: s,
3004
+ loadSuccess: o > 0
3005
+ };
3006
+ }
3007
+ async function xo(e = {}) {
3008
+ let { app: t, config: n, datasource: r, loader: i, basePointCenter: a } = await mo(e), o = n.coalLayers, s = [];
3009
+ for (let e of o) {
3010
+ let t = await i.queryCoalData(e);
3011
+ t?.data?.attributes && (await i.addCoalData(t, e), s.push(e));
3012
+ }
3013
+ return await po(t, s.length > 0), {
3014
+ datasource: r,
3015
+ basePoint: a,
3016
+ configuredLayerNames: o,
3017
+ loadedLayerNames: s,
3018
+ configuredLayerCount: o.length,
3019
+ loadedLayerCount: s.length,
3020
+ loadSuccess: s.length > 0
3021
+ };
3022
+ }
3023
+ async function So(e = {}) {
3024
+ let { app: t, config: n, datasource: r, loader: i, basePointCenter: a } = await mo(e), o = n.geofaultLayers, s = [];
3025
+ for (let e of o) {
3026
+ let t = await i.queryGeoFaultData(e);
3027
+ t?.data?.attributes && (await i.addGeoFaultData(t, e), s.push(e));
3028
+ }
3029
+ return await po(t, s.length > 0), {
3030
+ datasource: r,
3031
+ basePoint: a,
3032
+ configuredLayerNames: o,
3033
+ loadedLayerNames: s,
3034
+ configuredLayerCount: o.length,
3035
+ loadedLayerCount: s.length,
3036
+ loadSuccess: s.length > 0
3037
+ };
3038
+ }
3039
+ //#endregion
3040
+ //#region packages/lr-map-viewer/src/core/mode-manager.js
3041
+ var Co = "3d", wo = ["2d", "3d"];
3042
+ function To() {
3043
+ return [...wo];
3044
+ }
3045
+ function Eo(e) {
3046
+ if (typeof e != "string") return Co;
3047
+ let t = e.trim().toLowerCase();
3048
+ return wo.includes(t) ? t : Co;
3049
+ }
3050
+ function Do(e = []) {
3051
+ if (!Array.isArray(e) || e.length === 0) return [Co];
3052
+ let t = [];
3053
+ return e.forEach((e) => {
3054
+ if (typeof e != "string") return;
3055
+ let n = e.trim().toLowerCase();
3056
+ wo.includes(n) && (t.includes(n) || t.push(n));
3057
+ }), t.length > 0 ? t : [Co];
3058
+ }
3059
+ function Oo(e, t = []) {
3060
+ let n = Do(t), r = Eo(e);
3061
+ return n.includes(r) ? r : n[0];
3062
+ }
3063
+ function ko(e, t = []) {
3064
+ return Do(t).includes(Eo(e));
3065
+ }
3066
+ //#endregion
3067
+ //#region \0plugin-vue:export-helper
3068
+ var Ao = (e, t) => {
3069
+ let n = e.__vccOpts || e;
3070
+ for (let [e, r] of t) n[e] = r;
3071
+ return n;
3072
+ }, jo = { class: "lr2d-viewer" }, Mo = {
3073
+ key: 0,
3074
+ class: "lr2d-viewer__error"
3075
+ }, No = {
3076
+ key: 1,
3077
+ class: "lr2d-viewer__placeholder"
3078
+ }, Po = /* @__PURE__ */ Ao({
3079
+ __name: "Lr2dViewer",
3080
+ props: { config: {
3081
+ type: Object,
3082
+ default: () => ({})
3083
+ } },
3084
+ setup(e) {
3085
+ let o = e, s = p(""), c = t(() => o.config?.options || {}), u = t(() => k(o.config)), d = t(() => u.value.length ? `2D 地图配置不完整,缺少:${u.value.join("、")}` : ""), m = t(() => s.value || d.value);
3086
+ async function _(e) {
3087
+ if (s.value = "", !u.value.length) try {
3088
+ await P({
3089
+ map: e,
3090
+ config: o.config
3091
+ });
3092
+ } catch (e) {
3093
+ s.value = e instanceof Error ? e.message : String(e);
3094
+ }
3095
+ }
3096
+ return l(() => {
3097
+ ce();
3098
+ }), (e, t) => (f(), i("section", jo, [m.value ? (f(), i("div", Mo, h(m.value), 1)) : r("", !0), d.value ? (f(), i("div", No, [...t[0] ||= [a("p", null, "2D 地图配置待补充", -1), a("small", null, "请通过 `map2dConfig.options` 传入云 GIS 图纸所需参数。", -1)]])) : (f(), n(g(b), {
3099
+ key: 2,
3100
+ class: "lr2d-viewer__map",
3101
+ options: c.value,
3102
+ onInitMap: _
3103
+ }, null, 8, ["options"]))]));
3104
+ }
3105
+ }, [["__scopeId", "data-v-34a88c66"]]), Fo = {
3106
+ regionAssist: "掘进辅助",
3107
+ coalResvers: "储量块段",
3108
+ boundary: "矿井边界",
3109
+ geology: "地质体",
3110
+ pointSymbol: "点符号",
3111
+ coal: "煤层",
3112
+ geofault: "断层"
3113
+ }, Io = {
3114
+ regionAssist: go,
3115
+ coalResvers: _o,
3116
+ boundary: vo,
3117
+ geology: yo,
3118
+ pointSymbol: bo,
3119
+ coal: xo,
3120
+ geofault: So
3121
+ };
3122
+ function Lo(e) {
3123
+ return e == null ? "" : String(e).trim().toLowerCase();
3124
+ }
3125
+ function Ro(e) {
3126
+ let t = Lo(e?.layerName), n = Lo(e?.entityId), r = Lo(e?.featureId), i = Lo(e?.displayName);
3127
+ return t && r ? `layer-feature::${t}::${r}` : t && i ? `layer-name::${t}::${i}` : t && n ? `layer-entity::${t}::${n}` : "";
3128
+ }
3129
+ function zo(e) {
3130
+ let t = Lo(e?.layerName), n = Lo(e?.entityId), r = Lo(e?.featureId), i = Lo(e?.displayName);
3131
+ return t && r ? `lane-feature::${t}::${r}` : t && i ? `lane-name::${t}::${i}` : t && n ? `lane-entity::${t}::${n}` : "";
3132
+ }
3133
+ function Bo(e) {
3134
+ if (!Array.isArray(e) || e.length === 0) return [];
3135
+ let t = [], n = /* @__PURE__ */ new Set();
3136
+ return e.forEach((e) => {
3137
+ let r = Ro(e);
3138
+ if (!r) {
3139
+ t.push(e);
3140
+ return;
3141
+ }
3142
+ n.has(r) || (n.add(r), t.push(e));
3143
+ }), t;
3144
+ }
3145
+ function Vo(e) {
3146
+ if (!Array.isArray(e) || e.length === 0) return [];
3147
+ let t = [], n = /* @__PURE__ */ new Set();
3148
+ return e.forEach((e) => {
3149
+ let r = zo(e);
3150
+ if (!r) {
3151
+ t.push(e);
3152
+ return;
3153
+ }
3154
+ n.has(r) || (n.add(r), t.push(e));
3155
+ }), t;
3156
+ }
3157
+ function Ho(e) {
3158
+ return e?.data?.featureGroups?.length ?? 0;
3159
+ }
3160
+ function Uo(e) {
3161
+ if (e.loadMode === "workfaceOnly") {
3162
+ let t = e.regions?.featureGroupCount ?? 0, n = e.regions?.featureCount ?? 0, r = e.workface?.featureGroupCount ?? 0, i = e.workface?.featureCount ?? 0, a = e.workface?.featureTypes?.join(", ") ?? "", o = e.workface?.renderReady === !0 ? "是" : "否", s = e.lane?.enabled === !0, c = e.lane?.featureGroupCount ?? 0, l = e.lane?.featureCount ?? 0, u = e.lane?.renderReady === !0 ? "是" : "否", d = s ? `巷道 图层组 ${c},要素 ${l},渲染就绪 ${u}` : "巷道 未启用";
3163
+ return `区域要素 图层组 ${t},要素 ${n};工作面 图层组 ${r},要素 ${i},要素编码 ${a || "未配置"},渲染就绪 ${o};${d}`;
3164
+ }
3165
+ let t = Ho(e.layers?.laneData), n = Ho(e.layers?.regionAssistData), r = Ho(e.layers?.regionData), i = Ho(e.layers?.coalResversData), a = Ho(e.layers?.boundaryData), o = Ho(e.layers?.geologyData), s = Ho(e.layers?.pointSymbolData), c = Array.isArray(e.layers?.coalData) ? e.layers.coalData.length : 0, l = Array.isArray(e.layers?.geofaultData) ? e.layers.geofaultData.length : 0;
3166
+ return `云GIS全量加载完成:巷道组 ${t},工作面辅助组 ${n},区域组 ${r},煤量组 ${i},边界组 ${a},地质体组 ${o},点符号组 ${s},煤层 ${c}(配置煤层 ${Array.isArray(e.coalLayers) ? e.coalLayers.length : 0}),断层 ${l}(配置断层 ${Array.isArray(e.geofaultLayers) ? e.geofaultLayers.length : 0})`;
3167
+ }
3168
+ function Wo(e, t) {
3169
+ let n = Fo[e] ?? e;
3170
+ if (e === "coal" || e === "geofault") {
3171
+ let e = t?.configuredLayerCount ?? 0, r = t?.loadedLayerCount ?? 0;
3172
+ return e === 0 ? `${n}未加载:未配置图层名` : `${n}加载完成:已加载图层 ${r}/${e}`;
3173
+ }
3174
+ return `${n}加载完成:图层组 ${t?.featureGroupCount ?? 0},要素 ${t?.featureCount ?? 0},加载成功 ${t?.loadSuccess === !0 ? "是" : "否"}`;
3175
+ }
3176
+ async function Go(e = {}) {
3177
+ let t = await ho(e), n = Bo(t?.regions?.items ?? []), r = Array.isArray(t?.lane?.items) ? t.lane.items : [];
3178
+ return {
3179
+ result: t,
3180
+ regionItems: n,
3181
+ laneItems: Vo(t?.lane?.items ?? []),
3182
+ lanePathItems: r,
3183
+ summary: Uo(t)
3184
+ };
3185
+ }
3186
+ async function Ko(e, t = {}) {
3187
+ let n = Io[e];
3188
+ if (!n) throw Error(`未找到手动加载类型: ${e}`);
3189
+ let r = await n(t);
3190
+ return {
3191
+ result: r,
3192
+ loaded: r?.loadSuccess === !0,
3193
+ summary: Wo(e, r)
3194
+ };
3195
+ }
3196
+ //#endregion
3197
+ //#region packages/lr-map-viewer/src/components/Lr3dViewer.vue
3198
+ var qo = { class: "lr3d-viewer" }, Jo = { class: "lr3d-viewer__canvas" }, Yo = ["id"], Xo = { class: "lr3d-workface-panel__header" }, Zo = {
3199
+ key: 0,
3200
+ class: "lr3d-workface-panel__body"
3201
+ }, Qo = { class: "lr3d-workface-panel__meta" }, $o = { class: "lr3d-workface-panel__actions" }, es = { class: "lr3d-workface-panel__status" }, ts = {
3202
+ key: 0,
3203
+ class: "lr3d-workface-panel__empty"
3204
+ }, ns = {
3205
+ key: 1,
3206
+ class: "lr3d-workface-panel__groups"
3207
+ }, rs = { class: "lr3d-workface-panel__group-title" }, is = { class: "lr3d-workface-panel__list" }, as = { class: "lr3d-workface-panel__label" }, os = ["checked", "onChange"], ss = {
3208
+ key: 0,
3209
+ class: "lr3d-workface-panel__group"
3210
+ }, cs = { class: "lr3d-workface-panel__group-title" }, ls = { class: "lr3d-workface-panel__list" }, us = { class: "lr3d-workface-panel__label" }, ds = ["checked", "onChange"], fs = {
3211
+ key: 1,
3212
+ class: "lr3d-viewer__placeholder"
3213
+ }, ps = {
3214
+ key: 2,
3215
+ class: "lr3d-viewer__placeholder lr3d-viewer__placeholder--error"
3216
+ }, ms = {
3217
+ key: 0,
3218
+ class: "lr3d-debug-panel"
3219
+ }, hs = { class: "lr3d-debug-panel__actions" }, gs = { class: "lr3d-debug-panel__actions" }, _s = ["disabled"], vs = ["disabled"], ys = ["disabled"], bs = ["disabled"], xs = ["disabled"], Ss = ["disabled"], Cs = ["disabled"], ws = { class: "lr3d-debug-panel__tool" }, Ts = { class: "lr3d-debug-panel__log" }, Es = "demo-person", Ds = /* @__PURE__ */ Ao({
3220
+ __name: "Lr3dViewer",
3221
+ props: {
3222
+ config: {
3223
+ type: Object,
3224
+ default: () => ({})
3225
+ },
3226
+ showRegionPanel: {
3227
+ type: Boolean,
3228
+ default: !1
3229
+ },
3230
+ showDebugPanel: {
3231
+ type: Boolean,
3232
+ default: !1
3233
+ }
3234
+ },
3235
+ setup(n, { expose: o }) {
3236
+ let s = n, l = p(Te(s.config)), g = t(() => l.value.scene.containerId), b = p(null), x = p("idle"), S = p("eval_route_gene"), C = p("等待调试操作"), w = p(!1), T = p(!1), E = p(!1), D = p(!1), O = p(!0), k = p(null), ee = p(null), te = p(!1), A = p("等待操作"), ne = p([]), re = p([]), ie = p(null), ae = p(() => {}), j = p(null), M = p({
3237
+ key: "",
3238
+ timestamp: 0
3239
+ }), oe = p({
3240
+ regionAssist: {
3241
+ loading: !1,
3242
+ loaded: !1
3243
+ },
3244
+ coalResvers: {
3245
+ loading: !1,
3246
+ loaded: !1
3247
+ },
3248
+ boundary: {
3249
+ loading: !1,
3250
+ loaded: !1
3251
+ },
3252
+ geology: {
3253
+ loading: !1,
3254
+ loaded: !1
3255
+ },
3256
+ pointSymbol: {
3257
+ loading: !1,
3258
+ loaded: !1
3259
+ },
3260
+ coal: {
3261
+ loading: !1,
3262
+ loaded: !1
3263
+ },
3264
+ geofault: {
3265
+ loading: !1,
3266
+ loaded: !1
3267
+ }
3268
+ }), se = p([]), N = p({}), P = p([]), F = p({}), ce = [
3269
+ "0202030030",
3270
+ "0106020009",
3271
+ "0202030004",
3272
+ "0202030006"
3273
+ ], le = {
3274
+ "0202030030": "工作面",
3275
+ "0106020009": "积水区",
3276
+ "0202030004": "回采工作面",
3277
+ "0202030006": "采空区"
3278
+ };
3279
+ v(() => s.config, (e) => {
3280
+ l.value = Te(e ?? {}), Ce(l.value);
3281
+ }, {
3282
+ deep: !0,
3283
+ immediate: !0
3284
+ });
3285
+ let ue = t(() => se.value), de = t(() => {
3286
+ let e = /* @__PURE__ */ new Map();
3287
+ ue.value.forEach((t) => {
3288
+ let n = t?.featureType || "unknown", r = t?.typeLabel || le[n] || `类型 ${n}`;
3289
+ e.has(n) || e.set(n, {
3290
+ featureType: n,
3291
+ typeLabel: r,
3292
+ items: []
3293
+ }), e.get(n).items.push(t);
3294
+ });
3295
+ let t = Array.from(e.values());
3296
+ return t.sort((e, t) => {
3297
+ let n = ce.indexOf(e.featureType), r = ce.indexOf(t.featureType), i = n === -1 ? 2 ** 53 - 1 : n, a = r === -1 ? 2 ** 53 - 1 : r;
3298
+ return i === a ? e.typeLabel.localeCompare(t.typeLabel, "zh-CN") : i - a;
3299
+ }), t;
3300
+ }), fe = t(() => de.value.length > 0 || P.value.length > 0), pe = t(() => l.value?.dataSource?.type === "cloud" && l.value?.dataSource?.autoLoad === !0), me = t(() => l.value?.dataSource?.cloud?.demoPerson ?? {});
3301
+ t(() => {
3302
+ let e = me.value?.layer;
3303
+ return typeof e == "string" ? e.trim() : "";
3304
+ }), t(() => {
3305
+ let e = me.value?.startPoint, t = Number(e?.x), n = Number(e?.y), r = Number(e?.z);
3306
+ return !Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r) ? null : {
3307
+ x: t,
3308
+ y: n,
3309
+ z: r
3310
+ };
3311
+ });
3312
+ function I(e) {
3313
+ C.value = `${(/* @__PURE__ */ new Date()).toLocaleTimeString()} - ${e}`;
3314
+ }
3315
+ function he(e) {
3316
+ let t = (/* @__PURE__ */ new Date()).toLocaleTimeString();
3317
+ C.value = `${C.value}\n${t} - ${e}`;
3318
+ }
3319
+ function L(e) {
3320
+ return e instanceof Error ? e.message : "未知错误";
3321
+ }
3322
+ function ge(e) {
3323
+ return e == null ? "" : String(e).trim().toLowerCase();
3324
+ }
3325
+ function _e() {
3326
+ if (typeof window > "u" || !window.THREE) throw Error("当前环境缺少 THREE 全局对象");
3327
+ return window.THREE;
3328
+ }
3329
+ function ve() {
3330
+ ja()?.signals?.sceneBackgroundChanged?.dispatch?.("Gradientcolor", null, null, null, null, "#696969", "#696969");
3331
+ }
3332
+ function ye(e) {
3333
+ let t = [], n = e?.userData ?? {}, r = n?.attrs ?? n?.info ?? n ?? {};
3334
+ return [
3335
+ "实体ID",
3336
+ "entityId",
3337
+ "entityID",
3338
+ "id",
3339
+ "FEATUREID",
3340
+ "featureId",
3341
+ "名称",
3342
+ "name",
3343
+ "FEATURENAME",
3344
+ "工作面名称"
3345
+ ].forEach((e) => {
3346
+ let n = r?.[e];
3347
+ n != null && String(n).trim() && t.push(String(n));
3348
+ }), typeof e?.name == "string" && e.name.trim() && t.push(e.name), e?.id !== null && e?.id !== void 0 && t.push(String(e.id)), t.map((e) => ge(e)).filter(Boolean);
3349
+ }
3350
+ function be(...e) {
3351
+ for (let t of e) if (t != null && String(t).trim()) return t;
3352
+ return "";
3353
+ }
3354
+ function xe(e) {
3355
+ let t = {
3356
+ ids: [],
3357
+ names: [],
3358
+ layerNames: [],
3359
+ types: []
3360
+ }, n = e;
3361
+ for (; n;) {
3362
+ let e = n?.userData ?? {}, r = e?.attrs ?? e?.info ?? e ?? {};
3363
+ t.ids.push(e?.entityId, e?.entityID, e?.id, e?.featureId, r?.实体ID, r?.entityId, r?.entityID, r?.id, r?.FEATUREID, r?.featureId, n?.id), t.names.push(e?.name, e?.displayName, r?.名称, r?.name, r?.FEATURENAME, r?.工作面名称, n?.name), t.layerNames.push(e?.layername, e?.layerName, e?.layer, r?.layername, r?.layerName, r?.layer, n?.layername, n?.layerName), t.types.push(e?.type, r?.FEATURETYPE, r?.type, n?.type), n = n.parent ?? null;
3364
+ }
3365
+ return t;
3366
+ }
3367
+ function Se(e, t = "selection") {
3368
+ let n = e?.object ?? e ?? null;
3369
+ if (!n || typeof n != "object") return null;
3370
+ let r = xe(n), i = n?.position, a = i && Number.isFinite(Number(i.x)) ? {
3371
+ x: Number(i.x),
3372
+ y: Number(i.y),
3373
+ z: Number(i.z)
3374
+ } : null;
3375
+ return {
3376
+ id: be(...r.ids) || null,
3377
+ name: be(...r.names) || null,
3378
+ layerName: be(...r.layerNames) || null,
3379
+ position: a
3380
+ };
3381
+ }
3382
+ function we(e) {
3383
+ let t = ie.value;
3384
+ if (typeof t != "function" || !e) return !1;
3385
+ let n = [
3386
+ e?.id ?? "",
3387
+ e?.name ?? "",
3388
+ e?.layerName ?? "",
3389
+ e?.type ?? ""
3390
+ ].join("::"), r = Date.now();
3391
+ return n && n === M.value.key && r - M.value.timestamp < 150 ? !1 : (M.value = {
3392
+ key: n,
3393
+ timestamp: r
3394
+ }, t(e), !0);
3395
+ }
3396
+ function Ee() {
3397
+ ae.value?.();
3398
+ let e = [];
3399
+ if (b.value) {
3400
+ let t = () => {
3401
+ j.value !== null && window.clearTimeout(j.value), j.value = window.setTimeout(() => {
3402
+ j.value = null;
3403
+ try {
3404
+ let e = Se(ja()?.selected, "click-fallback");
3405
+ we(e) && I(`模型信息查询触发:${e?.name || e?.id || "未命名对象"}`);
3406
+ } catch {}
3407
+ }, 0);
3408
+ };
3409
+ b.value.addEventListener("click", t, !0), e.push(() => b.value?.removeEventListener("click", t, !0));
3410
+ }
3411
+ ae.value = () => {
3412
+ e.forEach((e) => e()), j.value !== null && (window.clearTimeout(j.value), j.value = null);
3413
+ };
3414
+ }
3415
+ function De(e) {
3416
+ if (e != null && typeof e != "function") throw Error("模型信息查询回调必须是函数");
3417
+ return ie.value = typeof e == "function" ? e : null, ie.value !== null;
3418
+ }
3419
+ function Oe(e) {
3420
+ return [ge(e?.entityId), ge(e?.featureId)].filter(Boolean);
3421
+ }
3422
+ function ke(e) {
3423
+ se.value = Array.isArray(e) ? e : [];
3424
+ let t = {};
3425
+ se.value.forEach((e) => {
3426
+ t[e.key] = !0;
3427
+ }), N.value = t;
3428
+ }
3429
+ function Ae(e) {
3430
+ P.value = Array.isArray(e) ? e : [];
3431
+ let t = {};
3432
+ P.value.forEach((e) => {
3433
+ t[e.key] = !0;
3434
+ }), F.value = t;
3435
+ }
3436
+ function je(e) {
3437
+ ne.value = Array.isArray(e) ? e : [];
3438
+ }
3439
+ function Me() {
3440
+ k.value !== null && (window.clearInterval(k.value), k.value = null), te.value = !1, ee.value = null, re.value = [], ne.value = [];
3441
+ try {
3442
+ let e = ja();
3443
+ e?.PersonModuleInterfaces?.stopPerLoop?.(), e?.PersonModuleInterfaces?.deletePersonAll?.(Es);
3444
+ } catch {}
3445
+ }
3446
+ function Ne(e, t, n) {
3447
+ let r = Number(e), i = Number(t), a = Number(n);
3448
+ return !Number.isFinite(r) || !Number.isFinite(i) || !Number.isFinite(a) ? null : {
3449
+ x: r,
3450
+ y: i,
3451
+ z: a
3452
+ };
3453
+ }
3454
+ function Pe(e, t) {
3455
+ try {
3456
+ let n = _e(), r = Aa(), i = ja(), a = r?.basePoint ?? {
3457
+ x: 0,
3458
+ y: 0,
3459
+ z: 0
3460
+ }, o = new n.Vector3(Number(e.x) - Number(a.x ?? 0), Number(e.y) - Number(a.y ?? 0), Number(e.z) - Number(a.z ?? 0));
3461
+ if (he(`准备聚焦${t}:绝对坐标(${Number(e.x).toFixed(2)}, ${Number(e.y).toFixed(2)}, ${Number(e.z).toFixed(2)}),basePoint(${Number(a.x ?? 0).toFixed(2)}, ${Number(a.y ?? 0).toFixed(2)}, ${Number(a.z ?? 0).toFixed(2)}),相对坐标(${o.x.toFixed(2)}, ${o.y.toFixed(2)}, ${o.z.toFixed(2)})`), A.value = `准备聚焦:${Number(e.x).toFixed(2)}, ${Number(e.y).toFixed(2)}, ${Number(e.z).toFixed(2)}`, typeof i?.focusPoint != "function") throw Error("editor.focusPoint 不存在");
3462
+ return i.focusPoint(null, o), A.value = "聚焦接口已调用", I(`已聚焦到${t}:${Number(e.x).toFixed(2)}, ${Number(e.y).toFixed(2)}, ${Number(e.z).toFixed(2)}`), !0;
3463
+ } catch (e) {
3464
+ return A.value = `聚焦失败:${L(e)}`, I(`聚焦${t}失败:${L(e)}`), !1;
3465
+ }
3466
+ }
3467
+ function Fe(e, t, n) {
3468
+ A.value = `点击移动视角:${(/* @__PURE__ */ new Date()).toLocaleTimeString()}`;
3469
+ let r = Ne(e, t, n);
3470
+ return r ? Pe(r, "目标点") : (A.value = "移动视角失败:坐标参数无效", I("移动视角失败:坐标参数无效"), !1);
3471
+ }
3472
+ function Ie(e) {
3473
+ if (!Array.isArray(e) || e.length === 0) return;
3474
+ let t = ja()?.manager?.modules?.lanemodulen;
3475
+ if (!t || typeof t.toggleLaneMaterial != "function") throw Error("当前三维实例缺少巷道材质切换接口");
3476
+ [...new Set(e.map((e) => typeof e?.layerName == "string" ? e.layerName.trim() : "").filter(Boolean))].forEach((e) => {
3477
+ t.toggleLaneMaterial(e, "glass");
3478
+ }), (Array.isArray(t.typeGroup?.children) ? t.typeGroup.children : []).forEach((e) => {
3479
+ (Array.isArray(e?.children) ? e.children : []).forEach((e) => {
3480
+ (Array.isArray(e?.material) ? e.material : [e?.material]).forEach((e) => {
3481
+ e && (e.transparent = !0, e.opacity = .4, e.needsUpdate = !0);
3482
+ });
3483
+ });
3484
+ }), Fa();
3485
+ }
3486
+ function Le(e, t) {
3487
+ let n = (ja()?.manager?.modules?.regionmodule)?.getLayerGroup?.(e.layerName);
3488
+ if (!n) return !1;
3489
+ let r = new Set(Oe(e)), i = !1;
3490
+ return n.traverse?.((e) => {
3491
+ ye(e).some((e) => r.has(e)) && (e.visible = t, i = !0);
3492
+ }), !i && Array.isArray(n.children) && n.children.forEach((e) => {
3493
+ ye(e).some((e) => r.has(e)) && (e.visible = t, i = !0);
3494
+ }), i;
3495
+ }
3496
+ function Re(e, t) {
3497
+ if (!Array.isArray(e) || e.length === 0) return 0;
3498
+ let n = { ...N.value }, r = 0;
3499
+ return e.forEach((e) => {
3500
+ Le(e, t) && (n[e.key] = t, r += 1);
3501
+ }), N.value = n, D.value = t, Fa(), r;
3502
+ }
3503
+ function ze(e, t) {
3504
+ let n = t?.target, r = n?.checked === !0, i = N.value[e.key] !== !1;
3505
+ N.value = {
3506
+ ...N.value,
3507
+ [e.key]: r
3508
+ };
3509
+ try {
3510
+ if (!Le(e, r)) throw Error(`未找到区域对象: ${e.displayName}`);
3511
+ Fa(), D.value = ue.value.some((e) => N.value[e.key] !== !1), I(`${e.typeLabel || "区域"}显隐已更新:${e.displayName} -> ${r ? "显示" : "隐藏"}`);
3512
+ } catch (t) {
3513
+ N.value = {
3514
+ ...N.value,
3515
+ [e.key]: i
3516
+ }, n && (n.checked = i), I(`区域要素显隐更新失败:${L(t)}`);
3517
+ }
3518
+ }
3519
+ function Be(e, t) {
3520
+ let n = (ja()?.manager?.modules?.lanemodulen)?.getLayerGroup?.(e.layerName);
3521
+ if (!n) return !1;
3522
+ t && (n.visible = !0);
3523
+ let r = new Set(Oe(e));
3524
+ [ge(e?.featureName), ge(e?.displayName)].filter(Boolean).forEach((e) => r.add(e));
3525
+ let i = !1;
3526
+ return n.traverse?.((e) => {
3527
+ ye(e).some((e) => r.has(e)) && (e.visible = t, i = !0);
3528
+ }), !i && Array.isArray(n.children) && n.children.forEach((e) => {
3529
+ ye(e).some((e) => r.has(e)) && (e.visible = t, i = !0);
3530
+ }), i ||= (n.visible = t, !0), i;
3531
+ }
3532
+ function Ve(e, t) {
3533
+ let n = t?.target, r = n?.checked === !0, i = F.value[e.key] !== !1;
3534
+ F.value = {
3535
+ ...F.value,
3536
+ [e.key]: r
3537
+ };
3538
+ try {
3539
+ if (!Be(e, r)) throw Error(`未找到巷道对象: ${e.displayName}`);
3540
+ Fa(), O.value = P.value.some((e) => F.value[e.key] !== !1), I(`巷道显隐已更新:${e.displayName} -> ${r ? "显示" : "隐藏"}`);
3541
+ } catch (t) {
3542
+ F.value = {
3543
+ ...F.value,
3544
+ [e.key]: i
3545
+ }, n && (n.checked = i), I(`巷道显隐更新失败:${L(t)}`);
3546
+ }
3547
+ }
3548
+ function He(e, t) {
3549
+ if (!Array.isArray(e) || e.length === 0) return 0;
3550
+ let n = ja()?.manager?.modules?.lanemodulen, r = [...new Set(e.map((e) => typeof e?.layerName == "string" ? e.layerName.trim() : "").filter(Boolean))], i = 0;
3551
+ r.forEach((e) => {
3552
+ let r = n?.getLayerGroup?.(e);
3553
+ r && (r.traverse?.((e) => {
3554
+ e !== r && (e.visible = t, i += 1);
3555
+ }), r.visible = !0);
3556
+ });
3557
+ let a = { ...F.value };
3558
+ return e.forEach((e) => {
3559
+ a[e.key] = t;
3560
+ }), F.value = a, O.value = t, Fa(), i;
3561
+ }
3562
+ function Ue() {
3563
+ if (P.value.length === 0) {
3564
+ A.value = "当前没有可切换的巷道";
3565
+ return;
3566
+ }
3567
+ let e = !O.value, t = He(P.value, e);
3568
+ A.value = e ? `已显示 ${t} 条巷道` : `已隐藏 ${t} 条巷道`, I(e ? `已批量显示巷道:${t} 条` : `已批量隐藏巷道:${t} 条`);
3569
+ }
3570
+ function We() {
3571
+ if (ue.value.length === 0) {
3572
+ A.value = "当前没有可切换的区域";
3573
+ return;
3574
+ }
3575
+ let e = !D.value, t = Re(ue.value, e);
3576
+ A.value = e ? `已显示 ${t} 个区域` : `已隐藏 ${t} 个区域,当前仅保留巷道显示`, I(e ? `已批量显示区域:${t} 个` : `已批量隐藏区域:${t} 个,保留巷道显示`);
3577
+ }
3578
+ async function Ge(e) {
3579
+ let t = Fo[e] ?? e, n = oe.value[e];
3580
+ if (!n) throw Error(`未找到手动加载类型: ${e}`);
3581
+ if (n.loading) {
3582
+ I(`${t}正在加载,已忽略重复请求`);
3583
+ return;
3584
+ }
3585
+ if (n.loaded) {
3586
+ I(`${t}已加载,跳过重复请求`);
3587
+ return;
3588
+ }
3589
+ n.loading = !0, I(`开始手动加载:${t}`);
3590
+ try {
3591
+ let t = await Ko(e);
3592
+ n.loaded = t.loaded, I(t.summary);
3593
+ } finally {
3594
+ n.loading = !1;
3595
+ }
3596
+ }
3597
+ async function Ke({ trigger: e = "manual", forceReload: t = !1 } = {}) {
3598
+ if (w.value) return I("数据源正在加载,已忽略重复请求"), null;
3599
+ if (T.value && !t) return I("区域要素与巷道已加载,跳过重复请求"), null;
3600
+ let n = e === "auto" ? "自动" : "手动";
3601
+ w.value = !0, I(`${n}加载开始:区域要素与巷道`);
3602
+ try {
3603
+ let e = await Go();
3604
+ return T.value = !0, ke(e.regionItems), Ae(e.laneItems), je(e.lanePathItems), Ie(e.laneItems), Me(), D.value = e.regionItems.length > 0, O.value = e.laneItems.length > 0, I(`${n}加载完成:${e.summary}`), e.result;
3605
+ } finally {
3606
+ w.value = !1;
3607
+ }
3608
+ }
3609
+ async function R(e) {
3610
+ try {
3611
+ if (e === "resize") {
3612
+ Na(), I("已触发场景 resize");
3613
+ return;
3614
+ }
3615
+ if (e === "editor") {
3616
+ I(`editor 可用,当前 selected id: ${ja()?.selected?.id ?? "none"}`);
3617
+ return;
3618
+ }
3619
+ if (e === "interfaces") {
3620
+ let e = Ma();
3621
+ I(`interfaces 可用,activingTool 字段存在: ${Object.prototype.hasOwnProperty.call(e, "activingTool")}`);
3622
+ return;
3623
+ }
3624
+ if (e === "refresh") {
3625
+ Fa(), I("已触发 sceneGraphChanged 刷新");
3626
+ return;
3627
+ }
3628
+ if (e === "tool") {
3629
+ let e = S.value.trim();
3630
+ if (!e) throw Error("请先输入工具名称");
3631
+ await Ia(e), I(`activeTool 调用完成: ${e}`);
3632
+ return;
3633
+ }
3634
+ if (e === "datasource") {
3635
+ await Ke({ trigger: "manual" });
3636
+ return;
3637
+ }
3638
+ if (e === "regionAssist") {
3639
+ await Ge("regionAssist");
3640
+ return;
3641
+ }
3642
+ if (e === "coalResvers") {
3643
+ await Ge("coalResvers");
3644
+ return;
3645
+ }
3646
+ if (e === "boundary") {
3647
+ await Ge("boundary");
3648
+ return;
3649
+ }
3650
+ if (e === "geology") {
3651
+ await Ge("geology");
3652
+ return;
3653
+ }
3654
+ if (e === "pointSymbol") {
3655
+ await Ge("pointSymbol");
3656
+ return;
3657
+ }
3658
+ if (e === "coal") {
3659
+ await Ge("coal");
3660
+ return;
3661
+ }
3662
+ if (e === "geofault") {
3663
+ await Ge("geofault");
3664
+ return;
3665
+ }
3666
+ } catch (e) {
3667
+ I(`调试失败: ${L(e)}`);
3668
+ }
3669
+ }
3670
+ async function qe() {
3671
+ if (!b.value) {
3672
+ x.value = "error", I(`场景初始化失败:未找到场景容器 ${g.value}`);
3673
+ return;
3674
+ }
3675
+ x.value = "loading", I("开始加载龙软 GIS SDK 脚本");
3676
+ try {
3677
+ x.value = "initializing", I("SDK 脚本加载完成,开始创建 EditorApp 实例");
3678
+ let { globalName: e } = await Oa(b.value);
3679
+ if (ve(), Ee(), x.value = "ready", I(`场景初始化成功,检测到全局对象:${e}`), pe.value) try {
3680
+ await Ke({ trigger: "auto" });
3681
+ } catch (e) {
3682
+ I(`场景初始化成功,自动加载失败:${L(e)}`);
3683
+ }
3684
+ else I("场景初始化成功,未开启自动云数据加载");
3685
+ } catch (e) {
3686
+ x.value = "error", I(`场景初始化失败:${L(e)}`), ke([]), Ae([]), je([]), Da(b.value);
3687
+ }
3688
+ }
3689
+ return u(() => {
3690
+ qe();
3691
+ }), d(() => {
3692
+ ae.value?.(), Me(), ke([]), Ae([]), je([]), Da(b.value);
3693
+ }), o({
3694
+ moveView: Fe,
3695
+ registerModelInfoQuery: De
3696
+ }), (t, n) => (f(), i("section", qo, [a("div", { class: c(["lr3d-viewer__stage", { "lr3d-viewer__stage--with-debug": s.showDebugPanel }]) }, [a("div", Jo, [
3697
+ a("div", {
3698
+ id: g.value,
3699
+ ref_key: "viewerHost",
3700
+ ref: b,
3701
+ class: "lr3d-viewer__host"
3702
+ }, null, 8, Yo),
3703
+ s.showRegionPanel && x.value === "ready" ? (f(), i("aside", {
3704
+ key: 0,
3705
+ class: c(["lr3d-workface-panel", { "lr3d-workface-panel--expanded": E.value }])
3706
+ }, [a("div", Xo, [n[15] ||= a("h3", { class: "lr3d-workface-panel__title" }, "图层控制", -1), a("button", {
3707
+ type: "button",
3708
+ class: "lr3d-workface-panel__toggle",
3709
+ onClick: n[0] ||= (e) => E.value = !E.value
3710
+ }, h(E.value ? "收起" : "展开"), 1)]), E.value ? (f(), i("div", Zo, [
3711
+ a("p", Qo, " 当前区域要素数量:" + h(ue.value.length) + ",巷道数量:" + h(P.value.length), 1),
3712
+ a("div", $o, [a("button", {
3713
+ type: "button",
3714
+ class: "lr3d-workface-panel__action lr3d-workface-panel__action--secondary",
3715
+ onClick: We
3716
+ }, h(D.value ? "隐藏区域" : "显示区域"), 1), a("button", {
3717
+ type: "button",
3718
+ class: "lr3d-workface-panel__action lr3d-workface-panel__action--secondary",
3719
+ onClick: Ue
3720
+ }, h(O.value ? "隐藏巷道" : "显示巷道"), 1)]),
3721
+ a("p", es, h(A.value), 1),
3722
+ fe.value ? (f(), i("div", ns, [(f(!0), i(e, null, m(de.value, (t) => (f(), i("section", {
3723
+ key: t.featureType,
3724
+ class: "lr3d-workface-panel__group"
3725
+ }, [a("h4", rs, h(t.typeLabel) + "(" + h(t.items.length) + ") ", 1), a("ul", is, [(f(!0), i(e, null, m(t.items, (e) => (f(), i("li", {
3726
+ key: e.key,
3727
+ class: "lr3d-workface-panel__item"
3728
+ }, [a("label", as, [a("input", {
3729
+ type: "checkbox",
3730
+ checked: N.value[e.key] !== !1,
3731
+ onChange: (t) => ze(e, t)
3732
+ }, null, 40, os), a("span", null, h(e.displayName), 1)])]))), 128))])]))), 128)), P.value.length > 0 ? (f(), i("section", ss, [a("h4", cs, " 巷道(" + h(P.value.length) + ") ", 1), a("ul", ls, [(f(!0), i(e, null, m(P.value, (e) => (f(), i("li", {
3733
+ key: e.key,
3734
+ class: "lr3d-workface-panel__item"
3735
+ }, [a("label", us, [a("input", {
3736
+ type: "checkbox",
3737
+ checked: F.value[e.key] !== !1,
3738
+ onChange: (t) => Ve(e, t)
3739
+ }, null, 40, ds), a("span", null, h(e.displayName), 1)])]))), 128))])])) : r("", !0)])) : (f(), i("div", ts, " 暂无可控制的区域要素或巷道 "))
3740
+ ])) : r("", !0)], 2)) : r("", !0),
3741
+ x.value === "idle" || x.value === "loading" ? (f(), i("div", fs, [...n[16] ||= [a("p", null, "正在准备三维场景", -1), a("small", null, "SDK 脚本加载完成后会在当前容器内创建最小场景实例", -1)]])) : r("", !0),
3742
+ x.value === "error" ? (f(), i("div", ps, [...n[17] ||= [a("p", null, "最小初始化未完成", -1), a("small", null, "请根据状态信息检查 SDK 依赖或资源路径", -1)]])) : r("", !0)
3743
+ ]), s.showDebugPanel ? (f(), i("section", ms, [
3744
+ n[19] ||= a("div", { class: "lr3d-debug-panel__header" }, [a("h2", null, "基础调试面板"), a("p", null, "用于验证基础 API 是否可调用")], -1),
3745
+ a("div", hs, [
3746
+ a("button", {
3747
+ type: "button",
3748
+ onClick: n[1] ||= (e) => R("resize")
3749
+ }, "Resize 场景"),
3750
+ a("button", {
3751
+ type: "button",
3752
+ onClick: n[2] ||= (e) => R("refresh")
3753
+ }, "测试刷新(sceneGraphChanged)"),
3754
+ a("button", {
3755
+ type: "button",
3756
+ onClick: n[3] ||= (e) => R("editor")
3757
+ }, "检查 editor"),
3758
+ a("button", {
3759
+ type: "button",
3760
+ onClick: n[4] ||= (e) => R("interfaces")
3761
+ }, "检查 interfaces"),
3762
+ a("button", {
3763
+ type: "button",
3764
+ onClick: n[5] ||= (e) => R("datasource")
3765
+ }, "手动重试加载区域+巷道")
3766
+ ]),
3767
+ n[20] ||= a("div", { class: "lr3d-debug-panel__header" }, [a("h2", null, "手动加载其他类型"), a("p", null, "默认不自动加载,按按钮逐项触发")], -1),
3768
+ a("div", gs, [
3769
+ a("button", {
3770
+ type: "button",
3771
+ disabled: oe.value.regionAssist.loading,
3772
+ onClick: n[6] ||= (e) => R("regionAssist")
3773
+ }, " 加载掘进辅助 ", 8, _s),
3774
+ a("button", {
3775
+ type: "button",
3776
+ disabled: oe.value.coalResvers.loading,
3777
+ onClick: n[7] ||= (e) => R("coalResvers")
3778
+ }, " 加载储量块段 ", 8, vs),
3779
+ a("button", {
3780
+ type: "button",
3781
+ disabled: oe.value.boundary.loading,
3782
+ onClick: n[8] ||= (e) => R("boundary")
3783
+ }, " 加载矿井边界 ", 8, ys),
3784
+ a("button", {
3785
+ type: "button",
3786
+ disabled: oe.value.geology.loading,
3787
+ onClick: n[9] ||= (e) => R("geology")
3788
+ }, " 加载地质体 ", 8, bs),
3789
+ a("button", {
3790
+ type: "button",
3791
+ disabled: oe.value.pointSymbol.loading,
3792
+ onClick: n[10] ||= (e) => R("pointSymbol")
3793
+ }, " 加载点符号 ", 8, xs),
3794
+ a("button", {
3795
+ type: "button",
3796
+ disabled: oe.value.coal.loading,
3797
+ onClick: n[11] ||= (e) => R("coal")
3798
+ }, " 加载煤层 ", 8, Ss),
3799
+ a("button", {
3800
+ type: "button",
3801
+ disabled: oe.value.geofault.loading,
3802
+ onClick: n[12] ||= (e) => R("geofault")
3803
+ }, " 加载断层 ", 8, Cs)
3804
+ ]),
3805
+ a("div", ws, [
3806
+ n[18] ||= a("label", { for: "lr3d-tool-input" }, "activeTool 名称", -1),
3807
+ y(a("input", {
3808
+ id: "lr3d-tool-input",
3809
+ "onUpdate:modelValue": n[13] ||= (e) => S.value = e,
3810
+ type: "text",
3811
+ placeholder: "输入工具名称,例如 eval_route_gene"
3812
+ }, null, 512), [[_, S.value]]),
3813
+ a("button", {
3814
+ type: "button",
3815
+ onClick: n[14] ||= (e) => R("tool")
3816
+ }, "执行 activeTool")
3817
+ ]),
3818
+ a("pre", Ts, h(C.value), 1)
3819
+ ])) : r("", !0)], 2)]));
3820
+ }
3821
+ }, [["__scopeId", "data-v-4ea74269"]]), Os = { class: "lr-map-viewer" }, ks = { class: "lr-map-viewer__stack" }, As = /* @__PURE__ */ Ao({
3822
+ __name: "LrMapViewer",
3823
+ props: {
3824
+ mode: {
3825
+ type: String,
3826
+ default: "3d"
3827
+ },
3828
+ modes: {
3829
+ type: Array,
3830
+ default: () => ["3d"]
3831
+ },
3832
+ showRegionPanel: {
3833
+ type: Boolean,
3834
+ default: !1
3835
+ },
3836
+ showDebugPanel: {
3837
+ type: Boolean,
3838
+ default: !1
3839
+ },
3840
+ map2dConfig: {
3841
+ type: Object,
3842
+ default: () => ({})
3843
+ },
3844
+ lr3dConfig: {
3845
+ type: Object,
3846
+ default: () => ({})
3847
+ }
3848
+ },
3849
+ emits: ["mode-change"],
3850
+ setup(e, { expose: n, emit: u }) {
3851
+ let d = e, m = u, h = p(Oo(d.mode, d.modes)), g = p(null), _ = p(null), y = t(() => Do(d.modes)), b = t(() => y.value.includes("2d")), x = t(() => y.value.includes("3d")), S = t(() => j(d.map2dConfig)), C = t(() => Te(d.lr3dConfig));
3852
+ function w(e, t) {
3853
+ m("mode-change", {
3854
+ mode: e,
3855
+ previousMode: t,
3856
+ supportedModes: y.value
3857
+ });
3858
+ }
3859
+ function T(e) {
3860
+ return {
3861
+ "lr-map-viewer__layer--active": h.value === e,
3862
+ "lr-map-viewer__layer--inactive": h.value !== e
3863
+ };
3864
+ }
3865
+ async function E(e) {
3866
+ if (await s(), e === "2d") {
3867
+ le();
3868
+ return;
3869
+ }
3870
+ e === "3d" && Ta() && Na();
3871
+ }
3872
+ function D(e) {
3873
+ let t = Oo(e, y.value);
3874
+ if (t === h.value) return h.value;
3875
+ let n = h.value;
3876
+ return h.value = t, w(t, n), t;
3877
+ }
3878
+ function O() {
3879
+ return h.value;
3880
+ }
3881
+ function k() {
3882
+ return F();
3883
+ }
3884
+ function ee() {
3885
+ return Ta();
3886
+ }
3887
+ function te() {
3888
+ return h.value === "2d" ? k() : ee();
3889
+ }
3890
+ function A() {
3891
+ return h.value === "2d" ? le() : Ta() ? (Na(), !0) : !1;
3892
+ }
3893
+ function ne() {
3894
+ return h.value !== "3d" || !Ta() ? !1 : (Fa(), !0);
3895
+ }
3896
+ function re(e, t, n) {
3897
+ return !g.value || typeof g.value.moveView != "function" ? !1 : g.value.moveView(e, t, n);
3898
+ }
3899
+ function ie(e) {
3900
+ if (e != null && typeof e != "function") throw Error("模型信息查询回调必须是函数");
3901
+ return _.value = typeof e == "function" ? e : null, g.value && typeof g.value.registerModelInfoQuery == "function" ? g.value.registerModelInfoQuery(_.value) : !1;
3902
+ }
3903
+ return v(() => [d.mode, d.modes], ([e, t]) => {
3904
+ let n = Oo(e, t);
3905
+ if (n === h.value) return;
3906
+ let r = h.value;
3907
+ h.value = n, w(n, r);
3908
+ }, { deep: !0 }), v(h, (e) => {
3909
+ E(e);
3910
+ }, { immediate: !0 }), v(g, (e) => {
3911
+ e && typeof e.registerModelInfoQuery == "function" && _.value && e.registerModelInfoQuery(_.value);
3912
+ }, { immediate: !0 }), l(() => {
3913
+ ce(), Da();
3914
+ }), n({
3915
+ switchMode: D,
3916
+ getCurrentMode: O,
3917
+ getCurrentEngine: te,
3918
+ get2dInstance: k,
3919
+ get3dInstance: ee,
3920
+ resize: A,
3921
+ refreshScene: ne,
3922
+ moveView: re,
3923
+ registerModelInfoQuery: ie
3924
+ }), (t, n) => (f(), i("section", Os, [a("div", ks, [b.value ? (f(), i("div", {
3925
+ key: 0,
3926
+ class: c(["lr-map-viewer__layer", T("2d")])
3927
+ }, [o(Po, { config: S.value }, null, 8, ["config"])], 2)) : r("", !0), x.value ? (f(), i("div", {
3928
+ key: 1,
3929
+ class: c(["lr-map-viewer__layer", T("3d")])
3930
+ }, [o(Ds, {
3931
+ ref_key: "lr3dViewerRef",
3932
+ ref: g,
3933
+ config: C.value,
3934
+ "show-region-panel": e.showRegionPanel,
3935
+ "show-debug-panel": e.showDebugPanel
3936
+ }, null, 8, [
3937
+ "config",
3938
+ "show-region-panel",
3939
+ "show-debug-panel"
3940
+ ])], 2)) : r("", !0)])]));
3941
+ }
3942
+ }, [["__scopeId", "data-v-bb4c5174"]]), js = "LrMapViewer";
3943
+ function Ms(e) {
3944
+ !e || typeof e.component != "function" || e.component(js, As);
3945
+ }
3946
+ var Ns = { install: Ms };
3947
+ //#endregion
3948
+ export { Po as Lr2dViewer, Ds as Lr3dViewer, As as LrMapViewer, ko as canSwitchMapMode, P as createLr2dAdapter, Oa as createLr3dInstance, Ns as default, ce as destroyLr2dAdapter, Da as destroyLr3dInstance, A as getDefaultLr2dConfig, _e as getDefaultLr3dConfig, F as getLr2dAdapterInstance, ne as getLr2dConfig, re as getLr2dMapOptions, Aa as getLr3dApp, ve as getLr3dConfig, ja as getLr3dEditor, xa as getLr3dGlobal, Ta as getLr3dInstance, Ma as getLr3dInterfaces, k as getMissingLr2dOptionFields, O as getRequiredLr2dOptionFields, To as getSupportedMapModes, Fo as gisManualLoadLabels, Ms as install, ee as isLr2dConfigReady, Go as loadGisCloudDataSource, Ko as loadGisManualData, vo as loadLr3dBoundaryData, ho as loadLr3dCloudDataSource, xo as loadLr3dCoalData, _o as loadLr3dCoalResversData, So as loadLr3dGeoFaultData, yo as loadLr3dGeologyData, bo as loadLr3dPointSymbolData, go as loadLr3dRegionAssistData, Sa as loadLr3dSdk, Eo as normalizeMapMode, Fa as refreshLr3dSceneGraph, ae as resetLr2dConfig, we as resetLr3dConfig, le as resizeLr2dAdapter, Na as resizeLr3d, Ea as resizeLr3dInstance, Oo as resolveInitialMapMode, j as resolveLr2dConfig, Te as resolveLr3dConfig, Do as resolveMapModes, Ia as runLr3dTool, ie as setLr2dConfig, Ce as setLr3dConfig };