@genome-spy/app 0.84.0 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{agentApi-DHXYZVvQ.js → agentApi-Cz0hCnVp.js} +5790 -5190
  2. package/dist/agentApi.es.js +3117 -2793
  3. package/dist/agentShared.es.js +8 -8
  4. package/dist/arrayUtils-LJpQOu-U.js +2175 -0
  5. package/dist/canvas2d-DoAXEiF9.js +309 -0
  6. package/dist/canvas2d-f5jl4A5D.js +310 -0
  7. package/dist/canvasSizeHelper-7h_8rOcx.js +56 -0
  8. package/dist/clipOptions-gqdb3fvW.js +43 -0
  9. package/dist/{clipOptions-Dqco1p8b.js → color-W5zffv-z.js} +1 -43
  10. package/dist/{debug-aHQsa6hU.js → debug-BvCZWumf.js} +2 -2
  11. package/dist/{debug-D6FqxKEj.js → debug-CgDtmspT.js} +2 -2
  12. package/dist/{esm-CGLz7idZ.js → esm-BA6yMcc-.js} +438 -434
  13. package/dist/{esm-D8vvQAP3.js → esm-CcDLRSvC.js} +33 -33
  14. package/dist/{esm-BeV56E_5.js → esm-CfYZhLHN.js} +33 -33
  15. package/dist/{esm-DQ3lJSQN.js → esm-JAiZmFIS.js} +1 -1
  16. package/dist/{framebufferReadback-CC0D6Haw.js → framebufferReadback-CCLOjStu.js} +26 -25
  17. package/dist/{framebufferReadback-Bje9lHb7.js → framebufferReadback-THWwFqs8.js} +14 -13
  18. package/dist/index.es.js +541 -538
  19. package/dist/index.js +560 -554
  20. package/dist/nativeText-DMO8gLt7.js +806 -0
  21. package/dist/nativeText-m5AUINMq.js +806 -0
  22. package/dist/paramUtils-BYI4rwyL.js +2195 -0
  23. package/dist/schema.json +1488 -88
  24. package/dist/style.css +1 -1
  25. package/dist/svg-CCu8kYy2.js +1158 -0
  26. package/dist/svg-yFj875aX.js +1158 -0
  27. package/dist/{svgNumber-C6aRPc8Z.js → svgNumber-DNxESJQB.js} +1 -1
  28. package/dist/{twgl-full.module-BNEMlXRV.js → twgl-full.module-DB2UdP1k.js} +1 -1
  29. package/dist/{viewIdentityRegistry-AEQpJTDm.js → viewIdentityRegistry-BUdkK9zT.js} +1 -1
  30. package/dist/{viewIdentityRegistry-Dl7rR4Ay.js → viewIdentityRegistry-D3oPbN4O.js} +1 -1
  31. package/dist/viewSelectors-DGCspRN3.js +4198 -0
  32. package/dist/viewSelectors-U5oLCLHV.js +4195 -0
  33. package/dist/{viewUtils-DMNiWslc.js → viewUtils-Dg4RA40Q.js} +2384 -2109
  34. package/dist/warning-CpIIpk8e.js +7 -0
  35. package/dist/warning-DRGdb6BF.js +59 -0
  36. package/dist/{raster-BofBWXbe.js → webgl-Ci6ZhCCf.js} +4 -4
  37. package/dist/{raster-9uKYMjHZ.js → webgl-Dpz8a3TI.js} +3 -3
  38. package/package.json +5 -5
  39. package/dist/svg-CvsT1Y2V.js +0 -1793
  40. package/dist/svg-DRgWfcsL.js +0 -1793
  41. package/dist/viewSelectors-BhW4mTR1.js +0 -6386
  42. package/dist/viewSelectors-Bwzj10Qz.js +0 -6363
@@ -0,0 +1,4198 @@
1
+ import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
+ import { $t as t, A as n, Et as r, Gt as i, Jt as a, Kt as o, Mt as s, Tt as c, Ut as l, V as u, Vt as d, Wt as f, X as p, a as m, c as h, k as ee, n as g, o as te, qt as _, r as v, tn as ne, wt as y, xt as re } from "./paramUtils-BYI4rwyL.js";
3
+ import { a as ie, c as ae, d as oe, i as se, l as ce, n as le, o as ue, r as de, s as fe, t as pe, u as me } from "./color-W5zffv-z.js";
4
+ import { a as he, t as ge } from "./clipOptions-gqdb3fvW.js";
5
+ //#region ../../node_modules/vega-util/build/peek.js
6
+ function _e(e) {
7
+ return e[e.length - 1];
8
+ }
9
+ //#endregion
10
+ //#region ../../node_modules/vega-util/build/toNumber.js
11
+ function ve(e) {
12
+ return e == null || e === "" ? null : +e;
13
+ }
14
+ //#endregion
15
+ //#region ../../node_modules/d3-array/src/ascending.js
16
+ function b(e, t) {
17
+ return e == null || t == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
18
+ }
19
+ //#endregion
20
+ //#region ../../node_modules/d3-array/src/descending.js
21
+ function ye(e, t) {
22
+ return e == null || t == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
23
+ }
24
+ //#endregion
25
+ //#region ../../node_modules/d3-array/src/bisector.js
26
+ function be(e) {
27
+ let t, n, r;
28
+ e.length === 2 ? (t = e === b || e === ye ? e : xe, n = e, r = e) : (t = b, n = (t, n) => b(e(t), n), r = (t, n) => e(t) - n);
29
+ function i(e, r, i = 0, a = e.length) {
30
+ if (i < a) {
31
+ if (t(r, r) !== 0) return a;
32
+ do {
33
+ let t = i + a >>> 1;
34
+ n(e[t], r) < 0 ? i = t + 1 : a = t;
35
+ } while (i < a);
36
+ }
37
+ return i;
38
+ }
39
+ function a(e, r, i = 0, a = e.length) {
40
+ if (i < a) {
41
+ if (t(r, r) !== 0) return a;
42
+ do {
43
+ let t = i + a >>> 1;
44
+ n(e[t], r) <= 0 ? i = t + 1 : a = t;
45
+ } while (i < a);
46
+ }
47
+ return i;
48
+ }
49
+ function o(e, t, n = 0, a = e.length) {
50
+ let o = i(e, t, n, a - 1);
51
+ return o > n && r(e[o - 1], t) > -r(e[o], t) ? o - 1 : o;
52
+ }
53
+ return {
54
+ left: i,
55
+ center: o,
56
+ right: a
57
+ };
58
+ }
59
+ function xe() {
60
+ return 0;
61
+ }
62
+ //#endregion
63
+ //#region ../../node_modules/d3-array/src/number.js
64
+ function Se(e) {
65
+ return e === null ? NaN : +e;
66
+ }
67
+ function* Ce(e, t) {
68
+ if (t === void 0) for (let t of e) t != null && (t = +t) >= t && (yield t);
69
+ else {
70
+ let n = -1;
71
+ for (let r of e) (r = t(r, ++n, e)) != null && (r = +r) >= r && (yield r);
72
+ }
73
+ }
74
+ //#endregion
75
+ //#region ../../node_modules/d3-array/src/bisect.js
76
+ var we = be(b), x = we.right, Te = we.left;
77
+ be(Se).center;
78
+ //#endregion
79
+ //#region ../../node_modules/d3-array/src/permute.js
80
+ function Ee(e, t) {
81
+ return Array.from(t, (t) => e[t]);
82
+ }
83
+ //#endregion
84
+ //#region ../../node_modules/d3-array/src/sort.js
85
+ function De(e, ...t) {
86
+ if (typeof e[Symbol.iterator] != "function") throw TypeError("values is not iterable");
87
+ e = Array.from(e);
88
+ let [n] = t;
89
+ if (n && n.length !== 2 || t.length > 1) {
90
+ let r = Uint32Array.from(e, (e, t) => t);
91
+ return t.length > 1 ? (t = t.map((t) => e.map(t)), r.sort((e, n) => {
92
+ for (let r of t) {
93
+ let t = ke(r[e], r[n]);
94
+ if (t) return t;
95
+ }
96
+ })) : (n = e.map(n), r.sort((e, t) => ke(n[e], n[t]))), Ee(e, r);
97
+ }
98
+ return e.sort(Oe(n));
99
+ }
100
+ function Oe(e = b) {
101
+ if (e === b) return ke;
102
+ if (typeof e != "function") throw TypeError("compare is not a function");
103
+ return (t, n) => {
104
+ let r = e(t, n);
105
+ return r || r === 0 ? r : (e(n, n) === 0) - (e(t, t) === 0);
106
+ };
107
+ }
108
+ function ke(e, t) {
109
+ return (e == null || !(e >= e)) - (t == null || !(t >= t)) || (e < t ? -1 : +(e > t));
110
+ }
111
+ //#endregion
112
+ //#region ../../node_modules/d3-array/src/ticks.js
113
+ var Ae = Math.sqrt(50), je = Math.sqrt(10), Me = Math.sqrt(2);
114
+ function Ne(e, t, n) {
115
+ let r = (t - e) / Math.max(0, n), i = Math.floor(Math.log10(r)), a = r / 10 ** i, o = a >= Ae ? 10 : a >= je ? 5 : a >= Me ? 2 : 1, s, c, l;
116
+ return i < 0 ? (l = 10 ** -i / o, s = Math.round(e * l), c = Math.round(t * l), s / l < e && ++s, c / l > t && --c, l = -l) : (l = 10 ** i * o, s = Math.round(e / l), c = Math.round(t / l), s * l < e && ++s, c * l > t && --c), c < s && .5 <= n && n < 2 ? Ne(e, t, n * 2) : [
117
+ s,
118
+ c,
119
+ l
120
+ ];
121
+ }
122
+ function Pe(e, t, n) {
123
+ if (t = +t, e = +e, n = +n, !(n > 0)) return [];
124
+ if (e === t) return [e];
125
+ let r = t < e, [i, a, o] = r ? Ne(t, e, n) : Ne(e, t, n);
126
+ if (!(a >= i)) return [];
127
+ let s = a - i + 1, c = Array(s);
128
+ if (r) if (o < 0) for (let e = 0; e < s; ++e) c[e] = (a - e) / -o;
129
+ else for (let e = 0; e < s; ++e) c[e] = (a - e) * o;
130
+ else if (o < 0) for (let e = 0; e < s; ++e) c[e] = (i + e) / -o;
131
+ else for (let e = 0; e < s; ++e) c[e] = (i + e) * o;
132
+ return c;
133
+ }
134
+ function Fe(e, t, n) {
135
+ return t = +t, e = +e, n = +n, Ne(e, t, n)[2];
136
+ }
137
+ function Ie(e, t, n) {
138
+ t = +t, e = +e, n = +n;
139
+ let r = t < e, i = r ? Fe(t, e, n) : Fe(e, t, n);
140
+ return (r ? -1 : 1) * (i < 0 ? 1 / -i : i);
141
+ }
142
+ //#endregion
143
+ //#region ../../node_modules/d3-array/src/max.js
144
+ function Le(e, t) {
145
+ let n;
146
+ if (t === void 0) for (let t of e) t != null && (n < t || n === void 0 && t >= t) && (n = t);
147
+ else {
148
+ let r = -1;
149
+ for (let i of e) (i = t(i, ++r, e)) != null && (n < i || n === void 0 && i >= i) && (n = i);
150
+ }
151
+ return n;
152
+ }
153
+ //#endregion
154
+ //#region ../../node_modules/d3-array/src/min.js
155
+ function Re(e, t) {
156
+ let n;
157
+ if (t === void 0) for (let t of e) t != null && (n > t || n === void 0 && t >= t) && (n = t);
158
+ else {
159
+ let r = -1;
160
+ for (let i of e) (i = t(i, ++r, e)) != null && (n > i || n === void 0 && i >= i) && (n = i);
161
+ }
162
+ return n;
163
+ }
164
+ //#endregion
165
+ //#region ../../node_modules/d3-array/src/quickselect.js
166
+ function ze(e, t, n = 0, r = Infinity, i) {
167
+ if (t = Math.floor(t), n = Math.floor(Math.max(0, n)), r = Math.floor(Math.min(e.length - 1, r)), !(n <= t && t <= r)) return e;
168
+ for (i = i === void 0 ? ke : Oe(i); r > n;) {
169
+ if (r - n > 600) {
170
+ let a = r - n + 1, o = t - n + 1, s = Math.log(a), c = .5 * Math.exp(2 * s / 3), l = .5 * Math.sqrt(s * c * (a - c) / a) * (o - a / 2 < 0 ? -1 : 1), u = Math.max(n, Math.floor(t - o * c / a + l)), d = Math.min(r, Math.floor(t + (a - o) * c / a + l));
171
+ ze(e, t, u, d, i);
172
+ }
173
+ let a = e[t], o = n, s = r;
174
+ for (Be(e, n, t), i(e[r], a) > 0 && Be(e, n, r); o < s;) {
175
+ for (Be(e, o, s), ++o, --s; i(e[o], a) < 0;) ++o;
176
+ for (; i(e[s], a) > 0;) --s;
177
+ }
178
+ i(e[n], a) === 0 ? Be(e, n, s) : (++s, Be(e, s, r)), s <= t && (n = s + 1), t <= s && (r = s - 1);
179
+ }
180
+ return e;
181
+ }
182
+ function Be(e, t, n) {
183
+ let r = e[t];
184
+ e[t] = e[n], e[n] = r;
185
+ }
186
+ //#endregion
187
+ //#region ../../node_modules/d3-array/src/quantile.js
188
+ function Ve(e, t, n) {
189
+ if (e = Float64Array.from(Ce(e, n)), !(!(r = e.length) || isNaN(t = +t))) {
190
+ if (t <= 0 || r < 2) return Re(e);
191
+ if (t >= 1) return Le(e);
192
+ var r, i = (r - 1) * t, a = Math.floor(i), o = Le(ze(e, a).subarray(0, a + 1));
193
+ return o + (Re(e.subarray(a + 1)) - o) * (i - a);
194
+ }
195
+ }
196
+ function He(e, t, n = Se) {
197
+ if (!(!(r = e.length) || isNaN(t = +t))) {
198
+ if (t <= 0 || r < 2) return +n(e[0], 0, e);
199
+ if (t >= 1) return +n(e[r - 1], r - 1, e);
200
+ var r, i = (r - 1) * t, a = Math.floor(i), o = +n(e[a], a, e);
201
+ return o + (+n(e[a + 1], a + 1, e) - o) * (i - a);
202
+ }
203
+ }
204
+ //#endregion
205
+ //#region ../../node_modules/d3-format/src/precisionFixed.js
206
+ function Ue(e) {
207
+ return Math.max(0, -o(Math.abs(e)));
208
+ }
209
+ //#endregion
210
+ //#region ../../node_modules/d3-format/src/precisionPrefix.js
211
+ function We(e, t) {
212
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(o(t) / 3))) * 3 - o(Math.abs(e)));
213
+ }
214
+ //#endregion
215
+ //#region ../../node_modules/d3-format/src/precisionRound.js
216
+ function Ge(e, t) {
217
+ return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, o(t) - o(e)) + 1;
218
+ }
219
+ //#endregion
220
+ //#region ../../node_modules/d3-time/src/interval.js
221
+ var Ke = /* @__PURE__ */ new Date(), qe = /* @__PURE__ */ new Date();
222
+ function S(e, t, n, r) {
223
+ function i(t) {
224
+ return e(t = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+t)), t;
225
+ }
226
+ return i.floor = (t) => (e(t = /* @__PURE__ */ new Date(+t)), t), i.ceil = (n) => (e(n = /* @__PURE__ */ new Date(n - 1)), t(n, 1), e(n), n), i.round = (e) => {
227
+ let t = i(e), n = i.ceil(e);
228
+ return e - t < n - e ? t : n;
229
+ }, i.offset = (e, n) => (t(e = /* @__PURE__ */ new Date(+e), n == null ? 1 : Math.floor(n)), e), i.range = (n, r, a) => {
230
+ let o = [];
231
+ if (n = i.ceil(n), a = a == null ? 1 : Math.floor(a), !(n < r) || !(a > 0)) return o;
232
+ let s;
233
+ do
234
+ o.push(s = /* @__PURE__ */ new Date(+n)), t(n, a), e(n);
235
+ while (s < n && n < r);
236
+ return o;
237
+ }, i.filter = (n) => S((t) => {
238
+ if (t >= t) for (; e(t), !n(t);) t.setTime(t - 1);
239
+ }, (e, r) => {
240
+ if (e >= e) if (r < 0) for (; ++r <= 0;) for (; t(e, -1), !n(e););
241
+ else for (; --r >= 0;) for (; t(e, 1), !n(e););
242
+ }), n && (i.count = (t, r) => (Ke.setTime(+t), qe.setTime(+r), e(Ke), e(qe), Math.floor(n(Ke, qe))), i.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? i.filter(r ? (t) => r(t) % e === 0 : (t) => i.count(0, t) % e === 0) : i)), i;
243
+ }
244
+ //#endregion
245
+ //#region ../../node_modules/d3-time/src/millisecond.js
246
+ var Je = S(() => {}, (e, t) => {
247
+ e.setTime(+e + t);
248
+ }, (e, t) => t - e);
249
+ Je.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? S((t) => {
250
+ t.setTime(Math.floor(t / e) * e);
251
+ }, (t, n) => {
252
+ t.setTime(+t + n * e);
253
+ }, (t, n) => (n - t) / e) : Je), Je.range;
254
+ //#endregion
255
+ //#region ../../node_modules/d3-time/src/duration.js
256
+ var C = 1e3, w = C * 60, T = w * 60, E = T * 24, Ye = E * 7, Xe = E * 30, Ze = E * 365, D = S((e) => {
257
+ e.setTime(e - e.getMilliseconds());
258
+ }, (e, t) => {
259
+ e.setTime(+e + t * C);
260
+ }, (e, t) => (t - e) / C, (e) => e.getUTCSeconds());
261
+ D.range;
262
+ //#endregion
263
+ //#region ../../node_modules/d3-time/src/minute.js
264
+ var Qe = S((e) => {
265
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * C);
266
+ }, (e, t) => {
267
+ e.setTime(+e + t * w);
268
+ }, (e, t) => (t - e) / w, (e) => e.getMinutes());
269
+ Qe.range;
270
+ var $e = S((e) => {
271
+ e.setUTCSeconds(0, 0);
272
+ }, (e, t) => {
273
+ e.setTime(+e + t * w);
274
+ }, (e, t) => (t - e) / w, (e) => e.getUTCMinutes());
275
+ $e.range;
276
+ //#endregion
277
+ //#region ../../node_modules/d3-time/src/hour.js
278
+ var et = S((e) => {
279
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * C - e.getMinutes() * w);
280
+ }, (e, t) => {
281
+ e.setTime(+e + t * T);
282
+ }, (e, t) => (t - e) / T, (e) => e.getHours());
283
+ et.range;
284
+ var tt = S((e) => {
285
+ e.setUTCMinutes(0, 0, 0);
286
+ }, (e, t) => {
287
+ e.setTime(+e + t * T);
288
+ }, (e, t) => (t - e) / T, (e) => e.getUTCHours());
289
+ tt.range;
290
+ //#endregion
291
+ //#region ../../node_modules/d3-time/src/day.js
292
+ var O = S((e) => e.setHours(0, 0, 0, 0), (e, t) => e.setDate(e.getDate() + t), (e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * w) / E, (e) => e.getDate() - 1);
293
+ O.range;
294
+ var nt = S((e) => {
295
+ e.setUTCHours(0, 0, 0, 0);
296
+ }, (e, t) => {
297
+ e.setUTCDate(e.getUTCDate() + t);
298
+ }, (e, t) => (t - e) / E, (e) => e.getUTCDate() - 1);
299
+ nt.range;
300
+ var rt = S((e) => {
301
+ e.setUTCHours(0, 0, 0, 0);
302
+ }, (e, t) => {
303
+ e.setUTCDate(e.getUTCDate() + t);
304
+ }, (e, t) => (t - e) / E, (e) => Math.floor(e / E));
305
+ rt.range;
306
+ //#endregion
307
+ //#region ../../node_modules/d3-time/src/week.js
308
+ function k(e) {
309
+ return S((t) => {
310
+ t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
311
+ }, (e, t) => {
312
+ e.setDate(e.getDate() + t * 7);
313
+ }, (e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * w) / Ye);
314
+ }
315
+ var it = k(0), at = k(1), ot = k(2), st = k(3), ct = k(4), lt = k(5), ut = k(6);
316
+ it.range, at.range, ot.range, st.range, ct.range, lt.range, ut.range;
317
+ function A(e) {
318
+ return S((t) => {
319
+ t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
320
+ }, (e, t) => {
321
+ e.setUTCDate(e.getUTCDate() + t * 7);
322
+ }, (e, t) => (t - e) / Ye);
323
+ }
324
+ var dt = A(0), ft = A(1), pt = A(2), mt = A(3), ht = A(4), gt = A(5), _t = A(6);
325
+ dt.range, ft.range, pt.range, mt.range, ht.range, gt.range, _t.range;
326
+ //#endregion
327
+ //#region ../../node_modules/d3-time/src/month.js
328
+ var vt = S((e) => {
329
+ e.setDate(1), e.setHours(0, 0, 0, 0);
330
+ }, (e, t) => {
331
+ e.setMonth(e.getMonth() + t);
332
+ }, (e, t) => t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12, (e) => e.getMonth());
333
+ vt.range;
334
+ var yt = S((e) => {
335
+ e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
336
+ }, (e, t) => {
337
+ e.setUTCMonth(e.getUTCMonth() + t);
338
+ }, (e, t) => t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12, (e) => e.getUTCMonth());
339
+ yt.range;
340
+ //#endregion
341
+ //#region ../../node_modules/d3-time/src/year.js
342
+ var j = S((e) => {
343
+ e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
344
+ }, (e, t) => {
345
+ e.setFullYear(e.getFullYear() + t);
346
+ }, (e, t) => t.getFullYear() - e.getFullYear(), (e) => e.getFullYear());
347
+ j.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : S((t) => {
348
+ t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
349
+ }, (t, n) => {
350
+ t.setFullYear(t.getFullYear() + n * e);
351
+ }), j.range;
352
+ var M = S((e) => {
353
+ e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
354
+ }, (e, t) => {
355
+ e.setUTCFullYear(e.getUTCFullYear() + t);
356
+ }, (e, t) => t.getUTCFullYear() - e.getUTCFullYear(), (e) => e.getUTCFullYear());
357
+ M.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : S((t) => {
358
+ t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
359
+ }, (t, n) => {
360
+ t.setUTCFullYear(t.getUTCFullYear() + n * e);
361
+ }), M.range;
362
+ //#endregion
363
+ //#region ../../node_modules/d3-time/src/ticks.js
364
+ function bt(e, t, n, r, i, a) {
365
+ let o = [
366
+ [
367
+ D,
368
+ 1,
369
+ C
370
+ ],
371
+ [
372
+ D,
373
+ 5,
374
+ 5 * C
375
+ ],
376
+ [
377
+ D,
378
+ 15,
379
+ 15 * C
380
+ ],
381
+ [
382
+ D,
383
+ 30,
384
+ 30 * C
385
+ ],
386
+ [
387
+ a,
388
+ 1,
389
+ w
390
+ ],
391
+ [
392
+ a,
393
+ 5,
394
+ 5 * w
395
+ ],
396
+ [
397
+ a,
398
+ 15,
399
+ 15 * w
400
+ ],
401
+ [
402
+ a,
403
+ 30,
404
+ 30 * w
405
+ ],
406
+ [
407
+ i,
408
+ 1,
409
+ T
410
+ ],
411
+ [
412
+ i,
413
+ 3,
414
+ 3 * T
415
+ ],
416
+ [
417
+ i,
418
+ 6,
419
+ 6 * T
420
+ ],
421
+ [
422
+ i,
423
+ 12,
424
+ 12 * T
425
+ ],
426
+ [
427
+ r,
428
+ 1,
429
+ E
430
+ ],
431
+ [
432
+ r,
433
+ 2,
434
+ 2 * E
435
+ ],
436
+ [
437
+ n,
438
+ 1,
439
+ Ye
440
+ ],
441
+ [
442
+ t,
443
+ 1,
444
+ Xe
445
+ ],
446
+ [
447
+ t,
448
+ 3,
449
+ 3 * Xe
450
+ ],
451
+ [
452
+ e,
453
+ 1,
454
+ Ze
455
+ ]
456
+ ];
457
+ function s(e, t, n) {
458
+ let r = t < e;
459
+ r && ([e, t] = [t, e]);
460
+ let i = n && typeof n.range == "function" ? n : c(e, t, n), a = i ? i.range(e, +t + 1) : [];
461
+ return r ? a.reverse() : a;
462
+ }
463
+ function c(t, n, r) {
464
+ let i = Math.abs(n - t) / r, a = be(([, , e]) => e).right(o, i);
465
+ if (a === o.length) return e.every(Ie(t / Ze, n / Ze, r));
466
+ if (a === 0) return Je.every(Math.max(Ie(t, n, r), 1));
467
+ let [s, c] = o[i / o[a - 1][2] < o[a][2] / i ? a - 1 : a];
468
+ return s.every(c);
469
+ }
470
+ return [s, c];
471
+ }
472
+ var [xt, St] = bt(M, yt, dt, rt, tt, $e), [Ct, wt] = bt(j, vt, it, O, et, Qe), N = "year", Tt = "quarter", Et = "month", Dt = "week", Ot = "date", kt = "dayofyear", At = "hours", jt = "minutes", Mt = "seconds", Nt = "milliseconds";
473
+ [
474
+ N,
475
+ Tt,
476
+ Et,
477
+ Dt,
478
+ Ot,
479
+ "day",
480
+ kt,
481
+ At,
482
+ jt,
483
+ Mt,
484
+ Nt
485
+ ].reduce((e, t, n) => (e[t] = 1 + n, e), {}), `${N}${Et}`, `${N}${Et}${Ot}`, `${At}${jt}`;
486
+ var Pt = {
487
+ [N]: j,
488
+ [Tt]: vt.every(3),
489
+ [Et]: vt,
490
+ [Dt]: it,
491
+ [Ot]: O,
492
+ day: O,
493
+ [kt]: O,
494
+ [At]: et,
495
+ [jt]: Qe,
496
+ [Mt]: D,
497
+ [Nt]: Je
498
+ }, Ft = {
499
+ [N]: M,
500
+ [Tt]: yt.every(3),
501
+ [Et]: yt,
502
+ [Dt]: dt,
503
+ [Ot]: nt,
504
+ day: nt,
505
+ [kt]: nt,
506
+ [At]: tt,
507
+ [jt]: $e,
508
+ [Mt]: D,
509
+ [Nt]: Je
510
+ };
511
+ function It(e) {
512
+ return Pt[e];
513
+ }
514
+ function Lt(e) {
515
+ return Ft[e];
516
+ }
517
+ var Rt = 1e3, zt = Rt * 60, Bt = zt * 60, Vt = Bt * 24;
518
+ Vt * 7;
519
+ var Ht = Vt * 30;
520
+ Vt * 365, [
521
+ N,
522
+ Et,
523
+ Ot,
524
+ At,
525
+ jt,
526
+ Mt,
527
+ Nt
528
+ ].slice(0, -1).slice(0, -1).slice(0, -1).slice(0, -1), 5 * Rt, 15 * Rt, 30 * Rt, 5 * zt, 15 * zt, 30 * zt, 3 * Bt, 6 * Bt, 12 * Bt, 3 * Ht;
529
+ //#endregion
530
+ //#region ../../node_modules/d3-time-format/src/locale.js
531
+ function Ut(e) {
532
+ if (0 <= e.y && e.y < 100) {
533
+ var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
534
+ return t.setFullYear(e.y), t;
535
+ }
536
+ return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
537
+ }
538
+ function Wt(e) {
539
+ if (0 <= e.y && e.y < 100) {
540
+ var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
541
+ return t.setUTCFullYear(e.y), t;
542
+ }
543
+ return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
544
+ }
545
+ function Gt(e, t, n) {
546
+ return {
547
+ y: e,
548
+ m: t,
549
+ d: n,
550
+ H: 0,
551
+ M: 0,
552
+ S: 0,
553
+ L: 0
554
+ };
555
+ }
556
+ function Kt(e) {
557
+ var t = e.dateTime, n = e.date, r = e.time, i = e.periods, a = e.days, o = e.shortDays, s = e.months, c = e.shortMonths, l = Zt(i), u = Qt(i), d = Zt(a), f = Qt(a), p = Zt(o), m = Qt(o), h = Zt(s), ee = Qt(s), g = Zt(c), te = Qt(c), _ = {
558
+ a: pe,
559
+ A: me,
560
+ b: he,
561
+ B: ge,
562
+ c: null,
563
+ d: bn,
564
+ e: bn,
565
+ f: Tn,
566
+ g: In,
567
+ G: Rn,
568
+ H: xn,
569
+ I: Sn,
570
+ j: Cn,
571
+ L: wn,
572
+ m: En,
573
+ M: Dn,
574
+ p: _e,
575
+ q: ve,
576
+ Q: sr,
577
+ s: cr,
578
+ S: On,
579
+ u: kn,
580
+ U: An,
581
+ V: Mn,
582
+ w: Nn,
583
+ W: Pn,
584
+ x: null,
585
+ X: null,
586
+ y: Fn,
587
+ Y: Ln,
588
+ Z: zn,
589
+ "%": or
590
+ }, v = {
591
+ a: b,
592
+ A: ye,
593
+ b: be,
594
+ B: xe,
595
+ c: null,
596
+ d: Bn,
597
+ e: Bn,
598
+ f: Gn,
599
+ g: nr,
600
+ G: ir,
601
+ H: Vn,
602
+ I: Hn,
603
+ j: Un,
604
+ L: Wn,
605
+ m: Kn,
606
+ M: qn,
607
+ p: Se,
608
+ q: Ce,
609
+ Q: sr,
610
+ s: cr,
611
+ S: Jn,
612
+ u: Yn,
613
+ U: Xn,
614
+ V: Qn,
615
+ w: $n,
616
+ W: er,
617
+ x: null,
618
+ X: null,
619
+ y: tr,
620
+ Y: rr,
621
+ Z: ar,
622
+ "%": or
623
+ }, ne = {
624
+ a: oe,
625
+ A: se,
626
+ b: ce,
627
+ B: le,
628
+ c: ue,
629
+ d: un,
630
+ e: un,
631
+ f: gn,
632
+ g: on,
633
+ G: an,
634
+ H: fn,
635
+ I: fn,
636
+ j: dn,
637
+ L: hn,
638
+ m: ln,
639
+ M: pn,
640
+ p: ae,
641
+ q: cn,
642
+ Q: vn,
643
+ s: yn,
644
+ S: mn,
645
+ u: en,
646
+ U: tn,
647
+ V: nn,
648
+ w: $t,
649
+ W: rn,
650
+ x: de,
651
+ X: fe,
652
+ y: on,
653
+ Y: an,
654
+ Z: sn,
655
+ "%": _n
656
+ };
657
+ _.x = y(n, _), _.X = y(r, _), _.c = y(t, _), v.x = y(n, v), v.X = y(r, v), v.c = y(t, v);
658
+ function y(e, t) {
659
+ return function(n) {
660
+ var r = [], i = -1, a = 0, o = e.length, s, c, l;
661
+ for (n instanceof Date || (n = /* @__PURE__ */ new Date(+n)); ++i < o;) e.charCodeAt(i) === 37 && (r.push(e.slice(a, i)), (c = qt[s = e.charAt(++i)]) == null ? c = s === "e" ? " " : "0" : s = e.charAt(++i), (l = t[s]) && (s = l(n, c)), r.push(s), a = i + 1);
662
+ return r.push(e.slice(a, i)), r.join("");
663
+ };
664
+ }
665
+ function re(e, t) {
666
+ return function(n) {
667
+ var r = Gt(1900, void 0, 1), i = ie(r, e, n += "", 0), a, o;
668
+ if (i != n.length) return null;
669
+ if ("Q" in r) return new Date(r.Q);
670
+ if ("s" in r) return new Date(r.s * 1e3 + ("L" in r ? r.L : 0));
671
+ if (t && !("Z" in r) && (r.Z = 0), "p" in r && (r.H = r.H % 12 + r.p * 12), r.m === void 0 && (r.m = "q" in r ? r.q : 0), "V" in r) {
672
+ if (r.V < 1 || r.V > 53) return null;
673
+ "w" in r || (r.w = 1), "Z" in r ? (a = Wt(Gt(r.y, 0, 1)), o = a.getUTCDay(), a = o > 4 || o === 0 ? ft.ceil(a) : ft(a), a = nt.offset(a, (r.V - 1) * 7), r.y = a.getUTCFullYear(), r.m = a.getUTCMonth(), r.d = a.getUTCDate() + (r.w + 6) % 7) : (a = Ut(Gt(r.y, 0, 1)), o = a.getDay(), a = o > 4 || o === 0 ? at.ceil(a) : at(a), a = O.offset(a, (r.V - 1) * 7), r.y = a.getFullYear(), r.m = a.getMonth(), r.d = a.getDate() + (r.w + 6) % 7);
674
+ } else ("W" in r || "U" in r) && ("w" in r || (r.w = "u" in r ? r.u % 7 : +("W" in r)), o = "Z" in r ? Wt(Gt(r.y, 0, 1)).getUTCDay() : Ut(Gt(r.y, 0, 1)).getDay(), r.m = 0, r.d = "W" in r ? (r.w + 6) % 7 + r.W * 7 - (o + 5) % 7 : r.w + r.U * 7 - (o + 6) % 7);
675
+ return "Z" in r ? (r.H += r.Z / 100 | 0, r.M += r.Z % 100, Wt(r)) : Ut(r);
676
+ };
677
+ }
678
+ function ie(e, t, n, r) {
679
+ for (var i = 0, a = t.length, o = n.length, s, c; i < a;) {
680
+ if (r >= o) return -1;
681
+ if (s = t.charCodeAt(i++), s === 37) {
682
+ if (s = t.charAt(i++), c = ne[s in qt ? t.charAt(i++) : s], !c || (r = c(e, n, r)) < 0) return -1;
683
+ } else if (s != n.charCodeAt(r++)) return -1;
684
+ }
685
+ return r;
686
+ }
687
+ function ae(e, t, n) {
688
+ var r = l.exec(t.slice(n));
689
+ return r ? (e.p = u.get(r[0].toLowerCase()), n + r[0].length) : -1;
690
+ }
691
+ function oe(e, t, n) {
692
+ var r = p.exec(t.slice(n));
693
+ return r ? (e.w = m.get(r[0].toLowerCase()), n + r[0].length) : -1;
694
+ }
695
+ function se(e, t, n) {
696
+ var r = d.exec(t.slice(n));
697
+ return r ? (e.w = f.get(r[0].toLowerCase()), n + r[0].length) : -1;
698
+ }
699
+ function ce(e, t, n) {
700
+ var r = g.exec(t.slice(n));
701
+ return r ? (e.m = te.get(r[0].toLowerCase()), n + r[0].length) : -1;
702
+ }
703
+ function le(e, t, n) {
704
+ var r = h.exec(t.slice(n));
705
+ return r ? (e.m = ee.get(r[0].toLowerCase()), n + r[0].length) : -1;
706
+ }
707
+ function ue(e, n, r) {
708
+ return ie(e, t, n, r);
709
+ }
710
+ function de(e, t, r) {
711
+ return ie(e, n, t, r);
712
+ }
713
+ function fe(e, t, n) {
714
+ return ie(e, r, t, n);
715
+ }
716
+ function pe(e) {
717
+ return o[e.getDay()];
718
+ }
719
+ function me(e) {
720
+ return a[e.getDay()];
721
+ }
722
+ function he(e) {
723
+ return c[e.getMonth()];
724
+ }
725
+ function ge(e) {
726
+ return s[e.getMonth()];
727
+ }
728
+ function _e(e) {
729
+ return i[+(e.getHours() >= 12)];
730
+ }
731
+ function ve(e) {
732
+ return 1 + ~~(e.getMonth() / 3);
733
+ }
734
+ function b(e) {
735
+ return o[e.getUTCDay()];
736
+ }
737
+ function ye(e) {
738
+ return a[e.getUTCDay()];
739
+ }
740
+ function be(e) {
741
+ return c[e.getUTCMonth()];
742
+ }
743
+ function xe(e) {
744
+ return s[e.getUTCMonth()];
745
+ }
746
+ function Se(e) {
747
+ return i[+(e.getUTCHours() >= 12)];
748
+ }
749
+ function Ce(e) {
750
+ return 1 + ~~(e.getUTCMonth() / 3);
751
+ }
752
+ return {
753
+ format: function(e) {
754
+ var t = y(e += "", _);
755
+ return t.toString = function() {
756
+ return e;
757
+ }, t;
758
+ },
759
+ parse: function(e) {
760
+ var t = re(e += "", !1);
761
+ return t.toString = function() {
762
+ return e;
763
+ }, t;
764
+ },
765
+ utcFormat: function(e) {
766
+ var t = y(e += "", v);
767
+ return t.toString = function() {
768
+ return e;
769
+ }, t;
770
+ },
771
+ utcParse: function(e) {
772
+ var t = re(e += "", !0);
773
+ return t.toString = function() {
774
+ return e;
775
+ }, t;
776
+ }
777
+ };
778
+ }
779
+ var qt = {
780
+ "-": "",
781
+ _: " ",
782
+ 0: "0"
783
+ }, P = /^\s*\d+/, Jt = /^%/, Yt = /[\\^$*+?|[\]().{}]/g;
784
+ function F(e, t, n) {
785
+ var r = e < 0 ? "-" : "", i = (r ? -e : e) + "", a = i.length;
786
+ return r + (a < n ? Array(n - a + 1).join(t) + i : i);
787
+ }
788
+ function Xt(e) {
789
+ return e.replace(Yt, "\\$&");
790
+ }
791
+ function Zt(e) {
792
+ return RegExp("^(?:" + e.map(Xt).join("|") + ")", "i");
793
+ }
794
+ function Qt(e) {
795
+ return new Map(e.map((e, t) => [e.toLowerCase(), t]));
796
+ }
797
+ function $t(e, t, n) {
798
+ var r = P.exec(t.slice(n, n + 1));
799
+ return r ? (e.w = +r[0], n + r[0].length) : -1;
800
+ }
801
+ function en(e, t, n) {
802
+ var r = P.exec(t.slice(n, n + 1));
803
+ return r ? (e.u = +r[0], n + r[0].length) : -1;
804
+ }
805
+ function tn(e, t, n) {
806
+ var r = P.exec(t.slice(n, n + 2));
807
+ return r ? (e.U = +r[0], n + r[0].length) : -1;
808
+ }
809
+ function nn(e, t, n) {
810
+ var r = P.exec(t.slice(n, n + 2));
811
+ return r ? (e.V = +r[0], n + r[0].length) : -1;
812
+ }
813
+ function rn(e, t, n) {
814
+ var r = P.exec(t.slice(n, n + 2));
815
+ return r ? (e.W = +r[0], n + r[0].length) : -1;
816
+ }
817
+ function an(e, t, n) {
818
+ var r = P.exec(t.slice(n, n + 4));
819
+ return r ? (e.y = +r[0], n + r[0].length) : -1;
820
+ }
821
+ function on(e, t, n) {
822
+ var r = P.exec(t.slice(n, n + 2));
823
+ return r ? (e.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1;
824
+ }
825
+ function sn(e, t, n) {
826
+ var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n, n + 6));
827
+ return r ? (e.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1;
828
+ }
829
+ function cn(e, t, n) {
830
+ var r = P.exec(t.slice(n, n + 1));
831
+ return r ? (e.q = r[0] * 3 - 3, n + r[0].length) : -1;
832
+ }
833
+ function ln(e, t, n) {
834
+ var r = P.exec(t.slice(n, n + 2));
835
+ return r ? (e.m = r[0] - 1, n + r[0].length) : -1;
836
+ }
837
+ function un(e, t, n) {
838
+ var r = P.exec(t.slice(n, n + 2));
839
+ return r ? (e.d = +r[0], n + r[0].length) : -1;
840
+ }
841
+ function dn(e, t, n) {
842
+ var r = P.exec(t.slice(n, n + 3));
843
+ return r ? (e.m = 0, e.d = +r[0], n + r[0].length) : -1;
844
+ }
845
+ function fn(e, t, n) {
846
+ var r = P.exec(t.slice(n, n + 2));
847
+ return r ? (e.H = +r[0], n + r[0].length) : -1;
848
+ }
849
+ function pn(e, t, n) {
850
+ var r = P.exec(t.slice(n, n + 2));
851
+ return r ? (e.M = +r[0], n + r[0].length) : -1;
852
+ }
853
+ function mn(e, t, n) {
854
+ var r = P.exec(t.slice(n, n + 2));
855
+ return r ? (e.S = +r[0], n + r[0].length) : -1;
856
+ }
857
+ function hn(e, t, n) {
858
+ var r = P.exec(t.slice(n, n + 3));
859
+ return r ? (e.L = +r[0], n + r[0].length) : -1;
860
+ }
861
+ function gn(e, t, n) {
862
+ var r = P.exec(t.slice(n, n + 6));
863
+ return r ? (e.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1;
864
+ }
865
+ function _n(e, t, n) {
866
+ var r = Jt.exec(t.slice(n, n + 1));
867
+ return r ? n + r[0].length : -1;
868
+ }
869
+ function vn(e, t, n) {
870
+ var r = P.exec(t.slice(n));
871
+ return r ? (e.Q = +r[0], n + r[0].length) : -1;
872
+ }
873
+ function yn(e, t, n) {
874
+ var r = P.exec(t.slice(n));
875
+ return r ? (e.s = +r[0], n + r[0].length) : -1;
876
+ }
877
+ function bn(e, t) {
878
+ return F(e.getDate(), t, 2);
879
+ }
880
+ function xn(e, t) {
881
+ return F(e.getHours(), t, 2);
882
+ }
883
+ function Sn(e, t) {
884
+ return F(e.getHours() % 12 || 12, t, 2);
885
+ }
886
+ function Cn(e, t) {
887
+ return F(1 + O.count(j(e), e), t, 3);
888
+ }
889
+ function wn(e, t) {
890
+ return F(e.getMilliseconds(), t, 3);
891
+ }
892
+ function Tn(e, t) {
893
+ return wn(e, t) + "000";
894
+ }
895
+ function En(e, t) {
896
+ return F(e.getMonth() + 1, t, 2);
897
+ }
898
+ function Dn(e, t) {
899
+ return F(e.getMinutes(), t, 2);
900
+ }
901
+ function On(e, t) {
902
+ return F(e.getSeconds(), t, 2);
903
+ }
904
+ function kn(e) {
905
+ var t = e.getDay();
906
+ return t === 0 ? 7 : t;
907
+ }
908
+ function An(e, t) {
909
+ return F(it.count(j(e) - 1, e), t, 2);
910
+ }
911
+ function jn(e) {
912
+ var t = e.getDay();
913
+ return t >= 4 || t === 0 ? ct(e) : ct.ceil(e);
914
+ }
915
+ function Mn(e, t) {
916
+ return e = jn(e), F(ct.count(j(e), e) + (j(e).getDay() === 4), t, 2);
917
+ }
918
+ function Nn(e) {
919
+ return e.getDay();
920
+ }
921
+ function Pn(e, t) {
922
+ return F(at.count(j(e) - 1, e), t, 2);
923
+ }
924
+ function Fn(e, t) {
925
+ return F(e.getFullYear() % 100, t, 2);
926
+ }
927
+ function In(e, t) {
928
+ return e = jn(e), F(e.getFullYear() % 100, t, 2);
929
+ }
930
+ function Ln(e, t) {
931
+ return F(e.getFullYear() % 1e4, t, 4);
932
+ }
933
+ function Rn(e, t) {
934
+ var n = e.getDay();
935
+ return e = n >= 4 || n === 0 ? ct(e) : ct.ceil(e), F(e.getFullYear() % 1e4, t, 4);
936
+ }
937
+ function zn(e) {
938
+ var t = e.getTimezoneOffset();
939
+ return (t > 0 ? "-" : (t *= -1, "+")) + F(t / 60 | 0, "0", 2) + F(t % 60, "0", 2);
940
+ }
941
+ function Bn(e, t) {
942
+ return F(e.getUTCDate(), t, 2);
943
+ }
944
+ function Vn(e, t) {
945
+ return F(e.getUTCHours(), t, 2);
946
+ }
947
+ function Hn(e, t) {
948
+ return F(e.getUTCHours() % 12 || 12, t, 2);
949
+ }
950
+ function Un(e, t) {
951
+ return F(1 + nt.count(M(e), e), t, 3);
952
+ }
953
+ function Wn(e, t) {
954
+ return F(e.getUTCMilliseconds(), t, 3);
955
+ }
956
+ function Gn(e, t) {
957
+ return Wn(e, t) + "000";
958
+ }
959
+ function Kn(e, t) {
960
+ return F(e.getUTCMonth() + 1, t, 2);
961
+ }
962
+ function qn(e, t) {
963
+ return F(e.getUTCMinutes(), t, 2);
964
+ }
965
+ function Jn(e, t) {
966
+ return F(e.getUTCSeconds(), t, 2);
967
+ }
968
+ function Yn(e) {
969
+ var t = e.getUTCDay();
970
+ return t === 0 ? 7 : t;
971
+ }
972
+ function Xn(e, t) {
973
+ return F(dt.count(M(e) - 1, e), t, 2);
974
+ }
975
+ function Zn(e) {
976
+ var t = e.getUTCDay();
977
+ return t >= 4 || t === 0 ? ht(e) : ht.ceil(e);
978
+ }
979
+ function Qn(e, t) {
980
+ return e = Zn(e), F(ht.count(M(e), e) + (M(e).getUTCDay() === 4), t, 2);
981
+ }
982
+ function $n(e) {
983
+ return e.getUTCDay();
984
+ }
985
+ function er(e, t) {
986
+ return F(ft.count(M(e) - 1, e), t, 2);
987
+ }
988
+ function tr(e, t) {
989
+ return F(e.getUTCFullYear() % 100, t, 2);
990
+ }
991
+ function nr(e, t) {
992
+ return e = Zn(e), F(e.getUTCFullYear() % 100, t, 2);
993
+ }
994
+ function rr(e, t) {
995
+ return F(e.getUTCFullYear() % 1e4, t, 4);
996
+ }
997
+ function ir(e, t) {
998
+ var n = e.getUTCDay();
999
+ return e = n >= 4 || n === 0 ? ht(e) : ht.ceil(e), F(e.getUTCFullYear() % 1e4, t, 4);
1000
+ }
1001
+ function ar() {
1002
+ return "+0000";
1003
+ }
1004
+ function or() {
1005
+ return "%";
1006
+ }
1007
+ function sr(e) {
1008
+ return +e;
1009
+ }
1010
+ function cr(e) {
1011
+ return Math.floor(e / 1e3);
1012
+ }
1013
+ //#endregion
1014
+ //#region ../../node_modules/d3-time-format/src/defaultLocale.js
1015
+ var lr, ur, dr, fr, pr;
1016
+ mr({
1017
+ dateTime: "%x, %X",
1018
+ date: "%-m/%-d/%Y",
1019
+ time: "%-I:%M:%S %p",
1020
+ periods: ["AM", "PM"],
1021
+ days: [
1022
+ "Sunday",
1023
+ "Monday",
1024
+ "Tuesday",
1025
+ "Wednesday",
1026
+ "Thursday",
1027
+ "Friday",
1028
+ "Saturday"
1029
+ ],
1030
+ shortDays: [
1031
+ "Sun",
1032
+ "Mon",
1033
+ "Tue",
1034
+ "Wed",
1035
+ "Thu",
1036
+ "Fri",
1037
+ "Sat"
1038
+ ],
1039
+ months: [
1040
+ "January",
1041
+ "February",
1042
+ "March",
1043
+ "April",
1044
+ "May",
1045
+ "June",
1046
+ "July",
1047
+ "August",
1048
+ "September",
1049
+ "October",
1050
+ "November",
1051
+ "December"
1052
+ ],
1053
+ shortMonths: [
1054
+ "Jan",
1055
+ "Feb",
1056
+ "Mar",
1057
+ "Apr",
1058
+ "May",
1059
+ "Jun",
1060
+ "Jul",
1061
+ "Aug",
1062
+ "Sep",
1063
+ "Oct",
1064
+ "Nov",
1065
+ "Dec"
1066
+ ]
1067
+ });
1068
+ function mr(e) {
1069
+ return lr = Kt(e), ur = lr.format, dr = lr.parse, fr = lr.utcFormat, pr = lr.utcParse, lr;
1070
+ }
1071
+ //#endregion
1072
+ //#region ../../node_modules/d3-scale/src/init.js
1073
+ function I(e, t) {
1074
+ switch (arguments.length) {
1075
+ case 0: break;
1076
+ case 1:
1077
+ this.range(e);
1078
+ break;
1079
+ default:
1080
+ this.range(t).domain(e);
1081
+ break;
1082
+ }
1083
+ return this;
1084
+ }
1085
+ function L(e, t) {
1086
+ switch (arguments.length) {
1087
+ case 0: break;
1088
+ case 1:
1089
+ typeof e == "function" ? this.interpolator(e) : this.range(e);
1090
+ break;
1091
+ default:
1092
+ this.domain(e), typeof t == "function" ? this.interpolator(t) : this.range(t);
1093
+ break;
1094
+ }
1095
+ return this;
1096
+ }
1097
+ //#endregion
1098
+ //#region ../../node_modules/d3-scale/src/ordinal.js
1099
+ var hr = Symbol("implicit");
1100
+ function gr() {
1101
+ var e = new oe(), t = [], n = [], r = hr;
1102
+ function i(i) {
1103
+ let a = e.get(i);
1104
+ if (a === void 0) {
1105
+ if (r !== hr) return r;
1106
+ e.set(i, a = t.push(i) - 1);
1107
+ }
1108
+ return n[a % n.length];
1109
+ }
1110
+ return i.domain = function(n) {
1111
+ if (!arguments.length) return t.slice();
1112
+ t = [], e = new oe();
1113
+ for (let r of n) e.has(r) || e.set(r, t.push(r) - 1);
1114
+ return i;
1115
+ }, i.range = function(e) {
1116
+ return arguments.length ? (n = Array.from(e), i) : n.slice();
1117
+ }, i.unknown = function(e) {
1118
+ return arguments.length ? (r = e, i) : r;
1119
+ }, i.copy = function() {
1120
+ return gr(t, n).unknown(r);
1121
+ }, I.apply(i, arguments), i;
1122
+ }
1123
+ //#endregion
1124
+ //#region ../../node_modules/d3-color/src/math.js
1125
+ var _r = Math.PI / 180, vr = 180 / Math.PI, yr = 18, br = .96422, xr = 1, Sr = .82521, Cr = 4 / 29, wr = 6 / 29, Tr = 3 * wr * wr, Er = wr * wr * wr;
1126
+ function Dr(e) {
1127
+ if (e instanceof R) return new R(e.l, e.a, e.b, e.opacity);
1128
+ if (e instanceof z) return Fr(e);
1129
+ e instanceof le || (e = ae(e));
1130
+ var t = Mr(e.r), n = Mr(e.g), r = Mr(e.b), i = kr((.2225045 * t + .7168786 * n + .0606169 * r) / xr), a, o;
1131
+ return t === n && n === r ? a = o = i : (a = kr((.4360747 * t + .3850649 * n + .1430804 * r) / br), o = kr((.0139322 * t + .0971045 * n + .7141733 * r) / Sr)), new R(116 * i - 16, 500 * (a - i), 200 * (i - o), e.opacity);
1132
+ }
1133
+ function Or(e, t, n, r) {
1134
+ return arguments.length === 1 ? Dr(e) : new R(e, t, n, r ?? 1);
1135
+ }
1136
+ function R(e, t, n, r) {
1137
+ this.l = +e, this.a = +t, this.b = +n, this.opacity = +r;
1138
+ }
1139
+ ce(R, Or, me(pe, {
1140
+ brighter(e) {
1141
+ return new R(this.l + yr * (e ?? 1), this.a, this.b, this.opacity);
1142
+ },
1143
+ darker(e) {
1144
+ return new R(this.l - yr * (e ?? 1), this.a, this.b, this.opacity);
1145
+ },
1146
+ rgb() {
1147
+ var e = (this.l + 16) / 116, t = isNaN(this.a) ? e : e + this.a / 500, n = isNaN(this.b) ? e : e - this.b / 200;
1148
+ return t = br * Ar(t), e = xr * Ar(e), n = Sr * Ar(n), new le(jr(3.1338561 * t - 1.6168667 * e - .4906146 * n), jr(-.9787684 * t + 1.9161415 * e + .033454 * n), jr(.0719453 * t - .2289914 * e + 1.4052427 * n), this.opacity);
1149
+ }
1150
+ }));
1151
+ function kr(e) {
1152
+ return e > Er ? e ** (1 / 3) : e / Tr + Cr;
1153
+ }
1154
+ function Ar(e) {
1155
+ return e > wr ? e * e * e : Tr * (e - Cr);
1156
+ }
1157
+ function jr(e) {
1158
+ return 255 * (e <= .0031308 ? 12.92 * e : 1.055 * e ** (1 / 2.4) - .055);
1159
+ }
1160
+ function Mr(e) {
1161
+ return (e /= 255) <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4;
1162
+ }
1163
+ function Nr(e) {
1164
+ if (e instanceof z) return new z(e.h, e.c, e.l, e.opacity);
1165
+ if (e instanceof R || (e = Dr(e)), e.a === 0 && e.b === 0) return new z(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity);
1166
+ var t = Math.atan2(e.b, e.a) * vr;
1167
+ return new z(t < 0 ? t + 360 : t, Math.sqrt(e.a * e.a + e.b * e.b), e.l, e.opacity);
1168
+ }
1169
+ function Pr(e, t, n, r) {
1170
+ return arguments.length === 1 ? Nr(e) : new z(e, t, n, r ?? 1);
1171
+ }
1172
+ function z(e, t, n, r) {
1173
+ this.h = +e, this.c = +t, this.l = +n, this.opacity = +r;
1174
+ }
1175
+ function Fr(e) {
1176
+ if (isNaN(e.h)) return new R(e.l, 0, 0, e.opacity);
1177
+ var t = e.h * _r;
1178
+ return new R(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity);
1179
+ }
1180
+ ce(z, Pr, me(pe, {
1181
+ brighter(e) {
1182
+ return new z(this.h, this.c, this.l + yr * (e ?? 1), this.opacity);
1183
+ },
1184
+ darker(e) {
1185
+ return new z(this.h, this.c, this.l - yr * (e ?? 1), this.opacity);
1186
+ },
1187
+ rgb() {
1188
+ return Fr(this).rgb();
1189
+ }
1190
+ }));
1191
+ //#endregion
1192
+ //#region ../../node_modules/d3-color/src/cubehelix.js
1193
+ var Ir = -.14861, Lr = 1.78277, Rr = -.29227, zr = -.90649, Br = 1.97294, Vr = Br * zr, Hr = Br * Lr, Ur = Lr * Rr - zr * Ir;
1194
+ function Wr(e) {
1195
+ if (e instanceof B) return new B(e.h, e.s, e.l, e.opacity);
1196
+ e instanceof le || (e = ae(e));
1197
+ var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = (Ur * r + Vr * t - Hr * n) / (Ur + Vr - Hr), a = r - i, o = (Br * (n - i) - Rr * a) / zr, s = Math.sqrt(o * o + a * a) / (Br * i * (1 - i)), c = s ? Math.atan2(o, a) * vr - 120 : NaN;
1198
+ return new B(c < 0 ? c + 360 : c, s, i, e.opacity);
1199
+ }
1200
+ function Gr(e, t, n, r) {
1201
+ return arguments.length === 1 ? Wr(e) : new B(e, t, n, r ?? 1);
1202
+ }
1203
+ function B(e, t, n, r) {
1204
+ this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
1205
+ }
1206
+ ce(B, Gr, me(pe, {
1207
+ brighter(e) {
1208
+ return e = e == null ? de : de ** +e, new B(this.h, this.s, this.l * e, this.opacity);
1209
+ },
1210
+ darker(e) {
1211
+ return e = e == null ? ie : ie ** +e, new B(this.h, this.s, this.l * e, this.opacity);
1212
+ },
1213
+ rgb() {
1214
+ var e = isNaN(this.h) ? 0 : (this.h + 120) * _r, t = +this.l, n = isNaN(this.s) ? 0 : this.s * t * (1 - t), r = Math.cos(e), i = Math.sin(e);
1215
+ return new le(255 * (t + n * (Ir * r + Lr * i)), 255 * (t + n * (Rr * r + zr * i)), 255 * (t + Br * r * n), this.opacity);
1216
+ }
1217
+ }));
1218
+ //#endregion
1219
+ //#region ../../node_modules/d3-interpolate/src/basis.js
1220
+ function Kr(e, t, n, r, i) {
1221
+ var a = e * e, o = a * e;
1222
+ return ((1 - 3 * e + 3 * a - o) * t + (4 - 6 * a + 3 * o) * n + (1 + 3 * e + 3 * a - 3 * o) * r + o * i) / 6;
1223
+ }
1224
+ function qr(e) {
1225
+ var t = e.length - 1;
1226
+ return function(n) {
1227
+ var r = n <= 0 ? n = 0 : n >= 1 ? (n = 1, t - 1) : Math.floor(n * t), i = e[r], a = e[r + 1], o = r > 0 ? e[r - 1] : 2 * i - a, s = r < t - 1 ? e[r + 2] : 2 * a - i;
1228
+ return Kr((n - r / t) * t, o, i, a, s);
1229
+ };
1230
+ }
1231
+ //#endregion
1232
+ //#region ../../node_modules/d3-interpolate/src/basisClosed.js
1233
+ function Jr(e) {
1234
+ var t = e.length;
1235
+ return function(n) {
1236
+ var r = Math.floor(((n %= 1) < 0 ? ++n : n) * t), i = e[(r + t - 1) % t], a = e[r % t], o = e[(r + 1) % t], s = e[(r + 2) % t];
1237
+ return Kr((n - r / t) * t, i, a, o, s);
1238
+ };
1239
+ }
1240
+ //#endregion
1241
+ //#region ../../node_modules/d3-interpolate/src/constant.js
1242
+ var Yr = (e) => () => e;
1243
+ //#endregion
1244
+ //#region ../../node_modules/d3-interpolate/src/color.js
1245
+ function Xr(e, t) {
1246
+ return function(n) {
1247
+ return e + n * t;
1248
+ };
1249
+ }
1250
+ function Zr(e, t, n) {
1251
+ return e **= +n, t = t ** +n - e, n = 1 / n, function(r) {
1252
+ return (e + r * t) ** +n;
1253
+ };
1254
+ }
1255
+ function Qr(e, t) {
1256
+ var n = t - e;
1257
+ return n ? Xr(e, n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) : Yr(isNaN(e) ? t : e);
1258
+ }
1259
+ function $r(e) {
1260
+ return (e = +e) == 1 ? V : function(t, n) {
1261
+ return n - t ? Zr(t, n, e) : Yr(isNaN(t) ? n : t);
1262
+ };
1263
+ }
1264
+ function V(e, t) {
1265
+ var n = t - e;
1266
+ return n ? Xr(e, n) : Yr(isNaN(e) ? t : e);
1267
+ }
1268
+ //#endregion
1269
+ //#region ../../node_modules/d3-interpolate/src/rgb.js
1270
+ var ei = (function e(t) {
1271
+ var n = $r(t);
1272
+ function r(e, t) {
1273
+ var r = n((e = fe(e)).r, (t = fe(t)).r), i = n(e.g, t.g), a = n(e.b, t.b), o = V(e.opacity, t.opacity);
1274
+ return function(t) {
1275
+ return e.r = r(t), e.g = i(t), e.b = a(t), e.opacity = o(t), e + "";
1276
+ };
1277
+ }
1278
+ return r.gamma = e, r;
1279
+ })(1);
1280
+ function ti(e) {
1281
+ return function(t) {
1282
+ var n = t.length, r = Array(n), i = Array(n), a = Array(n), o, s;
1283
+ for (o = 0; o < n; ++o) s = fe(t[o]), r[o] = s.r || 0, i[o] = s.g || 0, a[o] = s.b || 0;
1284
+ return r = e(r), i = e(i), a = e(a), s.opacity = 1, function(e) {
1285
+ return s.r = r(e), s.g = i(e), s.b = a(e), s + "";
1286
+ };
1287
+ };
1288
+ }
1289
+ var ni = ti(qr), ri = ti(Jr);
1290
+ //#endregion
1291
+ //#region ../../node_modules/d3-interpolate/src/numberArray.js
1292
+ function ii(e, t) {
1293
+ t ||= [];
1294
+ var n = e ? Math.min(t.length, e.length) : 0, r = t.slice(), i;
1295
+ return function(a) {
1296
+ for (i = 0; i < n; ++i) r[i] = e[i] * (1 - a) + t[i] * a;
1297
+ return r;
1298
+ };
1299
+ }
1300
+ function ai(e) {
1301
+ return ArrayBuffer.isView(e) && !(e instanceof DataView);
1302
+ }
1303
+ //#endregion
1304
+ //#region ../../node_modules/d3-interpolate/src/array.js
1305
+ function oi(e, t) {
1306
+ return (ai(t) ? ii : si)(e, t);
1307
+ }
1308
+ function si(e, t) {
1309
+ var n = t ? t.length : 0, r = e ? Math.min(n, e.length) : 0, i = Array(r), a = Array(n), o;
1310
+ for (o = 0; o < r; ++o) i[o] = U(e[o], t[o]);
1311
+ for (; o < n; ++o) a[o] = t[o];
1312
+ return function(e) {
1313
+ for (o = 0; o < r; ++o) a[o] = i[o](e);
1314
+ return a;
1315
+ };
1316
+ }
1317
+ //#endregion
1318
+ //#region ../../node_modules/d3-interpolate/src/date.js
1319
+ function ci(e, t) {
1320
+ var n = /* @__PURE__ */ new Date();
1321
+ return e = +e, t = +t, function(r) {
1322
+ return n.setTime(e * (1 - r) + t * r), n;
1323
+ };
1324
+ }
1325
+ //#endregion
1326
+ //#region ../../node_modules/d3-interpolate/src/number.js
1327
+ function H(e, t) {
1328
+ return e = +e, t = +t, function(n) {
1329
+ return e * (1 - n) + t * n;
1330
+ };
1331
+ }
1332
+ //#endregion
1333
+ //#region ../../node_modules/d3-interpolate/src/object.js
1334
+ function li(e, t) {
1335
+ var n = {}, r = {}, i;
1336
+ for (i in (typeof e != "object" || !e) && (e = {}), (typeof t != "object" || !t) && (t = {}), t) i in e ? n[i] = U(e[i], t[i]) : r[i] = t[i];
1337
+ return function(e) {
1338
+ for (i in n) r[i] = n[i](e);
1339
+ return r;
1340
+ };
1341
+ }
1342
+ //#endregion
1343
+ //#region ../../node_modules/d3-interpolate/src/string.js
1344
+ var ui = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, di = new RegExp(ui.source, "g");
1345
+ function fi(e) {
1346
+ return function() {
1347
+ return e;
1348
+ };
1349
+ }
1350
+ function pi(e) {
1351
+ return function(t) {
1352
+ return e(t) + "";
1353
+ };
1354
+ }
1355
+ function mi(e, t) {
1356
+ var n = ui.lastIndex = di.lastIndex = 0, r, i, a, o = -1, s = [], c = [];
1357
+ for (e += "", t += ""; (r = ui.exec(e)) && (i = di.exec(t));) (a = i.index) > n && (a = t.slice(n, a), s[o] ? s[o] += a : s[++o] = a), (r = r[0]) === (i = i[0]) ? s[o] ? s[o] += i : s[++o] = i : (s[++o] = null, c.push({
1358
+ i: o,
1359
+ x: H(r, i)
1360
+ })), n = di.lastIndex;
1361
+ return n < t.length && (a = t.slice(n), s[o] ? s[o] += a : s[++o] = a), s.length < 2 ? c[0] ? pi(c[0].x) : fi(t) : (t = c.length, function(e) {
1362
+ for (var n = 0, r; n < t; ++n) s[(r = c[n]).i] = r.x(e);
1363
+ return s.join("");
1364
+ });
1365
+ }
1366
+ //#endregion
1367
+ //#region ../../node_modules/d3-interpolate/src/value.js
1368
+ function U(e, t) {
1369
+ var n = typeof t, r;
1370
+ return t == null || n === "boolean" ? Yr(t) : (n === "number" ? H : n === "string" ? (r = se(t)) ? (t = r, ei) : mi : t instanceof se ? ei : t instanceof Date ? ci : ai(t) ? ii : Array.isArray(t) ? si : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? li : H)(e, t);
1371
+ }
1372
+ //#endregion
1373
+ //#region ../../node_modules/d3-interpolate/src/discrete.js
1374
+ function hi(e) {
1375
+ var t = e.length;
1376
+ return function(n) {
1377
+ return e[Math.max(0, Math.min(t - 1, Math.floor(n * t)))];
1378
+ };
1379
+ }
1380
+ //#endregion
1381
+ //#region ../../node_modules/d3-interpolate/src/hue.js
1382
+ function gi(e, t) {
1383
+ var n = Qr(+e, +t);
1384
+ return function(e) {
1385
+ var t = n(e);
1386
+ return t - 360 * Math.floor(t / 360);
1387
+ };
1388
+ }
1389
+ //#endregion
1390
+ //#region ../../node_modules/d3-interpolate/src/round.js
1391
+ function _i(e, t) {
1392
+ return e = +e, t = +t, function(n) {
1393
+ return Math.round(e * (1 - n) + t * n);
1394
+ };
1395
+ }
1396
+ //#endregion
1397
+ //#region ../../node_modules/d3-interpolate/src/transform/decompose.js
1398
+ var vi = 180 / Math.PI, yi = {
1399
+ translateX: 0,
1400
+ translateY: 0,
1401
+ rotate: 0,
1402
+ skewX: 0,
1403
+ scaleX: 1,
1404
+ scaleY: 1
1405
+ };
1406
+ function bi(e, t, n, r, i, a) {
1407
+ var o, s, c;
1408
+ return (o = Math.sqrt(e * e + t * t)) && (e /= o, t /= o), (c = e * n + t * r) && (n -= e * c, r -= t * c), (s = Math.sqrt(n * n + r * r)) && (n /= s, r /= s, c /= s), e * r < t * n && (e = -e, t = -t, c = -c, o = -o), {
1409
+ translateX: i,
1410
+ translateY: a,
1411
+ rotate: Math.atan2(t, e) * vi,
1412
+ skewX: Math.atan(c) * vi,
1413
+ scaleX: o,
1414
+ scaleY: s
1415
+ };
1416
+ }
1417
+ //#endregion
1418
+ //#region ../../node_modules/d3-interpolate/src/transform/parse.js
1419
+ var xi;
1420
+ function Si(e) {
1421
+ let t = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(e + "");
1422
+ return t.isIdentity ? yi : bi(t.a, t.b, t.c, t.d, t.e, t.f);
1423
+ }
1424
+ function Ci(e) {
1425
+ return e == null || (xi ||= document.createElementNS("http://www.w3.org/2000/svg", "g"), xi.setAttribute("transform", e), !(e = xi.transform.baseVal.consolidate())) ? yi : (e = e.matrix, bi(e.a, e.b, e.c, e.d, e.e, e.f));
1426
+ }
1427
+ //#endregion
1428
+ //#region ../../node_modules/d3-interpolate/src/transform/index.js
1429
+ function wi(e, t, n, r) {
1430
+ function i(e) {
1431
+ return e.length ? e.pop() + " " : "";
1432
+ }
1433
+ function a(e, r, i, a, o, s) {
1434
+ if (e !== i || r !== a) {
1435
+ var c = o.push("translate(", null, t, null, n);
1436
+ s.push({
1437
+ i: c - 4,
1438
+ x: H(e, i)
1439
+ }, {
1440
+ i: c - 2,
1441
+ x: H(r, a)
1442
+ });
1443
+ } else (i || a) && o.push("translate(" + i + t + a + n);
1444
+ }
1445
+ function o(e, t, n, a) {
1446
+ e === t ? t && n.push(i(n) + "rotate(" + t + r) : (e - t > 180 ? t += 360 : t - e > 180 && (e += 360), a.push({
1447
+ i: n.push(i(n) + "rotate(", null, r) - 2,
1448
+ x: H(e, t)
1449
+ }));
1450
+ }
1451
+ function s(e, t, n, a) {
1452
+ e === t ? t && n.push(i(n) + "skewX(" + t + r) : a.push({
1453
+ i: n.push(i(n) + "skewX(", null, r) - 2,
1454
+ x: H(e, t)
1455
+ });
1456
+ }
1457
+ function c(e, t, n, r, a, o) {
1458
+ if (e !== n || t !== r) {
1459
+ var s = a.push(i(a) + "scale(", null, ",", null, ")");
1460
+ o.push({
1461
+ i: s - 4,
1462
+ x: H(e, n)
1463
+ }, {
1464
+ i: s - 2,
1465
+ x: H(t, r)
1466
+ });
1467
+ } else (n !== 1 || r !== 1) && a.push(i(a) + "scale(" + n + "," + r + ")");
1468
+ }
1469
+ return function(t, n) {
1470
+ var r = [], i = [];
1471
+ return t = e(t), n = e(n), a(t.translateX, t.translateY, n.translateX, n.translateY, r, i), o(t.rotate, n.rotate, r, i), s(t.skewX, n.skewX, r, i), c(t.scaleX, t.scaleY, n.scaleX, n.scaleY, r, i), t = n = null, function(e) {
1472
+ for (var t = -1, n = i.length, a; ++t < n;) r[(a = i[t]).i] = a.x(e);
1473
+ return r.join("");
1474
+ };
1475
+ };
1476
+ }
1477
+ var Ti = wi(Si, "px, ", "px)", "deg)"), Ei = wi(Ci, ", ", ")", ")"), Di = 1e-12;
1478
+ function Oi(e) {
1479
+ return ((e = Math.exp(e)) + 1 / e) / 2;
1480
+ }
1481
+ function ki(e) {
1482
+ return ((e = Math.exp(e)) - 1 / e) / 2;
1483
+ }
1484
+ function Ai(e) {
1485
+ return ((e = Math.exp(2 * e)) - 1) / (e + 1);
1486
+ }
1487
+ var ji = (function e(t, n, r) {
1488
+ function i(e, i) {
1489
+ var a = e[0], o = e[1], s = e[2], c = i[0], l = i[1], u = i[2], d = c - a, f = l - o, p = d * d + f * f, m, h;
1490
+ if (p < Di) h = Math.log(u / s) / t, m = function(e) {
1491
+ return [
1492
+ a + e * d,
1493
+ o + e * f,
1494
+ s * Math.exp(t * e * h)
1495
+ ];
1496
+ };
1497
+ else {
1498
+ var ee = Math.sqrt(p), g = (u * u - s * s + r * p) / (2 * s * n * ee), te = (u * u - s * s - r * p) / (2 * u * n * ee), _ = Math.log(Math.sqrt(g * g + 1) - g);
1499
+ h = (Math.log(Math.sqrt(te * te + 1) - te) - _) / t, m = function(e) {
1500
+ var r = e * h, i = Oi(_), c = s / (n * ee) * (i * Ai(t * r + _) - ki(_));
1501
+ return [
1502
+ a + c * d,
1503
+ o + c * f,
1504
+ s * i / Oi(t * r + _)
1505
+ ];
1506
+ };
1507
+ }
1508
+ return m.duration = h * 1e3 * t / Math.SQRT2, m;
1509
+ }
1510
+ return i.rho = function(t) {
1511
+ var n = Math.max(.001, +t), r = n * n;
1512
+ return e(n, r, r * r);
1513
+ }, i;
1514
+ })(Math.SQRT2, 2, 4);
1515
+ //#endregion
1516
+ //#region ../../node_modules/d3-interpolate/src/hsl.js
1517
+ function Mi(e) {
1518
+ return function(t, n) {
1519
+ var r = e((t = ue(t)).h, (n = ue(n)).h), i = V(t.s, n.s), a = V(t.l, n.l), o = V(t.opacity, n.opacity);
1520
+ return function(e) {
1521
+ return t.h = r(e), t.s = i(e), t.l = a(e), t.opacity = o(e), t + "";
1522
+ };
1523
+ };
1524
+ }
1525
+ var Ni = Mi(Qr), Pi = Mi(V);
1526
+ //#endregion
1527
+ //#region ../../node_modules/d3-interpolate/src/lab.js
1528
+ function Fi(e, t) {
1529
+ var n = V((e = Or(e)).l, (t = Or(t)).l), r = V(e.a, t.a), i = V(e.b, t.b), a = V(e.opacity, t.opacity);
1530
+ return function(t) {
1531
+ return e.l = n(t), e.a = r(t), e.b = i(t), e.opacity = a(t), e + "";
1532
+ };
1533
+ }
1534
+ //#endregion
1535
+ //#region ../../node_modules/d3-interpolate/src/hcl.js
1536
+ function Ii(e) {
1537
+ return function(t, n) {
1538
+ var r = e((t = Pr(t)).h, (n = Pr(n)).h), i = V(t.c, n.c), a = V(t.l, n.l), o = V(t.opacity, n.opacity);
1539
+ return function(e) {
1540
+ return t.h = r(e), t.c = i(e), t.l = a(e), t.opacity = o(e), t + "";
1541
+ };
1542
+ };
1543
+ }
1544
+ var Li = Ii(Qr), Ri = Ii(V);
1545
+ //#endregion
1546
+ //#region ../../node_modules/d3-interpolate/src/cubehelix.js
1547
+ function zi(e) {
1548
+ return (function t(n) {
1549
+ n = +n;
1550
+ function r(t, r) {
1551
+ var i = e((t = Gr(t)).h, (r = Gr(r)).h), a = V(t.s, r.s), o = V(t.l, r.l), s = V(t.opacity, r.opacity);
1552
+ return function(e) {
1553
+ return t.h = i(e), t.s = a(e), t.l = o(e ** +n), t.opacity = s(e), t + "";
1554
+ };
1555
+ }
1556
+ return r.gamma = t, r;
1557
+ })(1);
1558
+ }
1559
+ var Bi = zi(Qr), Vi = zi(V);
1560
+ //#endregion
1561
+ //#region ../../node_modules/d3-interpolate/src/piecewise.js
1562
+ function Hi(e, t) {
1563
+ t === void 0 && (t = e, e = U);
1564
+ for (var n = 0, r = t.length - 1, i = t[0], a = Array(r < 0 ? 0 : r); n < r;) a[n] = e(i, i = t[++n]);
1565
+ return function(e) {
1566
+ var t = Math.max(0, Math.min(r - 1, Math.floor(e *= r)));
1567
+ return a[t](e - t);
1568
+ };
1569
+ }
1570
+ //#endregion
1571
+ //#region ../../node_modules/d3-interpolate/src/quantize.js
1572
+ function Ui(e, t) {
1573
+ for (var n = Array(t), r = 0; r < t; ++r) n[r] = e(r / (t - 1));
1574
+ return n;
1575
+ }
1576
+ //#endregion
1577
+ //#region ../../node_modules/d3-interpolate/src/index.js
1578
+ var Wi = /* @__PURE__ */ e({
1579
+ interpolate: () => U,
1580
+ interpolateArray: () => oi,
1581
+ interpolateBasis: () => qr,
1582
+ interpolateBasisClosed: () => Jr,
1583
+ interpolateCubehelix: () => Bi,
1584
+ interpolateCubehelixLong: () => Vi,
1585
+ interpolateDate: () => ci,
1586
+ interpolateDiscrete: () => hi,
1587
+ interpolateHcl: () => Li,
1588
+ interpolateHclLong: () => Ri,
1589
+ interpolateHsl: () => Ni,
1590
+ interpolateHslLong: () => Pi,
1591
+ interpolateHue: () => gi,
1592
+ interpolateLab: () => Fi,
1593
+ interpolateNumber: () => H,
1594
+ interpolateNumberArray: () => ii,
1595
+ interpolateObject: () => li,
1596
+ interpolateRgb: () => ei,
1597
+ interpolateRgbBasis: () => ni,
1598
+ interpolateRgbBasisClosed: () => ri,
1599
+ interpolateRound: () => _i,
1600
+ interpolateString: () => mi,
1601
+ interpolateTransformCss: () => Ti,
1602
+ interpolateTransformSvg: () => Ei,
1603
+ interpolateZoom: () => ji,
1604
+ piecewise: () => Hi,
1605
+ quantize: () => Ui
1606
+ });
1607
+ //#endregion
1608
+ //#region ../../node_modules/d3-scale/src/constant.js
1609
+ function Gi(e) {
1610
+ return function() {
1611
+ return e;
1612
+ };
1613
+ }
1614
+ //#endregion
1615
+ //#region ../../node_modules/d3-scale/src/number.js
1616
+ function Ki(e) {
1617
+ return +e;
1618
+ }
1619
+ //#endregion
1620
+ //#region ../../node_modules/d3-scale/src/continuous.js
1621
+ var qi = [0, 1];
1622
+ function W(e) {
1623
+ return e;
1624
+ }
1625
+ function Ji(e, t) {
1626
+ return (t -= e = +e) ? function(n) {
1627
+ return (n - e) / t;
1628
+ } : Gi(isNaN(t) ? NaN : .5);
1629
+ }
1630
+ function Yi(e, t) {
1631
+ var n;
1632
+ return e > t && (n = e, e = t, t = n), function(n) {
1633
+ return Math.max(e, Math.min(t, n));
1634
+ };
1635
+ }
1636
+ function Xi(e, t, n) {
1637
+ var r = e[0], i = e[1], a = t[0], o = t[1];
1638
+ return i < r ? (r = Ji(i, r), a = n(o, a)) : (r = Ji(r, i), a = n(a, o)), function(e) {
1639
+ return a(r(e));
1640
+ };
1641
+ }
1642
+ function Zi(e, t, n) {
1643
+ var r = Math.min(e.length, t.length) - 1, i = Array(r), a = Array(r), o = -1;
1644
+ for (e[r] < e[0] && (e = e.slice().reverse(), t = t.slice().reverse()); ++o < r;) i[o] = Ji(e[o], e[o + 1]), a[o] = n(t[o], t[o + 1]);
1645
+ return function(t) {
1646
+ var n = x(e, t, 1, r) - 1;
1647
+ return a[n](i[n](t));
1648
+ };
1649
+ }
1650
+ function Qi(e, t) {
1651
+ return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown());
1652
+ }
1653
+ function $i() {
1654
+ var e = qi, t = qi, n = U, r, i, a, o = W, s, c, l;
1655
+ function u() {
1656
+ var n = Math.min(e.length, t.length);
1657
+ return o !== W && (o = Yi(e[0], e[n - 1])), s = n > 2 ? Zi : Xi, c = l = null, d;
1658
+ }
1659
+ function d(i) {
1660
+ return i == null || isNaN(i = +i) ? a : (c ||= s(e.map(r), t, n))(r(o(i)));
1661
+ }
1662
+ return d.invert = function(n) {
1663
+ return o(i((l ||= s(t, e.map(r), H))(n)));
1664
+ }, d.domain = function(t) {
1665
+ return arguments.length ? (e = Array.from(t, Ki), u()) : e.slice();
1666
+ }, d.range = function(e) {
1667
+ return arguments.length ? (t = Array.from(e), u()) : t.slice();
1668
+ }, d.rangeRound = function(e) {
1669
+ return t = Array.from(e), n = _i, u();
1670
+ }, d.clamp = function(e) {
1671
+ return arguments.length ? (o = e ? !0 : W, u()) : o !== W;
1672
+ }, d.interpolate = function(e) {
1673
+ return arguments.length ? (n = e, u()) : n;
1674
+ }, d.unknown = function(e) {
1675
+ return arguments.length ? (a = e, d) : a;
1676
+ }, function(e, t) {
1677
+ return r = e, i = t, u();
1678
+ };
1679
+ }
1680
+ function ea() {
1681
+ return $i()(W, W);
1682
+ }
1683
+ //#endregion
1684
+ //#region ../../node_modules/d3-scale/src/tickFormat.js
1685
+ function ta(e, t, n, r) {
1686
+ var a = Ie(e, t, n), o;
1687
+ switch (r = i(r ?? ",f"), r.type) {
1688
+ case "s":
1689
+ var s = Math.max(Math.abs(e), Math.abs(t));
1690
+ return r.precision == null && !isNaN(o = We(a, s)) && (r.precision = o), f(r, s);
1691
+ case "":
1692
+ case "e":
1693
+ case "g":
1694
+ case "p":
1695
+ case "r":
1696
+ r.precision == null && !isNaN(o = Ge(a, Math.max(Math.abs(e), Math.abs(t)))) && (r.precision = o - (r.type === "e"));
1697
+ break;
1698
+ case "f":
1699
+ case "%":
1700
+ r.precision == null && !isNaN(o = Ue(a)) && (r.precision = o - (r.type === "%") * 2);
1701
+ break;
1702
+ }
1703
+ return l(r);
1704
+ }
1705
+ //#endregion
1706
+ //#region ../../node_modules/d3-scale/src/linear.js
1707
+ function na(e) {
1708
+ var t = e.domain;
1709
+ return e.ticks = function(e) {
1710
+ var n = t();
1711
+ return Pe(n[0], n[n.length - 1], e ?? 10);
1712
+ }, e.tickFormat = function(e, n) {
1713
+ var r = t();
1714
+ return ta(r[0], r[r.length - 1], e ?? 10, n);
1715
+ }, e.nice = function(n) {
1716
+ n ??= 10;
1717
+ var r = t(), i = 0, a = r.length - 1, o = r[i], s = r[a], c, l, u = 10;
1718
+ for (s < o && (l = o, o = s, s = l, l = i, i = a, a = l); u-- > 0;) {
1719
+ if (l = Fe(o, s, n), l === c) return r[i] = o, r[a] = s, t(r);
1720
+ if (l > 0) o = Math.floor(o / l) * l, s = Math.ceil(s / l) * l;
1721
+ else if (l < 0) o = Math.ceil(o * l) / l, s = Math.floor(s * l) / l;
1722
+ else break;
1723
+ c = l;
1724
+ }
1725
+ return e;
1726
+ }, e;
1727
+ }
1728
+ function ra() {
1729
+ var e = ea();
1730
+ return e.copy = function() {
1731
+ return Qi(e, ra());
1732
+ }, I.apply(e, arguments), na(e);
1733
+ }
1734
+ //#endregion
1735
+ //#region ../../node_modules/d3-scale/src/identity.js
1736
+ function ia(e) {
1737
+ var t;
1738
+ function n(e) {
1739
+ return e == null || isNaN(e = +e) ? t : e;
1740
+ }
1741
+ return n.invert = n, n.domain = n.range = function(t) {
1742
+ return arguments.length ? (e = Array.from(t, Ki), n) : e.slice();
1743
+ }, n.unknown = function(e) {
1744
+ return arguments.length ? (t = e, n) : t;
1745
+ }, n.copy = function() {
1746
+ return ia(e).unknown(t);
1747
+ }, e = arguments.length ? Array.from(e, Ki) : [0, 1], na(n);
1748
+ }
1749
+ //#endregion
1750
+ //#region ../../node_modules/d3-scale/src/nice.js
1751
+ function aa(e, t) {
1752
+ e = e.slice();
1753
+ var n = 0, r = e.length - 1, i = e[n], a = e[r], o;
1754
+ return a < i && (o = n, n = r, r = o, o = i, i = a, a = o), e[n] = t.floor(i), e[r] = t.ceil(a), e;
1755
+ }
1756
+ //#endregion
1757
+ //#region ../../node_modules/d3-scale/src/log.js
1758
+ function oa(e) {
1759
+ return Math.log(e);
1760
+ }
1761
+ function sa(e) {
1762
+ return Math.exp(e);
1763
+ }
1764
+ function ca(e) {
1765
+ return -Math.log(-e);
1766
+ }
1767
+ function la(e) {
1768
+ return -Math.exp(-e);
1769
+ }
1770
+ function ua(e) {
1771
+ return isFinite(e) ? +("1e" + e) : e < 0 ? 0 : e;
1772
+ }
1773
+ function da(e) {
1774
+ return e === 10 ? ua : e === Math.E ? Math.exp : (t) => e ** +t;
1775
+ }
1776
+ function fa(e) {
1777
+ return e === Math.E ? Math.log : e === 10 && Math.log10 || e === 2 && Math.log2 || (e = Math.log(e), (t) => Math.log(t) / e);
1778
+ }
1779
+ function pa(e) {
1780
+ return (t, n) => -e(-t, n);
1781
+ }
1782
+ function ma(e) {
1783
+ let t = e(oa, sa), n = t.domain, r = 10, a, o;
1784
+ function s() {
1785
+ return a = fa(r), o = da(r), n()[0] < 0 ? (a = pa(a), o = pa(o), e(ca, la)) : e(oa, sa), t;
1786
+ }
1787
+ return t.base = function(e) {
1788
+ return arguments.length ? (r = +e, s()) : r;
1789
+ }, t.domain = function(e) {
1790
+ return arguments.length ? (n(e), s()) : n();
1791
+ }, t.ticks = (e) => {
1792
+ let t = n(), i = t[0], s = t[t.length - 1], c = s < i;
1793
+ c && ([i, s] = [s, i]);
1794
+ let l = a(i), u = a(s), d, f, p = e == null ? 10 : +e, m = [];
1795
+ if (!(r % 1) && u - l < p) {
1796
+ if (l = Math.floor(l), u = Math.ceil(u), i > 0) {
1797
+ for (; l <= u; ++l) for (d = 1; d < r; ++d) if (f = l < 0 ? d / o(-l) : d * o(l), !(f < i)) {
1798
+ if (f > s) break;
1799
+ m.push(f);
1800
+ }
1801
+ } else for (; l <= u; ++l) for (d = r - 1; d >= 1; --d) if (f = l > 0 ? d / o(-l) : d * o(l), !(f < i)) {
1802
+ if (f > s) break;
1803
+ m.push(f);
1804
+ }
1805
+ m.length * 2 < p && (m = Pe(i, s, p));
1806
+ } else m = Pe(l, u, Math.min(u - l, p)).map(o);
1807
+ return c ? m.reverse() : m;
1808
+ }, t.tickFormat = (e, n) => {
1809
+ if (e ??= 10, n ??= r === 10 ? "s" : ",", typeof n != "function" && (!(r % 1) && (n = i(n)).precision == null && (n.trim = !0), n = l(n)), e === Infinity) return n;
1810
+ let s = Math.max(1, r * e / t.ticks().length);
1811
+ return (e) => {
1812
+ let t = e / o(Math.round(a(e)));
1813
+ return t * r < r - .5 && (t *= r), t <= s ? n(e) : "";
1814
+ };
1815
+ }, t.nice = () => n(aa(n(), {
1816
+ floor: (e) => o(Math.floor(a(e))),
1817
+ ceil: (e) => o(Math.ceil(a(e)))
1818
+ })), t;
1819
+ }
1820
+ function ha() {
1821
+ let e = ma($i()).domain([1, 10]);
1822
+ return e.copy = () => Qi(e, ha()).base(e.base()), I.apply(e, arguments), e;
1823
+ }
1824
+ //#endregion
1825
+ //#region ../../node_modules/d3-scale/src/symlog.js
1826
+ function ga(e) {
1827
+ return function(t) {
1828
+ return Math.sign(t) * Math.log1p(Math.abs(t / e));
1829
+ };
1830
+ }
1831
+ function _a(e) {
1832
+ return function(t) {
1833
+ return Math.sign(t) * Math.expm1(Math.abs(t)) * e;
1834
+ };
1835
+ }
1836
+ function va(e) {
1837
+ var t = 1, n = e(ga(t), _a(t));
1838
+ return n.constant = function(n) {
1839
+ return arguments.length ? e(ga(t = +n), _a(t)) : t;
1840
+ }, na(n);
1841
+ }
1842
+ function ya() {
1843
+ var e = va($i());
1844
+ return e.copy = function() {
1845
+ return Qi(e, ya()).constant(e.constant());
1846
+ }, I.apply(e, arguments);
1847
+ }
1848
+ //#endregion
1849
+ //#region ../../node_modules/d3-scale/src/pow.js
1850
+ function ba(e) {
1851
+ return function(t) {
1852
+ return t < 0 ? -((-t) ** +e) : t ** +e;
1853
+ };
1854
+ }
1855
+ function xa(e) {
1856
+ return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e);
1857
+ }
1858
+ function Sa(e) {
1859
+ return e < 0 ? -e * e : e * e;
1860
+ }
1861
+ function Ca(e) {
1862
+ var t = e(W, W), n = 1;
1863
+ function r() {
1864
+ return n === 1 ? e(W, W) : n === .5 ? e(xa, Sa) : e(ba(n), ba(1 / n));
1865
+ }
1866
+ return t.exponent = function(e) {
1867
+ return arguments.length ? (n = +e, r()) : n;
1868
+ }, na(t);
1869
+ }
1870
+ function wa() {
1871
+ var e = Ca($i());
1872
+ return e.copy = function() {
1873
+ return Qi(e, wa()).exponent(e.exponent());
1874
+ }, I.apply(e, arguments), e;
1875
+ }
1876
+ function Ta() {
1877
+ return wa.apply(null, arguments).exponent(.5);
1878
+ }
1879
+ //#endregion
1880
+ //#region ../../node_modules/d3-scale/src/quantile.js
1881
+ function Ea() {
1882
+ var e = [], t = [], n = [], r;
1883
+ function i() {
1884
+ var r = 0, i = Math.max(1, t.length);
1885
+ for (n = Array(i - 1); ++r < i;) n[r - 1] = He(e, r / i);
1886
+ return a;
1887
+ }
1888
+ function a(e) {
1889
+ return e == null || isNaN(e = +e) ? r : t[x(n, e)];
1890
+ }
1891
+ return a.invertExtent = function(r) {
1892
+ var i = t.indexOf(r);
1893
+ return i < 0 ? [NaN, NaN] : [i > 0 ? n[i - 1] : e[0], i < n.length ? n[i] : e[e.length - 1]];
1894
+ }, a.domain = function(t) {
1895
+ if (!arguments.length) return e.slice();
1896
+ e = [];
1897
+ for (let n of t) n != null && !isNaN(n = +n) && e.push(n);
1898
+ return e.sort(b), i();
1899
+ }, a.range = function(e) {
1900
+ return arguments.length ? (t = Array.from(e), i()) : t.slice();
1901
+ }, a.unknown = function(e) {
1902
+ return arguments.length ? (r = e, a) : r;
1903
+ }, a.quantiles = function() {
1904
+ return n.slice();
1905
+ }, a.copy = function() {
1906
+ return Ea().domain(e).range(t).unknown(r);
1907
+ }, I.apply(a, arguments);
1908
+ }
1909
+ //#endregion
1910
+ //#region ../../node_modules/d3-scale/src/quantize.js
1911
+ function Da() {
1912
+ var e = 0, t = 1, n = 1, r = [.5], i = [0, 1], a;
1913
+ function o(e) {
1914
+ return e != null && e <= e ? i[x(r, e, 0, n)] : a;
1915
+ }
1916
+ function s() {
1917
+ var i = -1;
1918
+ for (r = Array(n); ++i < n;) r[i] = ((i + 1) * t - (i - n) * e) / (n + 1);
1919
+ return o;
1920
+ }
1921
+ return o.domain = function(n) {
1922
+ return arguments.length ? ([e, t] = n, e = +e, t = +t, s()) : [e, t];
1923
+ }, o.range = function(e) {
1924
+ return arguments.length ? (n = (i = Array.from(e)).length - 1, s()) : i.slice();
1925
+ }, o.invertExtent = function(a) {
1926
+ var o = i.indexOf(a);
1927
+ return o < 0 ? [NaN, NaN] : o < 1 ? [e, r[0]] : o >= n ? [r[n - 1], t] : [r[o - 1], r[o]];
1928
+ }, o.unknown = function(e) {
1929
+ return arguments.length && (a = e), o;
1930
+ }, o.thresholds = function() {
1931
+ return r.slice();
1932
+ }, o.copy = function() {
1933
+ return Da().domain([e, t]).range(i).unknown(a);
1934
+ }, I.apply(na(o), arguments);
1935
+ }
1936
+ //#endregion
1937
+ //#region ../../node_modules/d3-scale/src/threshold.js
1938
+ function Oa() {
1939
+ var e = [.5], t = [0, 1], n, r = 1;
1940
+ function i(i) {
1941
+ return i != null && i <= i ? t[x(e, i, 0, r)] : n;
1942
+ }
1943
+ return i.domain = function(n) {
1944
+ return arguments.length ? (e = Array.from(n), r = Math.min(e.length, t.length - 1), i) : e.slice();
1945
+ }, i.range = function(n) {
1946
+ return arguments.length ? (t = Array.from(n), r = Math.min(e.length, t.length - 1), i) : t.slice();
1947
+ }, i.invertExtent = function(n) {
1948
+ var r = t.indexOf(n);
1949
+ return [e[r - 1], e[r]];
1950
+ }, i.unknown = function(e) {
1951
+ return arguments.length ? (n = e, i) : n;
1952
+ }, i.copy = function() {
1953
+ return Oa().domain(e).range(t).unknown(n);
1954
+ }, I.apply(i, arguments);
1955
+ }
1956
+ //#endregion
1957
+ //#region ../../node_modules/d3-scale/src/time.js
1958
+ function ka(e) {
1959
+ return new Date(e);
1960
+ }
1961
+ function Aa(e) {
1962
+ return e instanceof Date ? +e : +/* @__PURE__ */ new Date(+e);
1963
+ }
1964
+ function ja(e, t, n, r, i, a, o, s, c, l) {
1965
+ var u = ea(), d = u.invert, f = u.domain, p = l(".%L"), m = l(":%S"), h = l("%I:%M"), ee = l("%I %p"), g = l("%a %d"), te = l("%b %d"), _ = l("%B"), v = l("%Y");
1966
+ function ne(e) {
1967
+ return (c(e) < e ? p : s(e) < e ? m : o(e) < e ? h : a(e) < e ? ee : r(e) < e ? i(e) < e ? g : te : n(e) < e ? _ : v)(e);
1968
+ }
1969
+ return u.invert = function(e) {
1970
+ return new Date(d(e));
1971
+ }, u.domain = function(e) {
1972
+ return arguments.length ? f(Array.from(e, Aa)) : f().map(ka);
1973
+ }, u.ticks = function(t) {
1974
+ var n = f();
1975
+ return e(n[0], n[n.length - 1], t ?? 10);
1976
+ }, u.tickFormat = function(e, t) {
1977
+ return t == null ? ne : l(t);
1978
+ }, u.nice = function(e) {
1979
+ var n = f();
1980
+ return (!e || typeof e.range != "function") && (e = t(n[0], n[n.length - 1], e ?? 10)), e ? f(aa(n, e)) : u;
1981
+ }, u.copy = function() {
1982
+ return Qi(u, ja(e, t, n, r, i, a, o, s, c, l));
1983
+ }, u;
1984
+ }
1985
+ function Ma() {
1986
+ return I.apply(ja(Ct, wt, j, vt, it, O, et, Qe, D, ur).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
1987
+ }
1988
+ //#endregion
1989
+ //#region ../../node_modules/d3-scale/src/utcTime.js
1990
+ function Na() {
1991
+ return I.apply(ja(xt, St, M, yt, dt, nt, tt, $e, D, fr).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
1992
+ }
1993
+ //#endregion
1994
+ //#region ../../node_modules/d3-scale/src/sequential.js
1995
+ function Pa() {
1996
+ var e = 0, t = 1, n, r, i, a, o = W, s = !1, c;
1997
+ function l(e) {
1998
+ return e == null || isNaN(e = +e) ? c : o(i === 0 ? .5 : (e = (a(e) - n) * i, s ? Math.max(0, Math.min(1, e)) : e));
1999
+ }
2000
+ l.domain = function(o) {
2001
+ return arguments.length ? ([e, t] = o, n = a(e = +e), r = a(t = +t), i = n === r ? 0 : 1 / (r - n), l) : [e, t];
2002
+ }, l.clamp = function(e) {
2003
+ return arguments.length ? (s = !!e, l) : s;
2004
+ }, l.interpolator = function(e) {
2005
+ return arguments.length ? (o = e, l) : o;
2006
+ };
2007
+ function u(e) {
2008
+ return function(t) {
2009
+ var n, r;
2010
+ return arguments.length ? ([n, r] = t, o = e(n, r), l) : [o(0), o(1)];
2011
+ };
2012
+ }
2013
+ return l.range = u(U), l.rangeRound = u(_i), l.unknown = function(e) {
2014
+ return arguments.length ? (c = e, l) : c;
2015
+ }, function(o) {
2016
+ return a = o, n = o(e), r = o(t), i = n === r ? 0 : 1 / (r - n), l;
2017
+ };
2018
+ }
2019
+ function G(e, t) {
2020
+ return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown());
2021
+ }
2022
+ function Fa() {
2023
+ var e = na(Pa()(W));
2024
+ return e.copy = function() {
2025
+ return G(e, Fa());
2026
+ }, L.apply(e, arguments);
2027
+ }
2028
+ function Ia() {
2029
+ var e = ma(Pa()).domain([1, 10]);
2030
+ return e.copy = function() {
2031
+ return G(e, Ia()).base(e.base());
2032
+ }, L.apply(e, arguments);
2033
+ }
2034
+ function La() {
2035
+ var e = va(Pa());
2036
+ return e.copy = function() {
2037
+ return G(e, La()).constant(e.constant());
2038
+ }, L.apply(e, arguments);
2039
+ }
2040
+ function Ra() {
2041
+ var e = Ca(Pa());
2042
+ return e.copy = function() {
2043
+ return G(e, Ra()).exponent(e.exponent());
2044
+ }, L.apply(e, arguments);
2045
+ }
2046
+ function za() {
2047
+ return Ra.apply(null, arguments).exponent(.5);
2048
+ }
2049
+ //#endregion
2050
+ //#region ../../node_modules/d3-scale/src/diverging.js
2051
+ function Ba() {
2052
+ var e = 0, t = .5, n = 1, r = 1, i, a, o, s, c, l = W, u, d = !1, f;
2053
+ function p(e) {
2054
+ return isNaN(e = +e) ? f : (e = .5 + ((e = +u(e)) - a) * (r * e < r * a ? s : c), l(d ? Math.max(0, Math.min(1, e)) : e));
2055
+ }
2056
+ p.domain = function(l) {
2057
+ return arguments.length ? ([e, t, n] = l, i = u(e = +e), a = u(t = +t), o = u(n = +n), s = i === a ? 0 : .5 / (a - i), c = a === o ? 0 : .5 / (o - a), r = a < i ? -1 : 1, p) : [
2058
+ e,
2059
+ t,
2060
+ n
2061
+ ];
2062
+ }, p.clamp = function(e) {
2063
+ return arguments.length ? (d = !!e, p) : d;
2064
+ }, p.interpolator = function(e) {
2065
+ return arguments.length ? (l = e, p) : l;
2066
+ };
2067
+ function m(e) {
2068
+ return function(t) {
2069
+ var n, r, i;
2070
+ return arguments.length ? ([n, r, i] = t, l = Hi(e, [
2071
+ n,
2072
+ r,
2073
+ i
2074
+ ]), p) : [
2075
+ l(0),
2076
+ l(.5),
2077
+ l(1)
2078
+ ];
2079
+ };
2080
+ }
2081
+ return p.range = m(U), p.rangeRound = m(_i), p.unknown = function(e) {
2082
+ return arguments.length ? (f = e, p) : f;
2083
+ }, function(l) {
2084
+ return u = l, i = l(e), a = l(t), o = l(n), s = i === a ? 0 : .5 / (a - i), c = a === o ? 0 : .5 / (o - a), r = a < i ? -1 : 1, p;
2085
+ };
2086
+ }
2087
+ function Va() {
2088
+ var e = na(Ba()(W));
2089
+ return e.copy = function() {
2090
+ return G(e, Va());
2091
+ }, L.apply(e, arguments);
2092
+ }
2093
+ function Ha() {
2094
+ var e = ma(Ba()).domain([
2095
+ .1,
2096
+ 1,
2097
+ 10
2098
+ ]);
2099
+ return e.copy = function() {
2100
+ return G(e, Ha()).base(e.base());
2101
+ }, L.apply(e, arguments);
2102
+ }
2103
+ function Ua() {
2104
+ var e = va(Ba());
2105
+ return e.copy = function() {
2106
+ return G(e, Ua()).constant(e.constant());
2107
+ }, L.apply(e, arguments);
2108
+ }
2109
+ function Wa() {
2110
+ var e = Ca(Ba());
2111
+ return e.copy = function() {
2112
+ return G(e, Wa()).exponent(e.exponent());
2113
+ }, L.apply(e, arguments);
2114
+ }
2115
+ function Ga() {
2116
+ return Wa.apply(null, arguments).exponent(.5);
2117
+ }
2118
+ //#endregion
2119
+ //#region ../../node_modules/d3-scale-chromatic/src/colors.js
2120
+ function K(e) {
2121
+ for (var t = e.length / 6 | 0, n = Array(t), r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
2122
+ return n;
2123
+ }
2124
+ //#endregion
2125
+ //#region ../../node_modules/d3-scale-chromatic/src/categorical/category10.js
2126
+ var Ka = K("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), qa = K("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), Ja = K("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), Ya = K("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"), Xa = K("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), Za = K("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), Qa = K("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), $a = K("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), eo = K("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), to = K("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");
2127
+ //#endregion
2128
+ //#region ../../node_modules/vega-scale/build/vega-scale.js
2129
+ function no(e, t, n) {
2130
+ let r = e - t + n * 2;
2131
+ return e ? r > 0 ? r : 1 : 0;
2132
+ }
2133
+ var ro = "identity", io = "linear", ao = "sqrt", oo = "symlog", so = "time", co = "sequential", lo = "diverging", uo = "quantile", fo = "quantize", po = "threshold", mo = "ordinal", ho = "point", go = "band", _o = "bin-ordinal", q = "continuous", vo = "discrete", yo = "discretizing", J = "interpolating", bo = "temporal";
2134
+ function xo(e) {
2135
+ return function(t) {
2136
+ let n = t[0], r = t[1], i;
2137
+ return r < n && (i = n, n = r, r = i), [e.invert(n), e.invert(r)];
2138
+ };
2139
+ }
2140
+ function So(e) {
2141
+ return function(t) {
2142
+ let n = e.range(), r = t[0], i = t[1], a = -1, o, s, c, l;
2143
+ for (i < r && (s = r, r = i, i = s), c = 0, l = n.length; c < l; ++c) n[c] >= r && n[c] <= i && (a < 0 && (a = c), o = c);
2144
+ if (!(a < 0)) return r = e.invertExtent(n[a]), i = e.invertExtent(n[o]), [r[0] === void 0 ? r[1] : r[0], i[1] === void 0 ? i[0] : i[1]];
2145
+ };
2146
+ }
2147
+ function Co() {
2148
+ let e = gr().unknown(void 0), t = e.domain, n = e.range, r = [0, 1], i, a, o = !1, s = 0, c = 0, l = .5;
2149
+ delete e.unknown;
2150
+ function u() {
2151
+ let e = t().length, u = r[1] < r[0], d = r[1 - u], f = no(e, s, c), p = r[u - 0];
2152
+ i = (d - p) / (f || 1), o && (i = Math.floor(i)), p += (d - p - i * (e - s)) * l, a = i * (1 - s), o && (p = Math.round(p), a = Math.round(a));
2153
+ let m = _(e).map((e) => p + i * e);
2154
+ return n(u ? m.reverse() : m);
2155
+ }
2156
+ return e.domain = function(e) {
2157
+ return arguments.length ? (t(e), u()) : t();
2158
+ }, e.range = function(e) {
2159
+ return arguments.length ? (r = [+e[0], +e[1]], u()) : r.slice();
2160
+ }, e.rangeRound = function(e) {
2161
+ return r = [+e[0], +e[1]], o = !0, u();
2162
+ }, e.bandwidth = function() {
2163
+ return a;
2164
+ }, e.step = function() {
2165
+ return i;
2166
+ }, e.round = function(e) {
2167
+ return arguments.length ? (o = !!e, u()) : o;
2168
+ }, e.padding = function(e) {
2169
+ return arguments.length ? (c = Math.max(0, Math.min(1, e)), s = c, u()) : s;
2170
+ }, e.paddingInner = function(e) {
2171
+ return arguments.length ? (s = Math.max(0, Math.min(1, e)), u()) : s;
2172
+ }, e.paddingOuter = function(e) {
2173
+ return arguments.length ? (c = Math.max(0, Math.min(1, e)), u()) : c;
2174
+ }, e.align = function(e) {
2175
+ return arguments.length ? (l = Math.max(0, Math.min(1, e)), u()) : l;
2176
+ }, e.invertRange = function(e) {
2177
+ if (e[0] == null || e[1] == null) return;
2178
+ let i = r[1] < r[0], o = i ? n().reverse() : n(), s = o.length - 1, c = +e[0], l = +e[1], u, d, f;
2179
+ if (!(c !== c || l !== l) && (l < c && (f = c, c = l, l = f), !(l < o[0] || c > r[1 - i]))) return u = Math.max(0, x(o, c) - 1), d = c === l ? u : x(o, l) - 1, c - o[u] > a + 1e-10 && ++u, i && (f = u, u = s - d, d = s - f), u > d ? void 0 : t().slice(u, d + 1);
2180
+ }, e.invert = function(t) {
2181
+ let n = e.invertRange([t, t]);
2182
+ return n && n[0];
2183
+ }, e.copy = function() {
2184
+ return Co().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l);
2185
+ }, u();
2186
+ }
2187
+ function wo(e) {
2188
+ let t = e.copy;
2189
+ return e.padding = e.paddingOuter, delete e.paddingInner, e.copy = function() {
2190
+ return wo(t());
2191
+ }, e;
2192
+ }
2193
+ function To() {
2194
+ return wo(Co().paddingInner(1));
2195
+ }
2196
+ var Eo = Array.prototype.map;
2197
+ function Do(e) {
2198
+ return Eo.call(e, ve);
2199
+ }
2200
+ var Oo = Array.prototype.slice;
2201
+ function ko() {
2202
+ let e = [], t = [];
2203
+ function n(n) {
2204
+ return n == null || n !== n ? void 0 : t[(x(e, n) - 1) % t.length];
2205
+ }
2206
+ return n.domain = function(t) {
2207
+ return arguments.length ? (e = Do(t), n) : e.slice();
2208
+ }, n.range = function(e) {
2209
+ return arguments.length ? (t = Oo.call(e), n) : t.slice();
2210
+ }, n.tickFormat = function(t, n) {
2211
+ return ta(e[0], _e(e), t ?? 10, n);
2212
+ }, n.copy = function() {
2213
+ return ko().domain(n.domain()).range(n.range());
2214
+ }, n;
2215
+ }
2216
+ var Ao = /* @__PURE__ */ new Map(), jo = Symbol("vega_scale");
2217
+ function Mo(e) {
2218
+ return e[jo] = !0, e;
2219
+ }
2220
+ function No(e, n, r) {
2221
+ let i = function() {
2222
+ let t = n();
2223
+ return t.invertRange ||= t.invert ? xo(t) : t.invertExtent ? So(t) : void 0, t.type = e, Mo(t);
2224
+ };
2225
+ return i.metadata = a(t(r)), i;
2226
+ }
2227
+ function Y(e, t, n) {
2228
+ return arguments.length > 1 ? (Ao.set(e, No(e, t, n)), this) : Po(e) ? Ao.get(e) : void 0;
2229
+ }
2230
+ Y(ro, ia), Y(io, ra, q), Y("log", ha, [q, "log"]), Y("pow", wa, q), Y(ao, Ta, q), Y(oo, ya, q), Y(so, Ma, [q, bo]), Y("utc", Na, [q, bo]), Y(co, Fa, [q, J]), Y(`${co}-${io}`, Fa, [q, J]), Y(`${co}-log`, Ia, [
2231
+ q,
2232
+ J,
2233
+ "log"
2234
+ ]), Y(`${co}-pow`, Ra, [q, J]), Y(`${co}-${ao}`, za, [q, J]), Y(`${co}-${oo}`, La, [q, J]), Y(`${lo}-${io}`, Va, [q, J]), Y(`${lo}-log`, Ha, [
2235
+ q,
2236
+ J,
2237
+ "log"
2238
+ ]), Y(`${lo}-pow`, Wa, [q, J]), Y(`${lo}-${ao}`, Ga, [q, J]), Y(`${lo}-${oo}`, Ua, [q, J]), Y(uo, Ea, [yo, uo]), Y(fo, Da, yo), Y(po, Oa, yo), Y(_o, ko, [vo, yo]), Y(mo, gr, vo), Y(go, Co, vo), Y(ho, To, vo);
2239
+ function Po(e) {
2240
+ return Ao.has(e);
2241
+ }
2242
+ function Fo(e, t) {
2243
+ let n = Ao.get(e);
2244
+ return n && n.metadata[t];
2245
+ }
2246
+ function Io(e) {
2247
+ return Fo(e, q);
2248
+ }
2249
+ function Lo(e) {
2250
+ return Fo(e, vo);
2251
+ }
2252
+ function Ro(e) {
2253
+ return Fo(e, yo);
2254
+ }
2255
+ function zo(e) {
2256
+ return Fo(e, "log");
2257
+ }
2258
+ function Bo(e) {
2259
+ return Fo(e, J);
2260
+ }
2261
+ function Vo(e, t) {
2262
+ let n = t[0], r = _e(t) - n;
2263
+ return function(t) {
2264
+ return e(n + t * r);
2265
+ };
2266
+ }
2267
+ function Ho(e, t, n) {
2268
+ return Hi(Wo(t || "rgb", n), e);
2269
+ }
2270
+ function Uo(e, t) {
2271
+ let n = Array(t), r = t + 1;
2272
+ for (let i = 0; i < t;) n[i] = e(++i / r);
2273
+ return n;
2274
+ }
2275
+ function Wo(e, t) {
2276
+ let n = Wi[Go(e)];
2277
+ return t != null && n && n.gamma ? n.gamma(t) : n;
2278
+ }
2279
+ function Go(e) {
2280
+ return "interpolate" + e.toLowerCase().split("-").map((e) => e[0].toUpperCase() + e.slice(1)).join("");
2281
+ }
2282
+ var Ko = {
2283
+ blues: "cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",
2284
+ greens: "d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",
2285
+ greys: "e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",
2286
+ oranges: "fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",
2287
+ purples: "e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",
2288
+ reds: "fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",
2289
+ blueGreen: "d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",
2290
+ bluePurple: "ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",
2291
+ greenBlue: "d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",
2292
+ orangeRed: "fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",
2293
+ purpleBlue: "dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",
2294
+ purpleBlueGreen: "dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",
2295
+ purpleRed: "dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",
2296
+ redPurple: "fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",
2297
+ yellowGreen: "e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",
2298
+ yellowOrangeBrown: "feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",
2299
+ yellowOrangeRed: "fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",
2300
+ blueOrange: "134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",
2301
+ brownBlueGreen: "704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",
2302
+ purpleGreen: "5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",
2303
+ purpleOrange: "4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",
2304
+ redBlue: "8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",
2305
+ redGrey: "8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",
2306
+ yellowGreenBlue: "eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",
2307
+ redYellowBlue: "a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",
2308
+ redYellowGreen: "a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",
2309
+ pinkYellowGreen: "8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",
2310
+ spectral: "9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",
2311
+ viridis: "440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",
2312
+ magma: "0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",
2313
+ inferno: "0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",
2314
+ plasma: "0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",
2315
+ cividis: "00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",
2316
+ rainbow: "6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",
2317
+ sinebow: "ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",
2318
+ turbo: "23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",
2319
+ browns: "eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",
2320
+ tealBlues: "bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",
2321
+ teals: "bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",
2322
+ warmGreys: "dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",
2323
+ goldGreen: "f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",
2324
+ goldOrange: "f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",
2325
+ goldRed: "f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",
2326
+ lightGreyRed: "efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",
2327
+ lightGreyTeal: "e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",
2328
+ lightMulti: "e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",
2329
+ lightOrange: "f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",
2330
+ lightTealBlue: "e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",
2331
+ darkBlue: "3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",
2332
+ darkGold: "3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",
2333
+ darkGreen: "3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",
2334
+ darkMulti: "3737371f5287197d8c29a86995ce3fffe800ffffff",
2335
+ darkRed: "3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"
2336
+ }, qo = {
2337
+ accent: qa,
2338
+ category10: Ka,
2339
+ category20: "1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",
2340
+ category20b: "393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",
2341
+ category20c: "3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",
2342
+ dark2: Ja,
2343
+ observable10: Ya,
2344
+ paired: Xa,
2345
+ pastel1: Za,
2346
+ pastel2: Qa,
2347
+ set1: $a,
2348
+ set2: eo,
2349
+ set3: to,
2350
+ tableau10: "4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",
2351
+ tableau20: "4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"
2352
+ };
2353
+ function Jo(e) {
2354
+ if (ne(e)) return e;
2355
+ let t = e.length / 6 | 0, n = Array(t);
2356
+ for (let r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
2357
+ return n;
2358
+ }
2359
+ function Yo(e, t) {
2360
+ for (let n in e) Zo(n, t(e[n]));
2361
+ }
2362
+ var Xo = {};
2363
+ Yo(qo, Jo), Yo(Ko, (e) => Ho(Jo(e)));
2364
+ function Zo(e, t) {
2365
+ return e &&= e.toLowerCase(), arguments.length > 1 ? (Xo[e] = t, this) : Xo[e];
2366
+ }
2367
+ //#endregion
2368
+ //#region ../../node_modules/flatqueue/index.js
2369
+ var Qo = class {
2370
+ constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
2371
+ let r = e !== Infinity;
2372
+ this.ids = r ? new n(e) : [], this.values = r ? new t(e) : [], this.capacity = e, this.length = 0;
2373
+ }
2374
+ clear() {
2375
+ this.length = 0;
2376
+ }
2377
+ push(e, t) {
2378
+ if (this.length === this.capacity) throw RangeError("Queue is at capacity.");
2379
+ let n = this.length++;
2380
+ for (; n > 0;) {
2381
+ let e = n - 1 >> 1, r = this.values[e];
2382
+ if (t >= r) break;
2383
+ this.ids[n] = this.ids[e], this.values[n] = r, n = e;
2384
+ }
2385
+ this.ids[n] = e, this.values[n] = t;
2386
+ }
2387
+ pop() {
2388
+ if (this.length === 0) return;
2389
+ let e = this.ids, t = this.values, n = e[0], r = --this.length;
2390
+ if (r > 0) {
2391
+ let n = e[r], i = t[r], a = 0, o = r >> 1;
2392
+ for (; a < o;) {
2393
+ let n = (a << 1) + 1, o = n + 1, s = n + (o < r & +(t[o] < t[n]));
2394
+ if (t[s] >= i) break;
2395
+ e[a] = e[s], t[a] = t[s], a = s;
2396
+ }
2397
+ e[a] = n, t[a] = i;
2398
+ }
2399
+ return n;
2400
+ }
2401
+ peek() {
2402
+ return this.length > 0 ? this.ids[0] : void 0;
2403
+ }
2404
+ peekValue() {
2405
+ return this.length > 0 ? this.values[0] : void 0;
2406
+ }
2407
+ shrink() {
2408
+ Array.isArray(this.ids) && (this.ids.length = this.length), Array.isArray(this.values) && (this.values.length = this.length);
2409
+ }
2410
+ }, $o = Symbol("runtimeNode"), es = 1e6;
2411
+ function ts(e) {
2412
+ return e ? (t, n) => {
2413
+ e.addDisposer(t, n);
2414
+ } : () => void 0;
2415
+ }
2416
+ function ns(e, t) {
2417
+ let n = {
2418
+ id: e.id,
2419
+ name: e.name,
2420
+ kind: e.kind,
2421
+ get() {
2422
+ return e.value;
2423
+ },
2424
+ subscribe(t) {
2425
+ return e.listeners.add(t), () => {
2426
+ e.listeners.delete(t);
2427
+ };
2428
+ }
2429
+ };
2430
+ return Object.defineProperty(n, $o, {
2431
+ enumerable: !1,
2432
+ configurable: !1,
2433
+ writable: !1,
2434
+ value: e
2435
+ }), t ? Object.assign(n, { set(e) {
2436
+ t(e);
2437
+ } }) : n;
2438
+ }
2439
+ function rs(e) {
2440
+ let t = e[$o];
2441
+ if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
2442
+ return t;
2443
+ }
2444
+ function is(e) {
2445
+ return typeof e.rank == "number" ? e.rank : rs(e).rank;
2446
+ }
2447
+ function as(e) {
2448
+ for (let t of e) t();
2449
+ }
2450
+ var os = class {
2451
+ #e = 1;
2452
+ #t = 1;
2453
+ #n = 0;
2454
+ #r = !1;
2455
+ #i = !1;
2456
+ #a = /* @__PURE__ */ new Set();
2457
+ #o = /* @__PURE__ */ new Set();
2458
+ #s = new Qo();
2459
+ #c = new Qo();
2460
+ #l = /* @__PURE__ */ new Set();
2461
+ #u;
2462
+ constructor(e = {}) {
2463
+ this.#u = ts(e.lifecycleRegistry);
2464
+ }
2465
+ createWritable(e, t, n, r, i = {}) {
2466
+ let a = "n" + this.#e++, o = i.notify ?? !0, s = {
2467
+ id: a,
2468
+ name: t,
2469
+ kind: n,
2470
+ value: r,
2471
+ rank: 0,
2472
+ disposed: !1,
2473
+ listeners: /* @__PURE__ */ new Set(),
2474
+ subscribe(e) {
2475
+ return s.listeners.add(e), () => {
2476
+ s.listeners.delete(e);
2477
+ };
2478
+ }
2479
+ };
2480
+ return this.#u(e, () => {
2481
+ s.disposed = !0, s.listeners.clear();
2482
+ }), ns(s, (e) => {
2483
+ if (s.disposed) throw Error("Cannot set disposed parameter \"" + t + "\" (" + a + ").");
2484
+ e !== s.value && (s.value = e, o && (as(s.listeners), this.#m()));
2485
+ });
2486
+ }
2487
+ computed(e, t, n, r) {
2488
+ let i = n.reduce((e, t) => Math.max(e, is(t)), 0), a = {
2489
+ id: "n" + this.#e++,
2490
+ name: t,
2491
+ kind: "derived",
2492
+ rank: i + 1,
2493
+ value: r(),
2494
+ disposed: !1,
2495
+ listeners: /* @__PURE__ */ new Set(),
2496
+ fn: r,
2497
+ subscribe(e) {
2498
+ return a.listeners.add(e), () => {
2499
+ a.listeners.delete(e);
2500
+ };
2501
+ }
2502
+ }, o = n.map((e) => e.subscribe(() => {
2503
+ a.disposed || (this.#d(a), e.propagation === "sync" && this.flushNow());
2504
+ }));
2505
+ return this.#u(e, () => {
2506
+ a.disposed || (a.disposed = !0, o.forEach((e) => e()), a.listeners.clear(), this.#a.delete(a));
2507
+ }), ns(a);
2508
+ }
2509
+ effect(e, t, n) {
2510
+ let r = t.reduce((e, t) => Math.max(e, is(t)), 0), i = {
2511
+ id: "n" + this.#e++,
2512
+ rank: r + 1,
2513
+ disposed: !1,
2514
+ fn: n
2515
+ }, a = () => {
2516
+ i.disposed || this.#f(i);
2517
+ }, o = t.map((e) => e.subscribe(a)), s = () => {
2518
+ i.disposed || (i.disposed = !0, o.forEach((e) => e()), this.#o.delete(i));
2519
+ };
2520
+ return this.#u(e, s), s;
2521
+ }
2522
+ runInTransaction(e) {
2523
+ this.#n += 1;
2524
+ try {
2525
+ return e();
2526
+ } finally {
2527
+ --this.#n, this.#n === 0 && this.#m();
2528
+ }
2529
+ }
2530
+ flushNow() {
2531
+ if (!(this.#n > 0 || this.#i)) {
2532
+ this.#r = !1, this.#i = !0;
2533
+ try {
2534
+ let e = !0;
2535
+ for (; e;) {
2536
+ for (e = !1; this.#s.length > 0;) {
2537
+ e = !0;
2538
+ let t = this.#s.pop();
2539
+ if (this.#a.delete(t), t.disposed) continue;
2540
+ let n = t.value, r = t.fn();
2541
+ r !== n && (t.value = r, as(t.listeners));
2542
+ }
2543
+ for (; this.#c.length > 0;) {
2544
+ e = !0;
2545
+ let t = this.#c.pop();
2546
+ this.#o.delete(t), !t.disposed && t.fn();
2547
+ }
2548
+ }
2549
+ } finally {
2550
+ this.#i = !1, this.#g();
2551
+ }
2552
+ }
2553
+ }
2554
+ whenPropagated(e = {}) {
2555
+ if (this.#h()) return Promise.resolve();
2556
+ let { signal: t, timeoutMs: n } = e;
2557
+ return t?.aborted ? Promise.reject(/* @__PURE__ */ Error("whenPropagated aborted")) : new Promise((e, r) => {
2558
+ let i = {
2559
+ resolve: e,
2560
+ reject: r
2561
+ };
2562
+ t && (i.abortHandler = () => {
2563
+ this.#l.delete(i), r(/* @__PURE__ */ Error("whenPropagated aborted"));
2564
+ }, t.addEventListener("abort", i.abortHandler, { once: !0 })), n != null && (i.timeoutId = setTimeout(() => {
2565
+ this.#l.delete(i), i.abortHandler && t?.removeEventListener("abort", i.abortHandler), r(/* @__PURE__ */ Error("whenPropagated timeout after " + n + " ms"));
2566
+ }, n)), this.#l.add(i);
2567
+ });
2568
+ }
2569
+ #d(e) {
2570
+ this.#a.has(e) || (this.#a.add(e), this.#s.push(e, this.#p(e.rank)), this.#m());
2571
+ }
2572
+ #f(e) {
2573
+ this.#o.has(e) || (this.#o.add(e), this.#c.push(e, this.#p(e.rank)), this.#m());
2574
+ }
2575
+ #p(e) {
2576
+ let t = this.#t % es;
2577
+ return this.#t += 1, e * es + t;
2578
+ }
2579
+ #m() {
2580
+ this.#n > 0 || this.#r || this.#i || (this.#r = !0, queueMicrotask(() => {
2581
+ this.flushNow();
2582
+ }));
2583
+ }
2584
+ #h() {
2585
+ return this.#n === 0 && !this.#r && !this.#i && this.#s.length === 0 && this.#c.length === 0 && this.#a.size === 0 && this.#o.size === 0;
2586
+ }
2587
+ #g() {
2588
+ if (this.#h()) {
2589
+ for (let e of this.#l) e.timeoutId && clearTimeout(e.timeoutId), e.resolve();
2590
+ this.#l.clear();
2591
+ }
2592
+ }
2593
+ }, ss = class {
2594
+ #e = 1;
2595
+ #t = /* @__PURE__ */ new Map();
2596
+ createOwner(e, t) {
2597
+ let n = e + ":" + t + ":" + this.#e++;
2598
+ return this.#t.set(n, /* @__PURE__ */ new Set()), n;
2599
+ }
2600
+ addDisposer(e, t) {
2601
+ let n = this.#t.get(e);
2602
+ if (!n) throw Error("Unknown owner: " + e);
2603
+ n.add(t);
2604
+ }
2605
+ disposeOwner(e) {
2606
+ let t = this.#t.get(e);
2607
+ if (t) {
2608
+ for (let e of t) e();
2609
+ t.clear(), this.#t.delete(e);
2610
+ }
2611
+ }
2612
+ }, cs = class {
2613
+ #e = 1;
2614
+ #t = /* @__PURE__ */ new Map();
2615
+ createRootScope(e) {
2616
+ let t = "scope:" + this.#e++;
2617
+ return this.#t.set(t, {
2618
+ params: /* @__PURE__ */ new Map(),
2619
+ ownerId: e
2620
+ }), t;
2621
+ }
2622
+ createChildScope(e, t) {
2623
+ if (!this.#t.has(t)) throw Error("Unknown parent scope: " + t);
2624
+ let n = "scope:" + this.#e++;
2625
+ return this.#t.set(n, {
2626
+ parentScope: t,
2627
+ params: /* @__PURE__ */ new Map(),
2628
+ ownerId: e
2629
+ }), n;
2630
+ }
2631
+ getOwnerId(e) {
2632
+ let t = this.#t.get(e);
2633
+ if (!t) throw Error("Unknown scope: " + e);
2634
+ return t.ownerId;
2635
+ }
2636
+ clearScope(e) {
2637
+ let t = this.#t.get(e);
2638
+ if (!t) throw Error("Unknown scope: " + e);
2639
+ t.params.clear();
2640
+ }
2641
+ register(e, t, n) {
2642
+ h(t);
2643
+ let r = this.#t.get(e);
2644
+ if (!r) throw Error("Unknown scope: " + e);
2645
+ if (r.params.has(t)) throw Error("Parameter \"" + t + "\" already exists in scope " + e);
2646
+ return r.params.set(t, n), n;
2647
+ }
2648
+ resolve(e, t) {
2649
+ h(t);
2650
+ let n = e;
2651
+ for (; n;) {
2652
+ let e = this.#t.get(n);
2653
+ if (!e) throw Error("Unknown scope: " + n);
2654
+ let r = e.params.get(t);
2655
+ if (r) return r;
2656
+ n = e.parentScope;
2657
+ }
2658
+ }
2659
+ };
2660
+ //#endregion
2661
+ //#region ../core/src/paramRuntime/expressionCompiler.js
2662
+ function ls(e, t = {}, r = {}) {
2663
+ return n(e, t, r);
2664
+ }
2665
+ //#endregion
2666
+ //#region ../core/src/paramRuntime/expressionRef.js
2667
+ function us(e, t, n = {}) {
2668
+ let r = {}, i = ls(e, r, n), a = /* @__PURE__ */ new Map();
2669
+ for (let n of i.globals) {
2670
+ if (a.has(n)) continue;
2671
+ let i = t(n);
2672
+ if (!i) throw Error("Unknown variable \"" + n + "\" in expression: " + e);
2673
+ a.set(n, i), Object.defineProperty(r, n, {
2674
+ enumerable: !0,
2675
+ get() {
2676
+ return i.get();
2677
+ }
2678
+ });
2679
+ }
2680
+ let o = /* @__PURE__ */ new Set();
2681
+ return i.subscribe = (e) => {
2682
+ let t = [];
2683
+ for (let n of a.values()) t.push(n.subscribe(e));
2684
+ for (let n of i.scaleDependencies ?? []) t.push(n.subscribe(e));
2685
+ let n = !0, r = () => {
2686
+ n && (n = !1, o.delete(r), t.forEach((e) => e()));
2687
+ };
2688
+ return o.add(r), r;
2689
+ }, i.invalidate = () => {
2690
+ for (let e of o) e();
2691
+ o.clear();
2692
+ }, i.identifier = () => i.code + "|" + Array.from(a.values()).map((e) => e.id).concat((i.scaleDependencies ?? []).map((e) => e.id)).join(","), {
2693
+ expression: i,
2694
+ dependencies: Array.from(a.values()).concat(i.scaleDependencies ?? [])
2695
+ };
2696
+ }
2697
+ //#endregion
2698
+ //#region ../core/src/paramRuntime/paramRuntime.js
2699
+ var ds = class {
2700
+ #e = new ss();
2701
+ #t = new os({ lifecycleRegistry: this.#e });
2702
+ #n = new cs();
2703
+ createScope(e) {
2704
+ let t = this.#e.createOwner("scope", e ?? "root");
2705
+ return e ? this.#n.createChildScope(t, e) : this.#n.createRootScope(t);
2706
+ }
2707
+ disposeScope(e) {
2708
+ let t = this.#n.getOwnerId(e);
2709
+ this.#e.disposeOwner(t), this.#n.clearScope(e);
2710
+ }
2711
+ addScopeDisposer(e, t) {
2712
+ let n = this.#n.getOwnerId(e);
2713
+ this.#e.addDisposer(n, t);
2714
+ }
2715
+ registerBase(e, t, n, r) {
2716
+ let i = this.#n.getOwnerId(e), a = this.#t.createWritable(i, t, "base", n, r);
2717
+ return this.#n.register(e, t, a);
2718
+ }
2719
+ registerSelection(e, t, n, r) {
2720
+ let i = this.#n.getOwnerId(e), a = this.#t.createWritable(i, t, "selection", n, r);
2721
+ return this.#n.register(e, t, a);
2722
+ }
2723
+ registerDerived(e, t, n, r) {
2724
+ let { expression: i, dependencies: a } = us(n, (t) => this.resolve(e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
2725
+ return this.#n.register(e, t, s);
2726
+ }
2727
+ createExpression(e, t, n) {
2728
+ let { expression: r } = us(t, (t) => this.resolve(e, t), n);
2729
+ return r;
2730
+ }
2731
+ resolve(e, t) {
2732
+ return this.#n.resolve(e, t);
2733
+ }
2734
+ runInTransaction(e) {
2735
+ return this.#t.runInTransaction(e);
2736
+ }
2737
+ flushNow() {
2738
+ this.#t.flushNow();
2739
+ }
2740
+ whenPropagated(e) {
2741
+ return this.#t.whenPropagated(e);
2742
+ }
2743
+ }, fs = (e) => new Promise((t) => setTimeout(t, e));
2744
+ function ps() {
2745
+ return { canceled: !1 };
2746
+ }
2747
+ function ms(e) {
2748
+ let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
2749
+ if (r?.canceled) return i();
2750
+ if (n?.aborted) return a("aborted");
2751
+ let o = performance.now(), s = o + (e.duration || 1e3), c = typeof e.from == "number" ? e.from : 0, l = typeof e.to == "number" ? e.to : 1, u = e.easingFunction || ((e) => e), d = (e) => (e - o) / (s - o), f = (e) => e * (l - c) + c, p = (e) => Math.max(0, Math.min(1, e)), m = (o) => {
2752
+ if (r?.canceled) {
2753
+ i();
2754
+ return;
2755
+ }
2756
+ n?.aborted ? a("aborted") : (e.onUpdate(f(u(p(d(o))))), o < s ? t(m) : (e.onUpdate(f(u(1))), i()));
2757
+ };
2758
+ t(m);
2759
+ });
2760
+ return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : fs(e.delay).then(i) : i();
2761
+ }
2762
+ //#endregion
2763
+ //#region ../core/src/utils/animator.js
2764
+ var hs = class {
2765
+ constructor(e) {
2766
+ this._renderCallback = e, this._renderRequested = !1, this._warn = !1, this.transitions = [], this.transitionsEnabled = !0;
2767
+ }
2768
+ requestTransition(e) {
2769
+ this.cancelTransition(e), this.transitions.push(e), this.requestRender();
2770
+ }
2771
+ cancelTransition(e) {
2772
+ let t = this.transitions.indexOf(e);
2773
+ t >= 0 && this.transitions.splice(t, 1);
2774
+ }
2775
+ requestRender() {
2776
+ this._renderRequested ? this._warn && console.warn("Render already requested!") : (this._renderRequested = !0, window.requestAnimationFrame((e) => {
2777
+ this._renderRequested = !1;
2778
+ let t = this.transitions;
2779
+ this.transitions = [];
2780
+ let n;
2781
+ for (; n = t.shift();) n(e);
2782
+ this._renderCallback(e);
2783
+ }));
2784
+ }
2785
+ transition(e) {
2786
+ return ms({
2787
+ requestAnimationFrame: (e) => this.requestTransition(e),
2788
+ ...e
2789
+ });
2790
+ }
2791
+ };
2792
+ function gs(e, t, n, r, i) {
2793
+ let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
2794
+ function u(e, t, n, r) {
2795
+ return t + (e - t) * 2 ** (-n / r);
2796
+ }
2797
+ function d(i) {
2798
+ if (s = !1, o) return;
2799
+ let d = i - a;
2800
+ a = i;
2801
+ for (let e of Object.keys(l)) c[e] = u(c[e], l[e], d, n);
2802
+ t(c);
2803
+ let p = -Infinity;
2804
+ for (let e of Object.keys(l)) p = Math.max(p, Math.abs(l[e] - c[e]));
2805
+ p < r ? (c = l, t(c), o = !0, p != 0 && e.requestRender()) : f();
2806
+ }
2807
+ function f() {
2808
+ s || (s = !0, e.requestTransition(d));
2809
+ }
2810
+ function p(n) {
2811
+ l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = _s(), d(a));
2812
+ }
2813
+ return p.stop = () => {
2814
+ o = !0, s = !1, e.cancelTransition(d);
2815
+ }, p.snap = (e) => {
2816
+ l = e, c = e, p.stop(), t(c);
2817
+ }, p;
2818
+ }
2819
+ function _s() {
2820
+ let e = globalThis.document?.timeline?.currentTime;
2821
+ return typeof e == "number" ? e : performance.now();
2822
+ }
2823
+ //#endregion
2824
+ //#region ../core/src/paramRuntime/viewParamRuntime.js
2825
+ var vs = class {
2826
+ #e;
2827
+ #t;
2828
+ #n = /* @__PURE__ */ new Map();
2829
+ #r = /* @__PURE__ */ new Map();
2830
+ #i = /* @__PURE__ */ new Map();
2831
+ #a = /* @__PURE__ */ new Map();
2832
+ #o;
2833
+ #s;
2834
+ #c;
2835
+ #l;
2836
+ #u = !1;
2837
+ constructor(e, t, n, r = {}) {
2838
+ this.#o = e ?? (() => void 0), this.#s = t ?? (() => void 0), this.#c = n, this.#l = r.snapTransitionedUpdates ?? !1;
2839
+ let i = this.#o();
2840
+ i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new ds(), this.#t = this.#e.createScope());
2841
+ }
2842
+ registerParam(e) {
2843
+ let t = e.name;
2844
+ if (h(t), this.#i.has(t)) throw Error("Parameter \"" + t + "\" already registered in this scope.");
2845
+ bs(e);
2846
+ let n, r;
2847
+ if (e.push == "outer") {
2848
+ let i = this.findRuntimeForParam(t);
2849
+ if (!i) throw Error(`Parameter "${t}" not found in outer scope!`);
2850
+ let a = i.paramConfigs.get(t);
2851
+ if (!a) throw Error(`Outer parameter "${t}" exists as a value but has no registered config.`);
2852
+ if ("expr" in a || "select" in a || "ruler" in a) throw Error(`The outer parameter "${t}" must not have expr, select, or ruler properties!`);
2853
+ n = (e) => {
2854
+ i.setValue(t, e);
2855
+ }, this.#n.set(t, n), "ruler" in e && (r = g(e, this), n(r));
2856
+ } else if ("value" in e) r = g(e, this), n = "transition" in e ? this.#f(t, r, e.transition) : this.#d(t, r);
2857
+ else if ("expr" in e) {
2858
+ if ("transition" in e) this.#p(t, e.expr, e.transition);
2859
+ else {
2860
+ let n = this.#e.registerDerived(this.#t, t, e.expr, { resolveScaleResolution: this.#s });
2861
+ this.#r.set(t, n);
2862
+ }
2863
+ n = () => {
2864
+ throw Error("Cannot set derived parameter \"" + t + "\".");
2865
+ };
2866
+ } else r = g(e, this), n = this.#d(t, r);
2867
+ if ("select" in e) {
2868
+ if (r ??= g(e, this), !this.#n.has(t)) {
2869
+ let e = this.#e.registerSelection(this.#t, t, r);
2870
+ this.#r.set(t, e), this.#n.set(t, (t) => {
2871
+ e.set(t), this.#e.flushNow();
2872
+ }), n = this.#n.get(t);
2873
+ }
2874
+ n(r);
2875
+ }
2876
+ return this.#i.set(t, e), n;
2877
+ }
2878
+ allocateSetter(e, t, n = !1) {
2879
+ if (h(e), this.#n.has(e)) throw Error("Setter already allocated for parameter: " + e);
2880
+ let r = this.#e.registerBase(this.#t, e, t, { notify: !n });
2881
+ this.#r.set(e, r);
2882
+ let i = (e) => {
2883
+ r.set(e), this.#e.flushNow();
2884
+ };
2885
+ return this.#n.set(e, i), i;
2886
+ }
2887
+ setValue(e, t, n) {
2888
+ h(e);
2889
+ let r = this.#n.get(e);
2890
+ if (!r) throw Error("Writable parameter not found in this scope: " + e);
2891
+ r(t, n);
2892
+ }
2893
+ getValue(e) {
2894
+ return this.#r.get(e)?.get();
2895
+ }
2896
+ getTargetValue(e) {
2897
+ return h(e), this.#a.get(e)?.target ?? this.getValue(e);
2898
+ }
2899
+ subscribe(e, t) {
2900
+ h(e);
2901
+ let n = this.findRuntimeForParam(e);
2902
+ if (!n) throw Error("Parameter not found: " + e);
2903
+ let r = n.#r.get(e);
2904
+ if (!r) throw Error("Parameter found without local reference: " + e);
2905
+ return r.subscribe(t);
2906
+ }
2907
+ findValue(e) {
2908
+ return this.findRuntimeForParam(e)?.getValue(e);
2909
+ }
2910
+ findTargetValue(e) {
2911
+ return this.findRuntimeForParam(e)?.getTargetValue(e);
2912
+ }
2913
+ get paramConfigs() {
2914
+ return this.#i;
2915
+ }
2916
+ hasLocalParam(e) {
2917
+ return h(e), this.#r.has(e);
2918
+ }
2919
+ hasConfiguredParamInScopeChain(e) {
2920
+ return h(e), this.#i.has(e) ? !0 : this.#o()?.hasConfiguredParamInScopeChain(e) ?? !1;
2921
+ }
2922
+ findRuntimeForParam(e) {
2923
+ return this.#r.has(e) ? this : this.#o()?.findRuntimeForParam(e);
2924
+ }
2925
+ getDebugState() {
2926
+ let e = [];
2927
+ for (let [t, n] of this.#r) {
2928
+ let r = this.#i.get(t);
2929
+ e.push({
2930
+ name: t,
2931
+ kind: ys(r),
2932
+ value: n.get(),
2933
+ writable: this.#n.has(t),
2934
+ configured: !!r,
2935
+ config: r ? structuredClone(r) : void 0,
2936
+ target: this.#a.get(t)?.target
2937
+ });
2938
+ }
2939
+ return {
2940
+ scopeId: this.#t,
2941
+ disposed: this.#u,
2942
+ params: e
2943
+ };
2944
+ }
2945
+ createExpression(e) {
2946
+ return this.#e.createExpression(this.#t, e, { resolveScaleResolution: this.#s });
2947
+ }
2948
+ watchExpression(e, t, n = {}) {
2949
+ let r = this.createExpression(e), i = r.subscribe(t);
2950
+ return (n.scopeOwned ?? !0) && this.#e.addScopeDisposer(this.#t, i), n.registerDisposer?.(i), r;
2951
+ }
2952
+ #d(e, t) {
2953
+ let n = this.#e.registerBase(this.#t, e, t);
2954
+ this.#r.set(e, n);
2955
+ let r = (e) => {
2956
+ n.set(e), this.#e.flushNow();
2957
+ };
2958
+ return this.#n.set(e, r), r;
2959
+ }
2960
+ #f(e, t, n) {
2961
+ let r = this.#m(e, t, n), i = (t, n) => {
2962
+ this.#h(e, r, t, n);
2963
+ };
2964
+ return this.#n.set(e, i), i;
2965
+ }
2966
+ #p(e, t, n) {
2967
+ let r = this.createExpression(t), i = this.#m(e, r(null), n), a = r.subscribe(() => {
2968
+ this.#h(e, i, r(null), { animate: !this.#l });
2969
+ });
2970
+ this.#e.addScopeDisposer(this.#t, a);
2971
+ }
2972
+ #m(e, t, n) {
2973
+ let r = xs(e, t), i = this.#e.registerBase(this.#t, e, r);
2974
+ this.#r.set(e, i);
2975
+ let a = this.#c;
2976
+ if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
2977
+ let o = gs(a, ({ value: e }) => {
2978
+ i.set(e), this.#e.flushNow();
2979
+ }, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
2980
+ target: i.get(),
2981
+ smoother: o,
2982
+ dispose: () => {
2983
+ o.stop(), this.#a.delete(e);
2984
+ }
2985
+ };
2986
+ return this.#a.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
2987
+ }
2988
+ #h(e, t, n, r = {}) {
2989
+ let i = xs(e, n);
2990
+ t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
2991
+ }
2992
+ evaluateAndGet(e) {
2993
+ return this.createExpression(e)();
2994
+ }
2995
+ runInTransaction(e) {
2996
+ return this.#e.runInTransaction(e);
2997
+ }
2998
+ flushNow() {
2999
+ this.#e.flushNow();
3000
+ }
3001
+ whenPropagated(e) {
3002
+ return this.#e.whenPropagated(e);
3003
+ }
3004
+ finalizeInitialization() {
3005
+ this.#l = !1;
3006
+ }
3007
+ dispose() {
3008
+ this.#u || (this.#u = !0, this.#e.disposeScope(this.#t), this.#n.clear(), this.#r.clear(), this.#i.clear(), this.#a.clear());
3009
+ }
3010
+ hasPointSelections() {
3011
+ for (let e of this.#i.values()) if (m(e)) {
3012
+ let t = e.select;
3013
+ if (r(t)) {
3014
+ if (t == "point") return !0;
3015
+ } else if (t.type == "point") return !0;
3016
+ }
3017
+ return !1;
3018
+ }
3019
+ };
3020
+ function ys(e) {
3021
+ return e ? e.push === "outer" ? "push" : "select" in e ? "selection" : "ruler" in e ? "ruler" : "expr" in e ? "derived" : "base" : "auto";
3022
+ }
3023
+ function bs(e) {
3024
+ let t = e.name;
3025
+ if ("value" in e && "expr" in e) throw Error(`The parameter "${t}" must not have both value and expr properties!`);
3026
+ if ("expr" in e && "bind" in e) throw Error(`The parameter "${t}" must not have both expr and bind properties!`);
3027
+ if (!("transition" in e)) return;
3028
+ if ("select" in e || "ruler" in e || e.push === "outer") throw Error(`The parameter "${t}" must not use transition with select, ruler, or push.`);
3029
+ if (!("value" in e || "expr" in e)) throw Error(`The transitioned parameter "${t}" must have a value or expr property.`);
3030
+ let n = e.transition;
3031
+ if (!n) throw Error(`The parameter "${t}" must have a transition configuration.`);
3032
+ if (n.type !== "lerp") throw Error(`Unsupported transition type for parameter "${t}": ${n.type}`);
3033
+ if (n.halfLife != null && (!Number.isFinite(n.halfLife) || n.halfLife <= 0)) throw Error(`The transition halfLife for parameter "${t}" must be a positive finite number.`);
3034
+ if (n.epsilon != null && (!Number.isFinite(n.epsilon) || n.epsilon < 0)) throw Error(`The transition epsilon for parameter "${t}" must be a non-negative finite number.`);
3035
+ }
3036
+ function xs(e, t) {
3037
+ if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
3038
+ return t;
3039
+ }
3040
+ //#endregion
3041
+ //#region ../core/src/view/layout/flexLayout.js
3042
+ function Ss(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {}) {
3043
+ n ||= 0, i ||= 0;
3044
+ let o = Ns(e, t, n), s = 0, c = 0;
3045
+ for (let t = 0; t < e.length; t++) s += o[t], X(e[t]) || c++;
3046
+ let l = s + Math.max(0, c - 1) * n, u = r === void 0 ? (e) => e : (e) => Math.round(e * r) / r, d = 0, f = [], p = (e) => {
3047
+ let t = d;
3048
+ if (!t) return;
3049
+ let r = (e ? n : 0) * (a ? -1 : 1);
3050
+ m -= r;
3051
+ for (let e = 0; e < t; e++) f.push({
3052
+ location: m + (e + 1) / (t + 1) * r,
3053
+ size: 0
3054
+ });
3055
+ m += r, d = 0;
3056
+ }, m = a ? Math.max(t, l) : 0 + i;
3057
+ if (e.length == 1 && X(e[0])) return [{
3058
+ location: m,
3059
+ size: 0
3060
+ }];
3061
+ for (let t = 0; t < e.length; t++) {
3062
+ let r = e[t];
3063
+ if (X(r)) d++;
3064
+ else {
3065
+ p(f.length > 0);
3066
+ let e = o[t];
3067
+ a && (m -= e), f.push({
3068
+ location: u(m),
3069
+ size: u(e)
3070
+ }), a ? m -= n : m += e + n;
3071
+ }
3072
+ }
3073
+ return m += a ? n : -n, p(!1), f;
3074
+ }
3075
+ function Cs(e, { spacing: t } = { spacing: 0 }) {
3076
+ let n = 0;
3077
+ for (let r of e) n += Ls(r) + (X(r) ? 0 : t);
3078
+ return Math.max(0, n - t);
3079
+ }
3080
+ function ws(e, t, { spacing: n = 0 } = {}) {
3081
+ let r = [], i = [], a = 0, o = 0;
3082
+ for (let [s, c] of e.entries()) {
3083
+ let e = Ls(c), l = !X(c), u = o && l ? n : 0;
3084
+ i.length && a + u + e > t && (r.push(i), i = [], a = 0, o = 0), i.push(s), a += (o && l ? n : 0) + e, o += +!!l;
3085
+ }
3086
+ return i.length && r.push(i), r;
3087
+ }
3088
+ function Ts(e) {
3089
+ let t = 0, n = 0, r = 0, i, a = !0;
3090
+ for (let o of e) {
3091
+ t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r, Ls(o));
3092
+ let e = Rs(o);
3093
+ e === void 0 ? a = !1 : i = i === void 0 ? e : Math.max(i, e);
3094
+ }
3095
+ return Vs({
3096
+ px: t,
3097
+ grow: n,
3098
+ minPx: r,
3099
+ maxPx: a ? i : void 0
3100
+ });
3101
+ }
3102
+ function Es(e) {
3103
+ let t = {
3104
+ px: 0,
3105
+ grow: 0,
3106
+ minPx: 0,
3107
+ maxPx: 0
3108
+ }, n = !0;
3109
+ for (let r of e) {
3110
+ t.px += Z(r.px), t.grow += Z(r.grow), t.minPx += Ls(r);
3111
+ let e = Rs(r);
3112
+ e === void 0 ? n = !1 : t.maxPx += e;
3113
+ }
3114
+ return n || delete t.maxPx, Vs(t);
3115
+ }
3116
+ var Ds = class e {
3117
+ constructor(e, t) {
3118
+ this.width = e, this.height = t;
3119
+ }
3120
+ addPadding(e) {
3121
+ return this.#e(e.width, e.height);
3122
+ }
3123
+ subtractPadding(e) {
3124
+ return this.#e(-e.width, -e.height);
3125
+ }
3126
+ #e(t, n) {
3127
+ return new e(Bs(this.width, t), Bs(this.height, n));
3128
+ }
3129
+ isGrowing() {
3130
+ return !!(this.width.grow || this.height.grow);
3131
+ }
3132
+ }, Os = Object.freeze({
3133
+ px: 0,
3134
+ grow: 0
3135
+ }), ks = new Ds(Os, Os);
3136
+ function X(e) {
3137
+ return !e.px && !e.grow && !e.minPx;
3138
+ }
3139
+ function As(e, t) {
3140
+ return !e || !t ? !1 : e.px === t.px && e.grow === t.grow && e.minPx === t.minPx && e.maxPx === t.maxPx;
3141
+ }
3142
+ function Z(e) {
3143
+ return e || 0;
3144
+ }
3145
+ function js(e) {
3146
+ return e && (y(e.px) || y(e.grow) || y(e.minPx) || y(e.maxPx));
3147
+ }
3148
+ function Ms(e) {
3149
+ if (Dc(e)) throw Error("parseSizeDef does not accept step-based sizes.");
3150
+ if (js(e)) return Fs(e), Vs(e);
3151
+ if (y(e)) return {
3152
+ px: e,
3153
+ grow: 0
3154
+ };
3155
+ if (e === "container" || !e) return {
3156
+ px: 0,
3157
+ grow: 1
3158
+ };
3159
+ throw Error(`Invalid sizeDef: ${e}`);
3160
+ }
3161
+ function Ns(e, t, n) {
3162
+ let r = !1;
3163
+ for (let t of e) Fs(t), r ||= zs(t);
3164
+ if (!r) return Ps(e, t, n);
3165
+ let i = Array(e.length).fill(0), a = [];
3166
+ for (let t = 0; t < e.length; t++) X(e[t]) || a.push(t);
3167
+ let o = Math.max(0, a.length - 1) * n, s = Math.max(0, t - o), c = /* @__PURE__ */ new Set();
3168
+ for (let t of a) {
3169
+ let n = e[t];
3170
+ Z(n.grow) || (i[t] = Is(Z(n.px), n), c.add(t));
3171
+ }
3172
+ for (;;) {
3173
+ let t = 0, n = 0, r = 0;
3174
+ for (let o of a) c.has(o) ? r += i[o] : (t += Z(e[o].px), n += Z(e[o].grow));
3175
+ if (!n) {
3176
+ for (let t of a) c.has(t) || (i[t] = Is(Z(e[t].px), e[t]), c.add(t));
3177
+ break;
3178
+ }
3179
+ let o = Math.max(0, s - r - t), l = 0, u = [], d = [];
3180
+ for (let t of a) {
3181
+ if (c.has(t)) continue;
3182
+ let r = e[t], a = Z(r.px) + Z(r.grow) / n * o, s = Is(a, r);
3183
+ i[t] = s;
3184
+ let f = s - a;
3185
+ l += f, f > 0 ? u.push(t) : f < 0 && d.push(t);
3186
+ }
3187
+ if (!u.length && !d.length) break;
3188
+ if (l > 0) for (let e of u) c.add(e);
3189
+ else if (l < 0) for (let e of d) c.add(e);
3190
+ else for (let e of a) c.add(e);
3191
+ }
3192
+ return i;
3193
+ }
3194
+ function Ps(e, t, n) {
3195
+ let r = 0, i = 0;
3196
+ for (let t of e) r += Z(t.px) + (X(t) ? 0 : n), i += Z(t.grow);
3197
+ r -= n;
3198
+ let a = Math.max(0, t - r), o = Array(e.length);
3199
+ for (let t = 0; t < e.length; t++) {
3200
+ let n = e[t];
3201
+ o[t] = X(n) ? 0 : Z(n.px) + (i ? Z(n.grow) / i * a : 0);
3202
+ }
3203
+ return o;
3204
+ }
3205
+ function Fs(e) {
3206
+ if (e.minPx !== void 0 && e.maxPx !== void 0 && e.minPx > e.maxPx) throw Error("SizeDef minPx cannot be greater than maxPx.");
3207
+ }
3208
+ function Is(e, t) {
3209
+ return Math.min(Math.max(e, t.minPx ?? 0), t.maxPx ?? Infinity);
3210
+ }
3211
+ function Ls(e) {
3212
+ return Is(Z(e.px), e);
3213
+ }
3214
+ function Rs(e) {
3215
+ return e.maxPx ?? (Z(e.grow) ? void 0 : Ls(e));
3216
+ }
3217
+ function zs(e) {
3218
+ return e.minPx !== void 0 || e.maxPx !== void 0;
3219
+ }
3220
+ function Bs(e, t) {
3221
+ return Vs({
3222
+ px: (e.px ?? 0) + t,
3223
+ grow: e.grow,
3224
+ minPx: e.minPx === void 0 ? void 0 : Math.max(0, e.minPx + t),
3225
+ maxPx: e.maxPx === void 0 ? void 0 : Math.max(0, e.maxPx + t)
3226
+ });
3227
+ }
3228
+ function Vs(e) {
3229
+ let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i = zs(e);
3230
+ return e.px ? t.px = e.px : e.px === 0 && (t.px = 0), e.grow ? t.grow = e.grow : e.grow === 0 ? t.grow = 0 : !n && !r && i && (t.grow = 1), e.minPx && e.minPx > Z(e.px) && (t.minPx = e.minPx), e.maxPx !== void 0 && (Z(t.grow) || e.maxPx < Z(e.px)) && (t.maxPx = e.maxPx), t;
3231
+ }
3232
+ //#endregion
3233
+ //#region ../core/src/view/layout/padding.js
3234
+ var Hs = class e {
3235
+ constructor(e, t, n, r) {
3236
+ this.top = e || 0, this.right = t || 0, this.bottom = n || 0, this.left = r || 0;
3237
+ }
3238
+ get width() {
3239
+ return this.left + this.right;
3240
+ }
3241
+ get height() {
3242
+ return this.top + this.bottom;
3243
+ }
3244
+ expand(t) {
3245
+ return t <= 0 ? this : new e(this.top + t, this.right + t, this.bottom + t, this.left + t);
3246
+ }
3247
+ add(t) {
3248
+ return new e(this.top + t.top, this.right + t.right, this.bottom + t.bottom, this.left + t.left);
3249
+ }
3250
+ subtract(t) {
3251
+ return new e(this.top - t.top, this.right - t.right, this.bottom - t.bottom, this.left - t.left);
3252
+ }
3253
+ union(t) {
3254
+ return new e(Math.max(this.top, t.top), Math.max(this.right, t.right), Math.max(this.bottom, t.bottom), Math.max(this.left, t.left));
3255
+ }
3256
+ getHorizontal() {
3257
+ return new e(0, this.right, 0, this.left);
3258
+ }
3259
+ getVertical() {
3260
+ return new e(this.top, 0, this.bottom, 0);
3261
+ }
3262
+ get horizontalTotal() {
3263
+ return this.left + this.right;
3264
+ }
3265
+ get verticalTotal() {
3266
+ return this.top + this.bottom;
3267
+ }
3268
+ static createFromConfig(e) {
3269
+ return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) : Ws;
3270
+ }
3271
+ static createFromRecord(t) {
3272
+ return new e(t.top, t.right, t.bottom, t.left);
3273
+ }
3274
+ static zero() {
3275
+ return Ws;
3276
+ }
3277
+ static createUniformPadding(t) {
3278
+ return new e(t, t, t, t);
3279
+ }
3280
+ };
3281
+ function Us(e, t) {
3282
+ return t ? new Hs(t.top === !1 ? 0 : e.top, t.right === !1 ? 0 : e.right, t.bottom === !1 ? 0 : e.bottom, t.left === !1 ? 0 : e.left) : e;
3283
+ }
3284
+ var Ws = Hs.createUniformPadding(0);
3285
+ Object.freeze(Ws);
3286
+ //#endregion
3287
+ //#region ../core/src/utils/propertyCacher.js
3288
+ var Gs = Symbol("cacheMap");
3289
+ function Ks(e, t, n) {
3290
+ let r = Xs(e).get(t);
3291
+ return r === void 0 && (r = n(t), Xs(e).set(t, r)), r;
3292
+ }
3293
+ function qs(e, t) {
3294
+ Xs(e).delete(t);
3295
+ }
3296
+ function Js(e, t) {
3297
+ let n = Xs(e);
3298
+ for (let e of n.keys()) e.startsWith(t) && n.delete(e);
3299
+ Xs(e).delete(t);
3300
+ }
3301
+ function Ys(e) {
3302
+ e[Gs] = /* @__PURE__ */ new Map();
3303
+ }
3304
+ function Xs(e) {
3305
+ return e[Gs] || Ys(e), e[Gs];
3306
+ }
3307
+ //#endregion
3308
+ //#region ../core/src/utils/url.js
3309
+ var Zs = /^([A-Za-z]+:)?\/\//;
3310
+ function Qs(e, t) {
3311
+ if (t && Zs.test(t)) return t;
3312
+ let n = typeof e == "function" ? e() : e;
3313
+ if (!n) return t;
3314
+ if (!t) return n;
3315
+ if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
3316
+ return ec(n) + t;
3317
+ }
3318
+ function $s(e, t, n = tc()) {
3319
+ let r = typeof e == "function" ? e() : e;
3320
+ if (!t) return r;
3321
+ try {
3322
+ if (r) {
3323
+ let e = n ? new URL(r, n).href : new URL(r).href;
3324
+ return new URL(t, e).href;
3325
+ } else if (n) return new URL(t, n).href;
3326
+ } catch {}
3327
+ return Qs(r, t);
3328
+ }
3329
+ function ec(e) {
3330
+ let t = e.replace(/[^/]*$/, "");
3331
+ return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
3332
+ }
3333
+ function tc() {
3334
+ if (typeof document < "u" && document.baseURI) return document.baseURI;
3335
+ if (typeof window < "u" && window.location?.href) return window.location.href;
3336
+ }
3337
+ //#endregion
3338
+ //#region ../core/src/view/viewError.js
3339
+ var Q = class extends Error {
3340
+ constructor(e, t) {
3341
+ super(e), this.name = "ViewError", this.view = t;
3342
+ }
3343
+ };
3344
+ //#endregion
3345
+ //#region ../core/src/utils/addBaseUrl.js
3346
+ function nc(e, t) {
3347
+ return !t || /^(data:|([A-Za-z]+:)?\/\/)/.test(e) || e.startsWith("/") ? e : (t.endsWith("/") || (t += "/"), t + e);
3348
+ }
3349
+ function rc(e) {
3350
+ if (!e) return e;
3351
+ if (/[?#]/.test(e)) throw Error(`Invalid base URL: ${e} - cannot contain query or hash.`);
3352
+ return e.endsWith("/") ? e : e + "/";
3353
+ }
3354
+ //#endregion
3355
+ //#region ../core/src/config/mergeConfig.js
3356
+ function ic(e) {
3357
+ return c(e) && !Array.isArray(e);
3358
+ }
3359
+ function ac(e) {
3360
+ let t = {};
3361
+ for (let [n, r] of Object.entries(e)) t[n] = oc(r);
3362
+ return t;
3363
+ }
3364
+ function oc(e) {
3365
+ return Array.isArray(e) ? e.map(oc) : ic(e) ? ac(e) : e;
3366
+ }
3367
+ function sc(e, t) {
3368
+ for (let [n, r] of Object.entries(t)) {
3369
+ if (r === void 0) continue;
3370
+ let t = e[n];
3371
+ ic(r) && ic(t) ? sc(t, r) : e[n] = oc(r);
3372
+ }
3373
+ return e;
3374
+ }
3375
+ function cc(e) {
3376
+ let t = {};
3377
+ for (let n of e) n && sc(t, n);
3378
+ return t;
3379
+ }
3380
+ //#endregion
3381
+ //#region ../core/src/view/viewChrome.js
3382
+ var lc = /* @__PURE__ */ new WeakMap();
3383
+ function uc(e, t) {
3384
+ lc.set(e, t);
3385
+ }
3386
+ function dc(e) {
3387
+ return lc.get(e);
3388
+ }
3389
+ function fc(e) {
3390
+ return lc.has(e);
3391
+ }
3392
+ function pc(e) {
3393
+ let t = e;
3394
+ for (; t;) {
3395
+ let n = lc.get(t);
3396
+ if (n === "excludeSubtree" || t === e && n === "exclude") return !0;
3397
+ t = t.layoutParent;
3398
+ }
3399
+ return !1;
3400
+ }
3401
+ //#endregion
3402
+ //#region ../core/src/view/postScaleParams.js
3403
+ var mc = /* @__PURE__ */ new WeakMap();
3404
+ function hc(e, t) {
3405
+ mc.set(e, t);
3406
+ }
3407
+ function gc(e) {
3408
+ return mc.get(e);
3409
+ }
3410
+ //#endregion
3411
+ //#region ../core/src/data/namedDataScope.js
3412
+ var _c = class {
3413
+ name;
3414
+ owner;
3415
+ getDefaultData;
3416
+ #e;
3417
+ #t = !1;
3418
+ #n = 0;
3419
+ #r = !1;
3420
+ constructor(e, t, n) {
3421
+ this.name = e, this.owner = t, this.getDefaultData = n;
3422
+ }
3423
+ get disposed() {
3424
+ return this.#r;
3425
+ }
3426
+ beginUpdate() {
3427
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
3428
+ return ++this.#n;
3429
+ }
3430
+ isCurrentUpdate(e) {
3431
+ return !this.#r && e === this.#n;
3432
+ }
3433
+ getData() {
3434
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
3435
+ let e = this.#t ? this.#e : this.getDefaultData();
3436
+ if (e === void 0) return [];
3437
+ if (!Array.isArray(e)) throw Error(`Named data "${this.name}" is not an array!`);
3438
+ return e;
3439
+ }
3440
+ setData(e) {
3441
+ if (!Array.isArray(e)) throw Error(`Named data "${this.name}" is not an array!`);
3442
+ this.#e = e, this.#t = !0;
3443
+ }
3444
+ resetData() {
3445
+ this.#e = void 0, this.#t = !1;
3446
+ }
3447
+ dispose() {
3448
+ this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
3449
+ }
3450
+ }, vc = class {
3451
+ view;
3452
+ #e = /* @__PURE__ */ new Map();
3453
+ #t = /* @__PURE__ */ new Map();
3454
+ constructor(e) {
3455
+ this.view = e;
3456
+ for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new _c(t, e, () => n));
3457
+ }
3458
+ getLocalBinding(e) {
3459
+ return this.#e.get(e);
3460
+ }
3461
+ findDeclaredBinding(e) {
3462
+ return this.#e.get(e) || this.view.dataParent?.namedDataScope.findDeclaredBinding(e);
3463
+ }
3464
+ resolve(e) {
3465
+ let t = this.#e.get(e);
3466
+ if (t) return t;
3467
+ let n = this.view.dataParent?.namedDataScope;
3468
+ if (n) return n.resolve(e);
3469
+ let r = this.#t.get(e);
3470
+ return r || (r = new _c(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
3471
+ }
3472
+ dispose() {
3473
+ for (let e of this.#e.values()) e.dispose();
3474
+ this.#e.clear();
3475
+ for (let e of this.#t.values()) e.dispose();
3476
+ this.#t.clear();
3477
+ }
3478
+ }, yc = "VISIT_SKIP", bc = "VISIT_STOP", xc = (e) => e, Sc = class {
3479
+ spec;
3480
+ namedDataScope;
3481
+ #e;
3482
+ #t;
3483
+ #n = {};
3484
+ #r = {};
3485
+ #i = {};
3486
+ #a;
3487
+ #o;
3488
+ #s = !1;
3489
+ #c = !1;
3490
+ #l = void 0;
3491
+ #u = !1;
3492
+ #d = [];
3493
+ opacityFunction = xc;
3494
+ #f = [];
3495
+ #p = "none";
3496
+ #m = /* @__PURE__ */ new Map();
3497
+ facetCoords = new oe([], JSON.stringify);
3498
+ constructor(e, t, n, r, i, a = {}) {
3499
+ if (!e) throw Error("View spec must be defined!");
3500
+ if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new vc(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
3501
+ let o = r ? r.getConfigScopes() : [t.getBaseConfig()], s = e.config;
3502
+ if (this.#e = [...o, s].filter((e) => !!e), this.resolutions = {
3503
+ scale: {},
3504
+ axis: {},
3505
+ legend: {}
3506
+ }, Ys(this), this.options = {
3507
+ inheritEncoding: !1,
3508
+ layoutSizeParams: "own",
3509
+ ...a
3510
+ }, this.flowHandle = void 0, this.needsAxes = {
3511
+ x: !1,
3512
+ y: !1
3513
+ }, this.paramRuntime = new vs(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), t.animator, { snapTransitionedUpdates: !0 }), e.params) {
3514
+ let t = /* @__PURE__ */ new Set();
3515
+ for (let n of e.params) {
3516
+ if ("expr" in n) {
3517
+ let { usesScaleHelper: e, globals: r } = ee(n.expr), i = r.some((e) => t.has(e));
3518
+ if (e || i) {
3519
+ t.add(n.name), this.#d.push(n);
3520
+ continue;
3521
+ }
3522
+ }
3523
+ this.paramRuntime.registerParam(n);
3524
+ }
3525
+ }
3526
+ this.options.layoutSizeParams !== "inherit" && (this.#a = this.#h("width"), this.#o = this.#h("height"));
3527
+ }
3528
+ #h(e) {
3529
+ if (!(this.paramRuntime.hasLocalParam(e) || this.options.layoutSizeParams != "force" && this.paramRuntime.hasConfiguredParamInScopeChain(e))) return this.paramRuntime.allocateSetter(e, 0);
3530
+ }
3531
+ get name() {
3532
+ return this.spec.name ?? this.#t;
3533
+ }
3534
+ get explicitName() {
3535
+ return this.spec.name;
3536
+ }
3537
+ getZindex() {
3538
+ return this.spec.zindex ?? 0;
3539
+ }
3540
+ get defaultName() {
3541
+ return this.#t;
3542
+ }
3543
+ getConfig() {
3544
+ return cc(this.#e);
3545
+ }
3546
+ getCursorSpec() {
3547
+ return this.spec.cursor;
3548
+ }
3549
+ getCursor() {
3550
+ let e = this.getCursorSpec();
3551
+ return v(e) ? this.paramRuntime.evaluateAndGet(e.expr) : e;
3552
+ }
3553
+ watchCursor(e, t) {
3554
+ let n = this.getCursorSpec();
3555
+ v(n) && this.paramRuntime.watchExpression(n.expr, e, {
3556
+ scopeOwned: !1,
3557
+ registerDisposer: t
3558
+ });
3559
+ }
3560
+ getConfigScopes() {
3561
+ return this.#e.slice();
3562
+ }
3563
+ get coords() {
3564
+ return this.facetCoords.values().next().value;
3565
+ }
3566
+ getPadding() {
3567
+ return this._cache("size/padding", () => Hs.createFromConfig(this.spec.padding));
3568
+ }
3569
+ getOverhang() {
3570
+ return Hs.zero();
3571
+ }
3572
+ isScrollable() {
3573
+ return this.spec.viewportWidth != null || this.spec.viewportHeight != null;
3574
+ }
3575
+ getSize() {
3576
+ return this._cache("size/size", () => this.isConfiguredVisible() ? new Ds(this.#g("width"), this.#g("height")) : ks);
3577
+ }
3578
+ getViewportSize() {
3579
+ if (!this.isScrollable()) return this.getSize();
3580
+ if (!this.isConfiguredVisible()) return ks;
3581
+ let e = this.getSize();
3582
+ return new Ds(this.#g("viewportWidth") ?? e.width, this.#g("viewportHeight") ?? e.height);
3583
+ }
3584
+ #g(e) {
3585
+ let { value: t, implicit: n } = this.#_(e), r = this.resolveSizeValue(e, t), i = Dc(r), a = e == "viewportWidth" || e == "viewportHeight";
3586
+ if (i) {
3587
+ if (a) throw new Q(`Cannot use step-based size with "${e}"!`, this);
3588
+ let t = this.#x(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
3589
+ if (i) {
3590
+ let n;
3591
+ if (Lo(i.type)) n = i.domain().length;
3592
+ else if (["locus", "index"].includes(i.type)) {
3593
+ let e = i.domain();
3594
+ n = d(e) - e[0];
3595
+ } else throw new Q(`Cannot use step-based size with "${i.type}" scale!`, this);
3596
+ let a = i;
3597
+ n = no(n, a.paddingInner(), a.paddingOuter());
3598
+ let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && Lo(s.type) ? "offset" : "position"), l = t;
3599
+ if (c == "offset") {
3600
+ if (!s || !Lo(s.type)) throw new Q(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
3601
+ let t = s, n = no(s.domain().length, t.paddingInner(), t.paddingOuter());
3602
+ l *= n / (1 - a.paddingInner());
3603
+ }
3604
+ return {
3605
+ px: n * l,
3606
+ grow: 0
3607
+ };
3608
+ } else if (n) return {
3609
+ px: t,
3610
+ grow: 0
3611
+ };
3612
+ else throw new Q(`Cannot use step-based size with "${e}"!`, this);
3613
+ } else return (r && Ms(r)) ?? (a ? void 0 : {
3614
+ px: 0,
3615
+ grow: 1
3616
+ });
3617
+ }
3618
+ #_(e) {
3619
+ let t = this.spec[e];
3620
+ return t != null || e == "viewportWidth" || e == "viewportHeight" ? {
3621
+ value: t,
3622
+ implicit: !1
3623
+ } : {
3624
+ value: this.#v(e),
3625
+ implicit: !0
3626
+ };
3627
+ }
3628
+ #v(e) {
3629
+ if (pc(this)) return;
3630
+ let t = this.getConfig().view;
3631
+ if (!t) return;
3632
+ let n = e == "width" ? "x" : "y", r = this.getScaleResolution(n)?.getResolvedScaleType();
3633
+ return r && !Lo(r) ? e == "width" ? t.continuousWidth : t.continuousHeight : (e == "width" ? t.discreteWidth : t.discreteHeight) ?? (t.step === void 0 ? void 0 : { step: t.step });
3634
+ }
3635
+ resolveSizeValue(e, t) {
3636
+ if (!v(t)) return t;
3637
+ let n = this.#C(e)();
3638
+ if (Oc(n) || n === "container") return n;
3639
+ throw new Q(`"${e}" ExprRef must resolve to a finite number or "container"!`, this);
3640
+ }
3641
+ registerSizeInvalidation() {
3642
+ this.#y("width", "x"), this.#y("height", "y"), this.#b("width"), this.#b("height"), this.#b("viewportWidth"), this.#b("viewportHeight");
3643
+ }
3644
+ #y(e, t) {
3645
+ let { value: n, implicit: r } = this.#_(e);
3646
+ if (!Dc(n)) return;
3647
+ let i = this.getScaleResolution(t);
3648
+ if (!i) {
3649
+ if (r) return;
3650
+ throw new Q("Cannot use 'step' size without a scale!", this);
3651
+ }
3652
+ let a = () => {
3653
+ let t = this.getSize()[e];
3654
+ this.invalidateSizeCache();
3655
+ let n = this.getSize()[e];
3656
+ As(t, n) || this.context.requestLayoutReflow();
3657
+ };
3658
+ if (i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a)), n.for != "position") {
3659
+ let t = e == "width" ? "xOffset" : "yOffset", n = this.getScaleResolution(t);
3660
+ n && Lo(n.getResolvedScaleType()) && (n.addEventListener("domain", a), this.registerDisposer(() => n.removeEventListener("domain", a)));
3661
+ }
3662
+ }
3663
+ #b(e) {
3664
+ let { value: t } = this.#_(e);
3665
+ v(t) ? this.#S(e, t.expr) : Dc(t) && v(t.step) && this.#S(e + ".step", t.step.expr);
3666
+ }
3667
+ #x(e, t) {
3668
+ let n = v(t.step) ? this.#C(e + ".step")() : t.step;
3669
+ if (Oc(n)) return n;
3670
+ throw new Q(`"${e}.step" ExprRef must resolve to a finite number!`, this);
3671
+ }
3672
+ #S(e, t) {
3673
+ if (!this.#m.has(e)) {
3674
+ let n = this.paramRuntime.watchExpression(t, () => {
3675
+ this.invalidateSizeCache(), this.context.requestLayoutReflow();
3676
+ });
3677
+ this.#m.set(e, n);
3678
+ }
3679
+ }
3680
+ #C(e) {
3681
+ let t = this.#m.get(e);
3682
+ if (!t) throw new Q(`"${e}" ExprRef was not registered before layout!`, this);
3683
+ return t;
3684
+ }
3685
+ isConfiguredVisible() {
3686
+ return this.context.isViewConfiguredVisible(this);
3687
+ }
3688
+ isVisibleInSpec() {
3689
+ return this.spec.visible ?? !0;
3690
+ }
3691
+ isVisible() {
3692
+ return this.getLayoutAncestors().every((e) => e.isConfiguredVisible());
3693
+ }
3694
+ isDomainInert() {
3695
+ if (this.spec.domainInert) return !0;
3696
+ let e = this.dataParent;
3697
+ return e ? e.isDomainInert() : !1;
3698
+ }
3699
+ getDataInitializationState() {
3700
+ return this.#p;
3701
+ }
3702
+ _setDataInitializationState(e) {
3703
+ this.#p = e;
3704
+ }
3705
+ isDataInitialized() {
3706
+ return this.#p === "ready";
3707
+ }
3708
+ getEffectiveOpacity() {
3709
+ return this.opacityFunction(this.layoutParent?.getEffectiveOpacity() ?? 1);
3710
+ }
3711
+ getPathString() {
3712
+ return this.getLayoutAncestors().map((e) => e.name).reverse().join("/");
3713
+ }
3714
+ #w(e) {
3715
+ let t = [], n = this;
3716
+ do
3717
+ t.push(n), n = n[e];
3718
+ while (n);
3719
+ return t;
3720
+ }
3721
+ getLayoutAncestors() {
3722
+ return this.#w("layoutParent");
3723
+ }
3724
+ getDataAncestors() {
3725
+ return this.#w("dataParent");
3726
+ }
3727
+ handleBroadcast(e) {
3728
+ for (let t of this.#n[e.type] || []) t(e);
3729
+ }
3730
+ _addBroadcastHandler(e, t) {
3731
+ let n = this.#n[e];
3732
+ return n || (n = [], this.#n[e] = n), n.push(t), () => {
3733
+ let n = this.#n[e];
3734
+ if (!n) return;
3735
+ let r = n.indexOf(t);
3736
+ r >= 0 && n.splice(r, 1);
3737
+ };
3738
+ }
3739
+ handleInteraction(e, t) {
3740
+ t && e.type === "mousemove" && e.pointedViews.add(this);
3741
+ let n = t ? this.#r : this.#i;
3742
+ for (let t of n[e.type] || []) t(e);
3743
+ }
3744
+ addInteractionListener(e, t, n) {
3745
+ let r = n ? this.#r : this.#i, i = r[e];
3746
+ i || (i = [], r[e] = i), i.push(t);
3747
+ }
3748
+ removeInteractionListener(e, t, n) {
3749
+ let r = (n ? this.#r : this.#i)?.[e];
3750
+ if (r) {
3751
+ let e = r.indexOf(t);
3752
+ e >= 0 && r.splice(e, 1);
3753
+ }
3754
+ }
3755
+ visit(e) {
3756
+ try {
3757
+ let t = e(this);
3758
+ if (e.postOrder && e.postOrder(this), t !== "VISIT_STOP") return t;
3759
+ } catch (e) {
3760
+ throw e.view = this, e;
3761
+ }
3762
+ }
3763
+ getDescendants() {
3764
+ let e = [];
3765
+ return this.visit((t) => {
3766
+ e.push(t);
3767
+ }), e;
3768
+ }
3769
+ dispose() {
3770
+ for (let e of this.#f) e();
3771
+ this.#f.length = 0;
3772
+ let e = this.flowHandle;
3773
+ e?.collector && (this.context.dataFlow.pruneCollectorBranch(e.collector), this.context.dataFlow.removeCollector(e.collector)), e?.dataSource && e.dataSource.view === this && !e.dataSource.shareKey && this.context.dataFlow.removeDataSource(e.dataSource), this.paramRuntime.dispose(), this.namedDataScope.dispose(), this.context.dataFlow.loadingStatusRegistry.delete(this), this.flowHandle = void 0;
3774
+ }
3775
+ registerDisposer(e) {
3776
+ this.#f.push(e);
3777
+ }
3778
+ disposeSubtree() {
3779
+ let e = () => void 0;
3780
+ e.postOrder = (e) => {
3781
+ e.dispose();
3782
+ }, this.visit(e);
3783
+ }
3784
+ configurePostScaleParams() {
3785
+ let e = [...this.#d, ...gc(this.spec) ?? []];
3786
+ if (e.length && !this.#u) {
3787
+ this.#u = !0, this.#l = !1;
3788
+ for (let t of e) this.paramRuntime.registerParam(t);
3789
+ this.registerDisposer(this._addBroadcastHandler("subtreeDataReady", () => {
3790
+ this.#l = !0, this.#T();
3791
+ }));
3792
+ }
3793
+ }
3794
+ configureViewOpacity() {
3795
+ (!this.opacityFunction || this.opacityFunction === xc) && (this.opacityFunction = wc(this));
3796
+ }
3797
+ finalizeParamRuntimeInitialization() {
3798
+ this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
3799
+ }
3800
+ onBeforeRender() {
3801
+ this.#s ||= !0;
3802
+ }
3803
+ hasRendered() {
3804
+ return this.#s;
3805
+ }
3806
+ render(e, t, n = {}) {
3807
+ if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, ge(t, he(n))), this.#a || this.#o) {
3808
+ let e = this.getOverhang(), n = this.layoutParent ? Hs.zero() : this.getPadding();
3809
+ this.#a?.(t.width - e.width - n.width), this.#o?.(t.height - e.height - n.height);
3810
+ }
3811
+ this.#c = !0, this.#T();
3812
+ }
3813
+ #T() {
3814
+ this.#l && this.#c && (this.#l = void 0, this.paramRuntime.finalizeInitialization());
3815
+ }
3816
+ getEncoding() {
3817
+ let e = this.dataParent && this.options.inheritEncoding ? this.dataParent.getEncoding() : {}, t = this.spec.encoding || {}, n = {
3818
+ ...e,
3819
+ ...t
3820
+ };
3821
+ for (let [e, t] of Object.entries(n)) t === null && delete n[e];
3822
+ return n;
3823
+ }
3824
+ getFacetAccessor(e) {
3825
+ if (this.layoutParent) return this.layoutParent.getFacetAccessor(this);
3826
+ }
3827
+ getFacetFields(e) {
3828
+ let t = this.getEncoding().sample;
3829
+ return p(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
3830
+ }
3831
+ getSampleFacetTexture() {}
3832
+ getSampleFacetPosition(e) {}
3833
+ getParentGridChromePolicy() {
3834
+ return {
3835
+ axes: !0,
3836
+ background: !0
3837
+ };
3838
+ }
3839
+ getScaleResolution(e) {
3840
+ let t = u(e);
3841
+ return this.getDataAncestors().map((e) => e.resolutions.scale[t]).find((e) => e);
3842
+ }
3843
+ getAxisResolution(e) {
3844
+ let t = u(e);
3845
+ return this.getDataAncestors().map((e) => e.resolutions.axis[t]).find((e) => e);
3846
+ }
3847
+ getLegendResolution(e) {
3848
+ let t = u(e);
3849
+ return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
3850
+ }
3851
+ getConfiguredResolution(e, t) {
3852
+ return this.spec.resolve?.[t]?.[e];
3853
+ }
3854
+ getConfiguredOrDefaultResolution(e, t) {
3855
+ return (this.getConfiguredResolution(e, t) ?? this.getConfiguredResolution("default", t)) || (t == "legend" ? this.getConfiguredOrDefaultResolution(e, "scale") : this.getDefaultResolution(e, t));
3856
+ }
3857
+ getDefaultResolution(e, t) {
3858
+ return "independent";
3859
+ }
3860
+ getBaseUrl() {
3861
+ return Qs(() => this.dataParent?.getBaseUrl(), rc(this.spec.baseUrl));
3862
+ }
3863
+ isPickingSupported() {
3864
+ return !0;
3865
+ }
3866
+ getTitleText() {
3867
+ let e = this.spec.title;
3868
+ if (e) return r(e) ? e : v(e.text) ? this.paramRuntime.evaluateAndGet(e.text.expr) : e.text;
3869
+ }
3870
+ _cache(e, t) {
3871
+ return Ks(this, e, t);
3872
+ }
3873
+ _invalidateCacheByPrefix(e, t = "self") {
3874
+ switch (t) {
3875
+ case "self":
3876
+ Js(this, e);
3877
+ break;
3878
+ case "ancestors":
3879
+ for (let t of this.getLayoutAncestors()) Js(t, e);
3880
+ break;
3881
+ case "progeny":
3882
+ this.visit((t) => Js(t, e));
3883
+ break;
3884
+ default:
3885
+ }
3886
+ }
3887
+ invalidateSizeCache() {
3888
+ Js(this, "size"), this._invalidateCacheByPrefix("size", "ancestors");
3889
+ }
3890
+ propagateInteraction(e) {}
3891
+ };
3892
+ function Cc(e) {
3893
+ return "unitsPerPixel" in e;
3894
+ }
3895
+ function wc(e) {
3896
+ let t = "opacity" in e.spec ? e.spec.opacity : void 0;
3897
+ if (t !== void 0) {
3898
+ if (y(t)) return (e) => e * t;
3899
+ if (Cc(t)) {
3900
+ let n = (t) => {
3901
+ let n = e.getScaleResolution(t), r = n?.getScale();
3902
+ if ([
3903
+ "linear",
3904
+ "index",
3905
+ "locus"
3906
+ ].includes(r?.type)) return {
3907
+ scale: r,
3908
+ scaleResolution: n
3909
+ };
3910
+ }, r = Ec(t.values, "opacity.values", e);
3911
+ if (!re(t.unitsPerPixel)) throw new Q("\"opacity.unitsPerPixel\" must be an array.", e);
3912
+ let i = () => 1, a = [], o = () => {
3913
+ let t = Tc(Ec(a.map((e) => e()), "opacity.unitsPerPixel", e), r, e), n = ha().domain(t.unitsPerPixel).range(t.values).clamp(!0);
3914
+ i = (e) => n(e);
3915
+ };
3916
+ a = t.unitsPerPixel.map((t) => {
3917
+ if (v(t)) {
3918
+ let n = e.paramRuntime.watchExpression(t.expr, () => {
3919
+ o(), e.context.animator.requestRender();
3920
+ });
3921
+ return () => n(null);
3922
+ } else return () => t;
3923
+ }), o();
3924
+ let c = (e) => {
3925
+ let t = e.scaleResolution.getAxisLength() || 1e3;
3926
+ return s(e.scale.domain()) / t;
3927
+ }, l;
3928
+ if (t.channel === "auto") {
3929
+ let t = n("x"), r = n("y");
3930
+ if (t && r) l = () => (c(t) + c(r)) / 2;
3931
+ else if (t) l = () => c(t);
3932
+ else if (r) l = () => c(r);
3933
+ else throw new Q("Cannot find a resolved quantitative x or y scale for dynamic opacity!", e);
3934
+ } else {
3935
+ let r = t.channel ? n(t.channel) : n("x") ?? n("y");
3936
+ if (!r) throw new Q("Cannot find a resolved quantitative scale for dynamic opacity!", e);
3937
+ l = () => c(r);
3938
+ }
3939
+ return (e) => i(l()) * e;
3940
+ } else if (v(t)) {
3941
+ let n = e.paramRuntime.watchExpression(t.expr, () => e.context.animator.requestRender());
3942
+ return (e) => n(null) * e;
3943
+ }
3944
+ }
3945
+ return (e) => e;
3946
+ }
3947
+ function Tc(e, t, n) {
3948
+ if (!e.length) throw new Q("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
3949
+ if (e.length !== t.length) throw new Q("\"opacity.unitsPerPixel\" and \"opacity.values\" must have the same length.", n);
3950
+ e.forEach((e, t) => {
3951
+ if (e <= 0) throw new Q("Invalid opacity.unitsPerPixel value at index " + t + ". Stop values must be positive.", n);
3952
+ });
3953
+ let r = e.map((e, n) => ({
3954
+ stop: e,
3955
+ value: t[n]
3956
+ }));
3957
+ r.sort((e, t) => t.stop - e.stop);
3958
+ let i = r.map((e) => e.stop), a = r.map((e) => e.value);
3959
+ for (let t = 1; t < e.length; t++) if (i[t - 1] <= i[t]) throw new Q("\"opacity.unitsPerPixel\" must be strictly decreasing.", n);
3960
+ return {
3961
+ unitsPerPixel: i,
3962
+ values: a
3963
+ };
3964
+ }
3965
+ function Ec(e, t, n) {
3966
+ if (!re(e)) throw new Q("\"" + t + "\" must evaluate to an array.", n);
3967
+ return e.map((e, r) => {
3968
+ if (!y(e) || !Number.isFinite(e)) throw new Q("Invalid " + t + " value at index " + r + ". Expected a finite number.", n);
3969
+ return e;
3970
+ });
3971
+ }
3972
+ var Dc = (e) => !!e && typeof e == "object" && "step" in e;
3973
+ function Oc(e) {
3974
+ return typeof e == "number" && Number.isFinite(e);
3975
+ }
3976
+ var $ = /* @__PURE__ */ new WeakMap(), kc = /* @__PURE__ */ new WeakMap();
3977
+ function Ac(e, t) {
3978
+ Mc(e, t, "Import");
3979
+ }
3980
+ function jc(e, t) {
3981
+ Mc(e, t, "View");
3982
+ }
3983
+ function Mc(e, t, n) {
3984
+ if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
3985
+ $.set(e, { name: t });
3986
+ }
3987
+ function Nc(e) {
3988
+ return $.get(e);
3989
+ }
3990
+ function Pc(e, t = {}) {
3991
+ let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
3992
+ kc.set(e, n);
3993
+ }
3994
+ function Fc(e, t = {}) {
3995
+ uc(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
3996
+ }
3997
+ function Ic(e) {
3998
+ return e.getLayoutAncestors().some(fc);
3999
+ }
4000
+ function Lc(e) {
4001
+ let t = e.getDataAncestors(), n = [];
4002
+ for (let e = t.length - 1; e >= 0; --e) {
4003
+ let r = $.get(t[e]);
4004
+ r && typeof r.name == "string" && n.push(r.name);
4005
+ }
4006
+ return n;
4007
+ }
4008
+ function Rc(e) {
4009
+ let t = e.explicitName;
4010
+ if (!t) throw Error("Cannot build a selector for a view without a name.");
4011
+ return {
4012
+ scope: Lc(e),
4013
+ view: t
4014
+ };
4015
+ }
4016
+ function zc(e, t) {
4017
+ if (!t) throw Error("Cannot build a selector for a parameter without a name.");
4018
+ return {
4019
+ scope: Lc(e),
4020
+ param: t
4021
+ };
4022
+ }
4023
+ function Bc(e) {
4024
+ return Jc(e), "p:" + JSON.stringify({
4025
+ scope: e.scope,
4026
+ param: e.param
4027
+ });
4028
+ }
4029
+ function Vc(e, t) {
4030
+ e.visit((e) => {
4031
+ let n = dc(e);
4032
+ if (n === "excludeSubtree") return yc;
4033
+ if (n !== "exclude") return t(e);
4034
+ });
4035
+ }
4036
+ function Hc(e, t) {
4037
+ e.visit((e) => {
4038
+ let n = kc.get(e);
4039
+ if (n === "excludeSubtree") return yc;
4040
+ if (n !== "exclude") return t(e);
4041
+ });
4042
+ }
4043
+ function Uc(e, t) {
4044
+ if (Yc(t), !il(e, t.scope)) return;
4045
+ let n = [];
4046
+ if (al(e, t.scope, (e) => {
4047
+ e.explicitName === t.view && n.push(e);
4048
+ }, { includeNamedImportRoots: !0 }), n.length === 1) return n[0];
4049
+ if (n.length !== 0) throw Error("View selector is ambiguous for view \"" + t.view + "\" in scope " + JSON.stringify(t.scope));
4050
+ }
4051
+ function Wc(e, t) {
4052
+ if (Jc(t), !il(e, t.scope)) return;
4053
+ let n = [];
4054
+ if (al(e, t.scope, (e) => {
4055
+ for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Xc(i) && n.push({
4056
+ view: e,
4057
+ param: i
4058
+ });
4059
+ }), n.length === 1) return n[0];
4060
+ if (n.length !== 0) throw Error("Param selector is ambiguous for param \"" + t.param + "\" in scope " + JSON.stringify(t.scope));
4061
+ }
4062
+ function Gc(e, t) {
4063
+ e.visit((e) => {
4064
+ let n = kc.get(e);
4065
+ if (n === "excludeSubtree") return yc;
4066
+ if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Xc(r) && t({
4067
+ view: e,
4068
+ param: r,
4069
+ selector: zc(e, n)
4070
+ });
4071
+ });
4072
+ }
4073
+ function Kc(e) {
4074
+ let t = [];
4075
+ return Gc(e, (e) => t.push(e)), t;
4076
+ }
4077
+ function qc(e) {
4078
+ let t = [];
4079
+ for (let n of Zc(e)) {
4080
+ let r = Qc(n);
4081
+ el(e, r, t), tl(e, r, t);
4082
+ }
4083
+ return t;
4084
+ }
4085
+ function Jc(e) {
4086
+ if (!e || !Array.isArray(e.scope)) throw Error("Param selector scope must be an array.");
4087
+ if (typeof e.param != "string" || !e.param.length) throw Error("Param selector param must be a non-empty string.");
4088
+ }
4089
+ function Yc(e) {
4090
+ if (!e || !Array.isArray(e.scope)) throw Error("View selector scope must be an array.");
4091
+ if (typeof e.view != "string" || !e.view.length) throw Error("View selector view must be a non-empty string.");
4092
+ }
4093
+ function Xc(e) {
4094
+ return e.persist === !1 ? !1 : m(e) ? !0 : te(e) ? !!e.bind : !1;
4095
+ }
4096
+ function Zc(e) {
4097
+ let t = /* @__PURE__ */ new Set([e]);
4098
+ return e.visit((e) => {
4099
+ let n = $.get(e);
4100
+ n && typeof n.name == "string" && t.add(e);
4101
+ }), Array.from(t);
4102
+ }
4103
+ function Qc(e) {
4104
+ return Lc(e);
4105
+ }
4106
+ function $c(e) {
4107
+ return e.length ? "import scope [" + e.join(" / ") + "]" : "import scope (root)";
4108
+ }
4109
+ function el(e, t, n) {
4110
+ let r = /* @__PURE__ */ new Map();
4111
+ al(e, t, (e) => {
4112
+ for (let [t, n] of e.paramRuntime.paramConfigs) {
4113
+ if (!Xc(n)) continue;
4114
+ let i = r.get(t);
4115
+ i ? i.push(e) : r.set(t, [e]);
4116
+ }
4117
+ });
4118
+ for (let [e, i] of r) {
4119
+ if (i.length <= 1) continue;
4120
+ let r = i.map((e) => e.getPathString()).join(", ");
4121
+ n.push({
4122
+ message: "Bookmarkable parameter \"" + e + "\" is not unique within " + $c(t) + ". Found in: " + r + ".",
4123
+ scope: t
4124
+ });
4125
+ }
4126
+ }
4127
+ function tl(e, t, n) {
4128
+ let r = nl(e, t);
4129
+ if (!r.length) return;
4130
+ let i = r.filter((e) => rl(e));
4131
+ if (i.length <= 1) return;
4132
+ let a = /* @__PURE__ */ new Map();
4133
+ for (let e of i) {
4134
+ let t = $.get(e), n = t ? t.name : void 0;
4135
+ typeof n != "string" || !n.length || a.set(n, (a.get(n) ?? 0) + 1);
4136
+ }
4137
+ for (let [e, r] of a) r > 1 && n.push({
4138
+ message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + $c(t) + ".",
4139
+ scope: t
4140
+ });
4141
+ }
4142
+ function nl(e, t) {
4143
+ let n = [];
4144
+ return al(e, t, (e) => {
4145
+ if (Lc(e).length !== t.length + 1) return;
4146
+ let r = $.get(e);
4147
+ !r || typeof r.name != "string" || n.push(e);
4148
+ }, { includeNamedImportRoots: !0 }), n;
4149
+ }
4150
+ function rl(e) {
4151
+ let t = !1;
4152
+ return e.visit((e) => {
4153
+ let n = kc.get(e);
4154
+ if (n === "excludeSubtree") return yc;
4155
+ if (n !== "exclude") {
4156
+ for (let n of e.paramRuntime.paramConfigs.values()) if (Xc(n)) return t = !0, bc;
4157
+ }
4158
+ }), t;
4159
+ }
4160
+ function il(e, t) {
4161
+ let n = e, r = [];
4162
+ for (let i of t) {
4163
+ if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
4164
+ let t, a = !1;
4165
+ if (al(e, r, (e) => {
4166
+ let n = $.get(e);
4167
+ if (!(!n || n.name !== i) && Lc(e).length === r.length + 1) {
4168
+ if (t) return a = !0, bc;
4169
+ t = e;
4170
+ }
4171
+ }, { includeNamedImportRoots: !0 }), a) throw Error("Multiple import instances named \"" + i + "\" in scope.");
4172
+ if (t) n = t, r.push(i);
4173
+ else return;
4174
+ }
4175
+ return n;
4176
+ }
4177
+ function al(e, t, n, r = {}) {
4178
+ let i = r.includeNamedImportRoots ?? !1;
4179
+ e.visit((e) => {
4180
+ let r = $.get(e), a = kc.get(e);
4181
+ if (a === "excludeSubtree") return yc;
4182
+ if (a !== "exclude" && ol(e, t, r, i)) return n(e);
4183
+ });
4184
+ }
4185
+ function ol(e, t, n, r) {
4186
+ let i = Lc(e);
4187
+ return sl(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : cl(t, i);
4188
+ }
4189
+ function sl(e, t) {
4190
+ return e.length === t.length && cl(e, t);
4191
+ }
4192
+ function cl(e, t) {
4193
+ if (e.length > t.length) return !1;
4194
+ for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
4195
+ return !0;
4196
+ }
4197
+ //#endregion
4198
+ export { io as $, x as $t, qs as A, Ot as At, Ss as B, Lt as Bt, cc as C, U as Ct, ec as D, fr as Dt, Qs as E, dr as Et, Os as F, Tt as Ft, hs as G, He as Gt, Es as H, We as Ht, Ts as I, Mt as It, ms as J, Fe as Jt, gs as K, Re as Kt, Cs as L, Dt as Lt, Hs as M, Nt as Mt, Us as N, jt as Nt, $s as O, pr as Ot, Ds as P, Et as Pt, lo as Q, Te as Qt, Rs as R, N as Rt, pc as S, _i as St, Q as T, ur as Tt, ws as U, Ue as Ut, Ms as V, Ge as Vt, vs as W, Ve as Wt, go as X, Pe as Xt, Qo as Y, Ie as Yt, _o as Z, De as Zt, yc as _, zo as _t, Rc as a, ao as at, hc as b, Zo as bt, Fc as c, so as ct, jc as d, Ho as dt, be as en, mo as et, Wc as f, Vo as ft, Vc as g, Bo as gt, Hc as h, Ro as ht, Lc as i, co as it, Js as j, At as jt, Ks as k, Kt as kt, Pc as l, no as lt, qc as m, Lo as mt, Nc as n, uo as nt, Ic as o, oo as ot, Uc as p, Io as pt, ps as q, Le as qt, zc as r, fo as rt, Bc as s, po as st, Kc as t, ve as tn, ho as tt, Ac as u, Wo as ut, bc as v, Uo as vt, nc as w, hr as wt, fc as x, ra as xt, Sc as y, Y as yt, Ls as z, It as zt };