@genome-spy/app 1.2.0 → 1.3.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 (87) hide show
  1. package/dist/{SharedReadCache-Ey5QIiPM.js → SharedReadCache-9sT2aIxW.js} +6 -12
  2. package/dist/__vite-browser-external-Dgu_Ldik.js +7 -0
  3. package/dist/{agentApi-8hMSlqAQ.js → agentApi-BclFF9zB.js} +7130 -7509
  4. package/dist/agentApi.es.js +4344 -4015
  5. package/dist/agentShared.es.js +431 -458
  6. package/dist/arrayUtils-Bm7QnzhN.js +1306 -0
  7. package/dist/{blosc-JROzDOnd.js → blosc-C-W97QwH.js} +3 -3
  8. package/dist/{canvas2d-Bd8H8MMo.js → canvas2d-8MSf70d4.js} +78 -86
  9. package/dist/{canvas2d-D6VYooRf.js → canvas2d-BwGNI_Rx.js} +83 -91
  10. package/dist/clipOptions-SrrxeAEU.js +4316 -0
  11. package/dist/clipOptions-clBEbkjv.js +4326 -0
  12. package/dist/{layoutResult-D50MSHXR.js → color-jETn8xK_.js} +29 -10
  13. package/dist/color-uTRRsy8i.js +116 -0
  14. package/dist/{componentStyles-DGtQXvwc.js → componentStyles-C7FbjS-a.js} +1 -1
  15. package/dist/{containerView-aEVmYmkA.js → containerView-BItRtKqu.js} +5 -1
  16. package/dist/{containerView-CRJSc4bM.js → containerView-CWa6ZIJW.js} +5 -1
  17. package/dist/{debug-CQ0agCrd.js → debug-23s-jja_.js} +3 -2
  18. package/dist/{debug-DkIMiGdW.js → debug-CWRxvAss.js} +2 -3
  19. package/dist/dialog.es.js +1 -1
  20. package/dist/dist-CmY6iewb.js +1501 -0
  21. package/dist/dist-D6xbz5Ks.js +1501 -0
  22. package/dist/{esm-CjkeZi__.js → esm-BFwBAnbO.js} +25 -25
  23. package/dist/esm-BUkWqSr2.js +299 -0
  24. package/dist/{esm-C-6g-SkZ.js → esm-C0xXMLsR.js} +37 -41
  25. package/dist/{esm-CJeszW-t.js → esm-C2xhhXs0.js} +7 -7
  26. package/dist/esm-C6erfjPM.js +252 -0
  27. package/dist/{esm-DFHFX1sH.js → esm-CVjC7qA4.js} +34 -38
  28. package/dist/esm-CqY5ezGz.js +1249 -0
  29. package/dist/esm-DfMIJ_N2.js +1522 -0
  30. package/dist/esm-Dls41IbZ.js +787 -0
  31. package/dist/{esm-Bv7Frz7C.js → esm-DzQDfrsZ.js} +7 -10
  32. package/dist/esm-aGLCvYRP.js +238 -0
  33. package/dist/{esm-VFJeyk9i.js → esm-nzwgJFGz.js} +40 -36
  34. package/dist/figWigMetadataSourceAdapter-8Kf_vZRf.js +36 -0
  35. package/dist/figWigMetadataSourceAdapter-DdDMZpYO.js +36 -0
  36. package/dist/flowNode-BSjy0Wz3.js +1306 -0
  37. package/dist/flowOutput-D5qpxWe0.js +183 -0
  38. package/dist/index.es.js +4756 -5528
  39. package/dist/index.js +707 -547
  40. package/dist/inflate-BdC5KvHn.js +886 -0
  41. package/dist/{lz4-CUYSbVey.js → lz4-BLPgBOlE.js} +1 -1
  42. package/dist/{markUtils-CvLDz744.js → markUtils-RaatLEa-.js} +9 -6
  43. package/dist/metadataUtils-DxEPe0vj.js +879 -0
  44. package/dist/{order-BVvkjDRT.js → order-BnKzKjt4.js} +383 -347
  45. package/dist/{order-DmMoZsi1.js → order-BpJnq_nV.js} +375 -339
  46. package/dist/{parquetRead-0hFIa3Cc.js → parquetRead-D-yY8njE.js} +3 -11
  47. package/dist/{rasterExport-jeRVq6kY.js → rasterExport-B-WrX1pa.js} +5 -5
  48. package/dist/{rasterExport-DxvowWjH.js → rasterExport-C_vx4Jwd.js} +3 -3
  49. package/dist/{rasterization-DFj3Cvx4.js → rasterization-QktH8Sn2.js} +1 -1
  50. package/dist/{rectangle-Dl4Dy0hS.js → rectangle-BAdoDPXu.js} +34 -31
  51. package/dist/{renderCanvas2D-Bfm1NHFu.js → renderCanvas2D-CsRO78Pq.js} +88 -87
  52. package/dist/{renderCanvas2D-DVjhp834.js → renderCanvas2D-Y7pkRzbC.js} +93 -92
  53. package/dist/{rolldown-runtime-DF993M8W.js → rolldown-runtime-DeIk2rA4.js} +1 -1
  54. package/dist/{indexer-DOYMJ-Md.js → scaleNull-CVzag4z8.js} +2 -12
  55. package/dist/{indexer-DDC0YRGn.js → scaleNull-Pbz7QGnl.js} +2 -12
  56. package/dist/{scalePosition-0aeqp_kz.js → scalePosition-CRXa0rCC.js} +1 -1
  57. package/dist/schema.json +3801 -816
  58. package/dist/{svg-Bm2zxBPu.js → svg-BBMtLgtM.js} +369 -285
  59. package/dist/{svg-CkfuhONt.js → svg-JjWL6U-T.js} +371 -287
  60. package/dist/{svgRasterizer-DoRQEqFA.js → svgRasterizer-6OcftuoI.js} +2 -2
  61. package/dist/{svgRasterizer-raDDhBF-.js → svgRasterizer-DkNRaCPs.js} +4 -4
  62. package/dist/tableMetadataSourceAdapter-CUNwLsdi.js +291 -0
  63. package/dist/tableMetadataSourceAdapter-DQrEXCo6.js +1283 -0
  64. package/dist/url-DeOdSRrv.js +183 -0
  65. package/dist/{viewError-BkJeVYXA.js → viewError-B0TMfOpB.js} +1 -1
  66. package/dist/{viewError-IYqyluc7.js → viewError-D9aO90cI.js} +1 -1
  67. package/dist/{viewSelectors-7LyasQN-.js → viewSelectors-DkFvo33d.js} +832 -734
  68. package/dist/{viewSelectors-CbmkSQRT.js → viewSelectors-lM93fHAq.js} +900 -802
  69. package/dist/{viewUtils-DuddMNNw.js → viewUtils-0SJOewM6.js} +1861 -2459
  70. package/dist/webgl-CXIO3OQz.js +5782 -0
  71. package/dist/webgl-Pdvfhio5.js +5783 -0
  72. package/package.json +7 -5
  73. package/src/agentApi/index.d.ts +3 -2
  74. package/src/agentShared/index.d.ts +2 -0
  75. package/src/appTypes.d.ts +1 -6
  76. package/src/embedTypes.d.ts +36 -1
  77. package/src/index.d.ts +6 -0
  78. package/src/spec/sampleView.d.ts +68 -13
  79. package/src/state/paramProvenanceTypes.d.ts +25 -2
  80. package/src/state.d.ts +14 -52
  81. package/dist/clipOptions-DElJ8dTZ.js +0 -3097
  82. package/dist/clipOptions-D_wBNhzs.js +0 -3087
  83. package/dist/esm-Dndm-NaA.js +0 -1193
  84. package/dist/vega-scale-BoGHANI7.js +0 -2446
  85. package/dist/vega-scale-o9TRyzYH.js +0 -2443
  86. package/dist/webgl-CQfvgnxo.js +0 -5633
  87. package/dist/webgl-DVYkXtiZ.js +0 -5632
@@ -1,3097 +0,0 @@
1
- //#region ../../node_modules/vega-util/build/vega-util.js
2
- function e(e, t, n) {
3
- return e.fields = t || [], e.fname = n, e;
4
- }
5
- function t(e) {
6
- return e == null ? null : e.fname;
7
- }
8
- function n(e) {
9
- return e == null ? null : e.fields;
10
- }
11
- function r(e) {
12
- return e.length === 1 ? i(e[0]) : a(e);
13
- }
14
- var i = (e) => function(t) {
15
- return t[e];
16
- }, a = (e) => {
17
- let t = e.length;
18
- return function(n) {
19
- for (let r = 0; r < t; ++r) n = n[e[r]];
20
- return n;
21
- };
22
- };
23
- function o(e) {
24
- throw Error(e);
25
- }
26
- function s(e) {
27
- let t = [], n = e.length, r = null, i = 0, a = "", s, c, l;
28
- e += "";
29
- function u() {
30
- t.push(a + e.substring(s, c)), a = "", s = c + 1;
31
- }
32
- for (s = c = 0; c < n; ++c) if (l = e[c], l === "\\") a += e.substring(s, c++), s = c;
33
- else if (l === r) u(), r = null, i = -1;
34
- else if (r) continue;
35
- else s === i && l === "\"" || s === i && l === "'" ? (s = c + 1, r = l) : l === "." && !i ? c > s ? u() : s = c + 1 : l === "[" ? (c > s && u(), i = s = c + 1) : l === "]" && (i || o("Access path missing open bracket: " + e), i > 0 && u(), i = 0, s = c + 1);
36
- return i && o("Access path missing closing bracket: " + e), r && o("Access path missing closing quote: " + e), c > s && (c++, u()), t;
37
- }
38
- function c(t, n, i) {
39
- let a = s(t);
40
- return t = a.length === 1 ? a[0] : t, e((i && i.get || r)(a), [t], n || t);
41
- }
42
- c("id");
43
- var l = e((e) => e, [], "identity");
44
- e(() => 0, [], "zero"), e(() => 1, [], "one"), e(() => !0, [], "true"), e(() => !1, [], "false"), [...Object.getOwnPropertyNames(Object.prototype).filter((e) => typeof Object.prototype[e] == "function")];
45
- var u = Array.isArray;
46
- function d(e) {
47
- return e === Object(e);
48
- }
49
- function f(e) {
50
- return e[e.length - 1];
51
- }
52
- function p(e) {
53
- return e == null || e === "" ? null : +e;
54
- }
55
- var m = (e) => (t) => e * Math.exp(t), h = (e) => (t) => Math.log(e * t), g = (e) => (t) => Math.sign(t) * Math.log1p(Math.abs(t / e)), _ = (e) => (t) => Math.sign(t) * Math.expm1(Math.abs(t)) * e, v = (e) => (t) => t < 0 ? -((-t) ** +e) : t ** +e;
56
- function y(e, t, n, r) {
57
- let i = n(e[0]), a = n(f(e)), o = (a - i) * t;
58
- return [r(i - o), r(a - o)];
59
- }
60
- function b(e, t) {
61
- return y(e, t, p, l);
62
- }
63
- function ee(e, t) {
64
- var n = Math.sign(e[0]);
65
- return y(e, t, h(n), m(n));
66
- }
67
- function te(e, t, n) {
68
- return y(e, t, v(n), v(1 / n));
69
- }
70
- function x(e, t, n, r, i) {
71
- let a = r(e[0]), o = r(f(e)), s = t == null ? (a + o) / 2 : r(t);
72
- return [i(s + (a - s) * n), i(s + (o - s) * n)];
73
- }
74
- function S(e, t, n) {
75
- return x(e, t, n, p, l);
76
- }
77
- function ne(e, t, n) {
78
- let r = Math.sign(e[0]);
79
- return x(e, t, n, h(r), m(r));
80
- }
81
- function C(e, t, n, r) {
82
- return x(e, t, n, v(r), v(1 / r));
83
- }
84
- function re(e, t, n, r) {
85
- return x(e, t, n, g(r), _(r));
86
- }
87
- function ie(e) {
88
- return e == null ? [] : u(e) ? e : [e];
89
- }
90
- function ae(e, t, n) {
91
- let r = e[0], i = e[1], a;
92
- return i < r && (a = i, i = r, r = a), a = i - r, a >= n - t ? [t, n] : [r = Math.min(Math.max(r, t), n - a), r + a];
93
- }
94
- function oe(e) {
95
- return typeof e == "function";
96
- }
97
- var se = "descending";
98
- function ce(t, r, i) {
99
- i ||= {}, r = ie(r) || [];
100
- let a = [], o = [], s = {}, l = i.comparator || ue;
101
- return ie(t).forEach((e, t) => {
102
- e != null && (a.push(r[t] === se ? -1 : 1), o.push(e = oe(e) ? e : c(e, null, i)), (n(e) || []).forEach((e) => s[e] = 1));
103
- }), o.length === 0 ? null : e(l(o, a), Object.keys(s));
104
- }
105
- var le = (e, t) => (e < t || e == null) && t != null ? -1 : (e > t || t == null) && e != null ? 1 : (t = t instanceof Date ? +t : t, (e = e instanceof Date ? +e : e) !== e && t === t ? -1 : +(t !== t && e === e)), ue = (e, t) => e.length === 1 ? de(e[0], t[0]) : fe(e, t, e.length), de = (e, t) => function(n, r) {
106
- return le(e(n), e(r)) * t;
107
- }, fe = (e, t, n) => (t.push(0), function(r, i) {
108
- let a, o = 0, s = -1;
109
- for (; o === 0 && ++s < n;) a = e[s], o = le(a(r), a(i));
110
- return o * t[s];
111
- });
112
- function pe(e, t, n, r) {
113
- let i = t[0], a = t[t.length - 1], o;
114
- return i > a && (o = i, i = a, a = o), n = n === void 0 || n, r = r === void 0 || r, (n ? i <= e : i < e) && (r ? e <= a : e < a);
115
- }
116
- function me(e) {
117
- return typeof e == "boolean";
118
- }
119
- function he(e) {
120
- return typeof e == "number";
121
- }
122
- function ge(e) {
123
- return Object.prototype.toString.call(e) === "[object RegExp]";
124
- }
125
- function w(e) {
126
- return typeof e == "string";
127
- }
128
- function _e(e, t) {
129
- let n = e[0], r = f(e), i = +t;
130
- return i ? i === 1 ? r : n + i * (r - n) : n;
131
- }
132
- function ve(e) {
133
- return e && f(e) - e[0] || 0;
134
- }
135
- function ye(e) {
136
- return u(e) ? `[${e.map((e) => e === null ? "null" : ye(e))}]` : d(e) || w(e) ? JSON.stringify(e).replaceAll("\u2028", "\\u2028").replaceAll("\u2029", "\\u2029") : e;
137
- }
138
- function be(e) {
139
- let t = {}, n = e.length;
140
- for (let r = 0; r < n; ++r) t[e[r]] = !0;
141
- return t;
142
- }
143
- //#endregion
144
- //#region ../../node_modules/internmap/src/index.js
145
- var xe = class extends Map {
146
- constructor(e, t = Te) {
147
- if (super(), Object.defineProperties(this, {
148
- _intern: { value: /* @__PURE__ */ new Map() },
149
- _key: { value: t }
150
- }), e != null) for (let [t, n] of e) this.set(t, n);
151
- }
152
- get(e) {
153
- return super.get(Se(this, e));
154
- }
155
- has(e) {
156
- return super.has(Se(this, e));
157
- }
158
- set(e, t) {
159
- return super.set(Ce(this, e), t);
160
- }
161
- delete(e) {
162
- return super.delete(we(this, e));
163
- }
164
- };
165
- function Se({ _intern: e, _key: t }, n) {
166
- let r = t(n);
167
- return e.has(r) ? e.get(r) : n;
168
- }
169
- function Ce({ _intern: e, _key: t }, n) {
170
- let r = t(n);
171
- return e.has(r) ? e.get(r) : (e.set(r, n), n);
172
- }
173
- function we({ _intern: e, _key: t }, n) {
174
- let r = t(n);
175
- return e.has(r) && (n = e.get(r), e.delete(r)), n;
176
- }
177
- function Te(e) {
178
- return typeof e == "object" && e ? e.valueOf() : e;
179
- }
180
- //#endregion
181
- //#region ../../node_modules/d3-array/src/ticks.js
182
- var Ee = Math.sqrt(50), De = Math.sqrt(10), Oe = Math.sqrt(2);
183
- function ke(e, t, n) {
184
- let r = (t - e) / Math.max(0, n), i = Math.floor(Math.log10(r)), a = r / 10 ** i, o = a >= Ee ? 10 : a >= De ? 5 : a >= Oe ? 2 : 1, s, c, l;
185
- 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 ? ke(e, t, n * 2) : [
186
- s,
187
- c,
188
- l
189
- ];
190
- }
191
- function Ae(e, t, n) {
192
- if (t = +t, e = +e, n = +n, !(n > 0)) return [];
193
- if (e === t) return [e];
194
- let r = t < e, [i, a, o] = r ? ke(t, e, n) : ke(e, t, n);
195
- if (!(a >= i)) return [];
196
- let s = a - i + 1, c = Array(s);
197
- if (r) {
198
- if (o < 0) for (let e = 0; e < s; ++e) c[e] = (a - e) / -o;
199
- else for (let e = 0; e < s; ++e) c[e] = (a - e) * o;
200
- } else if (o < 0) for (let e = 0; e < s; ++e) c[e] = (i + e) / -o;
201
- else for (let e = 0; e < s; ++e) c[e] = (i + e) * o;
202
- return c;
203
- }
204
- function je(e, t, n) {
205
- return t = +t, e = +e, n = +n, ke(e, t, n)[2];
206
- }
207
- function Me(e, t, n) {
208
- t = +t, e = +e, n = +n;
209
- let r = t < e, i = r ? je(t, e, n) : je(e, t, n);
210
- return (r ? -1 : 1) * (i < 0 ? 1 / -i : i);
211
- }
212
- //#endregion
213
- //#region ../../node_modules/d3-array/src/range.js
214
- function Ne(e, t, n) {
215
- e = +e, t = +t, n = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +n;
216
- for (var r = -1, i = Math.max(0, Math.ceil((t - e) / n)) | 0, a = Array(i); ++r < i;) a[r] = e + r * n;
217
- return a;
218
- }
219
- //#endregion
220
- //#region ../../node_modules/d3-format/src/formatDecimal.js
221
- function Pe(e) {
222
- return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString("en").replace(/,/g, "") : e.toString(10);
223
- }
224
- function Fe(e, t) {
225
- if (!isFinite(e) || e === 0) return null;
226
- var n = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf("e"), r = e.slice(0, n);
227
- return [r.length > 1 ? r[0] + r.slice(2) : r, +e.slice(n + 1)];
228
- }
229
- //#endregion
230
- //#region ../../node_modules/d3-format/src/exponent.js
231
- function Ie(e) {
232
- return e = Fe(Math.abs(e)), e ? e[1] : NaN;
233
- }
234
- //#endregion
235
- //#region ../../node_modules/d3-format/src/formatGroup.js
236
- function Le(e, t) {
237
- return function(n, r) {
238
- for (var i = n.length, a = [], o = 0, s = e[0], c = 0; i > 0 && s > 0 && (c + s + 1 > r && (s = Math.max(1, r - c)), a.push(n.substring(i -= s, i + s)), !((c += s + 1) > r));) s = e[o = (o + 1) % e.length];
239
- return a.reverse().join(t);
240
- };
241
- }
242
- //#endregion
243
- //#region ../../node_modules/d3-format/src/formatNumerals.js
244
- function Re(e) {
245
- return function(t) {
246
- return t.replace(/[0-9]/g, function(t) {
247
- return e[+t];
248
- });
249
- };
250
- }
251
- //#endregion
252
- //#region ../../node_modules/d3-format/src/formatSpecifier.js
253
- var ze = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
254
- function Be(e) {
255
- if (!(t = ze.exec(e))) throw Error("invalid format: " + e);
256
- var t;
257
- return new Ve({
258
- fill: t[1],
259
- align: t[2],
260
- sign: t[3],
261
- symbol: t[4],
262
- zero: t[5],
263
- width: t[6],
264
- comma: t[7],
265
- precision: t[8] && t[8].slice(1),
266
- trim: t[9],
267
- type: t[10]
268
- });
269
- }
270
- Be.prototype = Ve.prototype;
271
- function Ve(e) {
272
- this.fill = e.fill === void 0 ? " " : e.fill + "", this.align = e.align === void 0 ? ">" : e.align + "", this.sign = e.sign === void 0 ? "-" : e.sign + "", this.symbol = e.symbol === void 0 ? "" : e.symbol + "", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? "" : e.type + "";
273
- }
274
- Ve.prototype.toString = function() {
275
- return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
276
- };
277
- //#endregion
278
- //#region ../../node_modules/d3-format/src/formatTrim.js
279
- function He(e) {
280
- out: for (var t = e.length, n = 1, r = -1, i; n < t; ++n) switch (e[n]) {
281
- case ".":
282
- r = i = n;
283
- break;
284
- case "0":
285
- r === 0 && (r = n), i = n;
286
- break;
287
- default:
288
- if (!+e[n]) break out;
289
- r > 0 && (r = 0);
290
- }
291
- return r > 0 ? e.slice(0, r) + e.slice(i + 1) : e;
292
- }
293
- //#endregion
294
- //#region ../../node_modules/d3-format/src/formatPrefixAuto.js
295
- var Ue;
296
- function We(e, t) {
297
- var n = Fe(e, t);
298
- if (!n) return Ue = void 0, e.toPrecision(t);
299
- var r = n[0], i = n[1], a = i - (Ue = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, o = r.length;
300
- return a === o ? r : a > o ? r + Array(a - o + 1).join("0") : a > 0 ? r.slice(0, a) + "." + r.slice(a) : "0." + Array(1 - a).join("0") + Fe(e, Math.max(0, t + a - 1))[0];
301
- }
302
- //#endregion
303
- //#region ../../node_modules/d3-format/src/formatRounded.js
304
- function Ge(e, t) {
305
- var n = Fe(e, t);
306
- if (!n) return e + "";
307
- var r = n[0], i = n[1];
308
- return i < 0 ? "0." + Array(-i).join("0") + r : r.length > i + 1 ? r.slice(0, i + 1) + "." + r.slice(i + 1) : r + Array(i - r.length + 2).join("0");
309
- }
310
- //#endregion
311
- //#region ../../node_modules/d3-format/src/formatTypes.js
312
- var Ke = {
313
- "%": (e, t) => (e * 100).toFixed(t),
314
- b: (e) => Math.round(e).toString(2),
315
- c: (e) => e + "",
316
- d: Pe,
317
- e: (e, t) => e.toExponential(t),
318
- f: (e, t) => e.toFixed(t),
319
- g: (e, t) => e.toPrecision(t),
320
- o: (e) => Math.round(e).toString(8),
321
- p: (e, t) => Ge(e * 100, t),
322
- r: Ge,
323
- s: We,
324
- X: (e) => Math.round(e).toString(16).toUpperCase(),
325
- x: (e) => Math.round(e).toString(16)
326
- };
327
- //#endregion
328
- //#region ../../node_modules/d3-format/src/identity.js
329
- function qe(e) {
330
- return e;
331
- }
332
- //#endregion
333
- //#region ../../node_modules/d3-format/src/locale.js
334
- var Je = Array.prototype.map, Ye = [
335
- "y",
336
- "z",
337
- "a",
338
- "f",
339
- "p",
340
- "n",
341
- "µ",
342
- "m",
343
- "",
344
- "k",
345
- "M",
346
- "G",
347
- "T",
348
- "P",
349
- "E",
350
- "Z",
351
- "Y"
352
- ];
353
- function Xe(e) {
354
- var t = e.grouping === void 0 || e.thousands === void 0 ? qe : Le(Je.call(e.grouping, Number), e.thousands + ""), n = e.currency === void 0 ? "" : e.currency[0] + "", r = e.currency === void 0 ? "" : e.currency[1] + "", i = e.decimal === void 0 ? "." : e.decimal + "", a = e.numerals === void 0 ? qe : Re(Je.call(e.numerals, String)), o = e.percent === void 0 ? "%" : e.percent + "", s = e.minus === void 0 ? "−" : e.minus + "", c = e.nan === void 0 ? "NaN" : e.nan + "";
355
- function l(e, l) {
356
- e = Be(e);
357
- var u = e.fill, d = e.align, f = e.sign, p = e.symbol, m = e.zero, h = e.width, g = e.comma, _ = e.precision, v = e.trim, y = e.type;
358
- y === "n" ? (g = !0, y = "g") : Ke[y] || (_ === void 0 && (_ = 12), v = !0, y = "g"), (m || u === "0" && d === "=") && (m = !0, u = "0", d = "=");
359
- var b = (l && l.prefix !== void 0 ? l.prefix : "") + (p === "$" ? n : p === "#" && /[boxX]/.test(y) ? "0" + y.toLowerCase() : ""), ee = (p === "$" ? r : /[%p]/.test(y) ? o : "") + (l && l.suffix !== void 0 ? l.suffix : ""), te = Ke[y], x = /[defgprs%]/.test(y);
360
- _ = _ === void 0 ? 6 : /[gprs]/.test(y) ? Math.max(1, Math.min(21, _)) : Math.max(0, Math.min(20, _));
361
- function S(e) {
362
- var n = b, r = ee, o, l, p;
363
- if (y === "c") r = te(e) + r, e = "";
364
- else {
365
- e = +e;
366
- var S = e < 0 || 1 / e < 0;
367
- if (e = isNaN(e) ? c : te(Math.abs(e), _), v && (e = He(e)), S && +e == 0 && f !== "+" && (S = !1), n = (S ? f === "(" ? f : s : f === "-" || f === "(" ? "" : f) + n, r = (y === "s" && !isNaN(e) && Ue !== void 0 ? Ye[8 + Ue / 3] : "") + r + (S && f === "(" ? ")" : ""), x) {
368
- for (o = -1, l = e.length; ++o < l;) if (p = e.charCodeAt(o), 48 > p || p > 57) {
369
- r = (p === 46 ? i + e.slice(o + 1) : e.slice(o)) + r, e = e.slice(0, o);
370
- break;
371
- }
372
- }
373
- }
374
- g && !m && (e = t(e, Infinity));
375
- var ne = n.length + e.length + r.length, C = ne < h ? Array(h - ne + 1).join(u) : "";
376
- switch (g && m && (e = t(C + e, C.length ? h - r.length : Infinity), C = ""), d) {
377
- case "<":
378
- e = n + e + r + C;
379
- break;
380
- case "=":
381
- e = n + C + e + r;
382
- break;
383
- case "^":
384
- e = C.slice(0, ne = C.length >> 1) + n + e + r + C.slice(ne);
385
- break;
386
- default: e = C + n + e + r;
387
- }
388
- return a(e);
389
- }
390
- return S.toString = function() {
391
- return e + "";
392
- }, S;
393
- }
394
- function u(e, t) {
395
- var n = Math.max(-8, Math.min(8, Math.floor(Ie(t) / 3))) * 3, r = 10 ** -n, i = l((e = Be(e), e.type = "f", e), { suffix: Ye[8 + n / 3] });
396
- return function(e) {
397
- return i(r * e);
398
- };
399
- }
400
- return {
401
- format: l,
402
- formatPrefix: u
403
- };
404
- }
405
- //#endregion
406
- //#region ../../node_modules/d3-format/src/defaultLocale.js
407
- var Ze, Qe, $e;
408
- et({
409
- thousands: ",",
410
- grouping: [3],
411
- currency: ["$", ""]
412
- });
413
- function et(e) {
414
- return Ze = Xe(e), Qe = Ze.format, $e = Ze.formatPrefix, Ze;
415
- }
416
- //#endregion
417
- //#region ../core/src/utils/arrayUtils.js
418
- function tt(e, t) {
419
- return e.length == t.length && e.every((n, r) => e[r] === t[r]);
420
- }
421
- function nt(e) {
422
- return Array.isArray(e) ? e : e === void 0 ? [] : [e];
423
- }
424
- function rt(e) {
425
- return e[e.length - 1];
426
- }
427
- function it(e, t, n) {
428
- if (t < 0 || t >= e.length) throw Error("Source index out of range.");
429
- if (n < 0 || n > e.length - 1) throw Error("Destination index out of range.");
430
- let [r] = e.splice(t, 1);
431
- e.splice(n, 0, r);
432
- }
433
- //#endregion
434
- //#region ../core/src/data/sideInputBinding.js
435
- var at = class {
436
- #e;
437
- #t;
438
- #n = !1;
439
- #r = !0;
440
- #i = [];
441
- constructor(e) {
442
- this.#e = e, this.#t = Array.from(new Set(e.dataDependencies), (e) => ({
443
- collector: e,
444
- consumed: -1
445
- }));
446
- for (let t of this.#t) this.#i.push(t.collector.observe(() => {
447
- e.parent && e.completed && !this.isReady() && e.areDataDependenciesAvailable() && e.requestRepropagate();
448
- }));
449
- }
450
- dispose() {
451
- for (let e of this.#i) e();
452
- this.#i.length = 0;
453
- }
454
- reset() {
455
- this.#n = !1, this.#r = !0;
456
- for (let e of this.#t) e.consumed = -1;
457
- }
458
- consume() {
459
- if (!this.#e.areDataDependenciesAvailable()) this.#r = !1;
460
- else if (!this.#n) {
461
- for (let e of this.#t) e.consumed = e.collector.dataRevision;
462
- this.#n = !0;
463
- }
464
- }
465
- complete() {
466
- this.#n || this.consume();
467
- }
468
- isReady() {
469
- return this.#r && this.#n && this.#e.areDataDependenciesAvailable() && this.#t.every(({ collector: e, consumed: t }) => e.dataRevision === t);
470
- }
471
- }, ot = class {
472
- stats = {
473
- count: 0,
474
- first: null
475
- };
476
- #e = !1;
477
- #t = !1;
478
- #n = [];
479
- #r;
480
- #i;
481
- paramRuntimeProvider = null;
482
- get behavior() {
483
- return 0;
484
- }
485
- get createsNewIdentity() {
486
- return !1;
487
- }
488
- get domainSensitiveScaleChannels() {
489
- return [];
490
- }
491
- get dataDependencies() {
492
- return [];
493
- }
494
- isDataReady() {
495
- return this.completed && !this.disposed && (!this.#i || this.#i.isReady());
496
- }
497
- areDataDependenciesAvailable() {
498
- return this.dataDependencies.every((e) => e.completed && !e.disposed);
499
- }
500
- consumeDataDependencies() {
501
- this.#i?.consume();
502
- }
503
- get label() {
504
- return `(${this.constructor.name})`;
505
- }
506
- constructor(e) {
507
- this.paramRuntimeProvider = e, this.children = [], this.parent = void 0, this.completed = !1;
508
- }
509
- get disposed() {
510
- return this.#t;
511
- }
512
- getDebugState() {
513
- let e = this;
514
- return {
515
- label: this.label,
516
- children: this.children.slice(),
517
- parent: this.parent,
518
- stats: {
519
- count: this.stats.count,
520
- first: this.stats.first
521
- },
522
- completed: this.completed,
523
- initialized: this.#e,
524
- disposed: this.#t,
525
- params: "params" in e ? structuredClone(e.params) : void 0,
526
- view: st(e, this.paramRuntimeProvider),
527
- domainSensitiveScaleChannels: this.domainSensitiveScaleChannels
528
- };
529
- }
530
- reset() {
531
- this.#i?.reset(), this.completed = !1;
532
- for (let e of this.children) e.reset();
533
- this.stats.count = 0, this.stats.first = null;
534
- }
535
- initialize() {}
536
- initializeOnce() {
537
- this.#e ||= (this.dataDependencies.length && (this.#i = new at(this)), this.initialize(), !0);
538
- }
539
- #a() {
540
- this._propagate = Function("children", "stats", Ne(this.children.length).map((e) => `const child${e} = children[${e}];`).join("\n") + `return function propagate(datum) {
541
- if (stats.count === 0) {
542
- stats.first = structuredClone(datum);
543
- }
544
- stats.count++;
545
- ${Ne(this.children.length).map((e) => `child${e}.handle(datum);`).join("\n")}
546
- };`)(this.children, this.stats);
547
- }
548
- setParent(e) {
549
- this.parent = e;
550
- }
551
- addChild(e) {
552
- if (e.parent) throw Error("Cannot add the child! It already has a parent.");
553
- return this.children.push(e), e.setParent(this), this.#a(), this;
554
- }
555
- adopt(e) {
556
- e.parent && e.parent.removeChild(e), this.addChild(e);
557
- }
558
- adoptChildrenOf(e) {
559
- for (let t of e.children.slice()) this.adopt(t);
560
- }
561
- insertAsParent(e) {
562
- if (this.isRoot()) throw Error("Cannot insert a new parent for a root node!");
563
- e.parent = this.parent, this.parent.children[this.parent.children.indexOf(this)] = e, this.parent.#a(), this.parent = void 0, e.addChild(this);
564
- }
565
- removeChild(e) {
566
- let t = this.children.indexOf(e);
567
- if (t > -1) this.children.splice(t, 1), e.parent = void 0, this.#a();
568
- else throw Error("Trying to remove an unknown child node!");
569
- }
570
- excise() {
571
- if (this.isRoot()) throw Error("Cannot excise root node!");
572
- if (this.isTerminal()) this.parent.removeChild(this);
573
- else if (this.children.length == 1) {
574
- let e = this.children[0];
575
- e.setParent(this.parent), this.parent.children[this.parent.children.indexOf(this)] = e, this.parent.#a(), this.setParent(void 0), this.children.length = 0;
576
- } else throw Error("Cannot excise a node that has multiple children!");
577
- }
578
- isRoot() {
579
- return !this.parent;
580
- }
581
- isBranching() {
582
- return this.children.length > 1;
583
- }
584
- isTerminal() {
585
- return this.children.length == 0;
586
- }
587
- visit(e) {
588
- e(this);
589
- for (let t of this.children) t.visit(e);
590
- e.afterChildren && e.afterChildren(this);
591
- }
592
- subtreeToString(e = 0) {
593
- let t = this.children.map((t) => t.subtreeToString(e + 1)).join("");
594
- return `${" ".repeat(e * 2)}* ${this.label}${"identifier" in this && this.identifier ? ": " + this.identifier : ""} \n${t}`;
595
- }
596
- handle(e) {
597
- this._propagate(e);
598
- }
599
- complete() {
600
- this.#i?.complete(), this.completed = !0;
601
- for (let e of this.children) e.complete();
602
- }
603
- registerDisposer(e) {
604
- this.#t ? e() : this.#n.push(e);
605
- }
606
- dispose() {
607
- if (!this.#t) {
608
- this.#t = !0, this.#i?.dispose();
609
- for (let e of this.#n) e();
610
- this.#n.length = 0;
611
- }
612
- }
613
- disposeSubtree() {
614
- let e = () => void 0;
615
- e.afterChildren = (e) => {
616
- e.dispose();
617
- }, this.visit(e);
618
- }
619
- beginBatch(e) {
620
- for (let t of this.children) t.beginBatch(e);
621
- }
622
- get paramRuntime() {
623
- if (this.paramRuntimeProvider && this.paramRuntimeProvider.paramRuntime) return this.paramRuntimeProvider.paramRuntime;
624
- if (!this.parent) throw Error("Cannot find paramRuntime!");
625
- return this.parent.paramRuntime;
626
- }
627
- get replaySource() {
628
- if (!this.parent) throw Error("Cannot replay data: no upstream replay source.");
629
- return this.parent.replaySource;
630
- }
631
- get replaysSynchronously() {
632
- return !1;
633
- }
634
- requestRepropagate() {
635
- let e = this.replaySource, t = this.paramRuntime.updateScheduler;
636
- e.#r ||= () => {
637
- e.disposed || (e.replaysSynchronously && e.visit((e) => {
638
- e.#r && t.cancelUpdate(e.#r);
639
- }), e.repropagate());
640
- };
641
- let n = 0;
642
- for (let t = e.parent; t; t = t.parent) n++;
643
- t.requestUpdate(e.#r, n, void 0, () => e.#o());
644
- }
645
- #o() {
646
- let e = /* @__PURE__ */ new Set();
647
- return this.visit((t) => {
648
- for (let n of t.dataDependencies) for (let t = n.parent; t; t = t.parent) t !== this && t.#r && e.add(t.#r);
649
- }), e;
650
- }
651
- repropagate() {
652
- if (this.parent) this.parent.repropagate();
653
- else throw Error("Cannot repropagate data, no FlowNode with stored data found!");
654
- }
655
- _propagate(e) {}
656
- };
657
- function st(e, t) {
658
- if ("view" in e) return e.view;
659
- if (t && "getPathString" in t) return t;
660
- }
661
- function ct(e) {
662
- let t = /* @__PURE__ */ new Set();
663
- for (; e;) {
664
- for (let n of e.domainSensitiveScaleChannels) t.add(n);
665
- e = e.parent;
666
- }
667
- return t;
668
- }
669
- function lt(e) {
670
- return e.type == "file";
671
- }
672
- function ut(e) {
673
- return e.type == "facet";
674
- }
675
- //#endregion
676
- //#region ../core/src/utils/specError.js
677
- function dt(e) {
678
- let t = /* @__PURE__ */ new Set();
679
- for (; e instanceof Error && !t.has(e);) {
680
- t.add(e);
681
- let n = e.specLocation;
682
- if (n) return n;
683
- e = e.cause;
684
- }
685
- }
686
- function ft(e, t) {
687
- return e instanceof Error && t && !dt(e) && Object.assign(e, { specLocation: t }), e;
688
- }
689
- //#endregion
690
- //#region ../core/src/utils/compileDatumAccessor.js
691
- var pt = 0;
692
- function mt(e, t, n, r) {
693
- let i = Array.from(t, (e) => {
694
- let t = JSON.stringify(e);
695
- return `if (!(${t} in datum)) missingField(datum, ${t});`;
696
- }).join("\n");
697
- return Function("missingField", "context", `"use strict";
698
- return function createAccessor(globalObject) {
699
- // accessor ${pt++}
700
- return function accessDatum(datum) {
701
- ${i}
702
- ${e}
703
- }${r ? ".bind(context)" : ""};
704
- };`)((e, t) => {
705
- throw ft(/* @__PURE__ */ Error(`Invalid field "${t}". Available fields or properties: ${Object.keys(e).join(", ")}`), n);
706
- }, r);
707
- }
708
- //#endregion
709
- //#region ../core/src/utils/field.js
710
- function T(t, n, r) {
711
- let i = s(t), a = i.length === 1 ? i[0] : t;
712
- return e(mt(`return datum${i.map((e) => `[${JSON.stringify(e)}]`).join("")};`, i.length === 1 ? i : [], r)(), [a], n ?? a);
713
- }
714
- //#endregion
715
- //#region ../core/src/data/transforms/transform.js
716
- var ht = class extends ot {
717
- inFacet = !1;
718
- #e;
719
- #t;
720
- #n = 0;
721
- #r = 0;
722
- #i;
723
- #a = [];
724
- constructor(e, t) {
725
- super(t), this.#e = e.type;
726
- let n = e.debounce;
727
- if (n !== void 0) {
728
- if (!Number.isFinite(n) || n < 0) throw Error(`The debounce for the ${e.type} transform must be a non-negative finite number.`);
729
- this.#t = n, this.registerDisposer(() => clearTimeout(this.#i));
730
- }
731
- }
732
- complete() {
733
- let e = this.#n;
734
- super.complete(), this.#r = e, e == this.#n && (clearTimeout(this.#i), this.#i = void 0);
735
- }
736
- reset() {
737
- this.#s(), this.inFacet = !1, super.reset();
738
- }
739
- beginBatch(e) {
740
- e.type == "facet" && (this.inFacet = !0), this.#s(), super.beginBatch(e);
741
- }
742
- requestReactiveRepropagate() {
743
- if (this.#n++, this.#t === void 0) {
744
- this.requestRepropagate();
745
- return;
746
- }
747
- clearTimeout(this.#i), this.#i = void 0, this.completed && (this.#i = setTimeout(this.#o, this.#t));
748
- }
749
- #o = () => {
750
- this.#i = void 0, !this.disposed && this.completed && this.#r != this.#n && (this.requestRepropagate(), this.paramRuntime.flushNow());
751
- };
752
- get label() {
753
- return this.#e;
754
- }
755
- createFieldAccessor(e, t, { index: n, defaultValue: r } = {}) {
756
- let i = e[t], a = Array.isArray(i), o = this.paramRuntimeProvider?.paramRuntime;
757
- return T(a ? i[n] : i ?? r, void 0, o?.getSpecLocation(e, i == null ? [] : a ? [t, n] : [t]));
758
- }
759
- createFieldAccessors(e, t) {
760
- return nt(e[t]).map((n, r) => this.createFieldAccessor(e, t, { index: r }));
761
- }
762
- watchExprRef(e, t) {
763
- if ($(e)) {
764
- let n = e;
765
- return this.paramRuntime.watchExpression(n, t, {
766
- scopeOwned: !1,
767
- registerDisposer: (e) => this.registerDisposer(e)
768
- });
769
- }
770
- return (() => e);
771
- }
772
- watchSnapshottedExpression(e) {
773
- let t, n;
774
- return t = this.paramRuntime.watchExpression(e, () => {
775
- n.refresh(), this.requestReactiveRepropagate();
776
- }, {
777
- scopeOwned: !1,
778
- registerDisposer: (e) => this.registerDisposer(e)
779
- }), n = t.createSnapshotEvaluator(), this.#a.push(n.refresh), n;
780
- }
781
- #s() {
782
- for (let e of this.#a) e();
783
- }
784
- }, E = "__uniqueId", gt = 1e4, _t = [null], vt = class extends ht {
785
- get behavior() {
786
- return 2;
787
- }
788
- constructor(e) {
789
- super(e), this.params = e, this._blocks = [], this._usedBlocks = 0, this._id = -1;
790
- }
791
- initialize() {}
792
- reset() {
793
- super.reset(), this._usedBlocks = 0, this._id = -1;
794
- }
795
- handle(e) {
796
- e[E] = this.#e(), this._propagate(e);
797
- }
798
- #e() {
799
- return ++this._id % 1e4 == 0 && (this._id = this.#t() * gt), this._id;
800
- }
801
- #t() {
802
- return this._usedBlocks < this._blocks.length ? this._blocks[this._usedBlocks++] : this.#n();
803
- }
804
- #n() {
805
- let e = _t.length;
806
- return _t[e] = this, this._blocks.push(e), this._usedBlocks++, e;
807
- }
808
- };
809
- //#endregion
810
- //#region ../core/src/selection/selectionPredicateTree.js
811
- function yt(e, t) {
812
- if (!("test" in e) || !("ref" in e.test)) return e;
813
- let n = e.test.ref;
814
- if (!Object.hasOwn(t, n)) throw Error(`Unknown predicate "${n}" in unit view.`);
815
- return {
816
- ...e,
817
- test: t[n]
818
- };
819
- }
820
- function bt(e) {
821
- let t = "test" in e ? e.test : {
822
- param: e.param,
823
- ...e.empty === void 0 ? {} : { empty: e.empty },
824
- ...e.project === void 0 ? {} : { project: e.project }
825
- }, n = (e) => {
826
- if (!e || typeof e != "object" || Array.isArray(e)) throw Error("Selection predicate must be an object.");
827
- let t = e, r = [
828
- "param",
829
- "and",
830
- "or",
831
- "not"
832
- ].filter((e) => e in t);
833
- if (r.length !== 1) throw Error("Selection predicate must have exactly one operator.");
834
- let i = r[0];
835
- if (i === "param") {
836
- if (typeof t.param == "string") {
837
- if (Object.keys(t).some((e) => ![
838
- "param",
839
- "empty",
840
- "project"
841
- ].includes(e)) || typeof (t.empty ?? !0) != "boolean") throw Error("Invalid selection parameter predicate.");
842
- if (t.project !== void 0) {
843
- let e = t.project;
844
- if (!e || typeof e != "object" || Array.isArray(e) || Object.keys(e).length === 0 || Object.entries(e).some(([e, t]) => !["x", "y"].includes(e) || t !== e && t !== e + "2")) throw Error("Invalid interval selection projection.");
845
- }
846
- return {
847
- param: eo(t.param),
848
- empty: t.empty ?? !0,
849
- ...t.project ? { project: { ...t.project } } : {}
850
- };
851
- }
852
- if (!t.param || typeof t.param != "object" || Object.keys(t.param).length !== 1 || !Array.isArray(t.param.or) || Object.keys(t).some((e) => !["param", "empty"].includes(e)) || typeof (t.empty ?? !0) != "boolean") throw Error("Invalid flat selection union.");
853
- if (t.param.or.length === 0) throw Error("Selection test \"or\" must be a nonempty array.");
854
- let e = Array.from(new Set(t.param.or.map(eo))), n = e.map((e) => ({ selectionActive: e })), r = e.map((e, t) => ({ all: [{
855
- param: e,
856
- empty: !0
857
- }, n[t]] }));
858
- return { any: t.empty === !1 ? r : [...r, { not: { any: n } }] };
859
- }
860
- if (Object.keys(t).length !== 1) throw Error("Selection predicate operators cannot be mixed.");
861
- if (i === "not") return { not: n(t.not) };
862
- let a = t[i];
863
- if (!Array.isArray(a) || a.length === 0) throw Error(`Selection test "${i}" must be a nonempty array.`);
864
- let o = a.map(n);
865
- return i === "and" ? { all: o } : { any: o };
866
- };
867
- return n(t);
868
- }
869
- function xt(e) {
870
- let t = /* @__PURE__ */ new Set(), n = (e) => {
871
- if ("param" in e) t.add(e.param);
872
- else if ("selectionActive" in e) t.add(typeof e.selectionActive == "string" ? e.selectionActive : e.selectionActive.param);
873
- else if ("not" in e) n(e.not);
874
- else for (let t of "all" in e ? e.all : e.any) n(t);
875
- };
876
- return n(e), Array.from(t);
877
- }
878
- function St(e) {
879
- let t = /* @__PURE__ */ new Map(), n = (e) => {
880
- if ("param" in e) t.set(e.param, { selectionActive: {
881
- param: e.param,
882
- type: e.type,
883
- components: e.projections?.map(({ component: e }) => e) ?? []
884
- } });
885
- else if ("selectionActive" in e) t.set(e.selectionActive.param, e);
886
- else if ("not" in e) n(e.not);
887
- else for (let t of "all" in e ? e.all : e.any) n(t);
888
- };
889
- return n(e), { all: [e, { any: Array.from(t.values()) }] };
890
- }
891
- function Ct(e) {
892
- if ("param" in e) return e.empty;
893
- if ("selectionActive" in e) return !1;
894
- if ("not" in e) return !Ct(e.not);
895
- let t = "all" in e ? e.all : e.any;
896
- return "all" in e ? t.every(Ct) : t.some(Ct);
897
- }
898
- function wt(e, t, n, r, i) {
899
- let a = (e) => {
900
- let t = n.findSelectionCapability?.(e);
901
- if (t) return t;
902
- let r = n.findValue(e);
903
- if (!r || ![
904
- "single",
905
- "multi",
906
- "interval"
907
- ].includes(r.type)) throw Error(`Selection parameter "${e}" was not found.`);
908
- return {
909
- type: r.type,
910
- components: r.type === "interval" ? Object.keys(r.intervals).map((e) => ({ component: e })) : []
911
- };
912
- }, o = t, s = (e) => {
913
- let t = o[e];
914
- if (t && "field" in t) return t.field;
915
- if (t && "condition" in t) return (Array.isArray(t.condition) ? t.condition : [t.condition]).find((e) => "field" in e)?.field;
916
- }, c = (e) => {
917
- if ("all" in e) return { all: e.all.map(c) };
918
- if ("any" in e) return { any: e.any.map(c) };
919
- if ("not" in e) return { not: c(e.not) };
920
- let t = "param" in e ? e.param : e.selectionActive, n = a(t);
921
- if ("selectionActive" in e) return { selectionActive: {
922
- param: t,
923
- type: n.type,
924
- components: n.components.map(({ component: e }) => e)
925
- } };
926
- if (e.project && n.type !== "interval") throw Error(`Selection "${t}" is not an interval selection; project is invalid.`);
927
- if (n.type !== "interval") return {
928
- param: t,
929
- type: n.type,
930
- empty: e.empty
931
- };
932
- let l = n.components.map(({ component: e }) => e);
933
- if (e.project && (Object.keys(e.project).length !== l.length || l.some((t) => !(t in e.project)))) throw Error(`Selection "${t}" project must cover its declared components: ${l.join(", ")}.`);
934
- let u = n.components.map(({ component: n, type: a }) => {
935
- let c = e.project?.[n] ?? n;
936
- if (![
937
- "x",
938
- "x2",
939
- "y",
940
- "y2"
941
- ].includes(c)) throw Error(`Selection "${t}" has unsupported component "${n}".`);
942
- let l = o[c];
943
- if (e.project && (!l || !("field" in l))) throw Error(`Selection "${t}" project target "${c}" must be an unconditional field encoding.`);
944
- let u = s(c);
945
- if (!u) throw Error(`Selection "${t}" has no field for "${c}".`);
946
- if (e.project) {
947
- let e = i?.(c) ?? ("type" in l ? l.type : void 0) ?? ("type" in o[n] ? o[n].type : void 0);
948
- if (![
949
- "quantitative",
950
- "index",
951
- "locus"
952
- ].includes(a) || e !== a) throw Error(`Selection "${t}" project target "${c}" must have matching quantitative, index, or locus type (${a} vs ${e}).`);
953
- }
954
- let d = n + "2", f = e.project ? void 0 : s(d);
955
- return {
956
- component: n,
957
- input: c,
958
- field: u,
959
- ...f && f !== u ? {
960
- secondaryInput: d,
961
- secondaryField: f,
962
- hitTest: r
963
- } : {}
964
- };
965
- });
966
- return {
967
- param: t,
968
- type: "interval",
969
- empty: e.empty,
970
- projections: u
971
- };
972
- };
973
- return c(e);
974
- }
975
- function Tt(e, t) {
976
- if ("all" in e || "any" in e) {
977
- let n = ("all" in e ? e.all : e.any).map((e) => Tt(e, t));
978
- return "all" in e ? (e) => n.every((t) => t(e)) : (e) => n.some((t) => t(e));
979
- }
980
- if ("not" in e) {
981
- let n = Tt(e.not, t);
982
- return (e) => !n(e);
983
- }
984
- if ("selectionActive" in e) {
985
- let { param: n } = e.selectionActive;
986
- return () => Et(t(n));
987
- }
988
- let { param: n, type: r, empty: i } = e;
989
- if (r === "single") return (e) => {
990
- let r = t(n);
991
- return r.uniqueId == null ? i : r.uniqueId === e[E];
992
- };
993
- if (r === "multi") return (e) => {
994
- let r = t(n);
995
- return r.data.size === 0 ? i : r.data.has(e[E]);
996
- };
997
- let a = e.projections.map((e) => ({
998
- ...e,
999
- read: T(e.field),
1000
- readSecondary: e.secondaryField ? T(e.secondaryField) : void 0
1001
- }));
1002
- return (e) => {
1003
- let r = t(n);
1004
- if (!Et(r)) return i;
1005
- for (let t of a) {
1006
- let n = r.intervals[t.component], i = t.read(e), a = t.readSecondary?.(e), [o, s] = n;
1007
- if (o === s || !(a === void 0 ? o <= i && i < s : t.hitTest === "endpoints" ? o <= i && i < s || o <= a && a < s : t.hitTest === "encloses" ? o <= Math.min(i, a) && Math.max(i, a) <= s : o < Math.max(i, a) && Math.min(i, a) < s)) return !1;
1008
- }
1009
- return !0;
1010
- };
1011
- }
1012
- function Et(e) {
1013
- if (e.type === "single") return e.uniqueId != null;
1014
- if (e.type === "multi") return e.data.size !== 0;
1015
- if (e.type === "interval") return Object.values(e.intervals).every((e) => !!e);
1016
- throw Error(`Unsupported selection type: ${e.type}`);
1017
- }
1018
- //#endregion
1019
- //#region ../core/src/encoder/accessor.js
1020
- function Dt(e, t, n) {
1021
- if (!e) throw Error("Cannot create an accessor without a channel.");
1022
- function r(n) {
1023
- let r = n;
1024
- return r.fields ??= [], r.constant = r.fields.length === 0, r.channelDef = t, r.channel = e, r.sourceKey = At(t), r.scaleChannel = ((En(t) && t.resolutionChannel) ?? (Xn(e) && e)) || void 0, r.scaleChannel !== void 0 && (r.domainKeyBase = jt({
1025
- scaleChannel: r.scaleChannel,
1026
- source: kt(t)
1027
- }).domainKeyBase), r.equals = (e) => e ? r === e || r.sourceKey !== void 0 && r.sourceKey === e.sourceKey : !1, r.asNumberAccessor = () => r, r;
1028
- }
1029
- function i(e) {
1030
- if ($(e)) {
1031
- let t = r(n.createExpression(e));
1032
- if (t.fields.length > 0) throw Error("Expression in DatumDef/ValueDef cannot access data fields: " + e.expr);
1033
- return t;
1034
- }
1035
- {
1036
- let t = e;
1037
- return r(() => t);
1038
- }
1039
- }
1040
- if (wn(t)) try {
1041
- return r(T(t.field, void 0, n?.getSpecLocation?.(t, ["field"])));
1042
- } catch (e) {
1043
- throw Error(`Invalid field definition: ${e.message}`, { cause: e });
1044
- }
1045
- if (jn(t)) return r(n.createExpression(t));
1046
- if (Tn(t)) return i(t.datum);
1047
- if (Cn(t)) return i(t.value);
1048
- throw Error(`Invalid channel definition: "${e}": ${JSON.stringify(t)}! The channel definition must contain one of the following properties: "field", "datum", "value" or "expr".`);
1049
- }
1050
- function Ot(e) {
1051
- return e.scaleChannel !== void 0;
1052
- }
1053
- function kt(e) {
1054
- if (wn(e)) return {
1055
- kind: "field",
1056
- value: e.field
1057
- };
1058
- if (jn(e)) return {
1059
- kind: "expr",
1060
- value: e.expr
1061
- };
1062
- if (Tn(e)) return {
1063
- kind: "datum",
1064
- value: e.datum
1065
- };
1066
- if (Cn(e)) return {
1067
- kind: "value",
1068
- value: e.value
1069
- };
1070
- throw Error("Cannot derive a domain key from channel definition: " + JSON.stringify(e));
1071
- }
1072
- function At(e) {
1073
- let t = kt(e);
1074
- return t.kind === "datum" || t.kind === "value" ? "constant|" + Pt(t.value) : t.kind + "|" + Nt(t);
1075
- }
1076
- function jt({ scaleChannel: e, source: t, type: n }) {
1077
- if (!e) throw Error("Cannot build a domain key without a scale channel.");
1078
- let r = e + "|" + t.kind + "|" + Nt(t);
1079
- return {
1080
- domainKeyBase: r,
1081
- domainKey: n ? n + "|" + r : void 0
1082
- };
1083
- }
1084
- function Mt(e, t) {
1085
- let { domainKey: n, domainKeyBase: r } = jt({
1086
- scaleChannel: e.scaleChannel,
1087
- source: kt(e.channelDef),
1088
- type: t
1089
- });
1090
- if (!n) throw Error("Cannot finalize a domain key without a resolved type.");
1091
- return e.domainKeyBase = r, e.domainKey = n, n;
1092
- }
1093
- function Nt(e) {
1094
- switch (e.kind) {
1095
- case "field":
1096
- case "expr": return e.value;
1097
- case "datum":
1098
- case "value": return Pt(e.value);
1099
- default: throw Error("Unknown domain key source.");
1100
- }
1101
- }
1102
- function Pt(e) {
1103
- return $(e) ? "expr:" + e.expr : e === void 0 ? "undefined" : JSON.stringify(e);
1104
- }
1105
- //#endregion
1106
- //#region ../../node_modules/d3-color/src/define.js
1107
- function Ft(e, t, n) {
1108
- e.prototype = t.prototype = n, n.constructor = e;
1109
- }
1110
- function It(e, t) {
1111
- var n = Object.create(e.prototype);
1112
- for (var r in t) n[r] = t[r];
1113
- return n;
1114
- }
1115
- //#endregion
1116
- //#region ../../node_modules/d3-color/src/color.js
1117
- function Lt() {}
1118
- var Rt = .7, zt = 1 / Rt, D = "\\s*([+-]?\\d+)\\s*", Bt = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", O = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", Vt = /^#([0-9a-f]{3,8})$/, Ht = RegExp(`^rgb\\(${D},${D},${D}\\)$`), Ut = RegExp(`^rgb\\(${O},${O},${O}\\)$`), Wt = RegExp(`^rgba\\(${D},${D},${D},${Bt}\\)$`), Gt = RegExp(`^rgba\\(${O},${O},${O},${Bt}\\)$`), Kt = RegExp(`^hsl\\(${Bt},${O},${O}\\)$`), qt = RegExp(`^hsla\\(${Bt},${O},${O},${Bt}\\)$`), Jt = {
1119
- aliceblue: 15792383,
1120
- antiquewhite: 16444375,
1121
- aqua: 65535,
1122
- aquamarine: 8388564,
1123
- azure: 15794175,
1124
- beige: 16119260,
1125
- bisque: 16770244,
1126
- black: 0,
1127
- blanchedalmond: 16772045,
1128
- blue: 255,
1129
- blueviolet: 9055202,
1130
- brown: 10824234,
1131
- burlywood: 14596231,
1132
- cadetblue: 6266528,
1133
- chartreuse: 8388352,
1134
- chocolate: 13789470,
1135
- coral: 16744272,
1136
- cornflowerblue: 6591981,
1137
- cornsilk: 16775388,
1138
- crimson: 14423100,
1139
- cyan: 65535,
1140
- darkblue: 139,
1141
- darkcyan: 35723,
1142
- darkgoldenrod: 12092939,
1143
- darkgray: 11119017,
1144
- darkgreen: 25600,
1145
- darkgrey: 11119017,
1146
- darkkhaki: 12433259,
1147
- darkmagenta: 9109643,
1148
- darkolivegreen: 5597999,
1149
- darkorange: 16747520,
1150
- darkorchid: 10040012,
1151
- darkred: 9109504,
1152
- darksalmon: 15308410,
1153
- darkseagreen: 9419919,
1154
- darkslateblue: 4734347,
1155
- darkslategray: 3100495,
1156
- darkslategrey: 3100495,
1157
- darkturquoise: 52945,
1158
- darkviolet: 9699539,
1159
- deeppink: 16716947,
1160
- deepskyblue: 49151,
1161
- dimgray: 6908265,
1162
- dimgrey: 6908265,
1163
- dodgerblue: 2003199,
1164
- firebrick: 11674146,
1165
- floralwhite: 16775920,
1166
- forestgreen: 2263842,
1167
- fuchsia: 16711935,
1168
- gainsboro: 14474460,
1169
- ghostwhite: 16316671,
1170
- gold: 16766720,
1171
- goldenrod: 14329120,
1172
- gray: 8421504,
1173
- green: 32768,
1174
- greenyellow: 11403055,
1175
- grey: 8421504,
1176
- honeydew: 15794160,
1177
- hotpink: 16738740,
1178
- indianred: 13458524,
1179
- indigo: 4915330,
1180
- ivory: 16777200,
1181
- khaki: 15787660,
1182
- lavender: 15132410,
1183
- lavenderblush: 16773365,
1184
- lawngreen: 8190976,
1185
- lemonchiffon: 16775885,
1186
- lightblue: 11393254,
1187
- lightcoral: 15761536,
1188
- lightcyan: 14745599,
1189
- lightgoldenrodyellow: 16448210,
1190
- lightgray: 13882323,
1191
- lightgreen: 9498256,
1192
- lightgrey: 13882323,
1193
- lightpink: 16758465,
1194
- lightsalmon: 16752762,
1195
- lightseagreen: 2142890,
1196
- lightskyblue: 8900346,
1197
- lightslategray: 7833753,
1198
- lightslategrey: 7833753,
1199
- lightsteelblue: 11584734,
1200
- lightyellow: 16777184,
1201
- lime: 65280,
1202
- limegreen: 3329330,
1203
- linen: 16445670,
1204
- magenta: 16711935,
1205
- maroon: 8388608,
1206
- mediumaquamarine: 6737322,
1207
- mediumblue: 205,
1208
- mediumorchid: 12211667,
1209
- mediumpurple: 9662683,
1210
- mediumseagreen: 3978097,
1211
- mediumslateblue: 8087790,
1212
- mediumspringgreen: 64154,
1213
- mediumturquoise: 4772300,
1214
- mediumvioletred: 13047173,
1215
- midnightblue: 1644912,
1216
- mintcream: 16121850,
1217
- mistyrose: 16770273,
1218
- moccasin: 16770229,
1219
- navajowhite: 16768685,
1220
- navy: 128,
1221
- oldlace: 16643558,
1222
- olive: 8421376,
1223
- olivedrab: 7048739,
1224
- orange: 16753920,
1225
- orangered: 16729344,
1226
- orchid: 14315734,
1227
- palegoldenrod: 15657130,
1228
- palegreen: 10025880,
1229
- paleturquoise: 11529966,
1230
- palevioletred: 14381203,
1231
- papayawhip: 16773077,
1232
- peachpuff: 16767673,
1233
- peru: 13468991,
1234
- pink: 16761035,
1235
- plum: 14524637,
1236
- powderblue: 11591910,
1237
- purple: 8388736,
1238
- rebeccapurple: 6697881,
1239
- red: 16711680,
1240
- rosybrown: 12357519,
1241
- royalblue: 4286945,
1242
- saddlebrown: 9127187,
1243
- salmon: 16416882,
1244
- sandybrown: 16032864,
1245
- seagreen: 3050327,
1246
- seashell: 16774638,
1247
- sienna: 10506797,
1248
- silver: 12632256,
1249
- skyblue: 8900331,
1250
- slateblue: 6970061,
1251
- slategray: 7372944,
1252
- slategrey: 7372944,
1253
- snow: 16775930,
1254
- springgreen: 65407,
1255
- steelblue: 4620980,
1256
- tan: 13808780,
1257
- teal: 32896,
1258
- thistle: 14204888,
1259
- tomato: 16737095,
1260
- turquoise: 4251856,
1261
- violet: 15631086,
1262
- wheat: 16113331,
1263
- white: 16777215,
1264
- whitesmoke: 16119285,
1265
- yellow: 16776960,
1266
- yellowgreen: 10145074
1267
- };
1268
- Ft(Lt, $t, {
1269
- copy(e) {
1270
- return Object.assign(new this.constructor(), this, e);
1271
- },
1272
- displayable() {
1273
- return this.rgb().displayable();
1274
- },
1275
- hex: Yt,
1276
- formatHex: Yt,
1277
- formatHex8: Xt,
1278
- formatHsl: Zt,
1279
- formatRgb: Qt,
1280
- toString: Qt
1281
- });
1282
- function Yt() {
1283
- return this.rgb().formatHex();
1284
- }
1285
- function Xt() {
1286
- return this.rgb().formatHex8();
1287
- }
1288
- function Zt() {
1289
- return un(this).formatHsl();
1290
- }
1291
- function Qt() {
1292
- return this.rgb().formatRgb();
1293
- }
1294
- function $t(e) {
1295
- var t, n;
1296
- return e = (e + "").trim().toLowerCase(), (t = Vt.exec(e)) ? (n = t[1].length, t = parseInt(t[1], 16), n === 6 ? en(t) : n === 3 ? new k(t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, (t & 15) << 4 | t & 15, 1) : n === 8 ? tn(t >> 24 & 255, t >> 16 & 255, t >> 8 & 255, (t & 255) / 255) : n === 4 ? tn(t >> 12 & 15 | t >> 8 & 240, t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, ((t & 15) << 4 | t & 15) / 255) : null) : (t = Ht.exec(e)) ? new k(t[1], t[2], t[3], 1) : (t = Ut.exec(e)) ? new k(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, 1) : (t = Wt.exec(e)) ? tn(t[1], t[2], t[3], t[4]) : (t = Gt.exec(e)) ? tn(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, t[4]) : (t = Kt.exec(e)) ? ln(t[1], t[2] / 100, t[3] / 100, 1) : (t = qt.exec(e)) ? ln(t[1], t[2] / 100, t[3] / 100, t[4]) : Jt.hasOwnProperty(e) ? en(Jt[e]) : e === "transparent" ? new k(NaN, NaN, NaN, 0) : null;
1297
- }
1298
- function en(e) {
1299
- return new k(e >> 16 & 255, e >> 8 & 255, e & 255, 1);
1300
- }
1301
- function tn(e, t, n, r) {
1302
- return r <= 0 && (e = t = n = NaN), new k(e, t, n, r);
1303
- }
1304
- function nn(e) {
1305
- return e instanceof Lt || (e = $t(e)), e ? (e = e.rgb(), new k(e.r, e.g, e.b, e.opacity)) : new k();
1306
- }
1307
- function rn(e, t, n, r) {
1308
- return arguments.length === 1 ? nn(e) : new k(e, t, n, r ?? 1);
1309
- }
1310
- function k(e, t, n, r) {
1311
- this.r = +e, this.g = +t, this.b = +n, this.opacity = +r;
1312
- }
1313
- Ft(k, rn, It(Lt, {
1314
- brighter(e) {
1315
- return e = e == null ? zt : zt ** +e, new k(this.r * e, this.g * e, this.b * e, this.opacity);
1316
- },
1317
- darker(e) {
1318
- return e = e == null ? Rt : Rt ** +e, new k(this.r * e, this.g * e, this.b * e, this.opacity);
1319
- },
1320
- rgb() {
1321
- return this;
1322
- },
1323
- clamp() {
1324
- return new k(A(this.r), A(this.g), A(this.b), cn(this.opacity));
1325
- },
1326
- displayable() {
1327
- return -.5 <= this.r && this.r < 255.5 && -.5 <= this.g && this.g < 255.5 && -.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;
1328
- },
1329
- hex: an,
1330
- formatHex: an,
1331
- formatHex8: on,
1332
- formatRgb: sn,
1333
- toString: sn
1334
- }));
1335
- function an() {
1336
- return `#${j(this.r)}${j(this.g)}${j(this.b)}`;
1337
- }
1338
- function on() {
1339
- return `#${j(this.r)}${j(this.g)}${j(this.b)}${j((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
1340
- }
1341
- function sn() {
1342
- let e = cn(this.opacity);
1343
- return `${e === 1 ? "rgb(" : "rgba("}${A(this.r)}, ${A(this.g)}, ${A(this.b)}${e === 1 ? ")" : `, ${e})`}`;
1344
- }
1345
- function cn(e) {
1346
- return isNaN(e) ? 1 : Math.max(0, Math.min(1, e));
1347
- }
1348
- function A(e) {
1349
- return Math.max(0, Math.min(255, Math.round(e) || 0));
1350
- }
1351
- function j(e) {
1352
- return e = A(e), (e < 16 ? "0" : "") + e.toString(16);
1353
- }
1354
- function ln(e, t, n, r) {
1355
- return r <= 0 ? e = t = n = NaN : n <= 0 || n >= 1 ? e = t = NaN : t <= 0 && (e = NaN), new M(e, t, n, r);
1356
- }
1357
- function un(e) {
1358
- if (e instanceof M) return new M(e.h, e.s, e.l, e.opacity);
1359
- if (e instanceof Lt || (e = $t(e)), !e) return new M();
1360
- if (e instanceof M) return e;
1361
- e = e.rgb();
1362
- var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = Math.min(t, n, r), a = Math.max(t, n, r), o = NaN, s = a - i, c = (a + i) / 2;
1363
- return s ? (o = t === a ? (n - r) / s + (n < r) * 6 : n === a ? (r - t) / s + 2 : (t - n) / s + 4, s /= c < .5 ? a + i : 2 - a - i, o *= 60) : s = c > 0 && c < 1 ? 0 : o, new M(o, s, c, e.opacity);
1364
- }
1365
- function dn(e, t, n, r) {
1366
- return arguments.length === 1 ? un(e) : new M(e, t, n, r ?? 1);
1367
- }
1368
- function M(e, t, n, r) {
1369
- this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
1370
- }
1371
- Ft(M, dn, It(Lt, {
1372
- brighter(e) {
1373
- return e = e == null ? zt : zt ** +e, new M(this.h, this.s, this.l * e, this.opacity);
1374
- },
1375
- darker(e) {
1376
- return e = e == null ? Rt : Rt ** +e, new M(this.h, this.s, this.l * e, this.opacity);
1377
- },
1378
- rgb() {
1379
- var e = this.h % 360 + (this.h < 0) * 360, t = isNaN(e) || isNaN(this.s) ? 0 : this.s, n = this.l, r = n + (n < .5 ? n : 1 - n) * t, i = 2 * n - r;
1380
- return new k(mn(e >= 240 ? e - 240 : e + 120, i, r), mn(e, i, r), mn(e < 120 ? e + 240 : e - 120, i, r), this.opacity);
1381
- },
1382
- clamp() {
1383
- return new M(fn(this.h), pn(this.s), pn(this.l), cn(this.opacity));
1384
- },
1385
- displayable() {
1386
- return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;
1387
- },
1388
- formatHsl() {
1389
- let e = cn(this.opacity);
1390
- return `${e === 1 ? "hsl(" : "hsla("}${fn(this.h)}, ${pn(this.s) * 100}%, ${pn(this.l) * 100}%${e === 1 ? ")" : `, ${e})`}`;
1391
- }
1392
- }));
1393
- function fn(e) {
1394
- return e = (e || 0) % 360, e < 0 ? e + 360 : e;
1395
- }
1396
- function pn(e) {
1397
- return Math.max(0, Math.min(1, e || 0));
1398
- }
1399
- function mn(e, t, n) {
1400
- return (e < 60 ? t + (n - t) * e / 60 : e < 180 ? n : e < 240 ? t + (n - t) * (240 - e) / 60 : t) * 255;
1401
- }
1402
- //#endregion
1403
- //#region ../core/src/encoder/encoder.js
1404
- function hn(e, t, n, r = "intersects", i) {
1405
- let a, o, s = xt(e), c = () => (a ??= wt(e, t, n, r, i), a);
1406
- return s.every((e) => n.findValue(e)) && c(), Object.defineProperty((e) => !s.some((e) => !n.findValue(e)) && (o ??= Tt(c(), (e) => n.findValue(e)), o(e)), "selection", { get: c });
1407
- }
1408
- function gn(e, t, n, r, i = "intersects", a) {
1409
- let o = Mn(t) || Nn(t) ? Array.isArray(t.condition) ? t.condition : [t.condition] : [], s = [...o, t], c = s.map((t, c) => {
1410
- let l = o[c], u = Dt(e, t, r);
1411
- if (Jn(e) && Cn(t)) {
1412
- let e = t.value;
1413
- if (e !== null && !$(e) && (typeof e != "string" || !$t(e))) throw ft(/* @__PURE__ */ Error("Invalid color: " + JSON.stringify(e)), r.getSpecLocation?.(t, ["value"]));
1414
- }
1415
- let d = l ? La(l) : void 0;
1416
- return {
1417
- accessor: u,
1418
- predicate: d ? hn(d, n, r, i, a) : ao(c === s.length - 1)
1419
- };
1420
- });
1421
- if (c.filter((e) => !e.accessor.constant).length > 1) throw Error("Only one accessor can be non-constant. Channel: " + e);
1422
- return c;
1423
- }
1424
- function _n(e, t) {
1425
- let n = {}, r = (t) => e.getScaleResolution(t)?.getScale(), i = (t, n) => {
1426
- let r = e.getScaleResolution(t);
1427
- e.paramRuntime.operation("encoder scale", [r.getMappingRef()], () => r.getScale(), n);
1428
- };
1429
- for (let [a, o] of Object.entries(t)) {
1430
- if (!o) continue;
1431
- let s = a;
1432
- vn(s) || (n[s] = xn(gn(s, o, t, e.paramRuntime, e.mark.defaultHitTestMode, (t) => e.getScaleResolution(t)?.type), r, i));
1433
- }
1434
- return n;
1435
- }
1436
- function vn(e) {
1437
- return e === "key" || e === "search" || e === "tooltip" || e === "order";
1438
- }
1439
- function yn(e) {
1440
- return e.branches.map((e) => e.accessor);
1441
- }
1442
- function bn(e) {
1443
- return e.branches.find((e) => !e.accessor.constant)?.accessor;
1444
- }
1445
- function xn(e, t, n) {
1446
- if (e.length === 1) {
1447
- let r = Sn(e[0].accessor, t, n);
1448
- return Object.assign(r, { branches: e });
1449
- }
1450
- let r = e.map((e) => e.predicate), i = e.map((e) => Sn(e.accessor, t, n)), a = Object.assign((e) => {
1451
- for (let t = 0; t < i.length; t++) if (r[t](e)) return i[t](e);
1452
- }, {
1453
- constant: !1,
1454
- branches: e,
1455
- channelDef: e.at(-1).accessor.channelDef
1456
- });
1457
- return Object.defineProperty(a, "scale", {
1458
- enumerable: !0,
1459
- get: () => i.find((e) => e.scale)?.scale
1460
- });
1461
- }
1462
- function Sn(e, t, n) {
1463
- let { channel: r, scaleChannel: i, channelDef: a } = e, o = e.scaleChannel ? t(i) : void 0;
1464
- if (i && !o) throw Error(`Missing scale! "${r}": ${JSON.stringify(a)}`);
1465
- let s = Object.assign(o ? (t) => o(e(t)) : (t) => e(t), {
1466
- scale: o,
1467
- constant: e.constant,
1468
- branches: [{
1469
- accessor: e,
1470
- predicate: ao(!0)
1471
- }],
1472
- channelDef: a
1473
- });
1474
- return o && n?.(i, (e) => {
1475
- o = e, s.scale = e;
1476
- }), s;
1477
- }
1478
- function Cn(e) {
1479
- return e && "value" in e;
1480
- }
1481
- function wn(e) {
1482
- return e && "field" in e;
1483
- }
1484
- function Tn(e) {
1485
- return e && "datum" in e;
1486
- }
1487
- function En(e) {
1488
- return wn(e) || Tn(e) || jn(e) || An(e);
1489
- }
1490
- function Dn(e) {
1491
- if (Nn(e)) {
1492
- let t = e.condition;
1493
- return (Array.isArray(t) ? t : [t]).find((e) => En(e));
1494
- }
1495
- if (En(e)) return e;
1496
- }
1497
- function On(e) {
1498
- let t = e && Dn(e);
1499
- return t != null && t.type != "quantitative" && t.scale !== null;
1500
- }
1501
- function kn(e, t) {
1502
- let n = e.mark.encoding[t];
1503
- if (Array.isArray(n)) throw Error("Not a channel def with scale!");
1504
- {
1505
- let e = Dn(n);
1506
- if (e) return e;
1507
- }
1508
- throw Error("Not a channel def with scale!");
1509
- }
1510
- function An(e) {
1511
- return e && "chrom" in e;
1512
- }
1513
- function jn(e) {
1514
- return e && "expr" in e;
1515
- }
1516
- function Mn(e) {
1517
- return (wn(e) || Tn(e)) && "condition" in e;
1518
- }
1519
- function Nn(e) {
1520
- return Cn(e) && "condition" in e;
1521
- }
1522
- var Pn = ["x", "y"], Fn = ["x2", "y2"], In = ["xOffset", "yOffset"], Ln = [...Pn, ...Fn];
1523
- function Rn(e) {
1524
- return Pn.includes(e);
1525
- }
1526
- function zn(e) {
1527
- return Ln.includes(e);
1528
- }
1529
- function Bn(e) {
1530
- return In.includes(e);
1531
- }
1532
- function Vn(e) {
1533
- return qn(e) == "x" ? "xOffset" : "yOffset";
1534
- }
1535
- function Hn(e, t, n) {
1536
- return t ?? (n ? 0 : e);
1537
- }
1538
- var Un = {
1539
- x: "x2",
1540
- y: "y2"
1541
- }, Wn = Object.fromEntries([
1542
- ...Object.entries(Un),
1543
- ["xOffset", "x2Offset"],
1544
- ["yOffset", "y2Offset"]
1545
- ].map((e) => [e[1], e[0]]));
1546
- function Gn(e) {
1547
- return e in Wn;
1548
- }
1549
- function Kn(e) {
1550
- let t = Un[e];
1551
- if (t) return t;
1552
- throw Error(`${e} has no secondary channel!`);
1553
- }
1554
- function qn(e) {
1555
- return Wn[e] ?? e;
1556
- }
1557
- function Jn(e) {
1558
- return [
1559
- "color",
1560
- "fill",
1561
- "stroke"
1562
- ].includes(qn(e));
1563
- }
1564
- function Yn(e) {
1565
- return ["shape", "direction"].includes(e);
1566
- }
1567
- function Xn(e) {
1568
- return [
1569
- "x",
1570
- "y",
1571
- "x2",
1572
- "y2",
1573
- "xOffset",
1574
- "yOffset",
1575
- "x2Offset",
1576
- "y2Offset",
1577
- "color",
1578
- "fill",
1579
- "stroke",
1580
- "opacity",
1581
- "fillOpacity",
1582
- "strokeOpacity",
1583
- "strokeWidth",
1584
- "size",
1585
- "shape",
1586
- "direction",
1587
- "angle",
1588
- "dx",
1589
- "dy",
1590
- "sample"
1591
- ].includes(e);
1592
- }
1593
- function Zn(e) {
1594
- switch (e) {
1595
- case "shape": return [
1596
- "circle",
1597
- "square",
1598
- "cross",
1599
- "diamond",
1600
- "triangle-up",
1601
- "triangle-right",
1602
- "triangle-down",
1603
- "triangle-left",
1604
- "tick-up",
1605
- "tick-right",
1606
- "tick-down",
1607
- "tick-left",
1608
- "x",
1609
- "+"
1610
- ];
1611
- case "direction": return [
1612
- "forward",
1613
- "reverse",
1614
- "both"
1615
- ];
1616
- }
1617
- }
1618
- function Qn(e) {
1619
- if (!Yn(e)) throw Error("Not a discrete channel: " + e);
1620
- let t = new Map(Zn(e).map((e, t) => [e, t]));
1621
- return (n) => {
1622
- let r = t.get(n);
1623
- if (r !== void 0) return r;
1624
- throw Error(`Invalid value for "${e}" channel: ${n}`);
1625
- };
1626
- }
1627
- //#endregion
1628
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/accessor.js
1629
- function N(e, t, n) {
1630
- return Object.assign(e, {
1631
- fields: t || [],
1632
- fname: n
1633
- });
1634
- }
1635
- //#endregion
1636
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/getter.js
1637
- function $n(e) {
1638
- return e.length === 1 ? er(e[0]) : tr(e);
1639
- }
1640
- var er = (e) => function(t) {
1641
- return t[e];
1642
- }, tr = (e) => {
1643
- let t = e.length;
1644
- return function(n) {
1645
- for (let r = 0; r < t; ++r) n = n[e[r]];
1646
- return n;
1647
- };
1648
- };
1649
- //#endregion
1650
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/error.js
1651
- function P(e) {
1652
- throw Error(e);
1653
- }
1654
- //#endregion
1655
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/splitAccessPath.js
1656
- function nr(e) {
1657
- let t = [], n = e.length, r = null, i = 0, a = "", o, s, c;
1658
- e += "";
1659
- function l() {
1660
- t.push(a + e.substring(o, s)), a = "", o = s + 1;
1661
- }
1662
- for (o = s = 0; s < n; ++s) if (c = e[s], c === "\\") a += e.substring(o, s++), o = s;
1663
- else if (c === r) l(), r = null, i = -1;
1664
- else if (r) continue;
1665
- else o === i && c === "\"" || o === i && c === "'" ? (o = s + 1, r = c) : c === "." && !i ? s > o ? l() : o = s + 1 : c === "[" ? (s > o && l(), i = o = s + 1) : c === "]" && (i || P("Access path missing open bracket: " + e), i > 0 && l(), i = 0, o = s + 1);
1666
- return i && P("Access path missing closing bracket: " + e), r && P("Access path missing closing quote: " + e), s > o && (s++, l()), t;
1667
- }
1668
- //#endregion
1669
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/field.js
1670
- function rr(e, t, n) {
1671
- let r = nr(e), i = r.length === 1 ? r[0] : e;
1672
- return N((n && n.get || $n)(r), [i], t || i);
1673
- }
1674
- rr("id"), N((e) => e, [], "identity"), N(() => 0, [], "zero"), N(() => 1, [], "one"), N(() => !0, [], "true"), N(() => !1, [], "false");
1675
- //#endregion
1676
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/interpreter.js
1677
- var ir = /* @__PURE__ */ new Set([
1678
- ...Object.getOwnPropertyNames(Object.prototype).filter((e) => typeof Object.prototype[e] == "function"),
1679
- "__proto__",
1680
- "then"
1681
- ]);
1682
- Array.isArray;
1683
- //#endregion
1684
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/isFunction.js
1685
- function ar(e) {
1686
- return typeof e == "function";
1687
- }
1688
- //#endregion
1689
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/hasOwnProperty.js
1690
- function or(e, t) {
1691
- return Object.hasOwn(e, t);
1692
- }
1693
- //#endregion
1694
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/isString.js
1695
- function sr(e) {
1696
- return typeof e == "string";
1697
- }
1698
- //#endregion
1699
- //#region ../../node_modules/vega-expression/node_modules/vega-util/build/toSet.js
1700
- function cr(e) {
1701
- let t = {}, n = e.length;
1702
- for (let r = 0; r < n; ++r) t[e[r] + ""] = !0;
1703
- return t;
1704
- }
1705
- //#endregion
1706
- //#region ../../node_modules/vega-expression/build/vega-expression.js
1707
- var lr = "RawCode", ur = "Literal", dr = "Property", fr = "Identifier", pr = "ArrayExpression", mr = "BinaryExpression", hr = "CallExpression", gr = "ConditionalExpression", _r = "LogicalExpression", vr = "MemberExpression", yr = "ObjectExpression", br = "UnaryExpression";
1708
- function F(e) {
1709
- this.type = e;
1710
- }
1711
- F.prototype.visit = function(e) {
1712
- let t, n, r;
1713
- if (e(this)) return 1;
1714
- for (t = xr(this), n = 0, r = t.length; n < r; ++n) if (t[n].visit(e)) return 1;
1715
- };
1716
- function xr(e) {
1717
- switch (e.type) {
1718
- case pr: return e.elements;
1719
- case mr:
1720
- case _r: return [e.left, e.right];
1721
- case hr: return [e.callee].concat(e.arguments);
1722
- case gr: return [
1723
- e.test,
1724
- e.consequent,
1725
- e.alternate
1726
- ];
1727
- case vr: return [e.object, e.property];
1728
- case yr: return e.properties;
1729
- case dr: return [e.key, e.value];
1730
- case br: return [e.argument];
1731
- case fr:
1732
- case ur:
1733
- case lr:
1734
- default: return [];
1735
- }
1736
- }
1737
- var I, L, R, z, B, Sr = 1, Cr = 2, V = 3, H = 4, wr = 5, U = 6, W = 7, Tr = 8, Er = 9;
1738
- I = {}, I[Sr] = "Boolean", I[Cr] = "<end>", I[V] = "Identifier", I[H] = "Keyword", I[wr] = "Null", I[U] = "Numeric", I[W] = "Punctuator", I[Tr] = "String", I[Er] = "RegularExpression";
1739
- var Dr = "ArrayExpression", Or = "BinaryExpression", kr = "CallExpression", Ar = "ConditionalExpression", jr = "Identifier", Mr = "Literal", Nr = "LogicalExpression", Pr = "MemberExpression", Fr = "ObjectExpression", Ir = "Property", Lr = "UnaryExpression", G = "Unexpected token %0", Rr = "Unexpected number", zr = "Unexpected string", Br = "Unexpected identifier", Vr = "Unexpected reserved word", Hr = "Unexpected end of input", Ur = "Invalid regular expression", Wr = "Invalid regular expression: missing /", Gr = "Octal literals are not allowed in strict mode.", Kr = "Duplicate data property in object literal not allowed in strict mode", K = "ILLEGAL", qr = "Disabled.", Jr = /* @__PURE__ */ RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), Yr = /* @__PURE__ */ RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");
1740
- function Xr(e, t) {
1741
- /* istanbul ignore next */
1742
- if (!e) throw Error("ASSERT: " + t);
1743
- }
1744
- function q(e) {
1745
- return e >= 48 && e <= 57;
1746
- }
1747
- function Zr(e) {
1748
- return "0123456789abcdefABCDEF".includes(e);
1749
- }
1750
- function Qr(e) {
1751
- return "01234567".includes(e);
1752
- }
1753
- function $r(e) {
1754
- return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e >= 5760 && [
1755
- 5760,
1756
- 6158,
1757
- 8192,
1758
- 8193,
1759
- 8194,
1760
- 8195,
1761
- 8196,
1762
- 8197,
1763
- 8198,
1764
- 8199,
1765
- 8200,
1766
- 8201,
1767
- 8202,
1768
- 8239,
1769
- 8287,
1770
- 12288,
1771
- 65279
1772
- ].includes(e);
1773
- }
1774
- function ei(e) {
1775
- return e === 10 || e === 13 || e === 8232 || e === 8233;
1776
- }
1777
- function ti(e) {
1778
- return e === 36 || e === 95 || e >= 65 && e <= 90 || e >= 97 && e <= 122 || e === 92 || e >= 128 && Jr.test(String.fromCharCode(e));
1779
- }
1780
- function ni(e) {
1781
- return e === 36 || e === 95 || e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === 92 || e >= 128 && Yr.test(String.fromCharCode(e));
1782
- }
1783
- var ri = {
1784
- if: 1,
1785
- in: 1,
1786
- do: 1,
1787
- var: 1,
1788
- for: 1,
1789
- new: 1,
1790
- try: 1,
1791
- let: 1,
1792
- this: 1,
1793
- else: 1,
1794
- case: 1,
1795
- void: 1,
1796
- with: 1,
1797
- enum: 1,
1798
- while: 1,
1799
- break: 1,
1800
- catch: 1,
1801
- throw: 1,
1802
- const: 1,
1803
- yield: 1,
1804
- class: 1,
1805
- super: 1,
1806
- return: 1,
1807
- typeof: 1,
1808
- delete: 1,
1809
- switch: 1,
1810
- export: 1,
1811
- import: 1,
1812
- public: 1,
1813
- static: 1,
1814
- default: 1,
1815
- finally: 1,
1816
- extends: 1,
1817
- package: 1,
1818
- private: 1,
1819
- function: 1,
1820
- continue: 1,
1821
- debugger: 1,
1822
- interface: 1,
1823
- protected: 1,
1824
- instanceof: 1,
1825
- implements: 1
1826
- };
1827
- function ii() {
1828
- for (; R < z;) {
1829
- let e = L.charCodeAt(R);
1830
- if ($r(e) || ei(e)) ++R;
1831
- else break;
1832
- }
1833
- }
1834
- function ai(e) {
1835
- var t, n, r, i = 0;
1836
- for (n = e === "u" ? 4 : 2, t = 0; t < n; ++t) R < z && Zr(L[R]) ? (r = L[R++], i = i * 16 + "0123456789abcdef".indexOf(r.toLowerCase())) : Y({}, G, K);
1837
- return String.fromCharCode(i);
1838
- }
1839
- function oi() {
1840
- var e = L[R], t = 0, n, r;
1841
- for (e === "}" && Y({}, G, K); R < z && (e = L[R++], Zr(e));) t = t * 16 + "0123456789abcdef".indexOf(e.toLowerCase());
1842
- return (t > 1114111 || e !== "}") && Y({}, G, K), t <= 65535 ? String.fromCharCode(t) : (n = (t - 65536 >> 10) + 55296, r = (t - 65536 & 1023) + 56320, String.fromCharCode(n, r));
1843
- }
1844
- function si() {
1845
- var e = L.charCodeAt(R++), t = String.fromCharCode(e);
1846
- for (e === 92 && (L.charCodeAt(R) !== 117 && Y({}, G, K), ++R, e = ai("u"), (!e || e === "\\" || !ti(e.charCodeAt(0))) && Y({}, G, K), t = e); R < z && (e = L.charCodeAt(R), ni(e));) ++R, t += String.fromCharCode(e), e === 92 && (t = t.substr(0, t.length - 1), L.charCodeAt(R) !== 117 && Y({}, G, K), ++R, e = ai("u"), (!e || e === "\\" || !ni(e.charCodeAt(0))) && Y({}, G, K), t += e);
1847
- return t;
1848
- }
1849
- function ci() {
1850
- for (var e = R++, t; R < z;) {
1851
- if (t = L.charCodeAt(R), t === 92) return R = e, si();
1852
- if (ni(t)) ++R;
1853
- else break;
1854
- }
1855
- return L.slice(e, R);
1856
- }
1857
- function li() {
1858
- var e = R, t = L.charCodeAt(R) === 92 ? si() : ci();
1859
- return {
1860
- type: t.length === 1 ? V : ri.hasOwnProperty(t) ? H : t === "null" ? wr : t === "true" || t === "false" ? Sr : V,
1861
- value: t,
1862
- start: e,
1863
- end: R
1864
- };
1865
- }
1866
- function ui() {
1867
- var e = R, t = L.charCodeAt(R), n, r = L[R], i, a, o;
1868
- switch (t) {
1869
- case 46:
1870
- case 40:
1871
- case 41:
1872
- case 59:
1873
- case 44:
1874
- case 123:
1875
- case 125:
1876
- case 91:
1877
- case 93:
1878
- case 58:
1879
- case 63:
1880
- case 126: return ++R, {
1881
- type: W,
1882
- value: String.fromCharCode(t),
1883
- start: e,
1884
- end: R
1885
- };
1886
- default: if (n = L.charCodeAt(R + 1), n === 61) switch (t) {
1887
- case 43:
1888
- case 45:
1889
- case 47:
1890
- case 60:
1891
- case 62:
1892
- case 94:
1893
- case 124:
1894
- case 37:
1895
- case 38:
1896
- case 42: return R += 2, {
1897
- type: W,
1898
- value: String.fromCharCode(t) + String.fromCharCode(n),
1899
- start: e,
1900
- end: R
1901
- };
1902
- case 33:
1903
- case 61: return R += 2, L.charCodeAt(R) === 61 && ++R, {
1904
- type: W,
1905
- value: L.slice(e, R),
1906
- start: e,
1907
- end: R
1908
- };
1909
- }
1910
- }
1911
- if (o = L.substr(R, 4), o === ">>>=") return R += 4, {
1912
- type: W,
1913
- value: o,
1914
- start: e,
1915
- end: R
1916
- };
1917
- if (a = o.substr(0, 3), a === ">>>" || a === "<<=" || a === ">>=") return R += 3, {
1918
- type: W,
1919
- value: a,
1920
- start: e,
1921
- end: R
1922
- };
1923
- if (i = a.substr(0, 2), r === i[1] && "+-<>&|".includes(r) || i === "=>") return R += 2, {
1924
- type: W,
1925
- value: i,
1926
- start: e,
1927
- end: R
1928
- };
1929
- if (i === "//" && Y({}, G, K), "<>=!+-*%&|^/".includes(r)) return ++R, {
1930
- type: W,
1931
- value: r,
1932
- start: e,
1933
- end: R
1934
- };
1935
- Y({}, G, K);
1936
- }
1937
- function di(e) {
1938
- let t = "";
1939
- for (; R < z && Zr(L[R]);) t += L[R++];
1940
- return t.length === 0 && Y({}, G, K), ti(L.charCodeAt(R)) && Y({}, G, K), {
1941
- type: U,
1942
- value: parseInt("0x" + t, 16),
1943
- start: e,
1944
- end: R
1945
- };
1946
- }
1947
- function fi(e) {
1948
- let t = "0" + L[R++];
1949
- for (; R < z && Qr(L[R]);) t += L[R++];
1950
- return (ti(L.charCodeAt(R)) || q(L.charCodeAt(R))) && Y({}, G, K), {
1951
- type: U,
1952
- value: parseInt(t, 8),
1953
- octal: !0,
1954
- start: e,
1955
- end: R
1956
- };
1957
- }
1958
- function pi() {
1959
- var e, t, n = L[R];
1960
- if (Xr(q(n.charCodeAt(0)) || n === ".", "Numeric literal must start with a decimal digit or a decimal point"), t = R, e = "", n !== ".") {
1961
- if (e = L[R++], n = L[R], e === "0") {
1962
- if (n === "x" || n === "X") return ++R, di(t);
1963
- if (Qr(n)) return fi(t);
1964
- n && q(n.charCodeAt(0)) && Y({}, G, K);
1965
- }
1966
- for (; q(L.charCodeAt(R));) e += L[R++];
1967
- n = L[R];
1968
- }
1969
- if (n === ".") {
1970
- for (e += L[R++]; q(L.charCodeAt(R));) e += L[R++];
1971
- n = L[R];
1972
- }
1973
- if (n === "e" || n === "E") {
1974
- if (e += L[R++], n = L[R], (n === "+" || n === "-") && (e += L[R++]), q(L.charCodeAt(R))) for (; q(L.charCodeAt(R));) e += L[R++];
1975
- else Y({}, G, K);
1976
- }
1977
- return ti(L.charCodeAt(R)) && Y({}, G, K), {
1978
- type: U,
1979
- value: parseFloat(e),
1980
- start: t,
1981
- end: R
1982
- };
1983
- }
1984
- function mi() {
1985
- var e = "", t, n, r, i, a = !1;
1986
- for (t = L[R], Xr(t === "'" || t === "\"", "String literal must starts with a quote"), n = R, ++R; R < z;) {
1987
- if (r = L[R++], r === t) {
1988
- t = "";
1989
- break;
1990
- }
1991
- if (r === "\\") {
1992
- if (r = L[R++], !r || !ei(r.charCodeAt(0))) switch (r) {
1993
- case "u":
1994
- case "x":
1995
- L[R] === "{" ? (++R, e += oi()) : e += ai(r);
1996
- break;
1997
- case "n":
1998
- e += "\n";
1999
- break;
2000
- case "r":
2001
- e += "\r";
2002
- break;
2003
- case "t":
2004
- e += " ";
2005
- break;
2006
- case "b":
2007
- e += "\b";
2008
- break;
2009
- case "f":
2010
- e += "\f";
2011
- break;
2012
- case "v":
2013
- e += "\v";
2014
- break;
2015
- default: Qr(r) ? (i = "01234567".indexOf(r), i !== 0 && (a = !0), R < z && Qr(L[R]) && (a = !0, i = i * 8 + "01234567".indexOf(L[R++]), "0123".includes(r) && R < z && Qr(L[R]) && (i = i * 8 + "01234567".indexOf(L[R++]))), e += String.fromCharCode(i)) : e += r;
2016
- }
2017
- else r === "\r" && L[R] === "\n" && ++R;
2018
- } else if (ei(r.charCodeAt(0))) break;
2019
- else e += r;
2020
- }
2021
- return t !== "" && Y({}, G, K), {
2022
- type: Tr,
2023
- value: e,
2024
- octal: a,
2025
- start: n,
2026
- end: R
2027
- };
2028
- }
2029
- function hi(e, t) {
2030
- let n = e;
2031
- t.includes("u") && (n = n.replace(/\\u\{([0-9a-fA-F]+)\}/g, (e, t) => {
2032
- if (parseInt(t, 16) <= 1114111) return "x";
2033
- Y({}, Ur);
2034
- }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x"));
2035
- try {
2036
- new RegExp(n);
2037
- } catch {
2038
- Y({}, Ur);
2039
- }
2040
- try {
2041
- return new RegExp(e, t);
2042
- } catch {
2043
- return null;
2044
- }
2045
- }
2046
- function gi() {
2047
- var e = L[R], t, n, r, i;
2048
- for (Xr(e === "/", "Regular expression literal must start with a slash"), t = L[R++], n = !1, r = !1; R < z;) if (e = L[R++], t += e, e === "\\") e = L[R++], ei(e.charCodeAt(0)) && Y({}, Wr), t += e;
2049
- else if (ei(e.charCodeAt(0))) Y({}, Wr);
2050
- else if (n) e === "]" && (n = !1);
2051
- else if (e === "/") {
2052
- r = !0;
2053
- break;
2054
- } else e === "[" && (n = !0);
2055
- return r || Y({}, Wr), i = t.substr(1, t.length - 2), {
2056
- value: i,
2057
- literal: t
2058
- };
2059
- }
2060
- function _i() {
2061
- for (var e, t = "", n = ""; R < z && (e = L[R], ni(e.charCodeAt(0)));) ++R, e === "\\" && R < z ? Y({}, G, K) : (n += e, t += e);
2062
- return n.search(/[^gimuy]/g) >= 0 && Y({}, Ur, n), {
2063
- value: n,
2064
- literal: t
2065
- };
2066
- }
2067
- function vi() {
2068
- var e, t, n, r;
2069
- return B = null, ii(), e = R, t = gi(), n = _i(), r = hi(t.value, n.value), {
2070
- literal: t.literal + n.literal,
2071
- value: r,
2072
- regex: {
2073
- pattern: t.value,
2074
- flags: n.value
2075
- },
2076
- start: e,
2077
- end: R
2078
- };
2079
- }
2080
- function yi(e) {
2081
- return e.type === V || e.type === H || e.type === Sr || e.type === wr;
2082
- }
2083
- function bi() {
2084
- if (ii(), R >= z) return {
2085
- type: Cr,
2086
- start: R,
2087
- end: R
2088
- };
2089
- let e = L.charCodeAt(R);
2090
- return ti(e) ? li() : e === 40 || e === 41 || e === 59 ? ui() : e === 39 || e === 34 ? mi() : e === 46 ? q(L.charCodeAt(R + 1)) ? pi() : ui() : q(e) ? pi() : ui();
2091
- }
2092
- function J() {
2093
- let e = B;
2094
- return R = e.end, B = bi(), R = e.end, e;
2095
- }
2096
- function xi() {
2097
- let e = R;
2098
- B = bi(), R = e;
2099
- }
2100
- function Si(e) {
2101
- let t = new F(Dr);
2102
- return t.elements = e, t;
2103
- }
2104
- function Ci(e, t, n) {
2105
- let r = new F(e === "||" || e === "&&" ? Nr : Or);
2106
- return r.operator = e, r.left = t, r.right = n, r;
2107
- }
2108
- function wi(e, t) {
2109
- let n = new F(kr);
2110
- return n.callee = e, n.arguments = t, n;
2111
- }
2112
- function Ti(e, t, n) {
2113
- let r = new F(Ar);
2114
- return r.test = e, r.consequent = t, r.alternate = n, r;
2115
- }
2116
- function Ei(e) {
2117
- let t = new F(jr);
2118
- return t.name = e, t;
2119
- }
2120
- function Di(e) {
2121
- let t = new F(Mr);
2122
- return t.value = e.value, t.raw = L.slice(e.start, e.end), e.regex && (t.raw === "//" && (t.raw = "/(?:)/"), t.regex = e.regex), t;
2123
- }
2124
- function Oi(e, t, n) {
2125
- let r = new F(Pr);
2126
- return r.computed = e === "[", r.object = t, r.property = n, r.computed || (n.member = !0), r;
2127
- }
2128
- function ki(e) {
2129
- let t = new F(Fr);
2130
- return t.properties = e, t;
2131
- }
2132
- function Ai(e, t, n) {
2133
- let r = new F(Ir);
2134
- return r.key = t, r.value = n, r.kind = e, r;
2135
- }
2136
- function ji(e, t) {
2137
- let n = new F(Lr);
2138
- return n.operator = e, n.argument = t, n.prefix = !0, n;
2139
- }
2140
- function Y(e, t) {
2141
- var n, r = Array.prototype.slice.call(arguments, 2), i = t.replace(/%(\d)/g, (e, t) => (Xr(t < r.length, "Message reference must be in range"), r[t]));
2142
- throw n = Error(i), n.index = R, n.description = i, n;
2143
- }
2144
- function Mi(e) {
2145
- e.type === Cr && Y(e, Hr), e.type === U && Y(e, Rr), e.type === Tr && Y(e, zr), e.type === V && Y(e, Br), e.type === H && Y(e, Vr), Y(e, G, e.value);
2146
- }
2147
- function X(e) {
2148
- let t = J();
2149
- (t.type !== W || t.value !== e) && Mi(t);
2150
- }
2151
- function Z(e) {
2152
- return B.type === W && B.value === e;
2153
- }
2154
- function Ni(e) {
2155
- return B.type === H && B.value === e;
2156
- }
2157
- function Pi() {
2158
- let e = [];
2159
- for (R = B.start, X("["); !Z("]");) Z(",") ? (J(), e.push(null)) : (e.push(Q()), Z("]") || X(","));
2160
- return J(), Si(e);
2161
- }
2162
- function Fi() {
2163
- R = B.start;
2164
- let e = J();
2165
- return e.type === Tr || e.type === U ? (e.octal && Y(e, Gr), Di(e)) : Ei(e.value);
2166
- }
2167
- function Ii() {
2168
- var e, t, n, r;
2169
- if (R = B.start, e = B, e.type === V) return n = Fi(), X(":"), r = Q(), Ai("init", n, r);
2170
- if (e.type === Cr || e.type === W) Mi(e);
2171
- else return t = Fi(), X(":"), r = Q(), Ai("init", t, r);
2172
- }
2173
- function Li() {
2174
- var e = [], t, n, r, i = {}, a = String;
2175
- for (R = B.start, X("{"); !Z("}");) t = Ii(), n = t.key.type === jr ? t.key.name : a(t.key.value), r = "$" + n, Object.prototype.hasOwnProperty.call(i, r) ? Y({}, Kr) : i[r] = !0, e.push(t), Z("}") || X(",");
2176
- return X("}"), ki(e);
2177
- }
2178
- function Ri() {
2179
- X("(");
2180
- let e = Xi();
2181
- return X(")"), e;
2182
- }
2183
- var zi = { if: 1 };
2184
- function Bi() {
2185
- var e, t, n;
2186
- if (Z("(")) return Ri();
2187
- if (Z("[")) return Pi();
2188
- if (Z("{")) return Li();
2189
- if (e = B.type, R = B.start, e === V || zi[B.value]) n = Ei(J().value);
2190
- else if (e === Tr || e === U) B.octal && Y(B, Gr), n = Di(J());
2191
- else if (e === H) throw Error(qr);
2192
- else e === Sr ? (t = J(), t.value = t.value === "true", n = Di(t)) : e === wr ? (t = J(), t.value = null, n = Di(t)) : Z("/") || Z("/=") ? (n = Di(vi()), xi()) : Mi(J());
2193
- return n;
2194
- }
2195
- function Vi() {
2196
- let e = [];
2197
- if (X("("), !Z(")")) for (; R < z && (e.push(Q()), !Z(")"));) X(",");
2198
- return X(")"), e;
2199
- }
2200
- function Hi() {
2201
- R = B.start;
2202
- let e = J();
2203
- return yi(e) || Mi(e), Ei(e.value);
2204
- }
2205
- function Ui() {
2206
- return X("."), Hi();
2207
- }
2208
- function Wi() {
2209
- X("[");
2210
- let e = Xi();
2211
- return X("]"), e;
2212
- }
2213
- function Gi() {
2214
- for (var e = Bi(), t, n;;) if (Z(".")) n = Ui(), e = Oi(".", e, n);
2215
- else if (Z("(")) t = Vi(), e = wi(e, t);
2216
- else if (Z("[")) n = Wi(), e = Oi("[", e, n);
2217
- else break;
2218
- return e;
2219
- }
2220
- function Ki() {
2221
- let e = Gi();
2222
- if (B.type === W && (Z("++") || Z("--"))) throw Error(qr);
2223
- return e;
2224
- }
2225
- function qi() {
2226
- var e, t;
2227
- if (B.type !== W && B.type !== H) t = Ki();
2228
- else if (Z("++") || Z("--")) throw Error(qr);
2229
- else if (Z("+") || Z("-") || Z("~") || Z("!")) e = J(), t = qi(), t = ji(e.value, t);
2230
- else if (Ni("delete") || Ni("void") || Ni("typeof")) throw Error(qr);
2231
- else t = Ki();
2232
- return t;
2233
- }
2234
- function Ji(e) {
2235
- let t = 0;
2236
- if (e.type !== W && e.type !== H) return 0;
2237
- switch (e.value) {
2238
- case "||":
2239
- t = 1;
2240
- break;
2241
- case "&&":
2242
- t = 2;
2243
- break;
2244
- case "|":
2245
- t = 3;
2246
- break;
2247
- case "^":
2248
- t = 4;
2249
- break;
2250
- case "&":
2251
- t = 5;
2252
- break;
2253
- case "==":
2254
- case "!=":
2255
- case "===":
2256
- case "!==":
2257
- t = 6;
2258
- break;
2259
- case "<":
2260
- case ">":
2261
- case "<=":
2262
- case ">=":
2263
- case "instanceof":
2264
- case "in":
2265
- t = 7;
2266
- break;
2267
- case "<<":
2268
- case ">>":
2269
- case ">>>":
2270
- t = 8;
2271
- break;
2272
- case "+":
2273
- case "-":
2274
- t = 9;
2275
- break;
2276
- case "*":
2277
- case "/":
2278
- case "%": t = 11;
2279
- }
2280
- return t;
2281
- }
2282
- function Yi() {
2283
- var e = B, t, n, r, i, a, o, s, c = qi(), l;
2284
- if (r = B, i = Ji(r), i === 0) return c;
2285
- for (r.prec = i, J(), t = [e, B], o = qi(), a = [
2286
- c,
2287
- r,
2288
- o
2289
- ]; (i = Ji(B)) > 0;) {
2290
- for (; a.length > 2 && i <= a[a.length - 2].prec;) o = a.pop(), s = a.pop().value, c = a.pop(), t.pop(), n = Ci(s, c, o), a.push(n);
2291
- r = J(), r.prec = i, a.push(r), t.push(B), n = qi(), a.push(n);
2292
- }
2293
- for (l = a.length - 1, n = a[l], t.pop(); l > 1;) t.pop(), n = Ci(a[l - 1].value, a[l - 2], n), l -= 2;
2294
- return n;
2295
- }
2296
- function Q() {
2297
- var e = Yi(), t, n;
2298
- return Z("?") && (J(), t = Q(), X(":"), n = Q(), e = Ti(e, t, n)), e;
2299
- }
2300
- function Xi() {
2301
- let e = Q();
2302
- if (Z(",")) throw Error(qr);
2303
- return e;
2304
- }
2305
- function Zi(e) {
2306
- L = e, R = 0, z = L.length, B = null, xi();
2307
- let t = Xi();
2308
- if (B.type !== Cr) throw Error("Unexpect token after expression.");
2309
- return t;
2310
- }
2311
- var Qi = {
2312
- NaN: "NaN",
2313
- E: "Math.E",
2314
- LN2: "Math.LN2",
2315
- LN10: "Math.LN10",
2316
- LOG2E: "Math.LOG2E",
2317
- LOG10E: "Math.LOG10E",
2318
- PI: "Math.PI",
2319
- SQRT1_2: "Math.SQRT1_2",
2320
- SQRT2: "Math.SQRT2",
2321
- MIN_VALUE: "Number.MIN_VALUE",
2322
- MAX_VALUE: "Number.MAX_VALUE"
2323
- };
2324
- function $i(e) {
2325
- function t(t, n, r, i) {
2326
- let a = e(n[0]);
2327
- return r && (a = r + "(" + a + ")", r.lastIndexOf("new ", 0) === 0 && (a = "(" + a + ")")), a + "." + t + (i < 0 ? "" : i === 0 ? "()" : "(" + n.slice(1).map(e).join(",") + ")");
2328
- }
2329
- function n(e, n, r) {
2330
- return (i) => t(e, i, n, r);
2331
- }
2332
- let r = "new Date", i = "String", a = "RegExp";
2333
- return {
2334
- isNaN: "Number.isNaN",
2335
- isFinite: "Number.isFinite",
2336
- abs: "Math.abs",
2337
- acos: "Math.acos",
2338
- asin: "Math.asin",
2339
- atan: "Math.atan",
2340
- atan2: "Math.atan2",
2341
- ceil: "Math.ceil",
2342
- cos: "Math.cos",
2343
- exp: "Math.exp",
2344
- floor: "Math.floor",
2345
- hypot: "Math.hypot",
2346
- log: "Math.log",
2347
- max: "Math.max",
2348
- min: "Math.min",
2349
- pow: "Math.pow",
2350
- random: "Math.random",
2351
- round: "Math.round",
2352
- sin: "Math.sin",
2353
- sqrt: "Math.sqrt",
2354
- tan: "Math.tan",
2355
- clamp: function(t) {
2356
- t.length < 3 && P("Missing arguments to clamp function."), t.length > 3 && P("Too many arguments to clamp function.");
2357
- let n = t.map(e);
2358
- return "Math.max(" + n[1] + ", Math.min(" + n[2] + "," + n[0] + "))";
2359
- },
2360
- now: "Date.now",
2361
- utc: "Date.UTC",
2362
- datetime: r,
2363
- date: n("getDate", r, 0),
2364
- day: n("getDay", r, 0),
2365
- year: n("getFullYear", r, 0),
2366
- month: n("getMonth", r, 0),
2367
- hours: n("getHours", r, 0),
2368
- minutes: n("getMinutes", r, 0),
2369
- seconds: n("getSeconds", r, 0),
2370
- milliseconds: n("getMilliseconds", r, 0),
2371
- time: n("getTime", r, 0),
2372
- timezoneoffset: n("getTimezoneOffset", r, 0),
2373
- utcdate: n("getUTCDate", r, 0),
2374
- utcday: n("getUTCDay", r, 0),
2375
- utcyear: n("getUTCFullYear", r, 0),
2376
- utcmonth: n("getUTCMonth", r, 0),
2377
- utchours: n("getUTCHours", r, 0),
2378
- utcminutes: n("getUTCMinutes", r, 0),
2379
- utcseconds: n("getUTCSeconds", r, 0),
2380
- utcmilliseconds: n("getUTCMilliseconds", r, 0),
2381
- length: n("length", null, -1),
2382
- parseFloat: "parseFloat",
2383
- parseInt: "parseInt",
2384
- upper: n("toUpperCase", i, 0),
2385
- lower: n("toLowerCase", i, 0),
2386
- substring: n("substring", i),
2387
- split: n("split", i),
2388
- trim: n("trim", i, 0),
2389
- btoa: "btoa",
2390
- atob: "atob",
2391
- encodeURIComponent: "encodeURIComponent",
2392
- regexp: a,
2393
- test: n("test", a),
2394
- if: function(t) {
2395
- t.length < 3 && P("Missing arguments to if function."), t.length > 3 && P("Too many arguments to if function.");
2396
- let n = t.map(e);
2397
- return "(" + n[0] + "?" + n[1] + ":" + n[2] + ")";
2398
- }
2399
- };
2400
- }
2401
- function ea(e) {
2402
- let t = e && e.length - 1;
2403
- return t && (e[0] === "\"" && e[t] === "\"" || e[0] === "'" && e[t] === "'") ? e.slice(1, -1) : e;
2404
- }
2405
- function ta(e) {
2406
- e ||= {};
2407
- let t = e.allowed ? cr(e.allowed) : {}, n = e.forbidden ? cr(e.forbidden) : {}, r = e.constants || Qi, i = (e.functions || $i)(d), a = e.globalvar, o = e.fieldvar, s = ar(a) ? a : (e) => `${a}["${e}"]`, c = {}, l = {}, u = 0;
2408
- function d(e) {
2409
- if (sr(e)) return e;
2410
- let t = f[e.type];
2411
- return t ?? P("Unsupported type: " + e.type), t(e);
2412
- }
2413
- let f = {
2414
- Literal: (e) => e.raw,
2415
- Identifier: (e) => {
2416
- let i = e.name;
2417
- return u > 0 ? i : or(n, i) ? P("Illegal identifier: " + i) : or(r, i) ? r[i] : or(t, i) ? i : (c[i] = 1, s(i));
2418
- },
2419
- MemberExpression: (e) => {
2420
- let t = !e.computed, n = d(e.object);
2421
- t && (u += 1);
2422
- let r = d(e.property);
2423
- return n === o && (l[ea(r)] = 1), t && --u, n + (t ? "." + r : "[" + r + "]");
2424
- },
2425
- CallExpression: (e) => {
2426
- e.callee.type !== "Identifier" && P("Illegal callee type: " + e.callee.type);
2427
- let t = e.callee.name, n = e.arguments, r = or(i, t) && i[t];
2428
- return r || P("Unrecognized function: " + t), ar(r) ? r(n) : r + "(" + n.map(d).join(",") + ")";
2429
- },
2430
- ArrayExpression: (e) => "[" + e.elements.map(d).join(",") + "]",
2431
- BinaryExpression: (e) => "(" + d(e.left) + " " + e.operator + " " + d(e.right) + ")",
2432
- UnaryExpression: (e) => "(" + e.operator + d(e.argument) + ")",
2433
- ConditionalExpression: (e) => "(" + d(e.test) + "?" + d(e.consequent) + ":" + d(e.alternate) + ")",
2434
- LogicalExpression: (e) => "(" + d(e.left) + e.operator + d(e.right) + ")",
2435
- ObjectExpression: (e) => {
2436
- for (let t of e.properties) {
2437
- let e = t.key.type === "Literal" ? String(t.key.value) : t.key.name;
2438
- ir.has(e) && P("Illegal property: " + e);
2439
- }
2440
- return "{" + e.properties.map(d).join(",") + "}";
2441
- },
2442
- Property: (e) => {
2443
- u += 1;
2444
- let t = d(e.key);
2445
- return --u, t + ":" + d(e.value);
2446
- }
2447
- };
2448
- function p(e) {
2449
- let t = {
2450
- code: d(e),
2451
- globals: Object.keys(c),
2452
- fields: Object.keys(l)
2453
- };
2454
- return c = {}, l = {}, t;
2455
- }
2456
- return p.functions = i, p.constants = r, p;
2457
- }
2458
- //#endregion
2459
- //#region ../core/src/utils/smoothstep.js
2460
- function na(e, t, n) {
2461
- return n = (n - e) / (t - e), n = Math.max(0, Math.min(1, n)), n * n * (3 - 2 * n);
2462
- }
2463
- //#endregion
2464
- //#region ../core/src/utils/clamp.js
2465
- function ra(e, t = 0, n = 1) {
2466
- return Math.max(t, Math.min(n, e));
2467
- }
2468
- //#endregion
2469
- //#region ../core/src/utils/linearstep.js
2470
- function ia(e, t, n) {
2471
- return ra((n - e) / (t - e), 0, 1);
2472
- }
2473
- //#endregion
2474
- //#region ../core/src/genome/indexGapMapping.js
2475
- function aa(e, t, n = !1) {
2476
- let r = 0, i = e.length;
2477
- for (; r < i;) {
2478
- let a = r + i >>> 1;
2479
- e[a] < t || !n && e[a] === t ? r = a + 1 : i = a;
2480
- }
2481
- return r;
2482
- }
2483
- var oa = /* @__PURE__ */ new WeakSet();
2484
- function sa(e) {
2485
- if (e && oa.has(e)) return e;
2486
- let t = Array.from(new Set(e ?? [])).sort((e, t) => e - t);
2487
- if (t.some((e) => !Number.isSafeInteger(e) || e < 0 || e >= 2 ** 44)) throw Error("Gap positions must be integers in [0, 2^44).");
2488
- return oa.add(t), Object.freeze(t);
2489
- }
2490
- function ca(e = {}) {
2491
- return e.gapWidth !== 0 && e.gapWidth !== null && e.gapPositions != null && !(Array.isArray(e.gapPositions) && e.gapPositions.length === 0);
2492
- }
2493
- function la(e) {
2494
- return e.gapWidth > 0 && e.gapPositions.length > 0;
2495
- }
2496
- function ua(e) {
2497
- let t = (t) => {
2498
- let n = e[t]?.scale;
2499
- return !!n && ca(n.props);
2500
- };
2501
- return Number(t("x")) | Number(t("y")) << 1;
2502
- }
2503
- function da({ domain: e, range: t, cuts: n, width: r, ranks: i, paddingInner: a, paddingOuter: o, align: s }) {
2504
- let c = e[1] - e[0], l = t[1] - t[0], u = Math.sign(l), d = i?.[0] ?? aa(n, e[0]), f = i?.[1] ?? aa(n, e[1], !0), p = Math.abs(l) > r * (f - d), m = p ? r : 0, h = m * u, g = l - h * (f - d), _ = g / Math.max(i ? 2 ** -52 : 1, c - a + 2 * o), v = t[0] + (g - _ * (c - a)) * s;
2505
- function y(t, r = 0, i = !1) {
2506
- if (!p) return NaN;
2507
- let o = Math.floor(t);
2508
- return v + (o - e[0]) * _ + h * (aa(n, o, i) - d) + _ * (1 - a) * r;
2509
- }
2510
- function b(t, r = _, i = v) {
2511
- let a = (t - i) * u, o = r * u;
2512
- if (o === 0) return {
2513
- value: e[0],
2514
- rank: d
2515
- };
2516
- let s = 0, c = n.length;
2517
- for (; s < c;) {
2518
- let t = s + c >>> 1;
2519
- (n[t] - e[0]) * o + m * (t + 1 - d) < a ? s = t + 1 : c = t;
2520
- }
2521
- if (s < n.length && m > 0) {
2522
- let t = (n[s] - e[0]) * o + m * (s - d);
2523
- if (a >= t) return {
2524
- value: n[s],
2525
- rank: s + (a - t) / m
2526
- };
2527
- }
2528
- return {
2529
- value: e[0] + (a - m * (s - d)) / o,
2530
- rank: s
2531
- };
2532
- }
2533
- function ee(t, n, r) {
2534
- let i = b(n), s = Math.abs(l) / Math.max(1, 1 - a + 2 * o), c = u * Math.min(s, Math.abs(_) / t);
2535
- return te(c, n - c * (i.value - e[0]) - h * (i.rank - d) + r * l);
2536
- }
2537
- function te(e, n) {
2538
- let r = b(t[0] + e * 2 * o * s, e, n), i = b(t[1] + e * (a - 2 * o * (1 - s)), e, n);
2539
- return {
2540
- domain: [r.value, i.value],
2541
- ranks: [r.rank, i.rank]
2542
- };
2543
- }
2544
- function x(t, n) {
2545
- let r = Math.log(t.step / _), i = _ * Math.exp(n * r), a = r === 0 ? n : Math.expm1(n * r) / Math.expm1(r), o = t.start + (e[0] - t.domainStart) * t.step + h * (d - t.firstRank);
2546
- return te(i, v + a * (o - v));
2547
- }
2548
- return {
2549
- fits: p,
2550
- position: y,
2551
- invertPoint: b,
2552
- navigate: ee,
2553
- interpolate: x,
2554
- domainStart: e[0],
2555
- step: _,
2556
- start: v,
2557
- firstRank: d,
2558
- lastRank: f,
2559
- gap: h
2560
- };
2561
- }
2562
- //#endregion
2563
- //#region ../core/src/utils/expression.js
2564
- function fa(e) {
2565
- return u(e) || ArrayBuffer.isView(e) ? e : null;
2566
- }
2567
- function pa(e) {
2568
- return fa(e) || (w(e) ? e : null);
2569
- }
2570
- var ma = {
2571
- clamp: ra,
2572
- tickStep: Me,
2573
- format(e, t) {
2574
- return Qe(t)(e);
2575
- },
2576
- join(e, t) {
2577
- return fa(e).join(t);
2578
- },
2579
- indexof(e, t, n) {
2580
- return pa(e).indexOf(t, n);
2581
- },
2582
- inrange: pe,
2583
- lastindexof(e, t, n) {
2584
- return pa(e).lastIndexOf(t, n);
2585
- },
2586
- reverse(e) {
2587
- return w(e) ? Array.from(e).reverse().join("") : fa(e).slice().reverse();
2588
- },
2589
- slice(e, t, n) {
2590
- return pa(e).slice(t, n);
2591
- },
2592
- mapHasKey(e, t) {
2593
- return e.has(t);
2594
- },
2595
- isArray: u,
2596
- isBoolean: me,
2597
- isDefined(e) {
2598
- return e !== void 0;
2599
- },
2600
- isNumber: he,
2601
- isObject: d,
2602
- isRegExp: ge,
2603
- isString: w,
2604
- isValid(e) {
2605
- return e != null && e === e;
2606
- },
2607
- lerp: _e,
2608
- linearstep: ia,
2609
- replace(e, t, n) {
2610
- return String(e).replace(t, n);
2611
- },
2612
- sort(e) {
2613
- return fa(e).slice().sort(le);
2614
- },
2615
- center(e) {
2616
- let t = fa(e);
2617
- return (t[0] + t[t.length - 1]) / 2;
2618
- },
2619
- span(e) {
2620
- return ve(e);
2621
- },
2622
- smoothstep: na
2623
- };
2624
- function ha(e, t) {
2625
- let n = !1, r = Ca(e, {}, {
2626
- specLocation: t,
2627
- resolveScaleResolution: () => (n = !0, {
2628
- channel: "analysis",
2629
- getDomainRef: () => void 0,
2630
- getMappingRef: () => void 0,
2631
- getConfigurationRef: () => void 0,
2632
- getZoomLevelRef: () => void 0
2633
- })
2634
- });
2635
- return {
2636
- usesScaleHelper: n,
2637
- globals: r.globals
2638
- };
2639
- }
2640
- function ga(e, t) {
2641
- let n = $i(e);
2642
- for (let e in ma) n[e] = `this.${e}`;
2643
- for (let r of [
2644
- "scale",
2645
- "invert",
2646
- "domain",
2647
- "range",
2648
- "bandwidth",
2649
- "bandstep",
2650
- "linearize",
2651
- "zoomLevel"
2652
- ]) n[r] = (n) => _a(e, t, r, n);
2653
- return n;
2654
- }
2655
- function _a(e, t, n, r) {
2656
- if (n === "zoomLevel" && r.length === 0) {
2657
- let e = [];
2658
- for (let r of ["x", "y"]) {
2659
- let i = t.resolveScaleResolution?.(r);
2660
- if (i) {
2661
- let a = t.getScaleHelper(n, r, i);
2662
- e.push(`${t.globalvar}["${a.codeName}"]()`);
2663
- }
2664
- }
2665
- return `Math.sqrt(${e.join("*") || "1"})`;
2666
- }
2667
- if (r.length === 0) throw Error(`Scale helper "${n}" requires a literal channel name.`);
2668
- if ((n === "scale" || n === "invert" || n === "linearize") && r.length < 2) throw Error(`Scale helper "${n}" requires a channel name and a value.`);
2669
- if (n === "zoomLevel" && r.length > 1) throw Error("Scale helper \"zoomLevel\" accepts zero arguments or one literal channel name.");
2670
- if (n === "bandstep" && r.length > 2) throw Error("Scale helper \"bandstep\" accepts a channel and an optional pixel extent.");
2671
- let i = va(r[0]);
2672
- if (!i) throw Error(`Scale helper "${n}" requires a literal channel name.`);
2673
- let a = t.resolveScaleResolution?.(i);
2674
- if (!a) throw Error(`Unknown scale channel "${i}" in expression helper "${n}".`);
2675
- let o = t.getScaleHelper(n, i, a), s = r.slice(1).map((t) => e(t)).join(",");
2676
- return `${t.globalvar}["${o.codeName}"](${s})`;
2677
- }
2678
- function va(e) {
2679
- return e?.type === "Literal" && typeof e.value == "string" ? e.value : void 0;
2680
- }
2681
- function ya(e, t) {
2682
- let n = (n) => xa(t, e, n);
2683
- if (e === "domain") return () => n(() => t.getDomain());
2684
- if (e === "range") return () => n(() => t.getScale().range());
2685
- if (e === "bandwidth") return () => n(() => {
2686
- let e = t.getScale();
2687
- if (typeof e.bandwidth != "function") throw Error(`Scale channel "${t.channel}" does not support bandwidth().`);
2688
- return e.bandwidth();
2689
- });
2690
- if (e === "bandstep") return (e) => n(() => {
2691
- let n = t.getScale();
2692
- if (typeof n.step != "function") throw Error(`Scale channel "${t.channel}" does not support bandstep().`);
2693
- if (e !== void 0 && (!Number.isFinite(e) || e < 0)) throw Error("bandstep() extent must be finite and nonnegative.");
2694
- if (ca(n.props) && e === void 0) throw Error("bandstep() requires a pixel extent for a scale with grouping gaps.");
2695
- if (e === 0) return 0;
2696
- let r = n.gapMapping?.(e)?.step ?? n.step(), i = n.range();
2697
- return Math.sign(i[i.length - 1] - i[0]) * Math.abs(r);
2698
- });
2699
- if (e === "scale") return (e) => n(() => t.getScale()(e));
2700
- if (e === "invert") return (e) => n(() => t.getScale().invert(e));
2701
- if (e === "linearize") return (e) => n(() => e == null ? null : typeof t.fromComplex == "function" ? t.fromComplex(e) : e);
2702
- if (e === "zoomLevel") return () => n(() => t.getZoomLevel());
2703
- throw Error("Unknown scale helper: " + e);
2704
- }
2705
- var ba = /* @__PURE__ */ new WeakSet();
2706
- function xa(e, t, n) {
2707
- if (ba.has(e)) throw Error(`Scale helper cycle detected while evaluating ${t}("${e.channel}").`);
2708
- ba.add(e);
2709
- try {
2710
- return n();
2711
- } finally {
2712
- ba.delete(e);
2713
- }
2714
- }
2715
- function Sa(e, t) {
2716
- return e === "domain" ? t.getDomainRef() : e === "linearize" ? t.getConfigurationRef() : e === "zoomLevel" ? t.getZoomLevelRef() : t.getMappingRef();
2717
- }
2718
- function Ca(e, t = {}, n = {}) {
2719
- try {
2720
- let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = 1, s = {
2721
- ...n,
2722
- globalvar: "globalObject",
2723
- globalObject: t,
2724
- getScaleHelper(e, n, s) {
2725
- let c = e + ":" + n, l = i.get(c);
2726
- if (l) return l;
2727
- let u = r.get(c);
2728
- u || (u = Sa(e, s), r.set(c, u));
2729
- let d = "__scale_helper_" + o++, f = {
2730
- codeName: d,
2731
- dependency: u
2732
- };
2733
- return i.set(c, f), e === "zoomLevel" && a.add(s), t[d] = ya(e, s), f;
2734
- }
2735
- }, c = ta({
2736
- forbidden: [],
2737
- allowed: ["datum", "undefined"],
2738
- globalvar: "globalObject",
2739
- fieldvar: "datum",
2740
- functions: (e) => ga(e, s)
2741
- }), l = Zi(e), u = /* @__PURE__ */ new Set();
2742
- l.visit((e) => {
2743
- e.type === "MemberExpression" && e.object.type === "Identifier" && e.object.name === "datum" && (!e.computed && e.property.type === "Identifier" ? u.add(e.property.name) : e.computed && e.property.type === "Literal" && (typeof e.property.value == "string" || typeof e.property.value == "number") && u.add(String(e.property.value)));
2744
- });
2745
- let d = c(l), f = mt(`try {
2746
- return (${d.code});
2747
- } catch (e) {
2748
- throw new Error("Error evaluating expression: " + ${JSON.stringify(e)} + ", " + e.message, e);
2749
- }`, u, n.specLocation, ma), p = f(t);
2750
- return p.createEvaluator = f, p.fields = d.fields, p.globals = d.globals, p.code = d.code, p.scaleDependencies = Array.from(new Set(r.values())), p.zoomLevelResolutions = Array.from(a), p;
2751
- } catch (t) {
2752
- throw ft(Error(`Invalid expression: ${e}, ${t.message}`, { cause: t }), n.specLocation);
2753
- }
2754
- }
2755
- var wa = ta({
2756
- forbidden: [],
2757
- allowed: ["event"],
2758
- globalvar: "globalObject"
2759
- });
2760
- function Ta(e, t) {
2761
- try {
2762
- let t = wa(Zi(e));
2763
- return Function("event", "globalObject", `"use strict";
2764
- try {
2765
- return !!(${t.code});
2766
- } catch (e) {
2767
- throw new Error("Error evaluating expression: " + ${JSON.stringify(e)} + ", " + e.message, e);
2768
- }`);
2769
- } catch (n) {
2770
- throw ft(Error(`Invalid expression: ${e}, ${n.message}`, { cause: n }), t);
2771
- }
2772
- }
2773
- //#endregion
2774
- //#region ../core/src/utils/interactionConfig.js
2775
- function Ea(e) {
2776
- if (typeof e == "string") {
2777
- let t = e.match(/^([a-zA-Z]+)(?:\[(.+)\])?$/);
2778
- if (!t) throw Error(`Invalid event type string: ${e}`);
2779
- let [, n, r] = t, i = { type: n };
2780
- return r && (i.filter = r), i;
2781
- }
2782
- return e;
2783
- }
2784
- function Da(e, t) {
2785
- return e?.filter ? Ta(e.filter, t) : () => !0;
2786
- }
2787
- function Oa(e, t, n) {
2788
- return e.getSpecLocation(t, [n, ...typeof t?.[n] == "object" ? ["filter"] : []]);
2789
- }
2790
- function ka(e, t, n) {
2791
- if (!t.includes(e.type)) throw Error(n);
2792
- return e;
2793
- }
2794
- //#endregion
2795
- //#region ../core/src/selection/selection.js
2796
- function Aa(e) {
2797
- return {
2798
- type: "single",
2799
- datum: e,
2800
- uniqueId: e?.[E]
2801
- };
2802
- }
2803
- function ja(e) {
2804
- return e ??= [], {
2805
- type: "multi",
2806
- data: new Map(e.map((e) => [e[E], e]))
2807
- };
2808
- }
2809
- function Ma(e, t) {
2810
- if (!t || t.length === 0) return;
2811
- let n = t.map((e) => T(e)), r = (e) => n.map((t) => t(e));
2812
- if (Va(e)) return e.datum ? [r(e.datum)] : [];
2813
- if (Ha(e)) return [...e.data.values()].map(r);
2814
- throw Error(`Expected a point selection, got: ${JSON.stringify(e)}`);
2815
- }
2816
- function Na(e, t, n, r) {
2817
- if (!t || t.length === 0) return;
2818
- if (e === "single" && n.length > 1) throw Error("Single point selections expect at most one key tuple.");
2819
- let i = [], a = [];
2820
- for (let e of n) {
2821
- let n = r(t, e);
2822
- n ? i.push(n) : a.push(e);
2823
- }
2824
- return {
2825
- selection: e === "single" ? Aa(i[0] ?? null) : ja(i),
2826
- unresolved: a
2827
- };
2828
- }
2829
- function Pa(e) {
2830
- return {
2831
- type: "interval",
2832
- intervals: Object.fromEntries(e.map((e) => [e, null]))
2833
- };
2834
- }
2835
- function Fa(e, { add: t, remove: n, toggle: r }) {
2836
- let i = e.data;
2837
- for (let e of t ?? []) i.set(e[E], e);
2838
- for (let e of n ?? []) i.delete(e[E]);
2839
- for (let e of r ?? []) {
2840
- let t = e[E];
2841
- i.has(t) ? i.delete(t) : i.set(t, e);
2842
- }
2843
- return {
2844
- type: "multi",
2845
- data: i
2846
- };
2847
- }
2848
- function Ia(e, t) {
2849
- let n = !!(e.empty ?? !0), r = eo(e.param), i = e.fields ?? {};
2850
- if (Va(t)) return `${r}.uniqueId == null ? ${n} : ${r}.uniqueId === datum[${JSON.stringify(E)}]`;
2851
- if (Ha(t)) return `${r}.data.size == 0 ? ${n} : mapHasKey(${r}.data, datum[${JSON.stringify(E)}])`;
2852
- if (Ba(t)) {
2853
- let a = Object.keys(t.intervals), o = Object.keys(i).filter(Rn);
2854
- if (o.length === 0) throw Error("Filtering using interval selections requires at least one primary positional channel in the config! " + JSON.stringify(e));
2855
- if (o.some((e) => !a.includes(e))) throw Error(`Selection channels (${a.join(", ")}) do not match the fields: ${JSON.stringify(e)}!`);
2856
- let s = (e) => `datum[${JSON.stringify(e)}]`;
2857
- return a.map((e) => {
2858
- let t = Kn(e), a = i[e], o = i[t] ?? i[e], c = `${r}.intervals.${e}[0] <= ${s(o)}`, l = `${s(a)} <= ${r}.intervals.${e}[1]`, u = `${r}.intervals.${e}[0] < ${r}.intervals.${e}[1]`;
2859
- return `(${r}.intervals.${e} ? (${u} && ${c} && ${l}) : ${n})`;
2860
- }).join(" && ");
2861
- }
2862
- throw Error(`Unrecognized selection type : ${JSON.stringify(t)}`);
2863
- }
2864
- function La(e) {
2865
- if ("param" in e || "test" in e) return bt(e);
2866
- }
2867
- function Ra(e) {
2868
- return e?.selection ? xt(e.selection) : [];
2869
- }
2870
- function za(e) {
2871
- let t = Object.values(e).flatMap((e) => e.branches.flatMap(({ predicate: e }) => e.selection ? [e.selection] : [])), n = /* @__PURE__ */ new Set();
2872
- return t.filter((e) => {
2873
- let t = JSON.stringify(e);
2874
- return !n.has(t) && (n.add(t), !0);
2875
- });
2876
- }
2877
- function Ba(e) {
2878
- return e.type === "interval";
2879
- }
2880
- function Va(e) {
2881
- return e.type === "single";
2882
- }
2883
- function Ha(e) {
2884
- return e.type === "multi";
2885
- }
2886
- function Ua(e) {
2887
- let t = typeof e == "string" ? { type: e } : { ...e };
2888
- return t.on = t.on ? Ea(t.on) : Wa(t) ? { type: "click" } : void 0, t.clear = t.clear === !1 ? void 0 : t.clear === !0 || t.clear == null ? { type: "dblclick" } : Ea(t.clear), Wa(t) && t.on.type === "click" && t.toggle === void 0 && (t.toggle = !0), t;
2889
- }
2890
- function Wa(e) {
2891
- return e && e.type == "point";
2892
- }
2893
- function Ga(e) {
2894
- return e && e.type == "interval";
2895
- }
2896
- function Ka(e) {
2897
- if (Va(e)) return e.uniqueId != null;
2898
- if (Ha(e)) return e.data.size > 0;
2899
- if (Ba(e)) return qa(e);
2900
- throw Error(`Unsupported selection type: ${e.type}`);
2901
- }
2902
- function qa(e) {
2903
- return Object.values(e.intervals).some((e) => e && e.length === 2);
2904
- }
2905
- function Ja(e, t) {
2906
- return Object.entries(e.intervals).every(([e, n]) => (e == "x" || e == "y") && n && n[0] < n[1] && n[0] <= t[e] && n[1] >= t[e]);
2907
- }
2908
- //#endregion
2909
- //#region ../core/src/ruler/rulerValue.js
2910
- function Ya(e = ["x"], t = {}) {
2911
- let n = {};
2912
- for (let r of e) n[r] = t[r] ?? null;
2913
- return {
2914
- type: "ruler",
2915
- values: n
2916
- };
2917
- }
2918
- //#endregion
2919
- //#region ../core/src/paramRuntime/paramUtils.js
2920
- function $(e) {
2921
- return typeof e == "object" && !!e && "expr" in e && w(e.expr);
2922
- }
2923
- function Xa(e) {
2924
- if ($(e)) throw Error("ExprRef " + JSON.stringify(e) + " not allowed here. Expected a scalar value.");
2925
- return e;
2926
- }
2927
- function Za(e) {
2928
- return ("expr" in e || "bind" in e) && !("select" in e) && !("ruler" in e);
2929
- }
2930
- function Qa(e) {
2931
- return !("expr" in e || "bind" in e) && "select" in e;
2932
- }
2933
- function $a(e) {
2934
- return !("expr" in e || "bind" in e || "select" in e) && "ruler" in e;
2935
- }
2936
- function eo(e) {
2937
- if (!/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)) throw Error("Invalid parameter name: " + e + ". Must be a valid JavaScript identifier.");
2938
- return e;
2939
- }
2940
- function to(e, t, n) {
2941
- if ("select" in e) {
2942
- let t = Ua(e.select);
2943
- if (Wa(t)) return t.toggle ? ja() : Aa(null);
2944
- if (Ga(t)) {
2945
- if (!t.encodings) throw Error("Interval selection \"" + e.name + "\" must have encodings defined!");
2946
- return Pa(t.encodings);
2947
- }
2948
- throw Error("Unknown selection config for parameter \"" + e.name + "\".");
2949
- }
2950
- if ("ruler" in e) return Ya(e.ruler.encodings, e.value);
2951
- if ("expr" in e) {
2952
- let r = n ?? t?.createExpression(e);
2953
- if (!r) throw Error("Cannot evaluate expression for parameter \"" + e.name + "\".");
2954
- return r(null);
2955
- }
2956
- return "value" in e ? e.value : null;
2957
- }
2958
- function no(e, t, n, r, i = []) {
2959
- let a = { ...t }, o = [];
2960
- for (let [r, i] of Object.entries(t)) if ($(i)) {
2961
- let t = e.createExpression(i), s = o.push({
2962
- key: r,
2963
- fn: t
2964
- }) - 1;
2965
- Object.defineProperty(a, r, {
2966
- enumerable: !0,
2967
- get: n ? () => c.get()[s] : () => t(null)
2968
- });
2969
- } else a[r] = i;
2970
- if (!n) return a;
2971
- for (let { key: t, expr: n } of i) o.push({
2972
- key: t,
2973
- fn: e.createExpression(n)
2974
- });
2975
- if (!o.length) return a;
2976
- let s = Array.from(new Set(o.flatMap(({ fn: e }) => e.dependencies))), c = e.computed("expression properties", s, () => o.map(({ fn: e }) => e(null)), { equals: ro }), l = c.get(), u = e.effect([c], () => {
2977
- let e = c.get(), t = new Set(o.filter((t, n) => l[n] !== e[n]).map(({ key: e }) => e));
2978
- l = e, n(t);
2979
- });
2980
- return r?.(c.dispose), r?.(u), a;
2981
- }
2982
- function ro(e, t) {
2983
- return e.every((e, n) => e === t[n]);
2984
- }
2985
- function io(e, t, n, r) {
2986
- if (!$(t)) return t;
2987
- let i = () => {
2988
- throw Error(n);
2989
- }, a = e.watchExpression ? e.watchExpression(t, i, {
2990
- scopeOwned: !1,
2991
- registerDisposer: r
2992
- }) : e.createExpression(t);
2993
- if (!e.watchExpression) {
2994
- let e = a.subscribe(i);
2995
- r?.(e);
2996
- }
2997
- return a();
2998
- }
2999
- function ao(e) {
3000
- return Object.assign(() => e, {
3001
- dependencies: [],
3002
- subscribe: () => () => void 0,
3003
- invalidate: () => void 0,
3004
- identifier: () => "constant",
3005
- fields: [],
3006
- globals: [],
3007
- code: JSON.stringify(e)
3008
- });
3009
- }
3010
- //#endregion
3011
- //#region ../core/src/utils/specOrigin.js
3012
- var oo = /* @__PURE__ */ new WeakMap();
3013
- function so(e, t, n) {
3014
- let r = oo.get(e);
3015
- return oo.set(t, {
3016
- source: r?.source ?? e,
3017
- path: n ?? r?.path
3018
- }), t;
3019
- }
3020
- function co(e) {
3021
- let t = structuredClone(e);
3022
- function n(e, t) {
3023
- if (e && typeof e == "object" && !oo.has(t)) {
3024
- so(e, t);
3025
- for (let r of Object.keys(e)) n(e[r], t[r]);
3026
- }
3027
- }
3028
- return n(e, t), t;
3029
- }
3030
- function lo(e, t, n) {
3031
- if (!e || !t) return;
3032
- let r = oo.get(e), i = t(r?.source ?? e);
3033
- return i === void 0 ? void 0 : {
3034
- origin: i,
3035
- path: r?.path ?? n
3036
- };
3037
- }
3038
- //#endregion
3039
- //#region ../core/src/view/renderingContext/clipOptions.js
3040
- function uo(e) {
3041
- if (e.clip) return e.clip;
3042
- if (e.clipRect) return {
3043
- rect: e.clipRect,
3044
- clipX: !0,
3045
- clipY: !0
3046
- };
3047
- }
3048
- function fo(e, t) {
3049
- return e === t ? !0 : !e || !t ? !1 : e.clipX === t.clipX && e.clipY === t.clipY && e.rect.equals(t.rect);
3050
- }
3051
- function po(e, t, n) {
3052
- return t || n ? {
3053
- rect: e,
3054
- clipX: t,
3055
- clipY: n
3056
- } : void 0;
3057
- }
3058
- function mo(e, t) {
3059
- return t ? t.clipX && t.clipY ? e.intersect(t.rect) : t.clipX ? e.intersectX(t.rect) : t.clipY ? e.intersectY(t.rect) : e : e;
3060
- }
3061
- function ho(e, t) {
3062
- if (!e) return t;
3063
- if (!t) return e;
3064
- let n = e.clipX || t.clipX, r = e.clipY || t.clipY, i = e.clipX && t.clipX ? e.rect.intersectX(t.rect) : t.clipX ? t.rect : e.rect, a = e.clipY && t.clipY ? e.rect.intersectY(t.rect) : t.clipY ? t.rect : e.rect;
3065
- return po(e.rect.modify({
3066
- x: () => i.x,
3067
- y: () => a.y,
3068
- width: () => i.width,
3069
- height: () => a.height
3070
- }), n, r);
3071
- }
3072
- function go(e, t) {
3073
- if (e === !0) return po(t, !0, !0);
3074
- if (e === "x") return po(t, !0, !1);
3075
- if (e === "y") return po(t, !1, !0);
3076
- }
3077
- function _o(e) {
3078
- let t = !1, n = !0, r = !0, i = !1;
3079
- return e.visit((e) => {
3080
- let a = e.mark;
3081
- if (a) {
3082
- t = !0;
3083
- let e = a.properties.clip;
3084
- n &&= e === !0 || e === "x", r &&= e === !0 || e === "y", i ||= e === !0 || e === "x" || e === "y";
3085
- }
3086
- }), {
3087
- clipX: t && n,
3088
- clipY: t && r,
3089
- all: n && r,
3090
- any: i
3091
- };
3092
- }
3093
- function vo(e, t, n) {
3094
- if (t !== "never") return ho(e, go(t, n));
3095
- }
3096
- //#endregion
3097
- export { ia as $, ct as $t, Ba as A, f as An, zt as At, Fa as B, Ot as Bt, za as C, he as Cn, Rn as Ct, Ma as D, b as Dn, Hn as Dt, Aa as E, _e as En, Pn as Et, Va as F, ne as Fn, nn as Ft, ha as G, Ct as Gt, Da as H, yt as Ht, Ia as I, C as In, Ft as It, aa as J, ht as Jt, Ca as K, vt as Kt, La as L, re as Ln, It as Lt, Ha as M, s as Mn, Rt as Mt, Wa as N, be as Nn, dn as Nt, Ra as O, ee as On, Lt as Ot, Ka as P, S as Pn, rn as Pt, sa as Q, ot as Qt, Na as R, Dt as Rt, Ua as S, oe as Sn, zn as St, ja as T, w as Tn, Cn as Tt, Oa as U, xt as Ut, Ea as V, St as Vt, ka as W, bt as Wt, la as X, ft as Xt, ua as Y, T as Yt, ca as Z, dt as Zt, ao as _, ae as _n, Yn as _t, _o as a, tt as an, kn as at, Xa as b, u as bn, On as bt, co as c, Be as cn, bn as ct, no as d, je as dn, Kn as dt, ut as en, ra as et, to as f, Me as fn, En as ft, Za as g, t as gn, Tn as gt, Qa as h, ye as hn, Jn as ht, po as i, rt as in, Dn as it, Ga as j, ve as jn, $t as jt, qa as k, te as kn, k as kt, lo as l, Ie as ln, Vn as lt, $a as m, xe as mn, An as mt, fo as n, nt as nn, _n as nt, uo as o, Qe as on, Qn as ot, $ as p, Ae as pn, Xn as pt, da as q, E as qt, ho as r, it as rn, hn as rt, vo as s, $e as sn, yn as st, mo as t, lt as tn, na as tt, so as u, Ne as un, qn as ut, io as v, ce as vn, jn as vt, Pa as w, d as wn, Gn as wt, Ya as x, me as xn, Bn as xt, eo as y, o as yn, wn as yt, Ja as z, Mt as zt };