aviation-chart 0.1.20 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  import jt from "maplibre-gl";
2
- var vt, Rt, Ot;
3
- function Mt(o, a) {
2
+ var vt, Rt, Pt;
3
+ function Ot(o, r) {
4
4
  if (!vt)
5
- vt = a;
5
+ vt = r;
6
6
  else if (!Rt)
7
- Rt = a;
7
+ Rt = r;
8
8
  else {
9
- var u = "var sharedChunk = {}; (" + vt + ")(sharedChunk); (" + Rt + ")(sharedChunk);", w = {};
10
- vt(w), Ot = a(w), typeof window < "u" && (Ot.workerUrl = window.URL.createObjectURL(
11
- new Blob([u], { type: "text/javascript" })
9
+ var d = "var sharedChunk = {}; (" + vt + ")(sharedChunk); (" + Rt + ")(sharedChunk);", y = {};
10
+ vt(y), Pt = r(y), typeof window < "u" && (Pt.workerUrl = window.URL.createObjectURL(
11
+ new Blob([d], { type: "text/javascript" })
12
12
  ));
13
13
  }
14
14
  }
15
- Mt(["exports"], function(o) {
16
- class a {
15
+ Ot(["exports"], function(o) {
16
+ class r {
17
17
  constructor(e, i) {
18
18
  this.start = e, this.end = i, this.points = [], this.append = this.append.bind(this), this.prepend = this.prepend.bind(this);
19
19
  }
@@ -36,7 +36,7 @@ Mt(["exports"], function(o) {
36
36
  return this.points;
37
37
  }
38
38
  }
39
- const u = [
39
+ const d = [
40
40
  [],
41
41
  [
42
42
  [
@@ -132,66 +132,66 @@ Mt(["exports"], function(o) {
132
132
  ],
133
133
  []
134
134
  ];
135
- function w(t, e, i, n) {
135
+ function y(t, e, i, n) {
136
136
  return e = e * 2 + n[0], i = i * 2 + n[1], e + i * (t + 1) * 2;
137
137
  }
138
- function x(t, e, i) {
138
+ function g(t, e, i) {
139
139
  return (e - t) / (i - t);
140
140
  }
141
- function g(t, e, i = 4096, n = 1) {
141
+ function w(t, e, i = 4096, n = 1) {
142
142
  if (!t)
143
143
  return {};
144
- const r = i / (e.width - 1);
144
+ const a = i / (e.width - 1);
145
145
  let l, s, c, m, f, h;
146
- const d = {}, _ = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map();
147
- function P(O, I, R) {
148
- O[0] === 0 ? R(r * (h - 1), r * (f - x(c, I, l))) : O[0] === 2 ? R(r * h, r * (f - x(m, I, s))) : O[1] === 0 ? R(r * (h - x(s, I, l)), r * (f - 1)) : R(r * (h - x(m, I, c)), r * f);
146
+ const u = {}, _ = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map();
147
+ function M(P, I, R) {
148
+ P[0] === 0 ? R(a * (h - 1), a * (f - g(c, I, l))) : P[0] === 2 ? R(a * h, a * (f - g(m, I, s))) : P[1] === 0 ? R(a * (h - g(s, I, l)), a * (f - 1)) : R(a * (h - g(m, I, c)), a * f);
149
149
  }
150
150
  for (f = 1 - n; f < e.height + n; f++) {
151
151
  s = e.get(0, f - 1), m = e.get(0, f);
152
- let O = Math.min(s, m), I = Math.max(s, m);
152
+ let P = Math.min(s, m), I = Math.max(s, m);
153
153
  for (h = 1 - n; h < e.width + n; h++) {
154
154
  l = s, c = m, s = e.get(h, f - 1), m = e.get(h, f);
155
- const R = O, V = I;
156
- if (O = Math.min(s, m), I = Math.max(s, m), isNaN(l) || isNaN(s) || isNaN(m) || isNaN(c))
155
+ const R = P, V = I;
156
+ if (P = Math.min(s, m), I = Math.max(s, m), isNaN(l) || isNaN(s) || isNaN(m) || isNaN(c))
157
157
  continue;
158
- const dt = Math.min(R, O), pt = Math.max(V, I), X = Math.ceil(dt / t) * t, ot = Math.floor(pt / t) * t;
158
+ const dt = Math.min(R, P), pt = Math.max(V, I), X = Math.ceil(dt / t) * t, ot = Math.floor(pt / t) * t;
159
159
  for (let C = X; C <= ot; C += t) {
160
- const At = l > C, q = s > C, nt = c > C, _t = m > C;
161
- for (const bt of u[(At ? 8 : 0) | (q ? 4 : 0) | (_t ? 2 : 0) | (nt ? 1 : 0)]) {
162
- let Y = _.get(C);
163
- Y || _.set(C, Y = /* @__PURE__ */ new Map());
160
+ const kt = l > C, q = s > C, nt = c > C, _t = m > C;
161
+ for (const bt of d[(kt ? 8 : 0) | (q ? 4 : 0) | (_t ? 2 : 0) | (nt ? 1 : 0)]) {
162
+ let H = _.get(C);
163
+ H || _.set(C, H = /* @__PURE__ */ new Map());
164
164
  let lt = F.get(C);
165
165
  lt || F.set(C, lt = /* @__PURE__ */ new Map());
166
- const kt = bt[0], zt = bt[1], yt = w(e.width, h, f, kt), st = w(e.width, h, f, zt);
167
- let L, Tt;
168
- if (L = lt.get(yt))
169
- if (lt.delete(yt), Tt = Y.get(st))
170
- if (Y.delete(st), L === Tt) {
171
- if (P(zt, C, L.append), !L.isEmpty()) {
172
- let rt = d[C];
173
- rt || (d[C] = rt = []), rt.push(L.lineString());
166
+ const At = bt[0], zt = bt[1], yt = y(e.width, h, f, At), st = y(e.width, h, f, zt);
167
+ let G, Tt;
168
+ if (G = lt.get(yt))
169
+ if (lt.delete(yt), Tt = H.get(st))
170
+ if (H.delete(st), G === Tt) {
171
+ if (M(zt, C, G.append), !G.isEmpty()) {
172
+ let rt = u[C];
173
+ rt || (u[C] = rt = []), rt.push(G.lineString());
174
174
  }
175
175
  } else
176
- L.appendFragment(Tt), lt.set(L.end = Tt.end, L);
176
+ G.appendFragment(Tt), lt.set(G.end = Tt.end, G);
177
177
  else
178
- P(zt, C, L.append), lt.set(L.end = st, L);
179
- else if (L = Y.get(st))
180
- Y.delete(st), P(kt, C, L.prepend), Y.set(L.start = yt, L);
178
+ M(zt, C, G.append), lt.set(G.end = st, G);
179
+ else if (G = H.get(st))
180
+ H.delete(st), M(At, C, G.prepend), H.set(G.start = yt, G);
181
181
  else {
182
- const rt = new a(yt, st);
183
- P(kt, C, rt.append), P(zt, C, rt.append), Y.set(yt, rt), lt.set(st, rt);
182
+ const rt = new r(yt, st);
183
+ M(At, C, rt.append), M(zt, C, rt.append), H.set(yt, rt), lt.set(st, rt);
184
184
  }
185
185
  }
186
186
  }
187
187
  }
188
188
  }
189
- for (const [O, I] of _.entries()) {
189
+ for (const [P, I] of _.entries()) {
190
190
  let R = null;
191
191
  for (const V of I.values())
192
- V.isEmpty() || (R == null && (R = d[O] || (d[O] = [])), R.push(V.lineString()));
192
+ V.isEmpty() || (R == null && (R = u[P] || (u[P] = [])), R.push(V.lineString()));
193
193
  }
194
- return d;
194
+ return u;
195
195
  }
196
196
  function b(t) {
197
197
  const e = Object.entries(t);
@@ -200,40 +200,40 @@ Mt(["exports"], function(o) {
200
200
  function S(t) {
201
201
  return b(t).map(([e, i]) => [e, ...typeof i == "number" ? [i] : i].join("*")).join("~");
202
202
  }
203
- function M(t) {
203
+ function O(t) {
204
204
  return Object.fromEntries(t.split("~").map((e) => e.split("*").map(Number)).map(([e, ...i]) => [e, i]));
205
205
  }
206
- function k({ thresholds: t, ...e }) {
206
+ function A({ thresholds: t, ...e }) {
207
207
  return b({ thresholds: S(t), ...e }).map(([i, n]) => `${encodeURIComponent(i)}=${encodeURIComponent(n)}`).join("&");
208
208
  }
209
209
  function z(t) {
210
210
  return Object.fromEntries(t.replace(/^.*\?/, "").split("&").map((e) => {
211
211
  const i = e.split("=").map(decodeURIComponent), n = i[0];
212
- let r = i[1];
212
+ let a = i[1];
213
213
  switch (n) {
214
214
  case "thresholds":
215
- r = M(r);
215
+ a = O(a);
216
216
  break;
217
217
  case "extent":
218
218
  case "multiplier":
219
219
  case "overzoom":
220
220
  case "buffer":
221
- r = Number(r);
221
+ a = Number(a);
222
222
  }
223
- return [n, r];
223
+ return [n, a];
224
224
  }));
225
225
  }
226
226
  function p(t) {
227
227
  return b(t).map(([e, i]) => `${encodeURIComponent(e)}=${encodeURIComponent(i)}`).join(",");
228
228
  }
229
- function y(t, e) {
229
+ function x(t, e) {
230
230
  const { thresholds: i, ...n } = t;
231
- let r = [], l = -1 / 0;
231
+ let a = [], l = -1 / 0;
232
232
  return Object.entries(i).forEach(([s, c]) => {
233
233
  const m = Number(s);
234
- m <= e && m > l && (l = m, r = typeof c == "number" ? [c] : c);
234
+ m <= e && m > l && (l = m, a = typeof c == "number" ? [c] : c);
235
235
  }), {
236
- levels: r,
236
+ levels: a,
237
237
  ...n
238
238
  };
239
239
  }
@@ -243,11 +243,11 @@ Mt(["exports"], function(o) {
243
243
  }
244
244
  function D(t, e) {
245
245
  return t.then(({ data: i, ...n }) => {
246
- let r = i;
247
- return e && (r = new Float32Array(i.length), r.set(i)), { ...n, data: r, transferrables: [r.buffer] };
246
+ let a = i;
247
+ return e && (a = new Float32Array(i.length), a.set(i)), { ...n, data: a, transferrables: [a.buffer] };
248
248
  });
249
249
  }
250
- function A(t) {
250
+ function k(t) {
251
251
  return t.then(({ arrayBuffer: e }) => {
252
252
  const i = T(e);
253
253
  return {
@@ -261,17 +261,17 @@ Mt(["exports"], function(o) {
261
261
  return j == null && (j = typeof OffscreenCanvas < "u" && new OffscreenCanvas(1, 1).getContext("2d") && typeof createImageBitmap == "function"), j || !1;
262
262
  }
263
263
  let tt = null;
264
- function H() {
264
+ function Y() {
265
265
  if (tt == null && (tt = !1, ct() && typeof VideoFrame < "u")) {
266
266
  const i = new OffscreenCanvas(5, 5).getContext("2d", { willReadFrequently: !0 });
267
267
  if (i) {
268
- for (let r = 0; r < 5 * 5; r++) {
269
- const l = r * 4;
270
- i.fillStyle = `rgb(${l},${l + 1},${l + 2})`, i.fillRect(r % 5, Math.floor(r / 5), 1, 1);
268
+ for (let a = 0; a < 5 * 5; a++) {
269
+ const l = a * 4;
270
+ i.fillStyle = `rgb(${l},${l + 1},${l + 2})`, i.fillRect(a % 5, Math.floor(a / 5), 1, 1);
271
271
  }
272
272
  const n = i.getImageData(0, 0, 5, 5).data;
273
- for (let r = 0; r < 5 * 5 * 4; r++)
274
- if (r % 4 !== 3 && n[r] !== r) {
273
+ for (let a = 0; a < 5 * 5 * 4; a++)
274
+ if (a % 4 !== 3 && n[a] !== a) {
275
275
  tt = !0;
276
276
  break;
277
277
  }
@@ -279,21 +279,21 @@ Mt(["exports"], function(o) {
279
279
  }
280
280
  return tt || !1;
281
281
  }
282
- function G(t, e, i) {
282
+ function L(t, e, i) {
283
283
  let n = () => {
284
284
  };
285
- const r = setTimeout(() => {
285
+ const a = setTimeout(() => {
286
286
  n(new Error("timed out")), i == null || i.abort();
287
287
  }, t);
288
288
  U(i, () => {
289
- n(new Error("aborted")), clearTimeout(r);
289
+ n(new Error("aborted")), clearTimeout(a);
290
290
  });
291
291
  const l = new Promise((s, c) => {
292
292
  n = c;
293
293
  });
294
294
  return Promise.race([
295
295
  l,
296
- e.finally(() => clearTimeout(r))
296
+ e.finally(() => clearTimeout(a))
297
297
  ]);
298
298
  }
299
299
  function U(t, e) {
@@ -306,7 +306,7 @@ Mt(["exports"], function(o) {
306
306
  let E = 0;
307
307
  class Z {
308
308
  constructor(e = 100) {
309
- this.size = () => this.items.size, this.get = (i, n, r) => {
309
+ this.size = () => this.items.size, this.get = (i, n, a) => {
310
310
  let l = this.items.get(i);
311
311
  if (l)
312
312
  l.lastUsed = ++E, l.waiting++;
@@ -321,7 +321,7 @@ Mt(["exports"], function(o) {
321
321
  }
322
322
  const s = this.items, c = l.item.then((f) => f, (f) => (s.delete(i), Promise.reject(f)));
323
323
  let m = !1;
324
- return U(r, () => {
324
+ return U(a, () => {
325
325
  var f;
326
326
  l && l.abortController && !m && (m = !0, --l.waiting <= 0 && ((f = l.abortController) === null || f === void 0 || f.abort(), s.delete(i)));
327
327
  }), c;
@@ -330,8 +330,8 @@ Mt(["exports"], function(o) {
330
330
  prune() {
331
331
  if (this.items.size > this.maxSize) {
332
332
  let e, i = 1 / 0;
333
- this.items.forEach((n, r) => {
334
- n.lastUsed < i && (i = n.lastUsed, e = r);
333
+ this.items.forEach((n, a) => {
334
+ n.lastUsed < i && (i = n.lastUsed, e = a);
335
335
  }), typeof e < "u" && this.items.delete(e);
336
336
  }
337
337
  }
@@ -344,24 +344,24 @@ Mt(["exports"], function(o) {
344
344
  function W(t, e) {
345
345
  return K || (K = new OffscreenCanvas(t.width, t.height), et = K.getContext("2d", {
346
346
  willReadFrequently: !0
347
- })), Lt(t, e, K, et);
347
+ })), Gt(t, e, K, et);
348
348
  }
349
349
  async function xt(t, e, i) {
350
- var n, r, l;
350
+ var n, a, l;
351
351
  const s = await createImageBitmap(t);
352
352
  if (B(i))
353
353
  return null;
354
354
  const c = new VideoFrame(s, { timestamp: 0 });
355
355
  try {
356
- if (!(((n = c == null ? void 0 : c.format) === null || n === void 0 ? void 0 : n.startsWith("BGR")) || ((r = c == null ? void 0 : c.format) === null || r === void 0 ? void 0 : r.startsWith("RGB"))))
356
+ if (!(((n = c == null ? void 0 : c.format) === null || n === void 0 ? void 0 : n.startsWith("BGR")) || ((a = c == null ? void 0 : c.format) === null || a === void 0 ? void 0 : a.startsWith("RGB"))))
357
357
  throw new Error(`Unrecognized format: ${c == null ? void 0 : c.format}`);
358
- const f = (l = c == null ? void 0 : c.format) === null || l === void 0 ? void 0 : l.startsWith("BGR"), h = c.allocationSize(), d = new Uint8ClampedArray(h);
359
- if (await c.copyTo(d), f)
360
- for (let _ = 0; _ < d.length; _ += 4) {
361
- const F = d[_];
362
- d[_] = d[_ + 2], d[_ + 2] = F;
358
+ const f = (l = c == null ? void 0 : c.format) === null || l === void 0 ? void 0 : l.startsWith("BGR"), h = c.allocationSize(), u = new Uint8ClampedArray(h);
359
+ if (await c.copyTo(u), f)
360
+ for (let _ = 0; _ < u.length; _ += 4) {
361
+ const F = u[_];
362
+ u[_] = u[_ + 2], u[_ + 2] = F;
363
363
  }
364
- return Dt(s.width, s.height, e, d);
364
+ return Dt(s.width, s.height, e, u);
365
365
  } catch {
366
366
  return B(i) ? null : W(s, e);
367
367
  } finally {
@@ -374,12 +374,12 @@ Mt(["exports"], function(o) {
374
374
  }));
375
375
  const n = new Image();
376
376
  U(i, () => n.src = "");
377
- const r = await new Promise((l, s) => {
377
+ const a = await new Promise((l, s) => {
378
378
  n.onload = () => {
379
379
  B(i) || l(n), URL.revokeObjectURL(n.src), n.onload = null;
380
380
  }, n.onerror = () => s(new Error("Could not load image.")), n.src = t.size ? URL.createObjectURL(t) : "";
381
381
  });
382
- return Lt(r, e, N, it);
382
+ return Gt(a, e, N, it);
383
383
  }
384
384
  function te(t, e, i) {
385
385
  return self.actor.send("decodeImage", [], i, void 0, t, e);
@@ -391,18 +391,18 @@ Mt(["exports"], function(o) {
391
391
  self instanceof WorkerGlobalScope
392
392
  );
393
393
  }
394
- const It = H() ? xt : ct() ? at : ee() ? te : qt;
395
- function Lt(t, e, i, n) {
394
+ const It = Y() ? xt : ct() ? at : ee() ? te : qt;
395
+ function Gt(t, e, i, n) {
396
396
  if (i.width = t.width, i.height = t.height, !n)
397
397
  throw new Error("failed to get context");
398
398
  n.drawImage(t, 0, 0, t.width, t.height);
399
- const r = n.getImageData(0, 0, t.width, t.height).data;
400
- return Dt(t.width, t.height, e, r);
399
+ const a = n.getImageData(0, 0, t.width, t.height).data;
400
+ return Dt(t.width, t.height, e, a);
401
401
  }
402
402
  function Dt(t, e, i, n) {
403
- const r = i === "mapbox" ? (s, c, m) => -1e4 + (s * 256 * 256 + c * 256 + m) * 0.1 : (s, c, m) => s * 256 + c + m / 256 - 32768, l = new Float32Array(t * e);
403
+ const a = i === "mapbox" ? (s, c, m) => -1e4 + (s * 256 * 256 + c * 256 + m) * 0.1 : (s, c, m) => s * 256 + c + m / 256 - 32768, l = new Float32Array(t * e);
404
404
  for (let s = 0; s < n.length; s += 4)
405
- l[s / 4] = r(n[s], n[s + 1], n[s + 2]);
405
+ l[s / 4] = a(n[s], n[s + 1], n[s + 2]);
406
406
  return { width: t, height: e, data: l };
407
407
  }
408
408
  const ie = -12e3, oe = 9e3;
@@ -411,40 +411,40 @@ Mt(["exports"], function(o) {
411
411
  }
412
412
  class $ {
413
413
  constructor(e, i, n) {
414
- this.split = (r, l, s) => {
415
- if (r === 0)
414
+ this.split = (a, l, s) => {
415
+ if (a === 0)
416
416
  return this;
417
- const c = 1 << r, m = l * this.width / c, f = s * this.height / c;
418
- return new $(this.width / c, this.height / c, (h, d) => this.get(h + m, d + f));
419
- }, this.subsamplePixelCenters = (r) => {
417
+ const c = 1 << a, m = l * this.width / c, f = s * this.height / c;
418
+ return new $(this.width / c, this.height / c, (h, u) => this.get(h + m, u + f));
419
+ }, this.subsamplePixelCenters = (a) => {
420
420
  const l = (m, f, h) => isNaN(m) ? f : isNaN(f) ? m : m + (f - m) * h;
421
- if (r <= 1)
421
+ if (a <= 1)
422
422
  return this;
423
- const s = 0.5 - 1 / (2 * r), c = (m, f) => {
424
- const h = m / r - s, d = f / r - s, _ = Math.floor(h), F = Math.floor(d), P = this.get(_, F), O = this.get(_ + 1, F), I = this.get(_, F + 1), R = this.get(_ + 1, F + 1), V = h - _, dt = d - F, pt = l(P, O, V), X = l(I, R, V);
423
+ const s = 0.5 - 1 / (2 * a), c = (m, f) => {
424
+ const h = m / a - s, u = f / a - s, _ = Math.floor(h), F = Math.floor(u), M = this.get(_, F), P = this.get(_ + 1, F), I = this.get(_, F + 1), R = this.get(_ + 1, F + 1), V = h - _, dt = u - F, pt = l(M, P, V), X = l(I, R, V);
425
425
  return l(pt, X, dt);
426
426
  };
427
- return new $(this.width * r, this.height * r, c);
428
- }, this.averagePixelCentersToGrid = (r = 1) => new $(this.width + 1, this.height + 1, (l, s) => {
427
+ return new $(this.width * a, this.height * a, c);
428
+ }, this.averagePixelCentersToGrid = (a = 1) => new $(this.width + 1, this.height + 1, (l, s) => {
429
429
  let c = 0, m = 0, f = 0;
430
- for (let h = l - r; h < l + r; h++)
431
- for (let d = s - r; d < s + r; d++)
432
- isNaN(f = this.get(h, d)) || (m++, c += f);
430
+ for (let h = l - a; h < l + a; h++)
431
+ for (let u = s - a; u < s + a; u++)
432
+ isNaN(f = this.get(h, u)) || (m++, c += f);
433
433
  return m === 0 ? NaN : c / m;
434
- }), this.scaleElevation = (r) => r === 1 ? this : new $(this.width, this.height, (l, s) => this.get(l, s) * r), this.materialize = (r = 2) => {
435
- const l = this.width + 2 * r, s = new Float32Array(l * (this.height + 2 * r));
434
+ }), this.scaleElevation = (a) => a === 1 ? this : new $(this.width, this.height, (l, s) => this.get(l, s) * a), this.materialize = (a = 2) => {
435
+ const l = this.width + 2 * a, s = new Float32Array(l * (this.height + 2 * a));
436
436
  let c = 0;
437
- for (let m = -r; m < this.height + r; m++)
438
- for (let f = -r; f < this.width + r; f++)
437
+ for (let m = -a; m < this.height + a; m++)
438
+ for (let f = -a; f < this.width + a; f++)
439
439
  s[c++] = this.get(f, m);
440
- return new $(this.width, this.height, (m, f) => s[(f + r) * l + m + r]);
440
+ return new $(this.width, this.height, (m, f) => s[(f + a) * l + m + a]);
441
441
  }, this.get = n, this.width = e, this.height = i;
442
442
  }
443
443
  /** Construct a height tile from raw DEM pixel values */
444
444
  static fromRawDem(e) {
445
445
  return new $(e.width, e.height, (i, n) => {
446
- const r = e.data[n * e.width + i];
447
- return re(r) ? r : NaN;
446
+ const a = e.data[n * e.width + i];
447
+ return re(a) ? a : NaN;
448
448
  });
449
449
  }
450
450
  /**
@@ -459,10 +459,10 @@ Mt(["exports"], function(o) {
459
459
  const i = e[4];
460
460
  if (!i)
461
461
  return;
462
- const n = i.width, r = i.height;
463
- return new $(n, r, (l, s) => {
462
+ const n = i.width, a = i.height;
463
+ return new $(n, a, (l, s) => {
464
464
  let c = 0;
465
- s < 0 ? s += r : s < r ? c += 3 : (s -= r, c += 6), l < 0 ? l += n : l < n ? c += 1 : (l -= n, c += 2);
465
+ s < 0 ? s += a : s < a ? c += 3 : (s -= a, c += 6), l < 0 ? l += n : l < n ? c += 1 : (l -= n, c += 2);
466
466
  const m = e[c];
467
467
  return m ? m.get(l, s) : NaN;
468
468
  });
@@ -473,11 +473,11 @@ Mt(["exports"], function(o) {
473
473
  }
474
474
  var Et = {};
475
475
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
476
- Et.read = function(t, e, i, n, r) {
477
- var l, s, c = r * 8 - n - 1, m = (1 << c) - 1, f = m >> 1, h = -7, d = i ? r - 1 : 0, _ = i ? -1 : 1, F = t[e + d];
478
- for (d += _, l = F & (1 << -h) - 1, F >>= -h, h += c; h > 0; l = l * 256 + t[e + d], d += _, h -= 8)
476
+ Et.read = function(t, e, i, n, a) {
477
+ var l, s, c = a * 8 - n - 1, m = (1 << c) - 1, f = m >> 1, h = -7, u = i ? a - 1 : 0, _ = i ? -1 : 1, F = t[e + u];
478
+ for (u += _, l = F & (1 << -h) - 1, F >>= -h, h += c; h > 0; l = l * 256 + t[e + u], u += _, h -= 8)
479
479
  ;
480
- for (s = l & (1 << -h) - 1, l >>= -h, h += n; h > 0; s = s * 256 + t[e + d], d += _, h -= 8)
480
+ for (s = l & (1 << -h) - 1, l >>= -h, h += n; h > 0; s = s * 256 + t[e + u], u += _, h -= 8)
481
481
  ;
482
482
  if (l === 0)
483
483
  l = 1 - f;
@@ -487,20 +487,20 @@ Mt(["exports"], function(o) {
487
487
  s = s + Math.pow(2, n), l = l - f;
488
488
  }
489
489
  return (F ? -1 : 1) * s * Math.pow(2, l - n);
490
- }, Et.write = function(t, e, i, n, r, l) {
491
- var s, c, m, f = l * 8 - r - 1, h = (1 << f) - 1, d = h >> 1, _ = r === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, F = n ? 0 : l - 1, P = n ? 1 : -1, O = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
492
- for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (c = isNaN(e) ? 1 : 0, s = h) : (s = Math.floor(Math.log(e) / Math.LN2), e * (m = Math.pow(2, -s)) < 1 && (s--, m *= 2), s + d >= 1 ? e += _ / m : e += _ * Math.pow(2, 1 - d), e * m >= 2 && (s++, m /= 2), s + d >= h ? (c = 0, s = h) : s + d >= 1 ? (c = (e * m - 1) * Math.pow(2, r), s = s + d) : (c = e * Math.pow(2, d - 1) * Math.pow(2, r), s = 0)); r >= 8; t[i + F] = c & 255, F += P, c /= 256, r -= 8)
490
+ }, Et.write = function(t, e, i, n, a, l) {
491
+ var s, c, m, f = l * 8 - a - 1, h = (1 << f) - 1, u = h >> 1, _ = a === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, F = n ? 0 : l - 1, M = n ? 1 : -1, P = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
492
+ for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (c = isNaN(e) ? 1 : 0, s = h) : (s = Math.floor(Math.log(e) / Math.LN2), e * (m = Math.pow(2, -s)) < 1 && (s--, m *= 2), s + u >= 1 ? e += _ / m : e += _ * Math.pow(2, 1 - u), e * m >= 2 && (s++, m /= 2), s + u >= h ? (c = 0, s = h) : s + u >= 1 ? (c = (e * m - 1) * Math.pow(2, a), s = s + u) : (c = e * Math.pow(2, u - 1) * Math.pow(2, a), s = 0)); a >= 8; t[i + F] = c & 255, F += M, c /= 256, a -= 8)
493
493
  ;
494
- for (s = s << r | c, f += r; f > 0; t[i + F] = s & 255, F += P, s /= 256, f -= 8)
494
+ for (s = s << a | c, f += a; f > 0; t[i + F] = s & 255, F += M, s /= 256, f -= 8)
495
495
  ;
496
- t[i + F - P] |= O * 128;
496
+ t[i + F - M] |= P * 128;
497
497
  };
498
498
  var ne = v, gt = Et;
499
499
  function v(t) {
500
500
  this.buf = ArrayBuffer.isView && ArrayBuffer.isView(t) ? t : new Uint8Array(t || 0), this.pos = 0, this.type = 0, this.length = this.buf.length;
501
501
  }
502
502
  v.Varint = 0, v.Fixed64 = 1, v.Bytes = 2, v.Fixed32 = 5;
503
- var Ft = 65536 * 65536, Gt = 1 / Ft, le = 12, Bt = typeof TextDecoder > "u" ? null : new TextDecoder("utf8");
503
+ var Ft = 65536 * 65536, Lt = 1 / Ft, le = 12, Bt = typeof TextDecoder > "u" ? null : new TextDecoder("utf8");
504
504
  v.prototype = {
505
505
  destroy: function() {
506
506
  this.buf = null;
@@ -508,8 +508,8 @@ Mt(["exports"], function(o) {
508
508
  // === READING =================================================================
509
509
  readFields: function(t, e, i) {
510
510
  for (i = i || this.length; this.pos < i; ) {
511
- var n = this.readVarint(), r = n >> 3, l = this.pos;
512
- this.type = n & 7, t(r, e, this), this.pos === l && this.skip(n);
511
+ var n = this.readVarint(), a = n >> 3, l = this.pos;
512
+ this.type = n & 7, t(a, e, this), this.pos === l && this.skip(n);
513
513
  }
514
514
  return e;
515
515
  },
@@ -648,10 +648,10 @@ Mt(["exports"], function(o) {
648
648
  this.realloc(4), ft(this.buf, t, this.pos), this.pos += 4;
649
649
  },
650
650
  writeFixed64: function(t) {
651
- this.realloc(8), ft(this.buf, t & -1, this.pos), ft(this.buf, Math.floor(t * Gt), this.pos + 4), this.pos += 8;
651
+ this.realloc(8), ft(this.buf, t & -1, this.pos), ft(this.buf, Math.floor(t * Lt), this.pos + 4), this.pos += 8;
652
652
  },
653
653
  writeSFixed64: function(t) {
654
- this.realloc(8), ft(this.buf, t & -1, this.pos), ft(this.buf, Math.floor(t * Gt), this.pos + 4), this.pos += 8;
654
+ this.realloc(8), ft(this.buf, t & -1, this.pos), ft(this.buf, Math.floor(t * Lt), this.pos + 4), this.pos += 8;
655
655
  },
656
656
  writeVarint: function(t) {
657
657
  if (t = +t || 0, t > 268435455 || t < 0) {
@@ -756,8 +756,8 @@ Mt(["exports"], function(o) {
756
756
  }
757
757
  };
758
758
  function se(t, e, i) {
759
- var n = i.buf, r, l;
760
- if (l = n[i.pos++], r = (l & 112) >> 4, l < 128 || (l = n[i.pos++], r |= (l & 127) << 3, l < 128) || (l = n[i.pos++], r |= (l & 127) << 10, l < 128) || (l = n[i.pos++], r |= (l & 127) << 17, l < 128) || (l = n[i.pos++], r |= (l & 127) << 24, l < 128) || (l = n[i.pos++], r |= (l & 1) << 31, l < 128)) return mt(t, r, e);
759
+ var n = i.buf, a, l;
760
+ if (l = n[i.pos++], a = (l & 112) >> 4, l < 128 || (l = n[i.pos++], a |= (l & 127) << 3, l < 128) || (l = n[i.pos++], a |= (l & 127) << 10, l < 128) || (l = n[i.pos++], a |= (l & 127) << 17, l < 128) || (l = n[i.pos++], a |= (l & 127) << 24, l < 128) || (l = n[i.pos++], a |= (l & 1) << 31, l < 128)) return mt(t, a, e);
761
761
  throw new Error("Expected varint not more than 10 bytes");
762
762
  }
763
763
  function J(t) {
@@ -782,7 +782,7 @@ Mt(["exports"], function(o) {
782
782
  function Xt(t, e, i) {
783
783
  var n = e <= 16383 ? 1 : e <= 2097151 ? 2 : e <= 268435455 ? 3 : Math.floor(Math.log(e) / (Math.LN2 * 7));
784
784
  i.realloc(n);
785
- for (var r = i.pos - 1; r >= t; r--) i.buf[r + n] = i.buf[r];
785
+ for (var a = i.pos - 1; a >= t; a--) i.buf[a + n] = i.buf[a];
786
786
  }
787
787
  function he(t, e) {
788
788
  for (var i = 0; i < t.length; i++) e.writeVarint(t[i]);
@@ -821,11 +821,11 @@ Mt(["exports"], function(o) {
821
821
  return (t[e] | t[e + 1] << 8 | t[e + 2] << 16) + (t[e + 3] << 24);
822
822
  }
823
823
  function be(t, e, i) {
824
- for (var n = "", r = e; r < i; ) {
825
- var l = t[r], s = null, c = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;
826
- if (r + c > i) break;
824
+ for (var n = "", a = e; a < i; ) {
825
+ var l = t[a], s = null, c = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;
826
+ if (a + c > i) break;
827
827
  var m, f, h;
828
- c === 1 ? l < 128 && (s = l) : c === 2 ? (m = t[r + 1], (m & 192) === 128 && (s = (l & 31) << 6 | m & 63, s <= 127 && (s = null))) : c === 3 ? (m = t[r + 1], f = t[r + 2], (m & 192) === 128 && (f & 192) === 128 && (s = (l & 15) << 12 | (m & 63) << 6 | f & 63, (s <= 2047 || s >= 55296 && s <= 57343) && (s = null))) : c === 4 && (m = t[r + 1], f = t[r + 2], h = t[r + 3], (m & 192) === 128 && (f & 192) === 128 && (h & 192) === 128 && (s = (l & 15) << 18 | (m & 63) << 12 | (f & 63) << 6 | h & 63, (s <= 65535 || s >= 1114112) && (s = null))), s === null ? (s = 65533, c = 1) : s > 65535 && (s -= 65536, n += String.fromCharCode(s >>> 10 & 1023 | 55296), s = 56320 | s & 1023), n += String.fromCharCode(s), r += c;
828
+ c === 1 ? l < 128 && (s = l) : c === 2 ? (m = t[a + 1], (m & 192) === 128 && (s = (l & 31) << 6 | m & 63, s <= 127 && (s = null))) : c === 3 ? (m = t[a + 1], f = t[a + 2], (m & 192) === 128 && (f & 192) === 128 && (s = (l & 15) << 12 | (m & 63) << 6 | f & 63, (s <= 2047 || s >= 55296 && s <= 57343) && (s = null))) : c === 4 && (m = t[a + 1], f = t[a + 2], h = t[a + 3], (m & 192) === 128 && (f & 192) === 128 && (h & 192) === 128 && (s = (l & 15) << 18 | (m & 63) << 12 | (f & 63) << 6 | h & 63, (s <= 65535 || s >= 1114112) && (s = null))), s === null ? (s = 65533, c = 1) : s > 65535 && (s -= 65536, n += String.fromCharCode(s >>> 10 & 1023 | 55296), s = 56320 | s & 1023), n += String.fromCharCode(s), a += c;
829
829
  }
830
830
  return n;
831
831
  }
@@ -833,20 +833,20 @@ Mt(["exports"], function(o) {
833
833
  return Bt.decode(t.subarray(e, i));
834
834
  }
835
835
  function Te(t, e, i) {
836
- for (var n = 0, r, l; n < e.length; n++) {
837
- if (r = e.charCodeAt(n), r > 55295 && r < 57344)
836
+ for (var n = 0, a, l; n < e.length; n++) {
837
+ if (a = e.charCodeAt(n), a > 55295 && a < 57344)
838
838
  if (l)
839
- if (r < 56320) {
840
- t[i++] = 239, t[i++] = 191, t[i++] = 189, l = r;
839
+ if (a < 56320) {
840
+ t[i++] = 239, t[i++] = 191, t[i++] = 189, l = a;
841
841
  continue;
842
842
  } else
843
- r = l - 55296 << 10 | r - 56320 | 65536, l = null;
843
+ a = l - 55296 << 10 | a - 56320 | 65536, l = null;
844
844
  else {
845
- r > 56319 || n + 1 === e.length ? (t[i++] = 239, t[i++] = 191, t[i++] = 189) : l = r;
845
+ a > 56319 || n + 1 === e.length ? (t[i++] = 239, t[i++] = 191, t[i++] = 189) : l = a;
846
846
  continue;
847
847
  }
848
848
  else l && (t[i++] = 239, t[i++] = 191, t[i++] = 189, l = null);
849
- r < 128 ? t[i++] = r : (r < 2048 ? t[i++] = r >> 6 | 192 : (r < 65536 ? t[i++] = r >> 12 | 224 : (t[i++] = r >> 18 | 240, t[i++] = r >> 12 & 63 | 128), t[i++] = r >> 6 & 63 | 128), t[i++] = r & 63 | 128);
849
+ a < 128 ? t[i++] = a : (a < 2048 ? t[i++] = a >> 6 | 192 : (a < 65536 ? t[i++] = a >> 12 | 224 : (t[i++] = a >> 18 | 240, t[i++] = a >> 12 & 63 | 128), t[i++] = a >> 6 & 63 | 128), t[i++] = a & 63 | 128);
850
850
  }
851
851
  return i;
852
852
  }
@@ -877,19 +877,19 @@ Mt(["exports"], function(o) {
877
877
  for (const n of i.keys)
878
878
  e.writeStringField(3, n);
879
879
  for (const n of i.values)
880
- e.writeMessage(4, ke, n);
880
+ e.writeMessage(4, Ae, n);
881
881
  }
882
882
  function Fe(t, e) {
883
883
  const i = t.feature;
884
884
  if (!i || !e)
885
885
  throw new Error();
886
- e.writeMessage(2, Se, t), e.writeVarintField(3, i.type), e.writeMessage(4, Ae, i);
886
+ e.writeMessage(2, Se, t), e.writeVarintField(3, i.type), e.writeMessage(4, ke, i);
887
887
  }
888
888
  function Se(t, e) {
889
889
  const i = t.feature;
890
890
  if (!i || !e)
891
891
  throw new Error();
892
- const n = t.keys, r = t.values, l = t.keycache, s = t.valuecache;
892
+ const n = t.keys, a = t.values, l = t.keycache, s = t.valuecache;
893
893
  for (const c in i.properties) {
894
894
  let m = i.properties[c], f = l[c];
895
895
  if (m === null)
@@ -897,9 +897,9 @@ Mt(["exports"], function(o) {
897
897
  typeof f > "u" && (n.push(c), f = n.length - 1, l[c] = f), e.writeVarint(f);
898
898
  const h = typeof m;
899
899
  h !== "string" && h !== "boolean" && h !== "number" && (m = JSON.stringify(m));
900
- const d = `${h}:${m}`;
901
- let _ = s[d];
902
- typeof _ > "u" && (r.push(m), _ = r.length - 1, s[d] = _), e.writeVarint(_);
900
+ const u = `${h}:${m}`;
901
+ let _ = s[u];
902
+ typeof _ > "u" && (a.push(m), _ = a.length - 1, s[u] = _), e.writeVarint(_);
903
903
  }
904
904
  }
905
905
  function St(t, e) {
@@ -908,42 +908,42 @@ Mt(["exports"], function(o) {
908
908
  function Vt(t) {
909
909
  return t << 1 ^ t >> 31;
910
910
  }
911
- function Ae(t, e) {
911
+ function ke(t, e) {
912
912
  if (!e)
913
913
  throw new Error();
914
914
  const i = t.geometry, n = t.type;
915
- let r = 0, l = 0;
915
+ let a = 0, l = 0;
916
916
  for (const s of i) {
917
917
  let c = 1;
918
918
  n === ht.POINT && (c = s.length / 2), e.writeVarint(St(1, c));
919
919
  const m = s.length / 2, f = n === ht.POLYGON ? m - 1 : m;
920
920
  for (let h = 0; h < f; h++) {
921
921
  h === 1 && n !== 1 && e.writeVarint(St(2, f - 1));
922
- const d = s[h * 2] - r, _ = s[h * 2 + 1] - l;
923
- e.writeVarint(Vt(d)), e.writeVarint(Vt(_)), r += d, l += _;
922
+ const u = s[h * 2] - a, _ = s[h * 2 + 1] - l;
923
+ e.writeVarint(Vt(u)), e.writeVarint(Vt(_)), a += u, l += _;
924
924
  }
925
925
  n === ht.POLYGON && e.writeVarint(St(7, 1));
926
926
  }
927
927
  }
928
- function ke(t, e) {
928
+ function Ae(t, e) {
929
929
  if (!e)
930
930
  throw new Error();
931
931
  typeof t == "string" ? e.writeStringField(1, t) : typeof t == "boolean" ? e.writeBooleanField(7, t) : typeof t == "number" && (t % 1 !== 0 ? e.writeDoubleField(3, t) : t < 0 ? e.writeSVarintField(6, t) : e.writeVarintField(5, t));
932
932
  }
933
933
  class Re {
934
- constructor(e, i, n, r, l) {
934
+ constructor(e, i, n, a, l) {
935
935
  this.loaded = Promise.resolve(), this.decodeImage = It, this.fetchAndParseTile = (s, c, m, f, h) => {
936
- const d = this, _ = this.demUrlPattern.replace("{z}", s.toString()).replace("{x}", c.toString()).replace("{y}", m.toString());
937
- return h == null || h.useTile(_), this.parsedCache.get(_, async (F, P) => {
938
- const O = await d.fetchTile(s, c, m, P, h);
939
- if (B(P))
936
+ const u = this, _ = this.demUrlPattern.replace("{z}", s.toString()).replace("{x}", c.toString()).replace("{y}", m.toString());
937
+ return h == null || h.useTile(_), this.parsedCache.get(_, async (F, M) => {
938
+ const P = await u.fetchTile(s, c, m, M, h);
939
+ if (B(M))
940
940
  throw new Error("canceled");
941
- const I = d.decodeImage(O.data, d.encoding, P), R = h == null ? void 0 : h.marker("decode"), V = await I;
941
+ const I = u.decodeImage(P.data, u.encoding, M), R = h == null ? void 0 : h.marker("decode"), V = await I;
942
942
  return R == null || R(), V;
943
943
  }, f);
944
- }, this.tileCache = new Z(i), this.parsedCache = new Z(i), this.contourCache = new Z(i), this.timeoutMs = l, this.demUrlPattern = e, this.encoding = n, this.maxzoom = r;
944
+ }, this.tileCache = new Z(i), this.parsedCache = new Z(i), this.contourCache = new Z(i), this.timeoutMs = l, this.demUrlPattern = e, this.encoding = n, this.maxzoom = a;
945
945
  }
946
- fetchTile(e, i, n, r, l) {
946
+ fetchTile(e, i, n, a, l) {
947
947
  const s = this.demUrlPattern.replace("{z}", e.toString()).replace("{x}", i.toString()).replace("{y}", n.toString());
948
948
  return l == null || l.useTile(s), this.tileCache.get(s, (c, m) => {
949
949
  const f = {
@@ -951,48 +951,48 @@ Mt(["exports"], function(o) {
951
951
  };
952
952
  l == null || l.fetchTile(s);
953
953
  const h = l == null ? void 0 : l.marker("fetch");
954
- return G(this.timeoutMs, fetch(s, f).then(async (d) => {
955
- if (h == null || h(), !d.ok)
956
- throw new Error(`Bad response: ${d.status} for ${s}`);
954
+ return L(this.timeoutMs, fetch(s, f).then(async (u) => {
955
+ if (h == null || h(), !u.ok)
956
+ throw new Error(`Bad response: ${u.status} for ${s}`);
957
957
  return {
958
- data: await d.blob(),
959
- expires: d.headers.get("expires") || void 0,
960
- cacheControl: d.headers.get("cache-control") || void 0
958
+ data: await u.blob(),
959
+ expires: u.headers.get("expires") || void 0,
960
+ cacheControl: u.headers.get("cache-control") || void 0
961
961
  };
962
962
  }), m);
963
- }, r);
963
+ }, a);
964
964
  }
965
- async fetchDem(e, i, n, r, l, s) {
966
- const c = Math.min(e - (r.overzoom || 0), this.maxzoom), m = e - c, f = 1 << m, h = Math.floor(i / f), d = Math.floor(n / f), _ = await this.fetchAndParseTile(c, h, d, l, s);
965
+ async fetchDem(e, i, n, a, l, s) {
966
+ const c = Math.min(e - (a.overzoom || 0), this.maxzoom), m = e - c, f = 1 << m, h = Math.floor(i / f), u = Math.floor(n / f), _ = await this.fetchAndParseTile(c, h, u, l, s);
967
967
  return $.fromRawDem(_).split(m, i % f, n % f);
968
968
  }
969
- fetchContourTile(e, i, n, r, l, s) {
970
- const { levels: c, multiplier: m = 1, buffer: f = 1, extent: h = 4096, contourLayer: d = "contours", elevationKey: _ = "ele", levelKey: F = "level", subsampleBelow: P = 100 } = r;
969
+ fetchContourTile(e, i, n, a, l, s) {
970
+ const { levels: c, multiplier: m = 1, buffer: f = 1, extent: h = 4096, contourLayer: u = "contours", elevationKey: _ = "ele", levelKey: F = "level", subsampleBelow: M = 100 } = a;
971
971
  if (!c || c.length === 0)
972
972
  return Promise.resolve({ arrayBuffer: new ArrayBuffer(0) });
973
- const O = [e, i, n, p(r)].join("/");
974
- return this.contourCache.get(O, async (I, R) => {
973
+ const P = [e, i, n, p(a)].join("/");
974
+ return this.contourCache.get(P, async (I, R) => {
975
975
  const V = 1 << e, dt = [];
976
976
  for (let q = n - 1; q <= n + 1; q++)
977
977
  for (let nt = i - 1; nt <= i + 1; nt++)
978
- dt.push(q < 0 || q >= V ? void 0 : this.fetchDem(e, (nt + V) % V, q, r, R, s));
978
+ dt.push(q < 0 || q >= V ? void 0 : this.fetchDem(e, (nt + V) % V, q, a, R, s));
979
979
  const pt = await Promise.all(dt);
980
980
  let X = $.combineNeighbors(pt);
981
981
  if (!X || B(R))
982
982
  return { arrayBuffer: new Uint8Array().buffer };
983
983
  const ot = s == null ? void 0 : s.marker("isoline");
984
- if (X.width >= P)
984
+ if (X.width >= M)
985
985
  X = X.materialize(2);
986
986
  else
987
- for (; X.width < P; )
987
+ for (; X.width < M; )
988
988
  X = X.subsamplePixelCenters(2).materialize(2);
989
989
  X = X.averagePixelCentersToGrid().scaleElevation(m).materialize(1);
990
- const C = g(c[0], X, h, f);
990
+ const C = w(c[0], X, h, f);
991
991
  ot == null || ot();
992
- const At = De({
992
+ const kt = De({
993
993
  extent: h,
994
994
  layers: {
995
- [d]: {
995
+ [u]: {
996
996
  features: Object.entries(C).map(([q, nt]) => {
997
997
  const _t = Number(q);
998
998
  return {
@@ -1000,26 +1000,26 @@ Mt(["exports"], function(o) {
1000
1000
  geometry: nt,
1001
1001
  properties: {
1002
1002
  [_]: _t,
1003
- [F]: Math.max(...c.map((bt, Y) => _t % bt === 0 ? Y : 0))
1003
+ [F]: Math.max(...c.map((bt, H) => _t % bt === 0 ? H : 0))
1004
1004
  }
1005
1005
  };
1006
1006
  })
1007
1007
  }
1008
1008
  }
1009
1009
  });
1010
- return ot == null || ot(), { arrayBuffer: At.buffer };
1010
+ return ot == null || ot(), { arrayBuffer: kt.buffer };
1011
1011
  }, l);
1012
1012
  }
1013
1013
  }
1014
1014
  const Q = typeof performance < "u" ? performance : void 0, Ce = Q ? Q.timeOrigin || (/* @__PURE__ */ new Date()).getTime() - Q.now() : (/* @__PURE__ */ new Date()).getTime();
1015
- function Pe(t) {
1015
+ function Me(t) {
1016
1016
  var e;
1017
1017
  return JSON.parse(JSON.stringify(((e = Q == null ? void 0 : Q.getEntriesByName) === null || e === void 0 ? void 0 : e.call(Q, t)) || []));
1018
1018
  }
1019
1019
  function Ut() {
1020
1020
  return Q ? Q.now() : (/* @__PURE__ */ new Date()).getTime();
1021
1021
  }
1022
- function Oe(t) {
1022
+ function Pe(t) {
1023
1023
  const e = [];
1024
1024
  for (const i of t)
1025
1025
  e.push(...i);
@@ -1030,9 +1030,9 @@ Mt(["exports"], function(o) {
1030
1030
  this.marks = {}, this.urls = [], this.fetched = [], this.resources = [], this.tilesFetched = 0, this.timeOrigin = Ce, this.finish = (i) => {
1031
1031
  this.markFinish();
1032
1032
  const n = (m) => {
1033
- const f = this.marks[m] || [], h = Math.max(...f.map((_) => Math.max(..._))), d = Math.min(...f.map((_) => Math.min(..._)));
1034
- return Number.isFinite(h) ? h - d : void 0;
1035
- }, r = n("main") || 0, l = n("fetch"), s = n("decode"), c = n("isoline");
1033
+ const f = this.marks[m] || [], h = Math.max(...f.map((_) => Math.max(..._))), u = Math.min(...f.map((_) => Math.min(..._)));
1034
+ return Number.isFinite(h) ? h - u : void 0;
1035
+ }, a = n("main") || 0, l = n("fetch"), s = n("decode"), c = n("isoline");
1036
1036
  return {
1037
1037
  url: i,
1038
1038
  tilesUsed: this.tilesFetched,
@@ -1040,19 +1040,19 @@ Mt(["exports"], function(o) {
1040
1040
  marks: this.marks,
1041
1041
  resources: [
1042
1042
  ...this.resources,
1043
- ...Oe(this.fetched.map(Pe))
1043
+ ...Pe(this.fetched.map(Me))
1044
1044
  ],
1045
- duration: r,
1045
+ duration: a,
1046
1046
  fetch: l,
1047
1047
  decode: s,
1048
1048
  process: c,
1049
- wait: r - (l || 0) - (s || 0) - (c || 0)
1049
+ wait: a - (l || 0) - (s || 0) - (c || 0)
1050
1050
  };
1051
1051
  }, this.error = (i) => ({ ...this.finish(i), error: !0 }), this.marker = (i) => {
1052
1052
  var n;
1053
1053
  this.marks[i] || (this.marks[i] = []);
1054
- const r = [Ut()];
1055
- return (n = this.marks[i]) === null || n === void 0 || n.push(r), () => r.push(Ut());
1054
+ const a = [Ut()];
1055
+ return (n = this.marks[i]) === null || n === void 0 || n.push(a), () => a.push(Ut());
1056
1056
  }, this.useTile = (i) => {
1057
1057
  this.urls.indexOf(i) < 0 && (this.urls.push(i), this.tilesFetched++);
1058
1058
  }, this.fetchTile = (i) => {
@@ -1060,27 +1060,27 @@ Mt(["exports"], function(o) {
1060
1060
  }, this.addAll = (i) => {
1061
1061
  var n;
1062
1062
  this.tilesFetched += i.tilesUsed;
1063
- const r = i.origin - this.timeOrigin;
1063
+ const a = i.origin - this.timeOrigin;
1064
1064
  for (const l in i.marks) {
1065
1065
  const s = l;
1066
- (this.marks[s] || (this.marks[s] = [])).push(...((n = i.marks[s]) === null || n === void 0 ? void 0 : n.map((m) => m.map((f) => f + r))) || []);
1066
+ (this.marks[s] || (this.marks[s] = [])).push(...((n = i.marks[s]) === null || n === void 0 ? void 0 : n.map((m) => m.map((f) => f + a))) || []);
1067
1067
  }
1068
- this.resources.push(...i.resources.map((l) => Ie(l, r)));
1068
+ this.resources.push(...i.resources.map((l) => Ie(l, a)));
1069
1069
  }, this.markFinish = this.marker(e);
1070
1070
  }
1071
1071
  }
1072
- const Me = /(Start$|End$|^start|^end)/;
1072
+ const Oe = /(Start$|End$|^start|^end)/;
1073
1073
  function Ie(t, e) {
1074
1074
  const i = {};
1075
1075
  for (const n in t)
1076
- t[n] !== 0 && Me.test(n) ? i[n] = Number(t[n]) + e : i[n] = t[n];
1076
+ t[n] !== 0 && Oe.test(n) ? i[n] = Number(t[n]) + e : i[n] = t[n];
1077
1077
  return i;
1078
1078
  }
1079
- let Le = 0;
1080
- class Ge {
1079
+ let Ge = 0;
1080
+ class Le {
1081
1081
  constructor(e, i, n = 2e4) {
1082
- this.callbacks = {}, this.cancels = {}, this.dest = e, this.timeoutMs = n, this.dest.onmessage = async ({ data: r }) => {
1083
- const l = r;
1082
+ this.callbacks = {}, this.cancels = {}, this.dest = e, this.timeoutMs = n, this.dest.onmessage = async ({ data: a }) => {
1083
+ const l = a;
1084
1084
  if (l.type === "cancel") {
1085
1085
  const s = this.cancels[l.id];
1086
1086
  delete this.cancels[l.id], s == null || s.abort();
@@ -1096,18 +1096,18 @@ Mt(["exports"], function(o) {
1096
1096
  if (l.id && f) {
1097
1097
  this.cancels[l.id] = m;
1098
1098
  try {
1099
- const d = await f, _ = d == null ? void 0 : d.transferrables;
1099
+ const u = await f, _ = u == null ? void 0 : u.transferrables;
1100
1100
  this.postMessage({
1101
1101
  id: l.id,
1102
1102
  type: "response",
1103
- response: d,
1103
+ response: u,
1104
1104
  timings: s.finish(h)
1105
1105
  }, _);
1106
- } catch (d) {
1106
+ } catch (u) {
1107
1107
  this.postMessage({
1108
1108
  id: l.id,
1109
1109
  type: "response",
1110
- error: (d == null ? void 0 : d.toString()) || "error",
1110
+ error: (u == null ? void 0 : u.toString()) || "error",
1111
1111
  timings: s.finish(h)
1112
1112
  });
1113
1113
  }
@@ -1120,86 +1120,86 @@ Mt(["exports"], function(o) {
1120
1120
  this.dest.postMessage(e, i || []);
1121
1121
  }
1122
1122
  /** Invokes a method by name with a set of arguments in the remote context. */
1123
- send(e, i, n, r, ...l) {
1124
- const s = ++Le, c = new Promise((m, f) => {
1125
- this.postMessage({ id: s, type: "request", name: e, args: l }, i), this.callbacks[s] = (h, d, _) => {
1126
- r == null || r.addAll(_), h ? f(h) : m(d);
1123
+ send(e, i, n, a, ...l) {
1124
+ const s = ++Ge, c = new Promise((m, f) => {
1125
+ this.postMessage({ id: s, type: "request", name: e, args: l }, i), this.callbacks[s] = (h, u, _) => {
1126
+ a == null || a.addAll(_), h ? f(h) : m(u);
1127
1127
  };
1128
1128
  });
1129
1129
  return U(n, () => {
1130
1130
  delete this.callbacks[s], this.postMessage({ id: s, type: "cancel" });
1131
- }), G(this.timeoutMs, c, n);
1131
+ }), L(this.timeoutMs, c, n);
1132
1132
  }
1133
1133
  }
1134
- o.A = Ge, o.H = $, o.L = Re, o.T = Wt, o.a = z, o.b = g, o.c = Dt, o.d = It, o.e = k, o.f = A, o.g = y, o.p = D;
1134
+ o.A = Le, o.H = $, o.L = Re, o.T = Wt, o.a = z, o.b = w, o.c = Dt, o.d = It, o.e = A, o.f = k, o.g = x, o.p = D;
1135
1135
  });
1136
- Mt(["./shared"], function(o) {
1137
- const a = (x) => Promise.reject(new Error(`No manager registered for ${x}`));
1138
- class u {
1136
+ Ot(["./shared"], function(o) {
1137
+ const r = (g) => Promise.reject(new Error(`No manager registered for ${g}`));
1138
+ class d {
1139
1139
  constructor() {
1140
- this.managers = {}, this.init = (g, b) => (this.managers[g.managerId] = new o.L(g.demUrlPattern, g.cacheSize, g.encoding, g.maxzoom, g.timeoutMs), Promise.resolve()), this.fetchTile = (g, b, S, M, k, z) => {
1140
+ this.managers = {}, this.init = (w, b) => (this.managers[w.managerId] = new o.L(w.demUrlPattern, w.cacheSize, w.encoding, w.maxzoom, w.timeoutMs), Promise.resolve()), this.fetchTile = (w, b, S, O, A, z) => {
1141
1141
  var p;
1142
- return ((p = this.managers[g]) === null || p === void 0 ? void 0 : p.fetchTile(b, S, M, k, z)) || a(g);
1143
- }, this.fetchAndParseTile = (g, b, S, M, k, z) => {
1142
+ return ((p = this.managers[w]) === null || p === void 0 ? void 0 : p.fetchTile(b, S, O, A, z)) || r(w);
1143
+ }, this.fetchAndParseTile = (w, b, S, O, A, z) => {
1144
1144
  var p;
1145
- return o.p(((p = this.managers[g]) === null || p === void 0 ? void 0 : p.fetchAndParseTile(b, S, M, k, z)) || a(g), !0);
1146
- }, this.fetchContourTile = (g, b, S, M, k, z, p) => {
1147
- var y;
1148
- return o.f(((y = this.managers[g]) === null || y === void 0 ? void 0 : y.fetchContourTile(b, S, M, k, z, p)) || a(g));
1145
+ return o.p(((p = this.managers[w]) === null || p === void 0 ? void 0 : p.fetchAndParseTile(b, S, O, A, z)) || r(w), !0);
1146
+ }, this.fetchContourTile = (w, b, S, O, A, z, p) => {
1147
+ var x;
1148
+ return o.f(((x = this.managers[w]) === null || x === void 0 ? void 0 : x.fetchContourTile(b, S, O, A, z, p)) || r(w));
1149
1149
  };
1150
1150
  }
1151
1151
  }
1152
- const w = typeof self < "u" ? self : typeof window < "u" ? window : global;
1153
- w.actor = new o.A(w, new u());
1152
+ const y = typeof self < "u" ? self : typeof window < "u" ? window : global;
1153
+ y.actor = new o.A(y, new d());
1154
1154
  });
1155
- Mt(["./shared"], function(o) {
1156
- const a = { workerUrl: "" };
1157
- let u, w = 0;
1158
- class x {
1155
+ Ot(["./shared"], function(o) {
1156
+ const r = { workerUrl: "" };
1157
+ let d, y = 0;
1158
+ class g {
1159
1159
  constructor() {
1160
- this.decodeImage = (y, T, D) => o.p(o.d(y, T, D), !1);
1160
+ this.decodeImage = (x, T, D) => o.p(o.d(x, T, D), !1);
1161
1161
  }
1162
1162
  }
1163
- function g() {
1164
- if (!u) {
1165
- const p = new Worker(a.workerUrl), y = new x();
1166
- u = new o.A(p, y);
1163
+ function w() {
1164
+ if (!d) {
1165
+ const p = new Worker(r.workerUrl), x = new g();
1166
+ d = new o.A(p, x);
1167
1167
  }
1168
- return u;
1168
+ return d;
1169
1169
  }
1170
1170
  class b {
1171
- constructor(y, T, D, A, j, ct) {
1172
- this.fetchTile = (H, G, U, B, E) => this.actor.send("fetchTile", [], B, E, this.managerId, H, G, U), this.fetchAndParseTile = (H, G, U, B, E) => this.actor.send("fetchAndParseTile", [], B, E, this.managerId, H, G, U), this.fetchContourTile = (H, G, U, B, E, Z) => this.actor.send("fetchContourTile", [], E, Z, this.managerId, H, G, U, B);
1173
- const tt = this.managerId = ++w;
1174
- this.actor = ct || g(), this.loaded = this.actor.send("init", [], new AbortController(), void 0, {
1171
+ constructor(x, T, D, k, j, ct) {
1172
+ this.fetchTile = (Y, L, U, B, E) => this.actor.send("fetchTile", [], B, E, this.managerId, Y, L, U), this.fetchAndParseTile = (Y, L, U, B, E) => this.actor.send("fetchAndParseTile", [], B, E, this.managerId, Y, L, U), this.fetchContourTile = (Y, L, U, B, E, Z) => this.actor.send("fetchContourTile", [], E, Z, this.managerId, Y, L, U, B);
1173
+ const tt = this.managerId = ++y;
1174
+ this.actor = ct || w(), this.loaded = this.actor.send("init", [], new AbortController(), void 0, {
1175
1175
  cacheSize: T,
1176
- demUrlPattern: y,
1176
+ demUrlPattern: x,
1177
1177
  encoding: D,
1178
- maxzoom: A,
1178
+ maxzoom: k,
1179
1179
  managerId: tt,
1180
1180
  timeoutMs: j
1181
1181
  });
1182
1182
  }
1183
1183
  }
1184
1184
  Blob.prototype.arrayBuffer || (Blob.prototype.arrayBuffer = function() {
1185
- return new Promise((y, T) => {
1185
+ return new Promise((x, T) => {
1186
1186
  const D = new FileReader();
1187
- D.onload = (A) => {
1187
+ D.onload = (k) => {
1188
1188
  var j;
1189
- return y((j = A.target) === null || j === void 0 ? void 0 : j.result);
1189
+ return x((j = k.target) === null || j === void 0 ? void 0 : j.result);
1190
1190
  }, D.onerror = T, D.readAsArrayBuffer(this);
1191
1191
  });
1192
1192
  });
1193
- const S = (p) => (y, T) => {
1193
+ const S = (p) => (x, T) => {
1194
1194
  if (T instanceof AbortController)
1195
- return p(y, T);
1195
+ return p(x, T);
1196
1196
  {
1197
1197
  const D = new AbortController();
1198
- return p(y, D).then((A) => T(void 0, A.data, A.cacheControl, A.expires), (A) => T(A)), { cancel: () => D.abort() };
1198
+ return p(x, D).then((k) => T(void 0, k.data, k.cacheControl, k.expires), (k) => T(k)), { cancel: () => D.abort() };
1199
1199
  }
1200
- }, M = /* @__PURE__ */ new Set();
1201
- class k {
1202
- constructor({ url: y, cacheSize: T = 100, id: D = "dem", encoding: A = "terrarium", maxzoom: j = 12, worker: ct = !0, timeoutMs: tt = 1e4, actor: H }) {
1200
+ }, O = /* @__PURE__ */ new Set();
1201
+ class A {
1202
+ constructor({ url: x, cacheSize: T = 100, id: D = "dem", encoding: k = "terrarium", maxzoom: j = 12, worker: ct = !0, timeoutMs: tt = 1e4, actor: Y }) {
1203
1203
  this.timingCallbacks = [], this.onTiming = (E) => {
1204
1204
  this.timingCallbacks.push(E);
1205
1205
  }, this.setupMaplibre = (E) => {
@@ -1231,112 +1231,112 @@ Mt(["./shared"], function(o) {
1231
1231
  this.timingCallbacks.forEach((N) => N(et));
1232
1232
  }
1233
1233
  }, this.contourProtocol = S(this.contourProtocolV4), this.sharedDemProtocol = S(this.sharedDemProtocolV4), this.contourProtocolUrl = (E) => `${this.contourProtocolUrlBase}?${o.e(E)}`;
1234
- let G = D, U = 1;
1235
- for (; M.has(G); )
1236
- G = D + U++;
1237
- M.add(G), this.sharedDemProtocolId = `${G}-shared`, this.contourProtocolId = `${G}-contour`, this.sharedDemProtocolUrl = `${this.sharedDemProtocolId}://{z}/{x}/{y}`, this.contourProtocolUrlBase = `${this.contourProtocolId}://{z}/{x}/{y}`;
1234
+ let L = D, U = 1;
1235
+ for (; O.has(L); )
1236
+ L = D + U++;
1237
+ O.add(L), this.sharedDemProtocolId = `${L}-shared`, this.contourProtocolId = `${L}-contour`, this.sharedDemProtocolUrl = `${this.sharedDemProtocolId}://{z}/{x}/{y}`, this.contourProtocolUrlBase = `${this.contourProtocolId}://{z}/{x}/{y}`;
1238
1238
  const B = ct ? b : o.L;
1239
- this.manager = new B(y, T, A, j, tt, H);
1239
+ this.manager = new B(x, T, k, j, tt, Y);
1240
1240
  }
1241
- getDemTile(y, T, D, A) {
1242
- return this.manager.fetchAndParseTile(y, T, D, A || new AbortController());
1241
+ getDemTile(x, T, D, k) {
1242
+ return this.manager.fetchAndParseTile(x, T, D, k || new AbortController());
1243
1243
  }
1244
- parseUrl(y) {
1245
- const [, T, D, A] = /\/\/(\d+)\/(\d+)\/(\d+)/.exec(y) || [];
1246
- return [Number(T), Number(D), Number(A)];
1244
+ parseUrl(x) {
1245
+ const [, T, D, k] = /\/\/(\d+)\/(\d+)\/(\d+)/.exec(x) || [];
1246
+ return [Number(T), Number(D), Number(k)];
1247
1247
  }
1248
1248
  }
1249
1249
  return {
1250
1250
  generateIsolines: o.b,
1251
- DemSource: k,
1251
+ DemSource: A,
1252
1252
  HeightTile: o.H,
1253
1253
  LocalDemManager: o.L,
1254
1254
  decodeParsedImage: o.c,
1255
1255
  set workerUrl(p) {
1256
- a.workerUrl = p;
1256
+ r.workerUrl = p;
1257
1257
  },
1258
1258
  get workerUrl() {
1259
- return a.workerUrl;
1259
+ return r.workerUrl;
1260
1260
  }
1261
1261
  };
1262
1262
  });
1263
- var Be = Ot;
1263
+ var Be = Pt;
1264
1264
  function Xe(o) {
1265
1265
  return o;
1266
1266
  }
1267
1267
  function Ne(o) {
1268
1268
  if (o == null) return Xe;
1269
- var a, u, w = o.scale[0], x = o.scale[1], g = o.translate[0], b = o.translate[1];
1270
- return function(S, M) {
1271
- M || (a = u = 0);
1272
- var k = 2, z = S.length, p = new Array(z);
1273
- for (p[0] = (a += S[0]) * w + g, p[1] = (u += S[1]) * x + b; k < z; ) p[k] = S[k], ++k;
1269
+ var r, d, y = o.scale[0], g = o.scale[1], w = o.translate[0], b = o.translate[1];
1270
+ return function(S, O) {
1271
+ O || (r = d = 0);
1272
+ var A = 2, z = S.length, p = new Array(z);
1273
+ for (p[0] = (r += S[0]) * y + w, p[1] = (d += S[1]) * g + b; A < z; ) p[A] = S[A], ++A;
1274
1274
  return p;
1275
1275
  };
1276
1276
  }
1277
- function Ve(o, a) {
1278
- for (var u, w = o.length, x = w - a; x < --w; ) u = o[x], o[x++] = o[w], o[w] = u;
1277
+ function Ve(o, r) {
1278
+ for (var d, y = o.length, g = y - r; g < --y; ) d = o[g], o[g++] = o[y], o[y] = d;
1279
1279
  }
1280
- function $t(o, a) {
1281
- return typeof a == "string" && (a = o.objects[a]), a.type === "GeometryCollection" ? { type: "FeatureCollection", features: a.geometries.map(function(u) {
1282
- return Kt(o, u);
1283
- }) } : Kt(o, a);
1280
+ function $t(o, r) {
1281
+ return typeof r == "string" && (r = o.objects[r]), r.type === "GeometryCollection" ? { type: "FeatureCollection", features: r.geometries.map(function(d) {
1282
+ return Kt(o, d);
1283
+ }) } : Kt(o, r);
1284
1284
  }
1285
- function Kt(o, a) {
1286
- var u = a.id, w = a.bbox, x = a.properties == null ? {} : a.properties, g = Ue(o, a);
1287
- return u == null && w == null ? { type: "Feature", properties: x, geometry: g } : w == null ? { type: "Feature", id: u, properties: x, geometry: g } : { type: "Feature", id: u, bbox: w, properties: x, geometry: g };
1285
+ function Kt(o, r) {
1286
+ var d = r.id, y = r.bbox, g = r.properties == null ? {} : r.properties, w = Ue(o, r);
1287
+ return d == null && y == null ? { type: "Feature", properties: g, geometry: w } : y == null ? { type: "Feature", id: d, properties: g, geometry: w } : { type: "Feature", id: d, bbox: y, properties: g, geometry: w };
1288
1288
  }
1289
- function Ue(o, a) {
1290
- var u = Ne(o.transform), w = o.arcs;
1291
- function x(z, p) {
1289
+ function Ue(o, r) {
1290
+ var d = Ne(o.transform), y = o.arcs;
1291
+ function g(z, p) {
1292
1292
  p.length && p.pop();
1293
- for (var y = w[z < 0 ? ~z : z], T = 0, D = y.length; T < D; ++T)
1294
- p.push(u(y[T], T));
1293
+ for (var x = y[z < 0 ? ~z : z], T = 0, D = x.length; T < D; ++T)
1294
+ p.push(d(x[T], T));
1295
1295
  z < 0 && Ve(p, D);
1296
1296
  }
1297
- function g(z) {
1298
- return u(z);
1297
+ function w(z) {
1298
+ return d(z);
1299
1299
  }
1300
1300
  function b(z) {
1301
- for (var p = [], y = 0, T = z.length; y < T; ++y) x(z[y], p);
1301
+ for (var p = [], x = 0, T = z.length; x < T; ++x) g(z[x], p);
1302
1302
  return p.length < 2 && p.push(p[0]), p;
1303
1303
  }
1304
1304
  function S(z) {
1305
1305
  for (var p = b(z); p.length < 4; ) p.push(p[0]);
1306
1306
  return p;
1307
1307
  }
1308
- function M(z) {
1308
+ function O(z) {
1309
1309
  return z.map(S);
1310
1310
  }
1311
- function k(z) {
1312
- var p = z.type, y;
1311
+ function A(z) {
1312
+ var p = z.type, x;
1313
1313
  switch (p) {
1314
1314
  case "GeometryCollection":
1315
- return { type: p, geometries: z.geometries.map(k) };
1315
+ return { type: p, geometries: z.geometries.map(A) };
1316
1316
  case "Point":
1317
- y = g(z.coordinates);
1317
+ x = w(z.coordinates);
1318
1318
  break;
1319
1319
  case "MultiPoint":
1320
- y = z.coordinates.map(g);
1320
+ x = z.coordinates.map(w);
1321
1321
  break;
1322
1322
  case "LineString":
1323
- y = b(z.arcs);
1323
+ x = b(z.arcs);
1324
1324
  break;
1325
1325
  case "MultiLineString":
1326
- y = z.arcs.map(b);
1326
+ x = z.arcs.map(b);
1327
1327
  break;
1328
1328
  case "Polygon":
1329
- y = M(z.arcs);
1329
+ x = O(z.arcs);
1330
1330
  break;
1331
1331
  case "MultiPolygon":
1332
- y = z.arcs.map(M);
1332
+ x = z.arcs.map(O);
1333
1333
  break;
1334
1334
  default:
1335
1335
  return null;
1336
1336
  }
1337
- return { type: p, coordinates: y };
1337
+ return { type: p, coordinates: x };
1338
1338
  }
1339
- return k(a);
1339
+ return A(r);
1340
1340
  }
1341
1341
  const We = {
1342
1342
  airspaceStroke: "#AAB7B8",
@@ -1351,7 +1351,7 @@ const We = {
1351
1351
  runway: "#333333"
1352
1352
  };
1353
1353
  function je() {
1354
- const o = "navdata", a = We;
1354
+ const o = "navdata", r = We;
1355
1355
  return [
1356
1356
  {
1357
1357
  id: "landLaye",
@@ -1408,7 +1408,7 @@ function je() {
1408
1408
  "source-layer": "fir",
1409
1409
  minzoom: 2,
1410
1410
  // layout: { "line-cap": "butt", "line-join": "miter", "line-miter-limit": 0 },
1411
- paint: { "line-color": a.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 2.7, 0.8, 9, 0.8, 10, 0.5], "line-width": 0.5, "line-dasharray": [4.2, 4] }
1411
+ paint: { "line-color": r.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 2.7, 0.8, 9, 0.8, 10, 0.5], "line-width": 0.5, "line-dasharray": [4.2, 4] }
1412
1412
  },
1413
1413
  {
1414
1414
  id: "fir_line_dash",
@@ -1417,7 +1417,7 @@ function je() {
1417
1417
  "source-layer": "fir",
1418
1418
  minzoom: 5,
1419
1419
  layout: { "line-miter-limit": 0, "line-cap": "butt", "line-join": "miter" },
1420
- paint: { "line-color": a.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 5, 0, 5.5, 0.8, 9, 0.8, 10, 0.5], "line-width": 6, "line-dasharray": [0.2, 5] }
1420
+ paint: { "line-color": r.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 5, 0, 5.5, 0.8, 9, 0.8, 10, 0.5], "line-width": 6, "line-dasharray": [0.2, 5] }
1421
1421
  },
1422
1422
  {
1423
1423
  id: "fir-label-lineside",
@@ -1426,7 +1426,7 @@ function je() {
1426
1426
  "source-layer": "fir",
1427
1427
  minzoom: 4,
1428
1428
  layout: { "text-field": ["concat", ["get", "TXT_NAME"], "/", ["get", "CODE_ID"], "/", ["get", "CODE_TYPE"]], "text-size": 10, "symbol-placement": "line", "text-max-width": 8, "text-offset": [0, 1], "text-letter-spacing": 0.05, "text-optional": !0 },
1429
- paint: { "text-color": a.airspaceStroke }
1429
+ paint: { "text-color": r.airspaceStroke }
1430
1430
  },
1431
1431
  {
1432
1432
  id: "fir-label",
@@ -1441,7 +1441,7 @@ function je() {
1441
1441
  "text-max-width": 8
1442
1442
  },
1443
1443
  paint: {
1444
- "text-color": a.airspaceStroke,
1444
+ "text-color": r.airspaceStroke,
1445
1445
  "text-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0.85, 8, 0.7, 12, 0.5]
1446
1446
  }
1447
1447
  },
@@ -1483,7 +1483,7 @@ function je() {
1483
1483
  "source-layer": "restricted",
1484
1484
  minzoom: 6,
1485
1485
  layout: { "text-field": ["concat", ["get", "TXT_NAME"], "/", ["get", "CODE_ID"], "/", ["get", "CODE_TYPE"]], "text-letter-spacing": 0.1, "text-size": 10, "symbol-placement": "line", "text-max-width": 8, "text-offset": [0, 1] },
1486
- paint: { "text-color": a.restrictedStroke }
1486
+ paint: { "text-color": r.restrictedStroke }
1487
1487
  },
1488
1488
  {
1489
1489
  id: "controlled-fill",
@@ -1491,15 +1491,8 @@ function je() {
1491
1491
  source: o,
1492
1492
  "source-layer": "controlled-fill",
1493
1493
  minzoom: 4,
1494
- filter: [
1495
- "all",
1496
- ["!=", ["get", "CODE_TYPE"], "CTA"],
1497
- ["!=", ["get", "CODE_TYPE"], "ARSA"],
1498
- ["!=", ["get", "CODE_TYPE"], "TCA"],
1499
- ["!=", ["get", "CODE_TYPE"], "TRSA"]
1500
- ],
1501
1494
  paint: {
1502
- "fill-color": a.controlledFill,
1495
+ "fill-color": r.controlledFill,
1503
1496
  "fill-opacity": [
1504
1497
  "interpolate",
1505
1498
  [
@@ -1520,14 +1513,8 @@ function je() {
1520
1513
  type: "line",
1521
1514
  source: o,
1522
1515
  "source-layer": "controlled",
1523
- filter: [
1524
- "all",
1525
- ["!=", ["get", "CODE_TYPE"], "ARSA"],
1526
- ["!=", ["get", "CODE_TYPE"], "TCA"],
1527
- ["!=", ["get", "CODE_TYPE"], "TRSA"]
1528
- ],
1529
1516
  paint: {
1530
- "line-color": a.controlledStroke,
1517
+ "line-color": r.controlledStroke,
1531
1518
  "line-width": 1,
1532
1519
  "line-opacity": ["interpolate", ["linear"], ["zoom"], 4, 0.5, 8, 1],
1533
1520
  "line-dasharray": [
@@ -1538,18 +1525,12 @@ function je() {
1538
1525
  },
1539
1526
  {
1540
1527
  id: "controlled-label",
1541
- filter: [
1542
- "all",
1543
- ["!=", ["get", "CODE_TYPE"], "ARSA"],
1544
- ["!=", ["get", "CODE_TYPE"], "TCA"],
1545
- ["!=", ["get", "CODE_TYPE"], "TRSA"]
1546
- ],
1547
1528
  type: "symbol",
1548
1529
  source: o,
1549
1530
  "source-layer": "controlled",
1550
1531
  minzoom: 6,
1551
1532
  layout: { "text-field": ["concat", ["get", "TXT_NAME"], "/", ["get", "CODE_ID"], "/", ["get", "CODE_TYPE"]], "text-size": 10, "symbol-placement": "line", "text-letter-spacing": 0.2, "text-max-width": 8, "text-offset": [0, 1] },
1552
- paint: { "text-color": a.controlledStroke }
1533
+ paint: { "text-color": r.controlledStroke }
1553
1534
  },
1554
1535
  {
1555
1536
  id: "segment-line",
@@ -1558,7 +1539,7 @@ function je() {
1558
1539
  "source-layer": "segment",
1559
1540
  minzoom: 5,
1560
1541
  paint: {
1561
- "line-color": ["case", ["==", ["get", "HAS_REMARK"], 1], "#E8A020", a.segment],
1542
+ "line-color": ["case", ["==", ["get", "HAS_REMARK"], 1], "#E8A020", r.segment],
1562
1543
  "line-width": ["interpolate", ["linear"], ["zoom"], 5, 0.2, 8, 0.8],
1563
1544
  "line-blur": 0,
1564
1545
  "line-opacity": [
@@ -1634,7 +1615,7 @@ function je() {
1634
1615
  paint: {
1635
1616
  "text-halo-color": "#ffffff",
1636
1617
  "text-halo-width": 0.1,
1637
- "icon-color": a.segment,
1618
+ "icon-color": r.segment,
1638
1619
  "text-opacity": [
1639
1620
  "interpolate",
1640
1621
  [
@@ -1683,7 +1664,7 @@ function je() {
1683
1664
  "text-offset": [0, -0.6],
1684
1665
  "text-justify": "auto"
1685
1666
  },
1686
- paint: { "text-color": a.segment }
1667
+ paint: { "text-color": r.segment }
1687
1668
  },
1688
1669
  {
1689
1670
  id: "airport-circle",
@@ -1728,7 +1709,7 @@ function je() {
1728
1709
  "case",
1729
1710
  ["has", "has_amm"],
1730
1711
  "#4B2D6E",
1731
- a.airport
1712
+ r.airport
1732
1713
  ],
1733
1714
  "icon-opacity": [
1734
1715
  "interpolate",
@@ -1783,7 +1764,7 @@ function je() {
1783
1764
  "case",
1784
1765
  ["has", "has_amm"],
1785
1766
  "#4B2D6E",
1786
- a.airport
1767
+ r.airport
1787
1768
  ]
1788
1769
  }
1789
1770
  },
@@ -1796,7 +1777,7 @@ function je() {
1796
1777
  minzoom: 4,
1797
1778
  maxzoom: 11,
1798
1779
  paint: {
1799
- "line-color": a.runway,
1780
+ "line-color": r.runway,
1800
1781
  "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 13, 10]
1801
1782
  }
1802
1783
  },
@@ -1809,7 +1790,7 @@ function je() {
1809
1790
  minzoom: 4,
1810
1791
  maxzoom: 11,
1811
1792
  paint: {
1812
- "line-color": a.runway,
1793
+ "line-color": r.runway,
1813
1794
  "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 10, 4],
1814
1795
  "line-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0]
1815
1796
  }
@@ -1828,7 +1809,7 @@ function je() {
1828
1809
  "text-optional": !0
1829
1810
  },
1830
1811
  paint: {
1831
- "text-color": a.runway,
1812
+ "text-color": r.runway,
1832
1813
  "text-halo-width": 1,
1833
1814
  "text-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0]
1834
1815
  }
@@ -1880,7 +1861,7 @@ function je() {
1880
1861
  "source-layer": "vor",
1881
1862
  minzoom: 5,
1882
1863
  layout: { "text-field": ["get", "CODE_ID"], "text-size": 10, "text-anchor": "bottom", "text-offset": [0, -0.8] },
1883
- paint: { "text-color": a.vor, "text-halo-color": "#ffffff", "text-halo-width": 1 }
1864
+ paint: { "text-color": r.vor, "text-halo-color": "#ffffff", "text-halo-width": 1 }
1884
1865
  },
1885
1866
  {
1886
1867
  id: "ndb-symbol",
@@ -1900,7 +1881,7 @@ function je() {
1900
1881
  "CODE_ID"
1901
1882
  ],
1902
1883
  {
1903
- "text-color": a.ndb,
1884
+ "text-color": r.ndb,
1904
1885
  "font-scale": 1.1
1905
1886
  },
1906
1887
  "",
@@ -1914,7 +1895,7 @@ function je() {
1914
1895
  ""
1915
1896
  ],
1916
1897
  {
1917
- "text-color": a.ndb,
1898
+ "text-color": r.ndb,
1918
1899
  "font-scale": 0.95
1919
1900
  }
1920
1901
  ],
@@ -1926,11 +1907,11 @@ function je() {
1926
1907
  "text-anchor": "top"
1927
1908
  },
1928
1909
  paint: {
1929
- "text-color": a.ndb,
1910
+ "text-color": r.ndb,
1930
1911
  "text-halo-color": "#ffffff",
1931
1912
  "text-halo-width": 0.5,
1932
1913
  "text-halo-blur": 1,
1933
- "icon-color": a.ndb,
1914
+ "icon-color": r.ndb,
1934
1915
  "text-opacity": [
1935
1916
  "interpolate",
1936
1917
  [
@@ -1993,8 +1974,8 @@ function je() {
1993
1974
  "text-justify": "auto"
1994
1975
  },
1995
1976
  paint: {
1996
- "icon-color": a.waypoint,
1997
- "text-color": a.waypoint,
1977
+ "icon-color": r.waypoint,
1978
+ "text-color": r.waypoint,
1998
1979
  "text-halo-color": "#ffffff",
1999
1980
  "text-halo-width": 1,
2000
1981
  "icon-halo-color": "rgba(0,0,0,0)",
@@ -2041,8 +2022,8 @@ function je() {
2041
2022
  minzoom: 7,
2042
2023
  layout: { "icon-image": ["case", ["==", ["get", "report_type"], "C"], "designate_point_inway", "designate_point_notinway"], "icon-size": 0.6, "icon-allow-overlap": !0, "icon-ignore-placement": !0, "text-field": ["get", "CODE_ID"], "text-size": 9, "text-variable-anchor-offset": ["bottom", [0, -0.6], "top", [0, 0.6], "right", [-0.6, 0], "left", [0.6, 0], "bottom-right", [-0.4, -0.4], "bottom-left", [0.4, -0.4], "top-right", [-0.4, 0.4], "top-left", [0.4, 0.4]], "text-justify": "auto", "text-optional": !0 },
2043
2024
  paint: {
2044
- "icon-color": a.waypoint,
2045
- "text-color": a.waypoint,
2025
+ "icon-color": r.waypoint,
2026
+ "text-color": r.waypoint,
2046
2027
  "text-halo-color": "#ffffff",
2047
2028
  "text-halo-width": 1,
2048
2029
  "icon-opacity": [
@@ -2092,7 +2073,7 @@ const $e = {
2092
2073
  runway: "#64748b"
2093
2074
  };
2094
2075
  function Ke() {
2095
- const o = "navdata", a = $e;
2076
+ const o = "navdata", r = $e;
2096
2077
  return [
2097
2078
  {
2098
2079
  id: "landLaye",
@@ -2149,7 +2130,7 @@ function Ke() {
2149
2130
  "source-layer": "fir",
2150
2131
  minzoom: 2,
2151
2132
  layout: { "line-cap": "butt", "line-join": "miter", "line-miter-limit": 0 },
2152
- paint: { "line-color": a.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 2.7, 0.8, 9, 0.8, 10, 0.5], "line-width": 0.8, "line-dasharray": [4.2, 4] }
2133
+ paint: { "line-color": r.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 2.7, 0.8, 9, 0.8, 10, 0.5], "line-width": 0.8, "line-dasharray": [4.2, 4] }
2153
2134
  },
2154
2135
  {
2155
2136
  id: "fir_line_dash",
@@ -2158,7 +2139,7 @@ function Ke() {
2158
2139
  "source-layer": "fir",
2159
2140
  minzoom: 5,
2160
2141
  layout: { "line-miter-limit": 0, "line-cap": "butt", "line-join": "miter" },
2161
- paint: { "line-color": a.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 5, 0, 5.5, 0.8, 9, 0.8, 10, 0.5], "line-width": 5, "line-dasharray": [0.2, 5] }
2142
+ paint: { "line-color": r.airspaceStroke, "line-opacity": ["interpolate", ["linear"], ["zoom"], 5, 0, 5.5, 0.8, 9, 0.8, 10, 0.5], "line-width": 5, "line-dasharray": [0.2, 5] }
2162
2143
  },
2163
2144
  {
2164
2145
  id: "fir-label-lineside",
@@ -2167,7 +2148,7 @@ function Ke() {
2167
2148
  "source-layer": "fir",
2168
2149
  minzoom: 4,
2169
2150
  layout: { "text-field": ["concat", ["get", "TXT_NAME"], "/", ["get", "CODE_ID"], "/", ["get", "CODE_TYPE"]], "text-size": 10, "symbol-placement": "line", "text-max-width": 8, "text-offset": [0, 1], "text-letter-spacing": 0.05, "text-optional": !0 },
2170
- paint: { "text-color": a.airspaceStroke, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2151
+ paint: { "text-color": r.airspaceStroke, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2171
2152
  },
2172
2153
  {
2173
2154
  id: "fir-label",
@@ -2182,7 +2163,7 @@ function Ke() {
2182
2163
  "text-max-width": 8
2183
2164
  },
2184
2165
  paint: {
2185
- "text-color": a.airspaceStroke,
2166
+ "text-color": r.airspaceStroke,
2186
2167
  "text-halo-color": "#0f172a",
2187
2168
  "text-halo-width": 1.5,
2188
2169
  "text-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0.85, 8, 0.7, 12, 0.5]
@@ -2201,7 +2182,7 @@ function Ke() {
2201
2182
  type: "line",
2202
2183
  source: o,
2203
2184
  "source-layer": "restricted",
2204
- paint: { "line-color": a.restrictedStroke, "line-width": 1, "line-dasharray": [2, 2], "line-opacity": ["interpolate", ["linear"], ["zoom"], 4, 0.6, 8, 1] }
2185
+ paint: { "line-color": r.restrictedStroke, "line-width": 1, "line-dasharray": [2, 2], "line-opacity": ["interpolate", ["linear"], ["zoom"], 4, 0.6, 8, 1] }
2205
2186
  },
2206
2187
  {
2207
2188
  id: "restricted-label",
@@ -2210,7 +2191,7 @@ function Ke() {
2210
2191
  "source-layer": "restricted",
2211
2192
  minzoom: 6,
2212
2193
  layout: { "text-field": ["coalesce", ["get", "TXT_NAME"], ["get", "CODE_ID"]], "text-size": 10, "symbol-placement": "line", "text-max-width": 8, "text-offset": [0, 1] },
2213
- paint: { "text-color": a.restrictedStroke, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2194
+ paint: { "text-color": r.restrictedStroke, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2214
2195
  },
2215
2196
  {
2216
2197
  id: "controlled-fill",
@@ -2218,14 +2199,14 @@ function Ke() {
2218
2199
  source: o,
2219
2200
  "source-layer": "controlled-fill",
2220
2201
  minzoom: 4,
2221
- paint: { "fill-color": a.controlledFill, "fill-opacity": 0.03 }
2202
+ paint: { "fill-color": r.controlledFill, "fill-opacity": 0.03 }
2222
2203
  },
2223
2204
  {
2224
2205
  id: "controlled-stroke",
2225
2206
  type: "line",
2226
2207
  source: o,
2227
2208
  "source-layer": "controlled",
2228
- paint: { "line-color": a.controlledStroke, "line-width": 1, "line-opacity": ["interpolate", ["linear"], ["zoom"], 4, 0.6, 8, 1], "line-dasharray": [2, 2] }
2209
+ paint: { "line-color": r.controlledStroke, "line-width": 1, "line-opacity": ["interpolate", ["linear"], ["zoom"], 4, 0.6, 8, 1], "line-dasharray": [2, 2] }
2229
2210
  },
2230
2211
  {
2231
2212
  id: "controlled-label",
@@ -2234,7 +2215,7 @@ function Ke() {
2234
2215
  "source-layer": "controlled",
2235
2216
  minzoom: 6,
2236
2217
  layout: { "text-field": ["coalesce", ["get", "TXT_NAME"], ["get", "CODE_ID"]], "text-size": 10, "symbol-placement": "point", "text-max-width": 8 },
2237
- paint: { "text-color": a.controlledStroke, "text-halo-color": "#0f172a", "text-halo-width": 1.5 }
2218
+ paint: { "text-color": r.controlledStroke, "text-halo-color": "#0f172a", "text-halo-width": 1.5 }
2238
2219
  },
2239
2220
  {
2240
2221
  id: "segment-line",
@@ -2243,7 +2224,7 @@ function Ke() {
2243
2224
  "source-layer": "segment",
2244
2225
  minzoom: 5,
2245
2226
  paint: {
2246
- "line-color": ["case", ["==", ["get", "HAS_REMARK"], 1], "#fbbf24", a.segment],
2227
+ "line-color": ["case", ["==", ["get", "HAS_REMARK"], 1], "#fbbf24", r.segment],
2247
2228
  "line-width": ["interpolate", ["linear"], ["zoom"], 5, 0.2, 8, 0.8],
2248
2229
  "line-blur": 0,
2249
2230
  "line-opacity": [
@@ -2315,7 +2296,7 @@ function Ke() {
2315
2296
  "text-size": ["interpolate", ["linear"], ["zoom"], 6, 9, 10, 10],
2316
2297
  "icon-text-fit-padding": [0, 3, 0, 3]
2317
2298
  },
2318
- paint: { "icon-color": a.segment }
2299
+ paint: { "icon-color": r.segment }
2319
2300
  },
2320
2301
  {
2321
2302
  id: "segment-radial",
@@ -2324,7 +2305,7 @@ function Ke() {
2324
2305
  "source-layer": "segment-radial",
2325
2306
  minzoom: 10,
2326
2307
  layout: { "text-field": ["concat", ["get", "bearing"], "°"], "text-size": 9, "text-rotate": ["to-number", ["get", "line_angle"], 0], "text-rotation-alignment": "map", "text-allow-overlap": !0, "text-ignore-placement": !0, "text-offset": [0, -1] },
2327
- paint: { "text-color": a.segment, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2308
+ paint: { "text-color": r.segment, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2328
2309
  },
2329
2310
  {
2330
2311
  id: "airport-circle",
@@ -2369,7 +2350,7 @@ function Ke() {
2369
2350
  "case",
2370
2351
  ["has", "has_amm"],
2371
2352
  "#4B2D6E",
2372
- a.airport
2353
+ r.airport
2373
2354
  ],
2374
2355
  "icon-opacity": [
2375
2356
  "interpolate",
@@ -2435,7 +2416,7 @@ function Ke() {
2435
2416
  "source-layer": "runway",
2436
2417
  filter: ["!", ["has", "has_amm"]],
2437
2418
  minzoom: 4,
2438
- paint: { "line-color": a.runway, "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 10, 3] }
2419
+ paint: { "line-color": r.runway, "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 10, 3] }
2439
2420
  },
2440
2421
  {
2441
2422
  id: "runway-line-amm",
@@ -2444,7 +2425,7 @@ function Ke() {
2444
2425
  "source-layer": "runway",
2445
2426
  filter: ["has", "has_amm"],
2446
2427
  minzoom: 4,
2447
- paint: { "line-color": a.runway, "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 10, 3], "line-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0] }
2428
+ paint: { "line-color": r.runway, "line-width": ["interpolate", ["linear"], ["zoom"], 4, 1, 10, 3], "line-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0] }
2448
2429
  },
2449
2430
  {
2450
2431
  id: "runway-label",
@@ -2453,7 +2434,7 @@ function Ke() {
2453
2434
  "source-layer": "runway",
2454
2435
  minzoom: 10,
2455
2436
  layout: { "text-field": ["concat", ["to-string", ["get", "VAL_LEN"]], "×", ["to-string", ["get", "VAL_WID"]], "m"], "text-size": 10, "text-font": ["Noto Sans Regular"], "symbol-placement": "line-center", "text-rotation-alignment": "map", "text-optional": !0 },
2456
- paint: { "text-color": a.runway, "text-halo-color": "#0f172a", "text-halo-width": 1, "text-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0] }
2437
+ paint: { "text-color": r.runway, "text-halo-color": "#0f172a", "text-halo-width": 1, "text-opacity": ["interpolate", ["linear"], ["zoom"], 10.5, 1, 11, 0] }
2457
2438
  },
2458
2439
  {
2459
2440
  id: "vor-symbol",
@@ -2470,7 +2451,7 @@ function Ke() {
2470
2451
  "source-layer": "vor",
2471
2452
  minzoom: 5,
2472
2453
  layout: { "text-field": ["get", "CODE_ID"], "text-size": 10, "text-anchor": "bottom", "text-offset": [0, -0.8] },
2473
- paint: { "text-color": a.vor, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2454
+ paint: { "text-color": r.vor, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2474
2455
  },
2475
2456
  {
2476
2457
  id: "ndb-symbol",
@@ -2480,7 +2461,7 @@ function Ke() {
2480
2461
  "source-layer": "ndb",
2481
2462
  layout: { "icon-image": "ndb-inway", "icon-size": ["interpolate", ["linear"], ["zoom"], 6, 0.5, 10, 1], "symbol-z-order": "viewport-y", "text-field": ["concat", ["get", "CODE_ID"], `
2482
2463
  `, ["get", "VAL_FREQ"], "kHz"], "text-size": 10, "text-offset": [0, 1.4], "text-letter-spacing": 0.05, "text-optional": !0, "icon-allow-overlap": !0 },
2483
- paint: { "text-color": a.ndb, "text-halo-color": "#0f172a", "text-halo-width": 1, "icon-color": a.ndb }
2464
+ paint: { "text-color": r.ndb, "text-halo-color": "#0f172a", "text-halo-width": 1, "icon-color": r.ndb }
2484
2465
  },
2485
2466
  {
2486
2467
  id: "waypoint-symbol",
@@ -2489,7 +2470,7 @@ function Ke() {
2489
2470
  "source-layer": "waypoint",
2490
2471
  minzoom: 5,
2491
2472
  layout: { "icon-image": ["case", ["==", ["get", "report_type"], "C"], "waypoint-compusory", "waypoint"], "icon-size": 0.6, "icon-allow-overlap": !0, "icon-ignore-placement": !0, "text-field": ["get", "CODE_ID"], "text-size": 9, "text-variable-anchor-offset": ["bottom", [0, -0.6], "top", [0, 0.6], "right", [-0.6, 0], "left", [0.6, 0], "bottom-right", [-0.4, -0.4], "bottom-left", [0.4, -0.4], "top-right", [-0.4, 0.4], "top-left", [0.4, 0.4]], "text-justify": "auto", "text-optional": !0 },
2492
- paint: { "icon-color": a.waypoint, "text-color": a.waypoint, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2473
+ paint: { "icon-color": r.waypoint, "text-color": r.waypoint, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2493
2474
  },
2494
2475
  {
2495
2476
  id: "waypoint-off-airway-symbol",
@@ -2498,7 +2479,7 @@ function Ke() {
2498
2479
  "source-layer": "waypoint-off-airway",
2499
2480
  minzoom: 7,
2500
2481
  layout: { "icon-image": ["case", ["==", ["get", "report_type"], "C"], "designate_point_inway", "designate_point_notinway"], "icon-size": 0.6, "icon-allow-overlap": !0, "icon-ignore-placement": !0, "text-field": ["get", "CODE_ID"], "text-size": 9, "text-variable-anchor-offset": ["bottom", [0, -0.6], "top", [0, 0.6], "right", [-0.6, 0], "left", [0.6, 0], "bottom-right", [-0.4, -0.4], "bottom-left", [0.4, -0.4], "top-right", [-0.4, 0.4], "top-left", [0.4, 0.4]], "text-justify": "auto", "text-optional": !0 },
2501
- paint: { "icon-color": a.waypoint, "text-color": a.waypoint, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2482
+ paint: { "icon-color": r.waypoint, "text-color": r.waypoint, "text-halo-color": "#0f172a", "text-halo-width": 1 }
2502
2483
  }
2503
2484
  ];
2504
2485
  }
@@ -2506,7 +2487,7 @@ const ut = {
2506
2487
  light: { id: "light", label: "日间", background: "#EAF2F8", build: je },
2507
2488
  dark: { id: "dark", label: "夜间", background: "#000000", build: Ke }
2508
2489
  };
2509
- function Yt(o = "light") {
2490
+ function Ht(o = "light") {
2510
2491
  return (ut[o] ?? ut.light).build();
2511
2492
  }
2512
2493
  const Ct = {
@@ -2521,7 +2502,7 @@ const Ct = {
2521
2502
  ndb: ["ndb-symbol"],
2522
2503
  airport: ["airport-circle", "airport-label"],
2523
2504
  runway: ["runway-line", "runway-line-amm", "runway-label"]
2524
- }, Ye = {
2505
+ }, He = {
2525
2506
  /** 机场边界(淡暖灰垫底,在纯白底上显现轮廓) */
2526
2507
  airport: "#e2e8f0",
2527
2508
  /** 跑道面(中深灰,作为白底上的绝对重心) */
@@ -2547,8 +2528,8 @@ const Ct = {
2547
2528
  /** 事故易发区(深橙色) */
2548
2529
  hotspot: "#ea580c"
2549
2530
  };
2550
- function He(o = "amm") {
2551
- const a = Ye;
2531
+ function Ye(o = "amm") {
2532
+ const r = He;
2552
2533
  return [
2553
2534
  // ── 机场边界轮廓(z11+)
2554
2535
  {
@@ -2558,7 +2539,7 @@ function He(o = "amm") {
2558
2539
  "source-layer": "amm-airport",
2559
2540
  minzoom: 11,
2560
2541
  paint: {
2561
- "fill-color": a.airport,
2542
+ "fill-color": r.airport,
2562
2543
  "fill-opacity": 0.4
2563
2544
  // 适当调高不透明度,确保白底可见
2564
2545
  }
@@ -2570,7 +2551,7 @@ function He(o = "amm") {
2570
2551
  "source-layer": "amm-airport",
2571
2552
  minzoom: 11,
2572
2553
  paint: {
2573
- "line-color": a.airport,
2554
+ "line-color": r.airport,
2574
2555
  "line-width": 1
2575
2556
  }
2576
2557
  },
@@ -2582,7 +2563,7 @@ function He(o = "amm") {
2582
2563
  "source-layer": "amm-runway",
2583
2564
  minzoom: 11,
2584
2565
  paint: {
2585
- "fill-color": a.runway,
2566
+ "fill-color": r.runway,
2586
2567
  "fill-opacity": 0.9
2587
2568
  }
2588
2569
  },
@@ -2606,7 +2587,7 @@ function He(o = "amm") {
2606
2587
  "source-layer": "amm-apron",
2607
2588
  minzoom: 11,
2608
2589
  paint: {
2609
- "fill-color": a.apron,
2590
+ "fill-color": r.apron,
2610
2591
  "fill-opacity": 0.6
2611
2592
  // 提高透明度浓度
2612
2593
  }
@@ -2631,7 +2612,7 @@ function He(o = "amm") {
2631
2612
  "source-layer": "amm-taxiway",
2632
2613
  minzoom: 11,
2633
2614
  paint: {
2634
- "fill-color": a.taxiway,
2615
+ "fill-color": r.taxiway,
2635
2616
  "fill-opacity": 0.7
2636
2617
  }
2637
2618
  },
@@ -2643,7 +2624,7 @@ function He(o = "amm") {
2643
2624
  "source-layer": "amm-taxiway-line",
2644
2625
  minzoom: 11,
2645
2626
  paint: {
2646
- "line-color": a.taxiwayLine,
2627
+ "line-color": r.taxiwayLine,
2647
2628
  "line-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 18, 2]
2648
2629
  }
2649
2630
  },
@@ -2671,7 +2652,7 @@ function He(o = "amm") {
2671
2652
  },
2672
2653
  paint: {
2673
2654
  "text-color": "#FFF",
2674
- "icon-color": a.taxiwayLine
2655
+ "icon-color": r.taxiwayLine
2675
2656
  }
2676
2657
  },
2677
2658
  // ── 等待位(z11+)─────
@@ -2682,7 +2663,7 @@ function He(o = "amm") {
2682
2663
  "source-layer": "amm-holding",
2683
2664
  minzoom: 11,
2684
2665
  paint: {
2685
- "line-color": a.holding,
2666
+ "line-color": r.holding,
2686
2667
  "line-width": 1.5
2687
2668
  }
2688
2669
  },
@@ -2694,7 +2675,7 @@ function He(o = "amm") {
2694
2675
  "source-layer": "amm-runway-marking",
2695
2676
  minzoom: 13,
2696
2677
  paint: {
2697
- "fill-color": a.runwayMarking,
2678
+ "fill-color": r.runwayMarking,
2698
2679
  "fill-opacity": 0.9
2699
2680
  }
2700
2681
  },
@@ -2706,7 +2687,7 @@ function He(o = "amm") {
2706
2687
  "source-layer": "amm-restricted",
2707
2688
  minzoom: 11,
2708
2689
  paint: {
2709
- "fill-color": a.restricted,
2690
+ "fill-color": r.restricted,
2710
2691
  "fill-opacity": 0.08
2711
2692
  // 针对白底降低面纯度
2712
2693
  }
@@ -2718,7 +2699,7 @@ function He(o = "amm") {
2718
2699
  "source-layer": "amm-restricted",
2719
2700
  minzoom: 11,
2720
2701
  paint: {
2721
- "line-color": a.restricted,
2702
+ "line-color": r.restricted,
2722
2703
  "line-width": 1.5,
2723
2704
  "line-dasharray": [4, 2]
2724
2705
  }
@@ -2731,7 +2712,7 @@ function He(o = "amm") {
2731
2712
  "source-layer": "amm-hotspot",
2732
2713
  minzoom: 11,
2733
2714
  paint: {
2734
- "fill-color": a.hotspot,
2715
+ "fill-color": r.hotspot,
2735
2716
  "fill-opacity": 0.1
2736
2717
  // 针对白底轻微淡化面
2737
2718
  }
@@ -2743,7 +2724,7 @@ function He(o = "amm") {
2743
2724
  "source-layer": "amm-hotspot",
2744
2725
  minzoom: 11,
2745
2726
  paint: {
2746
- "line-color": a.hotspot,
2727
+ "line-color": r.hotspot,
2747
2728
  "line-width": 1.5
2748
2729
  }
2749
2730
  },
@@ -2755,7 +2736,7 @@ function He(o = "amm") {
2755
2736
  "source-layer": "amm-runway-centerline",
2756
2737
  minzoom: 11,
2757
2738
  paint: {
2758
- "line-color": a.runwayCenterline,
2739
+ "line-color": r.runwayCenterline,
2759
2740
  "line-width": 1,
2760
2741
  "line-dasharray": [6, 3]
2761
2742
  }
@@ -2807,7 +2788,7 @@ function He(o = "amm") {
2807
2788
  "source-layer": "amm-stand-line",
2808
2789
  minzoom: 13,
2809
2790
  paint: {
2810
- "line-color": a.standLine,
2791
+ "line-color": r.standLine,
2811
2792
  "line-width": 1
2812
2793
  }
2813
2794
  },
@@ -2846,7 +2827,7 @@ function He(o = "amm") {
2846
2827
  "source-layer": "amm-stand",
2847
2828
  minzoom: 12,
2848
2829
  paint: {
2849
- "circle-color": a.stand,
2830
+ "circle-color": r.stand,
2850
2831
  "circle-radius": 1.5
2851
2832
  }
2852
2833
  },
@@ -2865,7 +2846,7 @@ function He(o = "amm") {
2865
2846
  "text-allow-overlap": !1
2866
2847
  },
2867
2848
  paint: {
2868
- "text-color": a.standLine
2849
+ "text-color": r.standLine
2869
2850
  // 改为深墨绿字,白底/浅灰底上高可读
2870
2851
  }
2871
2852
  },
@@ -2987,16 +2968,16 @@ const Ze = {
2987
2968
  hotspot: "#fb923c"
2988
2969
  };
2989
2970
  function Je(o = "amm") {
2990
- const a = Ze;
2971
+ const r = Ze;
2991
2972
  return [
2992
- { id: "amm-airport-fill", type: "fill", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "fill-color": a.airport, "fill-opacity": 0.3 } },
2973
+ { id: "amm-airport-fill", type: "fill", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "fill-color": r.airport, "fill-opacity": 0.3 } },
2993
2974
  { id: "amm-airport-stroke", type: "line", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "line-color": "#475569", "line-width": 1 } },
2994
- { id: "amm-runway-fill", type: "fill", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "fill-color": a.runway, "fill-opacity": 1 } },
2975
+ { id: "amm-runway-fill", type: "fill", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "fill-color": r.runway, "fill-opacity": 1 } },
2995
2976
  { id: "amm-runway-stroke", type: "line", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "line-color": "#64748b", "line-width": 0.5 } },
2996
- { id: "amm-apron-fill", type: "fill", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "fill-color": a.apron, "fill-opacity": 1 } },
2977
+ { id: "amm-apron-fill", type: "fill", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "fill-color": r.apron, "fill-opacity": 1 } },
2997
2978
  { id: "amm-apron-stroke", type: "line", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "line-color": "#334155", "line-width": 0.5 } },
2998
- { id: "amm-taxiway-fill", type: "fill", source: o, "source-layer": "amm-taxiway", minzoom: 11, paint: { "fill-color": a.taxiway, "fill-opacity": 0.8 } },
2999
- { id: "amm-taxiway-line", type: "line", source: o, "source-layer": "amm-taxiway-line", minzoom: 11, paint: { "line-color": a.taxiwayLine, "line-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 18, 2] } },
2979
+ { id: "amm-taxiway-fill", type: "fill", source: o, "source-layer": "amm-taxiway", minzoom: 11, paint: { "fill-color": r.taxiway, "fill-opacity": 0.8 } },
2980
+ { id: "amm-taxiway-line", type: "line", source: o, "source-layer": "amm-taxiway-line", minzoom: 11, paint: { "line-color": r.taxiwayLine, "line-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 18, 2] } },
3000
2981
  {
3001
2982
  id: "amm-taxiway-label",
3002
2983
  type: "symbol",
@@ -3004,15 +2985,15 @@ function Je(o = "amm") {
3004
2985
  "source-layer": "amm-taxiway-line",
3005
2986
  minzoom: 14,
3006
2987
  layout: { "text-field": ["get", "idlin"], "text-size": 10, "icon-image": "text_bg", "icon-text-fit": "both", "icon-text-fit-padding": [1, 2, 1, 2], "symbol-placement": "line", "text-keep-upright": !0, "text-allow-overlap": !1 },
3007
- paint: { "text-color": "#0f172a", "icon-color": a.taxiwayLine }
2988
+ paint: { "text-color": "#0f172a", "icon-color": r.taxiwayLine }
3008
2989
  },
3009
- { id: "amm-holding", type: "line", source: o, "source-layer": "amm-holding", minzoom: 11, paint: { "line-color": a.holding, "line-width": 1.5 } },
3010
- { id: "amm-runway-marking", type: "fill", source: o, "source-layer": "amm-runway-marking", minzoom: 13, paint: { "fill-color": a.runwayMarking, "fill-opacity": 0.8 } },
3011
- { id: "amm-restricted-fill", type: "fill", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "fill-color": a.restricted, "fill-opacity": 0.12 } },
3012
- { id: "amm-restricted-stroke", type: "line", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "line-color": a.restricted, "line-width": 1.2, "line-dasharray": [4, 2] } },
3013
- { id: "amm-hotspot-fill", type: "fill", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "fill-color": a.hotspot, "fill-opacity": 0.15 } },
3014
- { id: "amm-hotspot-stroke", type: "line", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "line-color": a.hotspot, "line-width": 1.2 } },
3015
- { id: "amm-runway-centerline", type: "line", source: o, "source-layer": "amm-runway-centerline", minzoom: 11, paint: { "line-color": a.runwayCenterline, "line-width": 1, "line-dasharray": [6, 3] } },
2990
+ { id: "amm-holding", type: "line", source: o, "source-layer": "amm-holding", minzoom: 11, paint: { "line-color": r.holding, "line-width": 1.5 } },
2991
+ { id: "amm-runway-marking", type: "fill", source: o, "source-layer": "amm-runway-marking", minzoom: 13, paint: { "fill-color": r.runwayMarking, "fill-opacity": 0.8 } },
2992
+ { id: "amm-restricted-fill", type: "fill", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "fill-color": r.restricted, "fill-opacity": 0.12 } },
2993
+ { id: "amm-restricted-stroke", type: "line", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "line-color": r.restricted, "line-width": 1.2, "line-dasharray": [4, 2] } },
2994
+ { id: "amm-hotspot-fill", type: "fill", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "fill-color": r.hotspot, "fill-opacity": 0.15 } },
2995
+ { id: "amm-hotspot-stroke", type: "line", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "line-color": r.hotspot, "line-width": 1.2 } },
2996
+ { id: "amm-runway-centerline", type: "line", source: o, "source-layer": "amm-runway-centerline", minzoom: 11, paint: { "line-color": r.runwayCenterline, "line-width": 1, "line-dasharray": [6, 3] } },
3016
2997
  {
3017
2998
  id: "amm-runway-info",
3018
2999
  type: "symbol",
@@ -3022,7 +3003,7 @@ function Je(o = "amm") {
3022
3003
  layout: { "text-field": ["concat", ["coalesce", ["get", "length"], ""], "×", ["coalesce", ["get", "width"], ""], "m"], "text-size": ["interpolate", ["exponential", 1.5], ["zoom"], 13, 10, 16, 13], "symbol-placement": "point", "text-rotate": ["coalesce", ["get", "bearing"], 0], "text-rotation-alignment": "map", "text-allow-overlap": !0, "text-ignore-placement": !0 },
3023
3004
  paint: { "text-color": "#e2e8f0", "text-halo-color": "#0f172a", "text-halo-width": 2 }
3024
3005
  },
3025
- { id: "amm-stand-line", type: "line", source: o, "source-layer": "amm-stand-line", minzoom: 13, paint: { "line-color": a.standLine, "line-width": 1 } },
3006
+ { id: "amm-stand-line", type: "line", source: o, "source-layer": "amm-stand-line", minzoom: 13, paint: { "line-color": r.standLine, "line-width": 1 } },
3026
3007
  {
3027
3008
  id: "amm-runway-threshold-label",
3028
3009
  type: "symbol",
@@ -3032,7 +3013,7 @@ function Je(o = "amm") {
3032
3013
  layout: { "icon-image": "text_bg", "icon-text-fit": "both", "icon-text-fit-padding": [1, 2, 1, 2], "text-field": ["get", "idthr"], "text-size": 14, "text-allow-overlap": !0, "text-rotation-alignment": "map", "icon-rotation-alignment": "map" },
3033
3014
  paint: { "text-color": "#ffffff", "icon-color": "#ef4444" }
3034
3015
  },
3035
- { id: "amm-stand", type: "circle", source: o, "source-layer": "amm-stand", minzoom: 12, paint: { "circle-color": a.stand, "circle-radius": 1.5 } },
3016
+ { id: "amm-stand", type: "circle", source: o, "source-layer": "amm-stand", minzoom: 12, paint: { "circle-color": r.stand, "circle-radius": 1.5 } },
3036
3017
  {
3037
3018
  id: "amm-stand-label",
3038
3019
  type: "symbol",
@@ -3040,7 +3021,7 @@ function Je(o = "amm") {
3040
3021
  "source-layer": "amm-stand",
3041
3022
  minzoom: 14,
3042
3023
  layout: { "text-field": ["get", "idstd"], "text-size": 9, "text-anchor": "bottom", "text-offset": [0, -0.5], "text-allow-overlap": !1 },
3043
- paint: { "text-color": a.stand, "text-halo-color": "#0f172a", "text-halo-width": 1 }
3024
+ paint: { "text-color": r.stand, "text-halo-color": "#0f172a", "text-halo-width": 1 }
3044
3025
  },
3045
3026
  { id: "amm-obstacle-region-fill", type: "fill", source: o, "source-layer": "amm-obstacle-region", minzoom: 11, paint: { "fill-color": "#fef08a", "fill-opacity": 0.15 } },
3046
3027
  { id: "amm-obstacle-region-stroke", type: "line", source: o, "source-layer": "amm-obstacle-region", minzoom: 11, paint: { "line-color": "#eab308", "line-width": 1.2, "line-dasharray": [1.5, 1] } },
@@ -3083,16 +3064,16 @@ const Qe = {
3083
3064
  hotspot: "#fb923c"
3084
3065
  };
3085
3066
  function qe(o = "amm") {
3086
- const a = Qe, u = "#1f1f23";
3067
+ const r = Qe, d = "#1f1f23";
3087
3068
  return [
3088
- { id: "amm-airport-fill", type: "fill", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "fill-color": a.airport, "fill-opacity": 0.3 } },
3069
+ { id: "amm-airport-fill", type: "fill", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "fill-color": r.airport, "fill-opacity": 0.3 } },
3089
3070
  { id: "amm-airport-stroke", type: "line", source: o, "source-layer": "amm-airport", minzoom: 11, paint: { "line-color": "#52525b", "line-width": 1 } },
3090
- { id: "amm-runway-fill", type: "fill", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "fill-color": a.runway, "fill-opacity": 1 } },
3071
+ { id: "amm-runway-fill", type: "fill", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "fill-color": r.runway, "fill-opacity": 1 } },
3091
3072
  { id: "amm-runway-stroke", type: "line", source: o, "source-layer": "amm-runway", minzoom: 11, paint: { "line-color": "#52525b", "line-width": 0.5 } },
3092
- { id: "amm-apron-fill", type: "fill", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "fill-color": a.apron, "fill-opacity": 1 } },
3073
+ { id: "amm-apron-fill", type: "fill", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "fill-color": r.apron, "fill-opacity": 1 } },
3093
3074
  { id: "amm-apron-stroke", type: "line", source: o, "source-layer": "amm-apron", minzoom: 11, paint: { "line-color": "#3f3f46", "line-width": 0.5 } },
3094
- { id: "amm-taxiway-fill", type: "fill", source: o, "source-layer": "amm-taxiway", minzoom: 11, paint: { "fill-color": a.taxiway, "fill-opacity": 0.9 } },
3095
- { id: "amm-taxiway-line", type: "line", source: o, "source-layer": "amm-taxiway-line", minzoom: 11, paint: { "line-color": a.taxiwayLine, "line-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 18, 2] } },
3075
+ { id: "amm-taxiway-fill", type: "fill", source: o, "source-layer": "amm-taxiway", minzoom: 11, paint: { "fill-color": r.taxiway, "fill-opacity": 0.9 } },
3076
+ { id: "amm-taxiway-line", type: "line", source: o, "source-layer": "amm-taxiway-line", minzoom: 11, paint: { "line-color": r.taxiwayLine, "line-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 18, 2] } },
3096
3077
  {
3097
3078
  id: "amm-taxiway-label",
3098
3079
  type: "symbol",
@@ -3100,15 +3081,15 @@ function qe(o = "amm") {
3100
3081
  "source-layer": "amm-taxiway-line",
3101
3082
  minzoom: 14,
3102
3083
  layout: { "text-field": ["get", "idlin"], "text-size": 10, "icon-image": "text_bg", "icon-text-fit": "both", "icon-text-fit-padding": [1, 2, 1, 2], "symbol-placement": "line", "text-keep-upright": !0, "text-allow-overlap": !1 },
3103
- paint: { "text-color": u, "icon-color": a.taxiwayLine }
3084
+ paint: { "text-color": d, "icon-color": r.taxiwayLine }
3104
3085
  },
3105
- { id: "amm-holding", type: "line", source: o, "source-layer": "amm-holding", minzoom: 11, paint: { "line-color": a.holding, "line-width": 1.5 } },
3106
- { id: "amm-runway-marking", type: "fill", source: o, "source-layer": "amm-runway-marking", minzoom: 13, paint: { "fill-color": a.runwayMarking, "fill-opacity": 0.85 } },
3107
- { id: "amm-restricted-fill", type: "fill", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "fill-color": a.restricted, "fill-opacity": 0.1 } },
3108
- { id: "amm-restricted-stroke", type: "line", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "line-color": a.restricted, "line-width": 1.2, "line-dasharray": [4, 2] } },
3109
- { id: "amm-hotspot-fill", type: "fill", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "fill-color": a.hotspot, "fill-opacity": 0.12 } },
3110
- { id: "amm-hotspot-stroke", type: "line", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "line-color": a.hotspot, "line-width": 1.2 } },
3111
- { id: "amm-runway-centerline", type: "line", source: o, "source-layer": "amm-runway-centerline", minzoom: 11, paint: { "line-color": a.runwayCenterline, "line-width": 1, "line-dasharray": [6, 3] } },
3086
+ { id: "amm-holding", type: "line", source: o, "source-layer": "amm-holding", minzoom: 11, paint: { "line-color": r.holding, "line-width": 1.5 } },
3087
+ { id: "amm-runway-marking", type: "fill", source: o, "source-layer": "amm-runway-marking", minzoom: 13, paint: { "fill-color": r.runwayMarking, "fill-opacity": 0.85 } },
3088
+ { id: "amm-restricted-fill", type: "fill", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "fill-color": r.restricted, "fill-opacity": 0.1 } },
3089
+ { id: "amm-restricted-stroke", type: "line", source: o, "source-layer": "amm-restricted", minzoom: 11, paint: { "line-color": r.restricted, "line-width": 1.2, "line-dasharray": [4, 2] } },
3090
+ { id: "amm-hotspot-fill", type: "fill", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "fill-color": r.hotspot, "fill-opacity": 0.12 } },
3091
+ { id: "amm-hotspot-stroke", type: "line", source: o, "source-layer": "amm-hotspot", minzoom: 11, paint: { "line-color": r.hotspot, "line-width": 1.2 } },
3092
+ { id: "amm-runway-centerline", type: "line", source: o, "source-layer": "amm-runway-centerline", minzoom: 11, paint: { "line-color": r.runwayCenterline, "line-width": 1, "line-dasharray": [6, 3] } },
3112
3093
  {
3113
3094
  id: "amm-runway-info",
3114
3095
  type: "symbol",
@@ -3116,9 +3097,9 @@ function qe(o = "amm") {
3116
3097
  "source-layer": "amm-runway-label",
3117
3098
  minzoom: 13,
3118
3099
  layout: { "text-field": ["concat", ["coalesce", ["get", "length"], ""], "×", ["coalesce", ["get", "width"], ""], "m"], "text-size": ["interpolate", ["exponential", 1.5], ["zoom"], 13, 10, 16, 13], "symbol-placement": "point", "text-rotate": ["coalesce", ["get", "bearing"], 0], "text-rotation-alignment": "map", "text-allow-overlap": !0, "text-ignore-placement": !0 },
3119
- paint: { "text-color": "#e4e4e7", "text-halo-color": u, "text-halo-width": 2 }
3100
+ paint: { "text-color": "#e4e4e7", "text-halo-color": d, "text-halo-width": 2 }
3120
3101
  },
3121
- { id: "amm-stand-line", type: "line", source: o, "source-layer": "amm-stand-line", minzoom: 13, paint: { "line-color": a.standLine, "line-width": 1 } },
3102
+ { id: "amm-stand-line", type: "line", source: o, "source-layer": "amm-stand-line", minzoom: 13, paint: { "line-color": r.standLine, "line-width": 1 } },
3122
3103
  {
3123
3104
  id: "amm-runway-threshold-label",
3124
3105
  type: "symbol",
@@ -3126,9 +3107,9 @@ function qe(o = "amm") {
3126
3107
  "source-layer": "amm-runway-threshold",
3127
3108
  minzoom: 12,
3128
3109
  layout: { "icon-image": "text_bg", "icon-text-fit": "both", "icon-text-fit-padding": [1, 2, 1, 2], "text-field": ["get", "idthr"], "text-size": 14, "text-allow-overlap": !0, "text-rotation-alignment": "map", "icon-rotation-alignment": "map" },
3129
- paint: { "text-color": "#ffffff", "icon-color": a.threshold }
3110
+ paint: { "text-color": "#ffffff", "icon-color": r.threshold }
3130
3111
  },
3131
- { id: "amm-stand", type: "circle", source: o, "source-layer": "amm-stand", minzoom: 12, paint: { "circle-color": a.stand, "circle-radius": 1.5 } },
3112
+ { id: "amm-stand", type: "circle", source: o, "source-layer": "amm-stand", minzoom: 12, paint: { "circle-color": r.stand, "circle-radius": 1.5 } },
3132
3113
  {
3133
3114
  id: "amm-stand-label",
3134
3115
  type: "symbol",
@@ -3136,11 +3117,11 @@ function qe(o = "amm") {
3136
3117
  "source-layer": "amm-stand",
3137
3118
  minzoom: 14,
3138
3119
  layout: { "text-field": ["get", "idstd"], "text-size": 9, "text-anchor": "bottom", "text-offset": [0, -0.5], "text-allow-overlap": !1 },
3139
- paint: { "text-color": a.stand, "text-halo-color": u, "text-halo-width": 1 }
3120
+ paint: { "text-color": r.stand, "text-halo-color": d, "text-halo-width": 1 }
3140
3121
  },
3141
3122
  { id: "amm-obstacle-region-fill", type: "fill", source: o, "source-layer": "amm-obstacle-region", minzoom: 11, paint: { "fill-color": "#fef08a", "fill-opacity": 0.1 } },
3142
3123
  { id: "amm-obstacle-region-stroke", type: "line", source: o, "source-layer": "amm-obstacle-region", minzoom: 11, paint: { "line-color": "#eab308", "line-width": 1.2, "line-dasharray": [1.5, 1] } },
3143
- { id: "amm-obstacle-point", type: "circle", source: o, "source-layer": "amm-obstacle-point", minzoom: 11, paint: { "circle-color": "#f97316", "circle-radius": 4, "circle-stroke-color": u, "circle-stroke-width": 1 } },
3124
+ { id: "amm-obstacle-point", type: "circle", source: o, "source-layer": "amm-obstacle-point", minzoom: 11, paint: { "circle-color": "#f97316", "circle-radius": 4, "circle-stroke-color": d, "circle-stroke-width": 1 } },
3144
3125
  {
3145
3126
  id: "amm-obstacle-point-label",
3146
3127
  type: "symbol",
@@ -3148,7 +3129,7 @@ function qe(o = "amm") {
3148
3129
  "source-layer": "amm-obstacle-point",
3149
3130
  minzoom: 14,
3150
3131
  layout: { "text-field": ["coalesce", ["get", "ident"], ["get", "LABEL"]], "text-size": 9, "text-anchor": "bottom", "text-offset": [0, -0.5], "text-allow-overlap": !1 },
3151
- paint: { "text-color": "#fdba74", "text-halo-color": u, "text-halo-width": 1.2 }
3132
+ paint: { "text-color": "#fdba74", "text-halo-color": d, "text-halo-width": 1.2 }
3152
3133
  },
3153
3134
  { id: "amm-construction-fill", type: "fill", source: o, "source-layer": "amm-construction", minzoom: 11, paint: { "fill-pattern": "normal:passline", "fill-opacity": 0.6 } },
3154
3135
  { id: "amm-construction-stroke", type: "line", source: o, "source-layer": "amm-construction", minzoom: 11, paint: { "line-color": "#ea580c", "line-width": 1.2, "line-dasharray": [4, 2] } },
@@ -3159,12 +3140,12 @@ function qe(o = "amm") {
3159
3140
  "source-layer": "amm-construction",
3160
3141
  minzoom: 13,
3161
3142
  layout: { "text-field": ["get", "text"], "text-size": 9, "text-anchor": "center", "symbol-placement": "point", "text-allow-overlap": !1 },
3162
- paint: { "text-color": "#f97316", "text-halo-color": u, "text-halo-width": 1 }
3143
+ paint: { "text-color": "#f97316", "text-halo-color": d, "text-halo-width": 1 }
3163
3144
  }
3164
3145
  ];
3165
3146
  }
3166
- function Ht(o = "amm", a = "light") {
3167
- return a === "dark" ? Je(o) : a === "neutral" ? qe(o) : He(o);
3147
+ function Yt(o = "amm", r = "light") {
3148
+ return r === "dark" ? Je(o) : r === "neutral" ? qe(o) : Ye(o);
3168
3149
  }
3169
3150
  const oi = {
3170
3151
  ammAirport: ["amm-airport-fill", "amm-airport-stroke"],
@@ -3207,7 +3188,7 @@ const oi = {
3207
3188
  "#9c6b3f",
3208
3189
  4500,
3209
3190
  "#f2efe9"
3210
- ], Pt = [
3191
+ ], Mt = [
3211
3192
  "amm-airport-fill",
3212
3193
  "amm-airport-stroke",
3213
3194
  "amm-runway-fill",
@@ -3238,13 +3219,13 @@ const oi = {
3238
3219
  "amm-construction-label"
3239
3220
  ], Zt = ["terrain-color", "terrain-hillshade"], Jt = ["contour-line", "contour-label"];
3240
3221
  async function Qt(o) {
3241
- const a = await fetch(o);
3242
- if (!a.ok) throw new Error(`fetch ${o} → ${a.status}`);
3243
- const u = a.headers.get("Content-Encoding"), w = a.headers.get("Content-Type") || "";
3244
- if (u === "gzip" || w.includes("json"))
3245
- return a.json();
3246
- const x = a.body.pipeThrough(new DecompressionStream("gzip"));
3247
- return new Response(x).json();
3222
+ const r = await fetch(o);
3223
+ if (!r.ok) throw new Error(`fetch ${o} → ${r.status}`);
3224
+ const d = r.headers.get("Content-Encoding"), y = r.headers.get("Content-Type") || "";
3225
+ if (d === "gzip" || y.includes("json"))
3226
+ return r.json();
3227
+ const g = r.body.pipeThrough(new DecompressionStream("gzip"));
3228
+ return new Response(g).json();
3248
3229
  }
3249
3230
  class ri {
3250
3231
  /**
@@ -3259,19 +3240,19 @@ class ri {
3259
3240
  * @param {number} [options.zoom] Initial zoom level (default 4)
3260
3241
  * @param {string} [options.terrainUrl] Terrain DEM tile URL template (default internal server)
3261
3242
  */
3262
- constructor(a = {}) {
3243
+ constructor(r = {}) {
3263
3244
  const {
3264
- container: u,
3265
- theme: w = "light",
3266
- apiUrl: x = ti,
3267
- spriteUrl: g,
3245
+ container: d,
3246
+ theme: y = "light",
3247
+ apiUrl: g = ti,
3248
+ spriteUrl: w,
3268
3249
  period: b = null,
3269
3250
  layers: S = {},
3270
- center: M = [104, 36],
3271
- zoom: k = 4,
3251
+ center: O = [104, 36],
3252
+ zoom: A = 4,
3272
3253
  terrainUrl: z = null
3273
- } = a;
3274
- return this._apiUrl = x.replace(/\/$/, ""), this._spriteUrl = (g ?? x).replace(/\/$/, ""), this._terrainUrl = z ?? `${this._apiUrl}/api/terrain/{z}/{x}/{y}.png`, this._theme = w, this._period = b, this._center = M, this._zoom = k, this._ready = !1, this._layerVisible = {
3254
+ } = r;
3255
+ return this._apiUrl = g.replace(/\/$/, ""), this._spriteUrl = (w ?? g).replace(/\/$/, ""), this._terrainUrl = z ?? `${this._apiUrl}/api/terrain/{z}/{x}/{y}.png`, this._theme = y, this._period = b, this._center = O, this._zoom = A, this._ready = !1, this._layerVisible = {
3275
3256
  // aviation groups — all visible by default
3276
3257
  adiz: !0,
3277
3258
  fir: !0,
@@ -3290,30 +3271,30 @@ class ri {
3290
3271
  contour: !1,
3291
3272
  // user overrides
3292
3273
  ...S
3293
- }, this._initMap(u), new Proxy(this, {
3294
- get(p, y) {
3295
- if (typeof y == "symbol" || Reflect.has(p, y)) {
3296
- const A = p[y];
3297
- return typeof A == "function" ? A.bind(p) : A;
3274
+ }, this._initMap(d), new Proxy(this, {
3275
+ get(p, x) {
3276
+ if (typeof x == "symbol" || Reflect.has(p, x)) {
3277
+ const k = p[x];
3278
+ return typeof k == "function" ? k.bind(p) : k;
3298
3279
  }
3299
3280
  const T = p._map;
3300
3281
  if (!T) return;
3301
- const D = T[y];
3282
+ const D = T[x];
3302
3283
  return typeof D == "function" ? D.bind(T) : D;
3303
3284
  },
3304
- set(p, y, T) {
3305
- return typeof y == "symbol" || Reflect.has(p, y) || !p._map ? p[y] = T : y in p._map ? p._map[y] = T : p[y] = T, !0;
3285
+ set(p, x, T) {
3286
+ return typeof x == "symbol" || Reflect.has(p, x) || !p._map ? p[x] = T : x in p._map ? p._map[x] = T : p[x] = T, !0;
3306
3287
  },
3307
- has(p, y) {
3308
- return Reflect.has(p, y) || (p._map ? y in p._map : !1);
3288
+ has(p, x) {
3289
+ return Reflect.has(p, x) || (p._map ? x in p._map : !1);
3309
3290
  }
3310
3291
  });
3311
3292
  }
3312
3293
  // ── Map initialization ────────────────────────────────────────────────────
3313
- _initMap(a) {
3314
- const u = ut[this._theme] ?? ut.light;
3294
+ _initMap(r) {
3295
+ const d = ut[this._theme] ?? ut.light;
3315
3296
  this._map = new jt.Map({
3316
- container: a,
3297
+ container: r,
3317
3298
  style: {
3318
3299
  version: 8,
3319
3300
  glyphs: "https://aips.siniswift.com/mapsdk/glyphs/{fontstack}/{range}.pbf",
@@ -3327,7 +3308,7 @@ class ri {
3327
3308
  boundary: { type: "geojson", data: { type: "FeatureCollection", features: [] } }
3328
3309
  },
3329
3310
  layers: [
3330
- { id: "background", type: "background", paint: { "background-color": u.background } }
3311
+ { id: "background", type: "background", paint: { "background-color": d.background } }
3331
3312
  ]
3332
3313
  },
3333
3314
  center: this._center,
@@ -3346,10 +3327,10 @@ class ri {
3346
3327
  async _initSources() {
3347
3328
  if (!this._period)
3348
3329
  try {
3349
- const w = await (await fetch(`${this._apiUrl}/api/periods`)).json();
3350
- this._period = w[w.length - 1];
3351
- } catch (u) {
3352
- console.warn("[AviationChart] fetchPeriods failed:", u), this._period = "latest";
3330
+ const y = await (await fetch(`${this._apiUrl}/api/periods`)).json();
3331
+ this._period = y[y.length - 1];
3332
+ } catch (d) {
3333
+ console.warn("[AviationChart] fetchPeriods failed:", d), this._period = "latest";
3353
3334
  }
3354
3335
  this._map.addSource("navdata", {
3355
3336
  type: "vector",
@@ -3368,15 +3349,15 @@ class ri {
3368
3349
  encoding: "mapbox",
3369
3350
  maxzoom: 8
3370
3351
  });
3371
- const a = new Be.DemSource({
3352
+ const r = new Be.DemSource({
3372
3353
  url: this._terrainUrl,
3373
3354
  encoding: "mapbox",
3374
3355
  maxzoom: 8,
3375
3356
  worker: !0
3376
3357
  });
3377
- a.setupMaplibre(jt), this._map.addSource("contour", {
3358
+ r.setupMaplibre(jt), this._map.addSource("contour", {
3378
3359
  type: "vector",
3379
- tiles: [a.contourProtocolUrl({
3360
+ tiles: [r.contourProtocolUrl({
3380
3361
  thresholds: {
3381
3362
  5: [250, 1e3],
3382
3363
  7: [125, 500],
@@ -3392,30 +3373,30 @@ class ri {
3392
3373
  }), await this._loadBaseData();
3393
3374
  }
3394
3375
  async _loadBaseData() {
3395
- var a, u, w, x;
3376
+ var r, d, y, g;
3396
3377
  try {
3397
- const [g, b] = await Promise.all([
3378
+ const [w, b] = await Promise.all([
3398
3379
  Qt(`${this._apiUrl}/topjson/land.topojson.gz`),
3399
3380
  Qt(`${this._apiUrl}/topjson/boundary.topojson.gz`)
3400
3381
  ]);
3401
- (a = g == null ? void 0 : g.objects) != null && a.land ? (u = this._map.getSource("land")) == null || u.setData($t(g, g.objects.land)) : console.warn("[AviationChart] land topojson missing objects.land"), (w = b == null ? void 0 : b.objects) != null && w.boundary ? (x = this._map.getSource("boundary")) == null || x.setData($t(b, b.objects.boundary)) : console.warn("[AviationChart] boundary topojson missing objects.boundary");
3402
- } catch (g) {
3403
- console.error("[AviationChart] loadBaseData failed:", g);
3382
+ (r = w == null ? void 0 : w.objects) != null && r.land ? (d = this._map.getSource("land")) == null || d.setData($t(w, w.objects.land)) : console.warn("[AviationChart] land topojson missing objects.land"), (y = b == null ? void 0 : b.objects) != null && y.boundary ? (g = this._map.getSource("boundary")) == null || g.setData($t(b, b.objects.boundary)) : console.warn("[AviationChart] boundary topojson missing objects.boundary");
3383
+ } catch (w) {
3384
+ console.error("[AviationChart] loadBaseData failed:", w);
3404
3385
  }
3405
3386
  }
3406
3387
  _initLayers() {
3407
- const a = this._layerVisible.terrain ? "visible" : "none", u = this._layerVisible.contour ? "visible" : "none";
3388
+ const r = this._layerVisible.terrain ? "visible" : "none", d = this._layerVisible.contour ? "visible" : "none";
3408
3389
  this._map.addLayer({
3409
3390
  id: "terrain-color",
3410
3391
  type: "color-relief",
3411
3392
  source: "terrain",
3412
- layout: { visibility: a },
3393
+ layout: { visibility: r },
3413
3394
  paint: { "color-relief-color": ei }
3414
3395
  }), this._map.addLayer({
3415
3396
  id: "terrain-hillshade",
3416
3397
  type: "hillshade",
3417
3398
  source: "terrain",
3418
- layout: { visibility: a },
3399
+ layout: { visibility: r },
3419
3400
  paint: {
3420
3401
  "hillshade-shadow-color": "rgba(74,59,42,0.35)",
3421
3402
  "hillshade-highlight-color": "rgba(255,246,230,0.25)",
@@ -3429,7 +3410,7 @@ class ri {
3429
3410
  type: "line",
3430
3411
  source: "contour",
3431
3412
  "source-layer": "contours",
3432
- layout: { visibility: u },
3413
+ layout: { visibility: d },
3433
3414
  paint: {
3434
3415
  "line-color": ["case", ["==", ["get", "level"], 1], "rgba(100,70,40,0.40)", "rgba(120,90,60,0.18)"],
3435
3416
  "line-width": ["case", ["==", ["get", "level"], 1], 1, 0.5]
@@ -3441,7 +3422,7 @@ class ri {
3441
3422
  "source-layer": "contours",
3442
3423
  filter: ["==", ["get", "level"], 1],
3443
3424
  layout: {
3444
- visibility: u,
3425
+ visibility: d,
3445
3426
  "symbol-placement": "line",
3446
3427
  "text-field": ["concat", ["to-string", ["get", "ele"]], "m"],
3447
3428
  "text-size": 10,
@@ -3455,26 +3436,26 @@ class ri {
3455
3436
  "text-halo-width": 1
3456
3437
  }
3457
3438
  }), this._layerVisible.terrain && this._map.setTerrain({ source: "terrain", exaggeration: 4 });
3458
- for (const w of Yt(this._theme))
3459
- this._map.getLayer(w.id) || this._map.addLayer(w);
3460
- for (const w of Ht("amm", this._theme))
3461
- this._map.getLayer(w.id) || this._map.addLayer(w, "fir-line");
3439
+ for (const y of Ht(this._theme))
3440
+ this._map.getLayer(y.id) || this._map.addLayer(y);
3441
+ for (const y of Yt("amm", this._theme))
3442
+ this._map.getLayer(y.id) || this._map.addLayer(y, "fir-line");
3462
3443
  }
3463
3444
  _applyVisibility() {
3464
- for (const [x, g] of Object.entries(Ct)) {
3465
- const b = this._layerVisible[x] !== !1 ? "visible" : "none";
3466
- for (const S of g)
3445
+ for (const [g, w] of Object.entries(Ct)) {
3446
+ const b = this._layerVisible[g] !== !1 ? "visible" : "none";
3447
+ for (const S of w)
3467
3448
  this._map.getLayer(S) && this._map.setLayoutProperty(S, "visibility", b);
3468
3449
  }
3469
- const a = this._layerVisible.amm !== !1 ? "visible" : "none";
3470
- for (const x of Pt)
3471
- this._map.getLayer(x) && this._map.setLayoutProperty(x, "visibility", a);
3472
- const u = this._layerVisible.terrain ? "visible" : "none";
3473
- for (const x of Zt)
3474
- this._map.getLayer(x) && this._map.setLayoutProperty(x, "visibility", u);
3475
- const w = this._layerVisible.contour ? "visible" : "none";
3476
- for (const x of Jt)
3477
- this._map.getLayer(x) && this._map.setLayoutProperty(x, "visibility", w);
3450
+ const r = this._layerVisible.amm !== !1 ? "visible" : "none";
3451
+ for (const g of Mt)
3452
+ this._map.getLayer(g) && this._map.setLayoutProperty(g, "visibility", r);
3453
+ const d = this._layerVisible.terrain ? "visible" : "none";
3454
+ for (const g of Zt)
3455
+ this._map.getLayer(g) && this._map.setLayoutProperty(g, "visibility", d);
3456
+ const y = this._layerVisible.contour ? "visible" : "none";
3457
+ for (const g of Jt)
3458
+ this._map.getLayer(g) && this._map.setLayoutProperty(g, "visibility", y);
3478
3459
  }
3479
3460
  // ── Public API ────────────────────────────────────────────────────────────
3480
3461
  /** Raw MapLibre Map instance */
@@ -3493,23 +3474,23 @@ class ri {
3493
3474
  * Switch the chart theme.
3494
3475
  * @param {'light'|'dark'} theme
3495
3476
  */
3496
- setTheme(a) {
3497
- if (a === this._theme) return;
3498
- this._theme = a;
3499
- const u = ut[a] ?? ut.light;
3500
- this._map.setPaintProperty("background", "background-color", u.background);
3501
- const w = [
3477
+ setTheme(r) {
3478
+ if (r === this._theme) return;
3479
+ this._theme = r;
3480
+ const d = ut[r] ?? ut.light;
3481
+ this._map.setPaintProperty("background", "background-color", d.background);
3482
+ const y = [
3502
3483
  "landLaye",
3503
3484
  "boundary",
3504
3485
  ...Object.values(Ct).flat(),
3505
- ...Pt
3486
+ ...Mt
3506
3487
  ];
3507
- for (const x of w)
3508
- this._map.getLayer(x) && this._map.removeLayer(x);
3509
- for (const x of Yt(this._theme))
3510
- this._map.addLayer(x);
3511
- for (const x of Ht("amm", this._theme))
3512
- this._map.getLayer(x.id) || this._map.addLayer(x, "fir-line");
3488
+ for (const g of y)
3489
+ this._map.getLayer(g) && this._map.removeLayer(g);
3490
+ for (const g of Ht(this._theme))
3491
+ this._map.addLayer(g);
3492
+ for (const g of Yt("amm", this._theme))
3493
+ this._map.getLayer(g.id) || this._map.addLayer(g, "fir-line");
3513
3494
  this._applyVisibility();
3514
3495
  }
3515
3496
  /**
@@ -3523,52 +3504,66 @@ class ri {
3523
3504
  * @param {string} key
3524
3505
  * @param {boolean} visible
3525
3506
  */
3526
- setLayerVisible(a, u) {
3527
- if (this._layerVisible[a] = u, a === "terrain") {
3528
- const g = u ? "visible" : "none";
3507
+ setLayerVisible(r, d) {
3508
+ if (this._layerVisible[r] = d, r === "terrain") {
3509
+ const w = d ? "visible" : "none";
3529
3510
  for (const b of Zt)
3530
- this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", g);
3531
- this._map.setTerrain(u ? { source: "terrain", exaggeration: 4 } : null);
3511
+ this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", w);
3512
+ this._map.setTerrain(d ? { source: "terrain", exaggeration: 4 } : null);
3532
3513
  return;
3533
3514
  }
3534
- if (a === "contour") {
3535
- const g = u ? "visible" : "none";
3515
+ if (r === "contour") {
3516
+ const w = d ? "visible" : "none";
3536
3517
  for (const b of Jt)
3537
- this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", g);
3518
+ this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", w);
3538
3519
  return;
3539
3520
  }
3540
- if (a === "amm") {
3541
- const g = u ? "visible" : "none";
3542
- for (const b of Pt)
3543
- this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", g);
3521
+ if (r === "amm") {
3522
+ const w = d ? "visible" : "none";
3523
+ for (const b of Mt)
3524
+ this._map.getLayer(b) && this._map.setLayoutProperty(b, "visibility", w);
3544
3525
  return;
3545
3526
  }
3546
- const w = Ct[a];
3547
- if (!w) {
3548
- console.warn(`[AviationChart] Unknown layer key: "${a}"`);
3527
+ const y = Ct[r];
3528
+ if (!y) {
3529
+ console.warn(`[AviationChart] Unknown layer key: "${r}"`);
3549
3530
  return;
3550
3531
  }
3551
- const x = u ? "visible" : "none";
3552
- for (const g of w)
3553
- this._map.getLayer(g) && this._map.setLayoutProperty(g, "visibility", x);
3532
+ const g = d ? "visible" : "none";
3533
+ for (const w of y)
3534
+ this._map.getLayer(w) && this._map.setLayoutProperty(w, "visibility", g);
3554
3535
  }
3555
3536
  /**
3556
3537
  * Switch the navdata period. Fetches tiles for the new period immediately.
3557
3538
  * @param {string} period
3558
3539
  */
3559
- setPeriod(a) {
3560
- var w;
3561
- this._period = a;
3562
- const u = (w = this._map) == null ? void 0 : w.getSource("navdata");
3563
- u && u.setTiles([`${this._apiUrl}/api/tiles/${a}/{z}/{x}/{y}.pbf`]);
3564
- }
3565
- /** Proxy to map.on — returns `this` for chaining */
3566
- on(a, u) {
3567
- return this._map.on(a, u), this;
3568
- }
3569
- /** Proxy to map.off — returns `this` for chaining */
3570
- off(a, u) {
3571
- return this._map.off(a, u), this;
3540
+ setPeriod(r) {
3541
+ var y;
3542
+ this._period = r;
3543
+ const d = (y = this._map) == null ? void 0 : y.getSource("navdata");
3544
+ d && d.setTiles([`${this._apiUrl}/api/tiles/${r}/{z}/{x}/{y}.pbf`]);
3545
+ }
3546
+ /**
3547
+ * Proxy to map.on. Supports both signatures:
3548
+ * on(event, listener)
3549
+ * on(event, layerId, listener) ← layer-delegated events
3550
+ * Returns `this` for chaining.
3551
+ */
3552
+ on(r, d, y) {
3553
+ return typeof d == "string" ? this._map.on(r, d, y) : this._map.on(r, d ?? y), this;
3554
+ }
3555
+ /**
3556
+ * Proxy to map.off. Supports both signatures:
3557
+ * off(event, listener)
3558
+ * off(event, layerId, listener)
3559
+ * Returns `this` for chaining.
3560
+ */
3561
+ off(r, d, y) {
3562
+ return typeof d == "string" ? this._map.off(r, d, y) : this._map.off(r, d ?? y), this;
3563
+ }
3564
+ /** Proxy to map.once — supports layer-delegated signature too. */
3565
+ once(r, d, y) {
3566
+ return typeof d == "string" ? this._map.once(r, d, y) : this._map.once(r, d ?? y), this;
3572
3567
  }
3573
3568
  /** Remove the map and release all resources */
3574
3569
  destroy() {