@silurus/ooxml 0.85.1 → 0.85.2

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