waveform-analysis 0.1.58 → 0.1.59

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 (44) hide show
  1. package/README.md +9 -6
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +705 -644
  4. package/dist/types/components/WaveformChart.vue.d.ts +2 -0
  5. package/dist/types/components/core/useWaveformChartLifecycle.d.ts +1 -2
  6. package/dist/types/components/core/waveformChartTypes.d.ts +2 -1
  7. package/dist/types/components/data/types.d.ts +1 -1
  8. package/dist/types/components/index.d.ts +1 -1
  9. package/dist/types/components/interaction/useWaveformZoom.d.ts +2 -1
  10. package/dist/types/components/interaction/zoomEventPayload.d.ts +7 -0
  11. package/dist/types/core/rendering.d.ts +1 -1
  12. package/dist/types/core/renderingOptions.d.ts +1 -1
  13. package/dist/types/core/wasmSampling.d.ts +1 -1
  14. package/dist/types/core/workerSampling/multiresolution.d.ts +1 -1
  15. package/dist/types/core/workerSampling/protocol.d.ts +1 -1
  16. package/dist/types/core/workerSampling/repositoryDataset.d.ts +1 -1
  17. package/dist/types/core/workerSampling/repositorySupport.d.ts +1 -1
  18. package/dist/types/index.d.ts +1 -1
  19. package/dist/types/types/chart.d.ts +8 -0
  20. package/dist/types/types/index.d.ts +1 -1
  21. package/dist/types/utils/geometry.d.ts +1 -1
  22. package/dist/types/wasm/waveform_sampling_wasm.d.ts +74 -0
  23. package/dist/types/wasm/waveform_sampling_wasm_bg.wasm.d.ts +19 -0
  24. package/package.json +5 -4
  25. package/src/components/core/useWaveformChartController.ts +6 -1
  26. package/src/components/core/useWaveformChartLifecycle.ts +15 -9
  27. package/src/components/core/waveformChartTypes.ts +2 -0
  28. package/src/components/data/types.ts +1 -0
  29. package/src/components/index.ts +1 -0
  30. package/src/components/interaction/useWaveformViewport.ts +2 -0
  31. package/src/components/interaction/useWaveformZoom.ts +58 -61
  32. package/src/components/interaction/zoomEventPayload.ts +88 -0
  33. package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +213 -0
  34. package/src/core/rendering.ts +1 -1
  35. package/src/core/renderingOptions.ts +1 -1
  36. package/src/core/workerSampling/multiresolution.ts +1 -1
  37. package/src/core/workerSampling/protocol.ts +1 -1
  38. package/src/core/workerSampling/repository.ts +1 -1
  39. package/src/core/workerSampling/repositoryDataset.ts +1 -1
  40. package/src/core/workerSampling/repositorySupport.ts +1 -1
  41. package/src/index.ts +1 -0
  42. package/src/types/chart.ts +9 -0
  43. package/src/types/index.ts +1 -0
  44. package/src/utils/geometry.ts +1 -1
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, openBlock as v, reactive as y, ref as b, renderList as x, shallowReactive as S, shallowRef as C, toDisplayString as w, toRefs as T, unref as E, vModelText as D, watch as O, watchEffect as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
2
- import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as ie, zoom as G, zoomIdentity as K, zoomTransform as q } from "d3";
3
- import { InputNumber as ae, Modal as oe, Pagination as se } from "ant-design-vue";
2
+ import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as G, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, zoom as K, zoomIdentity as q, zoomTransform as J } from "d3";
3
+ import { InputNumber as ie, Modal as ae, Pagination as oe } from "ant-design-vue";
4
4
  //#region src/utils/waveformId.ts
5
- var ce = 0;
6
- function le(e = "waveform") {
5
+ var se = 0;
6
+ function ce(e = "waveform") {
7
7
  let t = u();
8
- return `${e}-${t ? `v${t.uid}` : `f${++ce}`}`;
8
+ return `${e}-${t ? `v${t.uid}` : `f${++se}`}`;
9
9
  }
10
10
  //#endregion
11
11
  //#region src/core/compactSamplePointSource.ts
12
- function ue(e, t, n, r) {
12
+ function le(e, t, n, r) {
13
13
  let i = 0, a = e;
14
14
  for (; i < a;) {
15
15
  let e = i + Math.floor((a - i) / 2);
@@ -17,7 +17,7 @@ function ue(e, t, n, r) {
17
17
  }
18
18
  return i;
19
19
  }
20
- function de(e, t, n, r) {
20
+ function ue(e, t, n, r) {
21
21
  let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
22
22
  x: i(t),
23
23
  y: e[t]
@@ -33,15 +33,15 @@ function de(e, t, n, r) {
33
33
  visibleRange(t) {
34
34
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
35
35
  return {
36
- start: ue(e.length, i, n, !1),
37
- end: ue(e.length, i, r, !0)
36
+ start: le(e.length, i, n, !1),
37
+ end: le(e.length, i, r, !0)
38
38
  };
39
39
  },
40
40
  nearestPoint(t) {
41
41
  if (!Number.isFinite(t) || !e.length) return;
42
42
  if (t <= i(0)) return a(0);
43
43
  if (t >= i(e.length - 1)) return a(e.length - 1);
44
- let n = ue(e.length, i, t, !1), r = Math.max(0, n - 1);
44
+ let n = le(e.length, i, t, !1), r = Math.max(0, n - 1);
45
45
  return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
46
46
  },
47
47
  metrics() {
@@ -68,17 +68,17 @@ function de(e, t, n, r) {
68
68
  }
69
69
  //#endregion
70
70
  //#region src/core/waveformPointSource.ts
71
- function J(e) {
71
+ function Y(e) {
72
72
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
73
73
  }
74
- function fe(e, t, n) {
74
+ function de(e, t, n) {
75
75
  let r = Math.max(0, Math.min(n, Math.floor(e)));
76
76
  return {
77
77
  start: r,
78
78
  end: Math.max(r, Math.min(n, Math.floor(t)))
79
79
  };
80
80
  }
81
- function Y(e, t, n) {
81
+ function fe(e, t, n) {
82
82
  let r = 0, i = e;
83
83
  for (; r < i;) {
84
84
  let e = r + Math.floor((i - r) / 2);
@@ -99,7 +99,7 @@ function me(e, t, n) {
99
99
  for (let c = 0; c < e; c += 1) {
100
100
  let e = t(c);
101
101
  if (!e || (r = Math.min(r, e.x), i = Math.max(i, e.x), a = Math.min(a, e.y), o = Math.max(o, e.y), !n)) continue;
102
- let l = J(e.lowerError) ?? J(e.error) ?? 0, u = J(e.upperError) ?? J(e.error) ?? 0;
102
+ let l = Y(e.lowerError) ?? Y(e.error) ?? 0, u = Y(e.upperError) ?? Y(e.error) ?? 0;
103
103
  s ||= l !== 0 || u !== 0, a = Math.min(a, e.y - l), o = Math.max(o, e.y + u);
104
104
  }
105
105
  return {
@@ -123,13 +123,13 @@ var he = class {
123
123
  return this.sourcePoints[e];
124
124
  }
125
125
  pointsInRange(e = 0, t = this.length) {
126
- let n = fe(e, t, this.length);
126
+ let n = de(e, t, this.length);
127
127
  return this.sourcePoints.slice(n.start, n.end);
128
128
  }
129
129
  visibleRange(e) {
130
130
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
131
131
  return {
132
- start: Y(this.length, (e) => this.sourcePoints[e].x, t),
132
+ start: fe(this.length, (e) => this.sourcePoints[e].x, t),
133
133
  end: pe(this.length, (e) => this.sourcePoints[e].x, n)
134
134
  };
135
135
  }
@@ -138,7 +138,7 @@ var he = class {
138
138
  let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
139
139
  if (e <= t.x) return t;
140
140
  if (e >= n.x) return n;
141
- let r = Y(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
141
+ let r = fe(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
142
142
  return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
143
143
  }
144
144
  metrics(e = !1) {
@@ -165,7 +165,7 @@ var he = class {
165
165
  }
166
166
  pointAt(e) {
167
167
  if (e < 0 || e >= this.length) return;
168
- let t = J(this.error?.[e]), n = J(this.lowerError?.[e]), r = J(this.upperError?.[e]);
168
+ let t = Y(this.error?.[e]), n = Y(this.lowerError?.[e]), r = Y(this.upperError?.[e]);
169
169
  return {
170
170
  x: this.x[e],
171
171
  y: this.y[e],
@@ -175,14 +175,14 @@ var he = class {
175
175
  };
176
176
  }
177
177
  pointsInRange(e = 0, t = this.length) {
178
- let n = fe(e, t, this.length), r = [];
178
+ let n = de(e, t, this.length), r = [];
179
179
  for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
180
180
  return r;
181
181
  }
182
182
  visibleRange(e) {
183
183
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
184
184
  return {
185
- start: Y(this.length, (e) => this.x[e], t),
185
+ start: fe(this.length, (e) => this.x[e], t),
186
186
  end: pe(this.length, (e) => this.x[e], n)
187
187
  };
188
188
  }
@@ -190,7 +190,7 @@ var he = class {
190
190
  if (!Number.isFinite(e) || !this.length) return;
191
191
  if (e <= this.x[0]) return this.pointAt(0);
192
192
  if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
193
- let t = Y(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
193
+ let t = fe(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
194
194
  return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
195
195
  }
196
196
  metrics(e = !1) {
@@ -198,7 +198,7 @@ var he = class {
198
198
  for (let o = 0; o < this.length; o += 1) {
199
199
  let s = this.x[o], c = this.y[o];
200
200
  if (t = Math.min(t, s), n = Math.max(n, s), r = Math.min(r, c), i = Math.max(i, c), !e) continue;
201
- let l = J(this.lowerError?.[o]) ?? J(this.error?.[o]) ?? 0, u = J(this.upperError?.[o]) ?? J(this.error?.[o]) ?? 0;
201
+ let l = Y(this.lowerError?.[o]) ?? Y(this.error?.[o]) ?? 0, u = Y(this.upperError?.[o]) ?? Y(this.error?.[o]) ?? 0;
202
202
  a ||= l !== 0 || u !== 0, r = Math.min(r, c - l), i = Math.max(i, c + u);
203
203
  }
204
204
  return {
@@ -230,7 +230,7 @@ function ve(e) {
230
230
  return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
231
231
  }
232
232
  function ye(e) {
233
- if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return de(/* @__PURE__ */ new Float64Array(), 1, 0);
233
+ if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return ue(/* @__PURE__ */ new Float64Array(), 1, 0);
234
234
  let t = e.startTime ?? 0, n = 0;
235
235
  for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
236
236
  let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
@@ -238,7 +238,7 @@ function ye(e) {
238
238
  let a = e.values[t];
239
239
  Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
240
240
  }
241
- return de(r, e.sampleRate, t, i);
241
+ return ue(r, e.sampleRate, t, i);
242
242
  }
243
243
  function be(e) {
244
244
  if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
@@ -1529,7 +1529,7 @@ function Xn(e) {
1529
1529
  visibleSeries: [],
1530
1530
  xDomain: [0, 1],
1531
1531
  yDomain: [0, 1]
1532
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? K : K).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1532
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1533
1533
  ...e,
1534
1534
  domain: u
1535
1535
  } : e), f = {
@@ -2129,9 +2129,9 @@ function Er(e, t, n, r) {
2129
2129
  }
2130
2130
  function Dr(e, t, n) {
2131
2131
  let r = t[1] - t[0], i = e[1] - e[0];
2132
- if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return K;
2132
+ if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
2133
2133
  let a = r / i, o = U(t, [0, n]);
2134
- return K.translate(-a * o(e[0]), 0).scale(a);
2134
+ return q.translate(-a * o(e[0]), 0).scale(a);
2135
2135
  }
2136
2136
  //#endregion
2137
2137
  //#region src/components/interaction/viewportDomain.ts
@@ -2155,8 +2155,66 @@ function Or(e) {
2155
2155
  };
2156
2156
  }
2157
2157
  //#endregion
2158
- //#region src/components/interaction/useWaveformViewport.ts
2158
+ //#region src/components/interaction/zoomEventPayload.ts
2159
2159
  function kr(e) {
2160
+ return [...e].sort().join("\0");
2161
+ }
2162
+ function Ar(e, t) {
2163
+ let n = kr(t);
2164
+ return e.find((e) => kr(e.seriesList.map((e) => e.id)) === n);
2165
+ }
2166
+ function jr(e, t, n, r) {
2167
+ e("zoom-intent", r ? {
2168
+ start: t[0],
2169
+ end: t[1],
2170
+ trackIndex: n.index,
2171
+ seriesIds: n.seriesList.map((e) => e.id),
2172
+ gesture: "box"
2173
+ } : {
2174
+ start: t[0],
2175
+ end: t[1],
2176
+ gesture: "box"
2177
+ });
2178
+ }
2179
+ function Mr(e, t, n) {
2180
+ for (let r of n) {
2181
+ let n = Ar(t, r);
2182
+ if (!n) continue;
2183
+ let i = n.xScale.domain(), a = n.yScale.domain();
2184
+ e("zoom-end", {
2185
+ start: i[0],
2186
+ end: i[1],
2187
+ yStart: a[0],
2188
+ yEnd: a[1],
2189
+ trackIndex: n.index,
2190
+ seriesIds: [...r],
2191
+ gesture: "wheel"
2192
+ });
2193
+ }
2194
+ }
2195
+ function Nr(e, t, n) {
2196
+ let r = n.filter((e) => e.hasVisibleSeries);
2197
+ if (r.length === 1) {
2198
+ let n = r[0]?.yScale.domain();
2199
+ e("zoom-end", {
2200
+ start: t[0],
2201
+ end: t[1],
2202
+ yStart: n?.[0],
2203
+ yEnd: n?.[1],
2204
+ gesture: "wheel"
2205
+ });
2206
+ return;
2207
+ }
2208
+ e("zoom-end", {
2209
+ start: t[0],
2210
+ end: t[1],
2211
+ yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
2212
+ gesture: "wheel"
2213
+ });
2214
+ }
2215
+ //#endregion
2216
+ //#region src/components/interaction/useWaveformViewport.ts
2217
+ function Pr(e) {
2160
2218
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
2161
2219
  let n = O.value, r = t?.currentTarget;
2162
2220
  mr(n, e), r && r !== n && mr(r, e);
@@ -2246,6 +2304,7 @@ function kr(e) {
2246
2304
  let e = [...m.value];
2247
2305
  e[t.index] = Dr(h, u, t.width), m.value = e;
2248
2306
  } else p.value = Dr(h, u, l.value);
2307
+ jr(r, h, t, e.independent);
2249
2308
  let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
2250
2309
  if (r("zoom-change", h), e.independent) {
2251
2310
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2304,10 +2363,10 @@ function kr(e) {
2304
2363
  }, V = (e) => {
2305
2364
  if (T(), R(), n.displayMode === "independent" && e !== void 0) {
2306
2365
  let t = [...m.value];
2307
- t[e] = K, m.value = t;
2366
+ t[e] = q, m.value = t;
2308
2367
  let n = { ...g.value };
2309
2368
  delete n[e], g.value = n;
2310
- } else p.value = K, m.value = s.value.map(() => K), h.value = {}, g.value = {};
2369
+ } else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
2311
2370
  E(), y.value = [], f(w);
2312
2371
  };
2313
2372
  return {
@@ -2350,7 +2409,7 @@ function kr(e) {
2350
2409
  }
2351
2410
  //#endregion
2352
2411
  //#region src/components/utils/useAnimationFrameThrottle.ts
2353
- function Ar() {
2412
+ function Fr() {
2354
2413
  let e = null, t = null;
2355
2414
  function n(n) {
2356
2415
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2379,15 +2438,35 @@ function Ar() {
2379
2438
  }
2380
2439
  //#endregion
2381
2440
  //#region src/components/interaction/useWaveformZoom.ts
2382
- function jr(e) {
2383
- let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Ar(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
2384
- y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
2385
- }, A = (e, t) => {
2386
- y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
2441
+ function Ir(e) {
2442
+ let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Fr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2443
+ if (y || m.value) return;
2444
+ g(), b = e.transform, x = "wheel", I();
2445
+ let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
2446
+ n("zoom-intent", {
2447
+ start: t[0],
2448
+ end: t[1],
2449
+ gesture: "wheel"
2450
+ }), k();
2451
+ }, j = (e, t) => {
2452
+ if (y || m.value) return;
2453
+ g(), C.set(t, e.transform), w.set(t, "wheel"), I();
2454
+ let r = s.value.find((e) => e.index === t);
2455
+ if (r) {
2456
+ let i = e.transform.rescaleX(U(h(r), [0, r.width])).domain();
2457
+ n("zoom-intent", {
2458
+ start: i[0],
2459
+ end: i[1],
2460
+ trackIndex: t,
2461
+ seriesIds: r.seriesList.map((e) => e.id),
2462
+ gesture: "wheel"
2463
+ });
2464
+ }
2465
+ k();
2387
2466
  };
2388
- function j() {
2467
+ function M() {
2389
2468
  if (m.value) {
2390
- F();
2469
+ R();
2391
2470
  return;
2392
2471
  }
2393
2472
  if (b) {
@@ -2397,173 +2476,150 @@ function jr(e) {
2397
2476
  n("zoom-change", [t[0], t[1]]);
2398
2477
  }
2399
2478
  if (!C.size) return;
2400
- let e = [...o.value], t = Array.from(C.keys());
2401
- E.clear(), t.forEach((e) => E.add(e)), t.forEach((e) => {
2402
- let t = w.get(e);
2403
- t && T.set(e, t);
2404
- }), C.forEach((t, n) => {
2479
+ let e = [...o.value], t = Array.from(C.keys()), r = new Map(w);
2480
+ C.forEach((t, n) => {
2405
2481
  e[n] = t;
2406
2482
  }), C.clear(), w.clear(), o.value = e;
2407
- let r = new Map(s.value.map((e) => [e.index, e]));
2483
+ let i = new Map(s.value.map((e) => [e.index, e]));
2408
2484
  t.forEach((e) => {
2409
- let t = r.get(e);
2485
+ let t = i.get(e);
2410
2486
  if (!t) return;
2411
- let i = t.xScale.domain();
2412
- n("zoom-change", [i[0], i[1]]);
2487
+ if (r.get(e) === "wheel") {
2488
+ let e = t.seriesList.map((e) => e.id);
2489
+ T.set(kr(e), e);
2490
+ }
2491
+ let a = t.xScale.domain();
2492
+ n("zoom-change", [a[0], a[1]]);
2413
2493
  });
2414
2494
  }
2415
- let M = () => {
2495
+ let N = () => {
2416
2496
  if (t.displayMode === "independent") {
2417
- let e = new Map(s.value.map((e) => [e.index, e]));
2418
- E.forEach((t) => {
2419
- if (T.get(t) !== "wheel") return;
2420
- let r = e.get(t);
2421
- if (!r) return;
2422
- let i = r.xScale.domain(), a = r.yScale.domain();
2423
- n("zoom-end", {
2424
- start: i[0],
2425
- end: i[1],
2426
- yStart: a[0],
2427
- yEnd: a[1],
2428
- trackIndex: t,
2429
- seriesIds: r.seriesList.map((e) => e.id),
2430
- gesture: "wheel"
2431
- });
2432
- }), E.clear(), T.clear();
2497
+ Mr(n, s.value, T.values()), T.clear();
2433
2498
  return;
2434
2499
  }
2435
2500
  if (S !== "wheel") {
2436
2501
  S = null;
2437
2502
  return;
2438
2503
  }
2439
- let e = l.value, r = s.value.filter((e) => e.hasVisibleSeries);
2440
- if (r.length === 1) {
2441
- let t = r[0]?.yScale.domain();
2442
- n("zoom-end", {
2443
- start: e[0],
2444
- end: e[1],
2445
- yStart: t?.[0],
2446
- yEnd: t?.[1],
2447
- gesture: "wheel"
2448
- });
2449
- } else n("zoom-end", {
2450
- start: e[0],
2451
- end: e[1],
2452
- yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
2453
- gesture: "wheel"
2454
- });
2455
- S = null;
2456
- }, N = () => {
2457
- v.flush(), j(), !(S === "wheel" || T.size) && M();
2504
+ Nr(n, l.value, s.value), S = null;
2505
+ }, P = () => {
2506
+ v.flush(), M(), !(S === "wheel" || T.size) && N();
2507
+ }, F = (e) => {
2508
+ e === O && P();
2458
2509
  };
2459
- function P() {
2460
- D !== void 0 && clearTimeout(D), D = setTimeout(() => {
2461
- D = void 0, v.flush(), j(), M();
2510
+ function I() {
2511
+ E !== void 0 && clearTimeout(E), E = setTimeout(() => {
2512
+ E = void 0, v.flush(), M(), N(), D = !1;
2462
2513
  }, 200);
2463
2514
  }
2464
- let F = () => {
2465
- b = null, x = null, S = null, C.clear(), w.clear(), E.clear(), T.clear(), v.cancel(), D !== void 0 && (clearTimeout(D), D = void 0);
2466
- }, I = () => {
2467
- F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
2468
- }, L = (e, n) => {
2515
+ let L = () => {
2516
+ E !== void 0 && (v.flush(), M(), D = !0);
2517
+ }, R = () => {
2518
+ b = null, x = null, S = null, C.clear(), w.clear(), T.clear(), v.cancel(), D = !1, E !== void 0 && (clearTimeout(E), E = void 0);
2519
+ }, z = (e = !1) => {
2520
+ O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
2521
+ }, B = (e, n) => {
2469
2522
  let r = Math.abs(e[1] - e[0]);
2470
2523
  if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2471
2524
  let i = wr(e, n, t);
2472
2525
  return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2473
- }, R = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2526
+ }, V = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2474
2527
  let n = Number(t.minVisiblePoints);
2475
2528
  return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2476
- }, B = () => {
2529
+ }, G = () => {
2477
2530
  let e = s.value.filter((e) => e.hasVisibleSeries);
2478
- return e.length > 0 && e.every(z);
2479
- }, V = (e, t) => {
2531
+ return e.length > 0 && e.every(H);
2532
+ }, ee = (e, t) => {
2480
2533
  if (e.type !== "wheel") return !1;
2481
2534
  let n = e.deltaY;
2482
- return n < 0 ? t : n > 0 && q(e.currentTarget).k > Rt.MIN_SCALE;
2535
+ return n < 0 ? t : n > 0 && J(e.currentTarget).k > Rt.MIN_SCALE;
2483
2536
  };
2484
2537
  return {
2485
- cancelPendingZoom: F,
2486
- clearZoomBindings: I,
2487
- canZoomTrack: z,
2488
- canZoomSharedTracks: B,
2538
+ cancelPendingZoom: R,
2539
+ clearZoomBindings: z,
2540
+ canZoomTrack: H,
2541
+ canZoomSharedTracks: G,
2489
2542
  configureZoom: () => {
2490
- if (I(), m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
2543
+ z(D);
2544
+ let e = O;
2545
+ if (m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
2491
2546
  if (t.displayMode === "independent") {
2492
- s.value.forEach((e) => {
2493
- let t = r.value?.querySelector(`[data-independent-overlay-index="${e.index}"]`);
2494
- if (!t) return;
2495
- let n = h(e), i = [e.seriesList], a = G().filter((t) => {
2496
- let n = s.value.find((t) => t.index === e.index) ?? e;
2497
- return V(t, z(n));
2498
- }).scaleExtent([1, L(n, i)]).constrain((t) => R(t, n, e.width, i)).extent([[0, 0], [e.width, e.height]]).translateExtent([[0, 0], [e.width, e.height]]).on("zoom", (t) => A(t, e.index)).on("end", N);
2499
- _.set(e.index, a), y = !0;
2547
+ s.value.forEach((t) => {
2548
+ let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
2549
+ if (!n) return;
2550
+ let i = h(t), a = [t.seriesList], c = K().filter((e) => {
2551
+ let n = s.value.find((e) => e.index === t.index) ?? t;
2552
+ return ee(e, H(n));
2553
+ }).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
2554
+ _.set(t.index, c), y = !0;
2500
2555
  try {
2501
- W(t).call(a).on("dblclick.zoom", null).call(a.transform, o.value[e.index] ?? K);
2556
+ W(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
2502
2557
  } finally {
2503
2558
  y = !1;
2504
2559
  }
2505
2560
  });
2506
2561
  return;
2507
2562
  }
2508
- let e = i.value;
2509
- if (!e) return;
2510
- let n = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), l = G().filter((e) => V(e, B())).scaleExtent([1, L(c.value, n)]).constrain((e) => R(e, c.value, u.value, n)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", k).on("end", N);
2511
- _.set("shared", l), y = !0;
2563
+ let n = i.value;
2564
+ if (!n) return;
2565
+ let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = K().filter((e) => ee(e, G())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2566
+ _.set("shared", g), y = !0;
2512
2567
  try {
2513
- W(e).call(l).on("dblclick.zoom", null).call(l.transform, a.value);
2568
+ W(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
2514
2569
  } finally {
2515
2570
  y = !1;
2516
2571
  }
2517
- }
2572
+ },
2573
+ prepareForDataChange: L
2518
2574
  };
2519
2575
  }
2520
2576
  //#endregion
2521
2577
  //#region src/components/core/useWaveformChartLifecycle.ts
2522
- function Mr(e) {
2578
+ function Lr(e) {
2523
2579
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2524
2580
  }
2525
- function Nr(e) {
2526
- let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: ee, clearZoomBindings: te } = e;
2527
- function ne(e) {
2528
- z.value || e.code !== "Space" || !t.pannable || !_.value || Mr(e.target) || (m.value = !0, e.preventDefault());
2581
+ function Rr(e) {
2582
+ let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
2583
+ function te(e) {
2584
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Lr(e.target) || (m.value = !0, e.preventDefault());
2529
2585
  }
2530
- function re(e) {
2586
+ function ne(e) {
2531
2587
  e.code === "Space" && (m.value = !1);
2532
2588
  }
2533
- function ie(e) {
2589
+ function re(e) {
2534
2590
  let r = Math.min(y.value, Math.max(1, Math.floor(e)));
2535
- r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => K), F.value = {}), f(H), n("page-change", r, y.value));
2591
+ r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => q), F.value = {}), f(H), n("page-change", r, y.value));
2536
2592
  }
2537
- let G, q;
2538
- function ae() {
2593
+ let K, J;
2594
+ function ie() {
2539
2595
  if (t.displayMode === "independent") {
2540
- G = void 0, q = w.value.map((e) => {
2596
+ K = void 0, J = new Map(w.value.flatMap((e) => {
2541
2597
  let t = e.xScale.domain(), n = I(e);
2542
- return t[1] - t[0] < n[1] - n[0] - 1e-12 ? t : void 0;
2543
- });
2598
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[kr(e.seriesList.map((e) => e.id)), t]] : [];
2599
+ }));
2544
2600
  return;
2545
2601
  }
2546
- q = void 0;
2602
+ J = void 0;
2547
2603
  let e = D.value, n = k.value;
2548
- G = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
2604
+ K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
2549
2605
  }
2550
- function oe() {
2606
+ function ae() {
2551
2607
  if (t.displayMode === "independent") {
2552
2608
  let e = P.value;
2553
- P.value = C.value.map((t, n) => e[n] ?? K);
2609
+ P.value = C.value.map((t, n) => e[n] ?? q);
2554
2610
  }
2555
2611
  B(), R.value = [], f(() => {
2556
- if (t.displayMode === "independent" && q) {
2557
- let e = C.value.map(() => K);
2612
+ if (t.displayMode === "independent" && J) {
2613
+ let e = C.value.map(() => q);
2558
2614
  w.value.forEach((n) => {
2559
- let r = q?.[n.index];
2615
+ let r = J?.get(kr(n.seriesList.map((e) => e.id)));
2560
2616
  if (!r) return;
2561
2617
  let i = I(n), a = Er(r, i, [n.seriesList], t);
2562
2618
  e[n.index] = Dr(a, i, n.width);
2563
- }), P.value = e, q = void 0;
2564
- } else if (t.displayMode !== "independent" && G) {
2565
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(G, e, n, t);
2566
- A.value = Dr(r, e, T.value), G = void 0;
2619
+ }), P.value = e, J = void 0;
2620
+ } else if (t.displayMode !== "independent" && K) {
2621
+ let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(K, e, n, t);
2622
+ A.value = Dr(r, e, T.value), K = void 0;
2567
2623
  }
2568
2624
  H();
2569
2625
  });
@@ -2602,7 +2658,7 @@ function Nr(e) {
2602
2658
  }), O(j, () => {
2603
2659
  R.value = [];
2604
2660
  }), O(z, (e) => {
2605
- m.value = !1, e && (W(), te(), B(), L.closeContextMenu(), V());
2661
+ m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
2606
2662
  }), O(() => S.value.map((e) => e.id).join("\0"), () => {
2607
2663
  if (t.hiddenSeriesIds !== void 0) return;
2608
2664
  let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
@@ -2621,7 +2677,7 @@ function Nr(e) {
2621
2677
  let n = L.editorDraft.value;
2622
2678
  n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && L.closeEditor();
2623
2679
  }, { deep: !0 });
2624
- function se() {
2680
+ function oe() {
2625
2681
  if (!d.value || !i.value) {
2626
2682
  c.value = 0, l.value = 0;
2627
2683
  return;
@@ -2634,22 +2690,22 @@ function Nr(e) {
2634
2690
  d,
2635
2691
  p
2636
2692
  ], async () => {
2637
- c.value = 0, l.value = 0, await f(), se();
2693
+ c.value = 0, l.value = 0, await f(), oe();
2638
2694
  }, { immediate: !0 }), g(() => {
2639
- window.addEventListener("keydown", ne), window.addEventListener("keyup", re), r.value && (a.value = new ResizeObserver(([e]) => {
2640
- o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(se);
2695
+ window.addEventListener("keydown", te), window.addEventListener("keyup", ne), r.value && (a.value = new ResizeObserver(([e]) => {
2696
+ o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(oe);
2641
2697
  }), a.value.observe(r.value));
2642
2698
  }), h(() => {
2643
- window.removeEventListener("keydown", ne), window.removeEventListener("keyup", re), ee(), a.value?.disconnect(), te(), R.value = [];
2699
+ window.removeEventListener("keydown", te), window.removeEventListener("keyup", ne), G(), a.value?.disconnect(), ee(), R.value = [];
2644
2700
  }), {
2645
- goToPage: ie,
2646
- handleBeforeDataReferenceChange: ae,
2647
- handleDataReferenceChange: oe
2701
+ goToPage: re,
2702
+ handleBeforeDataReferenceChange: ie,
2703
+ handleDataReferenceChange: ae
2648
2704
  };
2649
2705
  }
2650
2706
  //#endregion
2651
2707
  //#region src/components/core/useWaveformData.ts
2652
- function Pr(e) {
2708
+ function zr(e) {
2653
2709
  return ln(e).map(({ source: e, ...t }) => {
2654
2710
  let n = e.metrics(t.errorBar.visible);
2655
2711
  return {
@@ -2662,45 +2718,45 @@ function Pr(e) {
2662
2718
  };
2663
2719
  });
2664
2720
  }
2665
- function Fr(e, t, n) {
2666
- let r = C(Pr(e()));
2721
+ function Br(e, t, n) {
2722
+ let r = C(zr(e()));
2667
2723
  return O(e, (e) => {
2668
- t(), r.value = Pr(e), n();
2724
+ t(), r.value = zr(e), n();
2669
2725
  }), r;
2670
2726
  }
2671
2727
  //#endregion
2672
2728
  //#region wasm/pkg/waveform_sampling_wasm.js
2673
- function Ir(e, t) {
2674
- let n = Xr(e, $.__wbindgen_malloc), r = ni, i = Xr(t, $.__wbindgen_malloc), a = ni, o = $.calculate_range(n, r, i, a);
2675
- if (o[3]) throw Zr(o[2]);
2676
- var s = Vr(o[0], o[1]).slice();
2729
+ function Vr(e, t) {
2730
+ let n = ti(e, $.__wbindgen_malloc), r = si, i = ti(t, $.__wbindgen_malloc), a = si, o = $.calculate_range(n, r, i, a);
2731
+ if (o[3]) throw ni(o[2]);
2732
+ var s = Kr(o[0], o[1]).slice();
2677
2733
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2678
2734
  }
2679
- function Lr(e, t, n, r) {
2680
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.find_visible_range(i, a, o, s, n, r);
2681
- if (c[3]) throw Zr(c[2]);
2682
- var l = Hr(c[0], c[1]).slice();
2735
+ function Hr(e, t, n, r) {
2736
+ let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.find_visible_range(i, a, o, s, n, r);
2737
+ if (c[3]) throw ni(c[2]);
2738
+ var l = qr(c[0], c[1]).slice();
2683
2739
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2684
2740
  }
2685
- function Rr(e, t, n, r) {
2686
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_aggregates(i, a, o, s, n, r);
2687
- if (c[3]) throw Zr(c[2]);
2688
- var l = Vr(c[0], c[1]).slice();
2741
+ function Ur(e, t, n, r) {
2742
+ let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_aggregates(i, a, o, s, n, r);
2743
+ if (c[3]) throw ni(c[2]);
2744
+ var l = Kr(c[0], c[1]).slice();
2689
2745
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2690
2746
  }
2691
- function zr(e, t, n, r) {
2692
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_indexes(i, a, o, s, n, r);
2693
- if (c[3]) throw Zr(c[2]);
2694
- var l = Hr(c[0], c[1]).slice();
2747
+ function Wr(e, t, n, r) {
2748
+ let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_indexes(i, a, o, s, n, r);
2749
+ if (c[3]) throw ni(c[2]);
2750
+ var l = qr(c[0], c[1]).slice();
2695
2751
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2696
2752
  }
2697
- function Br() {
2753
+ function Gr() {
2698
2754
  return {
2699
2755
  __proto__: null,
2700
2756
  "./waveform_sampling_wasm_bg.js": {
2701
2757
  __proto__: null,
2702
2758
  __wbindgen_cast_0000000000000001: function(e, t) {
2703
- return Gr(e, t);
2759
+ return Xr(e, t);
2704
2760
  },
2705
2761
  __wbindgen_init_externref_table: function() {
2706
2762
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2709,52 +2765,52 @@ function Br() {
2709
2765
  }
2710
2766
  };
2711
2767
  }
2712
- function Vr(e, t) {
2713
- return e >>>= 0, Wr().subarray(e / 8, e / 8 + t);
2714
- }
2715
- function Hr(e, t) {
2716
- return e >>>= 0, qr().subarray(e / 4, e / 4 + t);
2717
- }
2718
- var Ur = null;
2719
- function Wr() {
2720
- return (Ur === null || Ur.byteLength === 0) && (Ur = new Float64Array($.memory.buffer)), Ur;
2768
+ function Kr(e, t) {
2769
+ return e >>>= 0, Yr().subarray(e / 8, e / 8 + t);
2721
2770
  }
2722
- function Gr(e, t) {
2723
- return e >>>= 0, ti(e, t);
2724
- }
2725
- var Kr = null;
2726
- function qr() {
2727
- return (Kr === null || Kr.byteLength === 0) && (Kr = new Uint32Array($.memory.buffer)), Kr;
2771
+ function qr(e, t) {
2772
+ return e >>>= 0, Qr().subarray(e / 4, e / 4 + t);
2728
2773
  }
2729
2774
  var Jr = null;
2730
2775
  function Yr() {
2731
- return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint8Array($.memory.buffer)), Jr;
2776
+ return (Jr === null || Jr.byteLength === 0) && (Jr = new Float64Array($.memory.buffer)), Jr;
2732
2777
  }
2733
2778
  function Xr(e, t) {
2779
+ return e >>>= 0, oi(e, t);
2780
+ }
2781
+ var Zr = null;
2782
+ function Qr() {
2783
+ return (Zr === null || Zr.byteLength === 0) && (Zr = new Uint32Array($.memory.buffer)), Zr;
2784
+ }
2785
+ var $r = null;
2786
+ function ei() {
2787
+ return ($r === null || $r.byteLength === 0) && ($r = new Uint8Array($.memory.buffer)), $r;
2788
+ }
2789
+ function ti(e, t) {
2734
2790
  let n = t(e.length * 8, 8) >>> 0;
2735
- return Wr().set(e, n / 8), ni = e.length, n;
2791
+ return Yr().set(e, n / 8), si = e.length, n;
2736
2792
  }
2737
- function Zr(e) {
2793
+ function ni(e) {
2738
2794
  let t = $.__wbindgen_externrefs.get(e);
2739
2795
  return $.__externref_table_dealloc(e), t;
2740
2796
  }
2741
- var Qr = new TextDecoder("utf-8", {
2797
+ var ri = new TextDecoder("utf-8", {
2742
2798
  ignoreBOM: !0,
2743
2799
  fatal: !0
2744
2800
  });
2745
- Qr.decode();
2746
- var $r = 2146435072, ei = 0;
2747
- function ti(e, t) {
2748
- return ei += t, ei >= $r && (Qr = new TextDecoder("utf-8", {
2801
+ ri.decode();
2802
+ var ii = 2146435072, ai = 0;
2803
+ function oi(e, t) {
2804
+ return ai += t, ai >= ii && (ri = new TextDecoder("utf-8", {
2749
2805
  ignoreBOM: !0,
2750
2806
  fatal: !0
2751
- }), Qr.decode(), ei = t), Qr.decode(Yr().subarray(e, e + t));
2807
+ }), ri.decode(), ai = t), ri.decode(ei().subarray(e, e + t));
2752
2808
  }
2753
- var ni = 0, $;
2754
- function ri(e, t) {
2755
- return $ = e.exports, Ur = null, Kr = null, Jr = null, $.__wbindgen_start(), $;
2809
+ var si = 0, $;
2810
+ function ci(e, t) {
2811
+ return $ = e.exports, Jr = null, Zr = null, $r = null, $.__wbindgen_start(), $;
2756
2812
  }
2757
- async function ii(e, t) {
2813
+ async function li(e, t) {
2758
2814
  if (typeof Response == "function" && e instanceof Response) {
2759
2815
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2760
2816
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2780,17 +2836,17 @@ async function ii(e, t) {
2780
2836
  return !1;
2781
2837
  }
2782
2838
  }
2783
- async function ai(e) {
2839
+ async function ui(e) {
2784
2840
  if ($ !== void 0) return $;
2785
2841
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYCGCAKIApBKGo2AjwgCiAKQSRqNgI4IAogCkEgajYCNCAKIApBHGo2AjAgCiAKQRhqNgIsIApBDGohHyAKQSxqIQAjAEEQayITJAACQAJAQQBB6IzAACgCABEFACIQRQ0AIBAoAgBFBEAgEEF/NgIAIB8CfgJAIAAoAgAoAgAiASAQKAIMSQRAIBAoAgggAUHYAGxqIgcoAkhBgICAgHhHDQELQfyNwABBHBA/IQAgECAQKAIAQQFqNgIAIBMgADYCCEGAgICAeCEAIBMpAggMAQsgE0EEaiEYIAAoAgQoAgAhAiAAKAIIKAIAIQMgACgCDCgCACEeIAAoAhAoAgAhAEEAIQEjAEEwayIIJAACQAJAAkACQAJAIB5BA2sOBQABAQEAAQtBASAAIABBAU0bIgQgBygCOCIAIAIgACACSRsiGSAAIAMgACADSRsiACAAIBlJGyIgIBlrIhogBCAaSRsiIUEAIAAgAksbIh1BBHQhAgJAAkAgHUEBdCIGQf////8BSyACQfj///8HS3INAAJAIAJFBEBBCCEAQQAhBgwBC0EIIQkgAkEIEEsiAEUNAQsgCEEANgIIIAggADYCBCAIIAY2AgAgHQRAIAdByABqIREDQCAaIBxsICFuIgAgGWoiBSAcQQFqIhwgGmwgIW4iAiAZaiIiTw0DAkAgAiAAa2ciAEEfRg0AIABBH3MhG0EBIQsDQAJAIAcoAlAgC0sEQCAHKAJMIAtBJGxqKAIAQYCAgIB4Rw0BCyAHKAIUQX8CfyAHKAI4IgAgC3YgAEF/IAt0QX9zcUEAR2oiDa1CFH4iMEIgiFAEQCAwpwwBC0F/CyAHKAIQIgJqIgAgACACSRtJDQYgByAANgIQQQAhBgJAAkAgDUH/////AE0EQCANRQRAQQghAUEEIRRBCCEVDAMLQQghBiANQQN0IgBBCBBMIgENASAAIQELIAYgARA9AAsgAEEIEEwiFQRAIA1BAnQiAEEEEEwiFARAIA1BAXQhJCAHKAJMIAtBAWsiAkEkbGohDCAHKAI4IQ4gBygCNCElIAcoAighIyAHKAIsIRYgBysDCCEsIAcrAwAhLSAHKAIkISYgBygCHCEnIAcoAiAhF0EEIQBBACEGIAIgBygCUEkhKCAHKAIYQYCAgIB4RiEpQQAhCSAUIQMDQAJAIAZBAWohBAJAAnwCQAJAAkACQAJAAkACQCAoRQ0AIAwoAgBBgICAgHhGDQAgBiAMKAIIIgJPDQEgACABakEEayAMKAIEIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIUIgJPDQMgACAVakEEayAMKAIQIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIgIgJPDQQgDCgCHCAAaiISQQRrKAIAISogAyACIARLBH8gEigCAAVBAAsgKmo2AgAMCAsCQAJAAkAgKUUEQCAGIBdJDQEgBiAXQfiLwAAQJgALAkAgLSAsICZBgICAgHhGIhIEfyAGBSAGIBZPDQEgACAjakEEaygCAAu4oqAhKyAEIA5JDQJEAAAAAAAAAAAMCgsgBiAWQYiMwAAQJgALIAkgJ2oiAisDACErIAQgDkkNAUQAAAAAAAAAAAwICyAEIQIgEkUNBQwGCyAEIBdPDQEgAkEIaisDAAwGCyAGIAJBrIfAABAmAAsgBkEBaiAXQfiLwAAQJgALIAYgAkG8h8AAECYACyAGIAJBzIfAABAmAAsgBCAWSQRAIAAgI2ooAgAhAgwBCyAGQQFqIBZBiIzAABAmAAsgLSAsIAK4oqALIS4gACABakEEayArIC6gOQMAIAYgDk8NASAJICVqIgIrAwAhLkQAAAAAAAAAACErIAQgDkkiBARAIAJBCGorAwAhKwsgA0ECQQEgBBs2AgAgACAVakEEayAuICugOQMACyAJQRBqIQkgAEEIaiEAIANBBGohAyAGQQJqIgYgJEcNAQwECwsgBiAOQZyHwAAQJgALQQQgABA9AAtBCCAAED0ACyALIAcoAlAiBk8EQAJAIAtBAWoiBiARKAIIIgNNBEAgESAGNgIIIAMgBkYNASADIAZrIQkgESgCBCAGQSRsaiECA0ACQCACKAIAIgBBgICAgHhGDQAgAARAIAJBBGooAgAgAEEDdEEIEEcLIAJBDGooAgAiAARAIAJBEGooAgAgAEEDdEEIEEcLIAJBGGooAgAiAEUNACACQRxqKAIAIABBAnRBBBBHCyACQSRqIQIgCUEBayIJDQALDAELIAYgAyIAayIMIBEoAgAgAGtLBEAgESAAIAxBBEEkEBogESgCCCEACyARKAIEIQ4gDEEDcSIJBEAgACAJaiAGIANrIAlrIQwgDiAAQSRsaiECA0AgAkGAgICAeDYCACACQSRqIQIgCUEBayIJDQALIQALIAMgBmtBfE0EQCAOIABBJGxqIQIDQCACQYCAgIB4NgIAIAJB7ABqQYCAgIB4NgIAIAJByABqQYCAgIB4NgIAIAJBJGpBgICAgHg2AgAgAkGQAWohAiAAQQRqIQAgDEEEayIMDQALCyARIAA2AggLIAcoAlAhBgsgBiALTQ0JAkAgBygCTCALQSRsaiIAKAIAIgJBgICAgHhGDQAgAgRAIAAoAgQgAkEDdEEIEEcLIAAoAgwiAgRAIAAoAhAgAkEDdEEIEEcLIAAoAhgiAkUNACAAKAIcIAJBAnRBBBBHCyAAIA02AiAgACAUNgIcIAAgDTYCGCAAIA02AhQgACAVNgIQIAAgDTYCDCAAIA02AgggACABNgIEIAAgDTYCAAsgCyAbTw0BIAsgCyAbSWoiCyAbTQ0ACwsgBygCNCEMIAcoAjghFCAHKwMIIS4gBysDACEvIAcoAighDiAHKAIsIQYgBygCHCEVIAcoAiAhCyAHKAJMIRYgBygCUCENQQAhCUQAAAAAAAAAACEsIAcoAhhBgICAgHhGIRcgBygCJEGAgICAeEYhG0QAAAAAAAAAACErA0BBASEAAkAgBUEBcSAiIAVrIgJBAklyDQBBAiEAIAVBAnEgAkEESXINAEEEIQAgBUEEcSACQQhJcg0AQQghACAFQQhxIAJBEElyDQBBECEAIAVBEHEgAkEgSXINAEEgIQAgBUEgcSACQcAASXINAEHAACEAIAVBwABxIAJBgAFJcg0AQYABIQAgBUGAAXEgAkGAAklyDQBBgAIhACAFQYACcSACQYAESXINAEGABCEAIAVBgARxIAJBgAhJcg0AQYAIIQAgBUGACHEgAkGAEElyDQBBgBAhACAFQYAQcSACQYAgSXINAEGAICEAIAVBgCBxIAJBgMAASXINAEGAwAAhACAFQYDAAHEgAkGAgAFJcg0AQYCAASEAIAVBgIABcSACQYCAAklyDQBBgIACIQAgBUGAgAJxIAJBgIAESXINAEGAgAQhACAFQYCABHEgAkGAgAhJcg0AQYCACCEAIAVBgIAIcSACQYCAEElyDQBBgIAQIQAgBUGAgBBxIAJBgIAgSXINAEGAgCAhACAFQYCAIHEgAkGAgMAASXINAEGAgMAAIQAgBUGAgMAAcSACQYCAgAFJcg0AQYCAgAEhACAFQYCAgAFxIAJBgICAAklyDQBBgICAAiEAIAVBgICAAnEgAkGAgIAESXINAEGAgIAEIQAgBUGAgIAEcSACQYCAgAhJcg0AQYCAgAghACAFQYCAgAhxIAJBgICAEElyDQBBgICAECEAIAVBgICAEHEgAkGAgIAgSXINAEGAgIAgIQAgBUGAgIAgcSACQYCAgMAASXINAEGAgIDAACEAIAVBgICAwABxIAJBgICAgAFJcg0AQYCAgIABIQAgBUGAgICAAXEgAkGAgICAAklyDQBBgICAgAIhACAFQYCAgIACcSACQYCAgIAESXINAEGAgICABCEAIAVBgICAgARxIAJBAE5yDQAQSgALAkACQAJAAkACQCAAaCICRQRAAnwgF0UEQCAFIAtPDQQgFSAFQQN0aisDAAwBCyAvIC4gGwR/IAUFIAUgBk8NAyAOIAVBAnRqKAIAC7iioAshLSAFIBRPDQMgCUEBaiEJIAwgBUEDdGohAwwFCyACIA1PBEAgAiANQaiMwAAQJgALIBYgAkEkbGoiBCgCAEGAgICAeEcNAwwJCyAFIAZBiIzAABAmAAsgBSALQfiLwAAQJgALIAUgFEGYjMAAECYACwJAIAUgAnYiAiAEKAIIIgNJBEAgAiAEKAIUIgNPDQEgBCgCICIDIAJLBEAgAkEDdCIDIAQoAgRqKwMAIS0gBCgCECADaiEDIAQoAhwgAkECdGooAgAgCWohCQwDCyACIANB2IzAABAmAAsgAiADQbiMwAAQJgALIAIgA0HIjMAAECYACyAsIC2gISwgKyADKwMAoCErIAAgBWoiBSAiSQ0ACyAsIAm4IiyjIS0gCCgCCCIAIAgoAgBGBEAgCBAiCyAIKAIEIABBA3RqIC05AwAgCCAAQQFqIgI2AgggCCgCACACRgRAIAgQIgsgCCgCBCACQQN0aiArICyjICsgHkEDRhs5AwAgCCAAQQJqNgIIIBwgHUcNAAsLIBggCCgCCDYCCCAYIAgpAgA3AgAMAwsgCSACED0ACyAIIAc2AgwgCCAZNgIQIAggIDYCFEEAIQAgGkEAIBogIE0bIgFBGGwhAgJAIAFB1arVKksNAEEIIQYgAgRAQQghACACQQgQSyIGRQ0BIAEhAAsgCEEANgIgIAggBjYCHCAIIAA2AhggCEEANgIoIAggCEEgajYCJCAIIAY2AiwgCEEMaiAIQSRqEBMgCCgCGCEAIBggCCgCHCIBIAgoAiAgHSAeEAcgAARAIAEgAEEYbEEIEEcLIAgoAgAiAEUNAiAIKAIEIABBA3RBCBBHDAILIAAgAhA9AAtB+4rAAEEpED8hACAYQYCAgIB4NgIAIBggADYCBAsgCEEwaiQADAELIAsgBkGMh8AAECYACyAQIBAoAgBBAWo2AgAgEygCBCIAQYGAgIB4Rg0CIBMpAggLNwIEIB8gADYCACATQRBqJAAMAgtBuI7AABA3AAsQNgALAkACQAJ/IAooAgwiAUGAgICAeEYEQEEBIQBBACEBQQAhAyAKKAIQDAELIAooAhAhAAJAIAooAhQiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQBBAAshAiAPIAA2AgwgDyACNgIIIA8gAzYCBCAPIAE2AgAgCkFAayQADAELQQggABA9AAsgDygCACAPKAIEIA8oAgggDygCDCAPQRBqJAALugYCC38MfCMAQRBrIgYkACMAQRBrIggkACAIQQRqIQkjAEEQayIKJAAgCkEEaiAAIAEgAiADEAsgCigCCCEHAkACQAJAIAooAgQiDUGAgICAeEYEQCAJQYCAgIB4NgIAIAkgBzYCBAwBCyAJAn8gCigCDCIFRQRAQQghBEEADAELIAcrAwghDyAHKwMAIRACQCAFQQFGBEAgDyERIBAhEgwBCyAHQRhqIQQCfyAFQRhsIgxBMGsiDkEYbiIFQQNxQQNGBEAgECESIA8hESAHDAELQQAgBUEBakEDcWshCyAQIRIgDyERA0AgBCIFQRhqIQQgBUEIaisDACETIBIgBSsDACIUEDshEiAQIBQQPCEQIBEgExA7IREgDyATEDwhDyALQQFqIgsNAAsgBEEYawshBSAOQcgASQ0AIAcgDGohDANAIARByABqIgsrAwAhEyAEQTBqKwMAIRQgBEEYaisDACEVIARB0ABqKwMAIRYgBEE4aisDACEXIARBIGorAwAhGCAEKwMAIRkgESAFKwMgIhoQOyAYEDsgFxA7IBYQOyERIA8gGhA8IBgQPCAXEDwgFhA8IQ8gEiAZEDsgFRA7IBQQOyATEDshEiAQIBkQPCAVEDwgFBA8IBMQPCEQIAshBSAEQeAAaiIEIAxHDQALC0EgQQgQSyIERQ0CIAQgETkDGCAEIA85AxAgBCASOQMIIAQgEDkDAEEECyIFNgIIIAkgBDYCBCAJIAU2AgAgDUUNACAHIA1BGGxBCBBHCyAKQRBqJAAMAQtBCEEgEE4ACyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAgoAgQiAUGAgICAeEYEQEEBIQJBACEBQQAhAyAIKAIIDAELIAgoAgghAAJAIAgoAgwiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQJBAAshACAGIAI2AgwgBiAANgIIIAYgAzYCBCAGIAE2AgAgCEEQaiQADAELQQggABA9AAsgBigCACAGKAIEIAYoAgggBigCDCAGQRBqJAALswEBAn8jAEEQayIAJAAgASgCAEHkkcAAQQsgASgCBCgCDBECACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAiIBLQAEIQIgAS0ABQRAIAECf0EBIAJBAXENABogASgCACIBLQAKQYABcUUEQCABKAIAQaWSwABBAiABKAIEKAIMEQIADAELIAEoAgBBpJLAAEEBIAEoAgQoAgwRAgALIgI6AAQLIAJBAXEgAEEQaiQAC78GAwp/An4DfCMAQRBrIgskACMAQRBrIgwkACAMQQhqIQ4gACEIIwBB8ABrIgUkAAJAAkACQAJ/IAEgA0cEQEHXi8AAQSEQP60hD0GAgICAeCENIAVBGGoMAQsCfyABRQRAQYCAgIB4IQpBCCEGQQAMAQsgAUEDdCEJIAghByACIQYCQAJAAkADQAJAIAcpAwBC////////////AINC//////////f/AFYNACAGKQMAQv///////////wCDQv/////////3/wBWDQAgB0EIaiEHIAZBCGohBiAKQQFqIgogAUcNAQwCCwsgASAKSw0BCyABQQFGDQEgCCABQQFrIgdBA3RqKwMAIAgrAwChIAe4oyERDAELQaSLwABBMxA/rSEPQYCAgIB4IQ0gBUEYagwCC0EAIQdBACEGAn8DQEGAgICAeCAHIAlGDQEaIAcgCGogBrghEiAHQQhqIQcgBkEBaiEGKwMAIhMgESASoiAIKwMAoCISoZkgE5kgEpkQO0QAAAAAAADwPxA7RAAAAAAAACA9omUNAAsgCUEIEEsiB0UNAyAJBEAgByAIIAn8CgAACyAHrSABrUIghoQhECABCyEKIAlBCBBLIgZFDQMgCQRAIAYgAiAJ/AoAAAsgCCkDACEPIAELIQggBUEANgIYIAVBEGoLIA02AgACfyAFKAIYIgdBgICAgHhGBEBBASEGIA+nDAELIAUgBSgCEDYCaCAFQQQ2AmQgBSAHNgJgIAVBADYCXCAFQoCAgIDAADcCVCAFIAE2AlAgBSAGNgJMIAUgCDYCSCAFQYCAgIB4NgI8IAUgEDcCNCAFIAo2AjAgBSAENgIsIAVBADYCKCAFIBE5AyAgBSAPNwMYIAVBCGogBUEYahAXIAUoAgghBiAFKAIMCyEEIA4gBjYCACAOIAQ2AgQgBUHwAGokAAwCC0EIIAkQPQALQQggCRA9AAsgDCgCDCEIIAwoAgghBCADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLIAsgBEEBcSIANgIIIAsgCEEAIAAbNgIEIAtBACAIIAAbNgIAIAxBEGokACALKAIAIAsoAgQgCygCCCALQRBqJAALLwEBfyMAQRBrIgAkACAAIABBD2qtQoCAgIDAAIQ3AwBBz4HAACAAQciOwAAQKQALLAEBfyMAQRBrIgEkACABIAFBD2qtQoCAgIDQAoQ3AwBBmILAACABIAAQKQALGQEBfyAAQQQQSyIBRQRAQQQgABBOAAsgAQscAQF/IAAoAgAiAUEASgRAIAAoAgQgAUEBEEcLCxkBAX8gACgCACIBBEAgACgCBCABQQEQRwsLFAAgASABIAAgACABYxsgACAAYhsLFAAgACAAIAEgACABYxsgASABYhsLHQAgAARAIAAgARBOAAtBgJLAAEEjQZSSwAAQKQALEQAgACABQQF0QQFyIAIQKQAL/gICA38BbyAAIAEQASEFAn8jAEEQayIDJAACQEH4lcAAKAIARQRAQfiVwABBfzYCAEGIlsAAKAIAIgFBhJbAACgCACIARgRAAn8gASABQfyVwAAoAgAiAEcNABrQb0GAASABIAFBgAFNGyIC/A8BIgBBf0YNAwJAQYyWwAAoAgAiBEUEQEGMlsAAIAA2AgAMAQsgASAEaiAARw0ECyABQfyVwAAoAgAiACABayACTw0AGiADQQRqIABBgJbAACgCACABIAJqIgBBBEEEEBwgAygCBEEBRg0DQYCWwAAgAygCCDYCAEH8lcAAIAA2AgBBhJbAACgCAAsiAiAATw0CQYCWwAAoAgAgAkECdGogAUEBajYCAEGElsAAIAJBAWoiADYCAAsgACABTQ0BQYiWwABBgJbAACgCACABQQJ0aigCADYCAEH4lcAAQfiVwAAoAgBBAWo2AgBBjJbAACgCACADQRBqJAAgAWoMAgtBxI/AABA3CwALIgAgBSYBIAALDwAgAQRAIAAgASACEEcLCxwAIABBzJDAACkCADcCCCAAQcSQwAApAgA3AgALHAAgAEG8kMAAKQIANwIIIABBtJDAACkCADcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQIAC+cGAQV/An8CQAJAAkACQAJAAkACQCAAQQRrIgcoAgAiCEF4cSIEQQRBCCAIQQNxIgUbIAFqTwRAIAVBACABQSdqIgYgBEkbDQECQCACQQlPBEAgAiADEBAiAg0BQQAMCgtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBCGshBiAFRQRAIAZFIAFBgAJJciAEIAFrQYCACEsgASAET3JyDQcgAAwKCyAEIAZqIQUCQCABIARLBEAgBUHgmcAAKAIARg0BQdyZwAAoAgAgBUcEQCAFKAIEIghBAnENCSAIQXhxIgggBGoiBCABSQ0JIAUgCBARIAQgAWsiBUEQTwRAIAcgASAHKAIAQQFxckECcjYCACABIAZqIgEgBUEDcjYCBCAEIAZqIgQgBCgCBEEBcjYCBCABIAUQDAwJCyAHIAQgBygCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCAtB1JnAACgCACAEaiIEIAFJDQgCQCAEIAFrIgVBD00EQCAHIAhBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEFQQAhAQwBCyAHIAEgCEEBcXJBAnI2AgAgASAGaiIBIAVBAXI2AgQgBCAGaiIEIAU2AgAgBCAEKAIEQX5xNgIEC0HcmcAAIAE2AgBB1JnAACAFNgIADAcLIAQgAWsiBEEPTQ0GIAcgASAIQQFxckECcjYCACABIAZqIgEgBEEDcjYCBCAFIAUoAgRBAXI2AgQgASAEEAwMBgtB2JnAACgCACAEaiIEIAFLDQQMBgsgAyABIAEgA0sbIgMEQCACIAAgA/wKAAALIAcoAgAiA0F4cSIHIAFBBEEIIANBA3EiAxtqSQ0CIANFIAYgB09yDQZBlJHAAEEuQcSRwAAQPgALQdSQwABBLkGEkcAAED4AC0GUkcAAQS5BxJHAABA+AAtB1JDAAEEuQYSRwAAQPgALIAcgASAIQQFxckECcjYCACABIAZqIgUgBCABayIBQQFyNgIEQdiZwAAgATYCAEHgmcAAIAU2AgALIAZFDQAgAAwDCyADEAIiAUUNASADQXxBeCAHKAIAIgJBA3EbIAJBeHFqIgIgAiADSxsiAgRAIAEgACAC/AoAAAsgASECCyAAEAgLIAILCxMAIABB1JHAADYCBCAAIAE2AgALEAAgASAAKAIAIAAoAgQQQwtfAQF/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEAgMAgtB1JDAAEEuQYSRwAAQPgALQZSRwABBLkHEkcAAED4ACwsPACAAQeSPwAAgASACEAoLDgBBp5LAAEErIAAQPgALEgBBmpTAAEHzAEGsicAAECkACxkAAn8gAUEJTwRAIAEgABAQDAELIAAQAgsLPgACQAJ/IAFBCU8EQCABIAAQEAwBCyAAEAILIgFFDQAgAUEEay0AAEEDcUUgAEVyDQAgAUEAIAD8CwALIAELDAAgACABKQIANwMACz0BAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqIgAoAgAgACgCBEGglsAAKAIAIgBBAyAAGxEAAAALDQAgAUHQlcAAQRgQCQsNACABQbCVwABBIBAJCwwAQfiZwABBAToAAAsJACAAQQA2AgALBwBB6JXAAAsLhBYDAEGAgMAAC+gVFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwAAScmFuZ2Ugc3RhcnQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAQcmFuZ2UgZW5kIGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2786
- let t = Br();
2842
+ let t = Gr();
2787
2843
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2788
- let { instance: n, module: r } = await ii(await e, t);
2789
- return ri(n, r);
2844
+ let { instance: n, module: r } = await li(await e, t);
2845
+ return ci(n, r);
2790
2846
  }
2791
2847
  //#endregion
2792
2848
  //#region src/core/wasmSampling.ts
2793
- var oi = {
2849
+ var di = {
2794
2850
  none: 0,
2795
2851
  peak: 1,
2796
2852
  lttb: 2,
@@ -2799,24 +2855,24 @@ var oi = {
2799
2855
  max: 5,
2800
2856
  minmax: 6,
2801
2857
  sum: 7
2802
- }, si;
2803
- function ci(e, t) {
2858
+ }, fi;
2859
+ function pi(e, t) {
2804
2860
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2805
2861
  }
2806
- function li(e) {
2862
+ function mi(e) {
2807
2863
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2808
2864
  }
2809
- function ui(e) {
2810
- return si ??= Promise.resolve(ai(e)).then(() => void 0), si;
2865
+ function hi(e) {
2866
+ return fi ??= Promise.resolve(ui(e)).then(() => void 0), fi;
2811
2867
  }
2812
- async function di(e) {
2813
- li(e), await ui();
2814
- let t = ci(e.targetPointCount, e.x.length), n = oi[e.strategy];
2868
+ async function gi(e) {
2869
+ mi(e), await hi();
2870
+ let t = pi(e.targetPointCount, e.x.length), n = di[e.strategy];
2815
2871
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2816
2872
  kind: "source-indexes",
2817
- sourceIndexes: zr(e.x, e.y, n, t)
2873
+ sourceIndexes: Wr(e.x, e.y, n, t)
2818
2874
  };
2819
- let r = Rr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2875
+ let r = Ur(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2820
2876
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2821
2877
  return {
2822
2878
  kind: "aggregates",
@@ -2824,34 +2880,34 @@ async function di(e) {
2824
2880
  y: a
2825
2881
  };
2826
2882
  }
2827
- async function fi(e, t) {
2883
+ async function _i(e, t) {
2828
2884
  if (e.length !== t.length) throw Error("x and y must have the same length");
2829
- await ui();
2830
- let n = Ir(e, t);
2885
+ await hi();
2886
+ let n = Vr(e, t);
2831
2887
  return n.length === 4 ? {
2832
2888
  x: [n[0], n[1]],
2833
2889
  y: [n[2], n[3]]
2834
2890
  } : void 0;
2835
2891
  }
2836
- async function pi(e, t, n) {
2892
+ async function vi(e, t, n) {
2837
2893
  if (e.length !== t.length) throw Error("x and y must have the same length");
2838
- await ui();
2839
- let r = Lr(e, t, n[0], n[1]);
2894
+ await hi();
2895
+ let r = Hr(e, t, n[0], n[1]);
2840
2896
  return [r[0], r[1]];
2841
2897
  }
2842
2898
  //#endregion
2843
2899
  //#region src/components/core/trackPagination.ts
2844
- var mi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, hi = (e, t, n, r, i) => {
2900
+ var yi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, bi = (e, t, n, r, i) => {
2845
2901
  let a = t?.[i];
2846
2902
  if (a !== void 0) return a;
2847
2903
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2848
- }, gi = (e, t, n) => (r) => {
2904
+ }, xi = (e, t, n) => (r) => {
2849
2905
  let i = n(), a = i.findIndex((e) => e.id === r);
2850
- return hi(e(), t(), i.length, a >= 0 ? a : 0, r);
2906
+ return bi(e(), t(), i.length, a >= 0 ? a : 0, r);
2851
2907
  };
2852
2908
  //#endregion
2853
2909
  //#region src/components/core/useWaveformLayout.ts
2854
- function _i(e) {
2910
+ function Si(e) {
2855
2911
  let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
2856
2912
  ...e,
2857
2913
  color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
@@ -2874,7 +2930,7 @@ function _i(e) {
2874
2930
  yDomain: o.length ? ht(o) : [0, 1]
2875
2931
  };
2876
2932
  });
2877
- }), v = t(() => Tn(n.rendering)), y = t(() => mi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
2933
+ }), v = t(() => Tn(n.rendering)), y = t(() => yi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
2878
2934
  let e = x.value.filter((e) => e.series.length > 0);
2879
2935
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
2880
2936
  }), C = t(() => {
@@ -2934,7 +2990,7 @@ function _i(e) {
2934
2990
  ...e,
2935
2991
  series: t,
2936
2992
  yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
2937
- })), ee = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, te = t(() => H.value.flatMap(W));
2993
+ })), G = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ee = t(() => H.value.flatMap(W));
2938
2994
  return {
2939
2995
  chartSeries: h,
2940
2996
  chartTracks: _,
@@ -2957,9 +3013,9 @@ function _i(e) {
2957
3013
  gridCells: V,
2958
3014
  trackLayouts: H,
2959
3015
  annotationLayoutsForTrack: W,
2960
- resolveSeriesYScale: ee,
2961
- annotationTrackLayouts: te,
2962
- renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, te.value, A.value, s.value) : []),
3016
+ resolveSeriesYScale: G,
3017
+ annotationTrackLayouts: ee,
3018
+ renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ee.value, A.value, s.value) : []),
2963
3019
  editorSeries: t(() => {
2964
3020
  let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
2965
3021
  return t ? {
@@ -2969,16 +3025,16 @@ function _i(e) {
2969
3025
  unit: t.unit
2970
3026
  } : void 0;
2971
3027
  }),
2972
- resolveFrameNumber: gi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3028
+ resolveFrameNumber: xi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
2973
3029
  };
2974
3030
  }
2975
- var vi = 1e-6;
2976
- function yi(e) {
3031
+ var Ci = 1e-6;
3032
+ function wi(e) {
2977
3033
  return Number.isFinite(e) ? Math.max(1, e) : 1;
2978
3034
  }
2979
- function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2980
- let i = yi(e), a = yi(t), o = yi(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
2981
- if (!(d > vi && Math.abs(d - 360) > vi)) {
3035
+ function Ti({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3036
+ let i = wi(e), a = wi(t), o = wi(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3037
+ if (!(d > Ci && Math.abs(d - 360) > Ci)) {
2982
3038
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
2983
3039
  return {
2984
3040
  textWidth: t,
@@ -3003,7 +3059,7 @@ function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3003
3059
  }
3004
3060
  //#endregion
3005
3061
  //#region src/components/core/useWaveformPresentation.ts
3006
- function xi(e) {
3062
+ function Ei(e) {
3007
3063
  let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
3008
3064
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3009
3065
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3048,7 +3104,7 @@ function xi(e) {
3048
3104
  maxWidth: O.value ? "none" : `${j.value}px`,
3049
3105
  whiteSpace: O.value ? "nowrap" : "normal",
3050
3106
  overflowWrap: O.value ? "normal" : "anywhere"
3051
- })), N = t(() => bi({
3107
+ })), N = t(() => Ti({
3052
3108
  naturalWidth: a.value || A.value,
3053
3109
  naturalHeight: o.value || E.value * 1.2,
3054
3110
  availableWidth: j.value,
@@ -3104,66 +3160,66 @@ function xi(e) {
3104
3160
  }
3105
3161
  //#endregion
3106
3162
  //#region src/core/samplingReferenceValues.ts
3107
- function Si(e, t) {
3163
+ function Di(e, t) {
3108
3164
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3109
3165
  }
3110
- function Ci(e, t, n, r) {
3166
+ function Oi(e, t, n, r) {
3111
3167
  let i = r - n;
3112
3168
  return {
3113
3169
  start: n + Math.floor(e * i / t),
3114
3170
  end: n + Math.floor((e + 1) * i / t)
3115
3171
  };
3116
3172
  }
3117
- function wi(e, t) {
3173
+ function ki(e, t) {
3118
3174
  e[e.length - 1] !== t && e.push(t);
3119
3175
  }
3120
- function Ti(e, t, n) {
3176
+ function Ai(e, t, n) {
3121
3177
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3122
3178
  if (t === 1) return [0];
3123
3179
  if (t === 2) return [0, e - 1];
3124
3180
  let r = [0];
3125
- return n().forEach((e) => wi(r, e)), wi(r, e - 1), r;
3181
+ return n().forEach((e) => ki(r, e)), ki(r, e - 1), r;
3126
3182
  }
3127
- function Ei(e, t, n) {
3183
+ function ji(e, t, n) {
3128
3184
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3129
- return Ti(e.length, t, () => {
3185
+ return Ai(e.length, t, () => {
3130
3186
  if (!r) return [];
3131
3187
  let t = [];
3132
3188
  for (let i = 0; i < r; i += 1) {
3133
- let a = Ci(i, r, 1, e.length - 1), o = a.start, s = a.start;
3189
+ let a = Oi(i, r, 1, e.length - 1), o = a.start, s = a.start;
3134
3190
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3135
- n === "min" ? wi(t, o) : n === "max" ? wi(t, s) : o <= s ? (wi(t, o), wi(t, s)) : (wi(t, s), wi(t, o));
3191
+ n === "min" ? ki(t, o) : n === "max" ? ki(t, s) : o <= s ? (ki(t, o), ki(t, s)) : (ki(t, s), ki(t, o));
3136
3192
  }
3137
3193
  return t;
3138
3194
  });
3139
3195
  }
3140
- function Di(e, t) {
3196
+ function Mi(e, t) {
3141
3197
  let n = Math.floor((t - 2) / 4);
3142
- return Ti(e.length, t, () => {
3198
+ return Ai(e.length, t, () => {
3143
3199
  if (!n) return [];
3144
3200
  let t = [];
3145
3201
  for (let r = 0; r < n; r += 1) {
3146
- let i = Ci(r, n, 1, e.length - 1), a = i.start, o = i.start;
3202
+ let i = Oi(r, n, 1, e.length - 1), a = i.start, o = i.start;
3147
3203
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3148
3204
  [
3149
3205
  i.start,
3150
3206
  a,
3151
3207
  o,
3152
3208
  i.end - 1
3153
- ].sort((e, t) => e - t).forEach((e) => wi(t, e));
3209
+ ].sort((e, t) => e - t).forEach((e) => ki(t, e));
3154
3210
  }
3155
3211
  return t;
3156
3212
  });
3157
3213
  }
3158
- function Oi(e, t, n) {
3159
- return Ti(e.length, n, () => {
3214
+ function Ni(e, t, n) {
3215
+ return Ai(e.length, n, () => {
3160
3216
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3161
3217
  for (let o = 0; o < n - 2; o += 1) {
3162
3218
  let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
3163
3219
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3164
3220
  let d = c - s;
3165
3221
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3166
- let f = Ci(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3222
+ let f = Oi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3167
3223
  for (let n = f.start; n < f.end; n += 1) {
3168
3224
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3169
3225
  r > m && (m = r, p = n);
@@ -3173,10 +3229,10 @@ function Oi(e, t, n) {
3173
3229
  return i;
3174
3230
  });
3175
3231
  }
3176
- function ki(e, t, n, r) {
3177
- let i = Si(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3232
+ function Pi(e, t, n, r) {
3233
+ let i = Di(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3178
3234
  for (let n = 0; n < i; n += 1) {
3179
- let s = Ci(n, i, 0, e.length);
3235
+ let s = Oi(n, i, 0, e.length);
3180
3236
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3181
3237
  let c = s.end - s.start;
3182
3238
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3187,10 +3243,10 @@ function ki(e, t, n, r) {
3187
3243
  y: o
3188
3244
  };
3189
3245
  }
3190
- function Ai(e, t, n, r) {
3246
+ function Fi(e, t, n, r) {
3191
3247
  if (e.length !== t.length) throw Error("x and y must have the same length");
3192
- if (n === "average" || n === "sum") return ki(e, t, r, n);
3193
- let i = Si(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Di(t, i) : n === "lttb" ? Oi(e, t, i) : Ei(t, i, n);
3248
+ if (n === "average" || n === "sum") return Pi(e, t, r, n);
3249
+ let i = Di(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Mi(t, i) : n === "lttb" ? Ni(e, t, i) : ji(t, i, n);
3194
3250
  return {
3195
3251
  kind: "source-indexes",
3196
3252
  sourceIndexes: Uint32Array.from(a)
@@ -3198,41 +3254,41 @@ function Ai(e, t, n, r) {
3198
3254
  }
3199
3255
  //#endregion
3200
3256
  //#region src/core/workerSampling/javascriptBackend.ts
3201
- var ji = {
3257
+ var Ii = {
3202
3258
  kind: "javascript",
3203
3259
  sample(e) {
3204
- return Ai(e.x, e.y, e.strategy, e.targetPointCount);
3260
+ return Fi(e.x, e.y, e.strategy, e.targetPointCount);
3205
3261
  }
3206
- }, Mi = 8 * 1024 * 1024;
3207
- function Ni(e, t) {
3262
+ }, Li = 8 * 1024 * 1024;
3263
+ function Ri(e, t) {
3208
3264
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3209
3265
  }
3210
- function Pi(e, t, n, r) {
3266
+ function zi(e, t, n, r) {
3211
3267
  let i = r - n;
3212
3268
  return {
3213
3269
  start: n + Math.floor(e * i / t),
3214
3270
  end: n + Math.floor((e + 1) * i / t)
3215
3271
  };
3216
3272
  }
3217
- function Fi(e, t) {
3273
+ function Bi(e, t) {
3218
3274
  e[e.length - 1] !== t && e.push(t);
3219
3275
  }
3220
- function Ii(e) {
3276
+ function Vi(e) {
3221
3277
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3222
3278
  }
3223
- function Li(e, t) {
3279
+ function Hi(e, t) {
3224
3280
  let n = 1;
3225
3281
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3226
3282
  return n;
3227
3283
  }
3228
- var Ri = class {
3284
+ var Ui = class {
3229
3285
  points;
3230
3286
  extremaLayers = [];
3231
3287
  sumLayers = [];
3232
3288
  indexBytes = 0;
3233
3289
  maxBytes;
3234
3290
  constructor(e, t = {}) {
3235
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Mi;
3291
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Li;
3236
3292
  }
3237
3293
  get byteLength() {
3238
3294
  return this.indexBytes;
@@ -3241,7 +3297,7 @@ var Ri = class {
3241
3297
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3242
3298
  }
3243
3299
  sample(e, t, n, r) {
3244
- let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ni(r, o);
3300
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ri(r, o);
3245
3301
  if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
3246
3302
  }
3247
3303
  allIndexes(e, t) {
@@ -3261,24 +3317,24 @@ var Ri = class {
3261
3317
  if (i === 0) return this.indexes([e, t - 1]);
3262
3318
  let a = [e];
3263
3319
  for (let n = 0; n < i; n += 1) {
3264
- let o = Pi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3320
+ let o = zi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3265
3321
  if (!s) return;
3266
- if (r === "min") Fi(a, s.minimum);
3267
- else if (r === "max") Fi(a, s.maximum);
3268
- else if (r === "minmax") s.minimum <= s.maximum ? (Fi(a, s.minimum), Fi(a, s.maximum)) : (Fi(a, s.maximum), Fi(a, s.minimum));
3322
+ if (r === "min") Bi(a, s.minimum);
3323
+ else if (r === "max") Bi(a, s.maximum);
3324
+ else if (r === "minmax") s.minimum <= s.maximum ? (Bi(a, s.minimum), Bi(a, s.maximum)) : (Bi(a, s.maximum), Bi(a, s.minimum));
3269
3325
  else for (let e of [
3270
3326
  o.start,
3271
3327
  s.minimum,
3272
3328
  s.maximum,
3273
3329
  o.end - 1
3274
- ].sort((e, t) => e - t)) Fi(a, e);
3330
+ ].sort((e, t) => e - t)) Bi(a, e);
3275
3331
  }
3276
- return Fi(a, t - 1), this.indexes(a);
3332
+ return Bi(a, t - 1), this.indexes(a);
3277
3333
  }
3278
3334
  aggregate(e, t, n, r) {
3279
3335
  let i = new Float64Array(n), a = new Float64Array(n);
3280
3336
  for (let o = 0; o < n; o += 1) {
3281
- let s = Pi(o, n, e, t), c = this.querySum(s.start, s.end);
3337
+ let s = zi(o, n, e, t), c = this.querySum(s.start, s.end);
3282
3338
  if (!c || c.count === 0) return;
3283
3339
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3284
3340
  }
@@ -3293,7 +3349,7 @@ var Ri = class {
3293
3349
  if (!this.ensureExtrema(n)) return;
3294
3350
  let r = e, i = e;
3295
3351
  for (let n = e; n < t;) {
3296
- let e = Li(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3352
+ let e = Hi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3297
3353
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3298
3354
  }
3299
3355
  return {
@@ -3306,7 +3362,7 @@ var Ri = class {
3306
3362
  if (!this.ensureSum(n)) return;
3307
3363
  let r = 0, i = 0, a = 0;
3308
3364
  for (let n = e; n < t;) {
3309
- let e = Li(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3365
+ let e = Hi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3310
3366
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3311
3367
  else {
3312
3368
  let e = this.points[n];
@@ -3327,7 +3383,7 @@ var Ri = class {
3327
3383
  minimumIndexes: new Uint32Array(e),
3328
3384
  maximumIndexes: new Uint32Array(e)
3329
3385
  };
3330
- if (!this.reserve(Ii(n))) return !1;
3386
+ if (!this.reserve(Vi(n))) return !1;
3331
3387
  let r = this.extremaLayers[t - 1];
3332
3388
  for (let t = 0; t < e; t += 1) {
3333
3389
  let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
@@ -3345,7 +3401,7 @@ var Ri = class {
3345
3401
  y: new Float64Array(e),
3346
3402
  count: new Uint32Array(e)
3347
3403
  };
3348
- if (!this.reserve(Ii(n))) return !1;
3404
+ if (!this.reserve(Vi(n))) return !1;
3349
3405
  let r = this.sumLayers[t - 1];
3350
3406
  for (let t = 0; t < e; t += 1) {
3351
3407
  let e = t * 2, i = e + 1;
@@ -3370,8 +3426,8 @@ var Ri = class {
3370
3426
  let n = this.points[e], r = this.points[t];
3371
3427
  return n.y > r.y || n.y === r.y && e < t;
3372
3428
  }
3373
- }, zi = 1e3, Bi = I((e) => e.x);
3374
- function Vi(e) {
3429
+ }, Wi = 1e3, Gi = I((e) => e.x);
3430
+ function Ki(e) {
3375
3431
  let t = [], n = !0, r = -Infinity;
3376
3432
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3377
3433
  x: i.x,
@@ -3382,7 +3438,7 @@ function Vi(e) {
3382
3438
  }));
3383
3439
  return n || t.sort((e, t) => e.x - t.x), t;
3384
3440
  }
3385
- function Hi(e, t) {
3441
+ function qi(e, t) {
3386
3442
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3387
3443
  for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
3388
3444
  return {
@@ -3392,7 +3448,7 @@ function Hi(e, t) {
3392
3448
  yDomain: e.length ? [i, a] : null
3393
3449
  };
3394
3450
  }
3395
- function Ui(e, t, n = e.length) {
3451
+ function Ji(e, t, n = e.length) {
3396
3452
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3397
3453
  for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
3398
3454
  return {
@@ -3402,39 +3458,39 @@ function Ui(e, t, n = e.length) {
3402
3458
  yDomain: e.length ? [a, o] : null
3403
3459
  };
3404
3460
  }
3405
- function Wi(e, t) {
3461
+ function Yi(e, t) {
3406
3462
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3407
3463
  }
3408
- function Gi(e) {
3464
+ function Xi(e) {
3409
3465
  return e === "auto" ? "peak" : e;
3410
3466
  }
3411
- function Ki(e) {
3467
+ function Zi(e) {
3412
3468
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3413
3469
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3414
3470
  return Math.max(1, Math.floor(t * n));
3415
3471
  }
3416
- function qi(e, t) {
3472
+ function Qi(e, t) {
3417
3473
  if (e.mode === "raw") return !0;
3418
3474
  if (e.mode !== "auto") return !1;
3419
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : zi;
3475
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Wi;
3420
3476
  if (!e.previousSelectedMode) return t <= n;
3421
3477
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3422
3478
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3423
3479
  }
3424
- function Ji(e, t) {
3480
+ function $i(e, t) {
3425
3481
  let n = e[0], r = e.at(-1);
3426
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Bi.center(e, t)] : void 0;
3482
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Gi.center(e, t)] : void 0;
3427
3483
  }
3428
- function Yi(e) {
3484
+ function ea(e) {
3429
3485
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3430
3486
  }
3431
- function Xi(e, t) {
3487
+ function ta(e, t) {
3432
3488
  return e.kind === "aggregates" ? e : {
3433
3489
  kind: "source-indexes",
3434
3490
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3435
3491
  };
3436
3492
  }
3437
- function Zi(e, t, n, r, i) {
3493
+ function na(e, t, n, r, i) {
3438
3494
  return [
3439
3495
  e.datasetId,
3440
3496
  e.revision,
@@ -3454,14 +3510,14 @@ function Zi(e, t, n, r, i) {
3454
3510
  e.errorBarMinSpacing ?? 0
3455
3511
  ].join("\0");
3456
3512
  }
3457
- function Qi(e, t, n, r, i, a, o, s) {
3513
+ function ra(e, t, n, r, i, a, o, s) {
3458
3514
  return {
3459
3515
  seriesId: e.seriesId,
3460
3516
  datasetId: e.datasetId,
3461
3517
  mode: e.mode,
3462
3518
  selectedMode: i,
3463
3519
  backend: r,
3464
- strategy: Gi(e.strategy),
3520
+ strategy: Xi(e.strategy),
3465
3521
  sourcePointCount: t,
3466
3522
  visiblePointCount: n,
3467
3523
  renderedPointCount: o,
@@ -3477,18 +3533,18 @@ function Qi(e, t, n, r, i, a, o, s) {
3477
3533
  }
3478
3534
  //#endregion
3479
3535
  //#region src/core/workerSampling/repositoryDataset.ts
3480
- function $i(e) {
3536
+ function ia(e) {
3481
3537
  return e?.y.length ?? 0;
3482
3538
  }
3483
- function ea(e, t) {
3539
+ function aa(e, t) {
3484
3540
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3485
3541
  }
3486
- function ta(e, t) {
3542
+ function oa(e, t) {
3487
3543
  let n = (t, n) => {
3488
- let r = 0, i = $i(e);
3544
+ let r = 0, i = ia(e);
3489
3545
  for (; r < i;) {
3490
3546
  let a = r + Math.floor((i - r) / 2);
3491
- (n ? ea(e, a) <= t : ea(e, a) < t) ? r = a + 1 : i = a;
3547
+ (n ? aa(e, a) <= t : aa(e, a) < t) ? r = a + 1 : i = a;
3492
3548
  }
3493
3549
  return r;
3494
3550
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3497,13 +3553,13 @@ function ta(e, t) {
3497
3553
  end: n(i, !0)
3498
3554
  };
3499
3555
  }
3500
- function na(e, t, n) {
3501
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ea(e, t + r));
3556
+ function sa(e, t, n) {
3557
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => aa(e, t + r));
3502
3558
  }
3503
- function ra(e) {
3559
+ function ca(e) {
3504
3560
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3505
3561
  }
3506
- function ia(e, t) {
3562
+ function la(e, t) {
3507
3563
  let n = [], r = Math.min(e.length, t.length);
3508
3564
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3509
3565
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3511,14 +3567,14 @@ function ia(e, t) {
3511
3567
  y: Float64Array.from(n, (e) => t[e])
3512
3568
  };
3513
3569
  }
3514
- function aa(e, t, n, r) {
3570
+ function ua(e, t, n, r) {
3515
3571
  if (t?.kind === "typed") {
3516
- let e = ia(t.x, t.y);
3572
+ let e = la(t.x, t.y);
3517
3573
  return {
3518
3574
  x: e.x,
3519
3575
  y: e.y,
3520
3576
  revision: n,
3521
- metrics: Ui(e.x, e.y, Math.max(t.x.length, t.y.length))
3577
+ metrics: Ji(e.x, e.y, Math.max(t.x.length, t.y.length))
3522
3578
  };
3523
3579
  }
3524
3580
  if (t?.kind === "samples") {
@@ -3552,35 +3608,35 @@ function aa(e, t, n, r) {
3552
3608
  }
3553
3609
  };
3554
3610
  }
3555
- let i = Vi(e ?? t?.points ?? []);
3611
+ let i = Ki(e ?? t?.points ?? []);
3556
3612
  return {
3557
3613
  x: Float64Array.from(i, (e) => e.x),
3558
3614
  y: Float64Array.from(i, (e) => e.y),
3559
3615
  points: i,
3560
3616
  revision: n,
3561
- metrics: Hi(i, e?.length ?? t?.points.length ?? 0),
3562
- index: new Ri(i, { maxBytes: r })
3617
+ metrics: qi(i, e?.length ?? t?.points.length ?? 0),
3618
+ index: new Ui(i, { maxBytes: r })
3563
3619
  };
3564
3620
  }
3565
- function oa(e, t, n) {
3566
- !ra(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3621
+ function da(e, t, n) {
3622
+ !ca(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3567
3623
  }
3568
- function sa(e, t) {
3569
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ra(e) && e.disposeDataset(t.wasmDatasetHandle);
3624
+ function fa(e, t) {
3625
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ca(e) && e.disposeDataset(t.wasmDatasetHandle);
3570
3626
  }
3571
3627
  //#endregion
3572
3628
  //#region src/core/workerSampling/samplingCache.ts
3573
- var ca = 96, la = 16 * 1024 * 1024;
3574
- function ua(e) {
3629
+ var pa = 96, ma = 16 * 1024 * 1024;
3630
+ function ha(e) {
3575
3631
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3576
3632
  }
3577
- var da = class {
3633
+ var ga = class {
3578
3634
  entries = /* @__PURE__ */ new Map();
3579
3635
  bytes = 0;
3580
3636
  maxEntries;
3581
3637
  maxBytes;
3582
3638
  constructor(e = {}) {
3583
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : ca, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : la;
3639
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : pa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ma;
3584
3640
  }
3585
3641
  get metrics() {
3586
3642
  return {
@@ -3595,7 +3651,7 @@ var da = class {
3595
3651
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3596
3652
  }
3597
3653
  set(e, t) {
3598
- let n = ua(t);
3654
+ let n = ha(t);
3599
3655
  if (n > this.maxBytes || this.maxEntries === 0) return;
3600
3656
  let r = this.entries.get(e);
3601
3657
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3615,14 +3671,14 @@ var da = class {
3615
3671
  clear() {
3616
3672
  this.entries.clear(), this.bytes = 0;
3617
3673
  }
3618
- }, fa = class {
3674
+ }, _a = class {
3619
3675
  datasets = /* @__PURE__ */ new Map();
3620
3676
  javascriptBackend;
3621
3677
  cache;
3622
3678
  indexMaxBytes;
3623
3679
  wasmBackend;
3624
3680
  constructor(e = {}) {
3625
- this.javascriptBackend = e.javascriptBackend ?? ji, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new da({
3681
+ this.javascriptBackend = e.javascriptBackend ?? Ii, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ga({
3626
3682
  maxEntries: e.cacheMaxEntries,
3627
3683
  maxBytes: e.cacheMaxBytes
3628
3684
  });
@@ -3635,9 +3691,9 @@ var da = class {
3635
3691
  };
3636
3692
  }
3637
3693
  setWasmBackend(e) {
3638
- this.wasmBackend && this.wasmBackend !== e && ra(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3694
+ this.wasmBackend && this.wasmBackend !== e && ca(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3639
3695
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3640
- })), this.wasmBackend = e, ra(e) && this.datasets.forEach((t) => oa(e, t, this.indexMaxBytes));
3696
+ })), this.wasmBackend = e, ca(e) && this.datasets.forEach((t) => da(e, t, this.indexMaxBytes));
3641
3697
  }
3642
3698
  handle(e) {
3643
3699
  switch (e.type) {
@@ -3653,15 +3709,15 @@ var da = class {
3653
3709
  register(e, t, n, r) {
3654
3710
  let i = this.datasets.get(e);
3655
3711
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3656
- let a = aa(n, r, 1, this.indexMaxBytes);
3657
- return oa(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3712
+ let a = ua(n, r, 1, this.indexMaxBytes);
3713
+ return da(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3658
3714
  }
3659
3715
  replace(e, t, n, r, i) {
3660
- let a = this.datasets.get(e), o = Wi(a, n);
3716
+ let a = this.datasets.get(e), o = Yi(a, n);
3661
3717
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3662
- sa(this.wasmBackend, a), this.cache.deleteDataset(e);
3663
- let s = aa(r, i, a.revision + 1, this.indexMaxBytes);
3664
- return oa(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3718
+ fa(this.wasmBackend, a), this.cache.deleteDataset(e);
3719
+ let s = ua(r, i, a.revision + 1, this.indexMaxBytes);
3720
+ return da(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3665
3721
  }
3666
3722
  sample(e) {
3667
3723
  return {
@@ -3671,28 +3727,28 @@ var da = class {
3671
3727
  };
3672
3728
  }
3673
3729
  sampleSeries(e, t) {
3674
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = Wi(r, t.revision);
3730
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = Yi(r, t.revision);
3675
3731
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3676
- let a = ta(r, t.xDomain), o = a.end - a.start;
3677
- if (qi(t, o)) return this.sampleResponse(e, t, "ok", {
3732
+ let a = oa(r, t.xDomain), o = a.end - a.start;
3733
+ if (Qi(t, o)) return this.sampleResponse(e, t, "ok", {
3678
3734
  kind: "source-indexes",
3679
3735
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3680
3736
  }, "raw", "raw", o, n, !1);
3681
3737
  let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
3682
3738
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3683
- let u = Gi(t.strategy), d = Ki(t), f = Zi(t, a, u, d, l.kind), p = this.cache.get(f);
3739
+ let u = Xi(t.strategy), d = Zi(t), f = na(t, a, u, d, l.kind), p = this.cache.get(f);
3684
3740
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3685
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ra(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Xi(l.sample({
3686
- x: na(r, a.start, a.end),
3741
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ca(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ta(l.sample({
3742
+ x: sa(r, a.start, a.end),
3687
3743
  y: r.y.subarray(a.start, a.end),
3688
3744
  points: r.points?.slice(a.start, a.end) ?? [],
3689
3745
  strategy: u,
3690
3746
  targetPointCount: d
3691
3747
  }), a.start);
3692
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ra(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3748
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ca(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3693
3749
  }
3694
3750
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3695
- let l = Qi(t, $i(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Yi(r), c);
3751
+ let l = ra(t, ia(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, ea(r), c);
3696
3752
  return l.requestId = e, {
3697
3753
  seriesId: t.seriesId,
3698
3754
  datasetId: t.datasetId,
@@ -3703,7 +3759,7 @@ var da = class {
3703
3759
  };
3704
3760
  }
3705
3761
  findNearest(e, t, n, r) {
3706
- let i = this.datasets.get(e), a = Wi(i, n);
3762
+ let i = this.datasets.get(e), a = Yi(i, n);
3707
3763
  return a !== "ok" || !i ? {
3708
3764
  type: "find-nearest-point-response",
3709
3765
  requestId: t,
@@ -3716,12 +3772,12 @@ var da = class {
3716
3772
  datasetId: e,
3717
3773
  revision: n,
3718
3774
  status: a,
3719
- point: i.points ? Ji(i.points, r) : (() => {
3720
- let e = ta(i, [r, r]);
3721
- if (!$i(i) || r < ea(i, 0) || r > ea(i, $i(i) - 1)) return;
3722
- let t = Math.min($i(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ea(i, n)) < Math.abs(ea(i, t) - r) ? n : t;
3723
- return Number.isFinite(r) && $i(i) ? {
3724
- x: ea(i, a),
3775
+ point: i.points ? $i(i.points, r) : (() => {
3776
+ let e = oa(i, [r, r]);
3777
+ if (!ia(i) || r < aa(i, 0) || r > aa(i, ia(i) - 1)) return;
3778
+ let t = Math.min(ia(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - aa(i, n)) < Math.abs(aa(i, t) - r) ? n : t;
3779
+ return Number.isFinite(r) && ia(i) ? {
3780
+ x: aa(i, a),
3725
3781
  y: i.y[a]
3726
3782
  } : void 0;
3727
3783
  })()
@@ -3729,15 +3785,15 @@ var da = class {
3729
3785
  }
3730
3786
  metrics(e, t, n) {
3731
3787
  let r = this.datasets.get(e);
3732
- return this.datasetResponse(t, e, r, Wi(r, n));
3788
+ return this.datasetResponse(t, e, r, Yi(r, n));
3733
3789
  }
3734
3790
  dispose(e, t, n) {
3735
- let r = this.datasets.get(e), i = Wi(r, n);
3736
- return i === "ok" && r && (sa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3791
+ let r = this.datasets.get(e), i = Yi(r, n);
3792
+ return i === "ok" && r && (fa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3737
3793
  }
3738
3794
  disposeAll(e) {
3739
3795
  let t = [...this.datasets.keys()];
3740
- return this.datasets.forEach((e) => sa(this.wasmBackend, e)), ra(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3796
+ return this.datasets.forEach((e) => fa(this.wasmBackend, e)), ca(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3741
3797
  type: "dispose-all-response",
3742
3798
  requestId: e,
3743
3799
  disposedDatasetIds: t
@@ -3759,10 +3815,10 @@ var da = class {
3759
3815
  };
3760
3816
  //#endregion
3761
3817
  //#region src/components/core/latestTaskScheduler.ts
3762
- function pa(e, t, n, r) {
3818
+ function va(e, t, n, r) {
3763
3819
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3764
3820
  }
3765
- function ma() {
3821
+ function ya() {
3766
3822
  let e = 0, t = !1, n, r = !1, i = {
3767
3823
  scheduled: 0,
3768
3824
  coalesced: 0,
@@ -3801,12 +3857,12 @@ function ma() {
3801
3857
  }
3802
3858
  //#endregion
3803
3859
  //#region src/components/core/workerSamplingClient.ts
3804
- function ha(e) {
3860
+ function ba(e) {
3805
3861
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3806
3862
  }
3807
- function ga() {
3863
+ function xa() {
3808
3864
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3809
- t ??= new fa();
3865
+ t ??= new _a();
3810
3866
  for (let [e, n] of i) {
3811
3867
  t.handle({
3812
3868
  type: "register-dataset",
@@ -3842,7 +3898,7 @@ function ga() {
3842
3898
  let t = a();
3843
3899
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3844
3900
  }, c = (r) => {
3845
- t || (n = ha(r), e?.terminate(), e = void 0, s());
3901
+ t || (n = ba(r), e?.terminate(), e = void 0, s());
3846
3902
  };
3847
3903
  try {
3848
3904
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3879,20 +3935,20 @@ function ga() {
3879
3935
  }
3880
3936
  };
3881
3937
  }
3882
- function _a(e) {
3938
+ function Sa(e) {
3883
3939
  return e.type === "dataset-response";
3884
3940
  }
3885
3941
  //#endregion
3886
3942
  //#region src/components/core/useWaveformRenderSampling.ts
3887
- var va = 120;
3888
- function ya(e, t) {
3943
+ var Ca = 120;
3944
+ function wa(e, t) {
3889
3945
  let n = e.output;
3890
3946
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3891
3947
  x: e,
3892
3948
  y: n.y[t]
3893
3949
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3894
3950
  }
3895
- function ba(e, t) {
3951
+ function Ta(e, t) {
3896
3952
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3897
3953
  return {
3898
3954
  seriesId: n.seriesId,
@@ -3914,7 +3970,7 @@ function ba(e, t) {
3914
3970
  maxPendingRequestCount: 0
3915
3971
  };
3916
3972
  }
3917
- function xa(e) {
3973
+ function Ea(e) {
3918
3974
  let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
3919
3975
  if (i <= a) return t.pointsInRange(n, r);
3920
3976
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -3925,7 +3981,7 @@ function xa(e) {
3925
3981
  }
3926
3982
  return o;
3927
3983
  }
3928
- function Sa(e, t, n, r) {
3984
+ function Da(e, t, n, r) {
3929
3985
  return {
3930
3986
  message: e,
3931
3987
  mode: t,
@@ -3933,8 +3989,8 @@ function Sa(e, t, n, r) {
3933
3989
  seriesIds: r
3934
3990
  };
3935
3991
  }
3936
- function Ca(e) {
3937
- let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = ma(), d, f, p = !1, m = t(() => {
3992
+ function Oa(e) {
3993
+ let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = ya(), d, f, p = !1, m = t(() => {
3938
3994
  let t = e.renderingOptions.value.sampling;
3939
3995
  return e.sourceTrackLayouts.value.flatMap((n) => {
3940
3996
  let r = n.xScale.domain();
@@ -3999,13 +4055,13 @@ function Ca(e) {
3999
4055
  revision: 0,
4000
4056
  dataset: t.source.toWorkerDataset()
4001
4057
  });
4002
- !u.isCurrent(n) || !_a(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4058
+ !u.isCurrent(n) || !Sa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4003
4059
  }));
4004
4060
  }, x = async (t, n = !1) => {
4005
4061
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4006
4062
  if (o.forEach((e) => {
4007
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && pa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4008
- e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(ba(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = xa(e)), l.push({
4063
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && va(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4064
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Ta(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ea(e)), l.push({
4009
4065
  ...e,
4010
4066
  request: {
4011
4067
  ...e.request,
@@ -4017,7 +4073,7 @@ function Ca(e) {
4017
4073
  e.linePointOverrides.value = c, v(d);
4018
4074
  return;
4019
4075
  }
4020
- if (e.linePointOverrides.value = c, r ??= ga(), await b(r, l, t), !u.isCurrent(t)) return;
4076
+ if (e.linePointOverrides.value = c, r ??= xa(), await b(r, l, t), !u.isCurrent(t)) return;
4021
4077
  let f = l.map((e) => ({
4022
4078
  ...e.request,
4023
4079
  revision: a.get(e.request.datasetId) ?? 1
@@ -4032,22 +4088,22 @@ function Ca(e) {
4032
4088
  p = e;
4033
4089
  } catch (n) {
4034
4090
  if (!u.isCurrent(t)) return;
4035
- y(Sa(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4091
+ y(Da(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4036
4092
  return;
4037
4093
  }
4038
4094
  if (!u.isCurrent(t)) return;
4039
4095
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4040
4096
  p.results.forEach((e) => {
4041
- let t = h.get(e.seriesId), n = t ? ya(e, t) : void 0;
4042
- n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Sa(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4043
- }), p.workerError && y(Sa(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Sa(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4097
+ let t = h.get(e.seriesId), n = t ? wa(e, t) : void 0;
4098
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Da(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4099
+ }), p.workerError && y(Da(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Da(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4044
4100
  };
4045
4101
  return O(h, () => {
4046
4102
  f && clearTimeout(f);
4047
4103
  let t = p;
4048
4104
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4049
4105
  f = void 0, u.schedule((e) => x(e, !1));
4050
- }, va));
4106
+ }, Ca));
4051
4107
  }, { immediate: !0 }), O(e.preparedSeries, () => {
4052
4108
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4053
4109
  }, { flush: "sync" }), _(() => {
@@ -4056,11 +4112,11 @@ function Ca(e) {
4056
4112
  }
4057
4113
  //#endregion
4058
4114
  //#region src/components/core/useWaveformChartController.ts
4059
- function wa(e, t) {
4115
+ function ka(e, t) {
4060
4116
  e.value = t instanceof Element ? t : void 0;
4061
4117
  }
4062
- function Ta(e, t) {
4063
- let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(K), p = C([]), m = b({}), h = b({}), g = S({
4118
+ function Aa(e, t) {
4119
+ let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
4064
4120
  points: [],
4065
4121
  trackIndex: null,
4066
4122
  queryX: null,
@@ -4069,11 +4125,13 @@ function Ta(e, t) {
4069
4125
  x: 0,
4070
4126
  y: 0
4071
4127
  }
4072
- }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Ar();
4128
+ }), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Fr();
4073
4129
  O([() => e.yDomain, () => e.yDomains], () => {
4074
4130
  m.value = {}, h.value = {};
4075
4131
  }, { deep: !0 });
4076
- let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Fr(() => e.data, () => I(), () => L()), z = xi({
4132
+ let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Br(() => e.data, () => {
4133
+ R(), I();
4134
+ }, () => L()), B = Ei({
4077
4135
  props: e,
4078
4136
  observedWidth: o,
4079
4137
  observedHeight: s,
@@ -4081,110 +4139,112 @@ function Ta(e, t) {
4081
4139
  measuredTitleHeight: l,
4082
4140
  internalHiddenSeriesIds: E,
4083
4141
  paginationBandHeight: u
4084
- }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = _i({
4142
+ }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Si({
4085
4143
  props: e,
4086
- preparedSeries: R,
4144
+ preparedSeries: z,
4087
4145
  currentPage: v,
4088
- hiddenSeriesIdSet: W,
4089
- chartWidth: B,
4090
- innerHeight: G,
4091
- isCleanView: H,
4146
+ hiddenSeriesIdSet: G,
4147
+ chartWidth: V,
4148
+ innerHeight: J,
4149
+ isCleanView: U,
4092
4150
  sharedTransform: f,
4093
4151
  independentTransforms: p,
4094
4152
  sharedYDomains: m,
4095
4153
  independentYDomains: h,
4096
4154
  annotationInteraction: d(D),
4097
4155
  linePointOverrides: A
4098
- }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: J, resolvedChartLeftMargin: fe, innerWidth: Y, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = q;
4099
- Ca({
4156
+ }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
4157
+ Oa({
4100
4158
  props: e,
4101
4159
  emit: t,
4102
4160
  instanceId: w,
4103
- preparedSeries: R,
4104
- sourceTrackLayouts: ce,
4161
+ preparedSeries: z,
4162
+ sourceTrackLayouts: le,
4105
4163
  renderingOptions: se,
4106
4164
  linePointOverrides: A
4107
4165
  }), k(() => {
4108
- u.value = ue.value.showPagination && de.value > 1 && B.value <= 520 ? 40 : 0;
4166
+ u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
4109
4167
  });
4110
- let xe = jr({
4168
+ let X = Ir({
4111
4169
  props: e,
4112
4170
  emit: t,
4113
4171
  svgElement: r,
4114
4172
  sharedOverlayElement: a,
4115
4173
  sharedTransform: f,
4116
4174
  independentTransforms: p,
4117
- trackLayouts: ce,
4118
- initialXDomain: ge,
4119
- sharedZoomDomain: _e,
4120
- innerWidth: Y,
4121
- innerHeight: G,
4122
- hasChartArea: pe,
4123
- isZoomMode: he,
4124
- isPresentationMode: U,
4125
- resolveInitialTrackDomain: ve,
4126
- cancelPendingHover: () => Ce.cancelPendingHover()
4127
- }), X = fr({
4175
+ trackLayouts: le,
4176
+ initialXDomain: _e,
4177
+ sharedZoomDomain: ve,
4178
+ innerWidth: pe,
4179
+ innerHeight: J,
4180
+ hasChartArea: me,
4181
+ isZoomMode: ge,
4182
+ isPresentationMode: W,
4183
+ resolveInitialTrackDomain: ye,
4184
+ cancelPendingHover: () => we.cancelPendingHover()
4185
+ });
4186
+ R = X.prepareForDataChange;
4187
+ let Se = fr({
4128
4188
  props: e,
4129
4189
  emit: t,
4130
4190
  container: n,
4131
4191
  chartSeries: ae,
4132
- hiddenSeriesIdSet: W,
4192
+ hiddenSeriesIdSet: G,
4133
4193
  internalHiddenSeriesIds: E,
4134
4194
  annotationInteraction: D,
4135
4195
  editorSeriesOptions: j,
4136
- trackLayouts: ce,
4137
- annotationLayoutsForTrack: ye,
4138
- resolveSeriesYScale: be,
4139
- chartWidth: B,
4140
- chartHeight: V,
4141
- innerWidth: Y,
4196
+ trackLayouts: le,
4197
+ annotationLayoutsForTrack: be,
4198
+ resolveSeriesYScale: xe,
4199
+ chartWidth: V,
4200
+ chartHeight: H,
4201
+ innerWidth: pe,
4142
4202
  resolvedChartLeftMargin: fe,
4143
4203
  titleAreaHeight: re,
4144
- chartTopMargin: ie,
4145
- activeInteractionMode: me,
4146
- isPresentationMode: U
4147
- }), Se = kr({
4204
+ chartTopMargin: K,
4205
+ activeInteractionMode: he,
4206
+ isPresentationMode: W
4207
+ }), Ce = Pr({
4148
4208
  props: e,
4149
4209
  emit: t,
4150
4210
  selection: N,
4151
4211
  spacePressed: P,
4152
- trackLayouts: ce,
4212
+ trackLayouts: le,
4153
4213
  chartTracks: oe,
4154
- initialXDomain: ge,
4155
- innerWidth: Y,
4156
- innerHeight: G,
4214
+ initialXDomain: _e,
4215
+ innerWidth: pe,
4216
+ innerHeight: J,
4157
4217
  sharedOverlayElement: a,
4158
4218
  sharedTransform: f,
4159
4219
  independentTransforms: p,
4160
4220
  sharedYDomains: m,
4161
4221
  independentYDomains: h,
4162
- isZoomMode: he,
4163
- isPresentationMode: U,
4222
+ isZoomMode: ge,
4223
+ isPresentationMode: W,
4164
4224
  editorSeriesOptions: j,
4165
- resolveInitialTrackDomain: ve,
4166
- canZoomTrack: xe.canZoomTrack,
4167
- canZoomSharedTracks: xe.canZoomSharedTracks,
4168
- configureZoom: xe.configureZoom,
4169
- cancelPendingZoom: xe.cancelPendingZoom,
4170
- clearHover: () => Ce.clearHover(),
4171
- resolveTrackAtPointer: X.resolveTrackAtPointer
4172
- }), Ce = pr({
4225
+ resolveInitialTrackDomain: ye,
4226
+ canZoomTrack: X.canZoomTrack,
4227
+ canZoomSharedTracks: X.canZoomSharedTracks,
4228
+ configureZoom: X.configureZoom,
4229
+ cancelPendingZoom: X.cancelPendingZoom,
4230
+ clearHover: () => we.clearHover(),
4231
+ resolveTrackAtPointer: Se.resolveTrackAtPointer
4232
+ }), we = pr({
4173
4233
  emit: t,
4174
4234
  hoverState: g,
4175
4235
  suppressHoverUntilMove: _,
4176
4236
  hoverThrottle: M,
4177
4237
  selection: N,
4178
- trackLayouts: ce,
4179
- innerWidth: Y,
4238
+ trackLayouts: le,
4239
+ innerWidth: pe,
4180
4240
  resolvedChartLeftMargin: fe,
4181
4241
  titleAreaHeight: re,
4182
- chartTopMargin: ie,
4242
+ chartTopMargin: K,
4183
4243
  sharedOverlayElement: a,
4184
- isPresentationMode: U,
4185
- updateViewportDrag: Se.updateViewportDrag,
4186
- resolveTrackAtPointer: X.resolveTrackAtPointer
4187
- }), we = Nr({
4244
+ isPresentationMode: W,
4245
+ updateViewportDrag: Ce.updateViewportDrag,
4246
+ resolveTrackAtPointer: Se.resolveTrackAtPointer
4247
+ }), Te = Rr({
4188
4248
  props: e,
4189
4249
  emit: t,
4190
4250
  container: n,
@@ -4200,41 +4260,41 @@ function Ta(e, t) {
4200
4260
  spacePressed: P,
4201
4261
  pointerInsideChart: F,
4202
4262
  currentPage: v,
4203
- pageCount: de,
4204
- pagedTracks: J,
4263
+ pageCount: Y,
4264
+ pagedTracks: de,
4205
4265
  gridOptions: ue,
4206
4266
  chartSeries: ae,
4207
4267
  chartTracks: oe,
4208
- trackLayouts: ce,
4209
- innerWidth: Y,
4210
- innerHeight: G,
4211
- sharedZoomDomain: _e,
4212
- initialXDomain: ge,
4268
+ trackLayouts: le,
4269
+ innerWidth: pe,
4270
+ innerHeight: J,
4271
+ sharedZoomDomain: ve,
4272
+ initialXDomain: _e,
4213
4273
  sharedTransform: f,
4214
- activeInteractionMode: me,
4215
- hiddenSeriesIdSet: W,
4274
+ activeInteractionMode: he,
4275
+ hiddenSeriesIdSet: G,
4216
4276
  internalHiddenSeriesIds: E,
4217
4277
  independentTransforms: p,
4218
4278
  independentYDomains: h,
4219
- resolveInitialTrackDomain: ve,
4279
+ resolveInitialTrackDomain: ye,
4220
4280
  annotationInteraction: D,
4221
4281
  editorSeriesOptions: j,
4222
- isPresentationMode: U,
4223
- clearHover: Ce.clearHover,
4224
- cancelAnnotation: X.cancelAnnotation,
4225
- configureZoom: xe.configureZoom,
4226
- resetViewport: Se.resetViewport,
4227
- cancelViewportDrag: Se.cancelViewportDrag,
4228
- cancelPendingHover: Ce.cancelPendingHover,
4229
- clearZoomBindings: xe.clearZoomBindings
4282
+ isPresentationMode: W,
4283
+ clearHover: we.clearHover,
4284
+ cancelAnnotation: Se.cancelAnnotation,
4285
+ configureZoom: X.configureZoom,
4286
+ resetViewport: Ce.resetViewport,
4287
+ cancelViewportDrag: Ce.cancelViewportDrag,
4288
+ cancelPendingHover: we.cancelPendingHover,
4289
+ clearZoomBindings: X.clearZoomBindings
4230
4290
  });
4231
- return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, y({
4291
+ return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, y({
4232
4292
  ...T(e),
4233
- ...z,
4234
- ...q,
4235
- ...X,
4293
+ ...B,
4294
+ ...ie,
4236
4295
  ...Se,
4237
4296
  ...Ce,
4297
+ ...we,
4238
4298
  margin: Lt,
4239
4299
  getPageSize: Bn,
4240
4300
  currentPage: v,
@@ -4246,35 +4306,35 @@ function Ta(e, t) {
4246
4306
  contextMenu: D.contextMenu,
4247
4307
  editorSeriesOptions: j,
4248
4308
  clipPathId: w,
4249
- goToPage: we.goToPage,
4250
- setContainer: (e) => wa(n, e),
4251
- setSvgElement: (e) => wa(r, e),
4252
- setTitleMeasureElement: (e) => wa(i, e),
4253
- setSharedOverlayElement: (e) => wa(a, e)
4309
+ goToPage: Te.goToPage,
4310
+ setContainer: (e) => ka(n, e),
4311
+ setSvgElement: (e) => ka(r, e),
4312
+ setTitleMeasureElement: (e) => ka(i, e),
4313
+ setSharedOverlayElement: (e) => ka(a, e)
4254
4314
  });
4255
4315
  }
4256
4316
  //#endregion
4257
4317
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4258
- var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4318
+ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
4259
4319
  class: "waveform-annotation-editor__coordinates",
4260
4320
  "aria-label": "标注坐标"
4261
- }, ka = ["aria-invalid"], Aa = {
4321
+ }, Pa = ["aria-invalid"], Fa = {
4262
4322
  class: "waveform-annotation-editor__coordinate-value",
4263
4323
  "aria-hidden": "true"
4264
- }, ja = ["id"], Ma = {
4324
+ }, Ia = ["id"], La = {
4265
4325
  key: 0,
4266
4326
  class: "waveform-annotation-editor__series",
4267
4327
  "aria-label": "标注所属波形"
4268
- }, Na = { class: "waveform-annotation-editor__series-label" }, Pa = ["value"], Fa = ["value"], Ia = { key: 1 }, La = { class: "waveform-annotation-editor__field" }, Ra = { class: "waveform-annotation-editor__label-row" }, za = ["maxlength"], Ba = { class: "waveform-annotation-editor__colors" }, Va = {
4328
+ }, Ra = { class: "waveform-annotation-editor__series-label" }, za = ["value"], Ba = ["value"], Va = { key: 1 }, Ha = { class: "waveform-annotation-editor__field" }, Ua = { class: "waveform-annotation-editor__label-row" }, Wa = ["maxlength"], Ga = { class: "waveform-annotation-editor__colors" }, Ka = {
4269
4329
  class: "waveform-annotation-editor__color-field",
4270
4330
  title: "调整标注边框色和透明度"
4271
- }, Ha = {
4331
+ }, qa = {
4272
4332
  class: "waveform-annotation-editor__color-field",
4273
4333
  title: "调整标注文字色和透明度"
4274
- }, Ua = {
4334
+ }, Ja = {
4275
4335
  class: "waveform-annotation-editor__color-field",
4276
4336
  title: "调整标注背景色和透明度"
4277
- }, Wa = /*#__PURE__*/ et(/* @__PURE__ */ l({
4337
+ }, Ya = /*#__PURE__*/ et(/* @__PURE__ */ l({
4278
4338
  __name: "WaveformAnnotationEditor",
4279
4339
  props: {
4280
4340
  annotation: {},
@@ -4294,7 +4354,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4294
4354
  let u = c(async () => typeof window > "u" ? {
4295
4355
  name: "WaveformColorPickerSsrFallback",
4296
4356
  render: () => null
4297
- } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = le("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4357
+ } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = ce("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4298
4358
  let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
4299
4359
  return e ? {
4300
4360
  id: e.seriesId,
@@ -4332,7 +4392,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4332
4392
  let t = e.target;
4333
4393
  t.value && p("series-change", t.value);
4334
4394
  }
4335
- return (t, o) => (v(), n(E(oe), {
4395
+ return (t, o) => (v(), n(E(ae), {
4336
4396
  visible: !0,
4337
4397
  width: 440,
4338
4398
  "mask-closable": !0,
@@ -4345,15 +4405,15 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4345
4405
  onCancel: o[4] ||= (e) => p("cancel"),
4346
4406
  onOk: B
4347
4407
  }, {
4348
- title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ea)]),
4349
- default: A(() => [a("div", Da, [
4350
- a("div", Oa, [
4408
+ title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, ja)]),
4409
+ default: A(() => [a("div", Ma, [
4410
+ a("div", Na, [
4351
4411
  a("label", {
4352
4412
  class: "waveform-annotation-editor__coordinate-input",
4353
4413
  "aria-invalid": !!N.value
4354
4414
  }, [
4355
4415
  o[5] ||= a("b", null, "X", -1),
4356
- s(E(ae), {
4416
+ s(E(ie), {
4357
4417
  value: y.value === "" ? void 0 : Number(y.value),
4358
4418
  controls: !0,
4359
4419
  step: .001,
@@ -4370,26 +4430,26 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4370
4430
  "aria-invalid",
4371
4431
  "aria-describedby"
4372
4432
  ]),
4373
- a("code", Aa, w(y.value), 1)
4374
- ], 8, ka),
4433
+ a("code", Fa, w(y.value), 1)
4434
+ ], 8, Pa),
4375
4435
  N.value ? (v(), i("p", {
4376
4436
  key: 0,
4377
4437
  id: `${E(g)}-time-error`,
4378
4438
  class: "waveform-annotation-editor__coordinate-error",
4379
4439
  role: "alert"
4380
- }, w(N.value), 9, ja)) : r("", !0),
4440
+ }, w(N.value), 9, Ia)) : r("", !0),
4381
4441
  a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
4382
4442
  ]),
4383
4443
  o[13] ||= a("p", {
4384
4444
  class: "waveform-annotation-editor__coordinate-hint",
4385
4445
  role: "note"
4386
4446
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4387
- I.value ? (v(), i("label", Ma, [
4447
+ I.value ? (v(), i("label", La, [
4388
4448
  a("i", {
4389
4449
  style: m({ backgroundColor: I.value.color }),
4390
4450
  "aria-hidden": "true"
4391
4451
  }, null, 4),
4392
- a("span", Na, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4452
+ a("span", Ra, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4393
4453
  d.seriesOptions?.length ? (v(), i("select", {
4394
4454
  key: 0,
4395
4455
  value: d.annotation.seriesId,
@@ -4398,9 +4458,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4398
4458
  }, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
4399
4459
  key: e.seriesId,
4400
4460
  value: e.seriesId
4401
- }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Fa))), 128))], 40, Pa)) : I.value.unit ? (v(), i("code", Ia, w(I.value.unit), 1)) : r("", !0)
4461
+ }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ba))), 128))], 40, za)) : I.value.unit ? (v(), i("code", Va, w(I.value.unit), 1)) : r("", !0)
4402
4462
  ])) : r("", !0),
4403
- a("label", La, [a("span", Ra, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4463
+ a("label", Ha, [a("span", Ua, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4404
4464
  ref_key: "textarea",
4405
4465
  ref: h,
4406
4466
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4409,10 +4469,10 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4409
4469
  "aria-label": "标注文本",
4410
4470
  placeholder: "输入这处波形的说明",
4411
4471
  onKeydown: V
4412
- }, null, 40, za), [[D, _.value]])]),
4413
- a("fieldset", Ba, [
4472
+ }, null, 40, Wa), [[D, _.value]])]),
4473
+ a("fieldset", Ga, [
4414
4474
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4415
- a("label", Va, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4475
+ a("label", Ka, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4416
4476
  "pure-color": C.value,
4417
4477
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4418
4478
  "aria-label": "标注边框色",
@@ -4422,7 +4482,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4422
4482
  "disable-alpha": !1,
4423
4483
  "blur-close": !0
4424
4484
  }, null, 8, ["pure-color"])]),
4425
- a("label", Ha, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4485
+ a("label", qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4426
4486
  "pure-color": T.value,
4427
4487
  "onUpdate:pureColor": o[2] ||= (e) => T.value = e,
4428
4488
  "aria-label": "标注文字色",
@@ -4432,7 +4492,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4432
4492
  "disable-alpha": !1,
4433
4493
  "blur-close": !0
4434
4494
  }, null, 8, ["pure-color"])]),
4435
- a("label", Ua, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4495
+ a("label", Ja, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4436
4496
  "pure-color": k.value,
4437
4497
  "onUpdate:pureColor": o[3] ||= (e) => k.value = e,
4438
4498
  "aria-label": "标注背景色",
@@ -4447,13 +4507,13 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4447
4507
  _: 1
4448
4508
  }, 8, ["ok-button-props"]));
4449
4509
  }
4450
- }), [["__scopeId", "data-v-01ecd3a4"]]), Ga = { class: "waveform-tooltip__series-content" }, Ka = { class: "waveform-tooltip__series-label" }, qa = {
4510
+ }), [["__scopeId", "data-v-01ecd3a4"]]), Xa = { class: "waveform-tooltip__series-content" }, Za = { class: "waveform-tooltip__series-label" }, Qa = {
4451
4511
  key: 0,
4452
4512
  class: "waveform-tooltip__value"
4453
- }, Ja = {
4513
+ }, $a = {
4454
4514
  key: 1,
4455
4515
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4456
- }, Ya = 12, Xa = 8, Za = 238, Qa = 560, $a = 20, eo = 20, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
4516
+ }, eo = 12, to = 8, no = 238, ro = 560, io = 20, ao = 20, oo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4457
4517
  __name: "WaveformTooltip",
4458
4518
  props: {
4459
4519
  visible: { type: Boolean },
@@ -4467,7 +4527,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4467
4527
  setup(n) {
4468
4528
  let s = n;
4469
4529
  function c(e, t) {
4470
- let n = Math.max(1, t - $a - 14), r = Math.max(1, Math.floor(n / 7.2));
4530
+ let n = Math.max(1, t - io - 14), r = Math.max(1, Math.floor(n / 7.2));
4471
4531
  return Math.max(1, Math.ceil([...e].length / r));
4472
4532
  }
4473
4533
  function l(e) {
@@ -4475,18 +4535,18 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4475
4535
  return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
4476
4536
  }
4477
4537
  function u(e) {
4478
- return 16 + eo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4538
+ return 16 + ao * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4479
4539
  }
4480
4540
  let d = t(() => {
4481
4541
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4482
- let e = s.position.x + Ya, t = s.position.x - Ya - Za, n = s.containerWidth - Xa - e, r = s.position.x - Ya - Xa, i = Math.max(1, Math.min(Qa, s.containerWidth - Xa * 2)), a = e + Za <= s.containerWidth - Xa ? {
4542
+ let e = s.position.x + eo, t = s.position.x - eo - no, n = s.containerWidth - to - e, r = s.position.x - eo - to, i = Math.max(1, Math.min(ro, s.containerWidth - to * 2)), a = e + no <= s.containerWidth - to ? {
4483
4543
  left: `${e}px`,
4484
- maxWidth: `${Math.min(Qa, n)}px`
4485
- } : t >= Xa ? {
4486
- right: `${s.containerWidth - s.position.x + Ya}px`,
4487
- maxWidth: `${Math.min(Qa, r)}px`
4544
+ maxWidth: `${Math.min(ro, n)}px`
4545
+ } : t >= to ? {
4546
+ right: `${s.containerWidth - s.position.x + eo}px`,
4547
+ maxWidth: `${Math.min(ro, r)}px`
4488
4548
  } : {
4489
- left: `${Xa}px`,
4549
+ left: `${to}px`,
4490
4550
  maxWidth: `${i}px`
4491
4551
  }, o = Number.parseFloat(a.maxWidth);
4492
4552
  return {
@@ -4501,9 +4561,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4501
4561
  }, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
4502
4562
  key: `${t.trackIndex}-${t.name}`,
4503
4563
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4504
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Ga, [a("span", Ka, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", qa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", Ja, "无数据"))])]))), 128))], 4)) : r("", !0);
4564
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Xa, [a("span", Za, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Qa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", $a, "无数据"))])]))), 128))], 4)) : r("", !0);
4505
4565
  }
4506
- }), [["__scopeId", "data-v-1ae3316b"]]), no = /* @__PURE__ */ l({
4566
+ }), [["__scopeId", "data-v-1ae3316b"]]), so = /* @__PURE__ */ l({
4507
4567
  __name: "WaveformHoverHost",
4508
4568
  props: {
4509
4569
  state: {},
@@ -4514,7 +4574,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4514
4574
  },
4515
4575
  setup(e) {
4516
4576
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4517
- return (t, r) => (v(), n(to, {
4577
+ return (t, r) => (v(), n(oo, {
4518
4578
  visible: e.visible && i.value !== null,
4519
4579
  position: e.state.position,
4520
4580
  "time-unit": e.timeUnit,
@@ -4532,16 +4592,16 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4532
4592
  "container-height"
4533
4593
  ]));
4534
4594
  }
4535
- }), ro = 13, io = 2, ao = 14, oo = 8, so = 24, co = {
4536
- circle: te,
4537
- square: re,
4538
- triangle: ie,
4539
- diamond: ne
4595
+ }), co = 13, lo = 2, uo = 14, fo = 8, po = 24, mo = {
4596
+ circle: ee,
4597
+ square: ne,
4598
+ triangle: re,
4599
+ diamond: te
4540
4600
  };
4541
- function lo(e, t = 48) {
4542
- return e === "none" ? null : ee().type(co[e]).size(t)() ?? null;
4601
+ function ho(e, t = 48) {
4602
+ return e === "none" ? null : G().type(mo[e]).size(t)() ?? null;
4543
4603
  }
4544
- function uo(e, t, n = 48) {
4604
+ function go(e, t, n = 48) {
4545
4605
  if (e === "none" || t.length === 0) return null;
4546
4606
  if (e === "circle") {
4547
4607
  let e = Math.sqrt(n / Math.PI);
@@ -4558,24 +4618,24 @@ function uo(e, t, n = 48) {
4558
4618
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4559
4619
  return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
4560
4620
  }
4561
- function fo(e) {
4621
+ function _o(e) {
4562
4622
  return e === "none" ? null : "M1 8H25";
4563
4623
  }
4564
- function po(e) {
4624
+ function vo(e) {
4565
4625
  if (e === "dashed") return "8 5";
4566
4626
  if (e === "dash-dot") return "8 5 1.5 5";
4567
4627
  }
4568
- function mo(e) {
4569
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, so) : oo) / 2, n = ro - t, r = ro + t;
4628
+ function yo(e) {
4629
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, po) : fo) / 2, n = co - t, r = co + t;
4570
4630
  return [
4571
- `M${n} ${io}H${r}`,
4572
- `M${ro} ${io}V${ao}`,
4573
- `M${n} ${ao}H${r}`
4631
+ `M${n} ${lo}H${r}`,
4632
+ `M${co} ${lo}V${uo}`,
4633
+ `M${n} ${uo}H${r}`
4574
4634
  ].join("");
4575
4635
  }
4576
4636
  //#endregion
4577
4637
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4578
- var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4638
+ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
4579
4639
  "data-series-id",
4580
4640
  "data-series-name",
4581
4641
  "data-y-axis-index",
@@ -4584,11 +4644,11 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4584
4644
  "d",
4585
4645
  "stroke",
4586
4646
  "stroke-dasharray"
4587
- ], vo = ["data-series-id"], yo = [
4647
+ ], Co = ["data-series-id"], wo = [
4588
4648
  "d",
4589
4649
  "stroke",
4590
4650
  "stroke-width"
4591
- ], bo = ["data-series-id", "data-point-type"], xo = ["d", "fill"], So = /*#__PURE__*/ et(/* @__PURE__ */ l({
4651
+ ], To = ["data-series-id", "data-point-type"], Eo = ["d", "fill"], Do = /*#__PURE__*/ et(/* @__PURE__ */ l({
4592
4652
  __name: "WaveformSeriesLayer",
4593
4653
  props: {
4594
4654
  track: {},
@@ -4596,7 +4656,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4596
4656
  },
4597
4657
  setup(n) {
4598
4658
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4599
- let t = uo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4659
+ let t = go(e.series.pointType, e.pointRenderPoints.map((t) => ({
4600
4660
  x: a.track.xScale(t.x),
4601
4661
  y: e.yScale(t.y)
4602
4662
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4633,8 +4693,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4633
4693
  "data-line-style": e.series.lineStyle,
4634
4694
  d: e.path,
4635
4695
  stroke: e.series.color,
4636
- "stroke-dasharray": E(po)(e.series.lineStyle)
4637
- }, null, 8, _o)) : r("", !0),
4696
+ "stroke-dasharray": E(vo)(e.series.lineStyle)
4697
+ }, null, 8, So)) : r("", !0),
4638
4698
  e.series.errorBar.visible ? (v(), i("g", {
4639
4699
  key: 1,
4640
4700
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4645,7 +4705,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4645
4705
  d: e.errorBarPath,
4646
4706
  stroke: e.series.errorBar.color || e.series.color,
4647
4707
  "stroke-width": e.series.errorBar.width
4648
- }, null, 8, yo)) : r("", !0)], 8, vo)) : r("", !0),
4708
+ }, null, 8, wo)) : r("", !0)], 8, Co)) : r("", !0),
4649
4709
  e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
4650
4710
  key: 2,
4651
4711
  class: "waveform-track__points waveform-chart__points",
@@ -4656,28 +4716,28 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4656
4716
  class: "waveform-track__point waveform-chart__point",
4657
4717
  d: e.pointPath,
4658
4718
  fill: e.series.color
4659
- }, null, 8, xo)) : r("", !0)], 8, bo))
4660
- ], 8, go))), 128))], 8, ho)) : r("", !0);
4719
+ }, null, 8, Eo)) : r("", !0)], 8, To))
4720
+ ], 8, xo))), 128))], 8, bo)) : r("", !0);
4661
4721
  }
4662
- }), [["__scopeId", "data-v-42a3fd47"]]), Co = ["transform"], wo = ["transform"], To = {
4722
+ }), [["__scopeId", "data-v-42a3fd47"]]), Oo = ["transform"], ko = ["transform"], Ao = {
4663
4723
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4664
4724
  x: "0",
4665
4725
  y: "7",
4666
4726
  dy: "0.71em",
4667
4727
  "text-anchor": "start"
4668
- }, Eo = ["x"], Do = [
4728
+ }, jo = ["x"], Mo = [
4669
4729
  "data-y-axis-index",
4670
4730
  "data-y-axis-side",
4671
4731
  "transform"
4672
- ], Oo = { key: 2 }, ko = [
4732
+ ], No = { key: 2 }, Po = [
4673
4733
  "x",
4674
4734
  "y",
4675
4735
  "width"
4676
- ], Ao = ["fill", "transform"], jo = ["data-y-axis-title-index"], Mo = [
4736
+ ], Fo = ["fill", "transform"], Io = ["data-y-axis-title-index"], Lo = [
4677
4737
  "x",
4678
4738
  "y",
4679
4739
  "width"
4680
- ], No = ["fill", "transform"], Po = /* @__PURE__ */ l({
4740
+ ], Ro = ["fill", "transform"], zo = /* @__PURE__ */ l({
4681
4741
  __name: "WaveformTrackAxes",
4682
4742
  props: {
4683
4743
  track: {},
@@ -4737,7 +4797,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4737
4797
  ref: o,
4738
4798
  class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
4739
4799
  transform: `translate(0, ${t.track.height})`
4740
- }, null, 10, Co)) : r("", !0),
4800
+ }, null, 10, Oo)) : r("", !0),
4741
4801
  t.track.showXAxis ? (v(), i("g", {
4742
4802
  key: 1,
4743
4803
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4745,13 +4805,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4745
4805
  "font-family": "sans-serif",
4746
4806
  "font-size": "10",
4747
4807
  "aria-hidden": "true"
4748
- }, [a("text", To, w(t.track.endpointLabels.start), 1), a("text", {
4808
+ }, [a("text", Ao, w(t.track.endpointLabels.start), 1), a("text", {
4749
4809
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4750
4810
  x: t.track.width ?? t.innerWidth,
4751
4811
  y: "7",
4752
4812
  dy: "0.71em",
4753
4813
  "text-anchor": "end"
4754
- }, w(t.track.endpointLabels.end), 9, Eo)], 8, wo)) : r("", !0),
4814
+ }, w(t.track.endpointLabels.end), 9, jo)], 8, ko)) : r("", !0),
4755
4815
  (v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
4756
4816
  key: `y-axis-${t.track.index}-${e.index}`,
4757
4817
  ref_for: !0,
@@ -4760,21 +4820,21 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4760
4820
  "data-y-axis-index": e.index,
4761
4821
  "data-y-axis-side": e.side,
4762
4822
  transform: `translate(${e.x}, 0)`
4763
- }, null, 10, Do))), 128)),
4764
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Oo, [a("rect", {
4823
+ }, null, 10, Mo))), 128)),
4824
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", No, [a("rect", {
4765
4825
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4766
4826
  x: t.track.yAxisLabelX - E(12) / 2,
4767
4827
  y: t.track.height / 2 - 40,
4768
4828
  width: E(12),
4769
4829
  height: "80",
4770
4830
  rx: "2"
4771
- }, null, 8, ko), a("text", {
4831
+ }, null, 8, Po), a("text", {
4772
4832
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4773
4833
  fill: t.track.series?.color,
4774
4834
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4775
4835
  "text-anchor": "middle",
4776
4836
  "dominant-baseline": "central"
4777
- }, w(t.track.series ? c(t.track.series) : ""), 9, Ao)])) : r("", !0),
4837
+ }, w(t.track.series ? c(t.track.series) : ""), 9, Fo)])) : r("", !0),
4778
4838
  (v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
4779
4839
  key: `y-axis-title-${t.track.index}-${e.index}`,
4780
4840
  class: "waveform-track__multi-axis-title",
@@ -4786,40 +4846,40 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4786
4846
  width: E(12),
4787
4847
  height: "80",
4788
4848
  rx: "2"
4789
- }, null, 8, Mo), a("text", {
4849
+ }, null, 8, Lo), a("text", {
4790
4850
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4791
4851
  fill: e.seriesList[0].color,
4792
4852
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4793
4853
  "text-anchor": "middle",
4794
4854
  "dominant-baseline": "central"
4795
- }, w(c(e.seriesList[0])), 9, No)], 8, jo))), 128))
4855
+ }, w(c(e.seriesList[0])), 9, Ro)], 8, Io))), 128))
4796
4856
  ], 64));
4797
4857
  }
4798
- }), Fo = [
4858
+ }), Bo = [
4799
4859
  "width",
4800
4860
  "height",
4801
4861
  "fill"
4802
- ], Io = ["clip-path"], Lo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ro = [
4862
+ ], Vo = ["clip-path"], Ho = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Uo = [
4803
4863
  "stroke",
4804
4864
  "x1",
4805
4865
  "x2",
4806
4866
  "y2"
4807
- ], zo = [
4867
+ ], Wo = [
4808
4868
  "stroke",
4809
4869
  "x2",
4810
4870
  "y1",
4811
4871
  "y2"
4812
- ], Bo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Vo = [
4872
+ ], Go = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Ko = [
4813
4873
  "stroke",
4814
4874
  "x1",
4815
4875
  "x2",
4816
4876
  "y2"
4817
- ], Ho = [
4877
+ ], qo = [
4818
4878
  "stroke",
4819
4879
  "x2",
4820
4880
  "y1",
4821
4881
  "y2"
4822
- ], Uo = ["clip-path"], Wo = [
4882
+ ], Jo = ["clip-path"], Yo = [
4823
4883
  "data-y-axis-index",
4824
4884
  "x2",
4825
4885
  "y1",
@@ -4827,7 +4887,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4827
4887
  "stroke",
4828
4888
  "stroke-width",
4829
4889
  "stroke-dasharray"
4830
- ], Go = ["x", "y"], Ko = /* @__PURE__ */ l({
4890
+ ], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
4831
4891
  __name: "WaveformTrackBackdrop",
4832
4892
  props: {
4833
4893
  track: {},
@@ -4852,12 +4912,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4852
4912
  height: t.track.height,
4853
4913
  fill: t.frameStyle.backgroundColor,
4854
4914
  "aria-hidden": "true"
4855
- }, null, 8, Fo)) : r("", !0),
4915
+ }, null, 8, Bo)) : r("", !0),
4856
4916
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
4857
4917
  key: 1,
4858
4918
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4859
4919
  "aria-hidden": "true"
4860
- }, [a("g", Lo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4920
+ }, [a("g", Ho, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4861
4921
  key: `x-minor-${t.track.index}-${e}`,
4862
4922
  "data-grid-direction": "vertical",
4863
4923
  stroke: t.track.gridLines.verticalColor,
@@ -4865,7 +4925,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4865
4925
  x2: t.track.xScale(e),
4866
4926
  y1: "0",
4867
4927
  y2: t.track.height
4868
- }, null, 8, Ro))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4928
+ }, null, 8, Uo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4869
4929
  key: `y-minor-${t.track.index}-${e}`,
4870
4930
  "data-grid-direction": "horizontal",
4871
4931
  stroke: t.track.gridLines.horizontalColor,
@@ -4873,7 +4933,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4873
4933
  x2: t.track.width ?? t.innerWidth,
4874
4934
  y1: t.track.yScale(e),
4875
4935
  y2: t.track.yScale(e)
4876
- }, null, 8, zo))), 128)) : r("", !0)]), a("g", Bo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4936
+ }, null, 8, Wo))), 128)) : r("", !0)]), a("g", Go, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4877
4937
  key: `x-major-${t.track.index}-${e}`,
4878
4938
  "data-grid-direction": "vertical",
4879
4939
  stroke: t.track.gridLines.verticalColor,
@@ -4881,7 +4941,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4881
4941
  x2: t.track.xScale(e),
4882
4942
  y1: "0",
4883
4943
  y2: t.track.height
4884
- }, null, 8, Vo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4944
+ }, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4885
4945
  key: `y-major-${t.track.index}-${e}`,
4886
4946
  "data-grid-direction": "horizontal",
4887
4947
  stroke: t.track.gridLines.horizontalColor,
@@ -4889,7 +4949,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4889
4949
  x2: t.track.width ?? t.innerWidth,
4890
4950
  y1: t.track.yScale(e),
4891
4951
  y2: t.track.yScale(e)
4892
- }, null, 8, Ho))), 128)) : r("", !0)])], 8, Io)) : r("", !0),
4952
+ }, null, 8, qo))), 128)) : r("", !0)])], 8, Vo)) : r("", !0),
4893
4953
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
4894
4954
  key: 2,
4895
4955
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4906,7 +4966,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4906
4966
  stroke: t.zeroLine.color,
4907
4967
  "stroke-width": t.zeroLine.width,
4908
4968
  "stroke-dasharray": t.zeroLine.dash || void 0
4909
- }, null, 8, Wo))], 64))), 128))], 8, Uo)) : r("", !0),
4969
+ }, null, 8, Yo))], 64))), 128))], 8, Jo)) : r("", !0),
4910
4970
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
4911
4971
  key: 3,
4912
4972
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4916,10 +4976,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4916
4976
  "text-anchor": "middle",
4917
4977
  "dominant-baseline": "central",
4918
4978
  "aria-hidden": "true"
4919
- }, w(t.frameNumber), 13, Go)) : r("", !0)
4979
+ }, w(t.frameNumber), 13, Xo)) : r("", !0)
4920
4980
  ], 64));
4921
4981
  }
4922
- }), qo = [
4982
+ }), Qo = [
4923
4983
  "data-track-index",
4924
4984
  "data-track-id",
4925
4985
  "data-track-empty",
@@ -4929,19 +4989,19 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4929
4989
  "data-track-top",
4930
4990
  "data-track-height",
4931
4991
  "transform"
4932
- ], Jo = [
4992
+ ], $o = [
4933
4993
  "width",
4934
4994
  "height",
4935
4995
  "stroke",
4936
4996
  "stroke-width",
4937
4997
  "stroke-dasharray",
4938
4998
  "stroke-linecap"
4939
- ], Yo = [
4999
+ ], es = [
4940
5000
  "data-interactive",
4941
5001
  "data-independent-overlay-index",
4942
5002
  "width",
4943
5003
  "height"
4944
- ], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
5004
+ ], ts = ["x", "y"], ns = /* @__PURE__ */ l({
4945
5005
  __name: "WaveformTrack",
4946
5006
  props: {
4947
5007
  track: {},
@@ -5001,7 +5061,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5001
5061
  "data-track-height": e.track.height,
5002
5062
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5003
5063
  }, [
5004
- s(Ko, {
5064
+ s(Zo, {
5005
5065
  track: e.track,
5006
5066
  "clip-path-id": e.clipPathId,
5007
5067
  "inner-width": e.innerWidth,
@@ -5018,7 +5078,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5018
5078
  "frame-style",
5019
5079
  "zero-line"
5020
5080
  ]),
5021
- s(Po, {
5081
+ s(zo, {
5022
5082
  track: e.track,
5023
5083
  "inner-width": e.innerWidth,
5024
5084
  "clean-view": e.cleanView,
@@ -5044,8 +5104,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5044
5104
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5045
5105
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5046
5106
  "aria-hidden": "true"
5047
- }, null, 8, Jo)),
5048
- s(So, {
5107
+ }, null, 8, $o)),
5108
+ s(Do, {
5049
5109
  track: e.track,
5050
5110
  "clip-path-id": e.clipPathId
5051
5111
  }, null, 8, ["track", "clip-path-id"]),
@@ -5067,7 +5127,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5067
5127
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5068
5128
  onClick: n[5] ||= (e) => o("click", e),
5069
5129
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5070
- }, null, 42, Yo)) : r("", !0),
5130
+ }, null, 42, es)) : r("", !0),
5071
5131
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
5072
5132
  key: 2,
5073
5133
  class: "waveform-track__no-visible-series",
@@ -5075,33 +5135,33 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5075
5135
  y: e.track.height / 2,
5076
5136
  "text-anchor": "middle",
5077
5137
  "dominant-baseline": "central"
5078
- }, " 暂无可见曲线 ", 8, Xo)) : r("", !0)
5079
- ], 10, qo));
5138
+ }, " 暂无可见曲线 ", 8, ts)) : r("", !0)
5139
+ ], 10, Qo));
5080
5140
  }
5081
- }), Qo = [
5141
+ }), rs = [
5082
5142
  "width",
5083
5143
  "height",
5084
5144
  "data-position",
5085
5145
  "data-orientation"
5086
- ], $o = [
5146
+ ], is = [
5087
5147
  "disabled",
5088
5148
  "aria-pressed",
5089
5149
  "aria-label",
5090
5150
  "onClick"
5091
- ], es = [
5151
+ ], as = [
5092
5152
  "data-line-type",
5093
5153
  "data-line-style",
5094
5154
  "data-point-type",
5095
5155
  "data-error-bar-visible"
5096
- ], ts = [
5156
+ ], os = [
5097
5157
  "d",
5098
5158
  "stroke",
5099
5159
  "stroke-dasharray"
5100
- ], ns = [
5160
+ ], ss = [
5101
5161
  "d",
5102
5162
  "stroke",
5103
5163
  "stroke-width"
5104
- ], rs = ["d", "fill"], is = ["title"], as = /*#__PURE__*/ et(/* @__PURE__ */ l({
5164
+ ], cs = ["d", "fill"], ls = ["title"], us = /*#__PURE__*/ et(/* @__PURE__ */ l({
5105
5165
  __name: "WaveformLegend",
5106
5166
  props: {
5107
5167
  series: {},
@@ -5159,45 +5219,45 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5159
5219
  "data-point-type": e.pointType,
5160
5220
  "data-error-bar-visible": e.errorBar.visible || void 0
5161
5221
  }, [
5162
- E(fo)(e.lineType) ? (v(), i("path", {
5222
+ E(_o)(e.lineType) ? (v(), i("path", {
5163
5223
  key: 0,
5164
5224
  class: "waveform-legend__line",
5165
- d: E(fo)(e.lineType) ?? void 0,
5225
+ d: E(_o)(e.lineType) ?? void 0,
5166
5226
  stroke: e.color,
5167
- "stroke-dasharray": E(po)(e.lineStyle),
5227
+ "stroke-dasharray": E(vo)(e.lineStyle),
5168
5228
  "stroke-width": "1.5",
5169
5229
  fill: "none"
5170
- }, null, 8, ts)) : r("", !0),
5230
+ }, null, 8, os)) : r("", !0),
5171
5231
  e.errorBar.visible ? (v(), i("path", {
5172
5232
  key: 1,
5173
5233
  class: "waveform-legend__error-bar",
5174
- d: E(mo)(e.errorBar.capWidth),
5234
+ d: E(yo)(e.errorBar.capWidth),
5175
5235
  stroke: e.errorBar.color || e.color,
5176
5236
  "stroke-width": e.errorBar.width,
5177
5237
  "stroke-linecap": "butt",
5178
5238
  fill: "none"
5179
- }, null, 8, ns)) : r("", !0),
5239
+ }, null, 8, ss)) : r("", !0),
5180
5240
  e.pointType === "none" ? r("", !0) : (v(), i("path", {
5181
5241
  key: 2,
5182
5242
  class: "waveform-legend__point",
5183
- d: E(lo)(e.pointType, 30) ?? void 0,
5243
+ d: E(ho)(e.pointType, 30) ?? void 0,
5184
5244
  fill: e.color,
5185
5245
  transform: "translate(13 8)"
5186
- }, null, 8, rs))
5187
- ], 8, es)), a("span", {
5246
+ }, null, 8, cs))
5247
+ ], 8, as)), a("span", {
5188
5248
  class: "waveform-legend__label",
5189
5249
  title: e.name
5190
- }, w(e.name), 9, is)], 10, $o))), 128))], 6)], 2)], 8, Qo));
5250
+ }, w(e.name), 9, ls)], 10, is))), 128))], 6)], 2)], 8, rs));
5191
5251
  }
5192
- }), [["__scopeId", "data-v-2ae12e71"]]), os = {
5252
+ }), [["__scopeId", "data-v-2ae12e71"]]), ds = {
5193
5253
  class: "waveform-chart__hover-layer",
5194
5254
  "pointer-events": "none",
5195
5255
  "aria-hidden": "true"
5196
- }, ss = ["clip-path", "transform"], cs = [
5256
+ }, fs = ["clip-path", "transform"], ps = [
5197
5257
  "x1",
5198
5258
  "x2",
5199
5259
  "y2"
5200
- ], ls = /*#__PURE__*/ et(/* @__PURE__ */ l({
5260
+ ], ms = /*#__PURE__*/ et(/* @__PURE__ */ l({
5201
5261
  __name: "WaveformHoverLayer",
5202
5262
  props: {
5203
5263
  state: {},
@@ -5213,7 +5273,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5213
5273
  x: e.xScale(n)
5214
5274
  }] : [];
5215
5275
  }));
5216
- return (t, r) => (v(), i("g", os, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5276
+ return (t, r) => (v(), i("g", ds, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5217
5277
  key: e.track.index,
5218
5278
  class: "waveform-track__crosshair waveform-chart__crosshair",
5219
5279
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5223,9 +5283,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5223
5283
  x2: e.x,
5224
5284
  y1: "0",
5225
5285
  y2: e.track.height
5226
- }, null, 8, cs)], 8, ss))), 128))]));
5286
+ }, null, 8, ps)], 8, fs))), 128))]));
5227
5287
  }
5228
- }), [["__scopeId", "data-v-54a5a37d"]]), us = [
5288
+ }), [["__scopeId", "data-v-54a5a37d"]]), hs = [
5229
5289
  "data-display-mode",
5230
5290
  "data-interaction-mode",
5231
5291
  "data-presentation-mode",
@@ -5234,37 +5294,37 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5234
5294
  "data-plot-margin-top",
5235
5295
  "data-plot-margin-bottom",
5236
5296
  "data-title-area-height"
5237
- ], ds = [
5297
+ ], gs = [
5238
5298
  "role",
5239
5299
  "aria-level",
5240
5300
  "aria-hidden"
5241
- ], fs = ["data-title-scale", "data-title-wrapped"], ps = [
5301
+ ], _s = ["data-title-scale", "data-title-wrapped"], vs = [
5242
5302
  "width",
5243
5303
  "height",
5244
5304
  "aria-label"
5245
- ], ms = ["id"], hs = ["width", "height"], gs = ["transform"], _s = {
5305
+ ], ys = ["id"], bs = ["width", "height"], xs = ["transform"], Ss = {
5246
5306
  key: 0,
5247
5307
  class: "waveform-chart__grid-slots",
5248
5308
  "aria-hidden": "true"
5249
- }, vs = ["transform"], ys = ["width", "height"], bs = ["width", "height"], xs = [
5309
+ }, Cs = ["transform"], ws = ["width", "height"], Ts = ["width", "height"], Es = [
5250
5310
  "x",
5251
5311
  "y",
5252
5312
  "width",
5253
5313
  "height"
5254
- ], Ss = {
5314
+ ], Ds = {
5255
5315
  key: 4,
5256
5316
  class: "waveform-chart__legend-layer"
5257
- }, Cs = [
5317
+ }, Os = [
5258
5318
  "data-legend-track-index",
5259
5319
  "data-legend-track-id",
5260
5320
  "transform"
5261
- ], ws = ["x", "y"], Ts = ["x", "y"], Es = /* @__PURE__ */ l({
5321
+ ], ks = ["x", "y"], As = ["x", "y"], js = /* @__PURE__ */ l({
5262
5322
  __name: "WaveformChartView",
5263
5323
  props: { controller: {} },
5264
5324
  setup(t) {
5265
- let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: ee, innerHeight: te, handleSharedPointerMove: ne, beginSharedViewportDrag: re, finishViewportDrag: ie, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: ae, resolveFrameNumber: oe, frameStyle: ce, axes: le, resolvedZeroLine: ue, timeUnit: de, yLabel: J, handleIndependentPointerMove: fe, beginViewportDrag: Y, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
5325
+ let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: Y, handleIndependentPointerMove: de, beginViewportDrag: fe, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
5266
5326
  function $e() {
5267
- b.value = !1, K.value();
5327
+ b.value = !1, q.value();
5268
5328
  }
5269
5329
  return (t, T) => (v(), i("div", {
5270
5330
  ref: E(Ye),
@@ -5311,7 +5371,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5311
5371
  style: m(E(M)),
5312
5372
  "data-title-scale": E(N).scale,
5313
5373
  "data-title-wrapped": E(N).wrapped || void 0
5314
- }, w(E(A)), 13, fs)], 4)) : r("", !0)], 12, ds)) : r("", !0),
5374
+ }, w(E(A)), 13, _s)], 4)) : r("", !0)], 12, gs)) : r("", !0),
5315
5375
  (v(), i("svg", {
5316
5376
  ref: E(Xe),
5317
5377
  class: "waveform-chart__svg",
@@ -5328,9 +5388,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5328
5388
  }, [a("rect", {
5329
5389
  width: e.width,
5330
5390
  height: e.height
5331
- }, null, 8, hs)], 8, ms))), 128))]),
5391
+ }, null, 8, bs)], 8, ys))), 128))]),
5332
5392
  a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
5333
- E(o) !== "compact" && !E(l) ? (v(), i("g", _s, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5393
+ E(o) !== "compact" && !E(l) ? (v(), i("g", Ss, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5334
5394
  key: `grid-slot-${e.slotIndex}`,
5335
5395
  transform: `translate(${e.left}, ${e.top})`
5336
5396
  }, [e.series ? r("", !0) : (v(), i("rect", {
@@ -5338,7 +5398,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5338
5398
  class: "waveform-chart__grid-slot-placeholder",
5339
5399
  width: e.width,
5340
5400
  height: e.cellHeight
5341
- }, null, 8, ys))], 8, vs))), 128))])) : r("", !0),
5401
+ }, null, 8, ws))], 8, Cs))), 128))])) : r("", !0),
5342
5402
  E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
5343
5403
  key: 1,
5344
5404
  ref: E(Qe),
@@ -5346,39 +5406,39 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5346
5406
  "is-zoomable": !E(u) && E(U) && E(W),
5347
5407
  "is-annotating": !E(u) && E(c) === "annotation"
5348
5408
  }]),
5349
- width: E(ee),
5350
- height: E(te),
5351
- onPointermove: T[0] ||= (...e) => E(ne) && E(ne)(...e),
5352
- onPointerdown: T[1] ||= (...e) => E(re) && E(re)(...e),
5353
- onPointerup: T[2] ||= (...e) => E(ie) && E(ie)(...e),
5354
- onPointercancel: T[3] ||= (...e) => E(G) && E(G)(...e),
5355
- onPointerleave: T[4] ||= (...e) => E(K) && E(K)(...e),
5356
- onClick: T[5] ||= (...e) => E(q) && E(q)(...e),
5357
- onContextmenu: T[6] ||= (...e) => E(ae) && E(ae)(...e)
5358
- }, null, 42, bs)) : r("", !0),
5359
- (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Zo), {
5409
+ width: E(G),
5410
+ height: E(ee),
5411
+ onPointermove: T[0] ||= (...e) => E(te) && E(te)(...e),
5412
+ onPointerdown: T[1] ||= (...e) => E(ne) && E(ne)(...e),
5413
+ onPointerup: T[2] ||= (...e) => E(re) && E(re)(...e),
5414
+ onPointercancel: T[3] ||= (...e) => E(K) && E(K)(...e),
5415
+ onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
5416
+ onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
5417
+ onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
5418
+ }, null, 42, Ts)) : r("", !0),
5419
+ (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ns), {
5360
5420
  key: `${e.index}-${e.id}`,
5361
5421
  track: e,
5362
5422
  "clip-path-id": E(z),
5363
- "inner-width": E(ee),
5423
+ "inner-width": E(G),
5364
5424
  zoomable: E(U),
5365
5425
  interactive: !E(u),
5366
5426
  "display-mode": E(o),
5367
5427
  "interaction-mode": E(c),
5368
- "frame-number": E(oe)(e.id),
5369
- "frame-style": E(ce),
5370
- axes: E(le),
5428
+ "frame-number": E(ae)(e.id),
5429
+ "frame-style": E(se),
5430
+ axes: E(ce),
5371
5431
  "clean-view": E(l),
5372
- "zero-line": E(ue),
5373
- "time-unit": E(de),
5374
- "y-label": E(J),
5375
- onPointerMove: (t) => E(fe)(t, e.index),
5376
- onPointerDown: (t) => E(Y)(t, e.index, !0),
5377
- onPointerUp: E(ie),
5378
- onPointerCancel: E(G),
5379
- onPointerLeave: E(K),
5380
- onClick: (t) => E(q)(t, e.index),
5381
- onContextmenu: (t) => E(ae)(t, e.index)
5432
+ "zero-line": E(le),
5433
+ "time-unit": E(ue),
5434
+ "y-label": E(Y),
5435
+ onPointerMove: (t) => E(de)(t, e.index),
5436
+ onPointerDown: (t) => E(fe)(t, e.index, !0),
5437
+ onPointerUp: E(re),
5438
+ onPointerCancel: E(K),
5439
+ onPointerLeave: E(q),
5440
+ onClick: (t) => E(J)(t, e.index),
5441
+ onContextmenu: (t) => E(ie)(t, e.index)
5382
5442
  }, null, 8, [
5383
5443
  "track",
5384
5444
  "clip-path-id",
@@ -5402,7 +5462,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5402
5462
  "onClick",
5403
5463
  "onContextmenu"
5404
5464
  ]))), 128)),
5405
- s(E(ls), {
5465
+ s(E(ms), {
5406
5466
  state: E(pe),
5407
5467
  tracks: E(R),
5408
5468
  "clip-path-id": E(z),
@@ -5421,7 +5481,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5421
5481
  width: E(he).width,
5422
5482
  height: E(he).height,
5423
5483
  "aria-hidden": "true"
5424
- }, null, 8, xs)) : r("", !0),
5484
+ }, null, 8, Es)) : r("", !0),
5425
5485
  E(l) ? r("", !0) : (v(), n(E(tt), {
5426
5486
  key: 3,
5427
5487
  annotations: E(ge),
@@ -5440,13 +5500,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5440
5500
  "onMove",
5441
5501
  "onDragEnd"
5442
5502
  ])),
5443
- E(l) ? r("", !0) : (v(), i("g", Ss, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5503
+ E(l) ? r("", !0) : (v(), i("g", Ds, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5444
5504
  key: `legend-${e.index}-${e.id}`,
5445
5505
  class: "waveform-chart__legend-track",
5446
5506
  "data-legend-track-index": e.index,
5447
5507
  "data-legend-track-id": e.id,
5448
5508
  transform: `translate(${e.left}, ${e.top})`
5449
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(as), {
5509
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(us), {
5450
5510
  key: 0,
5451
5511
  series: e.legendSeries,
5452
5512
  position: E(X)(e.id),
@@ -5454,7 +5514,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5454
5514
  "background-color": E(Ce),
5455
5515
  interactive: E(we),
5456
5516
  "hidden-series-ids": E(Te),
5457
- width: e.width ?? E(ee),
5517
+ width: e.width ?? E(G),
5458
5518
  height: e.height,
5459
5519
  onToggle: E(Ee)
5460
5520
  }, null, 8, [
@@ -5467,24 +5527,24 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5467
5527
  "width",
5468
5528
  "height",
5469
5529
  "onToggle"
5470
- ])) : r("", !0)], 8, Cs))), 128))]))
5471
- ], 8, gs),
5530
+ ])) : r("", !0)], 8, Os))), 128))]))
5531
+ ], 8, xs),
5472
5532
  E(De) && !E(l) ? (v(), i("text", {
5473
5533
  key: 0,
5474
5534
  class: "waveform-chart__label waveform-chart__x-label",
5475
- x: E(g) + E(ee) / 2,
5535
+ x: E(g) + E(G) / 2,
5476
5536
  y: E(Oe),
5477
5537
  "text-anchor": "middle"
5478
- }, w(E(De)), 9, ws)) : r("", !0),
5538
+ }, w(E(De)), 9, ks)) : r("", !0),
5479
5539
  E(ke) && !E(I) ? (v(), i("text", {
5480
5540
  key: 1,
5481
5541
  class: "waveform-chart__empty",
5482
5542
  x: E(P) / 2,
5483
5543
  y: E(F) / 2,
5484
5544
  "text-anchor": "middle"
5485
- }, " 暂无有效波形数据 ", 8, Ts)) : r("", !0)
5486
- ], 40, ps)),
5487
- E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(se), {
5545
+ }, " 暂无有效波形数据 ", 8, As)) : r("", !0)
5546
+ ], 40, vs)),
5547
+ E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
5488
5548
  key: 1,
5489
5549
  class: "waveform-chart__pagination",
5490
5550
  "aria-label": "波形分页",
@@ -5500,13 +5560,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5500
5560
  "total",
5501
5561
  "onChange"
5502
5562
  ])) : r("", !0),
5503
- E(Le) && !E(l) && !E(u) ? (v(), n(Wa, {
5563
+ E(Le) && !E(l) && !E(u) ? (v(), n(Ya, {
5504
5564
  key: 2,
5505
5565
  annotation: E(Le).annotation,
5506
5566
  mode: E(Le).mode,
5507
5567
  series: E(ze),
5508
5568
  "series-options": E(Be),
5509
- "time-unit": E(de),
5569
+ "time-unit": E(ue),
5510
5570
  "time-error": E(Ve),
5511
5571
  onConfirm: E(He),
5512
5572
  onCancel: E(Ue),
@@ -5542,10 +5602,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5542
5602
  "onDelete",
5543
5603
  "onClose"
5544
5604
  ])) : r("", !0),
5545
- s(E(no), {
5605
+ s(E(so), {
5546
5606
  state: E(pe),
5547
5607
  visible: E(me) && !E(u),
5548
- "time-unit": E(de),
5608
+ "time-unit": E(ue),
5549
5609
  "container-width": E(P),
5550
5610
  "container-height": E(Je)
5551
5611
  }, null, 8, [
@@ -5555,9 +5615,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5555
5615
  "container-width",
5556
5616
  "container-height"
5557
5617
  ])
5558
- ], 46, us));
5618
+ ], 46, hs));
5559
5619
  }
5560
- }), Ds = /* @__PURE__ */ l({
5620
+ }), Ms = /* @__PURE__ */ l({
5561
5621
  __name: "WaveformChart",
5562
5622
  props: {
5563
5623
  data: {},
@@ -5625,6 +5685,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5625
5685
  },
5626
5686
  emits: [
5627
5687
  "point-hover",
5688
+ "zoom-intent",
5628
5689
  "zoom-change",
5629
5690
  "zoom-end",
5630
5691
  "zoom-reset",
@@ -5640,12 +5701,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5640
5701
  "sampling-error"
5641
5702
  ],
5642
5703
  setup(e, { expose: t, emit: r }) {
5643
- let i = Ta(e, r);
5704
+ let i = Aa(e, r);
5644
5705
  return t({
5645
5706
  resetViewport: i.resetViewport,
5646
5707
  setViewportDomain: i.setViewportDomain
5647
- }), (e, t) => (v(), n(Es, { controller: E(i) }, null, 8, ["controller"]));
5708
+ }), (e, t) => (v(), n(js, { controller: E(i) }, null, 8, ["controller"]));
5648
5709
  }
5649
5710
  });
5650
5711
  //#endregion
5651
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ds as WaveformChart, gt as buildMinorTicks, fi as calculateWasmRange, It as clamp, kt as displayTime, pi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, ui as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, di as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5712
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ms as WaveformChart, gt as buildMinorTicks, _i as calculateWasmRange, It as clamp, kt as displayTime, vi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, hi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, gi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };