@silurus/ooxml 0.79.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +22 -15
  2. package/dist/assets/render-worker-BSx9_xRC.js +8 -0
  3. package/dist/assets/render-worker-BTp87EaD.js +21 -0
  4. package/dist/assets/render-worker-fdwAjSve.js +7 -0
  5. package/dist/{canvas-viewer-mechanics-D9tsuHnG.js → canvas-viewer-mechanics-D41tGY4d.js} +1 -1
  6. package/dist/{dash-Cyc-sevN.js → dash-CMzZIDz_.js} +87 -49
  7. package/dist/{document-pull-client-YiU8M4LO.js → document-pull-client-D-fnlVGf.js} +2247 -2254
  8. package/dist/{docx-a1UpmRf8.js → docx-CbIqgb1f.js} +108 -106
  9. package/dist/docx.mjs +4 -4
  10. package/dist/docx_parser_bg.wasm +0 -0
  11. package/dist/index.mjs +3 -3
  12. package/dist/line-distribute-DFdgzaLK.js +1002 -0
  13. package/dist/{line-metrics-DjKxiIUD.js → line-metrics-PpgpOvz4.js} +2774 -2524
  14. package/dist/math.mjs +34 -24
  15. package/dist/node.mjs +186 -186
  16. package/dist/{pptx-t5ABdzfd.js → pptx-DwF8olh2.js} +129 -127
  17. package/dist/pptx.mjs +5 -5
  18. package/dist/pptx_parser_bg.wasm +0 -0
  19. package/dist/region-map.mjs +75 -74
  20. package/dist/{render-BjIEuFIG.js → render-BMC4d1CO.js} +1 -1
  21. package/dist/render-worker-host-CcENRoDr.js +9 -0
  22. package/dist/render-worker-host-CzsHtsN_.js +9 -0
  23. package/dist/render-worker-host-DFgTN7hy.js +9 -0
  24. package/dist/renderer-module-contract-BNGz8HvO.js +30 -0
  25. package/dist/{resource-measurement-D8EiTm_E.js → resource-measurement-DvIKHd-9.js} +7 -7
  26. package/dist/{session-Bhe_eY-s.js → session-BzhcJOvj.js} +9 -9
  27. package/dist/{slide-pull-client-BQ8gJPTq.js → slide-pull-client-DLC3nJUt.js} +847 -861
  28. package/dist/three-d.mjs +828 -559
  29. package/dist/types/docx.d.ts +74 -8
  30. package/dist/types/index.d.ts +82 -12
  31. package/dist/types/math.d.ts +1 -1
  32. package/dist/types/node.d.ts +70 -2
  33. package/dist/types/pptx.d.ts +74 -8
  34. package/dist/types/region-map.d.ts +68 -2
  35. package/dist/types/three-d.d.ts +68 -2
  36. package/dist/types/xlsx.d.ts +78 -8
  37. package/dist/{worksheet-pull-client-T0EzdEEQ.js → worksheet-pull-client-DlVk_4Bt.js} +13 -13
  38. package/dist/{xlsx-CsDDMJIK.js → xlsx-C1BUns1R.js} +1387 -1252
  39. package/dist/xlsx.mjs +5 -5
  40. package/dist/xlsx_parser_bg.wasm +0 -0
  41. package/package.json +4 -1
  42. package/dist/line-distribute-pDqovJpT.js +0 -1002
  43. package/dist/render-worker-host-BB320snY.js +0 -27
  44. package/dist/render-worker-host-BjEPZBwf.js +0 -27
  45. package/dist/render-worker-host-hZ0o4OD7.js +0 -27
  46. /package/dist/{highlight-rect-cCvVU-MW.js → highlight-rect-BuX5rWP4.js} +0 -0
  47. /package/dist/{mathjax-Dqo857oC.js → mathjax-DgAl7Yi5.js} +0 -0
  48. /package/dist/{transfer-3QEJrsJa.js → transfer-CKZ79zFw.js} +0 -0
  49. /package/dist/{visible-index-CKvgpUrf.js → visible-index-BjesVGhg.js} +0 -0
@@ -0,0 +1,1002 @@
1
+ import { Vt as e, Zt as t, b as n, w as r, x as i } from "./line-metrics-PpgpOvz4.js";
2
+ //#region packages/core/src/fonts/symbol-font.ts
3
+ var a = {
4
+ 167: "♣",
5
+ 168: "♦",
6
+ 169: "♥",
7
+ 170: "♠",
8
+ 171: "↔",
9
+ 172: "←",
10
+ 173: "↑",
11
+ 174: "→",
12
+ 175: "↓",
13
+ 183: "•",
14
+ 184: "÷",
15
+ 185: "≠",
16
+ 180: "×",
17
+ 176: "°",
18
+ 177: "±",
19
+ 163: "≤",
20
+ 179: "≥"
21
+ }, o = {
22
+ 33: "✏",
23
+ 34: "✂",
24
+ 36: "👓",
25
+ 74: "☺",
26
+ 75: "😐",
27
+ 76: "☹",
28
+ 118: "❖",
29
+ 167: "▪",
30
+ 108: "●",
31
+ 110: "■",
32
+ 116: "◆",
33
+ 119: "◆",
34
+ 251: "✗",
35
+ 252: "✓",
36
+ 253: "☒",
37
+ 254: "☑",
38
+ 223: "←",
39
+ 224: "→",
40
+ 225: "↑",
41
+ 226: "↓",
42
+ 227: "↖",
43
+ 228: "↗",
44
+ 229: "↙",
45
+ 230: "↘"
46
+ };
47
+ function s(e) {
48
+ let t = {};
49
+ for (let n of Object.keys(e)) {
50
+ let r = Number(n);
51
+ t[r] = e[r], t[61440 + r] = e[r];
52
+ }
53
+ return t;
54
+ }
55
+ var c = s(a), l = s(o);
56
+ function u(e, t) {
57
+ if (!t) return e;
58
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? l : n === "symbol" ? c : null;
59
+ return r ? r[e.charCodeAt(0)] ?? e : e;
60
+ }
61
+ function d(e) {
62
+ if (!e) return !1;
63
+ let t = e.toLowerCase();
64
+ return t === "symbol" || t.includes("wingdings");
65
+ }
66
+ function f(e, t) {
67
+ if (!d(t) || e.length === 0) return [{
68
+ text: e,
69
+ mapped: !1
70
+ }];
71
+ let n = [], r = "", i = null;
72
+ for (let a of e) {
73
+ let e = u(a, t), o = e !== a;
74
+ i === null || o === i ? (i = o, r += e) : (n.push({
75
+ text: r,
76
+ mapped: i
77
+ }), i = o, r = e);
78
+ }
79
+ return r.length > 0 && n.push({
80
+ text: r,
81
+ mapped: i ?? !1
82
+ }), n;
83
+ }
84
+ //#endregion
85
+ //#region packages/core/src/shape/custGeom.ts
86
+ function p(e, t, n, r, i) {
87
+ let a = Infinity, o = Infinity, s = -Infinity, c = -Infinity, l = (e, t) => {
88
+ !Number.isFinite(e) || !Number.isFinite(t) || (a = Math.min(a, e), o = Math.min(o, t), s = Math.max(s, e), c = Math.max(c, t));
89
+ };
90
+ for (let a of e) {
91
+ let e = 0, o = 0;
92
+ for (let s of a) switch (s.cmd) {
93
+ case "moveTo":
94
+ case "lineTo":
95
+ e = s.x, o = s.y, l(t + e * r, n + o * i);
96
+ break;
97
+ case "cubicBezTo":
98
+ l(t + s.x1 * r, n + s.y1 * i), l(t + s.x2 * r, n + s.y2 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
99
+ break;
100
+ case "quadBezTo":
101
+ l(t + s.x1 * r, n + s.y1 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
102
+ break;
103
+ case "arcTo": {
104
+ let a = Math.abs(s.wr * r), c = Math.abs(s.hr * i);
105
+ if (a <= 0 || c <= 0) break;
106
+ let u = s.stAng * Math.PI / 180, d = s.swAng * Math.PI / 180, f = t + e * r, p = n + o * i, m = f - a * Math.cos(u), h = p - c * Math.sin(u);
107
+ l(m - a, h - c), l(m + a, h + c);
108
+ let g = u + d;
109
+ e = (m + a * Math.cos(g) - t) / r, o = (h + c * Math.sin(g) - n) / i;
110
+ break;
111
+ }
112
+ case "close": break;
113
+ }
114
+ }
115
+ return Number.isFinite(a) ? {
116
+ x: a,
117
+ y: o,
118
+ w: s - a,
119
+ h: c - o
120
+ } : null;
121
+ }
122
+ function m(e, t, n, r, i, a) {
123
+ for (let o of t) {
124
+ let t = 0, s = 0;
125
+ for (let c of o) switch (c.cmd) {
126
+ case "moveTo":
127
+ e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
128
+ break;
129
+ case "lineTo":
130
+ e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
131
+ break;
132
+ case "cubicBezTo":
133
+ e.bezierCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x2 * i, r + c.y2 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
134
+ break;
135
+ case "quadBezTo":
136
+ e.quadraticCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
137
+ break;
138
+ case "arcTo": {
139
+ let o = c.wr * i, l = c.hr * a;
140
+ if (o <= 0 || l <= 0) break;
141
+ let u = c.stAng * Math.PI / 180, d = c.swAng * Math.PI / 180, f = n + t * i, p = r + s * a, m = f - o * Math.cos(u), h = p - l * Math.sin(u), g = u + d;
142
+ e.ellipse(m, h, o, l, 0, u, g, d < 0), t = (m + o * Math.cos(g) - n) / i, s = (h + l * Math.sin(g) - r) / a;
143
+ break;
144
+ }
145
+ case "close":
146
+ e.closePath();
147
+ break;
148
+ }
149
+ }
150
+ }
151
+ //#endregion
152
+ //#region packages/core/src/shape/custgeom-endpoints.ts
153
+ var h = 1e-9;
154
+ function g(e) {
155
+ return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "quadBezTo" || e.cmd === "arcTo";
156
+ }
157
+ function _(e, t, n, r) {
158
+ let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
159
+ return {
160
+ x: e,
161
+ y: t,
162
+ dx: i,
163
+ dy: a,
164
+ angle: Math.atan2(a, i)
165
+ };
166
+ }
167
+ function v(e, t, n) {
168
+ switch (n.cmd) {
169
+ case "lineTo": return {
170
+ dx: n.x - e,
171
+ dy: n.y - t
172
+ };
173
+ case "cubicBezTo": {
174
+ let r = n.x1 - e, i = n.y1 - t;
175
+ return Math.abs(r) < h && Math.abs(i) < h && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < h && Math.abs(i) < h && (r = n.x - e, i = n.y - t), {
176
+ dx: r,
177
+ dy: i
178
+ };
179
+ }
180
+ case "quadBezTo": {
181
+ let r = n.x1 - e, i = n.y1 - t;
182
+ return Math.abs(r) < h && Math.abs(i) < h && (r = n.x - e, i = n.y - t), {
183
+ dx: r,
184
+ dy: i
185
+ };
186
+ }
187
+ case "arcTo": {
188
+ let e = n.stAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
189
+ return {
190
+ dx: -n.wr * Math.sin(e) * t,
191
+ dy: n.hr * Math.cos(e) * t
192
+ };
193
+ }
194
+ default: return {
195
+ dx: 0,
196
+ dy: 0
197
+ };
198
+ }
199
+ }
200
+ function y(e, t, n) {
201
+ switch (n.cmd) {
202
+ case "moveTo":
203
+ case "lineTo":
204
+ case "cubicBezTo":
205
+ case "quadBezTo": return {
206
+ x: n.x,
207
+ y: n.y
208
+ };
209
+ case "arcTo": {
210
+ if (n.wr <= 0 || n.hr <= 0) return {
211
+ x: e,
212
+ y: t
213
+ };
214
+ let r = n.stAng * Math.PI / 180, i = r + n.swAng * Math.PI / 180, a = e - n.wr * Math.cos(r), o = t - n.hr * Math.sin(r);
215
+ return {
216
+ x: a + n.wr * Math.cos(i),
217
+ y: o + n.hr * Math.sin(i)
218
+ };
219
+ }
220
+ default: return {
221
+ x: e,
222
+ y: t
223
+ };
224
+ }
225
+ }
226
+ function b(e, t, n) {
227
+ let { x: r, y: i } = y(e, t, n);
228
+ switch (n.cmd) {
229
+ case "lineTo": return {
230
+ dx: n.x - e,
231
+ dy: n.y - t,
232
+ x: r,
233
+ y: i
234
+ };
235
+ case "cubicBezTo": {
236
+ let a = n.x - n.x2, o = n.y - n.y2;
237
+ return Math.abs(a) < h && Math.abs(o) < h && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < h && Math.abs(o) < h && (a = n.x - e, o = n.y - t), {
238
+ dx: a,
239
+ dy: o,
240
+ x: r,
241
+ y: i
242
+ };
243
+ }
244
+ case "quadBezTo": {
245
+ let a = n.x - n.x1, o = n.y - n.y1;
246
+ return Math.abs(a) < h && Math.abs(o) < h && (a = n.x - e, o = n.y - t), {
247
+ dx: a,
248
+ dy: o,
249
+ x: r,
250
+ y: i
251
+ };
252
+ }
253
+ case "arcTo": {
254
+ if (n.wr <= 0 || n.hr <= 0) return {
255
+ dx: 0,
256
+ dy: 0,
257
+ x: r,
258
+ y: i
259
+ };
260
+ let e = n.stAng * Math.PI / 180 + n.swAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
261
+ return {
262
+ dx: -n.wr * Math.sin(e) * t,
263
+ dy: n.hr * Math.cos(e) * t,
264
+ x: r,
265
+ y: i
266
+ };
267
+ }
268
+ default: return {
269
+ dx: 0,
270
+ dy: 0,
271
+ x: r,
272
+ y: i
273
+ };
274
+ }
275
+ }
276
+ function x(e) {
277
+ let t = 0, n = 0, r = !1;
278
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = y(t, n, i);
279
+ return r ? {
280
+ x: t,
281
+ y: n
282
+ } : null;
283
+ }
284
+ function S(e) {
285
+ if (e.some((e) => e.cmd === "close")) return !0;
286
+ let t = e.find((e) => e.cmd === "moveTo");
287
+ if (!t) return !1;
288
+ let n = x(e);
289
+ return !n || !e.some(g) ? !1 : Math.abs(n.x - t.x) < h && Math.abs(n.y - t.y) < h;
290
+ }
291
+ function C(e) {
292
+ let t = {
293
+ start: null,
294
+ end: null
295
+ };
296
+ if (!e || e.length === 0) return t;
297
+ let n = e[0];
298
+ if (n && n.length > 0 && !S(n)) {
299
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(g);
300
+ if (e && r) {
301
+ let n = v(e.x, e.y, r);
302
+ (Math.abs(n.dx) > h || Math.abs(n.dy) > h) && (t.start = _(e.x, e.y, -n.dx, -n.dy));
303
+ }
304
+ }
305
+ let r = e[e.length - 1];
306
+ if (r && r.length > 0 && !S(r)) {
307
+ let e = 0, n = 0, i = -1;
308
+ for (let e = 0; e < r.length; e++) g(r[e]) && (i = e);
309
+ if (i >= 0) {
310
+ for (let t = 0; t < i; t++) ({x: e, y: n} = y(e, n, r[t]));
311
+ let a = b(e, n, r[i]);
312
+ (Math.abs(a.dx) > h || Math.abs(a.dy) > h) && (t.end = _(a.x, a.y, a.dx, a.dy));
313
+ }
314
+ }
315
+ return t;
316
+ }
317
+ //#endregion
318
+ //#region packages/core/src/shape/preset.ts
319
+ function w(e, t, n, r, i, a, o, s = -Math.PI / 2) {
320
+ let c = a * 2;
321
+ for (let l = 0; l < c; l++) {
322
+ let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
323
+ l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
324
+ }
325
+ e.closePath();
326
+ }
327
+ function T(e, t, n, r, i, a, o = -Math.PI / 2) {
328
+ for (let s = 0; s < a; s++) {
329
+ let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
330
+ s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
331
+ }
332
+ e.closePath();
333
+ }
334
+ function E(e, t, n, r, i, a, o) {
335
+ let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
336
+ return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
337
+ x: u + r * Math.cos(l),
338
+ y: d + i * Math.sin(l)
339
+ };
340
+ }
341
+ var D = {
342
+ oval: "ellipse",
343
+ rtriangle: "rttriangle",
344
+ roundrectangle: "roundrect",
345
+ flowchartsumingjunction: "flowchartsummingjunction"
346
+ }, O = new Set(/* @__PURE__ */ "ellipse.rttriangle.triangle.diamond.trapezoid.roundrect.snip1rect.frame.irregularseal1.irregularseal2.star4.star8.star12.star16.star24.star32.line.straightconnector1.callout1.bordercallout1.leftuparrow.quadarrowcallout.mathequal.mathplus.mathminus.flowchartdecision.flowchartmanualinput.flowchartconnector.flowchartinputoutput.flowchartmerge.flowchartextract.flowchartpreparation.flowchartcollate".split(".")), k = new Set([
347
+ "accentcallout1",
348
+ "accentbordercallout1",
349
+ "flowchartpredefinedprocess",
350
+ "flowchartsort",
351
+ "flowchartinternalstorage",
352
+ "flowchartsummingjunction"
353
+ ]), A = new Set([
354
+ "round2samerect",
355
+ "round2diagrect",
356
+ "dodecagon",
357
+ "star10"
358
+ ]);
359
+ function j(t, n, r, i, a, o, s = null, c = null, l = null, u = null) {
360
+ let d = r + a / 2, f = i + o / 2;
361
+ {
362
+ let d = n.toLowerCase(), f = D[d] ?? d;
363
+ if ((O.has(f) || k.has(f) || A.has(f)) && e(t, f, r, i, a, o, [
364
+ s,
365
+ c,
366
+ l,
367
+ u
368
+ ])) return;
369
+ }
370
+ switch (n.toLowerCase()) {
371
+ case "parallelogram": {
372
+ let e = a * Math.min(.5, (s ?? 25e3) / 1e5);
373
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
374
+ break;
375
+ }
376
+ case "pentagon":
377
+ T(t, d, f, a / 2, o / 2, 5);
378
+ break;
379
+ case "hexagon":
380
+ T(t, d, f, a / 2, o / 2, 6, 0);
381
+ break;
382
+ case "heptagon":
383
+ T(t, d, f, a / 2, o / 2, 7);
384
+ break;
385
+ case "octagon":
386
+ T(t, d, f, a / 2, o / 2, 8, -Math.PI / 8);
387
+ break;
388
+ case "decagon":
389
+ T(t, d, f, a / 2, o / 2, 10);
390
+ break;
391
+ case "star5":
392
+ case "star":
393
+ w(t, d, f, a / 2, o / 2, 5, (s ?? 19098) / 5e4);
394
+ break;
395
+ case "star6":
396
+ w(t, d, f, a / 2, o / 2, 6, (s ?? 28868) / 5e4, 0);
397
+ break;
398
+ case "star7":
399
+ w(t, d, f, a / 2, o / 2, 7, (s ?? 34142) / 5e4);
400
+ break;
401
+ case "rightarrow": {
402
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - e) / 2;
403
+ t.moveTo(r, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r, l + e), t.closePath();
404
+ break;
405
+ }
406
+ case "leftarrow": {
407
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - e) / 2;
408
+ t.moveTo(r + a, l), t.lineTo(r + n, l), t.lineTo(r + n, i), t.lineTo(r, f), t.lineTo(r + n, i + o), t.lineTo(r + n, l + e), t.lineTo(r + a, l + e), t.closePath();
409
+ break;
410
+ }
411
+ case "uparrow": {
412
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - e) / 2;
413
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o), t.lineTo(l, i + o), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
414
+ break;
415
+ }
416
+ case "downarrow": {
417
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - e) / 2;
418
+ t.moveTo(d, i + o), t.lineTo(r + a, i + o - n), t.lineTo(l + e, i + o - n), t.lineTo(l + e, i), t.lineTo(l, i), t.lineTo(l, i + o - n), t.lineTo(r, i + o - n), t.closePath();
419
+ break;
420
+ }
421
+ case "leftrightarrow": {
422
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(.5, (c ?? 25e3) / 1e5), l = i + (o - e) / 2;
423
+ t.moveTo(r, f), t.lineTo(r + n, i), t.lineTo(r + n, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r + n, l + e), t.lineTo(r + n, i + o), t.closePath();
424
+ break;
425
+ }
426
+ case "updownarrow": {
427
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(.5, (c ?? 25e3) / 1e5), l = r + (a - e) / 2;
428
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o - n), t.lineTo(r + a, i + o - n), t.lineTo(d, i + o), t.lineTo(r, i + o - n), t.lineTo(l, i + o - n), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
429
+ break;
430
+ }
431
+ case "notchedrightarrow": {
432
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 35e3) / 1e5), l = i + (o - e) / 2, u = n * .43;
433
+ t.moveTo(r, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r, l + e), t.lineTo(r + u, f), t.closePath();
434
+ break;
435
+ }
436
+ case "chevron": {
437
+ let e = a * Math.min(1, Math.max(0, (s ?? 5e4) / 1e5));
438
+ t.moveTo(r, i), t.lineTo(r + e, i), t.lineTo(r + a, f), t.lineTo(r + e, i + o), t.lineTo(r, i + o), e > 0 && t.lineTo(r + e, f), t.closePath();
439
+ break;
440
+ }
441
+ case "homeplate": {
442
+ let e = o * .4;
443
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(d, i + o), t.lineTo(r, i + o - e), t.closePath();
444
+ break;
445
+ }
446
+ case "leftbracket": {
447
+ let e = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
448
+ t.moveTo(r + a, i), t.quadraticCurveTo(r, i, r, i + e), o - 2 * e > .5 && t.lineTo(r, i + o - e), t.quadraticCurveTo(r, i + o, r + a, i + o);
449
+ break;
450
+ }
451
+ case "rightbracket": {
452
+ let e = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
453
+ t.moveTo(r, i), t.quadraticCurveTo(r + a, i, r + a, i + e), o - 2 * e > .5 && t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r, i + o);
454
+ break;
455
+ }
456
+ case "leftbrace": {
457
+ let e = f, n = a * .45;
458
+ t.moveTo(r + a, i), t.bezierCurveTo(r + a - n, i, r + a - n, e - o * .08, r, e), t.bezierCurveTo(r + a - n, e + o * .08, r + a - n, i + o, r + a, i + o);
459
+ break;
460
+ }
461
+ case "rightbrace": {
462
+ let e = f, n = a * .45;
463
+ t.moveTo(r, i), t.bezierCurveTo(r + n, i, r + n, e - o * .08, r + a, e), t.bezierCurveTo(r + n, e + o * .08, r + n, i + o, r, i + o);
464
+ break;
465
+ }
466
+ case "wedgerectcallout": {
467
+ t.rect(r, i, a, o * .8);
468
+ let e = r + a * .2, n = i + o;
469
+ t.moveTo(r + a * .1, i + o * .8), t.lineTo(e, n), t.lineTo(r + a * .3, i + o * .8), t.closePath();
470
+ break;
471
+ }
472
+ case "wedgeellipsecallout": {
473
+ let e = (s ?? -2e4) / 1e5 * a, n = (c ?? 12e4) / 1e5 * o, r = d + e, i = f + n;
474
+ t.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2);
475
+ let l = Math.atan2(n, e), u = Math.PI / 10, p = a / 2, m = o / 2, h = d + p * Math.cos(l - u), g = f + m * Math.sin(l - u), _ = d + p * Math.cos(l + u), v = f + m * Math.sin(l + u);
476
+ t.moveTo(h, g), t.lineTo(r, i), t.lineTo(_, v), t.closePath();
477
+ break;
478
+ }
479
+ case "cloudcallout": {
480
+ let e = Math.min(a, o) * .22, n = [
481
+ [d - a * .25, i + o * .35],
482
+ [d - a * .1, i + o * .15],
483
+ [d + a * .1, i + o * .1],
484
+ [d + a * .28, i + o * .2],
485
+ [d + a * .35, i + o * .4]
486
+ ];
487
+ t.moveTo(n[0][0] - e, n[0][1]);
488
+ for (let [r, i] of n) t.arc(r, i, e, Math.PI, 0);
489
+ t.arc(d, i + o * .65, a * .45, 0, Math.PI), t.closePath();
490
+ let r = d + (s ?? -2e4) / 1e5 * a, l = f + (c ?? 12e4) / 1e5 * o;
491
+ t.moveTo(d + a * .05, i + o * .8), t.arc(r, l, Math.min(a, o) * .07, 0, Math.PI * 2);
492
+ break;
493
+ }
494
+ case "bentconnector2":
495
+ case "bentconnector3":
496
+ case "bentconnector4":
497
+ case "bentconnector5":
498
+ case "curvedconnector2":
499
+ case "curvedconnector3":
500
+ case "curvedconnector4":
501
+ case "curvedconnector5":
502
+ t.moveTo(r, i), t.lineTo(r + a, i + o);
503
+ break;
504
+ case "heart":
505
+ t.moveTo(d, i + o * .32), t.bezierCurveTo(d, i, r + a * .05, i, r, i + o * .3), t.bezierCurveTo(r, i + o * .68, d - a * .05, i + o * .78, d, i + o), t.bezierCurveTo(d + a * .05, i + o * .78, r + a, i + o * .68, r + a, i + o * .3), t.bezierCurveTo(r + a - a * .05, i, d, i, d, i + o * .32);
506
+ break;
507
+ case "donut": {
508
+ let e = a / 2, n = o / 2, r = Math.min(e, n) * (s ?? 25e3) / 1e5, i = e - r, c = n - r;
509
+ t.ellipse(d, f, e, n, 0, 0, Math.PI * 2, !1), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0);
510
+ break;
511
+ }
512
+ case "nosmoking":
513
+ case "nosmokingsign": {
514
+ let e = (s ?? 18750) / 1e5, n = a / 2, r = o / 2, i = n * (1 - 2 * e), c = r * (1 - 2 * e);
515
+ t.ellipse(d, f, n, r, 0, 0, Math.PI * 2, !1), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI / 2, !1), t.lineTo(d - i, f), t.ellipse(d, f, i, c, 0, Math.PI, 3 * Math.PI / 2, !1), t.closePath();
516
+ break;
517
+ }
518
+ case "pie": {
519
+ let e = (s ?? 0) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
520
+ t.moveTo(d, f), t.arc(d, f, Math.min(a, o) / 2, e, n), t.closePath();
521
+ break;
522
+ }
523
+ case "cloud": {
524
+ let e = o * .28;
525
+ t.arc(r + a * .25, i + o * .55, e, Math.PI, Math.PI * 1.8), t.arc(r + a * .45, i + o * .35, e * 1.1, Math.PI * 1.3, Math.PI * 1.9), t.arc(r + a * .65, i + o * .4, e, Math.PI * 1.5, Math.PI * 2), t.arc(r + a * .8, i + o * .6, e * .9, Math.PI * 1.6, Math.PI * .1), t.arc(r + a * .55, i + o * .75, e, 0, Math.PI * .7), t.arc(r + a * .25, i + o * .7, e * .9, 0, Math.PI), t.closePath();
526
+ break;
527
+ }
528
+ case "funnel":
529
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(d + a * .15, i + o), t.lineTo(d - a * .15, i + o), t.closePath();
530
+ break;
531
+ case "smileyface": {
532
+ t.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2), t.closePath();
533
+ let e = a * .05, n = o * .05, r = f - o * .12;
534
+ t.moveTo(d - a * .2 + e, r), t.ellipse(d - a * .2, r, e, n, 0, 0, Math.PI * 2), t.moveTo(d + a * .2 + e, r), t.ellipse(d + a * .2, r, e, n, 0, 0, Math.PI * 2), t.moveTo(d - a * .25, f + o * .05), t.quadraticCurveTo(d, f + o * .3, d + a * .25, f + o * .05);
535
+ break;
536
+ }
537
+ case "document":
538
+ case "foldedcorner": {
539
+ let e = Math.min(a, o) * .15;
540
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.closePath(), t.moveTo(r + a - e, i), t.lineTo(r + a - e, i + e), t.lineTo(r + a, i + e);
541
+ break;
542
+ }
543
+ case "snip2samerect": {
544
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
545
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r + e, i + o), t.lineTo(r, i + o - e), t.closePath();
546
+ break;
547
+ }
548
+ case "snip2diagrect": {
549
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
550
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o - e), t.lineTo(r + a - e, i + o), t.lineTo(r + e, i + o), t.lineTo(r, i + o - e), t.lineTo(r, i + e), t.closePath();
551
+ break;
552
+ }
553
+ case "sniproundrect": {
554
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
555
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
556
+ break;
557
+ }
558
+ case "round1rect": {
559
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
560
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.lineTo(r, i + e), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
561
+ break;
562
+ }
563
+ case "plaque": {
564
+ let e = Math.min(a, o) * .25;
565
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.quadraticCurveTo(r + a, i, r + a, i + e), t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r + a - e, i + o), t.lineTo(r + e, i + o), t.quadraticCurveTo(r, i + o, r, i + o - e), t.lineTo(r, i + e), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
566
+ break;
567
+ }
568
+ case "can": {
569
+ let e = o * .1;
570
+ t.ellipse(d, i + e, a / 2, e, 0, 0, Math.PI * 2), t.moveTo(r, i + e), t.lineTo(r, i + o - e), t.ellipse(d, i + o - e, a / 2, e, 0, Math.PI, 2 * Math.PI), t.lineTo(r + a, i + e);
571
+ break;
572
+ }
573
+ case "cube": {
574
+ let e = Math.min(a, o) * .2;
575
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.lineTo(r, i + e), t.closePath(), t.moveTo(r + e, i), t.lineTo(r + e, i + e), t.lineTo(r + a - e, i + e), t.moveTo(r + e, i + e), t.lineTo(r, i + e);
576
+ break;
577
+ }
578
+ case "bevel": {
579
+ let e = Math.min(a, o) * .1;
580
+ t.rect(r, i, a, o), t.moveTo(r, i), t.lineTo(r + e, i + e), t.lineTo(r + a - e, i + e), t.lineTo(r + a, i), t.moveTo(r + a - e, i + e), t.lineTo(r + a - e, i + o - e), t.lineTo(r + a, i + o), t.moveTo(r + a - e, i + o - e), t.lineTo(r + e, i + o - e), t.lineTo(r, i + o), t.moveTo(r + e, i + o - e), t.lineTo(r + e, i + e);
581
+ break;
582
+ }
583
+ case "halfframe": {
584
+ let e = Math.min(a, o) * .25;
585
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + e), t.lineTo(r + e, i + e), t.lineTo(r + e, i + o), t.lineTo(r, i + o), t.closePath();
586
+ break;
587
+ }
588
+ case "corner": {
589
+ let e = Math.min(a, o) * .25;
590
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + e), t.lineTo(r + e, i + e), t.lineTo(r + e, i + o), t.lineTo(r, i + o), t.closePath();
591
+ break;
592
+ }
593
+ case "flowchartalternateprocess":
594
+ case "flowchartprocess": {
595
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
596
+ t.roundRect(r, i, a, o, [{
597
+ x: e,
598
+ y: e
599
+ }]);
600
+ break;
601
+ }
602
+ case "flowchartterminator": {
603
+ let e = Math.min(a, o) / 2;
604
+ t.roundRect(r, i, a, o, [{
605
+ x: e,
606
+ y: e
607
+ }]);
608
+ break;
609
+ }
610
+ case "flowchartdocument": {
611
+ let e = o * .1;
612
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath();
613
+ break;
614
+ }
615
+ case "moon":
616
+ t.arc(d, f, Math.min(a, o) / 2, -Math.PI / 2, Math.PI / 2), t.arc(d - a * .2, f, Math.min(a, o) / 2, Math.PI / 2, -Math.PI / 2, !0), t.closePath();
617
+ break;
618
+ case "arc": {
619
+ let e = 216e5, n = (s ?? 162e5) / e * Math.PI * 2, r = (c ?? 54e5) / e * Math.PI * 2;
620
+ t.ellipse(d, f, a / 2, o / 2, 0, n, n + r, r < 0);
621
+ break;
622
+ }
623
+ case "mathmultiply": {
624
+ let e = Math.min(a, o) * Math.min(51965, Math.max(0, s ?? 23520)) / 1e5, n = Math.atan2(o, a), c = Math.sin(n), l = Math.cos(n), u = e / 2 * c, d = e / 2 * l;
625
+ t.moveTo(r + u, i - d), t.lineTo(r - u, i + d), t.lineTo(r + a - u, i + o + d), t.lineTo(r + a + u, i + o - d), t.closePath(), t.moveTo(r + a - u, i - d), t.lineTo(r + a + u, i + d), t.lineTo(r + u, i + o + d), t.lineTo(r - u, i + o - d), t.closePath();
626
+ break;
627
+ }
628
+ case "mathdivide": {
629
+ let e = Math.min(36745, Math.max(1e3, s ?? 23520)), n = (73490 + -e) / 4, r = 36745 * a / o, u = Math.min(Math.min(n, r), Math.max(1e3, l ?? 11760)), p = 73490 + 4 * u - e, m = Math.min(p, Math.max(0, c ?? 5880)), h = o * e / 2e5, g = o * m / 1e5, _ = o * u / 1e5, v = a * 73490 / 2e5, y = f - h, b = f + h, x = y - (g + _) - _, S = i + o - x, C = d - v, w = d + v;
630
+ t.rect(C, y, w - C, b - y), t.moveTo(d + _, x + _), t.arc(d, x + _, _, 0, Math.PI * 2), t.moveTo(d + _, S - _), t.arc(d, S - _, _, 0, Math.PI * 2);
631
+ break;
632
+ }
633
+ case "quadarrow": {
634
+ let e = a * (s ?? 23e3) / 1e5, n = a * (c ?? 3e4) / 1e5, l = r + (a - e) / 2, u = i + (o - e) / 2;
635
+ t.moveTo(d, i), t.lineTo(r + a - n, i + n), t.lineTo(r + a - n, u), t.lineTo(l + e, u), t.lineTo(l + e, i + n), t.lineTo(r + n, i + n), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o - n), t.lineTo(l + e, i + o - n), t.lineTo(l + e, u + e), t.lineTo(r + a - n, u + e), t.lineTo(r + a - n, i + o - n), t.lineTo(d, i + o), t.lineTo(r + n, i + o - n), t.lineTo(r + n, u + e), t.lineTo(l, u + e), t.lineTo(l, i + o - n), t.lineTo(r, f), t.lineTo(r + n, i + n), t.lineTo(l, i + n), t.lineTo(l, u), t.lineTo(r + n, u), t.closePath();
636
+ break;
637
+ }
638
+ case "wave": {
639
+ let e = o * (s ?? 12500) / 1e5, n = i + e, c = i + o - e;
640
+ t.moveTo(r, n), t.bezierCurveTo(r + a * .25, i, r + a * .25, i + e * 2, r + a * .5, n), t.bezierCurveTo(r + a * .75, i + e * 2, r + a * .75, i, r + a, n), t.lineTo(r + a, c), t.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - e * 2, r + a * .5, c), t.bezierCurveTo(r + a * .25, i + o - e * 2, r + a * .25, i + o, r, c), t.closePath();
641
+ break;
642
+ }
643
+ case "doublewave": {
644
+ let e = o * (s ?? 6250) / 1e5, n = i + e, c = i + o - e;
645
+ t.moveTo(r, n), t.bezierCurveTo(r + a * .25, i, r + a * .25, i + e * 2, r + a * .5, n), t.bezierCurveTo(r + a * .75, i + e * 2, r + a * .75, i, r + a, n), t.lineTo(r + a, c), t.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - e * 2, r + a * .5, c), t.bezierCurveTo(r + a * .25, i + o - e * 2, r + a * .25, i + o, r, c), t.closePath();
646
+ break;
647
+ }
648
+ case "sun": {
649
+ let e = Math.min(a, o) / 2, n = e * ((s ?? 25e3) / 1e5 + .5), r = Math.min(n, e * .9), i = Math.PI / 16;
650
+ for (let n = 0; n < 8; n++) {
651
+ let a = n / 8 * Math.PI * 2;
652
+ t.moveTo(d + r * Math.cos(a - i), f + r * Math.sin(a - i)), t.lineTo(d + e * Math.cos(a), f + e * Math.sin(a)), t.lineTo(d + r * Math.cos(a + i), f + r * Math.sin(a + i)), t.closePath();
653
+ }
654
+ t.moveTo(d + r, f), t.arc(d, f, r, 0, Math.PI * 2);
655
+ break;
656
+ }
657
+ case "lightningbolt":
658
+ t.moveTo(d + a * .1, i), t.lineTo(r, f - o * .05), t.lineTo(d + a * .05, f - o * .05), t.lineTo(d - a * .1, i + o), t.lineTo(r + a, f + o * .05), t.lineTo(d - a * .05, f + o * .05), t.closePath();
659
+ break;
660
+ case "bracketpair": {
661
+ let e = o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5;
662
+ t.moveTo(r + a * .4, i), t.quadraticCurveTo(r, i, r, i + e), o - 2 * e > 0 && t.lineTo(r, i + o - e), t.quadraticCurveTo(r, i + o, r + a * .4, i + o), t.moveTo(r + a * .6, i), t.quadraticCurveTo(r + a, i, r + a, i + e), o - 2 * e > 0 && t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r + a * .6, i + o);
663
+ break;
664
+ }
665
+ case "bracepair": {
666
+ let e = a * .2;
667
+ t.moveTo(r + a * .4, i), t.bezierCurveTo(r + a * .4 - e, i, r + a * .4 - e, f - o * .08, r, f), t.bezierCurveTo(r + a * .4 - e, f + o * .08, r + a * .4 - e, i + o, r + a * .4, i + o), t.moveTo(r + a * .6, i), t.bezierCurveTo(r + a * .6 + e, i, r + a * .6 + e, f - o * .08, r + a, f), t.bezierCurveTo(r + a * .6 + e, f + o * .08, r + a * .6 + e, i + o, r + a * .6, i + o);
668
+ break;
669
+ }
670
+ case "chord": {
671
+ let e = (s ?? 27e5) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
672
+ t.ellipse(d, f, a / 2, o / 2, 0, e, n), t.closePath();
673
+ break;
674
+ }
675
+ case "blockarc": {
676
+ let e = Math.min(a, o) / 2, n = s ?? 108e5, r = c ?? 0, i = e * (1 - (l ?? 25e3) / 1e5), u = n / 216e5 * Math.PI * 2, p = r / 216e5 * Math.PI * 2;
677
+ t.arc(d, f, e, u, p, !1), t.arc(d, f, i, p, u, !0), t.closePath();
678
+ break;
679
+ }
680
+ case "teardrop": {
681
+ let e = Math.min(a, o) * .4, n = r + e, s = i + o - e;
682
+ t.arc(n, s, e, 0, Math.PI * 2 * .75), t.bezierCurveTo(n - e * .1, s - e, r + a - e, i + e, r + a, i), t.bezierCurveTo(r + a - e * .2, i + e * .5, n + e, s - e * 1.1, n + e, s), t.closePath();
683
+ break;
684
+ }
685
+ case "diagstripe": {
686
+ let e = o * (s ?? 5e4) / 1e5 * a / o;
687
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
688
+ break;
689
+ }
690
+ case "wedgeroundrectcallout": {
691
+ let e = Math.min(a, o) * .1;
692
+ t.roundRect(r, i, a, o * .85, e), t.moveTo(r + a * .1, i + o * .85), t.lineTo(r + a * .2, i + o), t.lineTo(r + a * .3, i + o * .85), t.closePath();
693
+ break;
694
+ }
695
+ case "rightarrowcallout": {
696
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - e) / 2;
697
+ t.rect(r, l, n, e), t.moveTo(r + n, i), t.lineTo(r + a, f), t.lineTo(r + n, i + o), t.closePath();
698
+ break;
699
+ }
700
+ case "leftarrowcallout": {
701
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - e) / 2;
702
+ t.rect(r + a - n, l, n, e), t.moveTo(r + a - n, i), t.lineTo(r, f), t.lineTo(r + a - n, i + o), t.closePath();
703
+ break;
704
+ }
705
+ case "uparrowcallout": {
706
+ let e = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - e) / 2;
707
+ t.rect(l, i + n, e, o - n), t.moveTo(r, i + n), t.lineTo(d, i), t.lineTo(r + a, i + n), t.closePath();
708
+ break;
709
+ }
710
+ case "downarrowcallout": {
711
+ let e = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - e) / 2;
712
+ t.rect(l, i, e, o - n), t.moveTo(r, i + o - n), t.lineTo(d, i + o), t.lineTo(r + a, i + o - n), t.closePath();
713
+ break;
714
+ }
715
+ case "leftrightarrowcallout": {
716
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 25e3) / 1e5, l = i + (o - e) / 2;
717
+ t.rect(r + n, l, a - 2 * n, e), t.moveTo(r + n, i), t.lineTo(r, f), t.lineTo(r + n, i + o), t.closePath(), t.moveTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.closePath();
718
+ break;
719
+ }
720
+ case "leftrightuparrow": {
721
+ let e = a * (s ?? 25e3) / 1e5, n = o * (c ?? 3e4) / 1e5, l = r + (a - e) / 2;
722
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o), t.lineTo(l, i + o), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
723
+ break;
724
+ }
725
+ case "uturnarrow": {
726
+ let e = a * (s ?? 25e3) / 1e5, n = (a - e) / 2, c = Math.max(0, n - e), l = r + e + n, u = i + e + n, d = e * 2, f = i + o - e * 2.5;
727
+ t.moveTo(r, i + o), t.lineTo(r, u), t.arc(l, u, n, Math.PI, 0), t.lineTo(r + a, f), t.lineTo(r + a + (d - e) / 2, f), t.lineTo(l + e / 2, i + o), t.lineTo(r + a - (d - e) / 2 - e, f), t.lineTo(r + a - e, f), t.lineTo(r + a - e, u), t.arc(l, u, c, 0, Math.PI, !0), t.lineTo(r + e, i + o), t.closePath();
728
+ break;
729
+ }
730
+ case "bentarrow":
731
+ case "bentuparrow": {
732
+ let e = Math.min(a, o) * .25;
733
+ t.moveTo(r, f - e / 2), t.lineTo(r + a - e * 2, f - e / 2), t.lineTo(r + a - e * 2, i + e), t.lineTo(r + a, f), t.lineTo(r + a - e * 2, i + o - e), t.lineTo(r + a - e * 2, f + e / 2), t.lineTo(r, f + e / 2), t.closePath();
734
+ break;
735
+ }
736
+ case "plus": {
737
+ let e = Math.min(a, o) * (s ?? 25e3) / 1e5;
738
+ t.rect(d - e, i, 2 * e, o), t.rect(r, f - e, a, 2 * e);
739
+ break;
740
+ }
741
+ case "mathnotequal": {
742
+ let e = Math.min(5e4, Math.max(0, s ?? 23520)), n = Math.min(66e5, Math.max(42e5, c ?? 66e5)), r = Math.min(1e5 - 2 * e, Math.max(0, l ?? 11760)), u = o * e / 1e5, p = o * r / 2e5, m = a * 73490 / 2e5, h = o / 2, g = (n / 6e4 - 90) * Math.PI / 180, _ = h * Math.tan(g), v = Math.hypot(_, h) * u / h;
743
+ t.rect(d - m, f - p - u, 2 * m, u), t.rect(d - m, f + p, 2 * m, u), t.moveTo(d + _ - v / 2, i), t.lineTo(d + _ + v / 2, i), t.lineTo(d - _ + v / 2, i + o), t.lineTo(d - _ - v / 2, i + o), t.closePath();
744
+ break;
745
+ }
746
+ case "flowchartdelay": {
747
+ let e = o / 2;
748
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.arc(r + a - e, f, e, -Math.PI / 2, Math.PI / 2), t.lineTo(r, i + o), t.closePath();
749
+ break;
750
+ }
751
+ case "flowchartdisplay": {
752
+ let e = a * .2, n = a * .15;
753
+ t.moveTo(r + e, i), t.lineTo(r + a - n, i), t.arc(r + a - n, f, o / 2, -Math.PI / 2, Math.PI / 2), t.lineTo(r + e, i + o), t.lineTo(r, f), t.closePath();
754
+ break;
755
+ }
756
+ case "flowchartpunchedcard": {
757
+ let e = a * .2;
758
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
759
+ break;
760
+ }
761
+ case "flowchartoffpageconnector": {
762
+ let e = o * .3;
763
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(d, i + o), t.lineTo(r, i + o - e), t.closePath();
764
+ break;
765
+ }
766
+ case "flowchartonlinestorage":
767
+ case "flowchartmanuallabel":
768
+ case "flowchartpuncheddisk":
769
+ t.rect(r, i, a, o);
770
+ break;
771
+ case "horizontalscroll": {
772
+ let e = Math.min(a, o) * .15;
773
+ t.roundRect(r + e, i, a - e, o, e), t.moveTo(r + e, i + e * 2), t.arc(r + e, i + e, e, Math.PI / 2, Math.PI * 2.5);
774
+ break;
775
+ }
776
+ case "verticalscroll": {
777
+ let e = Math.min(a, o) * .15;
778
+ t.roundRect(r, i + e, a, o - e, e), t.moveTo(r + e * 2, i + e), t.arc(r + e, i + e, e, 0, Math.PI * 2);
779
+ break;
780
+ }
781
+ case "ribbon": {
782
+ let e = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * e / 2e5, x = o * e / 1e5, S = o - x, C = S / 2;
783
+ t.moveTo(r, i), t.lineTo(r + _, i), t.lineTo(r + p, i + b), t.lineTo(r + m, i + x), t.lineTo(r + v, i + b), t.lineTo(r + a, i), t.lineTo(r + y, i + C), t.lineTo(r + a, i + S), t.lineTo(r + f, i + S), t.lineTo(r + f, i + o), t.lineTo(r + p, i + o), t.lineTo(r + d, i + S), t.lineTo(r, i + S), t.lineTo(r + l, i + C), t.closePath();
784
+ break;
785
+ }
786
+ case "ribbon2": {
787
+ let e = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * e / 2e5, x = o * e / 1e5, S = o - b, C = o - x, w = x, T = (w + o) / 2;
788
+ t.moveTo(r, i + o), t.lineTo(r + _, i + o), t.lineTo(r + p, i + S), t.lineTo(r + m, i + C), t.lineTo(r + v, i + S), t.lineTo(r + a, i + o), t.lineTo(r + y, i + T), t.lineTo(r + a, i + w), t.lineTo(r + f, i + w), t.lineTo(r + f, i), t.lineTo(r + p, i), t.lineTo(r + d, i + w), t.lineTo(r, i + w), t.lineTo(r + l, i + T), t.closePath();
789
+ break;
790
+ }
791
+ case "ellipseribbon": {
792
+ let e = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, e - (1e5 - e) / 2), d = Math.min(e, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = b * (h - h * h / a), S = h / 2, C = b * S, w = a - S, T = o * e / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = y + E - O + y + E, A = o - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, I = a - P, L = k + A;
793
+ t.moveTo(r, i), t.quadraticCurveTo(r + S, i + C, r + h, i + x), t.lineTo(r + m, i + O), t.quadraticCurveTo(r + a / 2, i + k, r + _, i + O), t.lineTo(r + g, i + x), t.quadraticCurveTo(r + w, i + C, r + a, i), t.lineTo(r + v, i + j), t.lineTo(r + a, i + A), t.quadraticCurveTo(r + I, i + F, r + _, i + M), t.lineTo(r + _, i + N), t.quadraticCurveTo(r + a / 2, i + L, r + m, i + N), t.lineTo(r + m, i + M), t.quadraticCurveTo(r + P, i + F, r, i + A), t.lineTo(r + f, i + j), t.closePath();
794
+ break;
795
+ }
796
+ case "ellipseribbon2": {
797
+ let e = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, e - (1e5 - e) / 2), d = Math.min(e, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = o - b * (h - h * h / a), S = h / 2, C = o - b * S, w = a - S, T = o * e / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = o - O, A = y + E - O + y + E, j = o - A, M = o - T, N = o - (y * 14 / 16 + M) / 2, P = o - (D + M), F = o - (O + M), I = m / 2, L = o - (b * I + M), R = a - I, z = o - (A + M);
798
+ t.moveTo(r, i + o), t.quadraticCurveTo(r + S, i + C, r + h, i + x), t.lineTo(r + m, i + k), t.quadraticCurveTo(r + a / 2, i + j, r + _, i + k), t.lineTo(r + g, i + x), t.quadraticCurveTo(r + w, i + C, r + a, i + o), t.lineTo(r + v, i + N), t.lineTo(r + a, i + T), t.quadraticCurveTo(r + R, i + L, r + _, i + P), t.lineTo(r + _, i + F), t.quadraticCurveTo(r + a / 2, i + z, r + m, i + F), t.lineTo(r + m, i + P), t.quadraticCurveTo(r + I, i + L, r, i + T), t.lineTo(r + f, i + N), t.closePath();
799
+ break;
800
+ }
801
+ case "circulararrow": {
802
+ let e = (c ?? 0) / 6e4 * Math.PI / 180, n = (s ?? 162e5) / 6e4 * Math.PI / 180, r = (l ?? 5e4) / 1e5, i = Math.min(a, o) / 2, u = i * (1 - r), p = (i + u) / 2, m = i - u, h = e + n;
803
+ t.arc(d, f, i, e, h, !1), t.arc(d, f, u, h, e, !0), t.closePath();
804
+ let g = Math.sin(h), _ = -Math.cos(h), v = m * 1.5, y = d + p * Math.cos(h) + v * g, b = f + p * Math.sin(h) + v * _;
805
+ t.moveTo(y, b), t.lineTo(d + i * Math.cos(h), f + i * Math.sin(h)), t.lineTo(d + u * Math.cos(h), f + u * Math.sin(h)), t.closePath();
806
+ break;
807
+ }
808
+ case "curvedrightarrow": {
809
+ let e = Math.min(a, o), n = o / 2, u = 5e4 * o / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * a / (2 * m)) / e, _ = e * Math.min(g, Math.max(0, l ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, a * a - _ * _)) * m / a, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = o - p / 2, D = a - _, O = Math.atan2(_, v), k = -O, A = Math.PI - O;
810
+ t.moveTo(r, i + m), E(t, r, i + m, a, m, Math.PI, k), t.lineTo(r + D, i + C), t.lineTo(r + a, i + T), t.lineTo(r + D, i + w), t.lineTo(r + D, i + x), E(t, r + D, i + x, a, m, A, O), t.closePath();
811
+ break;
812
+ }
813
+ case "curvedleftarrow": {
814
+ let e = Math.min(a, o), n = o / 2, u = 5e4 * o / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, D = o - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = -j;
815
+ t.moveTo(r, i + D), t.lineTo(r + O, i + w), t.lineTo(r + O, i + x);
816
+ let F = E(t, r + O, i + x, a, m, k, M);
817
+ E(t, F.x, F.y, a, m, P, N), t.lineTo(r + O, i + T), t.closePath();
818
+ break;
819
+ }
820
+ case "curveduparrow": {
821
+ let e = Math.min(a, o), n = a / 2, u = 5e4 * a / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, D = a - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = Math.PI / 2 - k, F = Math.PI / 2 - j;
822
+ t.moveTo(r + D, i), t.lineTo(r + T, i + O), t.lineTo(r + S, i + O);
823
+ let I = E(t, r + S, i + O, m, o, P, N);
824
+ E(t, I.x, I.y, m, o, F, M), t.lineTo(r + w, i + O), t.closePath();
825
+ break;
826
+ }
827
+ case "curveddownarrow": {
828
+ let e = Math.min(a, o), n = a / 2, u = 5e4 * a / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, D = a - p / 2, O = o - v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = 3 * Math.PI / 2 + k;
829
+ 3 * Math.PI / 2 - j, j - Math.PI / 2, Math.PI / 2 - j, t.moveTo(r + D, i + o), t.lineTo(r + w, i + O), t.lineTo(r + x, i + O), E(t, r + x, i + O, m, o, M, -k), t.lineTo(r + b, i), E(t, r + b, i, m, o, 3 * Math.PI / 2, k), t.lineTo(r + T, i + O), t.closePath();
830
+ break;
831
+ }
832
+ case "stripedrightarrow": {
833
+ let e = Math.min(a, o), n = e / 32, l = e / 16, u = e / 8, d = e * (s ?? 5e4) / 1e5, p = a * (c ?? 5e4) / 1e5, m = f - d / 2, h = f + d / 2, g = r + a - p;
834
+ t.rect(r, m, n, d), t.rect(r + l, m, l, d), t.rect(r + u, m, u, d), t.moveTo(g, m), t.lineTo(g, i), t.lineTo(r + a, f), t.lineTo(g, i + o), t.lineTo(g, h), t.lineTo(r + u * 2, h), t.lineTo(r + u * 2, m), t.closePath();
835
+ break;
836
+ }
837
+ case "flowchartmagneticdisk": {
838
+ let e = o * .15;
839
+ t.moveTo(r, i + e), t.ellipse(d, i + e, a / 2, e, 0, Math.PI, 0), t.lineTo(r + a, i + o - e), t.ellipse(d, i + o - e, a / 2, e, 0, 0, Math.PI), t.lineTo(r, i + e), t.closePath(), t.moveTo(r + a, i + e), t.ellipse(d, i + e, a / 2, e, 0, 0, Math.PI);
840
+ break;
841
+ }
842
+ case "flowchartmagneticdrum": {
843
+ let e = a * .15;
844
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o), t.lineTo(r + e, i + o), t.ellipse(r + e, f, e, o / 2, 0, Math.PI / 2, -Math.PI / 2, !0), t.closePath(), t.moveTo(r + a, i), t.ellipse(r + a, f, e, o / 2, 0, -Math.PI / 2, Math.PI / 2);
845
+ break;
846
+ }
847
+ case "flowchartmagnetictape": {
848
+ let e = Math.min(a, o) / 2, n = d + e * .5;
849
+ t.moveTo(d, i + o), t.arc(d, f, e, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), t.lineTo(n, f + e * .5), t.lineTo(n, i + o), t.closePath();
850
+ break;
851
+ }
852
+ case "flowchartpunchedtape": {
853
+ let e = o * .12;
854
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath(), t.moveTo(r, i + e), t.bezierCurveTo(r + a * .25, i, r + a * .75, i + e * 2, r + a, i + e);
855
+ break;
856
+ }
857
+ case "flowchartmanualoperation": {
858
+ let e = a * .15;
859
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.closePath();
860
+ break;
861
+ }
862
+ case "flowchartmultidocument": {
863
+ let e = o * .1, n = a * .04;
864
+ t.rect(r + n * 2, i - o * .08, a - n * 2, o * .1), t.rect(r + n, i - o * .04, a - n, o * .06), t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath();
865
+ break;
866
+ }
867
+ case "rttriangle":
868
+ t.moveTo(r, i), t.lineTo(r, i + o), t.lineTo(r + a, i + o), t.closePath();
869
+ break;
870
+ default:
871
+ t.rect(r, i, a, o);
872
+ break;
873
+ }
874
+ }
875
+ //#endregion
876
+ //#region packages/core/src/shape/arrow.ts
877
+ function M(e, t, n) {
878
+ let r = Math.max(.5, t.width * n), i = e.w === "sm" ? 4 : e.w === "lg" ? 8 : 6, a = e.len === "sm" ? 4 : e.len === "lg" ? 8 : 6;
879
+ return {
880
+ lw: r,
881
+ halfW: r * i / 2,
882
+ len: r * a
883
+ };
884
+ }
885
+ var N = new Set([
886
+ "triangle",
887
+ "stealth",
888
+ "diamond",
889
+ "oval"
890
+ ]);
891
+ function P(e, t, n) {
892
+ return N.has(e.type) ? M(e, t, n).len : 0;
893
+ }
894
+ function F(e, t, n) {
895
+ if (e.type === "none") return 0;
896
+ let { lw: r, halfW: i, len: a } = M(e, t, n);
897
+ return Math.max(a, i) + r / 2;
898
+ }
899
+ function I(e, t, n) {
900
+ if (n <= 0) return {
901
+ x: e.x,
902
+ y: e.y
903
+ };
904
+ let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i);
905
+ if (a < 1e-9) return {
906
+ x: e.x,
907
+ y: e.y
908
+ };
909
+ let o = Math.min(n, a) / a;
910
+ return {
911
+ x: e.x + r * o,
912
+ y: e.y + i * o
913
+ };
914
+ }
915
+ function L(e, n, r, i, a, o, s, c) {
916
+ if (a.type === "none") return;
917
+ let { lw: l, halfW: u, len: d } = M(a, o, s), f = c ?? t(o.color);
918
+ switch (e.save(), e.translate(n, r), e.rotate(i), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = l, e.setLineDash([]), e.beginPath(), a.type) {
919
+ case "triangle":
920
+ case "stealth":
921
+ e.moveTo(0, 0), e.lineTo(-d, -u), e.lineTo(-d, u), e.closePath(), e.fill();
922
+ break;
923
+ case "arrow":
924
+ e.lineCap = "round", e.lineJoin = "round", e.moveTo(-d, -u), e.lineTo(0, 0), e.lineTo(-d, u), e.stroke();
925
+ break;
926
+ case "diamond":
927
+ e.moveTo(0, 0), e.lineTo(-d / 2, -u), e.lineTo(-d, 0), e.lineTo(-d / 2, u), e.closePath(), e.fill();
928
+ break;
929
+ case "oval":
930
+ e.ellipse(-d / 2, 0, d / 2, u, 0, 0, Math.PI * 2), e.fill();
931
+ break;
932
+ }
933
+ e.restore();
934
+ }
935
+ //#endregion
936
+ //#region packages/core/src/text/line-distribute.ts
937
+ var R = (e) => e === 32 || e === 12288;
938
+ function z(e, t, a = {}) {
939
+ if (Math.abs(t) <= .5) return null;
940
+ let o = a.firstContentSi ?? 0, s = a.lastDrawnSi ?? e.length - 1, c = a.minPerGap ?? -Infinity, l = a.isGapChar ?? r, u = a.isWhitespace ?? R, d = a.seaClusterGaps ?? !1, f = [];
941
+ for (let t = o; t < e.length; t++) {
942
+ let n = e[t];
943
+ if (n === void 0) continue;
944
+ if (n.text === void 0) {
945
+ f.push({
946
+ si: t,
947
+ off: 0,
948
+ ws: !1
949
+ });
950
+ continue;
951
+ }
952
+ let r = 0;
953
+ for (let e of n.text) {
954
+ let n = e.codePointAt(0);
955
+ f.push({
956
+ si: t,
957
+ off: r,
958
+ cp: n,
959
+ ws: u(n)
960
+ }), r++;
961
+ }
962
+ }
963
+ let p = -1, m = -1;
964
+ for (let e = 0; e < f.length; e++) f[e].ws || (p === -1 && (p = e), m = e);
965
+ if (p === -1 || p === m) return null;
966
+ let h = Array(f.length).fill(!1), g = 0;
967
+ for (let e = p; e < m; e++) {
968
+ let t = f[e];
969
+ if (t.si === s) continue;
970
+ if (t.ws) {
971
+ h[e] = !0, g++;
972
+ continue;
973
+ }
974
+ let r = f[e + 1];
975
+ if (r.ws) continue;
976
+ let a = t.cp, o = r.cp;
977
+ (a !== void 0 && l(a) || o !== void 0 && l(o) || d && a !== void 0 && o !== void 0 && i(a) && i(o) && !n(o)) && (h[e] = !0, g++);
978
+ }
979
+ if (g === 0) return null;
980
+ let _ = t / g;
981
+ t < 0 && _ < c && (_ = c);
982
+ let v = /* @__PURE__ */ new Map();
983
+ for (let e of f) e.cp !== void 0 && v.set(e.si, (v.get(e.si) ?? 0) + 1);
984
+ let y = /* @__PURE__ */ new Map();
985
+ for (let e = 0; e < f.length; e++) {
986
+ if (!h[e]) continue;
987
+ let t = f[e], n = y.get(t.si);
988
+ n || (n = {
989
+ splitBefore: [],
990
+ trailingGap: !1,
991
+ internalStretch: 0
992
+ }, y.set(t.si, n));
993
+ let r = v.get(t.si) ?? 0;
994
+ t.cp === void 0 || t.off === r - 1 ? n.trailingGap = !0 : (n.splitBefore.push(t.off + 1), n.internalStretch += _);
995
+ }
996
+ return {
997
+ perGap: _,
998
+ perSeg: y
999
+ };
1000
+ }
1001
+ //#endregion
1002
+ export { I as a, m as c, u as d, f, P as i, p as l, L as n, j as o, F as r, C as s, z as t, d as u };