@silurus/ooxml 0.58.0 → 0.59.1

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.
@@ -8,70 +8,190 @@ var e = Object.defineProperty, t = (t, n) => {
8
8
  return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
9
  }, n = 15e3;
10
10
  function r(e) {
11
- return e.sheet ? Promise.resolve() : new Promise((t) => {
12
- let n = () => {
13
- e.removeEventListener("load", n), e.removeEventListener("error", n), t();
14
- };
15
- e.addEventListener("load", n), e.addEventListener("error", n);
16
- });
17
- }
18
- function i(e) {
19
11
  return Promise.race([e, new Promise((e) => setTimeout(e, n))]);
20
12
  }
21
- async function a(e, t) {
22
- if (typeof document > "u") return;
23
- let n = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = [], s = /* @__PURE__ */ new Set();
24
- for (let i of e) {
25
- if (!i) continue;
26
- let e = i.toLowerCase();
27
- if (n.has(e)) continue;
28
- n.add(e);
29
- let c = t[e];
30
- if (!c) continue;
31
- let l = document.querySelector(`link[href="${c.url}"]`);
32
- if (!l) try {
33
- l = document.createElement("link"), l.rel = "stylesheet", l.href = c.url, document.head.appendChild(l);
34
- } catch {
35
- s.add((c.loadFamily ?? i).toLowerCase()), l = null;
36
- }
37
- l && o.push(r(l)), a.add((c.loadFamily ?? i).toLowerCase());
13
+ var i = /* @__PURE__ */ new Map();
14
+ function a(e) {
15
+ let t = [], n = /@font-face\s*\{([^}]*)\}/g, r;
16
+ for (; r = n.exec(e);) {
17
+ let e = r[1], n = (t) => e.match(RegExp(`(?:^|;|\\n)\\s*${t}\\s*:\\s*([^;]+)`, "i"))?.[1].trim(), i = n("font-family"), a = n("src");
18
+ if (!i || !a) continue;
19
+ let o = {}, s = n("font-style");
20
+ s && (o.style = s);
21
+ let c = n("font-weight");
22
+ c && (o.weight = c);
23
+ let l = n("font-stretch");
24
+ l && (o.stretch = l);
25
+ let u = n("unicode-range");
26
+ u && (o.unicodeRange = u), t.push({
27
+ family: i.replace(/^['"]|['"]$/g, ""),
28
+ src: a,
29
+ descriptors: o
30
+ });
38
31
  }
39
- if (a.size === 0) return;
40
- await i(Promise.allSettled(o));
41
- let c = [...document.fonts].filter((e) => a.has(e.family.toLowerCase()));
42
- await i(Promise.allSettled(c.map((e) => e.load())).then((e) => (e.forEach((e, t) => {
43
- e.status === "rejected" && s.add(c[t].family.toLowerCase());
44
- }), document.fonts.ready))), s.size > 0 && console.warn(`[ooxml] failed to preload web font(s): ${[...s].join(", ")}; falling back to system fonts (text may shift or differ).`);
32
+ return t;
33
+ }
34
+ function o() {
35
+ return typeof document < "u" && document && document.fonts ? document.fonts : typeof self < "u" && self && "fonts" in self ? self.fonts : null;
36
+ }
37
+ async function s(e, t) {
38
+ let n = o();
39
+ if (!n || typeof FontFace > "u" || typeof fetch > "u") return;
40
+ let s = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set();
41
+ for (let n of e) {
42
+ if (!n) continue;
43
+ let e = n.toLowerCase();
44
+ if (s.has(e)) continue;
45
+ s.add(e);
46
+ let r = t[e];
47
+ if (!r) continue;
48
+ l.add(r.url);
49
+ let i = (r.loadFamily ?? n).toLowerCase();
50
+ c.add(i);
51
+ let a = u.get(r.url);
52
+ a || (a = /* @__PURE__ */ new Set(), u.set(r.url, a)), a.add(i);
53
+ }
54
+ if (c.size === 0) return;
55
+ let f = await r(Promise.all([...l].map((e) => {
56
+ let t = i.get(e);
57
+ if (t) return t;
58
+ let r = (async () => {
59
+ try {
60
+ let t = await fetch(e);
61
+ if (!t.ok) throw Error(`HTTP ${t.status}`);
62
+ let r = [];
63
+ for (let e of a(await t.text())) {
64
+ let t = new FontFace(e.family, e.src, e.descriptors);
65
+ n.add(t), r.push(t);
66
+ }
67
+ return r;
68
+ } catch {
69
+ i.delete(e);
70
+ for (let t of u.get(e) ?? []) d.add(t);
71
+ return [];
72
+ }
73
+ })();
74
+ return i.set(e, r), r;
75
+ }))), p = (Array.isArray(f) ? f : []).flat();
76
+ await r(Promise.allSettled(p.map((e) => e.load())).then((e) => (e.forEach((e, t) => {
77
+ e.status === "rejected" && d.add(p[t].family.replace(/['"]/g, "").toLowerCase());
78
+ }), n.ready))), d.size > 0 && console.warn(`[ooxml] failed to preload web font(s): ${[...d].join(", ")}; falling back to system fonts (text may shift or differ).`);
79
+ }
80
+ //#endregion
81
+ //#region packages/core/src/fonts/scripts.ts
82
+ function c(e) {
83
+ if (!e) return null;
84
+ let t = e.toLowerCase();
85
+ return /[ᄀ-ᇿ㄰-㆏가-힯]/.test(e) ? "kr" : /[぀-ヿ]/.test(e) ? "jp" : /jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\s*liu/.test(t) || /新細明體|細明體|標楷體|微軟正黑體|華康/.test(e) ? "tc" : /simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t) || /宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e) ? "sc" : /malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t) ? "kr" : /\bmeiryo\b|\byu\s*(gothic|mincho)\b|yugothic|yumincho|hiragino|\bms\s*(gothic|mincho|pgothic|pmincho|ui\s*gothic)\b|\bms[pg]?(gothic|mincho)\b|ipa(ex)?(gothic|mincho)|noto\s+(sans|serif)\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t) || /游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e) ? "jp" : null;
86
+ }
87
+ function l(e, t) {
88
+ let n = t === "serif" ? "Noto Serif" : "Noto Sans", r = {
89
+ jp: [
90
+ "jp",
91
+ "sc",
92
+ "tc",
93
+ "kr"
94
+ ],
95
+ sc: [
96
+ "sc",
97
+ "tc",
98
+ "jp",
99
+ "kr"
100
+ ],
101
+ tc: [
102
+ "tc",
103
+ "sc",
104
+ "jp",
105
+ "kr"
106
+ ],
107
+ kr: [
108
+ "kr",
109
+ "jp",
110
+ "sc",
111
+ "tc"
112
+ ]
113
+ }, i = {
114
+ kr: "KR",
115
+ sc: "SC",
116
+ tc: "TC",
117
+ jp: "JP"
118
+ };
119
+ return r[e].map((e) => `${n} ${i[e]}`);
120
+ }
121
+ var u = [
122
+ "Noto Sans",
123
+ "Noto Sans Hebrew",
124
+ "Noto Sans Thai",
125
+ "Noto Sans Devanagari"
126
+ ], d = ["Noto Serif", "Noto Serif Hebrew"], f = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, p = {
127
+ "noto sans kr": { url: f("Noto+Sans+KR") },
128
+ "noto sans sc": { url: f("Noto+Sans+SC") },
129
+ "noto sans tc": { url: f("Noto+Sans+TC") },
130
+ "noto sans jp": { url: f("Noto+Sans+JP") },
131
+ "noto serif kr": { url: f("Noto+Serif+KR") },
132
+ "noto serif sc": { url: f("Noto+Serif+SC") },
133
+ "noto serif tc": { url: f("Noto+Serif+TC") },
134
+ "noto serif jp": { url: f("Noto+Serif+JP") },
135
+ "noto sans": { url: f("Noto+Sans") },
136
+ "noto serif": { url: f("Noto+Serif") },
137
+ "noto sans devanagari": { url: f("Noto+Sans+Devanagari") },
138
+ "noto sans thai": { url: f("Noto+Sans+Thai") },
139
+ "noto sans hebrew": { url: f("Noto+Sans+Hebrew") },
140
+ "noto serif hebrew": { url: f("Noto+Serif+Hebrew") }
141
+ };
142
+ function m(e, t) {
143
+ let n = !1, r = !1, i = !1, a = !1, o = !1, s = !1, c = !1, l = !1, u = () => n && r && i && a && o && s && c && l;
144
+ outer: for (let t of e) if (t) for (let e of t) {
145
+ let t = e.codePointAt(0);
146
+ if (t !== void 0 && !(t <= 591) && (t >= 4352 && t <= 4607 || t >= 12592 && t <= 12687 || t >= 44032 && t <= 55215 ? r = !0 : t >= 12352 && t <= 12543 ? i = !0 : t >= 13312 && t <= 19903 || t >= 19968 && t <= 40959 || t >= 63744 && t <= 64255 || t >= 131072 && t <= 195103 ? n = !0 : t >= 1536 && t <= 1791 || t >= 1872 && t <= 1919 || t >= 2208 && t <= 2303 || t >= 64336 && t <= 65023 || t >= 65136 && t <= 65279 ? a = !0 : t >= 3584 && t <= 3711 ? o = !0 : t >= 1424 && t <= 1535 || t >= 64285 && t <= 64335 ? s = !0 : t >= 2304 && t <= 2431 ? c = !0 : (t >= 1024 && t <= 1279 || t >= 880 && t <= 1023) && (l = !0), u())) break outer;
147
+ }
148
+ let d = [], f = /* @__PURE__ */ new Set();
149
+ r && f.add("kr"), i && f.add("jp"), n && f.size === 0 && f.add(t ?? "jp");
150
+ for (let e of [
151
+ "kr",
152
+ "sc",
153
+ "tc",
154
+ "jp"
155
+ ]) if (f.has(e)) {
156
+ let t = {
157
+ kr: "KR",
158
+ sc: "SC",
159
+ tc: "TC",
160
+ jp: "JP"
161
+ }[e];
162
+ d.push(`Noto Sans ${t}`, `Noto Serif ${t}`);
163
+ }
164
+ return l && d.push("Noto Sans", "Noto Serif"), a && d.push("Noto Naskh Arabic", "Noto Sans Arabic"), o && d.push("Noto Sans Thai"), s && d.push("Noto Sans Hebrew", "Noto Serif Hebrew"), c && d.push("Noto Sans Devanagari"), d;
45
165
  }
46
166
  //#endregion
47
167
  //#region packages/core/src/chart/axis-scale.ts
48
- function o(e, t = 5) {
168
+ function h(e, t = 5) {
49
169
  if (e === 0) return 1;
50
170
  let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
51
171
  return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
52
172
  }
53
- function s(e, t, n = 0) {
173
+ function g(e, t, n = 0) {
54
174
  if (e <= 0) return t;
55
175
  let r = e + (e - n) / 20;
56
176
  return Math.ceil(r / t) * t;
57
177
  }
58
- function c(e, t) {
178
+ function _(e, t) {
59
179
  if (e >= 0) return 0;
60
180
  let n = Math.floor(e / t) * t;
61
181
  return Math.abs(n - e) < t * 1e-9 ? n - t : n;
62
182
  }
63
183
  //#endregion
64
184
  //#region packages/core/src/chart/chart-number-format.ts
65
- function l(e) {
185
+ function v(e) {
66
186
  return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
67
187
  }
68
- function u(e, t) {
69
- if (!t || t.trim().toLowerCase() === "general") return l(e);
70
- if (d(t)) return f(e, t);
71
- let n = p(t), r;
72
- return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + m(Math.abs(e), r);
188
+ function y(e, t) {
189
+ if (!t || t.trim().toLowerCase() === "general") return v(e);
190
+ if (b(t)) return x(e, t);
191
+ let n = S(t), r;
192
+ return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + C(Math.abs(e), r);
73
193
  }
74
- function d(e) {
194
+ function b(e) {
75
195
  let t = !1;
76
196
  for (let n = 0; n < e.length; n++) {
77
197
  let r = e[n];
@@ -93,7 +213,7 @@ function d(e) {
93
213
  }
94
214
  return !1;
95
215
  }
96
- function f(e, t) {
216
+ function x(e, t) {
97
217
  let n = Date.UTC(1899, 11, 30), r = e < 60 ? e + 1 : e, i = n + Math.floor(r) * 864e5, a = new Date(i), o = a.getUTCFullYear(), s = a.getUTCMonth() + 1, c = a.getUTCDate(), l = (e - Math.floor(e)) * 86400, u = Math.floor(l / 3600), d = Math.floor(l % 3600 / 60), f = Math.floor(l % 60), p = "", m = !1, h = 0;
98
218
  for (; h < t.length;) {
99
219
  let e = t[h];
@@ -148,7 +268,7 @@ function f(e, t) {
148
268
  }
149
269
  return p;
150
270
  }
151
- function p(e) {
271
+ function S(e) {
152
272
  let t = [], n = "";
153
273
  for (let r = 0; r < e.length; r++) {
154
274
  let i = e[r];
@@ -174,7 +294,7 @@ function p(e) {
174
294
  }
175
295
  return t.push(n), t;
176
296
  }
177
- function m(e, t) {
297
+ function C(e, t) {
178
298
  let n = [], r = 0, i = !1, a = !1;
179
299
  for (; r < t.length;) {
180
300
  let e = t[r];
@@ -235,16 +355,16 @@ function m(e, t) {
235
355
  if (!i) return n.map((e) => e.text).join("");
236
356
  let o = a ? e * 100 : e, s = "";
237
357
  for (let e of n) e.kind === "num" && (s += e.text);
238
- let c = h(o, s), l = !1;
358
+ let c = w(o, s), l = !1;
239
359
  return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
240
360
  }
241
- function h(e, t) {
361
+ function w(e, t) {
242
362
  let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = e.toFixed(o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
243
363
  return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
244
364
  }
245
365
  //#endregion
246
366
  //#region packages/core/src/shape/pattern-bitmaps.ts
247
- var g = {
367
+ var T = {
248
368
  pct5: [
249
369
  0,
250
370
  16,
@@ -626,21 +746,21 @@ var g = {
626
746
  90
627
747
  ]
628
748
  };
629
- function _(e, t, n) {
630
- let r = g[e];
749
+ function E(e, t, n) {
750
+ let r = T[e];
631
751
  if (!r) return null;
632
- let i = v(8, 8);
752
+ let i = D(8, 8);
633
753
  if (!i) return null;
634
754
  let a = i.getContext("2d");
635
755
  if (!a) return null;
636
- a.fillStyle = y(n), a.fillRect(0, 0, 8, 8), a.fillStyle = y(t);
756
+ a.fillStyle = O(n), a.fillRect(0, 0, 8, 8), a.fillStyle = O(t);
637
757
  for (let e = 0; e < 8; e++) {
638
758
  let t = r[e];
639
759
  for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
640
760
  }
641
761
  return i;
642
762
  }
643
- function v(e, t) {
763
+ function D(e, t) {
644
764
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
645
765
  if (typeof document < "u") {
646
766
  let n = document.createElement("canvas");
@@ -648,23 +768,23 @@ function v(e, t) {
648
768
  }
649
769
  return null;
650
770
  }
651
- function y(e) {
771
+ function O(e) {
652
772
  return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
653
773
  }
654
774
  //#endregion
655
775
  //#region packages/core/src/shape/paint.ts
656
- function b(e, t = 1) {
776
+ function k(e, t = 1) {
657
777
  let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
658
778
  return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
659
779
  }
660
- function x(e, t, n, r, i, a) {
780
+ function A(e, t, n, r, i, a) {
661
781
  if (!e || e.fillType === "none") return null;
662
- if (e.fillType === "solid") return b(e.color);
663
- if (e.fillType === "pattern") return C(e, t);
782
+ if (e.fillType === "solid") return k(e.color);
783
+ if (e.fillType === "pattern") return M(e, t);
664
784
  if (e.fillType === "gradient") {
665
785
  let o = e.stops;
666
786
  if (o.length === 0) return null;
667
- if (o.length === 1) return b(o[0].color);
787
+ if (o.length === 1) return k(o[0].color);
668
788
  let s;
669
789
  if (e.gradType === "radial") {
670
790
  let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
@@ -673,23 +793,23 @@ function x(e, t, n, r, i, a) {
673
793
  let o = e.angle * Math.PI / 180, c = n + i / 2, l = r + a / 2, u = (Math.abs(Math.cos(o)) * i + Math.abs(Math.sin(o)) * a) / 2;
674
794
  s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
675
795
  }
676
- for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), b(e.color));
796
+ for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), k(e.color));
677
797
  return s;
678
798
  }
679
799
  return null;
680
800
  }
681
- var S = /* @__PURE__ */ new WeakMap();
682
- function C(e, t) {
683
- let n = `${e.preset}|${e.fg}|${e.bg}`, r = S.get(t);
684
- r || (r = /* @__PURE__ */ new Map(), S.set(t, r));
801
+ var j = /* @__PURE__ */ new WeakMap();
802
+ function M(e, t) {
803
+ let n = `${e.preset}|${e.fg}|${e.bg}`, r = j.get(t);
804
+ r || (r = /* @__PURE__ */ new Map(), j.set(t, r));
685
805
  let i = r.get(n);
686
806
  if (i) return i;
687
- let a = _(e.preset, e.fg, e.bg);
688
- if (!a) return b(e.fg);
807
+ let a = E(e.preset, e.fg, e.bg);
808
+ if (!a) return k(e.fg);
689
809
  let o = t.createPattern(a, "repeat");
690
- return o ? (r.set(n, o), o) : b(e.fg);
810
+ return o ? (r.set(n, o), o) : k(e.fg);
691
811
  }
692
- var w = {
812
+ var N = {
693
813
  dash: [6, 3],
694
814
  dot: [1.5, 3],
695
815
  dashDot: [
@@ -722,20 +842,20 @@ var w = {
722
842
  2
723
843
  ]
724
844
  };
725
- function T(e, t, n) {
845
+ function P(e, t, n) {
726
846
  if (!t) {
727
847
  e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
728
848
  return;
729
849
  }
730
- e.strokeStyle = b(t.color);
850
+ e.strokeStyle = k(t.color);
731
851
  let r = Math.max(.5, t.width * n);
732
852
  e.lineWidth = r;
733
- let i = t.dashStyle ? w[t.dashStyle] : null;
853
+ let i = t.dashStyle ? N[t.dashStyle] : null;
734
854
  e.setLineDash(i ? i.map((e) => e * r) : []);
735
855
  }
736
856
  //#endregion
737
857
  //#region packages/core/src/units.ts
738
- var E = 12700, D = 9525, O = 4 / 3, k = [
858
+ var F = 12700, I = 9525, L = 4 / 3, R = [
739
859
  "4472C4",
740
860
  "ED7D31",
741
861
  "A9D18E",
@@ -749,30 +869,30 @@ var E = 12700, D = 9525, O = 4 / 3, k = [
749
869
  "255E91",
750
870
  "967300"
751
871
  ];
752
- function A(e, t) {
753
- return t?.color ? `#${t.color}` : `#${k[e % k.length]}`;
872
+ function z(e, t) {
873
+ return t?.color ? `#${t.color}` : `#${R[e % R.length]}`;
754
874
  }
755
- function j(e, t) {
875
+ function B(e, t) {
756
876
  let n = t.dataPointColors?.[e];
757
- return n ? `#${n}` : `#${k[e % k.length]}`;
877
+ return n ? `#${n}` : `#${R[e % R.length]}`;
758
878
  }
759
- function M(e) {
879
+ function V(e) {
760
880
  return e === "pie" || e === "doughnut";
761
881
  }
762
- function N(e, t, n) {
763
- if (M(e)) {
882
+ function H(e, t, n) {
883
+ if (V(e)) {
764
884
  let e = t[0];
765
- return e ? j(n, e) : `#${k[n % k.length]}`;
885
+ return e ? B(n, e) : `#${R[n % R.length]}`;
766
886
  }
767
- return A(n, t[n]);
887
+ return z(n, t[n]);
768
888
  }
769
- function P(e, t, n, r, i, a, o, s) {
889
+ function U(e, t, n, r, i, a, o, s) {
770
890
  e.save(), e.font = `${s}px sans-serif`, e.fillStyle = "#555", o === "cat" ? (e.textAlign = "center", e.textBaseline = "bottom", e.fillText(t.slice(0, 30), n + i / 2, r + a + s + 2)) : (e.translate(n - s - 4, r + a / 2), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 30), 0, 0)), e.restore();
771
891
  }
772
- function F(e) {
892
+ function ee(e) {
773
893
  return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
774
894
  }
775
- function I(e, t, n, r, i, a, o) {
895
+ function te(e, t, n, r, i, a, o) {
776
896
  if (e.fillStyle = n, t === "line") {
777
897
  e.strokeStyle = n;
778
898
  let t = e.lineWidth;
@@ -781,34 +901,34 @@ function I(e, t, n, r, i, a, o) {
781
901
  e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
782
902
  } else e.fillRect(r, i, a, o);
783
903
  }
784
- function L(e, t) {
785
- if (M(t)) {
904
+ function ne(e, t) {
905
+ if (V(t)) {
786
906
  let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
787
907
  return Array.from({ length: r }, (n, r) => ({
788
908
  label: (i[r] ?? `Item ${r + 1}`).toString(),
789
- color: N(t, e, r)
909
+ color: H(t, e, r)
790
910
  }));
791
911
  }
792
912
  return e.map((n, r) => ({
793
913
  label: n.name || `Series ${r + 1}`,
794
- color: N(t, e, r)
914
+ color: H(t, e, r)
795
915
  }));
796
916
  }
797
- function R(e, t, n, r, i, a, o = "vertical", s) {
798
- let c = F(s), l = L(t, s);
917
+ function W(e, t, n, r, i, a, o = "vertical", s) {
918
+ let c = ee(s), l = ne(t, s);
799
919
  if (o === "horizontal") {
800
920
  let t = Math.max(9, Math.min(12, a * .7));
801
921
  e.font = `${t}px sans-serif`, e.textBaseline = "middle";
802
922
  let o = l.map((t) => 14 + e.measureText(t.label.slice(0, 30)).width), s = n + (i - (o.reduce((e, t) => e + t, 0) + 12 * Math.max(0, l.length - 1))) / 2, u = r + a / 2;
803
- for (let n = 0; n < l.length; n++) I(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
923
+ for (let n = 0; n < l.length; n++) te(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
804
924
  return;
805
925
  }
806
926
  let u = Math.max(9, Math.min(12, a / (l.length + 1)));
807
927
  e.font = `${u}px sans-serif`, e.textBaseline = "middle";
808
928
  let d = u + 4, f = r + (a - d * l.length) / 2;
809
- for (let t = 0; t < l.length; t++) I(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
929
+ for (let t = 0; t < l.length; t++) te(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
810
930
  }
811
- function ee(e, t, n) {
931
+ function re(e, t, n) {
812
932
  if (!e.showLegend) return null;
813
933
  let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
814
934
  return i === "r" || i === "l" ? {
@@ -821,30 +941,30 @@ function ee(e, t, n) {
821
941
  reserveH: Math.max(18, n * .08)
822
942
  };
823
943
  }
824
- function te(e, t, n, r, i, a, o, s, c, l, u, d) {
944
+ function ie(e, t, n, r, i, a, o, s, c, l, u, d) {
825
945
  if (!n) return;
826
946
  let f = t.legendManualLayout;
827
947
  if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
828
948
  let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
829
- R(e, t.series, n, s, c, l, u, t.chartType);
949
+ W(e, t.series, n, s, c, l, u, t.chartType);
830
950
  return;
831
951
  }
832
952
  switch (n.side) {
833
953
  case "r":
834
- R(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
954
+ W(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
835
955
  break;
836
956
  case "l":
837
- R(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
957
+ W(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
838
958
  break;
839
959
  case "t":
840
- R(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
960
+ W(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
841
961
  break;
842
962
  case "b":
843
- R(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
963
+ W(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
844
964
  break;
845
965
  }
846
966
  }
847
- function z(e, t, n, r, i, a, o) {
967
+ function G(e, t, n, r, i, a, o) {
848
968
  if (t === "none" || !t) return;
849
969
  let s = o ? Math.max(4, o + 2) : 4, c = e.strokeStyle, l = e.lineWidth;
850
970
  if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
@@ -856,16 +976,16 @@ function z(e, t, n, r, i, a, o) {
856
976
  }
857
977
  e.stroke(), e.strokeStyle = c, e.lineWidth = l;
858
978
  }
859
- function ne(e, t, n) {
979
+ function ae(e, t, n) {
860
980
  return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
861
981
  }
862
- function B(e, t, n) {
982
+ function oe(e, t, n) {
863
983
  return e ? e / 100 * n : Math.max(8, t * .045);
864
984
  }
865
- function re(e, t, n, r, i, a) {
985
+ function se(e, t, n, r, i, a) {
866
986
  t.title && (e.font = `bold ${a}px ${t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif"}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r));
867
987
  }
868
- function V(e) {
988
+ function ce(e) {
869
989
  if (e.categories.length > 0) return e.categories;
870
990
  let t = e.series[0];
871
991
  if (t?.categories && t.categories.length > 0) return t.categories;
@@ -873,7 +993,7 @@ function V(e) {
873
993
  for (let t of e.series) t.values.length > n && (n = t.values.length);
874
994
  return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
875
995
  }
876
- function H(e, t, n, r, i, a, o, s, c) {
996
+ function le(e, t, n, r, i, a, o, s, c) {
877
997
  let l = s ?? "outEnd";
878
998
  if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
879
999
  let o = n + a / 2;
@@ -883,225 +1003,225 @@ function H(e, t, n, r, i, a, o, s, c) {
883
1003
  l === "inBase" ? (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + 4, o)) : l === "inEnd" ? (e.textAlign = "right", e.textBaseline = "middle", e.fillText(t, n + i - 4, o)) : l === "ctr" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, n + i / 2, o)) : (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + i + 2, o));
884
1004
  }
885
1005
  }
886
- function U(e, t, n, r) {
887
- let { x: i, y: a, w: c, h: l } = n, d = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", f = t.chartType.startsWith("stacked"), p = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", m = t.series.filter((e) => e.seriesType !== "line"), h = t.series.filter((e) => e.seriesType === "line"), g = V(t), _ = g.length;
888
- if (_ === 0) return;
889
- let v = t.title ? ne(t, l, r) : 0, y = t.title ? l * .02 : 0, b = t.title ? l * .025 : 0, x = t.title ? v + y + b : 0, S = ee(t, c, l), C = S?.side === "r" ? S.reserveW : 0, w = S?.side === "l" ? S.reserveW : 0, T = S?.side === "t" ? S.reserveH : 0, D = S?.side === "b" ? S.reserveH : 0, O = Math.max(8, Math.min(10, l * .045)), k = t.catAxisTitle ? O + 4 : 0, j = t.valAxisTitle ? O + 4 : 0, M = {
890
- t: x + T + l * .02,
891
- r: C + c * .03,
892
- b: l * .14 + k + D,
893
- l: c * .12 + j + w
1006
+ function ue(e, t, n, r) {
1007
+ let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = ce(t), m = p.length;
1008
+ if (m === 0) return;
1009
+ let _ = t.title ? ae(t, s, r) : 0, v = t.title ? s * .02 : 0, b = t.title ? s * .025 : 0, x = t.title ? _ + v + b : 0, S = re(t, o, s), C = S?.side === "r" ? S.reserveW : 0, w = S?.side === "l" ? S.reserveW : 0, T = S?.side === "t" ? S.reserveH : 0, E = S?.side === "b" ? S.reserveH : 0, D = Math.max(8, Math.min(10, s * .045)), O = t.catAxisTitle ? D + 4 : 0, k = t.valAxisTitle ? D + 4 : 0, A = {
1010
+ t: x + T + s * .02,
1011
+ r: C + o * .03,
1012
+ b: s * .14 + O + E,
1013
+ l: o * .12 + k + w
894
1014
  };
895
- d && (M.l = (t.catAxisHidden ? c * .03 : c * .22) + j + w, M.b = (t.valAxisHidden ? l * .02 : l * .08) + k + D), re(e, t, i, a + y, c, v);
896
- let N = t.plotAreaManualLayout, F, I, L, R;
897
- if (N && N.w != null && N.h != null ? (F = i + N.x * c, I = a + N.y * l, L = N.w * c, R = N.h * l) : (F = i + M.l, I = a + M.t, L = c - M.l - M.r, R = l - M.t - M.b), L <= 0 || R <= 0) return;
898
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(F, I, L, R));
899
- let z = 0;
900
- for (let e = 0; e < _; e++) {
1015
+ c && (A.l = (t.catAxisHidden ? o * .03 : o * .22) + k + w, A.b = (t.valAxisHidden ? s * .02 : s * .08) + O + E), se(e, t, i, a + v, o, _);
1016
+ let j = t.plotAreaManualLayout, M, N, P, I;
1017
+ if (j && j.w != null && j.h != null ? (M = i + j.x * o, N = a + j.y * s, P = j.w * o, I = j.h * s) : (M = i + A.l, N = a + A.t, P = o - A.l - A.r, I = s - A.t - A.b), P <= 0 || I <= 0) return;
1018
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, I));
1019
+ let L = 0;
1020
+ for (let e = 0; e < m; e++) {
901
1021
  let t = 0;
902
- for (let n of m) {
1022
+ for (let n of d) {
903
1023
  let r = n.values[e] ?? 0;
904
- f ? t += Math.abs(r) : z = Math.max(z, Math.abs(r));
1024
+ l ? t += Math.abs(r) : L = Math.max(L, Math.abs(r));
905
1025
  }
906
- f && (z = Math.max(z, t));
1026
+ l && (L = Math.max(L, t));
907
1027
  }
908
- p && (z = 100), t.valMax != null && (z = t.valMax), z === 0 && (z = 1);
909
- let B = o(z), U = t.valMax ?? s(z, B), W = "#e0e0e0", ie = Math.round(U / B);
910
- if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, R / 20))}px sans-serif`, e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", !t.valAxisHidden) for (let n = 0; n <= ie; n++) {
911
- let r = n * B, i = p ? `${Math.round(r)}%` : u(r, t.valAxisFormatCode);
912
- if (d) {
913
- let t = F + r / U * L;
914
- e.strokeStyle = n === 0 ? "#aaa" : W, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, I), e.lineTo(t, I + R), e.stroke(), e.textAlign = "center", e.fillText(i, t, I + R + 10);
1028
+ u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
1029
+ let R = h(L), B = t.valMax ?? g(L, R), V = "#e0e0e0", H = Math.round(B / R);
1030
+ if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, I / 20))}px sans-serif`, e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", !t.valAxisHidden) for (let n = 0; n <= H; n++) {
1031
+ let r = n * R, i = u ? `${Math.round(r)}%` : y(r, t.valAxisFormatCode);
1032
+ if (c) {
1033
+ let t = M + r / B * P;
1034
+ e.strokeStyle = n === 0 ? "#aaa" : V, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, N), e.lineTo(t, N + I), e.stroke(), e.textAlign = "center", e.fillText(i, t, N + I + 10);
915
1035
  } else {
916
- let t = I + R - r / U * R;
917
- e.strokeStyle = n === 0 ? "#aaa" : W, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(F, t), e.lineTo(F + L, t), e.stroke(), e.textAlign = "right", e.fillText(i, F - 4, t);
1036
+ let t = N + I - r / B * I;
1037
+ e.strokeStyle = n === 0 ? "#aaa" : V, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(M, t), e.lineTo(M + P, t), e.stroke(), e.textAlign = "right", e.fillText(i, M - 4, t);
918
1038
  }
919
1039
  }
920
- let G = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#aaa", ae = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#aaa", oe = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / E) : 1, se = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / E) : 1, ce = (t, n, r, i, a, o) => {
1040
+ let ee = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#aaa", te = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#aaa", ne = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : 1, W = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : 1, G = (t, n, r, i, a, o) => {
921
1041
  e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
922
- }, le = !t.catAxisHidden && !t.catAxisLineHidden, ue = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
923
- d ? (le && ce(F, I, F, I + R, G, oe), ue && ce(F, I + R, F + L, I + R, ae, se)) : (le && ce(F, I + R, F + L, I + R, G, oe), ue && ce(F, I, F, I + R, ae, se));
924
- let K = d ? R / _ : L / _, de = f ? 1 : Math.max(1, m.length), fe = f ? 0 : t.barOverlap ?? 0, pe = t.barGapWidth ?? 150, q = K / (1 + (de - 1) * (1 - fe / 100) + pe / 100), me = f ? 0 : q * (1 - fe / 100), J = (K - (q + (de - 1) * me)) / 2;
925
- for (let n = 0; n < _; n++) {
1042
+ }, oe = !t.catAxisHidden && !t.catAxisLineHidden, ue = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
1043
+ c ? (oe && G(M, N, M, N + I, ee, ne), ue && G(M, N + I, M + P, N + I, te, W)) : (oe && G(M, N + I, M + P, N + I, ee, ne), ue && G(M, N, M, N + I, te, W));
1044
+ let K = c ? I / m : P / m, de = l ? 1 : Math.max(1, d.length), fe = l ? 0 : t.barOverlap ?? 0, pe = t.barGapWidth ?? 150, q = K / (1 + (de - 1) * (1 - fe / 100) + pe / 100), me = l ? 0 : q * (1 - fe / 100), he = (K - (q + (de - 1) * me)) / 2;
1045
+ for (let n = 0; n < m; n++) {
926
1046
  let i = 0, a = 0;
927
- if (p) {
928
- for (let e of m) a += Math.abs(e.values[n] ?? 0);
1047
+ if (u) {
1048
+ for (let e of d) a += Math.abs(e.values[n] ?? 0);
929
1049
  a === 0 && (a = 1);
930
1050
  }
931
- for (let o = 0; o < m.length; o++) {
932
- let s = m[o], c = s.values[n] ?? 0, l = p ? Math.abs(c) / a * 100 : Math.abs(c), h = A(o, s);
933
- if (d) {
934
- let a = f ? o : m.length - 1 - o, c = f ? I + (_ - 1 - n) * K + J : I + (_ - 1 - n) * K + J + a * me, d = l / U * L, g = f ? F + i / U * L : F;
935
- e.fillStyle = h, e.fillRect(g, c, d, q), t.showDataLabels && l > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, H(e, p ? `${Math.round(l)}%` : u(l, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, d, q, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1051
+ for (let o = 0; o < d.length; o++) {
1052
+ let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), h = z(o, s);
1053
+ if (c) {
1054
+ let a = l ? o : d.length - 1 - o, c = l ? N + (m - 1 - n) * K + he : N + (m - 1 - n) * K + he + a * me, f = p / B * P, g = l ? M + i / B * P : M;
1055
+ e.fillStyle = h, e.fillRect(g, c, f, q), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, le(e, u ? `${Math.round(p)}%` : y(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, q, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
936
1056
  } else {
937
- let a = f ? F + n * K + J : F + n * K + J + o * me, c = l / U * R, d = I + R - (f ? i + l : l) / U * R;
938
- e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels && l > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, H(e, p ? `${Math.round(l)}%` : u(l, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, q, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1057
+ let a = l ? M + n * K + he : M + n * K + he + o * me, c = p / B * I, d = N + I - (l ? i + p : p) / B * I;
1058
+ e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, le(e, u ? `${Math.round(p)}%` : y(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, q, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
939
1059
  }
940
- f && (i += l);
1060
+ l && (i += p);
941
1061
  }
942
1062
  }
943
1063
  if (!t.catAxisHidden) {
944
1064
  e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, K * .5))}px sans-serif`;
945
- for (let t = 0; t < _; t++) {
946
- let n = (g[t] ?? "").toString().slice(0, 12);
947
- if (d) {
948
- let r = I + (_ - 1 - t) * K + K / 2;
949
- e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, F - 4, r);
1065
+ for (let t = 0; t < m; t++) {
1066
+ let n = (p[t] ?? "").toString().slice(0, 12);
1067
+ if (c) {
1068
+ let r = N + (m - 1 - t) * K + K / 2;
1069
+ e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, M - 4, r);
950
1070
  } else {
951
- let r = F + t * K + K / 2;
952
- e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, I + R + 3);
1071
+ let r = M + t * K + K / 2;
1072
+ e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, N + I + 3);
953
1073
  }
954
1074
  }
955
1075
  }
956
- if (h.length > 0 && !d) for (let t = 0; t < h.length; t++) {
957
- let n = h[t], r = A(m.length + t, n);
1076
+ if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
1077
+ let n = f[t], r = z(d.length + t, n);
958
1078
  e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
959
1079
  let i = !1;
960
- for (let t = 0; t < _; t++) {
1080
+ for (let t = 0; t < m; t++) {
961
1081
  let r = n.values[t];
962
1082
  if (r == null) {
963
1083
  i = !1;
964
1084
  continue;
965
1085
  }
966
- let a = F + t * K + K / 2, o = I + R - r / U * R;
1086
+ let a = M + t * K + K / 2, o = N + I - r / B * I;
967
1087
  i ? e.lineTo(a, o) : (e.moveTo(a, o), i = !0);
968
1088
  }
969
- if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < _; t++) {
1089
+ if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < m; t++) {
970
1090
  let i = n.values[t];
971
1091
  if (i == null) continue;
972
- let a = F + t * K + K / 2, o = I + R - i / U * R;
1092
+ let a = M + t * K + K / 2, o = N + I - i / B * I;
973
1093
  e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
974
1094
  }
975
1095
  }
976
- te(e, d && !f ? {
1096
+ ie(e, c && !l ? {
977
1097
  ...t,
978
1098
  series: [...t.series].reverse()
979
- } : t, S, i, a, c, l, F, I, L, R, x + 2), t.catAxisTitle && P(e, t.catAxisTitle, F, I, L, R, "cat", O), t.valAxisTitle && P(e, t.valAxisTitle, F, I, L, R, "val", O);
1099
+ } : t, S, i, a, o, s, M, N, P, I, x + 2), t.catAxisTitle && U(e, t.catAxisTitle, M, N, P, I, "cat", D), t.valAxisTitle && U(e, t.valAxisTitle, M, N, P, I, "val", D);
980
1100
  }
981
- function W(e, t, n, r) {
982
- let { x: i, y: a, w: d, h: f } = n, p = V(t), m = p.length;
983
- if (m === 0) return;
984
- let h = t.title ? ne(t, f, r) : 0, g = t.title ? f * .045 : 0, _ = t.title ? f * .035 : 0, v = t.title ? h + g + _ : 0, y = ee(t, d, f), b = y?.side === "r" ? y.reserveW : 0, x = y?.side === "l" ? y.reserveW : 0, S = y?.side === "t" ? y.reserveH : 0, C = y?.side === "b" ? y.reserveH : 0, w = B(t.catAxisFontSizeHpt, f, r), T = B(t.valAxisFontSizeHpt, f, r), E = Math.max(w, T), D = t.catAxisTitle ? E + 4 : 0, O = t.valAxisTitle ? E + 4 : 0, k = {
985
- t: v + S + T / 2 + 2,
986
- r: b + d * .05,
1101
+ function K(e, t, n, r) {
1102
+ let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
1103
+ if (l === 0) return;
1104
+ let u = t.title ? ae(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = re(t, o, s), b = m?.side === "r" ? m.reserveW : 0, x = m?.side === "l" ? m.reserveW : 0, S = m?.side === "t" ? m.reserveH : 0, C = m?.side === "b" ? m.reserveH : 0, w = oe(t.catAxisFontSizeHpt, s, r), T = oe(t.valAxisFontSizeHpt, s, r), E = Math.max(w, T), D = t.catAxisTitle ? E + 4 : 0, O = t.valAxisTitle ? E + 4 : 0, k = {
1105
+ t: p + S + T / 2 + 2,
1106
+ r: b + o * .05,
987
1107
  b: w + 12 + D + C,
988
1108
  l: T * 2.2 + 10 + O + x
989
1109
  };
990
- re(e, t, i, a + g, d, h);
991
- let j = i + k.l, M = a + k.t, N = d - k.l - k.r, F = f - k.t - k.b;
992
- if (N <= 0 || F <= 0) return;
993
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(j, M, N, F));
994
- let I = Infinity, L = -Infinity;
995
- for (let e of t.series) for (let t of e.values) t != null && (I = Math.min(I, t), L = Math.max(L, t));
996
- isFinite(I) || (I = 0, L = 1), t.valMin == null ? I > 0 && (I = 0) : I = t.valMin, t.valMax == null ? L < 0 && (L = 0) : L = t.valMax, L === I && (L = I + 1);
997
- let R = o(L - I), H = t.valMin ?? c(I, R), U = t.valMax ?? s(L, R), W = U - H;
998
- if (W === 0) return;
999
- let ie = (e) => M + F - (e - H) / W * F, G = t.catAxisCrossBetween === "midCat" ? (e) => j + (m === 1 ? N / 2 : e / (m - 1) * N) : (e) => j + (e + .5) / m * N;
1110
+ se(e, t, i, a + d, o, u);
1111
+ let A = i + k.l, j = a + k.t, M = o - k.l - k.r, N = s - k.t - k.b;
1112
+ if (M <= 0 || N <= 0) return;
1113
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(A, j, M, N));
1114
+ let P = Infinity, F = -Infinity;
1115
+ for (let e of t.series) for (let t of e.values) t != null && (P = Math.min(P, t), F = Math.max(F, t));
1116
+ isFinite(P) || (P = 0, F = 1), t.valMin == null ? P > 0 && (P = 0) : P = t.valMin, t.valMax == null ? F < 0 && (F = 0) : F = t.valMax, F === P && (F = P + 1);
1117
+ let I = h(F - P), L = t.valMin ?? _(P, I), R = t.valMax ?? g(F, I), B = R - L;
1118
+ if (B === 0) return;
1119
+ let V = (e) => j + N - (e - L) / B * N, H = t.catAxisCrossBetween === "midCat" ? (e) => A + (l === 1 ? M / 2 : e / (l - 1) * M) : (e) => A + (e + .5) / l * M;
1000
1120
  if (!t.valAxisHidden) {
1001
- let n = Math.round((U - H) / R);
1121
+ let n = Math.round((R - L) / I);
1002
1122
  e.font = `${T}px sans-serif`, e.textBaseline = "middle";
1003
1123
  for (let r = 0; r <= n; r++) {
1004
- let n = H + r * R, i = ie(n);
1005
- e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(j, i), e.lineTo(j + N, i), e.stroke(), z(e, t.valAxisMajorTickMark, "val", j, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(u(n, t.valAxisFormatCode), j - 6, i);
1124
+ let n = L + r * I, i = V(n);
1125
+ e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(A, i), e.lineTo(A + M, i), e.stroke(), G(e, t.valAxisMajorTickMark, "val", A, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(y(n, t.valAxisFormatCode), A - 6, i);
1006
1126
  }
1007
1127
  }
1008
- e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(j, M + F), e.lineTo(j + N, M + F), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(j, M), e.lineTo(j, M + F), e.stroke());
1009
- let ae = Math.max(1, 2.25 * r), oe = Math.max(2, 2.5 * r), se = B(t.dataLabelFontSizeHpt, f, r);
1128
+ e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(A, j + N), e.lineTo(A + M, j + N), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(A, j), e.lineTo(A, j + N), e.stroke());
1129
+ let ee = Math.max(1, 2.25 * r), te = Math.max(2, 2.5 * r), ne = oe(t.dataLabelFontSizeHpt, s, r);
1010
1130
  for (let n = 0; n < t.series.length; n++) {
1011
- let r = t.series[n], i = A(n, r);
1012
- e.strokeStyle = i, e.lineWidth = ae, e.setLineDash([]), e.beginPath();
1131
+ let r = t.series[n], i = z(n, r);
1132
+ e.strokeStyle = i, e.lineWidth = ee, e.setLineDash([]), e.beginPath();
1013
1133
  let a = !1;
1014
- for (let t = 0; t < m; t++) {
1134
+ for (let t = 0; t < l; t++) {
1015
1135
  let n = r.values[t];
1016
1136
  if (n == null) {
1017
1137
  a = !1;
1018
1138
  continue;
1019
1139
  }
1020
- let i = G(t), o = ie(n);
1140
+ let i = H(t), o = V(n);
1021
1141
  a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
1022
1142
  }
1023
1143
  e.stroke(), e.fillStyle = i;
1024
1144
  let o = r.showMarker !== !1;
1025
- for (let n = 0; n < m; n++) {
1145
+ for (let n = 0; n < l; n++) {
1026
1146
  let a = r.values[n];
1027
- if (a != null && (o && (e.beginPath(), e.arc(G(n), ie(a), oe, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
1028
- e.font = `${se}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1029
- let t = o ? oe + 1 : 2;
1030
- e.fillText(l(a), G(n), ie(a) - t), e.fillStyle = i;
1147
+ if (a != null && (o && (e.beginPath(), e.arc(H(n), V(a), te, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
1148
+ e.font = `${ne}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1149
+ let t = o ? te + 1 : 2;
1150
+ e.fillText(v(a), H(n), V(a) - t), e.fillStyle = i;
1031
1151
  }
1032
1152
  }
1033
1153
  }
1034
1154
  if (!t.catAxisHidden) {
1035
- let n = Math.max(1, Math.ceil(m / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
1155
+ let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
1036
1156
  e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${w}px sans-serif`;
1037
- for (let i = 0; i < m; i += n) {
1038
- let n = G(i);
1039
- z(e, t.catAxisMajorTickMark, "cat", M + F, n), e.fillStyle = r, e.fillText((p[i] ?? "").toString().slice(0, 10), n, M + F + 5);
1157
+ for (let i = 0; i < l; i += n) {
1158
+ let n = H(i);
1159
+ G(e, t.catAxisMajorTickMark, "cat", j + N, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, j + N + 5);
1040
1160
  }
1041
1161
  }
1042
- te(e, t, y, i, a, d, f, j, M, N, F, v + 2), t.catAxisTitle && P(e, t.catAxisTitle, j, M, N, F, "cat", E), t.valAxisTitle && P(e, t.valAxisTitle, j, M, N, F, "val", E);
1162
+ ie(e, t, m, i, a, o, s, A, j, M, N, p + 2), t.catAxisTitle && U(e, t.catAxisTitle, A, j, M, N, "cat", E), t.valAxisTitle && U(e, t.valAxisTitle, A, j, M, N, "val", E);
1043
1163
  }
1044
- function ie(e, t, n, r) {
1045
- let { x: i, y: a, w: c, h: l } = n, d = V(t), f = d.length;
1046
- if (f === 0) return;
1047
- let p = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", m = t.title ? ne(t, l, r) : 0, h = t.title ? l * .035 : 0, g = t.title ? l * .035 : 0, _ = t.title ? m + h + g : 0, v = ee(t, c, l), y = v?.side === "r" ? v.reserveW : 0, x = v?.side === "l" ? v.reserveW : 0, S = v?.side === "t" ? v.reserveH : 0, C = v?.side === "b" ? v.reserveH : 0, w = Math.max(8, Math.min(10, l * .045)), T = t.catAxisTitle ? w + 4 : 0, E = t.valAxisTitle ? w + 4 : 0, D = {
1048
- t: _ + S + l * .02,
1049
- r: y + c * .05,
1050
- b: l * .14 + T + C,
1051
- l: c * .12 + E + x
1164
+ function de(e, t, n, r) {
1165
+ let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
1166
+ if (l === 0) return;
1167
+ let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? ae(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, _ = re(t, o, s), v = _?.side === "r" ? _.reserveW : 0, b = _?.side === "l" ? _.reserveW : 0, x = _?.side === "t" ? _.reserveH : 0, S = _?.side === "b" ? _.reserveH : 0, C = Math.max(8, Math.min(10, s * .045)), w = t.catAxisTitle ? C + 4 : 0, T = t.valAxisTitle ? C + 4 : 0, E = {
1168
+ t: m + x + s * .02,
1169
+ r: v + o * .05,
1170
+ b: s * .14 + w + S,
1171
+ l: o * .12 + T + b
1052
1172
  };
1053
- re(e, t, i, a + h, c, m);
1054
- let O = i + D.l, k = a + D.t, j = c - D.l - D.r, M = l - D.t - D.b;
1055
- if (j <= 0 || M <= 0) return;
1056
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(O, k, j, M));
1057
- let N = 0;
1058
- for (let e = 0; e < f; e++) if (p) {
1173
+ se(e, t, i, a + f, o, d);
1174
+ let D = i + E.l, O = a + E.t, A = o - E.l - E.r, j = s - E.t - E.b;
1175
+ if (A <= 0 || j <= 0) return;
1176
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(D, O, A, j));
1177
+ let M = 0;
1178
+ for (let e = 0; e < l; e++) if (u) {
1059
1179
  let n = 0;
1060
1180
  for (let r of t.series) n += r.values[e] ?? 0;
1061
- N = Math.max(N, n);
1062
- } else for (let n of t.series) N = Math.max(N, n.values[e] ?? 0);
1063
- t.valMax != null && (N = t.valMax), N === 0 && (N = 1);
1064
- let F = o(N), I = t.valMax ?? s(N, F), L = (e) => O + (f === 1 ? j / 2 : e / (f - 1) * j), R = (e) => k + M - e / I * M;
1181
+ M = Math.max(M, n);
1182
+ } else for (let n of t.series) M = Math.max(M, n.values[e] ?? 0);
1183
+ t.valMax != null && (M = t.valMax), M === 0 && (M = 1);
1184
+ let N = h(M), P = t.valMax ?? g(M, N), F = (e) => D + (l === 1 ? A / 2 : e / (l - 1) * A), I = (e) => O + j - e / P * j;
1065
1185
  if (!t.valAxisHidden) {
1066
- e.font = `${Math.max(8, Math.min(11, M / 20))}px sans-serif`, e.textBaseline = "middle";
1067
- let n = Math.round(I / F);
1186
+ e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
1187
+ let n = Math.round(P / N);
1068
1188
  for (let r = 0; r <= n; r++) {
1069
- let n = r * F, i = R(n);
1070
- e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(O, i), e.lineTo(O + j, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(u(n, t.valAxisFormatCode), O - 4, i);
1189
+ let n = r * N, i = I(n);
1190
+ e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(D, i), e.lineTo(D + A, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(y(n, t.valAxisFormatCode), D - 4, i);
1071
1191
  }
1072
1192
  }
1073
- !t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(O, k + M), e.lineTo(O + j, k + M), e.stroke());
1074
- let z = p ? Array(f).fill(0) : null;
1193
+ !t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(D, O + j), e.lineTo(D + A, O + j), e.stroke());
1194
+ let L = u ? Array(l).fill(0) : null;
1075
1195
  for (let n = t.series.length - 1; n >= 0; n--) {
1076
- let r = t.series[n], i = A(n, r), a = k + M;
1077
- if (e.beginPath(), p && z) {
1078
- for (let t = 0; t < f; t++) {
1079
- let n = (r.values[t] ?? 0) + z[t], i = L(t), a = R(n);
1196
+ let r = t.series[n], i = z(n, r), a = O + j;
1197
+ if (e.beginPath(), u && L) {
1198
+ for (let t = 0; t < l; t++) {
1199
+ let n = (r.values[t] ?? 0) + L[t], i = F(t), a = I(n);
1080
1200
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1081
1201
  }
1082
- for (let t = f - 1; t >= 0; t--) e.lineTo(L(t), R(z[t]));
1083
- for (let e = 0; e < f; e++) z[e] += r.values[e] ?? 0;
1202
+ for (let t = l - 1; t >= 0; t--) e.lineTo(F(t), I(L[t]));
1203
+ for (let e = 0; e < l; e++) L[e] += r.values[e] ?? 0;
1084
1204
  } else {
1085
- e.moveTo(L(0), a);
1086
- for (let t = 0; t < f; t++) e.lineTo(L(t), R(r.values[t] ?? 0));
1087
- e.lineTo(L(f - 1), a);
1205
+ e.moveTo(F(0), a);
1206
+ for (let t = 0; t < l; t++) e.lineTo(F(t), I(r.values[t] ?? 0));
1207
+ e.lineTo(F(l - 1), a);
1088
1208
  }
1089
- e.closePath(), e.fillStyle = b(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1209
+ e.closePath(), e.fillStyle = k(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1090
1210
  }
1091
1211
  if (!t.catAxisHidden) {
1092
- let n = Math.max(1, Math.ceil(f / 8));
1093
- e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, j / f * .8))}px sans-serif`;
1094
- for (let t = 0; t < f; t += n) e.fillText((d[t] ?? "").toString().slice(0, 10), L(t), k + M + 3);
1212
+ let n = Math.max(1, Math.ceil(l / 8));
1213
+ e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, A / l * .8))}px sans-serif`;
1214
+ for (let t = 0; t < l; t += n) e.fillText((c[t] ?? "").toString().slice(0, 10), F(t), O + j + 3);
1095
1215
  }
1096
- te(e, t, v, i, a, c, l, O, k, j, M, _ + 2), t.catAxisTitle && P(e, t.catAxisTitle, O, k, j, M, "cat", w), t.valAxisTitle && P(e, t.valAxisTitle, O, k, j, M, "val", w);
1216
+ ie(e, t, _, i, a, o, s, D, O, A, j, m + 2), t.catAxisTitle && U(e, t.catAxisTitle, D, O, A, j, "cat", C), t.valAxisTitle && U(e, t.valAxisTitle, D, O, A, j, "val", C);
1097
1217
  }
1098
- function G(e, t, n, r, i) {
1218
+ function fe(e, t, n, r, i) {
1099
1219
  let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
1100
1220
  if (!l) return;
1101
1221
  let u = l.categories && l.categories.length > 0 ? l.categories : t.categories, d = l.values.map((e) => Math.abs(e ?? 0)), f = d.reduce((e, t) => e + t, 0);
1102
1222
  if (f === 0) return;
1103
- let p = t.title ? ne(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1104
- re(e, t, a, o + m, s, p);
1223
+ let p = t.title ? ae(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1224
+ se(e, t, a, o + m, s, p);
1105
1225
  let _ = t.showLegend ? (() => {
1106
1226
  let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
1107
1227
  return n === "r" || n === "l" ? {
@@ -1115,7 +1235,7 @@ function G(e, t, n, r, i) {
1115
1235
  };
1116
1236
  })() : null, v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, b = _?.side === "t" ? _.reserveH : 0, x = _?.side === "b" ? _.reserveH : 0, S = s - v - y, C = c - g - b - x - c * .02, w = a + y + S / 2, T = o + g + b + c * .02 + C / 2, E = Math.min(S, C) * .42, D = r ? E * .5 : 0, O = -Math.PI / 2;
1117
1237
  for (let n = 0; n < d.length; n++) {
1118
- let i = d[n] / f * Math.PI * 2, a = j(n, l);
1238
+ let i = d[n] / f * Math.PI * 2, a = B(n, l);
1119
1239
  if (e.beginPath(), e.moveTo(w, T), e.arc(w, T, E, O, O + i), e.closePath(), e.fillStyle = a, e.fill(), e.strokeStyle = "#fff", e.lineWidth = 1, e.stroke(), t.showDataLabels && i > .15) {
1120
1240
  let t = O + i / 2, a = E * (r ? .75 : .6), o = w + Math.cos(t) * a, s = T + Math.sin(t) * a, c = Math.round(d[n] / f * 100);
1121
1241
  e.font = `bold ${Math.max(8, E * .1)}px sans-serif`, e.fillStyle = "#fff", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`${c}%`, o, s);
@@ -1127,59 +1247,59 @@ function G(e, t, n, r, i) {
1127
1247
  ...l,
1128
1248
  categories: u
1129
1249
  }], r = w - S / 2;
1130
- te(e, {
1250
+ ie(e, {
1131
1251
  ...t,
1132
1252
  series: n
1133
1253
  }, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
1134
1254
  }
1135
1255
  }
1136
- function ae(e, t, n, r) {
1137
- let { x: i, y: a, w: c, h: u } = n, d = V(t), f = d.length;
1138
- if (f < 3) return;
1139
- let p = t.title ? ne(t, u, r) : 0, m = t.title ? u * .035 : 0, h = t.title ? u * .035 : 0, g = t.title ? p + m + h : 0, _ = ee(t, c, u), v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, x = _?.side === "t" ? _.reserveH : 0, S = _?.side === "b" ? _.reserveH : 0;
1140
- re(e, t, i, a + m, c, p);
1141
- let C = c - v - y, w = u - g - x - S - u * .02, T = i + y + C / 2, E = a + g + x + u * .02 + w / 2, D = Math.min(C, w) * .38, O = 0;
1142
- for (let e of t.series) for (let t of e.values) O = Math.max(O, t ?? 0);
1143
- t.valMax != null && (O = t.valMax), O === 0 && (O = 1);
1144
- let k = o(O), j = t.valMax ?? s(O, k), M = -Math.PI / 2, N = (e) => M + e / f * Math.PI * 2, P = Math.round(j / k);
1256
+ function pe(e, t, n, r) {
1257
+ let { x: i, y: a, w: o, h: s } = n, c = ce(t), l = c.length;
1258
+ if (l < 3) return;
1259
+ let u = t.title ? ae(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = re(t, o, s), _ = m?.side === "r" ? m.reserveW : 0, y = m?.side === "l" ? m.reserveW : 0, b = m?.side === "t" ? m.reserveH : 0, x = m?.side === "b" ? m.reserveH : 0;
1260
+ se(e, t, i, a + d, o, u);
1261
+ let S = o - _ - y, C = s - p - b - x - s * .02, w = i + y + S / 2, T = a + p + b + s * .02 + C / 2, E = Math.min(S, C) * .38, D = 0;
1262
+ for (let e of t.series) for (let t of e.values) D = Math.max(D, t ?? 0);
1263
+ t.valMax != null && (D = t.valMax), D === 0 && (D = 1);
1264
+ let O = h(D), A = t.valMax ?? g(D, O), j = -Math.PI / 2, M = (e) => j + e / l * Math.PI * 2, N = Math.round(A / O);
1145
1265
  e.strokeStyle = "#ddd", e.lineWidth = .5;
1146
- for (let t = 1; t <= P; t++) {
1147
- let n = t / P * D;
1266
+ for (let t = 1; t <= N; t++) {
1267
+ let n = t / N * E;
1148
1268
  e.beginPath();
1149
- for (let t = 0; t < f; t++) {
1150
- let r = N(t), i = T + Math.cos(r) * n, a = E + Math.sin(r) * n;
1269
+ for (let t = 0; t < l; t++) {
1270
+ let r = M(t), i = w + Math.cos(r) * n, a = T + Math.sin(r) * n;
1151
1271
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1152
1272
  }
1153
1273
  e.closePath(), e.stroke();
1154
1274
  }
1155
1275
  e.strokeStyle = "#bbb", e.lineWidth = .5;
1156
- for (let t = 0; t < f; t++) {
1157
- let n = N(t);
1158
- e.beginPath(), e.moveTo(T, E), e.lineTo(T + Math.cos(n) * D, E + Math.sin(n) * D), e.stroke();
1276
+ for (let t = 0; t < l; t++) {
1277
+ let n = M(t);
1278
+ e.beginPath(), e.moveTo(w, T), e.lineTo(w + Math.cos(n) * E, T + Math.sin(n) * E), e.stroke();
1159
1279
  }
1160
1280
  if (!t.valAxisHidden) {
1161
- e.font = `${B(t.valAxisFontSizeHpt, u, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1162
- for (let t = 1; t <= P; t++) {
1163
- let n = t / P * j, r = t / P * D;
1164
- e.fillText(l(n), T - 3, E - r);
1281
+ e.font = `${oe(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1282
+ for (let t = 1; t <= N; t++) {
1283
+ let n = t / N * A, r = t / N * E;
1284
+ e.fillText(v(n), w - 3, T - r);
1165
1285
  }
1166
1286
  }
1167
- e.font = `${Math.max(8, Math.min(11, D * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1168
- for (let t = 0; t < f; t++) {
1169
- let n = N(t), r = T + Math.cos(n) * (D + 12), i = E + Math.sin(n) * (D + 12);
1170
- e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((d[t] ?? "").toString().slice(0, 12), r, i);
1287
+ e.font = `${Math.max(8, Math.min(11, E * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1288
+ for (let t = 0; t < l; t++) {
1289
+ let n = M(t), r = w + Math.cos(n) * (E + 12), i = T + Math.sin(n) * (E + 12);
1290
+ e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
1171
1291
  }
1172
- let F = t.radarStyle === "filled", I = Math.max(2, D * .025);
1292
+ let P = t.radarStyle === "filled", F = Math.max(2, E * .025);
1173
1293
  for (let n = 0; n < t.series.length; n++) {
1174
- let r = t.series[n], i = A(n, r), a = [];
1175
- for (let e = 0; e < f; e++) {
1294
+ let r = t.series[n], i = z(n, r), a = [];
1295
+ for (let e = 0; e < l; e++) {
1176
1296
  let t = r.values[e];
1177
1297
  if (t == null) {
1178
1298
  a.push(null);
1179
1299
  continue;
1180
1300
  }
1181
- let n = t / j, i = N(e);
1182
- a.push([T + Math.cos(i) * D * n, E + Math.sin(i) * D * n]);
1301
+ let n = t / A, i = M(e);
1302
+ a.push([w + Math.cos(i) * E * n, T + Math.sin(i) * E * n]);
1183
1303
  }
1184
1304
  e.beginPath();
1185
1305
  let o = !1;
@@ -1191,102 +1311,102 @@ function ae(e, t, n, r) {
1191
1311
  o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
1192
1312
  }
1193
1313
  let s = a.every((e) => e != null);
1194
- if (F && s ? (e.closePath(), e.fillStyle = b(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !F && r.showMarker !== !1) {
1314
+ if (P && s ? (e.closePath(), e.fillStyle = k(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !P && r.showMarker !== !1) {
1195
1315
  e.fillStyle = i;
1196
- for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], I, 0, Math.PI * 2), e.fill());
1316
+ for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], F, 0, Math.PI * 2), e.fill());
1197
1317
  }
1198
1318
  }
1199
- te(e, t, _, i, a, c, u, T - C / 2, E - w / 2, C, w, g + 2);
1319
+ ie(e, t, m, i, a, o, s, w - S / 2, T - C / 2, S, C, p + 2);
1200
1320
  }
1201
- function oe(e, t, n, r) {
1202
- let { x: i, y: a, w: s, h: c } = n, l = t.title ? ne(t, c, r) : 0, d = t.title ? c * .035 : 0, f = t.title ? c * .035 : 0, p = t.title ? l + d + f : 0, m = ee(t, s, c), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0, y = Math.max(8, Math.min(10, c * .045)), b = t.catAxisTitle ? y + 4 : 0, x = t.valAxisTitle ? y + 4 : 0;
1321
+ function q(e, t, n, r) {
1322
+ let { x: i, y: a, w: o, h: s } = n, c = t.title ? ae(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = re(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, g = f?.side === "t" ? f.reserveH : 0, _ = f?.side === "b" ? f.reserveH : 0, v = Math.max(8, Math.min(10, s * .045)), b = t.catAxisTitle ? v + 4 : 0, x = t.valAxisTitle ? v + 4 : 0;
1203
1323
  if (t.title) {
1204
1324
  let n = t.titleManualLayout;
1205
- n && (n.x !== void 0 || n.y !== void 0) ? re(e, t, i + n.x * s, a + n.y * c, (n.w ?? .5) * s, l) : re(e, t, i, a + d, s, l);
1325
+ n && (n.x !== void 0 || n.y !== void 0) ? se(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : se(e, t, i, a + l, o, c);
1206
1326
  }
1207
- let S = t.plotAreaManualLayout, C, w, T, D;
1208
- if (S && S.w != null && S.h != null) C = i + S.x * s, w = a + S.y * c, T = S.w * s, D = S.h * c;
1327
+ let S = t.plotAreaManualLayout, C, w, T, E;
1328
+ if (S && S.w != null && S.h != null) C = i + S.x * o, w = a + S.y * s, T = S.w * o, E = S.h * s;
1209
1329
  else {
1210
1330
  let e = {
1211
- t: p + _ + c * .02,
1212
- r: h + s * .05,
1213
- b: (t.catAxisHidden ? c * .04 : c * .12) + b + v,
1214
- l: (t.valAxisHidden ? s * .04 : s * .12) + x + g
1331
+ t: d + g + s * .02,
1332
+ r: p + o * .05,
1333
+ b: (t.catAxisHidden ? s * .04 : s * .12) + b + _,
1334
+ l: (t.valAxisHidden ? o * .04 : o * .12) + x + m
1215
1335
  };
1216
- C = i + e.l, w = a + e.t, T = s - e.l - e.r, D = c - e.t - e.b;
1336
+ C = i + e.l, w = a + e.t, T = o - e.l - e.r, E = s - e.t - e.b;
1217
1337
  }
1218
- if (T <= 0 || D <= 0) return;
1219
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T, D));
1220
- let O = [], k = [];
1338
+ if (T <= 0 || E <= 0) return;
1339
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(C, w, T, E));
1340
+ let D = [], O = [];
1221
1341
  for (let e of t.series) {
1222
1342
  let t = e.categories ?? [];
1223
1343
  for (let e of t) {
1224
1344
  let t = parseFloat(e);
1225
- isNaN(t) || O.push(t);
1345
+ isNaN(t) || D.push(t);
1226
1346
  }
1227
- for (let t of e.values) t != null && k.push(t);
1347
+ for (let t of e.values) t != null && O.push(t);
1228
1348
  }
1229
- let j = O.length === 0;
1230
- if (j) {
1349
+ let k = D.length === 0;
1350
+ if (k) {
1231
1351
  let e = Math.max(...t.series.map((e) => e.values.length));
1232
- for (let t = 0; t < e; t++) O.push(t);
1352
+ for (let t = 0; t < e; t++) D.push(t);
1233
1353
  }
1234
- let M = Math.min(...O), N = Math.max(...O), F = Math.min(...k), I = Math.max(...k);
1235
- if (M === N && (--M, N += 1), F === I && (--F, I += 1), t.valMin == null ? F > 0 && (F = 0) : F = t.valMin, t.valMax != null && (I = t.valMax), t.catAxisMin != null && (M = t.catAxisMin), t.catAxisMax != null && (N = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1236
- let e = o(N - M);
1237
- e > 0 && (t.catAxisMin ?? (M = Math.floor(M / e) * e), t.catAxisMax ?? (N = Math.ceil(N / e) * e));
1354
+ let A = Math.min(...D), j = Math.max(...D), M = Math.min(...O), N = Math.max(...O);
1355
+ if (A === j && (--A, j += 1), M === N && (--M, N += 1), t.valMin == null ? M > 0 && (M = 0) : M = t.valMin, t.valMax != null && (N = t.valMax), t.catAxisMin != null && (A = t.catAxisMin), t.catAxisMax != null && (j = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1356
+ let e = h(j - A);
1357
+ e > 0 && (t.catAxisMin ?? (A = Math.floor(A / e) * e), t.catAxisMax ?? (j = Math.ceil(j / e) * e));
1238
1358
  }
1239
- let L = (e) => C + (e - M) / (N - M) * T, R = (e) => w + D - (e - F) / (I - F) * D;
1359
+ let P = (e) => C + (e - A) / (j - A) * T, I = (e) => w + E - (e - M) / (N - M) * E;
1240
1360
  if (!t.valAxisHidden) {
1241
- let n = Math.max(8, Math.min(11, D / 20));
1361
+ let n = Math.max(8, Math.min(11, E / 20));
1242
1362
  e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1243
- let r = o(I - F), i = Math.round((I - F) / r) + 1;
1363
+ let r = h(N - M), i = Math.round((N - M) / r) + 1;
1244
1364
  for (let n = 0; n < i; n++) {
1245
- let i = F + n * r;
1246
- if (i > I + r * .01) break;
1247
- let a = R(i);
1248
- e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(C, a), e.lineTo(C + T, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(u(i, t.valAxisFormatCode), C - 4, a);
1249
- let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / E) : void 0;
1250
- z(e, t.valAxisMajorTickMark, "val", C, a, o, s);
1365
+ let i = M + n * r;
1366
+ if (i > N + r * .01) break;
1367
+ let a = I(i);
1368
+ e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(C, a), e.lineTo(C + T, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(y(i, t.valAxisFormatCode), C - 4, a);
1369
+ let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : void 0;
1370
+ G(e, t.valAxisMajorTickMark, "val", C, a, o, s);
1251
1371
  }
1252
1372
  }
1253
- let B = w + D;
1254
- if (t.catAxisCrossesAt != null) B = K(R(t.catAxisCrossesAt), w, w + D);
1373
+ let L = w + E;
1374
+ if (t.catAxisCrossesAt != null) L = ve(I(t.catAxisCrossesAt), w, w + E);
1255
1375
  else {
1256
1376
  let e = t.catAxisCrosses ?? "autoZero";
1257
- e === "autoZero" && F < 0 && I > 0 ? B = K(R(0), w, w + D) : e === "min" ? B = w + D : e === "max" && (B = w);
1377
+ e === "autoZero" && M < 0 && N > 0 ? L = ve(I(0), w, w + E) : e === "min" ? L = w + E : e === "max" && (L = w);
1258
1378
  }
1259
- if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / E) : 1, e.lineCap = "butt", e.beginPath(), e.moveTo(C, B), e.lineTo(C + T, B), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / E) : 1, e.beginPath(), e.moveTo(C, w), e.lineTo(C, w + D), e.stroke(), e.restore()), !t.catAxisHidden) {
1260
- let n = Math.max(8, Math.min(11, D / 20));
1379
+ if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : 1, e.lineCap = "butt", e.beginPath(), e.moveTo(C, L), e.lineTo(C + T, L), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / F) : 1, e.beginPath(), e.moveTo(C, w), e.lineTo(C, w + E), e.stroke(), e.restore()), !t.catAxisHidden) {
1380
+ let n = Math.max(8, Math.min(11, E / 20));
1261
1381
  e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1262
- let r = o(N - M), i = Math.round((N - M) / r) + 1;
1382
+ let r = h(j - A), i = Math.round((j - A) / r) + 1;
1263
1383
  e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
1264
1384
  for (let n = 0; n < i; n++) {
1265
- let i = M + n * r;
1266
- if (i > N + r * .01) break;
1267
- let a = L(i);
1268
- e.fillText(u(i, t.catAxisFormatCode), a, B + 4);
1269
- let o = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, s = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / E) : void 0;
1270
- z(e, t.catAxisMajorTickMark, "cat", B, a, o, s);
1385
+ let i = A + n * r;
1386
+ if (i > j + r * .01) break;
1387
+ let a = P(i);
1388
+ e.fillText(y(i, t.catAxisFormatCode), a, L + 4);
1389
+ let o = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, s = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / F) : void 0;
1390
+ G(e, t.catAxisMajorTickMark, "cat", L, a, o, s);
1271
1391
  }
1272
1392
  }
1273
- let V = t.chartType === "bubble", H = V ? "marker" : t.scatterStyle ?? "marker", U = H === "line" || H === "lineMarker" || H === "lineNoMarker", W = H === "smooth" || H === "smoothMarker" || H === "smoothNoMarker", ie = H === "lineNoMarker" || H === "smoothNoMarker";
1393
+ let R = t.chartType === "bubble", B = R ? "marker" : t.scatterStyle ?? "marker", V = B === "line" || B === "lineMarker" || B === "lineNoMarker", H = B === "smooth" || B === "smoothMarker" || B === "smoothNoMarker", ee = B === "lineNoMarker" || B === "smoothNoMarker";
1274
1394
  for (let n = 0; n < t.series.length; n++) {
1275
- let i = t.series[n], a = A(n, i), o = i.categories ?? [];
1276
- for (let t of i.errBars ?? []) ce(e, i, t, o, j, L, R, a);
1277
- if (U || W) {
1395
+ let i = t.series[n], a = z(n, i), o = i.categories ?? [];
1396
+ for (let t of i.errBars ?? []) he(e, i, t, o, k, P, I, a);
1397
+ if (V || H) {
1278
1398
  let t = [];
1279
1399
  for (let e = 0; e < i.values.length; e++) {
1280
1400
  let n = i.values[e];
1281
1401
  if (n == null) continue;
1282
- let r = j ? e : parseFloat(o[e] ?? "0");
1402
+ let r = k ? e : parseFloat(o[e] ?? "0");
1283
1403
  isNaN(r) || t.push({
1284
- x: L(r),
1285
- y: R(n)
1404
+ x: P(r),
1405
+ y: I(n)
1286
1406
  });
1287
1407
  }
1288
1408
  if (t.length >= 2) {
1289
- if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), W && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1409
+ if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), H && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1290
1410
  let r = t[n - 1] ?? t[n], i = t[n], a = t[n + 1], o = t[n + 2] ?? a, s = i.x + (a.x - r.x) / 6, c = i.y + (a.y - r.y) / 6, l = a.x - (o.x - i.x) / 6, u = a.y - (o.y - i.y) / 6;
1291
1411
  e.bezierCurveTo(s, c, l, u, a.x, a.y);
1292
1412
  }
@@ -1294,31 +1414,31 @@ function oe(e, t, n, r) {
1294
1414
  e.stroke(), e.restore();
1295
1415
  }
1296
1416
  }
1297
- if (!(ie || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
1417
+ if (!(ee || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
1298
1418
  let t = 0;
1299
- if (V && i.bubbleSizes && i.bubbleSizes.length > 0) {
1419
+ if (R && i.bubbleSizes && i.bubbleSizes.length > 0) {
1300
1420
  let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
1301
- e > 0 && (t = Math.min(T, D) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1421
+ e > 0 && (t = Math.min(T, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1302
1422
  }
1303
1423
  for (let n = 0; n < i.values.length; n++) {
1304
1424
  let s = i.values[n];
1305
1425
  if (s == null) continue;
1306
- let c = j ? n : parseFloat(o[n] ?? "0");
1426
+ let c = k ? n : parseFloat(o[n] ?? "0");
1307
1427
  if (isNaN(c)) continue;
1308
1428
  let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
1309
- if (V && t > 0) {
1429
+ if (R && t > 0) {
1310
1430
  let e = i.bubbleSizes?.[n];
1311
1431
  e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
1312
1432
  }
1313
1433
  let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
1314
- se(e, L(c), R(s), u, d, f, p, r);
1434
+ me(e, P(c), I(s), u, d, f, p, r);
1315
1435
  }
1316
1436
  }
1317
- le(e, i, o, j, L, R, D, r);
1437
+ ge(e, i, o, k, P, I, E, r);
1318
1438
  }
1319
- te(e, t, m, i, a, s, c, C, w, T, D, p + 2), t.catAxisTitle && P(e, t.catAxisTitle, C, w, T, D, "cat", y), t.valAxisTitle && P(e, t.valAxisTitle, C, w, T, D, "val", y);
1439
+ ie(e, t, f, i, a, o, s, C, w, T, E, d + 2), t.catAxisTitle && U(e, t.catAxisTitle, C, w, T, E, "cat", v), t.valAxisTitle && U(e, t.valAxisTitle, C, w, T, E, "val", v);
1320
1440
  }
1321
- function se(e, t, n, r, i, a, o, s) {
1441
+ function me(e, t, n, r, i, a, o, s) {
1322
1442
  let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
1323
1443
  switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
1324
1444
  case "square":
@@ -1358,8 +1478,8 @@ function se(e, t, n, r, i, a, o, s) {
1358
1478
  }
1359
1479
  e.restore();
1360
1480
  }
1361
- function ce(e, t, n, r, i, a, o, s) {
1362
- e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / E) : 1, e.setLineDash(de(n.dash));
1481
+ function he(e, t, n, r, i, a, o, s) {
1482
+ e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / F) : 1, e.setLineDash(ye(n.dash));
1363
1483
  let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
1364
1484
  for (let s = 0; s < t.values.length; s++) {
1365
1485
  let f = t.values[s];
@@ -1381,28 +1501,28 @@ function ce(e, t, n, r, i, a, o, s) {
1381
1501
  }
1382
1502
  e.restore();
1383
1503
  }
1384
- function le(e, t, n, r, i, a, o, s) {
1504
+ function ge(e, t, n, r, i, a, o, s) {
1385
1505
  let c = t.dataLabelOverrides ?? [];
1386
1506
  if (c.length === 0 && !t.seriesDataLabels) return;
1387
1507
  let l = t.seriesDataLabels;
1388
- for (let d = 0; d < t.values.length; d++) {
1389
- let f = t.values[d];
1390
- if (f == null) continue;
1391
- let p = r ? d : parseFloat(n[d] ?? "0");
1392
- if (isNaN(p)) continue;
1393
- let m = c.find((e) => e.idx === d), h;
1394
- if (m) {
1395
- if (m.text === "") continue;
1396
- h = m.text;
1508
+ for (let u = 0; u < t.values.length; u++) {
1509
+ let d = t.values[u];
1510
+ if (d == null) continue;
1511
+ let f = r ? u : parseFloat(n[u] ?? "0");
1512
+ if (isNaN(f)) continue;
1513
+ let p = c.find((e) => e.idx === u), m;
1514
+ if (p) {
1515
+ if (p.text === "") continue;
1516
+ m = p.text;
1397
1517
  } else if (l && (l.showVal || l.showSerName || l.showCatName)) {
1398
1518
  let e = [];
1399
- if (l.showCatName && !r && e.push(n[d] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(u(f, l.formatCode ?? null)), h = e.filter(Boolean).join(" "), !h) continue;
1519
+ if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(y(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
1400
1520
  } else continue;
1401
- let g = m?.position ?? l?.position ?? "r", _ = m?.fontSizeHpt ?? l?.fontSizeHpt, v = _ ? _ / 100 * s : Math.max(9, Math.min(11, o / 25)), y = m?.fontColor ?? l?.fontColor, b = m?.fontBold ?? l?.fontBold ?? !1;
1402
- ue(e, i(p), a(f), h, g, v, y, b);
1521
+ let h = p?.position ?? l?.position ?? "r", g = p?.fontSizeHpt ?? l?.fontSizeHpt, _ = g ? g / 100 * s : Math.max(9, Math.min(11, o / 25)), v = p?.fontColor ?? l?.fontColor, b = p?.fontBold ?? l?.fontBold ?? !1;
1522
+ _e(e, i(f), a(d), m, h, _, v, b);
1403
1523
  }
1404
1524
  }
1405
- function ue(e, t, n, r, i, a, o, s) {
1525
+ function _e(e, t, n, r, i, a, o, s) {
1406
1526
  e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
1407
1527
  let c = a * .6, l = t, u = n;
1408
1528
  switch (i) {
@@ -1430,10 +1550,10 @@ function ue(e, t, n, r, i, a, o, s) {
1430
1550
  for (let t of d) e.fillText(t, l, m), m += f;
1431
1551
  e.restore();
1432
1552
  }
1433
- function K(e, t, n) {
1553
+ function ve(e, t, n) {
1434
1554
  return e < t ? t : e > n ? n : e;
1435
1555
  }
1436
- function de(e) {
1556
+ function ye(e) {
1437
1557
  if (!e) return [];
1438
1558
  switch (e) {
1439
1559
  case "solid": return [];
@@ -1468,18 +1588,18 @@ function de(e) {
1468
1588
  default: return [];
1469
1589
  }
1470
1590
  }
1471
- function fe(e, t, n) {
1472
- let { x: r, y: i, w: a, h: s } = n, c = t.plotAreaManualLayout, l, u, d, f;
1473
- if (c && c.w != null && c.h != null) l = r + c.x * a, u = i + c.y * s, d = c.w * a, f = c.h * s;
1591
+ function be(e, t, n) {
1592
+ let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
1593
+ if (s && s.w != null && s.h != null) c = r + s.x * a, l = i + s.y * o, u = s.w * a, d = s.h * o;
1474
1594
  else {
1475
- let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01, o = s * .12, c = s * .14;
1476
- l = r + e, u = i + o, d = a - e - n, f = s - o - c;
1595
+ let e = t.valAxisHidden ? a * .01 : a * .11, n = a * .01, s = o * .12, f = o * .14;
1596
+ c = r + e, l = i + s, u = a - e - n, d = o - s - f;
1477
1597
  }
1478
- let p = t.series[0]?.values ?? [], m = t.categories, h = m.length;
1479
- if (h === 0) return;
1598
+ let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
1599
+ if (m === 0) return;
1480
1600
  let g = new Set(t.subtotalIndices), _ = 0, v = [];
1481
- for (let e = 0; e < h; e++) {
1482
- let t = p[e] ?? 0;
1601
+ for (let e = 0; e < m; e++) {
1602
+ let t = f[e] ?? 0;
1483
1603
  if (e === 0 || g.has(e)) v.push({
1484
1604
  start: 0,
1485
1605
  end: t,
@@ -1498,36 +1618,36 @@ function fe(e, t, n) {
1498
1618
  }
1499
1619
  let y = v.map((e) => e.end), b = v.map((e) => e.start), x = Math.max(...y, ...b), S = Math.min(...b, 0), C = x - S;
1500
1620
  if (C <= 0) return;
1501
- let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = o(T);
1621
+ let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = h(T);
1502
1622
  e.save();
1503
- let O = Math.round(s * .042);
1623
+ let O = Math.round(o * .042);
1504
1624
  if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
1505
1625
  e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
1506
1626
  for (let t = Math.ceil(w / D) * D; t <= E; t += D) {
1507
- let n = u + f * (1 - (t - w) / T);
1508
- e.beginPath(), e.moveTo(l, n), e.lineTo(l + d, n), e.stroke(), e.fillText(t.toLocaleString(), l - 4, n);
1627
+ let n = l + d * (1 - (t - w) / T);
1628
+ e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
1509
1629
  }
1510
1630
  }
1511
1631
  let k = !t.valAxisHidden && !t.valAxisLineHidden, A = !t.catAxisHidden && !t.catAxisLineHidden;
1512
- (k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(l, u), e.lineTo(l, u + f), A && e.lineTo(l + d, u + f)) : A && (e.moveTo(l, u + f), e.lineTo(l + d, u + f)), e.stroke());
1513
- let j = d / h, M = j / (1 + (t.barGapWidth ?? 150) / 100);
1632
+ (k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(c, l), e.lineTo(c, l + d), A && e.lineTo(c + u, l + d)) : A && (e.moveTo(c, l + d), e.lineTo(c + u, l + d)), e.stroke());
1633
+ let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
1514
1634
  v.forEach((n, r) => {
1515
- let i = l + j * r + (j - M) / 2, a = u + f * (1 - (n.end - w) / T), o = u + f * (1 - (n.start - w) / T), c = Math.max(1, o - a);
1516
- if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, c)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, c - 1.5)), r < h - 1) {
1517
- let t = l + j * (r + 1) + (j - M) / 2, s = n.isPos ? a : o;
1518
- e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, s), e.lineTo(t, s), e.stroke(), e.setLineDash([]);
1635
+ let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - w) / T), s = l + d * (1 - (n.start - w) / T), u = Math.max(1, s - a);
1636
+ if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, u)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, u - 1.5)), r < m - 1) {
1637
+ let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
1638
+ e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, o), e.lineTo(t, o), e.stroke(), e.setLineDash([]);
1519
1639
  }
1520
- let d = p[r] ?? 0, m = d < 0 ? `△ ${Math.abs(d).toLocaleString()}` : d.toLocaleString(), g = t.series[0]?.dataLabelColors?.[r] ?? null;
1521
- e.fillStyle = g ? `#${g}` : t.dataLabelFontColor ? `#${t.dataLabelFontColor}` : "#595959", e.font = `bold ${Math.round(s * .044)}px sans-serif`, e.textAlign = "center", d < 0 ? (e.textBaseline = "top", e.fillText(m, i + M / 2, o + 3)) : (e.textBaseline = "bottom", e.fillText(m, i + M / 2, a - 3));
1522
- }), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(s * .038)}px sans-serif`;
1523
- let N = u + f + 4;
1524
- for (let t = 0; t < h; t++) {
1525
- let n = l + j * t + j / 2;
1526
- m[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, N + r * (O + 2)));
1640
+ let p = f[r] ?? 0, h = p < 0 ? `△ ${Math.abs(p).toLocaleString()}` : p.toLocaleString(), g = t.series[0]?.dataLabelColors?.[r] ?? null;
1641
+ e.fillStyle = g ? `#${g}` : t.dataLabelFontColor ? `#${t.dataLabelFontColor}` : "#595959", e.font = `bold ${Math.round(o * .044)}px sans-serif`, e.textAlign = "center", p < 0 ? (e.textBaseline = "top", e.fillText(h, i + M / 2, s + 3)) : (e.textBaseline = "bottom", e.fillText(h, i + M / 2, a - 3));
1642
+ }), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(o * .038)}px sans-serif`;
1643
+ let N = l + d + 4;
1644
+ for (let t = 0; t < m; t++) {
1645
+ let n = c + j * t + j / 2;
1646
+ p[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, N + r * (O + 2)));
1527
1647
  }
1528
1648
  e.restore();
1529
1649
  }
1530
- function pe(e, t, n, r = O) {
1650
+ function xe(e, t, n, r = L) {
1531
1651
  let { x: i, y: a, w: o, h: s } = n;
1532
1652
  if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.series.length === 0) {
1533
1653
  e.fillStyle = "#888", e.font = "12px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText("(no data)", i + o / 2, a + s / 2);
@@ -1540,40 +1660,40 @@ function pe(e, t, n, r = O) {
1540
1660
  case "stackedBarH":
1541
1661
  case "stackedBarPct":
1542
1662
  case "stackedBarHPct":
1543
- U(e, t, n, r);
1663
+ ue(e, t, n, r);
1544
1664
  break;
1545
1665
  case "line":
1546
1666
  case "stackedLine":
1547
1667
  case "stackedLinePct":
1548
- W(e, t, n, r);
1668
+ K(e, t, n, r);
1549
1669
  break;
1550
1670
  case "area":
1551
1671
  case "stackedArea":
1552
1672
  case "stackedAreaPct":
1553
- ie(e, t, n, r);
1673
+ de(e, t, n, r);
1554
1674
  break;
1555
1675
  case "pie":
1556
- G(e, t, n, !1, r);
1676
+ fe(e, t, n, !1, r);
1557
1677
  break;
1558
1678
  case "doughnut":
1559
- G(e, t, n, !0, r);
1679
+ fe(e, t, n, !0, r);
1560
1680
  break;
1561
1681
  case "radar":
1562
- ae(e, t, n, r);
1682
+ pe(e, t, n, r);
1563
1683
  break;
1564
1684
  case "scatter":
1565
1685
  case "bubble":
1566
- oe(e, t, n, r);
1686
+ q(e, t, n, r);
1567
1687
  break;
1568
1688
  case "waterfall":
1569
- fe(e, t, n);
1689
+ be(e, t, n);
1570
1690
  break;
1571
1691
  default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
1572
1692
  }
1573
1693
  }
1574
1694
  //#endregion
1575
1695
  //#region packages/core/src/autoResize.ts
1576
- function q(e, t, n = {}) {
1696
+ function Se(e, t, n = {}) {
1577
1697
  let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
1578
1698
  if (!l && !(r && typeof document < "u" && document.hidden)) {
1579
1699
  if (s) {
@@ -1610,7 +1730,7 @@ function q(e, t, n = {}) {
1610
1730
  }
1611
1731
  //#endregion
1612
1732
  //#region packages/core/src/shape/custGeom.ts
1613
- function me(e, t, n, r, i, a) {
1733
+ function Ce(e, t, n, r, i, a) {
1614
1734
  for (let o of t) {
1615
1735
  let t = 0, s = 0;
1616
1736
  for (let c of o) switch (c.cmd) {
@@ -1646,7 +1766,7 @@ function J(e, t, n, r, i, a, o, s = -Math.PI / 2) {
1646
1766
  }
1647
1767
  e.closePath();
1648
1768
  }
1649
- function he(e, t, n, r, i, a, o = -Math.PI / 2) {
1769
+ function we(e, t, n, r, i, a, o = -Math.PI / 2) {
1650
1770
  for (let s = 0; s < a; s++) {
1651
1771
  let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
1652
1772
  s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
@@ -1660,7 +1780,7 @@ function Y(e, t, n, r, i, a, o) {
1660
1780
  y: d + i * Math.sin(l)
1661
1781
  };
1662
1782
  }
1663
- function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
1783
+ function Te(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
1664
1784
  let u = n + i / 2, d = r + a / 2;
1665
1785
  switch (t) {
1666
1786
  case "ellipse":
@@ -1695,22 +1815,22 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
1695
1815
  break;
1696
1816
  }
1697
1817
  case "pentagon":
1698
- he(e, u, d, i / 2, a / 2, 5);
1818
+ we(e, u, d, i / 2, a / 2, 5);
1699
1819
  break;
1700
1820
  case "hexagon":
1701
- he(e, u, d, i / 2, a / 2, 6, 0);
1821
+ we(e, u, d, i / 2, a / 2, 6, 0);
1702
1822
  break;
1703
1823
  case "heptagon":
1704
- he(e, u, d, i / 2, a / 2, 7);
1824
+ we(e, u, d, i / 2, a / 2, 7);
1705
1825
  break;
1706
1826
  case "octagon":
1707
- he(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
1827
+ we(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
1708
1828
  break;
1709
1829
  case "decagon":
1710
- he(e, u, d, i / 2, a / 2, 10);
1830
+ we(e, u, d, i / 2, a / 2, 10);
1711
1831
  break;
1712
1832
  case "dodecagon":
1713
- he(e, u, d, i / 2, a / 2, 12);
1833
+ we(e, u, d, i / 2, a / 2, 12);
1714
1834
  break;
1715
1835
  case "star4":
1716
1836
  J(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
@@ -2294,8 +2414,8 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2294
2414
  break;
2295
2415
  }
2296
2416
  case "ellipseribbon2": {
2297
- let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), I = m / 2, L = a - (b * I + M), R = i - I, ee = a - (A + M);
2298
- e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + ee, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + I, r + L, n, r + T), e.lineTo(n + f, r + N), e.closePath();
2417
+ let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), I = m / 2, L = a - (b * I + M), R = i - I, z = a - (A + M);
2418
+ e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + z, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + I, r + L, n, r + T), e.lineTo(n + f, r + N), e.closePath();
2299
2419
  break;
2300
2420
  }
2301
2421
  case "circulararrow": {
@@ -2393,7 +2513,7 @@ function ge(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2393
2513
  break;
2394
2514
  }
2395
2515
  }
2396
- var _e = {
2516
+ var Ee = {
2397
2517
  accentbordercallout1: {
2398
2518
  adj: [
2399
2519
  ["adj1", "val 18750"],
@@ -24256,8 +24376,8 @@ var _e = {
24256
24376
  ]
24257
24377
  }]
24258
24378
  }
24259
- }, X = 216e5, ve = Math.PI * 2 / X;
24260
- function ye(e, t, n) {
24379
+ }, X = 216e5, De = Math.PI * 2 / X;
24380
+ function Oe(e, t, n) {
24261
24381
  let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
24262
24382
  Object.assign(c, {
24263
24383
  w: r,
@@ -24346,10 +24466,10 @@ function ye(e, t, n) {
24346
24466
  case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
24347
24467
  case "sqrt": return Math.sqrt(Math.max(0, t[0]));
24348
24468
  case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
24349
- case "sin": return t[0] * Math.sin(t[1] * ve);
24350
- case "cos": return t[0] * Math.cos(t[1] * ve);
24351
- case "tan": return t[0] * Math.tan(t[1] * ve);
24352
- case "at2": return Math.atan2(t[1], t[0]) / ve;
24469
+ case "sin": return t[0] * Math.sin(t[1] * De);
24470
+ case "cos": return t[0] * Math.cos(t[1] * De);
24471
+ case "tan": return t[0] * Math.tan(t[1] * De);
24472
+ case "at2": return Math.atan2(t[1], t[0]) / De;
24353
24473
  case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
24354
24474
  case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
24355
24475
  default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
@@ -24358,8 +24478,8 @@ function ye(e, t, n) {
24358
24478
  }
24359
24479
  //#endregion
24360
24480
  //#region packages/core/src/shape/preset-geometry/path-executor.ts
24361
- var be = Math.PI * 2 / 216e5;
24362
- function xe(e, t, n, r, i, a, o) {
24481
+ var ke = Math.PI * 2 / 216e5;
24482
+ function Ae(e, t, n, r, i, a, o) {
24363
24483
  let s = t.w == null ? 1 : a / t.w, c = t.h == null ? 1 : o / t.h, l = (e) => r + e * s, u = (e) => i + e * c, d = 0, f = 0;
24364
24484
  for (let r of t.cmds) switch (r[0]) {
24365
24485
  case "m": {
@@ -24383,7 +24503,7 @@ function xe(e, t, n, r, i, a, o) {
24383
24503
  break;
24384
24504
  }
24385
24505
  case "a": {
24386
- let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * be, u = n.resolve(r[4]) * be, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
24506
+ let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * ke, u = n.resolve(r[4]) * ke, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
24387
24507
  _ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
24388
24508
  let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
24389
24509
  Math.abs(a) > 1e-6 && Math.abs(o) > 1e-6 && (e.ellipse(b, x, Math.abs(a), Math.abs(o), 0, h, y, u < 0), d = b + a * Math.cos(y), f = x + o * Math.sin(y));
@@ -24396,26 +24516,26 @@ function xe(e, t, n, r, i, a, o) {
24396
24516
  }
24397
24517
  //#endregion
24398
24518
  //#region packages/core/src/shape/preset-geometry/index.ts
24399
- var Z = _e;
24400
- function Se(e) {
24519
+ var Z = Ee;
24520
+ function je(e) {
24401
24521
  return e.toLowerCase() in Z;
24402
24522
  }
24403
- function Ce(e, t, n, r, i, a, o = []) {
24523
+ function Me(e, t, n, r, i, a, o = []) {
24404
24524
  let s = Z[t.toLowerCase()];
24405
24525
  if (!s) return !1;
24406
- let c = ye({
24526
+ let c = Oe({
24407
24527
  w: i,
24408
24528
  h: a,
24409
24529
  adj: o
24410
24530
  }, s.adj, s.gd);
24411
- for (let t of s.paths) xe(e, t, c, n, r, i, a);
24531
+ for (let t of s.paths) Ae(e, t, c, n, r, i, a);
24412
24532
  return !0;
24413
24533
  }
24414
- var we = {
24534
+ var Ne = {
24415
24535
  wedgeroundrectcallout: "roundrect",
24416
24536
  wedgeellipsecallout: "ellipse",
24417
24537
  wedgerectcallout: null
24418
- }, Te = {
24538
+ }, Pe = {
24419
24539
  adj: [],
24420
24540
  gd: [],
24421
24541
  paths: [{
@@ -24449,43 +24569,43 @@ var we = {
24449
24569
  ]
24450
24570
  }]
24451
24571
  };
24452
- function Ee(e, t, n) {
24572
+ function Fe(e, t, n) {
24453
24573
  let r = e[n];
24454
24574
  if (typeof r == "number") return r;
24455
24575
  let i = t.adj[n];
24456
24576
  return i && Number(i[1].replace(/^val\s+/, "")) || 0;
24457
24577
  }
24458
- function De(e, t, n, r, i, a, o, s, c, l) {
24578
+ function Ie(e, t, n, r, i, a, o, s, c, l) {
24459
24579
  let u = t.toLowerCase(), d = Z[u];
24460
24580
  if (!d) return !1;
24461
- if (u in we) {
24462
- let e = Ee(o, d, 0), t = Ee(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
24581
+ if (u in Ne) {
24582
+ let e = Fe(o, d, 0), t = Fe(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
24463
24583
  if (n >= 0 && n <= i && r >= 0 && r <= a) {
24464
- let e = we[u];
24465
- e === "roundrect" ? (d = Z.roundrect, o = [Ee(o, Z[u], 2)]) : e && Z[e] ? (d = Z[e], o = []) : (d = Te, o = []);
24584
+ let e = Ne[u];
24585
+ e === "roundrect" ? (d = Z.roundrect, o = [Fe(o, Z[u], 2)]) : e && Z[e] ? (d = Z[e], o = []) : (d = Pe, o = []);
24466
24586
  }
24467
24587
  }
24468
- let f = ye({
24588
+ let f = Oe({
24469
24589
  w: i,
24470
24590
  h: a,
24471
24591
  adj: o
24472
24592
  }, d.adj, d.gd), p = !1;
24473
24593
  for (let t of d.paths) {
24474
- e.beginPath(), xe(e, t, f, n, r, i, a);
24594
+ e.beginPath(), Ae(e, t, f, n, r, i, a);
24475
24595
  let o = t.fill;
24476
24596
  if (o !== "none" && s != null) {
24477
24597
  e.save(), e.fillStyle = s, e.fill();
24478
- let t = ke(o);
24598
+ let t = Re(o);
24479
24599
  t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
24480
24600
  }
24481
24601
  t.stroke && c && c();
24482
24602
  }
24483
24603
  return !0;
24484
24604
  }
24485
- function Oe(e, t, n, r, i, a) {
24605
+ function Le(e, t, n, r, i, a) {
24486
24606
  let o = Z[e.toLowerCase()];
24487
24607
  if (!o || o.paths.length === 0) return null;
24488
- let s = o.paths[0], c = ye({
24608
+ let s = o.paths[0], c = Oe({
24489
24609
  w: r,
24490
24610
  h: i,
24491
24611
  adj: a
@@ -24519,7 +24639,7 @@ function Oe(e, t, n, r, i, a) {
24519
24639
  }
24520
24640
  };
24521
24641
  }
24522
- function ke(e) {
24642
+ function Re(e) {
24523
24643
  switch (e) {
24524
24644
  case "lighten": return "rgba(255,255,255,0.30)";
24525
24645
  case "lightenLess": return "rgba(255,255,255,0.15)";
@@ -24530,10 +24650,10 @@ function ke(e) {
24530
24650
  }
24531
24651
  //#endregion
24532
24652
  //#region packages/core/src/shape/effects.ts
24533
- function Ae(e, t) {
24653
+ function ze(e, t) {
24534
24654
  return e * t;
24535
24655
  }
24536
- function je(e, t) {
24656
+ function Be(e, t) {
24537
24657
  let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
24538
24658
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
24539
24659
  if (typeof document < "u") {
@@ -24542,29 +24662,29 @@ function je(e, t) {
24542
24662
  }
24543
24663
  return null;
24544
24664
  }
24545
- function Me(e) {
24665
+ function Ve(e) {
24546
24666
  return e.getContext("2d") ?? null;
24547
24667
  }
24548
- function Ne(e, t, n, r, i, a, o) {
24549
- let s = je(a, o);
24668
+ function He(e, t, n, r, i, a, o) {
24669
+ let s = Be(a, o);
24550
24670
  if (!s) return;
24551
- let c = Me(s);
24671
+ let c = Ve(s);
24552
24672
  if (!c) return;
24553
- let l = Ae(r.blur, i), u = Ae(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
24554
- c.save(), c.fillStyle = b(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
24673
+ let l = ze(r.blur, i), u = ze(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
24674
+ c.save(), c.fillStyle = k(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
24555
24675
  }
24556
- function Pe(e, t, n, r, i, a, o, s) {
24557
- let c = Ae(r.radius, i);
24676
+ function Ue(e, t, n, r, i, a, o, s) {
24677
+ let c = ze(r.radius, i);
24558
24678
  if (c <= 0) {
24559
24679
  t(e);
24560
24680
  return;
24561
24681
  }
24562
- let l = je(a, o);
24682
+ let l = Be(a, o);
24563
24683
  if (!l) {
24564
24684
  t(e);
24565
24685
  return;
24566
24686
  }
24567
- let u = Me(l);
24687
+ let u = Ve(l);
24568
24688
  if (!u) {
24569
24689
  t(e);
24570
24690
  return;
@@ -24572,24 +24692,24 @@ function Pe(e, t, n, r, i, a, o, s) {
24572
24692
  let d = s ?? t;
24573
24693
  t(u), u.save(), u.globalCompositeOperation = "destination-in", u.filter = `blur(${c}px)`, u.fillStyle = "#000", d(u), u.restore(), e.save(), e.drawImage(l, 0, 0), e.restore();
24574
24694
  }
24575
- function Fe(e, t, n, r, i, a, o) {
24576
- let s = je(a, o);
24695
+ function We(e, t, n, r, i, a, o) {
24696
+ let s = Be(a, o);
24577
24697
  if (!s) return;
24578
- let c = Me(s);
24698
+ let c = Ve(s);
24579
24699
  if (!c) return;
24580
- let l = Ae(r.blur, i);
24700
+ let l = ze(r.blur, i);
24581
24701
  c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
24582
- let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Ie(r.stPos), m = Ie(r.endPos);
24702
+ let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Ge(r.stPos), m = Ge(r.endPos);
24583
24703
  f.addColorStop(0, `rgba(0,0,0,${r.stA})`), p > 0 && f.addColorStop(p, `rgba(0,0,0,${r.stA})`), m < 1 && m > p && f.addColorStop(m, `rgba(0,0,0,${r.endA})`), f.addColorStop(1, `rgba(0,0,0,${r.endA})`), c.fillStyle = f, c.fillRect(0, 0, a, o), c.restore();
24584
- let h = Ae(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
24704
+ let h = ze(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
24585
24705
  e.save(), e.translate(n.x + _, d + v), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
24586
24706
  }
24587
- function Ie(e) {
24707
+ function Ge(e) {
24588
24708
  return e < 0 ? 0 : e > 1 ? 1 : e;
24589
24709
  }
24590
24710
  //#endregion
24591
24711
  //#region packages/core/src/shape/scene3d-camera.ts
24592
- var Le = 26, Re = {
24712
+ var Ke = 26, qe = {
24593
24713
  orthographicFront: {
24594
24714
  kind: "orthographic",
24595
24715
  baseLat: 0,
@@ -24602,52 +24722,52 @@ var Le = 26, Re = {
24602
24722
  baseLat: 0,
24603
24723
  baseLon: 0,
24604
24724
  baseRev: 0,
24605
- fovDeg: Le
24725
+ fovDeg: Ke
24606
24726
  },
24607
24727
  perspectiveRelaxed: {
24608
24728
  kind: "perspective",
24609
24729
  baseLat: 0,
24610
24730
  baseLon: 0,
24611
24731
  baseRev: 0,
24612
- fovDeg: Le
24732
+ fovDeg: Ke
24613
24733
  },
24614
24734
  perspectiveRelaxedModerately: {
24615
24735
  kind: "perspective",
24616
24736
  baseLat: 0,
24617
24737
  baseLon: 0,
24618
24738
  baseRev: 0,
24619
- fovDeg: Le
24739
+ fovDeg: Ke
24620
24740
  },
24621
24741
  perspectiveAbove: {
24622
24742
  kind: "perspective",
24623
24743
  baseLat: -20,
24624
24744
  baseLon: 0,
24625
24745
  baseRev: 0,
24626
- fovDeg: Le
24746
+ fovDeg: Ke
24627
24747
  },
24628
24748
  perspectiveBelow: {
24629
24749
  kind: "perspective",
24630
24750
  baseLat: 20,
24631
24751
  baseLon: 0,
24632
24752
  baseRev: 0,
24633
- fovDeg: Le
24753
+ fovDeg: Ke
24634
24754
  },
24635
24755
  perspectiveLeft: {
24636
24756
  kind: "perspective",
24637
24757
  baseLat: 0,
24638
24758
  baseLon: -20,
24639
24759
  baseRev: 0,
24640
- fovDeg: Le
24760
+ fovDeg: Ke
24641
24761
  },
24642
24762
  perspectiveRight: {
24643
24763
  kind: "perspective",
24644
24764
  baseLat: 0,
24645
24765
  baseLon: 20,
24646
24766
  baseRev: 0,
24647
- fovDeg: Le
24767
+ fovDeg: Ke
24648
24768
  }
24649
24769
  };
24650
- function ze(e, t) {
24770
+ function Je(e, t) {
24651
24771
  let n = Array(9).fill(0);
24652
24772
  for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
24653
24773
  let a = 0;
@@ -24656,7 +24776,7 @@ function ze(e, t) {
24656
24776
  }
24657
24777
  return n;
24658
24778
  }
24659
- function Be(e) {
24779
+ function Ye(e) {
24660
24780
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
24661
24781
  return [
24662
24782
  1,
@@ -24670,7 +24790,7 @@ function Be(e) {
24670
24790
  n
24671
24791
  ];
24672
24792
  }
24673
- function Ve(e) {
24793
+ function Xe(e) {
24674
24794
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
24675
24795
  return [
24676
24796
  n,
@@ -24684,7 +24804,7 @@ function Ve(e) {
24684
24804
  n
24685
24805
  ];
24686
24806
  }
24687
- function He(e) {
24807
+ function Ze(e) {
24688
24808
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
24689
24809
  return [
24690
24810
  n,
@@ -24698,22 +24818,22 @@ function He(e) {
24698
24818
  1
24699
24819
  ];
24700
24820
  }
24701
- function Ue(e, t, n, r) {
24821
+ function Qe(e, t, n, r) {
24702
24822
  return [
24703
24823
  e[0] * t + e[1] * n + e[2] * r,
24704
24824
  e[3] * t + e[4] * n + e[5] * r,
24705
24825
  e[6] * t + e[7] * n + e[8] * r
24706
24826
  ];
24707
24827
  }
24708
- function We(e, t) {
24828
+ function $e(e, t) {
24709
24829
  let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
24710
- return ze(He(-(t ? t.rev : e.baseRev)), ze(Be(-n), Ve(-r)));
24830
+ return Je(Ze(-(t ? t.rev : e.baseRev)), Je(Ye(-n), Xe(-r)));
24711
24831
  }
24712
- function Ge(e) {
24713
- return Re[e] ?? Re.orthographicFront;
24832
+ function et(e) {
24833
+ return qe[e] ?? qe.orthographicFront;
24714
24834
  }
24715
- function Ke(e, t, n) {
24716
- let r = Ge(e.prst), i = We(r, e.rot);
24835
+ function tt(e, t, n) {
24836
+ let r = et(e.prst), i = $e(r, e.rot);
24717
24837
  if (t <= 0 || n <= 0) return {
24718
24838
  corners: [
24719
24839
  {
@@ -24745,11 +24865,11 @@ function Ke(e, t, n) {
24745
24865
  if (r.kind === "perspective") {
24746
24866
  let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
24747
24867
  u = s.map(([e, t]) => {
24748
- let [n, r, o] = Ue(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
24868
+ let [n, r, o] = Qe(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
24749
24869
  return [n * c, r * c];
24750
24870
  });
24751
24871
  } else u = s.map(([e, t]) => {
24752
- let [n, r] = Ue(i, e, t, 0);
24872
+ let [n, r] = Qe(i, e, t, 0);
24753
24873
  return [n, r];
24754
24874
  });
24755
24875
  u = u.map(([e, t]) => [e * c, t * c]);
@@ -24774,18 +24894,18 @@ function Ke(e, t, n) {
24774
24894
  isIdentity: E
24775
24895
  };
24776
24896
  }
24777
- function qe(e) {
24778
- let { isIdentity: t } = Ke(e, 1e3, 1e3);
24897
+ function nt(e) {
24898
+ let { isIdentity: t } = tt(e, 1e3, 1e3);
24779
24899
  return !t;
24780
24900
  }
24781
- function Je(e, t, n, r) {
24782
- let i = Ge(e.prst), a = We(i, e.rot);
24901
+ function rt(e, t, n, r) {
24902
+ let i = et(e.prst), a = $e(i, e.rot);
24783
24903
  if (t <= 0 || n <= 0 || r === 0) return {
24784
24904
  x: 0,
24785
24905
  y: 0
24786
24906
  };
24787
24907
  let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
24788
- let [n, r, o] = Ue(a, 0, 0, t);
24908
+ let [n, r, o] = Qe(a, 0, 0, t);
24789
24909
  if (i.kind === "perspective") {
24790
24910
  let t = e.fov ?? i.fovDeg, a = Math.max(1, Math.min(179, t)) * Math.PI / 180, s = c / Math.tan(a / 2), u = s - o, d = s / (Math.abs(u) < 1e-6 ? 1e-6 * Math.sign(u || 1) : u);
24791
24911
  return [n * d * l, r * d * l];
@@ -24799,7 +24919,7 @@ function Je(e, t, n, r) {
24799
24919
  }
24800
24920
  //#endregion
24801
24921
  //#region packages/core/src/shape/scene3d-draw.ts
24802
- function Ye(e, t, n, r) {
24922
+ function it(e, t, n, r) {
24803
24923
  let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = r.x, d = r.y, f = o - c, p = u - c, m = i - o + c - u, h = s - l, g = d - l, _ = a - s + l - d, v, y;
24804
24924
  if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
24805
24925
  else {
@@ -24819,15 +24939,15 @@ function Ye(e, t, n, r) {
24819
24939
  1
24820
24940
  ];
24821
24941
  }
24822
- function Xe(e, t, n) {
24942
+ function at(e, t, n) {
24823
24943
  let r = e[6] * t + e[7] * n + e[8];
24824
24944
  return {
24825
24945
  x: (e[0] * t + e[1] * n + e[2]) / r,
24826
24946
  y: (e[3] * t + e[4] * n + e[5]) / r
24827
24947
  };
24828
24948
  }
24829
- var Ze = 1;
24830
- function Qe(e, t) {
24949
+ var ot = 1;
24950
+ function st(e, t) {
24831
24951
  let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
24832
24952
  return [
24833
24953
  n * c + i * l,
@@ -24838,13 +24958,13 @@ function Qe(e, t) {
24838
24958
  r * f + a * p + s
24839
24959
  ];
24840
24960
  }
24841
- function $e(e, t, n, r, i, a, o, s, c, l, u, d, f) {
24961
+ function ct(e, t, n, r, i, a, o, s, c, l, u, d, f) {
24842
24962
  let p = c - o, m = l - s;
24843
24963
  if (p <= 0 || m <= 0) return;
24844
- let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = Ze * p / y, S = Ze * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
24964
+ let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = ot * p / y, S = ot * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
24845
24965
  if (D <= 0 || O <= 0) return;
24846
24966
  e.save();
24847
- let [k, A, j, M, N, P] = Qe(i, [
24967
+ let [k, A, j, M, N, P] = st(i, [
24848
24968
  h,
24849
24969
  g,
24850
24970
  _,
@@ -24854,22 +24974,22 @@ function $e(e, t, n, r, i, a, o, s, c, l, u, d, f) {
24854
24974
  ]);
24855
24975
  e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
24856
24976
  }
24857
- function et(e, t, n, r, i, a, o, s, c, l, u, d, f) {
24858
- let p = Xe(o, s, c), m = Xe(o, l, c), h = Xe(o, s, u), g = Xe(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = Xe(o, _, v), b = {
24977
+ function lt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
24978
+ let p = at(o, s, c), m = at(o, l, c), h = at(o, s, u), g = at(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = at(o, _, v), b = {
24859
24979
  x: (p.x + m.x + h.x + g.x) / 4,
24860
24980
  y: (p.y + m.y + h.y + g.y) / 4
24861
- }, x = nt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
24981
+ }, x = dt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
24862
24982
  if (f <= 0 || S <= d) {
24863
- $e(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
24983
+ ct(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
24864
24984
  return;
24865
24985
  }
24866
- l - s >= u - c ? (et(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), et(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (et(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), et(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
24986
+ l - s >= u - c ? (lt(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), lt(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (lt(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), lt(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
24867
24987
  }
24868
- function tt(e, t, n, r, i, a = .5) {
24988
+ function ut(e, t, n, r, i, a = .5) {
24869
24989
  if (n <= 0 || r <= 0) return;
24870
24990
  let [o, s, c, l] = i;
24871
24991
  if (Math.abs(o.x * s.y - s.x * o.y + s.x * c.y - c.x * s.y + c.x * l.y - l.x * c.y + l.x * o.y - o.x * l.y) / 2 < 1e-6) return;
24872
- let u = Ye(i[0], i[1], i[2], i[3]);
24992
+ let u = it(i[0], i[1], i[2], i[3]);
24873
24993
  if (!u) return;
24874
24994
  let d = t.getTransform(), f = [
24875
24995
  d.a,
@@ -24878,14 +24998,14 @@ function tt(e, t, n, r, i, a = .5) {
24878
24998
  d.d,
24879
24999
  d.e,
24880
25000
  d.f
24881
- ], p = nt(f);
24882
- st(e, t, n, r, i, f, p, u, a, 14) || (at(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), et(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
25001
+ ], p = dt(f);
25002
+ gt(e, t, n, r, i, f, p, u, a, 14) || (mt(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), lt(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
24883
25003
  }
24884
- function nt(e) {
25004
+ function dt(e) {
24885
25005
  return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
24886
25006
  }
24887
- function rt(e, t, n) {
24888
- let r = Ye(e[0], e[1], e[2], e[3]);
25007
+ function ft(e, t, n) {
25008
+ let r = it(e[0], e[1], e[2], e[3]);
24889
25009
  if (!r) return null;
24890
25010
  let i = [
24891
25011
  [-t, -n],
@@ -24895,16 +25015,16 @@ function rt(e, t, n) {
24895
25015
  ], a = [];
24896
25016
  for (let [e, t] of i) {
24897
25017
  if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
24898
- a.push(Xe(r, e, t));
25018
+ a.push(at(r, e, t));
24899
25019
  }
24900
25020
  return a;
24901
25021
  }
24902
- var it = !1;
24903
- function at() {
24904
- it || (it = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
25022
+ var pt = !1;
25023
+ function mt() {
25024
+ pt || (pt = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
24905
25025
  }
24906
- var ot = 2;
24907
- function st(e, t, n, r, i, a, o, s, c, l) {
25026
+ var ht = 2;
25027
+ function gt(e, t, n, r, i, a, o, s, c, l) {
24908
25028
  let u = i.map((e) => ({
24909
25029
  x: a[0] * e.x + a[2] * e.y + a[4],
24910
25030
  y: a[1] * e.x + a[3] * e.y + a[5]
@@ -24913,11 +25033,11 @@ function st(e, t, n, r, i, a, o, s, c, l) {
24913
25033
  d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
24914
25034
  let h = p - d, g = m - f;
24915
25035
  if (h <= 0 || g <= 0) return !1;
24916
- let _ = Math.max(1, Math.ceil(h * ot)), v = Math.max(1, Math.ceil(g * ot)), y = je(_, v);
25036
+ let _ = Math.max(1, Math.ceil(h * ht)), v = Math.max(1, Math.ceil(g * ht)), y = Be(_, v);
24917
25037
  if (!y || y.width !== _ || y.height !== v) return !1;
24918
25038
  let b = y.getContext("2d") ?? null;
24919
25039
  if (!b) return !1;
24920
- let x = ot, S = [
25040
+ let x = ht, S = [
24921
25041
  a[0] * x,
24922
25042
  a[1] * x,
24923
25043
  a[2] * x,
@@ -24925,18 +25045,18 @@ function st(e, t, n, r, i, a, o, s, c, l) {
24925
25045
  (a[4] - d) * x,
24926
25046
  (a[5] - f) * x
24927
25047
  ];
24928
- b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), et(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
25048
+ b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), lt(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
24929
25049
  let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
24930
25050
  return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(y, 0, 0, h * x, g * x, d, f, h, g), t.imageSmoothingEnabled = C, t.imageSmoothingQuality = w, t.restore(), !0;
24931
25051
  }
24932
25052
  //#endregion
24933
25053
  //#region packages/core/src/shape/bevel-shading.ts
24934
- function ct(e, t) {
25054
+ function _t(e, t) {
24935
25055
  if (t <= 0) return () => 1;
24936
25056
  let n = (e) => Math.max(0, Math.min(1, e / t));
24937
25057
  switch (e) {
24938
25058
  case "hardEdge": {
24939
- let e = gt;
25059
+ let e = Tt;
24940
25060
  return (t) => {
24941
25061
  let r = Math.min(1, n(t) / e);
24942
25062
  return r * r * (3 - 2 * r);
@@ -24956,7 +25076,7 @@ function ct(e, t) {
24956
25076
  };
24957
25077
  }
24958
25078
  }
24959
- function lt(e) {
25079
+ function vt(e) {
24960
25080
  let t = e.length, n = new Float64Array(t);
24961
25081
  if (t === 0) return n;
24962
25082
  let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
@@ -24974,7 +25094,7 @@ function lt(e) {
24974
25094
  }
24975
25095
  return n;
24976
25096
  }
24977
- function ut(e, t = 3) {
25097
+ function yt(e, t = 3) {
24978
25098
  if (e <= 0) return Array(t).fill(1);
24979
25099
  let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
24980
25100
  r % 2 == 0 && r--;
@@ -24982,7 +25102,7 @@ function ut(e, t = 3) {
24982
25102
  for (let e = 0; e < t; e++) s.push(e < o ? r : i);
24983
25103
  return s;
24984
25104
  }
24985
- function dt(e, t, n, r, i, a) {
25105
+ function bt(e, t, n, r, i, a) {
24986
25106
  let o = 1 / (2 * i + 1);
24987
25107
  if (a) for (let a = 0; a < r; a++) {
24988
25108
  let r = a * n, s = 0;
@@ -25003,29 +25123,29 @@ function dt(e, t, n, r, i, a) {
25003
25123
  }
25004
25124
  }
25005
25125
  }
25006
- function ft(e, t, n, r) {
25126
+ function xt(e, t, n, r) {
25007
25127
  let i = Float64Array.from(e);
25008
25128
  if (r <= 0 || t <= 0 || n <= 0) return i;
25009
25129
  let a = new Float64Array(t * n);
25010
- for (let e of ut(r, 3)) {
25130
+ for (let e of yt(r, 3)) {
25011
25131
  let r = Math.max(1, (e - 1) / 2);
25012
- dt(i, a, t, n, r, !0), dt(a, i, t, n, r, !1);
25132
+ bt(i, a, t, n, r, !0), bt(a, i, t, n, r, !1);
25013
25133
  }
25014
25134
  return i;
25015
25135
  }
25016
- function pt(e, t, n, r = 128) {
25136
+ function St(e, t, n, r = 128) {
25017
25137
  let i = new Float64Array(t * n);
25018
25138
  for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
25019
25139
  let a = new Float64Array(n);
25020
25140
  for (let e = 0; e < t; e++) {
25021
25141
  for (let r = 0; r < n; r++) a[r] = i[r * t + e];
25022
- let r = lt(a);
25142
+ let r = vt(a);
25023
25143
  for (let a = 0; a < n; a++) i[a * t + e] = r[a];
25024
25144
  }
25025
25145
  let o = new Float64Array(t);
25026
25146
  for (let e = 0; e < n; e++) {
25027
25147
  for (let n = 0; n < t; n++) o[n] = i[e * t + n];
25028
- let n = lt(o);
25148
+ let n = vt(o);
25029
25149
  for (let r = 0; r < t; r++) i[e * t + r] = n[r];
25030
25150
  }
25031
25151
  for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
@@ -25037,15 +25157,15 @@ function pt(e, t, n, r = 128) {
25037
25157
  for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
25038
25158
  return i;
25039
25159
  }
25040
- var mt = .25, ht = .35, gt = .5;
25041
- function _t(e, t, n, r, i, a) {
25160
+ var Ct = .25, wt = .35, Tt = .5;
25161
+ function Et(e, t, n, r, i, a) {
25042
25162
  let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
25043
25163
  if (t <= 0 || n <= 0) return {
25044
25164
  normals: o,
25045
25165
  bandMask: s,
25046
25166
  bandWeight: c
25047
25167
  };
25048
- let l = pt(e, t, n), u = ct(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = ft(l, t, n, Math.max(1, r * mt)), m = (e) => {
25168
+ let l = St(e, t, n), u = _t(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = xt(l, t, n, Math.max(1, r * Ct)), m = (e) => {
25049
25169
  let t = u(Math.max(0, e - .5));
25050
25170
  return u(e + .5) - t;
25051
25171
  };
@@ -25060,9 +25180,9 @@ function _t(e, t, n, r, i, a) {
25060
25180
  o[a * 3 + 2] = 1;
25061
25181
  continue;
25062
25182
  }
25063
- let g = u / r, _ = 1 - ht, v = 1;
25183
+ let g = u / r, _ = 1 - wt, v = 1;
25064
25184
  if (g > _) {
25065
- let e = Math.min(1, (g - _) / ht);
25185
+ let e = Math.min(1, (g - _) / wt);
25066
25186
  v = 1 - e * e * (3 - 2 * e);
25067
25187
  }
25068
25188
  c[a] = v;
@@ -25077,7 +25197,7 @@ function _t(e, t, n, r, i, a) {
25077
25197
  bandWeight: c
25078
25198
  };
25079
25199
  }
25080
- var vt = 35 * Math.PI / 180, yt = 12 * Math.PI / 180, bt = {
25200
+ var Dt = 35 * Math.PI / 180, Ot = 12 * Math.PI / 180, kt = {
25081
25201
  t: {
25082
25202
  x: 0,
25083
25203
  y: -1
@@ -25111,22 +25231,22 @@ var vt = 35 * Math.PI / 180, yt = 12 * Math.PI / 180, bt = {
25111
25231
  y: 1
25112
25232
  }
25113
25233
  };
25114
- function xt(e, t, n) {
25234
+ function At(e, t, n) {
25115
25235
  let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
25116
25236
  return {
25117
25237
  x: e * i - t * a,
25118
25238
  y: e * a + t * i
25119
25239
  };
25120
25240
  }
25121
- function St(e, t, n) {
25122
- let r = bt[t] ?? bt.t;
25123
- return n && n.rev && (r = xt(r.x, r.y, n.rev)), wt(r.x, r.y, vt);
25241
+ function jt(e, t, n) {
25242
+ let r = kt[t] ?? kt.t;
25243
+ return n && n.rev && (r = At(r.x, r.y, n.rev)), Nt(r.x, r.y, Dt);
25124
25244
  }
25125
- function Ct(e) {
25245
+ function Mt(e) {
25126
25246
  let t = Math.hypot(e.x, e.y) || 1;
25127
- return wt(-e.x / t, -e.y / t, yt);
25247
+ return Nt(-e.x / t, -e.y / t, Ot);
25128
25248
  }
25129
- function wt(e, t, n) {
25249
+ function Nt(e, t, n) {
25130
25250
  let r = Math.hypot(e, t) || 1, i = Math.cos(n), a = Math.sin(n), o = e / r * i, s = t / r * i, c = a, l = Math.hypot(o, s, c) || 1;
25131
25251
  return {
25132
25252
  x: o / l,
@@ -25134,7 +25254,7 @@ function wt(e, t, n) {
25134
25254
  z: c / l
25135
25255
  };
25136
25256
  }
25137
- var Tt = 2, Et = {
25257
+ var Pt = 2, Ft = {
25138
25258
  matte: {
25139
25259
  ambient: .62,
25140
25260
  diffuse: .45,
@@ -25147,8 +25267,8 @@ var Tt = 2, Et = {
25147
25267
  specular: .35,
25148
25268
  shininess: 22
25149
25269
  }
25150
- }, Dt = .8;
25151
- function Ot(e) {
25270
+ }, It = .8;
25271
+ function Lt(e) {
25152
25272
  switch (e) {
25153
25273
  case "plastic":
25154
25274
  case "metal":
@@ -25159,8 +25279,8 @@ function Ot(e) {
25159
25279
  default: return "matte";
25160
25280
  }
25161
25281
  }
25162
- function kt(e, t, n = !0) {
25163
- let r = Et[e], i = {
25282
+ function Rt(e, t, n = !0) {
25283
+ let r = Ft[e], i = {
25164
25284
  light: t,
25165
25285
  material: e,
25166
25286
  ambient: r.ambient,
@@ -25168,9 +25288,9 @@ function kt(e, t, n = !0) {
25168
25288
  specular: r.specular,
25169
25289
  shininess: r.shininess
25170
25290
  };
25171
- return n && (i.fillLight = Ct(t), i.fillDiffuse = i.diffuse * Dt), i;
25291
+ return n && (i.fillLight = Mt(t), i.fillDiffuse = i.diffuse * It), i;
25172
25292
  }
25173
- function At(e, t) {
25293
+ function zt(e, t) {
25174
25294
  let n = e.x * t.light.x + e.y * t.light.y + e.z * t.light.z, r = t.diffuse * Math.max(0, n), i = 0;
25175
25295
  if (t.fillLight && t.fillDiffuse) {
25176
25296
  let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
@@ -25183,14 +25303,14 @@ function At(e, t) {
25183
25303
  }
25184
25304
  return Math.max(0, t.ambient + r + i + a);
25185
25305
  }
25186
- function jt(e, t) {
25306
+ function Bt(e, t) {
25187
25307
  let n = e.canvas.width, r = e.canvas.height;
25188
25308
  if (n <= 0 || r <= 0) return;
25189
25309
  let i = t.widthPx;
25190
25310
  if (i < .75) return;
25191
25311
  let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
25192
25312
  for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
25193
- let { bandMask: c, bandWeight: l, normals: u } = _t(s, n, r, i, t.prst, t.heightPx), d = kt(t.material, t.light), f = At({
25313
+ let { bandMask: c, bandWeight: l, normals: u } = Et(s, n, r, i, t.prst, t.heightPx), d = Rt(t.material, t.light), f = zt({
25194
25314
  x: 0,
25195
25315
  y: 0,
25196
25316
  z: 1
@@ -25201,13 +25321,13 @@ function jt(e, t) {
25201
25321
  if (n <= 0) continue;
25202
25322
  let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
25203
25323
  t.bottom && (r = -r, i = -i);
25204
- let s = 1 + (At({
25324
+ let s = 1 + (zt({
25205
25325
  x: r,
25206
25326
  y: i,
25207
25327
  z: a
25208
25328
  }, d) / f - 1) * n, p = e * 4;
25209
25329
  if (s >= 1) {
25210
- let e = Math.min(1, (s - 1) * Tt);
25330
+ let e = Math.min(1, (s - 1) * Pt);
25211
25331
  for (let t = 0; t < 3; t++) {
25212
25332
  let n = Math.min(255, o[p + t] * s);
25213
25333
  o[p + t] = n + (255 - n) * e;
@@ -25216,7 +25336,7 @@ function jt(e, t) {
25216
25336
  }
25217
25337
  e.putImageData(a, 0, 0);
25218
25338
  }
25219
- function Mt(e, t) {
25339
+ function Vt(e, t) {
25220
25340
  let n = e.canvas.width, r = e.canvas.height;
25221
25341
  if (n <= 0 || r <= 0) return;
25222
25342
  let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
@@ -25243,7 +25363,7 @@ function Mt(e, t) {
25243
25363
  }
25244
25364
  //#endregion
25245
25365
  //#region packages/core/src/sparkline/renderer.ts
25246
- function Nt(e, t, n) {
25366
+ function Ht(e, t, n) {
25247
25367
  let { values: r } = n;
25248
25368
  if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
25249
25369
  let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
@@ -25252,11 +25372,11 @@ function Nt(e, t, n) {
25252
25372
  m === h && (h = m + 1, --m);
25253
25373
  let g = h - m, _ = (e) => c + u - (e - m) / g * u;
25254
25374
  if (n.kind === "stem") {
25255
- It(e, n, s, c, l, u);
25375
+ Gt(e, n, s, c, l, u);
25256
25376
  return;
25257
25377
  }
25258
25378
  if (n.kind === "column") {
25259
- Ft(e, n, r, s, c, l, u, m, h);
25379
+ Wt(e, n, r, s, c, l, u, m, h);
25260
25380
  return;
25261
25381
  }
25262
25382
  if (n.displayXAxis && m < 0 && h > 0) {
@@ -25265,7 +25385,7 @@ function Nt(e, t, n) {
25265
25385
  e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
25266
25386
  }
25267
25387
  let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
25268
- e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * O, e.beginPath();
25388
+ e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * L, e.beginPath();
25269
25389
  let b = !1, x = n.displayEmptyCellsAs ?? "gap";
25270
25390
  for (let t = 0; t < v; t++) {
25271
25391
  let n = r[t];
@@ -25280,7 +25400,7 @@ function Nt(e, t, n) {
25280
25400
  b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
25281
25401
  }
25282
25402
  e.stroke(), e.restore();
25283
- let S = Math.max(1, Math.min(2.5, u * .12)), C = Pt(r, n);
25403
+ let S = Math.max(1, Math.min(2.5, u * .12)), C = Ut(r, n);
25284
25404
  for (let t = 0; t < v; t++) {
25285
25405
  let a = r[t];
25286
25406
  if (a == null) continue;
@@ -25288,7 +25408,7 @@ function Nt(e, t, n) {
25288
25408
  (n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
25289
25409
  }
25290
25410
  }
25291
- function Pt(e, t) {
25411
+ function Ut(e, t) {
25292
25412
  let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
25293
25413
  for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
25294
25414
  a = e;
@@ -25303,10 +25423,10 @@ function Pt(e, t) {
25303
25423
  if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
25304
25424
  return n;
25305
25425
  }
25306
- function Ft(e, t, n, r, i, a, o, s, c) {
25426
+ function Wt(e, t, n, r, i, a, o, s, c) {
25307
25427
  let l = n.length;
25308
25428
  if (l === 0) return;
25309
- let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = Pt(n, t);
25429
+ let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = Ut(n, t);
25310
25430
  for (let i = 0; i < l; i++) {
25311
25431
  let a = n[i];
25312
25432
  if (a == null) continue;
@@ -25314,10 +25434,10 @@ function Ft(e, t, n, r, i, a, o, s, c) {
25314
25434
  e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
25315
25435
  }
25316
25436
  }
25317
- function It(e, t, n, r, i, a) {
25437
+ function Gt(e, t, n, r, i, a) {
25318
25438
  let o = t.values.length;
25319
25439
  if (o === 0) return;
25320
- let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Pt(t.values, t);
25440
+ let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Ut(t.values, t);
25321
25441
  for (let r = 0; r < o; r++) {
25322
25442
  let i = t.values[r];
25323
25443
  if (i == null || i === 0) continue;
@@ -25327,13 +25447,13 @@ function It(e, t, n, r, i, a) {
25327
25447
  }
25328
25448
  //#endregion
25329
25449
  //#region packages/core/src/math/mathml.ts
25330
- var Lt = {
25450
+ var Kt = {
25331
25451
  "&": "&amp;",
25332
25452
  "<": "&lt;",
25333
25453
  ">": "&gt;",
25334
25454
  "\"": "&quot;"
25335
- }, Q = (e) => e.replace(/[&<>"]/g, (e) => Lt[e]);
25336
- function Rt(e) {
25455
+ }, Q = (e) => e.replace(/[&<>"]/g, (e) => Kt[e]);
25456
+ function qt(e) {
25337
25457
  switch (e) {
25338
25458
  case "roman": return "normal";
25339
25459
  case "bold": return "bold";
@@ -25341,9 +25461,9 @@ function Rt(e) {
25341
25461
  case "italic": return null;
25342
25462
  }
25343
25463
  }
25344
- var zt = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Bt = "+−±∓×÷·∗⋅∘∙*/", Vt = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Ht = "([{⟨⌈⌊", Ut = ")]}⟩⌉⌋", Wt = ",;";
25345
- function Gt(e, t) {
25346
- let n = Rt(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
25464
+ var Jt = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Yt = "+−±∓×÷·∗⋅∘∙*/", Xt = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Zt = "([{⟨⌈⌊", Qt = ")]}⟩⌉⌋", $t = ",;";
25465
+ function en(e, t) {
25466
+ let n = qt(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
25347
25467
  a &&= (i += `<mn${r}>${Q(a)}</mn>`, "");
25348
25468
  };
25349
25469
  for (let t of e) {
@@ -25355,42 +25475,42 @@ function Gt(e, t) {
25355
25475
  a += t;
25356
25476
  continue;
25357
25477
  }
25358
- o(), Bt.includes(t) || Vt.includes(t) || Wt.includes(t) ? i += `<mo>${Q(t)}</mo>` : Ht.includes(t) || Ut.includes(t) ? i += `<mo fence="true" stretchy="false">${Q(t)}</mo>` : i += `<mi${r}>${Q(t)}</mi>`;
25478
+ o(), Yt.includes(t) || Xt.includes(t) || $t.includes(t) ? i += `<mo>${Q(t)}</mo>` : Zt.includes(t) || Qt.includes(t) ? i += `<mo fence="true" stretchy="false">${Q(t)}</mo>` : i += `<mi${r}>${Q(t)}</mi>`;
25359
25479
  }
25360
25480
  return o(), i;
25361
25481
  }
25362
- function Kt(e) {
25363
- return e.map(qt).join("");
25482
+ function tn(e) {
25483
+ return e.map(nn).join("");
25364
25484
  }
25365
25485
  function $(e) {
25366
- return `<mrow>${Kt(e)}</mrow>`;
25486
+ return `<mrow>${tn(e)}</mrow>`;
25367
25487
  }
25368
- function qt(e) {
25488
+ function nn(e) {
25369
25489
  switch (e.kind) {
25370
- case "run": return Gt(e.text, e.style);
25490
+ case "run": return en(e.text, e.style);
25371
25491
  case "group": return $(e.items);
25372
25492
  case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
25373
25493
  case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
25374
25494
  case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
25375
25495
  case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
25376
- case "nary": return en(e);
25377
- case "delimiter": return tn(e);
25378
- case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${Kt(e.radicand)}</msqrt>`;
25379
- case "limit": return Zt(e);
25380
- case "array": return Qt(e);
25496
+ case "nary": return un(e);
25497
+ case "delimiter": return dn(e);
25498
+ case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${tn(e.radicand)}</msqrt>`;
25499
+ case "limit": return sn(e);
25500
+ case "array": return cn(e);
25381
25501
  case "groupChr": {
25382
- let t = $(e.base), n = zt.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Q(e.char)}</mo>`;
25502
+ let t = $(e.base), n = Jt.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Q(e.char)}</mo>`;
25383
25503
  return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
25384
25504
  }
25385
25505
  case "bar": {
25386
25506
  let t = $(e.base), n = "<mo stretchy=\"true\">&#x2015;</mo>";
25387
25507
  return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
25388
25508
  }
25389
- case "accent": return Xt(e);
25509
+ case "accent": return on(e);
25390
25510
  case "func": return `<mrow>${$(e.name)}<mo>&#x2061;</mo>${$(e.arg)}</mrow>`;
25391
25511
  }
25392
25512
  }
25393
- var Jt = {
25513
+ var rn = {
25394
25514
  "̀": "`",
25395
25515
  "́": "´",
25396
25516
  "̂": "^",
@@ -25401,7 +25521,7 @@ var Jt = {
25401
25521
  "̌": "ˇ",
25402
25522
  "⃗": "→",
25403
25523
  "⃖": "←"
25404
- }, Yt = new Set([
25524
+ }, an = new Set([
25405
25525
  "̅",
25406
25526
  "̄",
25407
25527
  "¯",
@@ -25409,37 +25529,45 @@ var Jt = {
25409
25529
  "̲",
25410
25530
  "̳"
25411
25531
  ]);
25412
- function Xt(e) {
25532
+ function on(e) {
25413
25533
  let t = $(e.base);
25414
- if (Yt.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
25415
- let n = Jt[e.char] ?? e.char;
25534
+ if (an.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
25535
+ let n = rn[e.char] ?? e.char;
25416
25536
  return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Q(n)}</mo></mover>`;
25417
25537
  }
25418
- function Zt(e) {
25538
+ function sn(e) {
25419
25539
  let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
25420
25540
  return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
25421
25541
  }
25422
- function Qt(e) {
25542
+ function cn(e) {
25423
25543
  let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
25424
25544
  n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
25425
- let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${Kt(e)}</mtd>`).join("")}</mtr>`).join("");
25545
+ let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${tn(e)}</mtd>`).join("")}</mtr>`).join("");
25426
25546
  return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
25427
25547
  }
25428
- var $t = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
25429
- function en(e) {
25430
- let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : $t.has(e.op), n = `<mo largeop="true">${Q(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
25431
- return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${Kt(e.body)}</mrow>`;
25548
+ var ln = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
25549
+ function un(e) {
25550
+ let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : ln.has(e.op), n = `<mo largeop="true">${Q(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
25551
+ return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${tn(e.body)}</mrow>`;
25432
25552
  }
25433
- function tn(e) {
25553
+ function dn(e) {
25434
25554
  let t = (e) => `<mo fence="true" stretchy="true">${Q(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
25435
25555
  return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
25436
25556
  }
25437
- function nn(e, t) {
25438
- return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${Kt(e)}</math>`;
25557
+ function fn(e, t) {
25558
+ return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${tn(e)}</math>`;
25559
+ }
25560
+ //#endregion
25561
+ //#region packages/core/src/canvas/env.ts
25562
+ function pn(e) {
25563
+ return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
25564
+ }
25565
+ function mn(e = 1) {
25566
+ return typeof window < "u" && window.devicePixelRatio || e;
25439
25567
  }
25440
25568
  //#endregion
25441
25569
  //#region packages/core/src/worker/bridge.ts
25442
- var rn = class {
25570
+ var hn = class {
25443
25571
  _worker;
25444
25572
  _opts;
25445
25573
  _pending = /* @__PURE__ */ new Map();
@@ -25479,7 +25607,7 @@ var rn = class {
25479
25607
  for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
25480
25608
  this._pending.clear();
25481
25609
  }
25482
- }, an = [
25610
+ }, gn = [
25483
25611
  "L",
25484
25612
  "R",
25485
25613
  "AL",
@@ -25503,7 +25631,7 @@ var rn = class {
25503
25631
  "RLI",
25504
25632
  "FSI",
25505
25633
  "PDI"
25506
- ], on = [
25634
+ ], _n = [
25507
25635
  0,
25508
25636
  9,
25509
25637
  10,
@@ -26771,7 +26899,7 @@ var rn = class {
26771
26899
  1048574,
26772
26900
  1048576,
26773
26901
  1114110
26774
- ], sn = [
26902
+ ], vn = [
26775
26903
  9,
26776
26904
  11,
26777
26905
  10,
@@ -28039,7 +28167,7 @@ var rn = class {
28039
28167
  9,
28040
28168
  0,
28041
28169
  9
28042
- ], cn = [
28170
+ ], yn = [
28043
28171
  40,
28044
28172
  41,
28045
28173
  41,
@@ -28896,7 +29024,7 @@ var rn = class {
28896
29024
  65379,
28897
29025
  65379,
28898
29026
  65378
28899
- ], ln = [
29027
+ ], bn = [
28900
29028
  40,
28901
29029
  41,
28902
29030
  0,
@@ -29284,42 +29412,42 @@ var rn = class {
29284
29412
  ];
29285
29413
  //#endregion
29286
29414
  //#region packages/core/src/text/bidi/char-data.ts
29287
- function un(e) {
29288
- let t = 0, n = on.length - 1;
29415
+ function xn(e) {
29416
+ let t = 0, n = _n.length - 1;
29289
29417
  for (; t < n;) {
29290
29418
  let r = t + n + 1 >> 1;
29291
- on[r] <= e ? t = r : n = r - 1;
29419
+ _n[r] <= e ? t = r : n = r - 1;
29292
29420
  }
29293
- return sn[t];
29421
+ return vn[t];
29294
29422
  }
29295
- function dn(e) {
29296
- return an[un(e)];
29423
+ function Sn(e) {
29424
+ return gn[xn(e)];
29297
29425
  }
29298
- var fn = (() => {
29426
+ var Cn = (() => {
29299
29427
  let e = /* @__PURE__ */ new Map();
29300
- for (let t = 0; t < cn.length; t += 2) e.set(cn[t], cn[t + 1]);
29428
+ for (let t = 0; t < yn.length; t += 2) e.set(yn[t], yn[t + 1]);
29301
29429
  return e;
29302
29430
  })();
29303
- function pn(e) {
29304
- return fn.get(e) ?? null;
29431
+ function wn(e) {
29432
+ return Cn.get(e) ?? null;
29305
29433
  }
29306
- var mn = (() => {
29434
+ var Tn = (() => {
29307
29435
  let e = /* @__PURE__ */ new Map();
29308
- for (let t = 0; t < ln.length; t += 3) e.set(ln[t], {
29309
- pair: ln[t + 1],
29310
- type: ln[t + 2] === 0 ? "o" : "c"
29436
+ for (let t = 0; t < bn.length; t += 3) e.set(bn[t], {
29437
+ pair: bn[t + 1],
29438
+ type: bn[t + 2] === 0 ? "o" : "c"
29311
29439
  });
29312
29440
  return e;
29313
29441
  })();
29314
- function hn(e) {
29315
- return mn.get(e) ?? null;
29442
+ function En(e) {
29443
+ return Tn.get(e) ?? null;
29316
29444
  }
29317
- var gn = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", _n = (e) => e === "LRI" || e === "RLI" || e === "FSI", vn = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", yn = (e) => e & 1 ? e + 2 : e + 1, bn = (e) => e & 1 ? e + 1 : e + 2;
29318
- function xn(e, t, n) {
29445
+ var Dn = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", On = (e) => e === "LRI" || e === "RLI" || e === "FSI", kn = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", An = (e) => e & 1 ? e + 2 : e + 1, jn = (e) => e & 1 ? e + 1 : e + 2;
29446
+ function Mn(e, t, n) {
29319
29447
  let r = 0;
29320
29448
  for (let i = t; i < n; i++) {
29321
29449
  let t = e[i];
29322
- if (_n(t)) r++;
29450
+ if (On(t)) r++;
29323
29451
  else if (t === "PDI") r > 0 && r--;
29324
29452
  else if (r === 0) {
29325
29453
  if (t === "L") return 0;
@@ -29328,11 +29456,11 @@ function xn(e, t, n) {
29328
29456
  }
29329
29457
  return 0;
29330
29458
  }
29331
- function Sn(e) {
29459
+ function Nn(e) {
29332
29460
  let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
29333
29461
  for (let a = 0; a < t; a++) {
29334
29462
  let t = e[a];
29335
- if (_n(t)) i.push(a);
29463
+ if (On(t)) i.push(a);
29336
29464
  else if (t === "PDI" && i.length) {
29337
29465
  let e = i.pop();
29338
29466
  n[e] = a, r[a] = e;
@@ -29343,7 +29471,7 @@ function Sn(e) {
29343
29471
  initOf: r
29344
29472
  };
29345
29473
  }
29346
- function Cn(e, t, n) {
29474
+ function Pn(e, t, n) {
29347
29475
  let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
29348
29476
  level: t,
29349
29477
  override: "neutral",
@@ -29357,7 +29485,7 @@ function Cn(e, t, n) {
29357
29485
  case "RLO":
29358
29486
  case "LRO": {
29359
29487
  i[d] = u().level;
29360
- let e = r === "RLE" || r === "RLO" ? yn(u().level) : bn(u().level);
29488
+ let e = r === "RLE" || r === "RLO" ? An(u().level) : jn(u().level);
29361
29489
  e <= 125 && s === 0 && c === 0 ? o.push({
29362
29490
  level: e,
29363
29491
  override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
@@ -29372,8 +29500,8 @@ function Cn(e, t, n) {
29372
29500
  let t = u().override;
29373
29501
  t !== "neutral" && (a[d] = t);
29374
29502
  let f;
29375
- f = r === "RLI" ? "R" : r === "LRI" ? "L" : xn(e, d + 1, n[d]) === 1 ? "R" : "L";
29376
- let p = f === "R" ? yn(u().level) : bn(u().level);
29503
+ f = r === "RLI" ? "R" : r === "LRI" ? "L" : Mn(e, d + 1, n[d]) === 1 ? "R" : "L";
29504
+ let p = f === "R" ? An(u().level) : jn(u().level);
29377
29505
  p <= 125 && s === 0 && c === 0 ? (l++, o.push({
29378
29506
  level: p,
29379
29507
  override: "neutral",
@@ -29415,10 +29543,10 @@ function Cn(e, t, n) {
29415
29543
  types: a
29416
29544
  };
29417
29545
  }
29418
- function wn(e) {
29546
+ function Fn(e) {
29419
29547
  return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
29420
29548
  }
29421
- function Tn(e, t, n, r, i, a) {
29549
+ function In(e, t, n, r, i, a) {
29422
29550
  let o = e.length, s = [];
29423
29551
  for (let e = 0; e < o; e++) n[e] || s.push(e);
29424
29552
  let c = [];
@@ -29436,7 +29564,7 @@ function Tn(e, t, n, r, i, a) {
29436
29564
  for (;;) {
29437
29565
  for (let e of p) f.push(e);
29438
29566
  let t = p[p.length - 1];
29439
- if (_n(e[t]) && i[t] !== o) {
29567
+ if (On(e[t]) && i[t] !== o) {
29440
29568
  let e = l.get(i[t]);
29441
29569
  if (e) {
29442
29570
  p = e;
@@ -29451,7 +29579,7 @@ function Tn(e, t, n, r, i, a) {
29451
29579
  break;
29452
29580
  }
29453
29581
  let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
29454
- if (!(_n(e[_]) && i[_] === o)) {
29582
+ if (!(On(e[_]) && i[_] === o)) {
29455
29583
  for (let e = _ + 1; e < o; e++) if (!n[e]) {
29456
29584
  v = t[e];
29457
29585
  break;
@@ -29467,8 +29595,8 @@ function Tn(e, t, n, r, i, a) {
29467
29595
  }
29468
29596
  return d;
29469
29597
  }
29470
- var En = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
29471
- function Dn(e, t, n, r, i) {
29598
+ var Ln = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
29599
+ function Rn(e, t, n, r, i) {
29472
29600
  let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
29473
29601
  for (let e = 0; e < o; e++) {
29474
29602
  let t = a[e];
@@ -29515,15 +29643,15 @@ function Dn(e, t, n, r, i) {
29515
29643
  outer: for (let n = 0; n < o; n++) {
29516
29644
  let i = a[n];
29517
29645
  if (r[i] !== "ON") continue;
29518
- let o = hn(t[i]);
29646
+ let o = En(t[i]);
29519
29647
  if (o) if (o.type === "o") {
29520
29648
  if (e.length === 63) break outer;
29521
29649
  e.push({
29522
- expect: wn(o.pair),
29650
+ expect: Fn(o.pair),
29523
29651
  pos: n
29524
29652
  });
29525
29653
  } else {
29526
- let r = wn(t[i]);
29654
+ let r = Fn(t[i]);
29527
29655
  for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
29528
29656
  f.push({
29529
29657
  open: e[t].pos,
@@ -29541,7 +29669,7 @@ function Dn(e, t, n, r, i) {
29541
29669
  for (let { open: e, close: t } of f) {
29542
29670
  let n = !1, i = !1;
29543
29671
  for (let o = e + 1; o < t; o++) {
29544
- let e = En(r[a[o]]);
29672
+ let e = Ln(r[a[o]]);
29545
29673
  e === u ? n = !0 : e === d && (i = !0);
29546
29674
  }
29547
29675
  let o = null;
@@ -29549,7 +29677,7 @@ function Dn(e, t, n, r, i) {
29549
29677
  else if (i) {
29550
29678
  let t = s;
29551
29679
  for (let n = e - 1; n >= 0; n--) {
29552
- let e = En(r[a[n]]);
29680
+ let e = Ln(r[a[n]]);
29553
29681
  if (e) {
29554
29682
  t = e;
29555
29683
  break;
@@ -29560,29 +29688,29 @@ function Dn(e, t, n, r, i) {
29560
29688
  o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
29561
29689
  }
29562
29690
  for (let e = 0; e < o; e++) {
29563
- if (!vn(r[a[e]])) continue;
29691
+ if (!kn(r[a[e]])) continue;
29564
29692
  let t = e;
29565
- for (; t < o && vn(r[a[t]]);) t++;
29566
- let n = e > 0 ? En(r[a[e - 1]]) : s, i = t < o ? En(r[a[t]]) : c;
29693
+ for (; t < o && kn(r[a[t]]);) t++;
29694
+ let n = e > 0 ? Ln(r[a[e - 1]]) : s, i = t < o ? Ln(r[a[t]]) : c;
29567
29695
  if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
29568
29696
  e = t - 1;
29569
29697
  }
29570
- for (let e = 0; e < o; e++) vn(r[a[e]]) && (r[a[e]] = u);
29698
+ for (let e = 0; e < o; e++) kn(r[a[e]]) && (r[a[e]] = u);
29571
29699
  for (let e = 0; e < o; e++) {
29572
29700
  let t = a[e], n = r[t];
29573
29701
  l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
29574
29702
  }
29575
29703
  }
29576
- function On(e, t, n) {
29704
+ function zn(e, t, n) {
29577
29705
  let r = e.length, i = Array(r);
29578
- for (let t = 0; t < r; t++) i[t] = n?.[t] ?? dn(e[t]);
29579
- let a = t === "rtl" ? 1 : t === "ltr" ? 0 : xn(i, 0, r), { pdiOf: o, initOf: s } = Sn(i), { levels: c, types: l } = Cn(i, a, o), u = Array(r);
29580
- for (let e = 0; e < r; e++) u[e] = gn(i[e]);
29581
- let d = Tn(i, c, u, a, o, s), f = l.slice();
29582
- for (let t of d) Dn(t, e, i, f, c);
29706
+ for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Sn(e[t]);
29707
+ let a = t === "rtl" ? 1 : t === "ltr" ? 0 : Mn(i, 0, r), { pdiOf: o, initOf: s } = Nn(i), { levels: c, types: l } = Pn(i, a, o), u = Array(r);
29708
+ for (let e = 0; e < r; e++) u[e] = Dn(i[e]);
29709
+ let d = In(i, c, u, a, o, s), f = l.slice();
29710
+ for (let t of d) Rn(t, e, i, f, c);
29583
29711
  let p = (e) => {
29584
29712
  let t = i[e];
29585
- return t === "WS" || _n(t) || t === "PDI" || u[e];
29713
+ return t === "WS" || On(t) || t === "PDI" || u[e];
29586
29714
  };
29587
29715
  for (let e = 0; e < r; e++) {
29588
29716
  let t = i[e];
@@ -29598,7 +29726,7 @@ function On(e, t, n) {
29598
29726
  paragraphLevel: a
29599
29727
  };
29600
29728
  }
29601
- function kn(e, t, n) {
29729
+ function Bn(e, t, n) {
29602
29730
  let r = [];
29603
29731
  for (let i = t; i < n; i++) {
29604
29732
  let t = e[i];
@@ -29626,7 +29754,7 @@ function kn(e, t, n) {
29626
29754
  }
29627
29755
  //#endregion
29628
29756
  //#region packages/core/src/text/bidi/uax9/index.ts
29629
- function An(e) {
29757
+ function Vn(e) {
29630
29758
  let t = [], n = [], r = [];
29631
29759
  for (let i = 0; i < e.length;) {
29632
29760
  let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
@@ -29638,9 +29766,9 @@ function An(e) {
29638
29766
  starts: r
29639
29767
  };
29640
29768
  }
29641
- var jn = class {
29769
+ var Hn = class {
29642
29770
  computeLevels(e, t, n) {
29643
- let { cps: r, units: i, starts: a } = An(e), { levels: o, paragraphLevel: s } = On(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
29771
+ let { cps: r, units: i, starts: a } = Vn(e), { levels: o, paragraphLevel: s } = zn(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
29644
29772
  for (let e = 0; e < o.length; e++) {
29645
29773
  let t = o[e] === -1 ? 255 : o[e];
29646
29774
  for (let n = 0; n < i[e]; n++) c[l++] = t;
@@ -29651,25 +29779,25 @@ var jn = class {
29651
29779
  };
29652
29780
  }
29653
29781
  reorderVisual(e, t, n) {
29654
- return kn(e, t, n);
29782
+ return Bn(e, t, n);
29655
29783
  }
29656
29784
  getMirror(e) {
29657
- return pn(e);
29785
+ return wn(e);
29658
29786
  }
29659
29787
  };
29660
- function Mn() {
29661
- return new jn();
29788
+ function Un() {
29789
+ return new Hn();
29662
29790
  }
29663
29791
  //#endregion
29664
29792
  //#region packages/core/src/text/bidi/engine.ts
29665
- var Nn = null;
29666
- function Pn() {
29667
- return Nn === null && (Nn = Mn()), Nn;
29793
+ var Wn = null;
29794
+ function Gn() {
29795
+ return Wn === null && (Wn = Un()), Wn;
29668
29796
  }
29669
29797
  //#endregion
29670
29798
  //#region packages/core/src/text/bidi/segments.ts
29671
- function Fn(e, t) {
29672
- return e === !0 ? "rtl" : e === !1 ? "ltr" : Pn().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
29799
+ function Kn(e, t) {
29800
+ return e === !0 ? "rtl" : e === !1 ? "ltr" : Gn().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
29673
29801
  }
29674
29802
  //#endregion
29675
- export { T as A, ge as C, E as D, pe as E, x as M, a as N, D as O, t as P, De as S, q as T, Pe as _, Nt as a, Oe as b, St as c, rt as d, Je as f, Fe as g, Ne as h, nn as i, b as j, O as k, Ot as l, qe as m, Pn as n, jt as o, Ke as p, rn as r, Mt as s, Fn as t, tt as u, je as v, me as w, Se as x, Ce as y };
29803
+ export { I as A, m as B, je as C, Se as D, Ce as E, u as F, t as H, d as I, p as L, P as M, k as N, xe as O, A as P, l as R, Le as S, Te as T, s as V, He as _, pn as a, Be as b, Bt as c, Lt as d, ut as f, nt as g, tt as h, mn as i, L as j, F as k, Vt as l, rt as m, Gn as n, fn as o, ft as p, hn as r, Ht as s, Kn as t, jt as u, We as v, Ie as w, Me as x, Ue as y, c as z };