@epam/ai-dial-attachment-canvas 1.2.0-dev.2 → 1.2.0-dev.6

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 (41) hide show
  1. package/{LazyContentBoundary-CL7J_W9c.js → LazyContentBoundary-CRXN6PG3.js} +1 -1
  2. package/{PdfContent-DhfjgYL-.js → PdfContent-D71LPAe3.js} +1 -1
  3. package/{attachment-canvas-Bp6WeQws.js → attachment-canvas-nvhW3tKV.js} +3 -1
  4. package/{bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js → bounded-raw-part-cache-Cg1BsSZQ-DN8p45IK.js} +1111 -1043
  5. package/{chart-ex-B0DgG3Dt.js → chart-ex-DsESBs97.js} +1 -1
  6. package/{comment-occurrence-CqejEuts-7SeKCBXk.js → comment-occurrence-C8Y2uoVr-C1cxz2TU.js} +1 -1
  7. package/{comment-ui-runtime-lXwVOgjW-Be4RALsI.js → comment-ui-runtime-BfE7MJZn-DhQ_eg15.js} +29 -29
  8. package/comment-ui-runtime-BsK8pmUT-EgWiymew.js +2 -0
  9. package/{comment-ui-runtime-DEtgcmj7-B1G7PH4z.js → comment-ui-runtime-DcJOYlw--B15auUq-.js} +52 -52
  10. package/{comments-CAn2A_Xh-CdgNAj0h.js → comments-Diid5ujN-BdQhRNjI.js} +2 -2
  11. package/components/OoxmlContent/OoxmlContent.d.ts.map +1 -1
  12. package/{delimited-text-worker-host-DcHj_JZt-DWJmaPag.js → delimited-text-worker-host-BVY-Ecni-AimUmSn0.js} +1 -1
  13. package/{docx-B9qBTEkj.js → docx-B-VcIRoc.js} +4628 -4580
  14. package/index.js +564 -564
  15. package/line-distribute-Dtudnqhs--BYZNgzX.js +1237 -0
  16. package/{line-metrics-CBbw80Ko-DoOuwYxZ.js → line-metrics-B60C86uh-DfQUk7X1.js} +1 -1
  17. package/ooxml-highlight-surfaces-CaMjx8u-.js +351 -0
  18. package/package.json +4 -4
  19. package/{pptx-dkJw0-Vx.js → pptx-CnoDB8Fv.js} +955 -923
  20. package/{read-only-comment-decoration-BTnWEeo5-BNhbteYc.js → read-only-comment-decoration-Dz7eTQ4d-Cl3RKKH6.js} +1 -1
  21. package/{read-only-comment-margin-plStyGfE-mggNAMB_.js → read-only-comment-margin-DkgzASAl-BbDxMI5E.js} +1 -1
  22. package/render-worker-host-BfbnEChF-D2thMRGX.js +7 -0
  23. package/render-worker-host-DNL9dWRh-Bky38ZHE.js +7 -0
  24. package/render-worker-host-IkHrYOci-DbjyHK7U.js +7 -0
  25. package/{renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js → renderer-module-contract-D91rkYHH-BtfSKxb4.js} +1 -1
  26. package/test-setup.d.ts +10 -1
  27. package/test-setup.d.ts.map +1 -1
  28. package/types/attachment-canvas.d.ts +17 -0
  29. package/types/attachment-canvas.d.ts.map +1 -1
  30. package/utils/ooxml-highlight-geometry.d.ts +87 -3
  31. package/utils/ooxml-highlight-geometry.d.ts.map +1 -1
  32. package/utils/ooxml-highlight-surfaces.d.ts +33 -6
  33. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -1
  34. package/{visible-index-DPoQYSDt-9lRc-2Ik.js → visible-index-BgiHEc1z-BOzE9X5U.js} +7 -7
  35. package/{xlsx-BAXMTJTG.js → xlsx-Dn0XSlTO.js} +1581 -1556
  36. package/comment-ui-runtime-TLHustXJ-DWCXG2mL.js +0 -2
  37. package/line-distribute-IsUGfHXm-DeITjLzJ.js +0 -1234
  38. package/ooxml-highlight-surfaces-DhK1KJcR.js +0 -294
  39. package/render-worker-host-BEfLZvSL-COy91Rd8.js +0 -7
  40. package/render-worker-host-Ba6Fchqr-DZeKpMWD.js +0 -7
  41. package/render-worker-host-C3xwtHnv-BBGHFdo9.js +0 -7
@@ -1,1234 +0,0 @@
1
- import { bt as e } from "./renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js";
2
- import { $t as t, L as n, Nt as r, S as i, f as a, kn as o, nt as s, p as c, u as l } from "./bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js";
3
- //#region ../../node_modules/@silurus/ooxml/dist/highlight-rect-FuUSmL3a.js
4
- function u(e, t, n, r) {
5
- let i = t <= 0 ? 0 : r(e.slice(0, t)), a = n >= e.length ? r(e) : r(e.slice(0, n));
6
- return {
7
- x: i,
8
- width: Math.max(0, a - i)
9
- };
10
- }
11
- function d(e, t) {
12
- return t > 0 ? `${e / t * 100}%` : "0%";
13
- }
14
- //#endregion
15
- //#region ../../node_modules/@silurus/ooxml/dist/dom-interaction-boundary-CswB9Tzi.js
16
- function f(e, t = o) {
17
- return e.byteLength > 0 && e.byteLength <= t;
18
- }
19
- function p(e, t) {
20
- let n = m(t), r = e.slice(), i = Math.min(32, r.length);
21
- for (let e = 0; e < i; e++) r[e] ^= n[e % 16];
22
- return r;
23
- }
24
- function m(e) {
25
- let t = e.replace(/[{}\-\s]/g, "");
26
- if (t.length !== 32 || /[^0-9a-fA-F]/.test(t)) throw Error(`invalid fontKey GUID: ${e}`);
27
- let n = new Uint8Array(16);
28
- for (let e = 0; e < 16; e++) n[e] = parseInt(t.slice(e * 2, e * 2 + 2), 16);
29
- return n.reverse();
30
- }
31
- function h(e, t, n, r) {
32
- let i = 2166136261;
33
- for (let e = 0; e < r.length; e++) i ^= r[e], i = Math.imul(i, 16777619);
34
- return `${e}|${t}|${n}|${r.length}|${(i >>> 0).toString(16)}`;
35
- }
36
- async function g(e, t = o) {
37
- let n = a();
38
- if (!n || typeof FontFace > "u") return [];
39
- let r = [], s = /* @__PURE__ */ new Set(), u = [];
40
- for (let a of e) try {
41
- if (!f(a.bytes, t)) {
42
- u.push(a.family);
43
- continue;
44
- }
45
- let e = a.odttf ? p(a.bytes, a.fontKey ?? "") : a.bytes, o = `embedded:${h(a.family, a.weight, a.style, e)}`;
46
- if (s.has(o)) continue;
47
- s.add(o);
48
- let { face: c } = i(o, n, () => {
49
- let t = e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength), r = new FontFace(a.family, t, {
50
- weight: a.weight,
51
- style: a.style
52
- });
53
- return n.add(r), r;
54
- });
55
- r.push(c);
56
- } catch {
57
- u.push(a.family);
58
- }
59
- let d = r;
60
- if (r.length > 0) {
61
- let e = await c(Promise.allSettled(r.map((e) => Promise.resolve().then(() => e.load()))));
62
- Array.isArray(e) ? (d = [], e.forEach((e, t) => {
63
- let n = r[t];
64
- e.status === "fulfilled" ? d.push(n) : (u.push(n.family), l([n]));
65
- }), await c(n.ready)) : (u.push(...r.map((e) => e.family)), l(r), d = []);
66
- }
67
- return u.length > 0 && console.warn(`[ooxml] failed to register embedded font(s): ${[...new Set(u)].join(", ")}; falling back to substitute fonts (text may shift or differ).`), d;
68
- }
69
- function _(e) {
70
- l(e);
71
- }
72
- function v(e, t, n) {
73
- return e < t ? t : e > n ? n : e;
74
- }
75
- function y(e, t, n) {
76
- let r = e.length;
77
- if (r === 0) return {
78
- offsets: [],
79
- totalHeight: 0
80
- };
81
- let i = n?.leading ?? 0, a = n?.trailing ?? 0, o = Array(r), s = 0;
82
- for (let n = 0; n < r; n++) o[n] = i + s + n * t, s += e[n];
83
- return {
84
- offsets: o,
85
- totalHeight: i + s + (r - 1) * t + a
86
- };
87
- }
88
- function b(e, t, n, r) {
89
- let i = e.offsets, a = i.length;
90
- if (a === 0) return {
91
- start: 0,
92
- end: -1,
93
- topIndex: 0,
94
- offsets: i,
95
- totalHeight: 0
96
- };
97
- let o = 0, s = a;
98
- for (; o < s;) {
99
- let e = o + s >>> 1;
100
- i[e] <= t ? o = e + 1 : s = e;
101
- }
102
- let c = v(o - 1, 0, a - 1), l = t + n;
103
- for (o = 0, s = a; o < s;) {
104
- let e = o + s >>> 1;
105
- i[e] < l ? o = e + 1 : s = e;
106
- }
107
- let u = v(o - 1, 0, a - 1);
108
- return {
109
- start: v(c - r, 0, a - 1),
110
- end: v(u + r, 0, a - 1),
111
- topIndex: c,
112
- offsets: i,
113
- totalHeight: e.totalHeight
114
- };
115
- }
116
- function x(e, t, n, r, i, a, o) {
117
- if (e === 0) return {
118
- start: 0,
119
- end: -1,
120
- topIndex: 0,
121
- totalHeight: 0
122
- };
123
- let s = o?.leading ?? 0, c = o?.trailing ?? 0, l = t + n, u = v(r < s ? 0 : l > 0 ? Math.floor((r - s) / l) : e - 1, 0, e - 1), d = r + i, f = v(d <= s ? 0 : l > 0 ? Math.ceil((d - s) / l) - 1 : e - 1, 0, e - 1);
124
- return {
125
- start: v(u - a, 0, e - 1),
126
- end: v(f + a, 0, e - 1),
127
- topIndex: u,
128
- totalHeight: s + e * t + (e - 1) * n + c
129
- };
130
- }
131
- var S = class {
132
- state = Object.freeze({ status: "complete" });
133
- get complete() {
134
- return this.state.status === "complete";
135
- }
136
- get settled() {
137
- return this.state.status !== "pending";
138
- }
139
- begin() {
140
- this.state = Object.freeze({ status: "pending" });
141
- }
142
- succeed() {
143
- this.state = Object.freeze({ status: "complete" });
144
- }
145
- fail(e) {
146
- let t = e instanceof Error ? e : Error(String(e));
147
- return this.state = Object.freeze({
148
- status: "failed",
149
- error: t
150
- }), t;
151
- }
152
- throwIfFailed() {
153
- if (this.state.status === "failed") throw this.state.error;
154
- }
155
- }, C = class {
156
- failed = /* @__PURE__ */ new WeakMap();
157
- notify(e, t, ...n) {
158
- if (!(!t || this.failed.get(t)?.has(e))) try {
159
- let r = t(...n);
160
- r && typeof r.then == "function" && Promise.resolve(r).catch((n) => this.reportOnce(e, t, n));
161
- } catch (n) {
162
- this.reportOnce(e, t, n);
163
- }
164
- }
165
- reportOnce(e, t, n) {
166
- let r = this.failed.get(t) ?? /* @__PURE__ */ new Set();
167
- if (r.has(e)) return;
168
- r.add(e), this.failed.has(t) || this.failed.set(t, r);
169
- let i = n instanceof Error ? n : Error(String(n));
170
- console.error(`[ooxml] ${e} callback failed and was disabled:`, i);
171
- }
172
- }, w = 65536;
173
- function T(e, t) {
174
- let n = Math.min(e.length, t);
175
- if (n > 0 && n < e.length) {
176
- let t = e.charCodeAt(n - 1), r = e.charCodeAt(n);
177
- t >= 55296 && t <= 56319 && r >= 56320 && r <= 57343 && n--;
178
- }
179
- return e.slice(0, n);
180
- }
181
- function E(e) {
182
- if (e !== void 0 && (!Number.isFinite(e) || e < 0)) throw RangeError("maxTextCharacters must be a finite non-negative number.");
183
- return Math.min(w, Math.floor(e ?? 65536));
184
- }
185
- function D(e, t, n) {
186
- let r = E(n), i = 0, a = !1, o = (e) => {
187
- let t = T(e.text, Math.max(0, r - i));
188
- return i += t.length, t.length < e.text.length && (a = !0), {
189
- ...e,
190
- text: t
191
- };
192
- }, s = Object.freeze({
193
- root: Object.freeze(o(e)),
194
- replies: Object.freeze(t.map((e) => Object.freeze(o(e))))
195
- });
196
- return Object.freeze({
197
- thread: s,
198
- truncated: a,
199
- textCharacters: i,
200
- maxTextCharacters: r
201
- });
202
- }
203
- function O(e, t) {
204
- return e.dataset?.[t] !== void 0;
205
- }
206
- function k(e, t, n) {
207
- let r = typeof e.composedPath == "function" ? e.composedPath() : [];
208
- if (r.length > 0) {
209
- let e = !1;
210
- for (let i of r) {
211
- if (i === t) return e;
212
- O(i, n) && (e = !0);
213
- }
214
- }
215
- let i = e.target;
216
- if (!i || !t.contains(i)) return !1;
217
- let a = i;
218
- for (; a;) {
219
- if (O(a, n)) return !0;
220
- if (a === t) break;
221
- a = a.parentElement;
222
- }
223
- return !1;
224
- }
225
- //#endregion
226
- //#region ../../node_modules/@silurus/ooxml/dist/line-distribute-IsUGfHXm.js
227
- var A = {
228
- 167: "♣",
229
- 168: "♦",
230
- 169: "♥",
231
- 170: "♠",
232
- 171: "↔",
233
- 172: "←",
234
- 173: "↑",
235
- 174: "→",
236
- 175: "↓",
237
- 183: "•",
238
- 184: "÷",
239
- 185: "≠",
240
- 180: "×",
241
- 176: "°",
242
- 177: "±",
243
- 163: "≤",
244
- 179: "≥"
245
- }, j = {
246
- 33: "✏",
247
- 34: "✂",
248
- 36: "👓",
249
- 74: "☺",
250
- 75: "😐",
251
- 76: "☹",
252
- 118: "❖",
253
- 167: "▪",
254
- 108: "●",
255
- 110: "■",
256
- 116: "◆",
257
- 119: "◆",
258
- 251: "✗",
259
- 252: "✓",
260
- 253: "☒",
261
- 254: "☑",
262
- 223: "←",
263
- 224: "→",
264
- 225: "↑",
265
- 226: "↓",
266
- 227: "↖",
267
- 228: "↗",
268
- 229: "↙",
269
- 230: "↘"
270
- };
271
- function M(e) {
272
- let t = {};
273
- for (let n of Object.keys(e)) {
274
- let r = Number(n);
275
- t[r] = e[r], t[61440 + r] = e[r];
276
- }
277
- return t;
278
- }
279
- var N = M(A), P = M(j);
280
- function F(e, t) {
281
- if (!t) return e;
282
- let n = t.trim().toLowerCase(), r = n === "wingdings" ? P : n === "symbol" ? N : null;
283
- return r ? r[e.charCodeAt(0)] ?? e : e;
284
- }
285
- function I(e) {
286
- if (!e) return !1;
287
- let t = e.toLowerCase();
288
- return t === "symbol" || t.includes("wingdings");
289
- }
290
- function L(e, t) {
291
- if (!I(t) || e.length === 0) return [{
292
- text: e,
293
- mapped: !1
294
- }];
295
- let n = [], r = "", i = null;
296
- for (let a of e) {
297
- let e = F(a, t), o = e !== a;
298
- i === null || o === i ? (i = o, r += e) : (n.push({
299
- text: r,
300
- mapped: i
301
- }), i = o, r = e);
302
- }
303
- return r.length > 0 && n.push({
304
- text: r,
305
- mapped: i ?? !1
306
- }), n;
307
- }
308
- function R(e, t, n, r, i) {
309
- let a = Infinity, o = Infinity, s = -Infinity, c = -Infinity, l = (e, t) => {
310
- !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));
311
- };
312
- for (let a of e) {
313
- let e = 0, o = 0;
314
- for (let s of a) switch (s.cmd) {
315
- case "moveTo":
316
- case "lineTo":
317
- e = s.x, o = s.y, l(t + e * r, n + o * i);
318
- break;
319
- case "cubicBezTo":
320
- 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);
321
- break;
322
- case "quadBezTo":
323
- l(t + s.x1 * r, n + s.y1 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
324
- break;
325
- case "arcTo": {
326
- let a = Math.abs(s.wr * r), c = Math.abs(s.hr * i);
327
- if (a <= 0 || c <= 0) break;
328
- 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);
329
- l(m - a, h - c), l(m + a, h + c);
330
- let g = u + d;
331
- e = (m + a * Math.cos(g) - t) / r, o = (h + c * Math.sin(g) - n) / i;
332
- break;
333
- }
334
- case "close": break;
335
- }
336
- }
337
- return Number.isFinite(a) ? {
338
- x: a,
339
- y: o,
340
- w: s - a,
341
- h: c - o
342
- } : null;
343
- }
344
- function z(e, t, n, r, i, a) {
345
- for (let o of t) {
346
- let t = 0, s = 0;
347
- for (let c of o) switch (c.cmd) {
348
- case "moveTo":
349
- e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
350
- break;
351
- case "lineTo":
352
- e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
353
- break;
354
- case "cubicBezTo":
355
- 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;
356
- break;
357
- case "quadBezTo":
358
- e.quadraticCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
359
- break;
360
- case "arcTo": {
361
- let o = c.wr * i, l = c.hr * a;
362
- if (o <= 0 || l <= 0) break;
363
- 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;
364
- 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;
365
- break;
366
- }
367
- case "close":
368
- e.closePath();
369
- break;
370
- }
371
- }
372
- }
373
- var B = 1e-9;
374
- function V(e) {
375
- return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "quadBezTo" || e.cmd === "arcTo";
376
- }
377
- function H(e, t, n, r) {
378
- let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
379
- return {
380
- x: e,
381
- y: t,
382
- dx: i,
383
- dy: a,
384
- angle: Math.atan2(a, i)
385
- };
386
- }
387
- function U(e, t, n) {
388
- switch (n.cmd) {
389
- case "lineTo": return {
390
- dx: n.x - e,
391
- dy: n.y - t
392
- };
393
- case "cubicBezTo": {
394
- let r = n.x1 - e, i = n.y1 - t;
395
- return Math.abs(r) < B && Math.abs(i) < B && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < B && Math.abs(i) < B && (r = n.x - e, i = n.y - t), {
396
- dx: r,
397
- dy: i
398
- };
399
- }
400
- case "quadBezTo": {
401
- let r = n.x1 - e, i = n.y1 - t;
402
- return Math.abs(r) < B && Math.abs(i) < B && (r = n.x - e, i = n.y - t), {
403
- dx: r,
404
- dy: i
405
- };
406
- }
407
- case "arcTo": {
408
- let e = n.stAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
409
- return {
410
- dx: -n.wr * Math.sin(e) * t,
411
- dy: n.hr * Math.cos(e) * t
412
- };
413
- }
414
- default: return {
415
- dx: 0,
416
- dy: 0
417
- };
418
- }
419
- }
420
- function W(e, t, n) {
421
- switch (n.cmd) {
422
- case "moveTo":
423
- case "lineTo":
424
- case "cubicBezTo":
425
- case "quadBezTo": return {
426
- x: n.x,
427
- y: n.y
428
- };
429
- case "arcTo": {
430
- if (n.wr <= 0 || n.hr <= 0) return {
431
- x: e,
432
- y: t
433
- };
434
- 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);
435
- return {
436
- x: a + n.wr * Math.cos(i),
437
- y: o + n.hr * Math.sin(i)
438
- };
439
- }
440
- default: return {
441
- x: e,
442
- y: t
443
- };
444
- }
445
- }
446
- function G(e, t, n) {
447
- let { x: r, y: i } = W(e, t, n);
448
- switch (n.cmd) {
449
- case "lineTo": return {
450
- dx: n.x - e,
451
- dy: n.y - t,
452
- x: r,
453
- y: i
454
- };
455
- case "cubicBezTo": {
456
- let a = n.x - n.x2, o = n.y - n.y2;
457
- return Math.abs(a) < B && Math.abs(o) < B && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < B && Math.abs(o) < B && (a = n.x - e, o = n.y - t), {
458
- dx: a,
459
- dy: o,
460
- x: r,
461
- y: i
462
- };
463
- }
464
- case "quadBezTo": {
465
- let a = n.x - n.x1, o = n.y - n.y1;
466
- return Math.abs(a) < B && Math.abs(o) < B && (a = n.x - e, o = n.y - t), {
467
- dx: a,
468
- dy: o,
469
- x: r,
470
- y: i
471
- };
472
- }
473
- case "arcTo": {
474
- if (n.wr <= 0 || n.hr <= 0) return {
475
- dx: 0,
476
- dy: 0,
477
- x: r,
478
- y: i
479
- };
480
- let e = n.stAng * Math.PI / 180 + n.swAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
481
- return {
482
- dx: -n.wr * Math.sin(e) * t,
483
- dy: n.hr * Math.cos(e) * t,
484
- x: r,
485
- y: i
486
- };
487
- }
488
- default: return {
489
- dx: 0,
490
- dy: 0,
491
- x: r,
492
- y: i
493
- };
494
- }
495
- }
496
- function K(e) {
497
- let t = 0, n = 0, r = !1;
498
- for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = W(t, n, i);
499
- return r ? {
500
- x: t,
501
- y: n
502
- } : null;
503
- }
504
- function q(e) {
505
- if (e.some((e) => e.cmd === "close")) return !0;
506
- let t = e.find((e) => e.cmd === "moveTo");
507
- if (!t) return !1;
508
- let n = K(e);
509
- return !n || !e.some(V) ? !1 : Math.abs(n.x - t.x) < B && Math.abs(n.y - t.y) < B;
510
- }
511
- function J(e) {
512
- let t = {
513
- start: null,
514
- end: null
515
- };
516
- if (!e || e.length === 0) return t;
517
- let n = e[0];
518
- if (n && n.length > 0 && !q(n)) {
519
- let e = n.find((e) => e.cmd === "moveTo"), r = n.find(V);
520
- if (e && r) {
521
- let n = U(e.x, e.y, r);
522
- (Math.abs(n.dx) > B || Math.abs(n.dy) > B) && (t.start = H(e.x, e.y, -n.dx, -n.dy));
523
- }
524
- }
525
- let r = e[e.length - 1];
526
- if (r && r.length > 0 && !q(r)) {
527
- let e = 0, n = 0, i = -1;
528
- for (let e = 0; e < r.length; e++) V(r[e]) && (i = e);
529
- if (i >= 0) {
530
- for (let t = 0; t < i; t++) ({x: e, y: n} = W(e, n, r[t]));
531
- let a = G(e, n, r[i]);
532
- (Math.abs(a.dx) > B || Math.abs(a.dy) > B) && (t.end = H(a.x, a.y, a.dx, a.dy));
533
- }
534
- }
535
- return t;
536
- }
537
- function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
538
- let c = a * 2;
539
- for (let l = 0; l < c; l++) {
540
- 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);
541
- l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
542
- }
543
- e.closePath();
544
- }
545
- function X(e, t, n, r, i, a, o = -Math.PI / 2) {
546
- for (let s = 0; s < a; s++) {
547
- let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
548
- s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
549
- }
550
- e.closePath();
551
- }
552
- function Z(e, t, n, r, i, a, o) {
553
- 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);
554
- return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
555
- x: u + r * Math.cos(l),
556
- y: d + i * Math.sin(l)
557
- };
558
- }
559
- var ee = {
560
- oval: "ellipse",
561
- rtriangle: "rttriangle",
562
- roundrectangle: "roundrect",
563
- flowchartsumingjunction: "flowchartsummingjunction"
564
- }, te = 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(".")), ne = new Set([
565
- "accentcallout1",
566
- "accentbordercallout1",
567
- "flowchartpredefinedprocess",
568
- "flowchartsort",
569
- "flowchartinternalstorage",
570
- "flowchartsummingjunction"
571
- ]), re = new Set([
572
- "round2samerect",
573
- "round2diagrect",
574
- "dodecagon",
575
- "star10"
576
- ]);
577
- function ie(e, t, n, r, i, a, o = null, c = null, l = null, u = null) {
578
- let d = n + i / 2, f = r + a / 2;
579
- {
580
- let d = t.toLowerCase(), f = ee[d] ?? d;
581
- if ((te.has(f) || ne.has(f) || re.has(f)) && s(e, f, n, r, i, a, [
582
- o,
583
- c,
584
- l,
585
- u
586
- ])) return;
587
- }
588
- switch (t.toLowerCase()) {
589
- case "parallelogram": {
590
- let t = i * Math.min(.5, (o ?? 25e3) / 1e5);
591
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
592
- break;
593
- }
594
- case "pentagon":
595
- X(e, d, f, i / 2, a / 2, 5);
596
- break;
597
- case "hexagon":
598
- X(e, d, f, i / 2, a / 2, 6, 0);
599
- break;
600
- case "heptagon":
601
- X(e, d, f, i / 2, a / 2, 7);
602
- break;
603
- case "octagon":
604
- X(e, d, f, i / 2, a / 2, 8, -Math.PI / 8);
605
- break;
606
- case "decagon":
607
- X(e, d, f, i / 2, a / 2, 10);
608
- break;
609
- case "star5":
610
- case "star":
611
- Y(e, d, f, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
612
- break;
613
- case "star6":
614
- Y(e, d, f, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
615
- break;
616
- case "star7":
617
- Y(e, d, f, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
618
- break;
619
- case "rightarrow": {
620
- let t = a * Math.min(1, (o ?? 5e4) / 1e5), s = i * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
621
- e.moveTo(n, l), e.lineTo(n + i - s, l), e.lineTo(n + i - s, r), e.lineTo(n + i, f), e.lineTo(n + i - s, r + a), e.lineTo(n + i - s, l + t), e.lineTo(n, l + t), e.closePath();
622
- break;
623
- }
624
- case "leftarrow": {
625
- let t = a * Math.min(1, (o ?? 5e4) / 1e5), s = i * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
626
- e.moveTo(n + i, l), e.lineTo(n + s, l), e.lineTo(n + s, r), e.lineTo(n, f), e.lineTo(n + s, r + a), e.lineTo(n + s, l + t), e.lineTo(n + i, l + t), e.closePath();
627
- break;
628
- }
629
- case "uparrow": {
630
- let t = i * Math.min(1, (o ?? 5e4) / 1e5), s = a * Math.min(1, (c ?? 5e4) / 1e5), l = n + (i - t) / 2;
631
- e.moveTo(d, r), e.lineTo(n + i, r + s), e.lineTo(l + t, r + s), e.lineTo(l + t, r + a), e.lineTo(l, r + a), e.lineTo(l, r + s), e.lineTo(n, r + s), e.closePath();
632
- break;
633
- }
634
- case "downarrow": {
635
- let t = i * Math.min(1, (o ?? 5e4) / 1e5), s = a * Math.min(1, (c ?? 5e4) / 1e5), l = n + (i - t) / 2;
636
- e.moveTo(d, r + a), e.lineTo(n + i, r + a - s), e.lineTo(l + t, r + a - s), e.lineTo(l + t, r), e.lineTo(l, r), e.lineTo(l, r + a - s), e.lineTo(n, r + a - s), e.closePath();
637
- break;
638
- }
639
- case "leftrightarrow": {
640
- let t = a * Math.min(1, (o ?? 5e4) / 1e5), s = i * Math.min(.5, (c ?? 25e3) / 1e5), l = r + (a - t) / 2;
641
- e.moveTo(n, f), e.lineTo(n + s, r), e.lineTo(n + s, l), e.lineTo(n + i - s, l), e.lineTo(n + i - s, r), e.lineTo(n + i, f), e.lineTo(n + i - s, r + a), e.lineTo(n + i - s, l + t), e.lineTo(n + s, l + t), e.lineTo(n + s, r + a), e.closePath();
642
- break;
643
- }
644
- case "updownarrow": {
645
- let t = i * Math.min(1, (o ?? 5e4) / 1e5), s = a * Math.min(.5, (c ?? 25e3) / 1e5), l = n + (i - t) / 2;
646
- e.moveTo(d, r), e.lineTo(n + i, r + s), e.lineTo(l + t, r + s), e.lineTo(l + t, r + a - s), e.lineTo(n + i, r + a - s), e.lineTo(d, r + a), e.lineTo(n, r + a - s), e.lineTo(l, r + a - s), e.lineTo(l, r + s), e.lineTo(n, r + s), e.closePath();
647
- break;
648
- }
649
- case "notchedrightarrow": {
650
- let t = a * Math.min(1, (o ?? 5e4) / 1e5), s = i * Math.min(1, (c ?? 35e3) / 1e5), l = r + (a - t) / 2, u = s * .43;
651
- e.moveTo(n, l), e.lineTo(n + i - s, l), e.lineTo(n + i - s, r), e.lineTo(n + i, f), e.lineTo(n + i - s, r + a), e.lineTo(n + i - s, l + t), e.lineTo(n, l + t), e.lineTo(n + u, f), e.closePath();
652
- break;
653
- }
654
- case "chevron": {
655
- let t = i * Math.min(1, Math.max(0, (o ?? 5e4) / 1e5));
656
- e.moveTo(n, r), e.lineTo(n + t, r), e.lineTo(n + i, f), e.lineTo(n + t, r + a), e.lineTo(n, r + a), t > 0 && e.lineTo(n + t, f), e.closePath();
657
- break;
658
- }
659
- case "homeplate": {
660
- let t = a * .4;
661
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.lineTo(d, r + a), e.lineTo(n, r + a - t), e.closePath();
662
- break;
663
- }
664
- case "leftbracket": {
665
- let t = Math.min(a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5, a / 2);
666
- e.moveTo(n + i, r), e.quadraticCurveTo(n, r, n, r + t), a - 2 * t > .5 && e.lineTo(n, r + a - t), e.quadraticCurveTo(n, r + a, n + i, r + a);
667
- break;
668
- }
669
- case "rightbracket": {
670
- let t = Math.min(a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5, a / 2);
671
- e.moveTo(n, r), e.quadraticCurveTo(n + i, r, n + i, r + t), a - 2 * t > .5 && e.lineTo(n + i, r + a - t), e.quadraticCurveTo(n + i, r + a, n, r + a);
672
- break;
673
- }
674
- case "leftbrace": {
675
- let t = f, o = i * .45;
676
- e.moveTo(n + i, r), e.bezierCurveTo(n + i - o, r, n + i - o, t - a * .08, n, t), e.bezierCurveTo(n + i - o, t + a * .08, n + i - o, r + a, n + i, r + a);
677
- break;
678
- }
679
- case "rightbrace": {
680
- let t = f, o = i * .45;
681
- e.moveTo(n, r), e.bezierCurveTo(n + o, r, n + o, t - a * .08, n + i, t), e.bezierCurveTo(n + o, t + a * .08, n + o, r + a, n, r + a);
682
- break;
683
- }
684
- case "wedgerectcallout": {
685
- e.rect(n, r, i, a * .8);
686
- let t = n + i * .2, o = r + a;
687
- e.moveTo(n + i * .1, r + a * .8), e.lineTo(t, o), e.lineTo(n + i * .3, r + a * .8), e.closePath();
688
- break;
689
- }
690
- case "wedgeellipsecallout": {
691
- let t = (o ?? -2e4) / 1e5 * i, n = (c ?? 12e4) / 1e5 * a, r = d + t, s = f + n;
692
- e.ellipse(d, f, i / 2, a / 2, 0, 0, Math.PI * 2);
693
- let l = Math.atan2(n, t), u = Math.PI / 10, p = i / 2, m = a / 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);
694
- e.moveTo(h, g), e.lineTo(r, s), e.lineTo(_, v), e.closePath();
695
- break;
696
- }
697
- case "cloudcallout": {
698
- let t = Math.min(i, a) * .22, n = [
699
- [d - i * .25, r + a * .35],
700
- [d - i * .1, r + a * .15],
701
- [d + i * .1, r + a * .1],
702
- [d + i * .28, r + a * .2],
703
- [d + i * .35, r + a * .4]
704
- ];
705
- e.moveTo(n[0][0] - t, n[0][1]);
706
- for (let [r, i] of n) e.arc(r, i, t, Math.PI, 0);
707
- e.arc(d, r + a * .65, i * .45, 0, Math.PI), e.closePath();
708
- let s = d + (o ?? -2e4) / 1e5 * i, l = f + (c ?? 12e4) / 1e5 * a;
709
- e.moveTo(d + i * .05, r + a * .8), e.arc(s, l, Math.min(i, a) * .07, 0, Math.PI * 2);
710
- break;
711
- }
712
- case "bentconnector2":
713
- case "bentconnector3":
714
- case "bentconnector4":
715
- case "bentconnector5":
716
- case "curvedconnector2":
717
- case "curvedconnector3":
718
- case "curvedconnector4":
719
- case "curvedconnector5":
720
- e.moveTo(n, r), e.lineTo(n + i, r + a);
721
- break;
722
- case "heart":
723
- e.moveTo(d, r + a * .32), e.bezierCurveTo(d, r, n + i * .05, r, n, r + a * .3), e.bezierCurveTo(n, r + a * .68, d - i * .05, r + a * .78, d, r + a), e.bezierCurveTo(d + i * .05, r + a * .78, n + i, r + a * .68, n + i, r + a * .3), e.bezierCurveTo(n + i - i * .05, r, d, r, d, r + a * .32);
724
- break;
725
- case "donut": {
726
- let t = i / 2, n = a / 2, r = Math.min(t, n) * (o ?? 25e3) / 1e5, s = t - r, c = n - r;
727
- e.ellipse(d, f, t, n, 0, 0, Math.PI * 2, !1), e.moveTo(d + s, f), e.ellipse(d, f, s, c, 0, 0, Math.PI * 2, !0);
728
- break;
729
- }
730
- case "nosmoking":
731
- case "nosmokingsign": {
732
- let t = (o ?? 18750) / 1e5, n = i / 2, r = a / 2, s = n * (1 - 2 * t), c = r * (1 - 2 * t);
733
- e.ellipse(d, f, n, r, 0, 0, Math.PI * 2, !1), e.moveTo(d + s, f), e.ellipse(d, f, s, c, 0, 0, Math.PI * 2, !0), e.moveTo(d + s, f), e.ellipse(d, f, s, c, 0, 0, Math.PI / 2, !1), e.lineTo(d - s, f), e.ellipse(d, f, s, c, 0, Math.PI, 3 * Math.PI / 2, !1), e.closePath();
734
- break;
735
- }
736
- case "pie": {
737
- let t = (o ?? 0) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
738
- e.moveTo(d, f), e.arc(d, f, Math.min(i, a) / 2, t, n), e.closePath();
739
- break;
740
- }
741
- case "cloud": {
742
- let t = a * .28;
743
- e.arc(n + i * .25, r + a * .55, t, Math.PI, Math.PI * 1.8), e.arc(n + i * .45, r + a * .35, t * 1.1, Math.PI * 1.3, Math.PI * 1.9), e.arc(n + i * .65, r + a * .4, t, Math.PI * 1.5, Math.PI * 2), e.arc(n + i * .8, r + a * .6, t * .9, Math.PI * 1.6, Math.PI * .1), e.arc(n + i * .55, r + a * .75, t, 0, Math.PI * .7), e.arc(n + i * .25, r + a * .7, t * .9, 0, Math.PI), e.closePath();
744
- break;
745
- }
746
- case "funnel":
747
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(d + i * .15, r + a), e.lineTo(d - i * .15, r + a), e.closePath();
748
- break;
749
- case "smileyface": {
750
- e.ellipse(d, f, i / 2, a / 2, 0, 0, Math.PI * 2), e.closePath();
751
- let t = i * .05, n = a * .05, r = f - a * .12;
752
- e.moveTo(d - i * .2 + t, r), e.ellipse(d - i * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d + i * .2 + t, r), e.ellipse(d + i * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d - i * .25, f + a * .05), e.quadraticCurveTo(d, f + a * .3, d + i * .25, f + a * .05);
753
- break;
754
- }
755
- case "document":
756
- case "foldedcorner": {
757
- let t = Math.min(i, a) * .15;
758
- e.moveTo(n, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + t), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath(), e.moveTo(n + i - t, r), e.lineTo(n + i - t, r + t), e.lineTo(n + i, r + t);
759
- break;
760
- }
761
- case "snip2samerect": {
762
- let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
763
- e.moveTo(n, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + t), e.lineTo(n + i, r + a), e.lineTo(n + t, r + a), e.lineTo(n, r + a - t), e.closePath();
764
- break;
765
- }
766
- case "snip2diagrect": {
767
- let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
768
- e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + t), e.lineTo(n + i, r + a - t), e.lineTo(n + i - t, r + a), e.lineTo(n + t, r + a), e.lineTo(n, r + a - t), e.lineTo(n, r + t), e.closePath();
769
- break;
770
- }
771
- case "sniproundrect": {
772
- let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
773
- e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + t), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.quadraticCurveTo(n, r, n + t, r), e.closePath();
774
- break;
775
- }
776
- case "round1rect": {
777
- let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
778
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.lineTo(n, r + t), e.quadraticCurveTo(n, r, n + t, r), e.closePath();
779
- break;
780
- }
781
- case "plaque": {
782
- let t = Math.min(i, a) * .25;
783
- e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.quadraticCurveTo(n + i, r, n + i, r + t), e.lineTo(n + i, r + a - t), e.quadraticCurveTo(n + i, r + a, n + i - t, r + a), e.lineTo(n + t, r + a), e.quadraticCurveTo(n, r + a, n, r + a - t), e.lineTo(n, r + t), e.quadraticCurveTo(n, r, n + t, r), e.closePath();
784
- break;
785
- }
786
- case "can": {
787
- let t = a * .1;
788
- e.ellipse(d, r + t, i / 2, t, 0, 0, Math.PI * 2), e.moveTo(n, r + t), e.lineTo(n, r + a - t), e.ellipse(d, r + a - t, i / 2, t, 0, Math.PI, 2 * Math.PI), e.lineTo(n + i, r + t);
789
- break;
790
- }
791
- case "cube": {
792
- let t = Math.min(i, a) * .2;
793
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.lineTo(n, r + t), e.closePath(), e.moveTo(n + t, r), e.lineTo(n + t, r + t), e.lineTo(n + i - t, r + t), e.moveTo(n + t, r + t), e.lineTo(n, r + t);
794
- break;
795
- }
796
- case "bevel": {
797
- let t = Math.min(i, a) * .1;
798
- e.rect(n, r, i, a), e.moveTo(n, r), e.lineTo(n + t, r + t), e.lineTo(n + i - t, r + t), e.lineTo(n + i, r), e.moveTo(n + i - t, r + t), e.lineTo(n + i - t, r + a - t), e.lineTo(n + i, r + a), e.moveTo(n + i - t, r + a - t), e.lineTo(n + t, r + a - t), e.lineTo(n, r + a), e.moveTo(n + t, r + a - t), e.lineTo(n + t, r + t);
799
- break;
800
- }
801
- case "halfframe": {
802
- let t = Math.min(i, a) * .25;
803
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + t), e.lineTo(n + t, r + t), e.lineTo(n + t, r + a), e.lineTo(n, r + a), e.closePath();
804
- break;
805
- }
806
- case "corner": {
807
- let t = Math.min(i, a) * .25;
808
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + t), e.lineTo(n + t, r + t), e.lineTo(n + t, r + a), e.lineTo(n, r + a), e.closePath();
809
- break;
810
- }
811
- case "flowchartalternateprocess":
812
- case "flowchartprocess": {
813
- let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
814
- e.roundRect(n, r, i, a, [{
815
- x: t,
816
- y: t
817
- }]);
818
- break;
819
- }
820
- case "flowchartterminator": {
821
- let t = Math.min(i, a) / 2;
822
- e.roundRect(n, r, i, a, [{
823
- x: t,
824
- y: t
825
- }]);
826
- break;
827
- }
828
- case "flowchartdocument": {
829
- let t = a * .1;
830
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.bezierCurveTo(n + i * .75, r + a, n + i * .25, r + a - t * 2, n, r + a - t), e.closePath();
831
- break;
832
- }
833
- case "moon":
834
- e.arc(d, f, Math.min(i, a) / 2, -Math.PI / 2, Math.PI / 2), e.arc(d - i * .2, f, Math.min(i, a) / 2, Math.PI / 2, -Math.PI / 2, !0), e.closePath();
835
- break;
836
- case "arc": {
837
- let t = 216e5, n = (o ?? 162e5) / t * Math.PI * 2, r = (c ?? 54e5) / t * Math.PI * 2;
838
- e.ellipse(d, f, i / 2, a / 2, 0, n, n + r, r < 0);
839
- break;
840
- }
841
- case "mathmultiply": {
842
- let t = Math.min(i, a) * Math.min(51965, Math.max(0, o ?? 23520)) / 1e5, s = Math.atan2(a, i), c = Math.sin(s), l = Math.cos(s), u = t / 2 * c, d = t / 2 * l;
843
- e.moveTo(n + u, r - d), e.lineTo(n - u, r + d), e.lineTo(n + i - u, r + a + d), e.lineTo(n + i + u, r + a - d), e.closePath(), e.moveTo(n + i - u, r - d), e.lineTo(n + i + u, r + d), e.lineTo(n + u, r + a + d), e.lineTo(n - u, r + a - d), e.closePath();
844
- break;
845
- }
846
- case "mathdivide": {
847
- let t = Math.min(36745, Math.max(1e3, o ?? 23520)), n = (73490 + -t) / 4, s = 36745 * i / a, u = Math.min(Math.min(n, s), Math.max(1e3, l ?? 11760)), p = 73490 + 4 * u - t, m = Math.min(p, Math.max(0, c ?? 5880)), h = a * t / 2e5, g = a * m / 1e5, _ = a * u / 1e5, v = i * 73490 / 2e5, y = f - h, b = f + h, x = y - (g + _) - _, S = r + a - x, C = d - v, w = d + v;
848
- e.rect(C, y, w - C, b - y), e.moveTo(d + _, x + _), e.arc(d, x + _, _, 0, Math.PI * 2), e.moveTo(d + _, S - _), e.arc(d, S - _, _, 0, Math.PI * 2);
849
- break;
850
- }
851
- case "quadarrow": {
852
- let t = i * (o ?? 23e3) / 1e5, s = i * (c ?? 3e4) / 1e5, l = n + (i - t) / 2, u = r + (a - t) / 2;
853
- e.moveTo(d, r), e.lineTo(n + i - s, r + s), e.lineTo(n + i - s, u), e.lineTo(l + t, u), e.lineTo(l + t, r + s), e.lineTo(n + s, r + s), e.lineTo(n + i, f), e.lineTo(n + i - s, r + a - s), e.lineTo(l + t, r + a - s), e.lineTo(l + t, u + t), e.lineTo(n + i - s, u + t), e.lineTo(n + i - s, r + a - s), e.lineTo(d, r + a), e.lineTo(n + s, r + a - s), e.lineTo(n + s, u + t), e.lineTo(l, u + t), e.lineTo(l, r + a - s), e.lineTo(n, f), e.lineTo(n + s, r + s), e.lineTo(l, r + s), e.lineTo(l, u), e.lineTo(n + s, u), e.closePath();
854
- break;
855
- }
856
- case "wave": {
857
- let t = a * (o ?? 12500) / 1e5, s = r + t, c = r + a - t;
858
- e.moveTo(n, s), e.bezierCurveTo(n + i * .25, r, n + i * .25, r + t * 2, n + i * .5, s), e.bezierCurveTo(n + i * .75, r + t * 2, n + i * .75, r, n + i, s), e.lineTo(n + i, c), e.bezierCurveTo(n + i * .75, r + a, n + i * .75, r + a - t * 2, n + i * .5, c), e.bezierCurveTo(n + i * .25, r + a - t * 2, n + i * .25, r + a, n, c), e.closePath();
859
- break;
860
- }
861
- case "doublewave": {
862
- let t = a * (o ?? 6250) / 1e5, s = r + t, c = r + a - t;
863
- e.moveTo(n, s), e.bezierCurveTo(n + i * .25, r, n + i * .25, r + t * 2, n + i * .5, s), e.bezierCurveTo(n + i * .75, r + t * 2, n + i * .75, r, n + i, s), e.lineTo(n + i, c), e.bezierCurveTo(n + i * .75, r + a, n + i * .75, r + a - t * 2, n + i * .5, c), e.bezierCurveTo(n + i * .25, r + a - t * 2, n + i * .25, r + a, n, c), e.closePath();
864
- break;
865
- }
866
- case "sun": {
867
- let t = Math.min(i, a) / 2, n = t * ((o ?? 25e3) / 1e5 + .5), r = Math.min(n, t * .9), s = Math.PI / 16;
868
- for (let n = 0; n < 8; n++) {
869
- let i = n / 8 * Math.PI * 2;
870
- e.moveTo(d + r * Math.cos(i - s), f + r * Math.sin(i - s)), e.lineTo(d + t * Math.cos(i), f + t * Math.sin(i)), e.lineTo(d + r * Math.cos(i + s), f + r * Math.sin(i + s)), e.closePath();
871
- }
872
- e.moveTo(d + r, f), e.arc(d, f, r, 0, Math.PI * 2);
873
- break;
874
- }
875
- case "lightningbolt":
876
- e.moveTo(d + i * .1, r), e.lineTo(n, f - a * .05), e.lineTo(d + i * .05, f - a * .05), e.lineTo(d - i * .1, r + a), e.lineTo(n + i, f + a * .05), e.lineTo(d - i * .05, f + a * .05), e.closePath();
877
- break;
878
- case "bracketpair": {
879
- let t = a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5;
880
- e.moveTo(n + i * .4, r), e.quadraticCurveTo(n, r, n, r + t), a - 2 * t > 0 && e.lineTo(n, r + a - t), e.quadraticCurveTo(n, r + a, n + i * .4, r + a), e.moveTo(n + i * .6, r), e.quadraticCurveTo(n + i, r, n + i, r + t), a - 2 * t > 0 && e.lineTo(n + i, r + a - t), e.quadraticCurveTo(n + i, r + a, n + i * .6, r + a);
881
- break;
882
- }
883
- case "bracepair": {
884
- let t = i * .2;
885
- e.moveTo(n + i * .4, r), e.bezierCurveTo(n + i * .4 - t, r, n + i * .4 - t, f - a * .08, n, f), e.bezierCurveTo(n + i * .4 - t, f + a * .08, n + i * .4 - t, r + a, n + i * .4, r + a), e.moveTo(n + i * .6, r), e.bezierCurveTo(n + i * .6 + t, r, n + i * .6 + t, f - a * .08, n + i, f), e.bezierCurveTo(n + i * .6 + t, f + a * .08, n + i * .6 + t, r + a, n + i * .6, r + a);
886
- break;
887
- }
888
- case "chord": {
889
- let t = (o ?? 27e5) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
890
- e.ellipse(d, f, i / 2, a / 2, 0, t, n), e.closePath();
891
- break;
892
- }
893
- case "blockarc": {
894
- let t = Math.min(i, a) / 2, n = o ?? 108e5, r = c ?? 0, s = t * (1 - (l ?? 25e3) / 1e5), u = n / 216e5 * Math.PI * 2, p = r / 216e5 * Math.PI * 2;
895
- e.arc(d, f, t, u, p, !1), e.arc(d, f, s, p, u, !0), e.closePath();
896
- break;
897
- }
898
- case "teardrop": {
899
- let t = Math.min(i, a) * .4, o = n + t, s = r + a - t;
900
- e.arc(o, s, t, 0, Math.PI * 2 * .75), e.bezierCurveTo(o - t * .1, s - t, n + i - t, r + t, n + i, r), e.bezierCurveTo(n + i - t * .2, r + t * .5, o + t, s - t * 1.1, o + t, s), e.closePath();
901
- break;
902
- }
903
- case "diagstripe": {
904
- let t = a * (o ?? 5e4) / 1e5 * i / a;
905
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
906
- break;
907
- }
908
- case "wedgeroundrectcallout": {
909
- let t = Math.min(i, a) * .1;
910
- e.roundRect(n, r, i, a * .85, t), e.moveTo(n + i * .1, r + a * .85), e.lineTo(n + i * .2, r + a), e.lineTo(n + i * .3, r + a * .85), e.closePath();
911
- break;
912
- }
913
- case "rightarrowcallout": {
914
- let t = a * (o ?? 5e4) / 1e5, s = i * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
915
- e.rect(n, l, s, t), e.moveTo(n + s, r), e.lineTo(n + i, f), e.lineTo(n + s, r + a), e.closePath();
916
- break;
917
- }
918
- case "leftarrowcallout": {
919
- let t = a * (o ?? 5e4) / 1e5, s = i * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
920
- e.rect(n + i - s, l, s, t), e.moveTo(n + i - s, r), e.lineTo(n, f), e.lineTo(n + i - s, r + a), e.closePath();
921
- break;
922
- }
923
- case "uparrowcallout": {
924
- let t = i * (o ?? 5e4) / 1e5, s = a * (c ?? 5e4) / 1e5, l = n + (i - t) / 2;
925
- e.rect(l, r + s, t, a - s), e.moveTo(n, r + s), e.lineTo(d, r), e.lineTo(n + i, r + s), e.closePath();
926
- break;
927
- }
928
- case "downarrowcallout": {
929
- let t = i * (o ?? 5e4) / 1e5, s = a * (c ?? 5e4) / 1e5, l = n + (i - t) / 2;
930
- e.rect(l, r, t, a - s), e.moveTo(n, r + a - s), e.lineTo(d, r + a), e.lineTo(n + i, r + a - s), e.closePath();
931
- break;
932
- }
933
- case "leftrightarrowcallout": {
934
- let t = a * (o ?? 5e4) / 1e5, s = i * (c ?? 25e3) / 1e5, l = r + (a - t) / 2;
935
- e.rect(n + s, l, i - 2 * s, t), e.moveTo(n + s, r), e.lineTo(n, f), e.lineTo(n + s, r + a), e.closePath(), e.moveTo(n + i - s, r), e.lineTo(n + i, f), e.lineTo(n + i - s, r + a), e.closePath();
936
- break;
937
- }
938
- case "leftrightuparrow": {
939
- let t = i * (o ?? 25e3) / 1e5, s = a * (c ?? 3e4) / 1e5, l = n + (i - t) / 2;
940
- e.moveTo(d, r), e.lineTo(n + i, r + s), e.lineTo(l + t, r + s), e.lineTo(l + t, r + a), e.lineTo(l, r + a), e.lineTo(l, r + s), e.lineTo(n, r + s), e.closePath();
941
- break;
942
- }
943
- case "uturnarrow": {
944
- let t = i * (o ?? 25e3) / 1e5, s = (i - t) / 2, c = Math.max(0, s - t), l = n + t + s, u = r + t + s, d = t * 2, f = r + a - t * 2.5;
945
- e.moveTo(n, r + a), e.lineTo(n, u), e.arc(l, u, s, Math.PI, 0), e.lineTo(n + i, f), e.lineTo(n + i + (d - t) / 2, f), e.lineTo(l + t / 2, r + a), e.lineTo(n + i - (d - t) / 2 - t, f), e.lineTo(n + i - t, f), e.lineTo(n + i - t, u), e.arc(l, u, c, 0, Math.PI, !0), e.lineTo(n + t, r + a), e.closePath();
946
- break;
947
- }
948
- case "bentarrow":
949
- case "bentuparrow": {
950
- let t = Math.min(i, a) * .25;
951
- e.moveTo(n, f - t / 2), e.lineTo(n + i - t * 2, f - t / 2), e.lineTo(n + i - t * 2, r + t), e.lineTo(n + i, f), e.lineTo(n + i - t * 2, r + a - t), e.lineTo(n + i - t * 2, f + t / 2), e.lineTo(n, f + t / 2), e.closePath();
952
- break;
953
- }
954
- case "plus": {
955
- let t = Math.min(i, a) * (o ?? 25e3) / 1e5;
956
- e.rect(d - t, r, 2 * t, a), e.rect(n, f - t, i, 2 * t);
957
- break;
958
- }
959
- case "mathnotequal": {
960
- let t = Math.min(5e4, Math.max(0, o ?? 23520)), n = Math.min(66e5, Math.max(42e5, c ?? 66e5)), s = Math.min(1e5 - 2 * t, Math.max(0, l ?? 11760)), u = a * t / 1e5, p = a * s / 2e5, m = i * 73490 / 2e5, h = a / 2, g = (n / 6e4 - 90) * Math.PI / 180, _ = h * Math.tan(g), v = Math.hypot(_, h) * u / h;
961
- e.rect(d - m, f - p - u, 2 * m, u), e.rect(d - m, f + p, 2 * m, u), e.moveTo(d + _ - v / 2, r), e.lineTo(d + _ + v / 2, r), e.lineTo(d - _ + v / 2, r + a), e.lineTo(d - _ - v / 2, r + a), e.closePath();
962
- break;
963
- }
964
- case "flowchartdelay": {
965
- let t = a / 2;
966
- e.moveTo(n, r), e.lineTo(n + i - t, r), e.arc(n + i - t, f, t, -Math.PI / 2, Math.PI / 2), e.lineTo(n, r + a), e.closePath();
967
- break;
968
- }
969
- case "flowchartdisplay": {
970
- let t = i * .2, o = i * .15;
971
- e.moveTo(n + t, r), e.lineTo(n + i - o, r), e.arc(n + i - o, f, a / 2, -Math.PI / 2, Math.PI / 2), e.lineTo(n + t, r + a), e.lineTo(n, f), e.closePath();
972
- break;
973
- }
974
- case "flowchartpunchedcard": {
975
- let t = i * .2;
976
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
977
- break;
978
- }
979
- case "flowchartoffpageconnector": {
980
- let t = a * .3;
981
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.lineTo(d, r + a), e.lineTo(n, r + a - t), e.closePath();
982
- break;
983
- }
984
- case "flowchartonlinestorage":
985
- case "flowchartmanuallabel":
986
- case "flowchartpuncheddisk":
987
- e.rect(n, r, i, a);
988
- break;
989
- case "horizontalscroll": {
990
- let t = Math.min(i, a) * .15;
991
- e.roundRect(n + t, r, i - t, a, t), e.moveTo(n + t, r + t * 2), e.arc(n + t, r + t, t, Math.PI / 2, Math.PI * 2.5);
992
- break;
993
- }
994
- case "verticalscroll": {
995
- let t = Math.min(i, a) * .15;
996
- e.roundRect(n, r + t, i, a - t, t), e.moveTo(n + t * 2, r + t), e.arc(n + t, r + t, t, 0, Math.PI * 2);
997
- break;
998
- }
999
- case "ribbon": {
1000
- let t = Math.min(33333, Math.max(0, o ?? 16667)), s = i * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = i / 8, u = i / 32, d = i / 2 - s, f = i / 2 + s, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = i - l, b = a * t / 2e5, x = a * t / 1e5, S = a - x, C = S / 2;
1001
- e.moveTo(n, r), e.lineTo(n + _, r), e.lineTo(n + p, r + b), e.lineTo(n + m, r + x), e.lineTo(n + v, r + b), e.lineTo(n + i, r), e.lineTo(n + y, r + C), e.lineTo(n + i, r + S), e.lineTo(n + f, r + S), e.lineTo(n + f, r + a), e.lineTo(n + p, r + a), e.lineTo(n + d, r + S), e.lineTo(n, r + S), e.lineTo(n + l, r + C), e.closePath();
1002
- break;
1003
- }
1004
- case "ribbon2": {
1005
- let t = Math.min(33333, Math.max(0, o ?? 16667)), s = i * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = i / 8, u = i / 32, d = i / 2 - s, f = i / 2 + s, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = i - l, b = a * t / 2e5, x = a * t / 1e5, S = a - b, C = a - x, w = x, T = (w + a) / 2;
1006
- e.moveTo(n, r + a), e.lineTo(n + _, r + a), e.lineTo(n + p, r + S), e.lineTo(n + m, r + C), e.lineTo(n + v, r + S), e.lineTo(n + i, r + a), e.lineTo(n + y, r + T), e.lineTo(n + i, r + w), e.lineTo(n + f, r + w), e.lineTo(n + f, r), e.lineTo(n + p, r), e.lineTo(n + d, r + w), e.lineTo(n, r + w), e.lineTo(n + l, r + T), e.closePath();
1007
- break;
1008
- }
1009
- case "ellipseribbon": {
1010
- let t = Math.min(1e5, Math.max(0, o ?? 25e3)), s = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, l ?? 12500)), f = i / 8, p = i * s / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, I = i - P, L = k + A;
1011
- e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n + I, r + F, n + _, r + M), e.lineTo(n + _, r + N), e.quadraticCurveTo(n + i / 2, r + L, n + m, r + N), e.lineTo(n + m, r + M), e.quadraticCurveTo(n + P, r + F, n, r + A), e.lineTo(n + f, r + j), e.closePath();
1012
- break;
1013
- }
1014
- case "ellipseribbon2": {
1015
- let t = Math.min(1e5, Math.max(0, o ?? 25e3)), s = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, l ?? 12500)), f = i / 8, p = i * s / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), I = m / 2, L = a - (b * I + M), R = i - I, z = a - (A + M);
1016
- e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + R, r + L, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + z, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + I, r + L, n, r + T), e.lineTo(n + f, r + N), e.closePath();
1017
- break;
1018
- }
1019
- case "circulararrow": {
1020
- let t = (c ?? 0) / 6e4 * Math.PI / 180, n = (o ?? 162e5) / 6e4 * Math.PI / 180, r = (l ?? 5e4) / 1e5, s = Math.min(i, a) / 2, u = s * (1 - r), p = (s + u) / 2, m = s - u, h = t + n;
1021
- e.arc(d, f, s, t, h, !1), e.arc(d, f, u, h, t, !0), e.closePath();
1022
- 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 * _;
1023
- e.moveTo(y, b), e.lineTo(d + s * Math.cos(h), f + s * Math.sin(h)), e.lineTo(d + u * Math.cos(h), f + u * Math.sin(h)), e.closePath();
1024
- break;
1025
- }
1026
- case "curvedrightarrow": {
1027
- let t = Math.min(i, a), s = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = s - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * i / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, l ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, i * i - _ * _)) * m / i, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = a - p / 2, E = i - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
1028
- e.moveTo(n, r + m), Z(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), Z(e, n + E, r + x, i, m, k, D), e.closePath();
1029
- break;
1030
- }
1031
- case "curvedleftarrow": {
1032
- let t = Math.min(i, a), s = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = s - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * i / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * m / i, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = a - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = -A;
1033
- e.moveTo(n, r + E), e.lineTo(n + D, r + w), e.lineTo(n + D, r + x);
1034
- let P = Z(e, n + D, r + x, i, m, O, j);
1035
- Z(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
1036
- break;
1037
- }
1038
- case "curveduparrow": {
1039
- let t = Math.min(i, a), s = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = s - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * 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, E = i - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = Math.PI / 2 - O, P = Math.PI / 2 - A;
1040
- e.moveTo(n + E, r), e.lineTo(n + T, r + D), e.lineTo(n + S, r + D);
1041
- let F = Z(e, n + S, r + D, m, a, N, M);
1042
- Z(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
1043
- break;
1044
- }
1045
- case "curveddownarrow": {
1046
- let t = Math.min(i, a), s = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = s - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * 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, E = i - p / 2, D = a - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
1047
- 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), Z(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), Z(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
1048
- break;
1049
- }
1050
- case "stripedrightarrow": {
1051
- let t = Math.min(i, a), s = t / 32, l = t / 16, u = t / 8, d = t * (o ?? 5e4) / 1e5, p = i * (c ?? 5e4) / 1e5, m = f - d / 2, h = f + d / 2, g = n + i - p;
1052
- e.rect(n, m, s, d), e.rect(n + l, m, l, d), e.rect(n + u, m, u, d), e.moveTo(g, m), e.lineTo(g, r), e.lineTo(n + i, f), e.lineTo(g, r + a), e.lineTo(g, h), e.lineTo(n + u * 2, h), e.lineTo(n + u * 2, m), e.closePath();
1053
- break;
1054
- }
1055
- case "flowchartmagneticdisk": {
1056
- let t = a * .15;
1057
- e.moveTo(n, r + t), e.ellipse(d, r + t, i / 2, t, 0, Math.PI, 0), e.lineTo(n + i, r + a - t), e.ellipse(d, r + a - t, i / 2, t, 0, 0, Math.PI), e.lineTo(n, r + t), e.closePath(), e.moveTo(n + i, r + t), e.ellipse(d, r + t, i / 2, t, 0, 0, Math.PI);
1058
- break;
1059
- }
1060
- case "flowchartmagneticdrum": {
1061
- let t = i * .15;
1062
- e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a), e.lineTo(n + t, r + a), e.ellipse(n + t, f, t, a / 2, 0, Math.PI / 2, -Math.PI / 2, !0), e.closePath(), e.moveTo(n + i, r), e.ellipse(n + i, f, t, a / 2, 0, -Math.PI / 2, Math.PI / 2);
1063
- break;
1064
- }
1065
- case "flowchartmagnetictape": {
1066
- let t = Math.min(i, a) / 2, n = d + t * .5;
1067
- e.moveTo(d, r + a), e.arc(d, f, t, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), e.lineTo(n, f + t * .5), e.lineTo(n, r + a), e.closePath();
1068
- break;
1069
- }
1070
- case "flowchartpunchedtape": {
1071
- let t = a * .12;
1072
- e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.bezierCurveTo(n + i * .75, r + a, n + i * .25, r + a - t * 2, n, r + a - t), e.closePath(), e.moveTo(n, r + t), e.bezierCurveTo(n + i * .25, r, n + i * .75, r + t * 2, n + i, r + t);
1073
- break;
1074
- }
1075
- case "flowchartmanualoperation": {
1076
- let t = i * .15;
1077
- e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
1078
- break;
1079
- }
1080
- case "flowchartmultidocument": {
1081
- let t = a * .1, o = i * .04;
1082
- e.rect(n + o * 2, r - a * .08, i - o * 2, a * .1), e.rect(n + o, r - a * .04, i - o, a * .06), e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.bezierCurveTo(n + i * .75, r + a, n + i * .25, r + a - t * 2, n, r + a - t), e.closePath();
1083
- break;
1084
- }
1085
- case "rttriangle":
1086
- e.moveTo(n, r), e.lineTo(n, r + a), e.lineTo(n + i, r + a), e.closePath();
1087
- break;
1088
- default:
1089
- e.rect(n, r, i, a);
1090
- break;
1091
- }
1092
- }
1093
- function Q(e, t, n) {
1094
- 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;
1095
- return {
1096
- lw: r,
1097
- halfW: r * i / 2,
1098
- len: r * a
1099
- };
1100
- }
1101
- var ae = new Set([
1102
- "triangle",
1103
- "stealth",
1104
- "diamond",
1105
- "oval"
1106
- ]);
1107
- function oe(e, t, n) {
1108
- return ae.has(e.type) ? Q(e, t, n).len : 0;
1109
- }
1110
- function se(e, t, n) {
1111
- if (e.type === "none") return 0;
1112
- let { lw: r, halfW: i, len: a } = Q(e, t, n);
1113
- return Math.max(a, i) + r / 2;
1114
- }
1115
- function ce(e, t, n) {
1116
- if (n <= 0) return {
1117
- x: e.x,
1118
- y: e.y
1119
- };
1120
- let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i);
1121
- if (a < 1e-9) return {
1122
- x: e.x,
1123
- y: e.y
1124
- };
1125
- let o = Math.min(n, a) / a;
1126
- return {
1127
- x: e.x + r * o,
1128
- y: e.y + i * o
1129
- };
1130
- }
1131
- function le(t, n, r, i, a, o, s, c) {
1132
- if (a.type === "none") return;
1133
- let { lw: l, halfW: u, len: d } = Q(a, o, s), f = c ?? e(o.color);
1134
- switch (t.save(), t.translate(n, r), t.rotate(i), t.fillStyle = f, t.strokeStyle = f, t.lineWidth = l, t.setLineDash([]), t.beginPath(), a.type) {
1135
- case "triangle":
1136
- case "stealth":
1137
- t.moveTo(0, 0), t.lineTo(-d, -u), t.lineTo(-d, u), t.closePath(), t.fill();
1138
- break;
1139
- case "arrow":
1140
- t.lineCap = "round", t.lineJoin = "round", t.moveTo(-d, -u), t.lineTo(0, 0), t.lineTo(-d, u), t.stroke();
1141
- break;
1142
- case "diamond":
1143
- t.moveTo(0, 0), t.lineTo(-d / 2, -u), t.lineTo(-d, 0), t.lineTo(-d / 2, u), t.closePath(), t.fill();
1144
- break;
1145
- case "oval":
1146
- t.ellipse(-d / 2, 0, d / 2, u, 0, 0, Math.PI * 2), t.fill();
1147
- break;
1148
- }
1149
- t.restore();
1150
- }
1151
- function $(e, t) {
1152
- let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
1153
- return {
1154
- railDev: n,
1155
- gapDev: r,
1156
- spanDev: 2 * n + r
1157
- };
1158
- }
1159
- function ue(e, t, n, r, i, a, o) {
1160
- let { railDev: s, gapDev: c, spanDev: l } = $(a, o);
1161
- if (n === i) {
1162
- let i = Math.round(n * o - l / 2);
1163
- e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
1164
- } else {
1165
- let r = Math.round(t * o - l / 2);
1166
- e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
1167
- }
1168
- }
1169
- var de = (e) => e === 32 || e === 12288;
1170
- function fe(e, i, a = {}) {
1171
- if (Math.abs(i) <= .5) return null;
1172
- let o = a.firstContentSi ?? 0, s = a.lastDrawnSi ?? e.length - 1, c = a.minPerGap ?? -Infinity, l = a.isGapChar ?? r, u = a.isWhitespace ?? de, d = a.seaClusterGaps ?? !1, f = [];
1173
- for (let t = o; t < e.length; t++) {
1174
- let n = e[t];
1175
- if (n === void 0) continue;
1176
- if (n.text === void 0) {
1177
- f.push({
1178
- si: t,
1179
- off: 0,
1180
- ws: !1
1181
- });
1182
- continue;
1183
- }
1184
- let r = 0;
1185
- for (let e of n.text) {
1186
- let n = e.codePointAt(0);
1187
- f.push({
1188
- si: t,
1189
- off: r,
1190
- cp: n,
1191
- ws: u(n)
1192
- }), r++;
1193
- }
1194
- }
1195
- let p = -1, m = -1;
1196
- for (let e = 0; e < f.length; e++) f[e].ws || (p === -1 && (p = e), m = e);
1197
- if (p === -1 || p === m) return null;
1198
- let h = Array(f.length).fill(!1), g = 0;
1199
- for (let e = p; e < m; e++) {
1200
- let r = f[e];
1201
- if (r.si === s) continue;
1202
- if (r.ws) {
1203
- h[e] = !0, g++;
1204
- continue;
1205
- }
1206
- let i = f[e + 1];
1207
- if (i.ws) continue;
1208
- let a = r.cp, o = i.cp;
1209
- (a !== void 0 && l(a) || o !== void 0 && l(o) || d && a !== void 0 && o !== void 0 && n(a) && n(o) && !t(o)) && (h[e] = !0, g++);
1210
- }
1211
- if (g === 0) return null;
1212
- let _ = i / g;
1213
- i < 0 && _ < c && (_ = c);
1214
- let v = /* @__PURE__ */ new Map();
1215
- for (let e of f) e.cp !== void 0 && v.set(e.si, (v.get(e.si) ?? 0) + 1);
1216
- let y = /* @__PURE__ */ new Map();
1217
- for (let e = 0; e < f.length; e++) {
1218
- if (!h[e]) continue;
1219
- let t = f[e], n = y.get(t.si);
1220
- n || (n = {
1221
- splitBefore: [],
1222
- trailingGap: !1,
1223
- internalStretch: 0
1224
- }, y.set(t.si, n));
1225
- let r = v.get(t.si) ?? 0;
1226
- t.cp === void 0 || t.off === r - 1 ? n.trailingGap = !0 : (n.splitBefore.push(t.off + 1), n.internalStretch += _);
1227
- }
1228
- return {
1229
- perGap: _,
1230
- perSeg: y
1231
- };
1232
- }
1233
- //#endregion
1234
- export { p as C, d as D, u as E, x as S, _ as T, D as _, oe as a, S as b, I as c, z as d, R as f, f as g, k as h, le as i, L as l, ue as m, se as n, $ as o, F as p, ce as r, fe as s, J as t, ie as u, y as v, b as w, g as x, C as y };