@silurus/ooxml 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1284 @@
1
+ //#region packages/core/src/shape/custGeom.ts
2
+ function e(e, t, n, r, i, a) {
3
+ for (let o of t) {
4
+ let t = 0, s = 0;
5
+ for (let c of o) switch (c.cmd) {
6
+ case "moveTo":
7
+ e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
8
+ break;
9
+ case "lineTo":
10
+ e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
11
+ break;
12
+ case "cubicBezTo":
13
+ 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;
14
+ break;
15
+ case "arcTo": {
16
+ let o = c.wr * i, l = c.hr * a;
17
+ if (o <= 0 || l <= 0) break;
18
+ 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;
19
+ 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;
20
+ break;
21
+ }
22
+ case "close":
23
+ e.closePath();
24
+ break;
25
+ }
26
+ }
27
+ }
28
+ //#endregion
29
+ //#region packages/core/src/shape/pattern-bitmaps.ts
30
+ var t = {
31
+ pct5: [
32
+ 0,
33
+ 16,
34
+ 0,
35
+ 0,
36
+ 0,
37
+ 1,
38
+ 0,
39
+ 0
40
+ ],
41
+ pct10: [
42
+ 136,
43
+ 0,
44
+ 34,
45
+ 0,
46
+ 136,
47
+ 0,
48
+ 34,
49
+ 0
50
+ ],
51
+ pct20: [
52
+ 136,
53
+ 34,
54
+ 136,
55
+ 34,
56
+ 136,
57
+ 34,
58
+ 136,
59
+ 34
60
+ ],
61
+ pct25: [
62
+ 136,
63
+ 85,
64
+ 34,
65
+ 85,
66
+ 136,
67
+ 85,
68
+ 34,
69
+ 85
70
+ ],
71
+ pct30: [
72
+ 170,
73
+ 85,
74
+ 170,
75
+ 85,
76
+ 170,
77
+ 85,
78
+ 170,
79
+ 85
80
+ ],
81
+ pct40: [
82
+ 170,
83
+ 119,
84
+ 170,
85
+ 221,
86
+ 170,
87
+ 119,
88
+ 170,
89
+ 221
90
+ ],
91
+ pct50: [
92
+ 170,
93
+ 85,
94
+ 170,
95
+ 85,
96
+ 170,
97
+ 85,
98
+ 170,
99
+ 85
100
+ ],
101
+ pct60: [
102
+ 221,
103
+ 85,
104
+ 119,
105
+ 85,
106
+ 221,
107
+ 85,
108
+ 119,
109
+ 85
110
+ ],
111
+ pct70: [
112
+ 238,
113
+ 85,
114
+ 187,
115
+ 85,
116
+ 238,
117
+ 85,
118
+ 187,
119
+ 85
120
+ ],
121
+ pct75: [
122
+ 238,
123
+ 170,
124
+ 187,
125
+ 170,
126
+ 238,
127
+ 170,
128
+ 187,
129
+ 170
130
+ ],
131
+ pct80: [
132
+ 254,
133
+ 239,
134
+ 251,
135
+ 191,
136
+ 254,
137
+ 239,
138
+ 251,
139
+ 191
140
+ ],
141
+ pct90: [
142
+ 255,
143
+ 239,
144
+ 255,
145
+ 251,
146
+ 255,
147
+ 239,
148
+ 255,
149
+ 251
150
+ ],
151
+ horz: [
152
+ 255,
153
+ 0,
154
+ 0,
155
+ 0,
156
+ 255,
157
+ 0,
158
+ 0,
159
+ 0
160
+ ],
161
+ vert: [
162
+ 136,
163
+ 136,
164
+ 136,
165
+ 136,
166
+ 136,
167
+ 136,
168
+ 136,
169
+ 136
170
+ ],
171
+ ltHorz: [
172
+ 0,
173
+ 255,
174
+ 0,
175
+ 0,
176
+ 0,
177
+ 0,
178
+ 0,
179
+ 0
180
+ ],
181
+ ltVert: [
182
+ 32,
183
+ 32,
184
+ 32,
185
+ 32,
186
+ 32,
187
+ 32,
188
+ 32,
189
+ 32
190
+ ],
191
+ dkHorz: [
192
+ 255,
193
+ 255,
194
+ 0,
195
+ 0,
196
+ 255,
197
+ 255,
198
+ 0,
199
+ 0
200
+ ],
201
+ dkVert: [
202
+ 204,
203
+ 204,
204
+ 204,
205
+ 204,
206
+ 204,
207
+ 204,
208
+ 204,
209
+ 204
210
+ ],
211
+ narHorz: [
212
+ 255,
213
+ 0,
214
+ 255,
215
+ 0,
216
+ 255,
217
+ 0,
218
+ 255,
219
+ 0
220
+ ],
221
+ narVert: [
222
+ 170,
223
+ 170,
224
+ 170,
225
+ 170,
226
+ 170,
227
+ 170,
228
+ 170,
229
+ 170
230
+ ],
231
+ cross: [
232
+ 255,
233
+ 136,
234
+ 136,
235
+ 136,
236
+ 255,
237
+ 136,
238
+ 136,
239
+ 136
240
+ ],
241
+ lgGrid: [
242
+ 255,
243
+ 128,
244
+ 128,
245
+ 128,
246
+ 128,
247
+ 128,
248
+ 128,
249
+ 128
250
+ ],
251
+ smGrid: [
252
+ 255,
253
+ 136,
254
+ 136,
255
+ 136,
256
+ 255,
257
+ 136,
258
+ 136,
259
+ 136
260
+ ],
261
+ dotGrid: [
262
+ 136,
263
+ 0,
264
+ 0,
265
+ 0,
266
+ 136,
267
+ 0,
268
+ 0,
269
+ 0
270
+ ],
271
+ dnDiag: [
272
+ 128,
273
+ 64,
274
+ 32,
275
+ 16,
276
+ 8,
277
+ 4,
278
+ 2,
279
+ 1
280
+ ],
281
+ upDiag: [
282
+ 1,
283
+ 2,
284
+ 4,
285
+ 8,
286
+ 16,
287
+ 32,
288
+ 64,
289
+ 128
290
+ ],
291
+ ltDnDiag: [
292
+ 136,
293
+ 68,
294
+ 34,
295
+ 17,
296
+ 136,
297
+ 68,
298
+ 34,
299
+ 17
300
+ ],
301
+ ltUpDiag: [
302
+ 17,
303
+ 34,
304
+ 68,
305
+ 136,
306
+ 17,
307
+ 34,
308
+ 68,
309
+ 136
310
+ ],
311
+ dkDnDiag: [
312
+ 195,
313
+ 129,
314
+ 0,
315
+ 129,
316
+ 195,
317
+ 129,
318
+ 0,
319
+ 129
320
+ ],
321
+ dkUpDiag: [
322
+ 195,
323
+ 129,
324
+ 0,
325
+ 129,
326
+ 195,
327
+ 129,
328
+ 0,
329
+ 129
330
+ ],
331
+ wdDnDiag: [
332
+ 128,
333
+ 64,
334
+ 32,
335
+ 16,
336
+ 8,
337
+ 4,
338
+ 2,
339
+ 129
340
+ ],
341
+ wdUpDiag: [
342
+ 1,
343
+ 2,
344
+ 4,
345
+ 8,
346
+ 16,
347
+ 32,
348
+ 64,
349
+ 129
350
+ ],
351
+ diagCross: [
352
+ 129,
353
+ 66,
354
+ 36,
355
+ 24,
356
+ 24,
357
+ 36,
358
+ 66,
359
+ 129
360
+ ],
361
+ horzBrick: [
362
+ 255,
363
+ 16,
364
+ 16,
365
+ 16,
366
+ 255,
367
+ 1,
368
+ 1,
369
+ 1
370
+ ],
371
+ diagBrick: [
372
+ 129,
373
+ 66,
374
+ 36,
375
+ 24,
376
+ 36,
377
+ 66,
378
+ 129,
379
+ 0
380
+ ],
381
+ lgCheck: [
382
+ 240,
383
+ 240,
384
+ 240,
385
+ 240,
386
+ 15,
387
+ 15,
388
+ 15,
389
+ 15
390
+ ],
391
+ smCheck: [
392
+ 204,
393
+ 204,
394
+ 51,
395
+ 51,
396
+ 204,
397
+ 204,
398
+ 51,
399
+ 51
400
+ ],
401
+ trellis: [
402
+ 165,
403
+ 90,
404
+ 165,
405
+ 90,
406
+ 165,
407
+ 90,
408
+ 165,
409
+ 90
410
+ ]
411
+ };
412
+ function n(e, n, a) {
413
+ let o = t[e];
414
+ if (!o) return null;
415
+ let s = r(8, 8);
416
+ if (!s) return null;
417
+ let c = s.getContext("2d");
418
+ if (!c) return null;
419
+ c.fillStyle = i(a), c.fillRect(0, 0, 8, 8), c.fillStyle = i(n);
420
+ for (let e = 0; e < 8; e++) {
421
+ let t = o[e];
422
+ for (let n = 0; n < 8; n++) t & 1 << 7 - n && c.fillRect(n, e, 1, 1);
423
+ }
424
+ return s;
425
+ }
426
+ function r(e, t) {
427
+ if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
428
+ if (typeof document < "u") {
429
+ let n = document.createElement("canvas");
430
+ return n.width = e, n.height = t, n;
431
+ }
432
+ return null;
433
+ }
434
+ function i(e) {
435
+ return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
436
+ }
437
+ //#endregion
438
+ //#region packages/core/src/shape/paint.ts
439
+ function a(e, t = 1) {
440
+ return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : t})`;
441
+ }
442
+ function o(e, t, n, r, i, o) {
443
+ if (!e || e.fillType === "none") return null;
444
+ if (e.fillType === "solid") return a(e.color);
445
+ if (e.fillType === "pattern") return c(e, t);
446
+ if (e.fillType === "gradient") {
447
+ let s = e.stops;
448
+ if (s.length === 0) return null;
449
+ if (s.length === 1) return a(s[0].color);
450
+ let c;
451
+ if (e.gradType === "radial") {
452
+ let e = n + i / 2, a = r + o / 2, s = Math.sqrt(i * i + o * o) / 2;
453
+ c = t.createRadialGradient(e, a, 0, e, a, s);
454
+ } else {
455
+ let a = e.angle * Math.PI / 180, s = n + i / 2, l = r + o / 2, u = (Math.abs(Math.cos(a)) * i + Math.abs(Math.sin(a)) * o) / 2;
456
+ c = t.createLinearGradient(s - Math.cos(a) * u, l - Math.sin(a) * u, s + Math.cos(a) * u, l + Math.sin(a) * u);
457
+ }
458
+ for (let e of s) c.addColorStop(Math.min(1, Math.max(0, e.position)), a(e.color));
459
+ return c;
460
+ }
461
+ return null;
462
+ }
463
+ var s = /* @__PURE__ */ new WeakMap();
464
+ function c(e, t) {
465
+ let r = `${e.preset}|${e.fg}|${e.bg}`, i = s.get(t);
466
+ i || (i = /* @__PURE__ */ new Map(), s.set(t, i));
467
+ let o = i.get(r);
468
+ if (o) return o;
469
+ let c = n(e.preset, e.fg, e.bg);
470
+ if (!c) return a(e.fg);
471
+ let l = t.createPattern(c, "repeat");
472
+ return l ? (i.set(r, l), l) : a(e.fg);
473
+ }
474
+ var l = {
475
+ dash: [6, 3],
476
+ dot: [1.5, 3],
477
+ dashDot: [
478
+ 6,
479
+ 3,
480
+ 1.5,
481
+ 3
482
+ ],
483
+ lgDash: [10, 4],
484
+ lgDashDot: [
485
+ 10,
486
+ 4,
487
+ 1.5,
488
+ 4
489
+ ],
490
+ lgDashDotDot: [
491
+ 10,
492
+ 4,
493
+ 1.5,
494
+ 4,
495
+ 1.5,
496
+ 4
497
+ ],
498
+ sysDash: [4, 2],
499
+ sysDot: [1, 2],
500
+ sysDashDot: [
501
+ 4,
502
+ 2,
503
+ 1,
504
+ 2
505
+ ]
506
+ };
507
+ function u(e, t, n) {
508
+ if (!t) {
509
+ e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
510
+ return;
511
+ }
512
+ e.strokeStyle = a(t.color);
513
+ let r = Math.max(.5, t.width * n);
514
+ e.lineWidth = r;
515
+ let i = t.dashStyle ? l[t.dashStyle] : null;
516
+ e.setLineDash(i ? i.map((e) => e * r) : []);
517
+ }
518
+ //#endregion
519
+ //#region packages/core/src/shape/preset.ts
520
+ function d(e, t, n, r, i, a, o, s = -Math.PI / 2) {
521
+ let c = a * 2;
522
+ for (let l = 0; l < c; l++) {
523
+ 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);
524
+ l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
525
+ }
526
+ e.closePath();
527
+ }
528
+ function f(e, t, n, r, i, a, o = -Math.PI / 2) {
529
+ for (let s = 0; s < a; s++) {
530
+ let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
531
+ s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
532
+ }
533
+ e.closePath();
534
+ }
535
+ function p(e, t, n, r, i, a, o) {
536
+ 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);
537
+ return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
538
+ x: u + r * Math.cos(l),
539
+ y: d + i * Math.sin(l)
540
+ };
541
+ }
542
+ function m(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
543
+ let u = n + i / 2, m = r + a / 2;
544
+ switch (t) {
545
+ case "ellipse":
546
+ case "oval":
547
+ e.ellipse(u, m, i / 2, a / 2, 0, 0, Math.PI * 2);
548
+ break;
549
+ case "rtriangle":
550
+ e.moveTo(n, r + a), e.lineTo(n + i, r + a), e.lineTo(n, r), e.closePath();
551
+ break;
552
+ case "triangle": {
553
+ let t = n + (o ?? 5e4) / 1e5 * i;
554
+ e.moveTo(t, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
555
+ break;
556
+ }
557
+ case "diamond":
558
+ e.moveTo(u, r), e.lineTo(n + i, m), e.lineTo(u, r + a), e.lineTo(n, m), e.closePath();
559
+ break;
560
+ case "parallelogram": {
561
+ let t = i * Math.min(.5, (o ?? 25e3) / 1e5);
562
+ e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
563
+ break;
564
+ }
565
+ case "trapezoid": {
566
+ let t = Math.min(i, a), s = Math.min(i / 2, (o ?? 25e3) / 1e5 * t);
567
+ e.moveTo(n + s, r), e.lineTo(n + i - s, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
568
+ break;
569
+ }
570
+ case "roundrect":
571
+ case "roundrectangle": {
572
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
573
+ e.roundRect(n, r, i, a, t);
574
+ break;
575
+ }
576
+ case "pentagon":
577
+ f(e, u, m, i / 2, a / 2, 5);
578
+ break;
579
+ case "hexagon":
580
+ f(e, u, m, i / 2, a / 2, 6, 0);
581
+ break;
582
+ case "heptagon":
583
+ f(e, u, m, i / 2, a / 2, 7);
584
+ break;
585
+ case "octagon":
586
+ f(e, u, m, i / 2, a / 2, 8, -Math.PI / 8);
587
+ break;
588
+ case "decagon":
589
+ f(e, u, m, i / 2, a / 2, 10);
590
+ break;
591
+ case "dodecagon":
592
+ f(e, u, m, i / 2, a / 2, 12);
593
+ break;
594
+ case "star4":
595
+ d(e, u, m, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
596
+ break;
597
+ case "star5":
598
+ case "star":
599
+ d(e, u, m, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
600
+ break;
601
+ case "star6":
602
+ d(e, u, m, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
603
+ break;
604
+ case "star7":
605
+ d(e, u, m, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
606
+ break;
607
+ case "star8":
608
+ d(e, u, m, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
609
+ break;
610
+ case "star10":
611
+ d(e, u, m, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
612
+ break;
613
+ case "star12":
614
+ d(e, u, m, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
615
+ break;
616
+ case "star16":
617
+ d(e, u, m, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
618
+ break;
619
+ case "star24":
620
+ d(e, u, m, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
621
+ break;
622
+ case "star32":
623
+ d(e, u, m, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
624
+ break;
625
+ case "rightarrow": {
626
+ let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
627
+ e.moveTo(n, l), e.lineTo(n + i - c, l), e.lineTo(n + i - c, r), e.lineTo(n + i, m), e.lineTo(n + i - c, r + a), e.lineTo(n + i - c, l + t), e.lineTo(n, l + t), e.closePath();
628
+ break;
629
+ }
630
+ case "leftarrow": {
631
+ let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
632
+ e.moveTo(n + i, l), e.lineTo(n + c, l), e.lineTo(n + c, r), e.lineTo(n, m), e.lineTo(n + c, r + a), e.lineTo(n + c, l + t), e.lineTo(n + i, l + t), e.closePath();
633
+ break;
634
+ }
635
+ case "uparrow": {
636
+ let t = i * Math.min(1, (o ?? 5e4) / 1e5), c = a * Math.min(1, (s ?? 5e4) / 1e5), l = n + (i - t) / 2;
637
+ e.moveTo(u, r), e.lineTo(n + i, r + c), e.lineTo(l + t, r + c), e.lineTo(l + t, r + a), e.lineTo(l, r + a), e.lineTo(l, r + c), e.lineTo(n, r + c), e.closePath();
638
+ break;
639
+ }
640
+ case "downarrow": {
641
+ let t = i * Math.min(1, (o ?? 5e4) / 1e5), c = a * Math.min(1, (s ?? 5e4) / 1e5), l = n + (i - t) / 2;
642
+ e.moveTo(u, r + a), e.lineTo(n + i, r + a - c), e.lineTo(l + t, r + a - c), e.lineTo(l + t, r), e.lineTo(l, r), e.lineTo(l, r + a - c), e.lineTo(n, r + a - c), e.closePath();
643
+ break;
644
+ }
645
+ case "leftrightarrow": {
646
+ let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(.5, (s ?? 25e3) / 1e5), l = r + (a - t) / 2;
647
+ e.moveTo(n, m), e.lineTo(n + c, r), e.lineTo(n + c, l), e.lineTo(n + i - c, l), e.lineTo(n + i - c, r), e.lineTo(n + i, m), e.lineTo(n + i - c, r + a), e.lineTo(n + i - c, l + t), e.lineTo(n + c, l + t), e.lineTo(n + c, r + a), e.closePath();
648
+ break;
649
+ }
650
+ case "updownarrow": {
651
+ let t = i * Math.min(1, (o ?? 5e4) / 1e5), c = a * Math.min(.5, (s ?? 25e3) / 1e5), l = n + (i - t) / 2;
652
+ e.moveTo(u, r), e.lineTo(n + i, r + c), e.lineTo(l + t, r + c), e.lineTo(l + t, r + a - c), e.lineTo(n + i, r + a - c), e.lineTo(u, r + a), e.lineTo(n, r + a - c), e.lineTo(l, r + a - c), e.lineTo(l, r + c), e.lineTo(n, r + c), e.closePath();
653
+ break;
654
+ }
655
+ case "notchedrightarrow": {
656
+ let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 35e3) / 1e5), l = r + (a - t) / 2, u = c * .43;
657
+ e.moveTo(n, l), e.lineTo(n + i - c, l), e.lineTo(n + i - c, r), e.lineTo(n + i, m), e.lineTo(n + i - c, r + a), e.lineTo(n + i - c, l + t), e.lineTo(n, l + t), e.lineTo(n + u, m), e.closePath();
658
+ break;
659
+ }
660
+ case "chevron": {
661
+ let t = i * Math.min(1, Math.max(0, (o ?? 5e4) / 1e5));
662
+ e.moveTo(n, r), e.lineTo(n + t, r), e.lineTo(n + i, m), e.lineTo(n + t, r + a), e.lineTo(n, r + a), t > 0 && e.lineTo(n + t, m), e.closePath();
663
+ break;
664
+ }
665
+ case "homeplate": {
666
+ let t = a * .4;
667
+ e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.lineTo(u, r + a), e.lineTo(n, r + a - t), e.closePath();
668
+ break;
669
+ }
670
+ case "leftbracket": {
671
+ let t = Math.min(a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5, a / 2);
672
+ 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);
673
+ break;
674
+ }
675
+ case "rightbracket": {
676
+ let t = Math.min(a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5, a / 2);
677
+ 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);
678
+ break;
679
+ }
680
+ case "leftbrace": {
681
+ let t = m, o = i * .45;
682
+ 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);
683
+ break;
684
+ }
685
+ case "rightbrace": {
686
+ let t = m, o = i * .45;
687
+ 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);
688
+ break;
689
+ }
690
+ case "callout1":
691
+ case "callout2":
692
+ case "callout3":
693
+ case "bordercallout1":
694
+ case "bordercallout2":
695
+ case "bordercallout3":
696
+ case "accentcallout1":
697
+ case "accentcallout2":
698
+ case "accentcallout3":
699
+ case "accentbordercallout1":
700
+ case "accentbordercallout2":
701
+ case "accentbordercallout3": {
702
+ let u = (o === null ? 44150 : o) / 1e5, d = (s === null ? 98050 : s) / 1e5, f = (c === null ? 5e4 : c) / 1e5, p = (l === null ? 115e3 : l) / 1e5, m = n + Math.max(0, Math.min(1, u)) * i, h = r + Math.max(0, Math.min(1, d)) * a, g = n + f * i, _ = r + p * a;
703
+ if (e.rect(n, r, i, a), t.startsWith("accent")) {
704
+ let t = n + i * .08;
705
+ e.moveTo(t, r), e.lineTo(t, r + a);
706
+ }
707
+ e.moveTo(m, h), e.lineTo(g, _);
708
+ break;
709
+ }
710
+ case "wedgerectcallout": {
711
+ e.rect(n, r, i, a * .8);
712
+ let t = n + i * .2, o = r + a;
713
+ e.moveTo(n + i * .1, r + a * .8), e.lineTo(t, o), e.lineTo(n + i * .3, r + a * .8), e.closePath();
714
+ break;
715
+ }
716
+ case "wedgeellipsecallout": {
717
+ let t = (o ?? -2e4) / 1e5 * i, n = (s ?? 12e4) / 1e5 * a, r = u + t, c = m + n;
718
+ e.ellipse(u, m, i / 2, a / 2, 0, 0, Math.PI * 2);
719
+ let l = Math.atan2(n, t), d = Math.PI / 10, f = i / 2, p = a / 2, h = u + f * Math.cos(l - d), g = m + p * Math.sin(l - d), _ = u + f * Math.cos(l + d), v = m + p * Math.sin(l + d);
720
+ e.moveTo(h, g), e.lineTo(r, c), e.lineTo(_, v), e.closePath();
721
+ break;
722
+ }
723
+ case "cloudcallout": {
724
+ let t = Math.min(i, a) * .22, n = [
725
+ [u - i * .25, r + a * .35],
726
+ [u - i * .1, r + a * .15],
727
+ [u + i * .1, r + a * .1],
728
+ [u + i * .28, r + a * .2],
729
+ [u + i * .35, r + a * .4]
730
+ ];
731
+ e.moveTo(n[0][0] - t, n[0][1]);
732
+ for (let [r, i] of n) e.arc(r, i, t, Math.PI, 0);
733
+ e.arc(u, r + a * .65, i * .45, 0, Math.PI), e.closePath();
734
+ let c = u + (o ?? -2e4) / 1e5 * i, l = m + (s ?? 12e4) / 1e5 * a;
735
+ e.moveTo(u + i * .05, r + a * .8), e.arc(c, l, Math.min(i, a) * .07, 0, Math.PI * 2);
736
+ break;
737
+ }
738
+ case "line":
739
+ case "straightconnector1":
740
+ case "bentconnector2":
741
+ case "bentconnector3":
742
+ case "bentconnector4":
743
+ case "bentconnector5":
744
+ case "curvedconnector2":
745
+ case "curvedconnector3":
746
+ case "curvedconnector4":
747
+ case "curvedconnector5":
748
+ e.moveTo(n, r), e.lineTo(n + i, r + a);
749
+ break;
750
+ case "heart":
751
+ e.moveTo(u, r + a * .32), e.bezierCurveTo(u, r, n + i * .05, r, n, r + a * .3), e.bezierCurveTo(n, r + a * .68, u - i * .05, r + a * .78, u, r + a), e.bezierCurveTo(u + i * .05, r + a * .78, n + i, r + a * .68, n + i, r + a * .3), e.bezierCurveTo(n + i - i * .05, r, u, r, u, r + a * .32);
752
+ break;
753
+ case "donut": {
754
+ let t = i / 2, n = a / 2, r = Math.min(t, n) * (o ?? 25e3) / 1e5, s = t - r, c = n - r;
755
+ e.ellipse(u, m, t, n, 0, 0, Math.PI * 2, !1), e.moveTo(u + s, m), e.ellipse(u, m, s, c, 0, 0, Math.PI * 2, !0);
756
+ break;
757
+ }
758
+ case "nosmoking":
759
+ case "nosmokingsign": {
760
+ let t = (o ?? 18750) / 1e5, n = i / 2, r = a / 2, s = n * (1 - 2 * t), c = r * (1 - 2 * t);
761
+ e.ellipse(u, m, n, r, 0, 0, Math.PI * 2, !1), e.moveTo(u + s, m), e.ellipse(u, m, s, c, 0, 0, Math.PI * 2, !0), e.moveTo(u + s, m), e.ellipse(u, m, s, c, 0, 0, Math.PI / 2, !1), e.lineTo(u - s, m), e.ellipse(u, m, s, c, 0, Math.PI, 3 * Math.PI / 2, !1), e.closePath();
762
+ break;
763
+ }
764
+ case "pie":
765
+ case "pieWedge": {
766
+ let t = (o ?? 0) / 216e5 * Math.PI * 2, n = (s ?? 162e5) / 216e5 * Math.PI * 2;
767
+ e.moveTo(u, m), e.arc(u, m, Math.min(i, a) / 2, t, n), e.closePath();
768
+ break;
769
+ }
770
+ case "cloud": {
771
+ let t = a * .28;
772
+ 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();
773
+ break;
774
+ }
775
+ case "funnel":
776
+ e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(u + i * .15, r + a), e.lineTo(u - i * .15, r + a), e.closePath();
777
+ break;
778
+ case "smileyface": {
779
+ e.ellipse(u, m, i / 2, a / 2, 0, 0, Math.PI * 2), e.closePath();
780
+ let t = i * .05, n = a * .05, r = m - a * .12;
781
+ e.moveTo(u - i * .2 + t, r), e.ellipse(u - i * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(u + i * .2 + t, r), e.ellipse(u + i * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(u - i * .25, m + a * .05), e.quadraticCurveTo(u, m + a * .3, u + i * .25, m + a * .05);
782
+ break;
783
+ }
784
+ case "document":
785
+ case "foldedcorner": {
786
+ let t = Math.min(i, a) * .15;
787
+ 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);
788
+ break;
789
+ }
790
+ case "snip1rect": {
791
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
792
+ 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();
793
+ break;
794
+ }
795
+ case "snip2samerect": {
796
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
797
+ 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();
798
+ break;
799
+ }
800
+ case "snip2diagrect": {
801
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
802
+ 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();
803
+ break;
804
+ }
805
+ case "snipRoundRect":
806
+ case "sniproundrect": {
807
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
808
+ 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();
809
+ break;
810
+ }
811
+ case "round1rect": {
812
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
813
+ 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();
814
+ break;
815
+ }
816
+ case "round2samerect": {
817
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
818
+ 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), e.lineTo(n, r + a), e.lineTo(n, r + t), e.quadraticCurveTo(n, r, n + t, r), e.closePath();
819
+ break;
820
+ }
821
+ case "round2diagrect": {
822
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
823
+ e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.quadraticCurveTo(n + i, r + a, n + i - t, r + a), e.lineTo(n, r + a), e.lineTo(n, r + t), e.quadraticCurveTo(n, r, n + t, r), e.closePath();
824
+ break;
825
+ }
826
+ case "plaque": {
827
+ let t = Math.min(i, a) * .25;
828
+ 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();
829
+ break;
830
+ }
831
+ case "can": {
832
+ let t = a * .1;
833
+ e.ellipse(u, r + t, i / 2, t, 0, 0, Math.PI * 2), e.moveTo(n, r + t), e.lineTo(n, r + a - t), e.ellipse(u, r + a - t, i / 2, t, 0, Math.PI, 2 * Math.PI), e.lineTo(n + i, r + t);
834
+ break;
835
+ }
836
+ case "cube": {
837
+ let t = Math.min(i, a) * .2;
838
+ 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);
839
+ break;
840
+ }
841
+ case "bevel": {
842
+ let t = Math.min(i, a) * .1;
843
+ 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);
844
+ break;
845
+ }
846
+ case "halfframe": {
847
+ let t = Math.min(i, a) * .25;
848
+ 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();
849
+ break;
850
+ }
851
+ case "corner": {
852
+ let t = Math.min(i, a) * .25;
853
+ 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();
854
+ break;
855
+ }
856
+ case "irregularSeal1":
857
+ case "irregularseal1":
858
+ [
859
+ [10800, 5800],
860
+ [14522, 0],
861
+ [14155, 5325],
862
+ [18380, 4457],
863
+ [16702, 7315],
864
+ [21097, 8137],
865
+ [17607, 10475],
866
+ [21600, 13290],
867
+ [16837, 12942],
868
+ [18145, 18095],
869
+ [14020, 14457],
870
+ [13247, 19737],
871
+ [10532, 14935],
872
+ [8485, 21600],
873
+ [7715, 15627],
874
+ [4762, 17617],
875
+ [5667, 13937],
876
+ [135, 14587],
877
+ [3722, 11775],
878
+ [0, 8615],
879
+ [4627, 7617],
880
+ [370, 2295],
881
+ [7312, 6320],
882
+ [8352, 2295]
883
+ ].forEach(([t, o], s) => {
884
+ let c = n + i * t / 21600, l = r + a * o / 21600;
885
+ s === 0 ? e.moveTo(c, l) : e.lineTo(c, l);
886
+ }), e.closePath();
887
+ break;
888
+ case "irregularSeal2":
889
+ case "irregularseal2":
890
+ [
891
+ [11462, 4342],
892
+ [14790, 0],
893
+ [14525, 5777],
894
+ [18007, 3172],
895
+ [16380, 6532],
896
+ [21600, 6645],
897
+ [16985, 9402],
898
+ [18270, 11290],
899
+ [16380, 12310],
900
+ [18877, 15632],
901
+ [14640, 14350],
902
+ [14942, 17370],
903
+ [12180, 15935],
904
+ [11612, 18842],
905
+ [9872, 17370],
906
+ [8700, 19712],
907
+ [7527, 18125],
908
+ [4917, 21600],
909
+ [4805, 18240],
910
+ [1285, 17825],
911
+ [3330, 15370],
912
+ [0, 12877],
913
+ [3935, 11592],
914
+ [1172, 8270],
915
+ [5372, 7817],
916
+ [4502, 3625],
917
+ [8550, 6382],
918
+ [9722, 1887]
919
+ ].forEach(([t, o], s) => {
920
+ let c = n + i * t / 21600, l = r + a * o / 21600;
921
+ s === 0 ? e.moveTo(c, l) : e.lineTo(c, l);
922
+ }), e.closePath();
923
+ break;
924
+ case "flowchartalternateprocess":
925
+ case "flowchartprocess": {
926
+ let t = Math.min(i, a) * Math.min(5e4, Math.max(0, o ?? 16667)) / 1e5;
927
+ e.roundRect(n, r, i, a, [{
928
+ x: t,
929
+ y: t
930
+ }]);
931
+ break;
932
+ }
933
+ case "flowchartdecision":
934
+ e.moveTo(u, r), e.lineTo(n + i, m), e.lineTo(u, r + a), e.lineTo(n, m), e.closePath();
935
+ break;
936
+ case "flowchartterminator": {
937
+ let t = Math.min(i, a) / 2;
938
+ e.roundRect(n, r, i, a, [{
939
+ x: t,
940
+ y: t
941
+ }]);
942
+ break;
943
+ }
944
+ case "flowchartdocument": {
945
+ let t = a * .1;
946
+ 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();
947
+ break;
948
+ }
949
+ case "flowchartpredefinedprocess": {
950
+ let t = i * .1;
951
+ e.rect(n, r, i, a), e.moveTo(n + t, r), e.lineTo(n + t, r + a), e.moveTo(n + i - t, r), e.lineTo(n + i - t, r + a);
952
+ break;
953
+ }
954
+ case "flowchartsort":
955
+ e.moveTo(u, r), e.lineTo(n + i, m), e.lineTo(u, r + a), e.lineTo(n, m), e.closePath(), e.moveTo(n, m), e.lineTo(n + i, m);
956
+ break;
957
+ case "flowchartmanualinput": {
958
+ let t = a * .2;
959
+ e.moveTo(n, r + t), e.lineTo(n + i, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
960
+ break;
961
+ }
962
+ case "moon":
963
+ e.arc(u, m, Math.min(i, a) / 2, -Math.PI / 2, Math.PI / 2), e.arc(u - i * .2, m, Math.min(i, a) / 2, Math.PI / 2, -Math.PI / 2, !0), e.closePath();
964
+ break;
965
+ case "arc": {
966
+ let t = 216e5, n = (o ?? 162e5) / t * Math.PI * 2, r = (s ?? 54e5) / t * Math.PI * 2;
967
+ e.ellipse(u, m, i / 2, a / 2, 0, n, n + r, r < 0);
968
+ break;
969
+ }
970
+ case "mathequal": {
971
+ let t = Math.min(36745, Math.max(0, o ?? 23520)), n = 1e5 - 2 * t, r = Math.min(n, Math.max(0, s ?? 11760)), c = a * t / 1e5, l = a * r / 2e5, d = i * 73490 / 2e5, f = u - d, p = u + d, h = m - l, g = m + l, _ = h - c, v = g + c;
972
+ e.rect(f, _, p - f, h - _), e.rect(f, g, p - f, v - g);
973
+ break;
974
+ }
975
+ case "mathmultiply": {
976
+ 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;
977
+ 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();
978
+ break;
979
+ }
980
+ case "mathplus": {
981
+ let t = Math.min(73490, Math.max(0, o ?? 23520)), n = i * 73490 / 2e5, r = a * 73490 / 2e5, s = Math.min(i, a) * t / 2e5, c = u - n, l = u + n, d = m - r, f = m + r, p = u - s, h = u + s, g = m - s, _ = m + s;
982
+ e.moveTo(c, g), e.lineTo(p, g), e.lineTo(p, d), e.lineTo(h, d), e.lineTo(h, g), e.lineTo(l, g), e.lineTo(l, _), e.lineTo(h, _), e.lineTo(h, f), e.lineTo(p, f), e.lineTo(p, _), e.lineTo(c, _), e.closePath();
983
+ break;
984
+ }
985
+ case "mathminus": {
986
+ let t = Math.min(1e5, Math.max(0, o ?? 23520)), n = i * 73490 / 2e5, r = a * t / 2e5, s = u - n, c = u + n, l = m - r, d = m + r;
987
+ e.rect(s, l, c - s, d - l);
988
+ break;
989
+ }
990
+ case "mathdivide": {
991
+ let t = Math.min(36745, Math.max(1e3, o ?? 23520)), n = (73490 + -t) / 4, l = 36745 * i / a, d = Math.min(Math.min(n, l), Math.max(1e3, c ?? 11760)), f = 73490 + 4 * d - t, p = Math.min(f, Math.max(0, s ?? 5880)), h = a * t / 2e5, g = a * p / 1e5, _ = a * d / 1e5, v = i * 73490 / 2e5, y = m - h, b = m + h, x = y - (g + _) - _, S = r + a - x, C = u - v, w = u + v;
992
+ e.rect(C, y, w - C, b - y), e.moveTo(u + _, x + _), e.arc(u, x + _, _, 0, Math.PI * 2), e.moveTo(u + _, S - _), e.arc(u, S - _, _, 0, Math.PI * 2);
993
+ break;
994
+ }
995
+ case "quadarrow": {
996
+ let t = i * (o ?? 23e3) / 1e5, c = i * (s ?? 3e4) / 1e5, l = n + (i - t) / 2, d = r + (a - t) / 2;
997
+ e.moveTo(u, r), e.lineTo(n + i - c, r + c), e.lineTo(n + i - c, d), e.lineTo(l + t, d), e.lineTo(l + t, r + c), e.lineTo(n + c, r + c), e.lineTo(n + i, m), e.lineTo(n + i - c, r + a - c), e.lineTo(l + t, r + a - c), e.lineTo(l + t, d + t), e.lineTo(n + i - c, d + t), e.lineTo(n + i - c, r + a - c), e.lineTo(u, r + a), e.lineTo(n + c, r + a - c), e.lineTo(n + c, d + t), e.lineTo(l, d + t), e.lineTo(l, r + a - c), e.lineTo(n, m), e.lineTo(n + c, r + c), e.lineTo(l, r + c), e.lineTo(l, d), e.lineTo(n + c, d), e.closePath();
998
+ break;
999
+ }
1000
+ case "quadarrowcallout": {
1001
+ let t = Math.min(i, a), d = Math.min(5e4, Math.max(0, s ?? 18515)), f = d * 2, p = Math.min(f, Math.max(0, o ?? 18515)), h = 5e4 - d, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(p, l ?? 48123)), y = t * d / 1e5, b = t * p / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = m - C, M = m + C, N = m - y, P = m + y, F = m - b, I = m + b, L = r + a - x;
1002
+ e.moveTo(n, m), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, m), e.lineTo(A, P), e.lineTo(A, I), e.lineTo(T, I), e.lineTo(T, M), e.lineTo(k, M), e.lineTo(k, L), e.lineTo(D, L), e.lineTo(u, r + a), e.lineTo(E, L), e.lineTo(O, L), e.lineTo(O, M), e.lineTo(w, M), e.lineTo(w, I), e.lineTo(n + x, I), e.lineTo(n + x, P), e.closePath();
1003
+ break;
1004
+ }
1005
+ case "wave": {
1006
+ let t = a * (o ?? 12500) / 1e5, s = r + t, c = r + a - t;
1007
+ 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();
1008
+ break;
1009
+ }
1010
+ case "doublewave": {
1011
+ let t = a * (o ?? 6250) / 1e5, s = r + t, c = r + a - t;
1012
+ 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();
1013
+ break;
1014
+ }
1015
+ case "sun": {
1016
+ let t = Math.min(i, a) / 2, n = t * ((o ?? 25e3) / 1e5 + .5), r = Math.min(n, t * .9), s = Math.PI / 16;
1017
+ for (let n = 0; n < 8; n++) {
1018
+ let i = n / 8 * Math.PI * 2;
1019
+ e.moveTo(u + r * Math.cos(i - s), m + r * Math.sin(i - s)), e.lineTo(u + t * Math.cos(i), m + t * Math.sin(i)), e.lineTo(u + r * Math.cos(i + s), m + r * Math.sin(i + s)), e.closePath();
1020
+ }
1021
+ e.moveTo(u + r, m), e.arc(u, m, r, 0, Math.PI * 2);
1022
+ break;
1023
+ }
1024
+ case "lightningbolt":
1025
+ e.moveTo(u + i * .1, r), e.lineTo(n, m - a * .05), e.lineTo(u + i * .05, m - a * .05), e.lineTo(u - i * .1, r + a), e.lineTo(n + i, m + a * .05), e.lineTo(u - i * .05, m + a * .05), e.closePath();
1026
+ break;
1027
+ case "frame": {
1028
+ let t = Math.min(i, a) * (o ?? 12500) / 1e5;
1029
+ e.rect(n, r, i, a), e.rect(n + t, r + t, i - 2 * t, a - 2 * t);
1030
+ break;
1031
+ }
1032
+ case "bracketpair": {
1033
+ let t = a * Math.min(5e4, Math.max(0, o ?? 8333)) / 1e5;
1034
+ 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);
1035
+ break;
1036
+ }
1037
+ case "bracepair": {
1038
+ let t = i * .2;
1039
+ e.moveTo(n + i * .4, r), e.bezierCurveTo(n + i * .4 - t, r, n + i * .4 - t, m - a * .08, n, m), e.bezierCurveTo(n + i * .4 - t, m + 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, m - a * .08, n + i, m), e.bezierCurveTo(n + i * .6 + t, m + a * .08, n + i * .6 + t, r + a, n + i * .6, r + a);
1040
+ break;
1041
+ }
1042
+ case "chord": {
1043
+ let t = (o ?? 27e5) / 216e5 * Math.PI * 2, n = (s ?? 162e5) / 216e5 * Math.PI * 2;
1044
+ e.ellipse(u, m, i / 2, a / 2, 0, t, n), e.closePath();
1045
+ break;
1046
+ }
1047
+ case "blockarc": {
1048
+ let t = Math.min(i, a) / 2, n = o ?? 108e5, r = s ?? 0, l = t * (1 - (c ?? 25e3) / 1e5), d = n / 216e5 * Math.PI * 2, f = r / 216e5 * Math.PI * 2;
1049
+ e.arc(u, m, t, d, f, !1), e.arc(u, m, l, f, d, !0), e.closePath();
1050
+ break;
1051
+ }
1052
+ case "teardrop": {
1053
+ let t = Math.min(i, a) * .4, o = n + t, s = r + a - t;
1054
+ 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();
1055
+ break;
1056
+ }
1057
+ case "diagstripe": {
1058
+ let t = a * (o ?? 5e4) / 1e5 * i / a;
1059
+ e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
1060
+ break;
1061
+ }
1062
+ case "wedgeroundrectcallout": {
1063
+ let t = Math.min(i, a) * .1;
1064
+ 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();
1065
+ break;
1066
+ }
1067
+ case "rightarrowcallout": {
1068
+ let t = a * (o ?? 5e4) / 1e5, c = i * (s ?? 5e4) / 1e5, l = r + (a - t) / 2;
1069
+ e.rect(n, l, c, t), e.moveTo(n + c, r), e.lineTo(n + i, m), e.lineTo(n + c, r + a), e.closePath();
1070
+ break;
1071
+ }
1072
+ case "leftarrowcallout": {
1073
+ let t = a * (o ?? 5e4) / 1e5, c = i * (s ?? 5e4) / 1e5, l = r + (a - t) / 2;
1074
+ e.rect(n + i - c, l, c, t), e.moveTo(n + i - c, r), e.lineTo(n, m), e.lineTo(n + i - c, r + a), e.closePath();
1075
+ break;
1076
+ }
1077
+ case "uparrowcallout": {
1078
+ let t = i * (o ?? 5e4) / 1e5, c = a * (s ?? 5e4) / 1e5, l = n + (i - t) / 2;
1079
+ e.rect(l, r + c, t, a - c), e.moveTo(n, r + c), e.lineTo(u, r), e.lineTo(n + i, r + c), e.closePath();
1080
+ break;
1081
+ }
1082
+ case "downarrowcallout": {
1083
+ let t = i * (o ?? 5e4) / 1e5, c = a * (s ?? 5e4) / 1e5, l = n + (i - t) / 2;
1084
+ e.rect(l, r, t, a - c), e.moveTo(n, r + a - c), e.lineTo(u, r + a), e.lineTo(n + i, r + a - c), e.closePath();
1085
+ break;
1086
+ }
1087
+ case "leftrightarrowcallout": {
1088
+ let t = a * (o ?? 5e4) / 1e5, c = i * (s ?? 25e3) / 1e5, l = r + (a - t) / 2;
1089
+ e.rect(n + c, l, i - 2 * c, t), e.moveTo(n + c, r), e.lineTo(n, m), e.lineTo(n + c, r + a), e.closePath(), e.moveTo(n + i - c, r), e.lineTo(n + i, m), e.lineTo(n + i - c, r + a), e.closePath();
1090
+ break;
1091
+ }
1092
+ case "leftrightuparrow": {
1093
+ let t = i * (o ?? 25e3) / 1e5, c = a * (s ?? 3e4) / 1e5, l = n + (i - t) / 2;
1094
+ e.moveTo(u, r), e.lineTo(n + i, r + c), e.lineTo(l + t, r + c), e.lineTo(l + t, r + a), e.lineTo(l, r + a), e.lineTo(l, r + c), e.lineTo(n, r + c), e.closePath();
1095
+ break;
1096
+ }
1097
+ case "leftuparrow": {
1098
+ let t = Math.min(i, a), l = Math.min(5e4, Math.max(0, s ?? 25e3)), u = l * 2, d = Math.min(u, Math.max(0, o ?? 25e3)), f = 1e5 - u, p = t * Math.min(f, Math.max(0, c ?? 25e3)) / 1e5, m = t * l / 5e4, h = i - m, g = a - m, _ = t * l / 1e5, v = i - _, y = a - _, b = t * d / 2e5, x = v - b, S = v + b, C = y - b, w = y + b;
1099
+ e.moveTo(n, r + y), e.lineTo(n + p, r + g), e.lineTo(n + p, r + C), e.lineTo(n + x, r + C), e.lineTo(n + x, r + p), e.lineTo(n + h, r + p), e.lineTo(n + v, r), e.lineTo(n + i, r + p), e.lineTo(n + S, r + p), e.lineTo(n + S, r + w), e.lineTo(n + p, r + w), e.lineTo(n + p, r + a), e.closePath();
1100
+ break;
1101
+ }
1102
+ case "uturnarrow": {
1103
+ 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;
1104
+ 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();
1105
+ break;
1106
+ }
1107
+ case "bentarrow":
1108
+ case "bentuparrow": {
1109
+ let t = Math.min(i, a) * .25;
1110
+ e.moveTo(n, m - t / 2), e.lineTo(n + i - t * 2, m - t / 2), e.lineTo(n + i - t * 2, r + t), e.lineTo(n + i, m), e.lineTo(n + i - t * 2, r + a - t), e.lineTo(n + i - t * 2, m + t / 2), e.lineTo(n, m + t / 2), e.closePath();
1111
+ break;
1112
+ }
1113
+ case "plus": {
1114
+ let t = Math.min(i, a) * (o ?? 25e3) / 1e5;
1115
+ e.rect(u - t, r, 2 * t, a), e.rect(n, m - t, i, 2 * t);
1116
+ break;
1117
+ }
1118
+ case "mathnotequal": {
1119
+ let t = Math.min(5e4, Math.max(0, o ?? 23520)), n = Math.min(66e5, Math.max(42e5, s ?? 66e5)), l = Math.min(1e5 - 2 * t, Math.max(0, c ?? 11760)), d = a * t / 1e5, f = a * l / 2e5, p = i * 73490 / 2e5, h = a / 2, g = (n / 6e4 - 90) * Math.PI / 180, _ = h * Math.tan(g), v = Math.hypot(_, h) * d / h;
1120
+ e.rect(u - p, m - f - d, 2 * p, d), e.rect(u - p, m + f, 2 * p, d), e.moveTo(u + _ - v / 2, r), e.lineTo(u + _ + v / 2, r), e.lineTo(u - _ + v / 2, r + a), e.lineTo(u - _ - v / 2, r + a), e.closePath();
1121
+ break;
1122
+ }
1123
+ case "flowchartconnector":
1124
+ e.ellipse(u, m, i / 2, a / 2, 0, 0, Math.PI * 2);
1125
+ break;
1126
+ case "flowchartdelay": {
1127
+ let t = a / 2;
1128
+ e.moveTo(n, r), e.lineTo(n + i - t, r), e.arc(n + i - t, m, t, -Math.PI / 2, Math.PI / 2), e.lineTo(n, r + a), e.closePath();
1129
+ break;
1130
+ }
1131
+ case "flowchartdisplay": {
1132
+ let t = i * .2, o = i * .15;
1133
+ e.moveTo(n + t, r), e.lineTo(n + i - o, r), e.arc(n + i - o, m, a / 2, -Math.PI / 2, Math.PI / 2), e.lineTo(n + t, r + a), e.lineTo(n, m), e.closePath();
1134
+ break;
1135
+ }
1136
+ case "flowchartinputoutput":
1137
+ case "flowchartpunchedcard": {
1138
+ let t = i * .2;
1139
+ e.moveTo(n + t, r), e.lineTo(n + i, r), e.lineTo(n + i - t, r + a), e.lineTo(n, r + a), e.closePath();
1140
+ break;
1141
+ }
1142
+ case "flowchartmerge":
1143
+ e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(u, r + a), e.closePath();
1144
+ break;
1145
+ case "flowchartextract":
1146
+ e.moveTo(u, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
1147
+ break;
1148
+ case "flowchartoffpageconnector": {
1149
+ let t = a * .3;
1150
+ e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n + i, r + a - t), e.lineTo(u, r + a), e.lineTo(n, r + a - t), e.closePath();
1151
+ break;
1152
+ }
1153
+ case "flowchartonlinestorage":
1154
+ case "flowchartmanuallabel":
1155
+ case "flowchartpuncheddisk":
1156
+ e.rect(n, r, i, a);
1157
+ break;
1158
+ case "horizontalscroll": {
1159
+ let t = Math.min(i, a) * .15;
1160
+ 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);
1161
+ break;
1162
+ }
1163
+ case "verticalscroll": {
1164
+ let t = Math.min(i, a) * .15;
1165
+ 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);
1166
+ break;
1167
+ }
1168
+ case "ribbon": {
1169
+ let t = Math.min(33333, Math.max(0, o ?? 16667)), c = i * Math.min(75e3, Math.max(25e3, s ?? 5e4)) / 2e5, l = i / 8, u = i / 32, d = i / 2 - c, f = i / 2 + c, 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;
1170
+ 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();
1171
+ break;
1172
+ }
1173
+ case "ribbon2": {
1174
+ let t = Math.min(33333, Math.max(0, o ?? 16667)), c = i * Math.min(75e3, Math.max(25e3, s ?? 5e4)) / 2e5, l = i / 8, u = i / 32, d = i / 2 - c, f = i / 2 + c, 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;
1175
+ 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();
1176
+ break;
1177
+ }
1178
+ case "ellipseribbon": {
1179
+ let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = 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;
1180
+ 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();
1181
+ break;
1182
+ }
1183
+ case "ellipseribbon2": {
1184
+ let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), I = m / 2, L = a - (b * I + M), R = i - I, z = a - (A + M);
1185
+ 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();
1186
+ break;
1187
+ }
1188
+ case "circulararrow": {
1189
+ let t = (s ?? 0) / 6e4 * Math.PI / 180, n = (o ?? 162e5) / 6e4 * Math.PI / 180, r = (c ?? 5e4) / 1e5, l = Math.min(i, a) / 2, d = l * (1 - r), f = (l + d) / 2, p = l - d, h = t + n;
1190
+ e.arc(u, m, l, t, h, !1), e.arc(u, m, d, h, t, !0), e.closePath();
1191
+ let g = Math.sin(h), _ = -Math.cos(h), v = p * 1.5, y = u + f * Math.cos(h) + v * g, b = m + f * Math.sin(h) + v * _;
1192
+ e.moveTo(y, b), e.lineTo(u + l * Math.cos(h), m + l * Math.sin(h)), e.lineTo(u + d * Math.cos(h), m + d * Math.sin(h)), e.closePath();
1193
+ break;
1194
+ }
1195
+ case "curvedrightarrow": {
1196
+ let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, m = t * d / 1e5, h = l - (f + m) / 4, g = (2 * h) ** 2 - f ** 2, _ = 1e5 * (Math.sqrt(Math.max(0, g)) * i / (2 * h)) / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * h / i, b = h + f, x = h + y, S = b + y, C = (m - f) / 2, w = x - C, T = S + C, E = a - m / 2, D = i - v, O = Math.atan2(v, y), k = -O, A = Math.PI - O;
1197
+ e.moveTo(n, r + h), p(e, n, r + h, i, h, Math.PI, k), e.lineTo(n + D, r + w), e.lineTo(n + i, r + E), e.lineTo(n + D, r + T), e.lineTo(n + D, r + S), p(e, n + D, r + S, i, h, A, O), e.closePath();
1198
+ break;
1199
+ }
1200
+ case "curvedleftarrow": {
1201
+ let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, m = t * d / 1e5, h = l - (f + m) / 4, g = (2 * h) ** 2 - f ** 2, _ = Math.sqrt(Math.max(0, g)) * i / (2 * h), v = 1e5 * _ / t, y = t * Math.min(v, Math.max(0, c ?? 25e3)) / 1e5, b = Math.sqrt(Math.max(0, i * i - y * y)) * h / i, x = h + f, S = h + b, C = x + b, w = (m - f) / 2, T = S - w, E = C + w, D = a - m / 2, O = y, k = Math.atan2(y, b), A = f / 2, j = Math.atan2(A, _), M = j - k, N = k - j, P = -j;
1202
+ e.moveTo(n, r + D), e.lineTo(n + O, r + T), e.lineTo(n + O, r + S);
1203
+ let F = p(e, n + O, r + S, i, h, k, M);
1204
+ p(e, F.x, F.y, i, h, P, N), e.lineTo(n + O, r + E), e.closePath();
1205
+ break;
1206
+ }
1207
+ case "curveduparrow": {
1208
+ let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, m = t * d / 1e5, h = l - (f + m) / 4, g = (2 * h) ** 2 - f ** 2, _ = Math.sqrt(Math.max(0, g)) * a / (2 * h), v = 1e5 * _ / t, y = t * Math.min(v, Math.max(0, c ?? 25e3)) / 1e5, b = Math.sqrt(Math.max(0, a * a - y * y)) * h / a, x = h + f, S = h + b, C = x + b, w = (m - f) / 2, T = S - w, E = C + w, D = i - m / 2, O = y, k = Math.atan2(y, b), A = f / 2, j = Math.atan2(A, _), M = j - k, N = k - j, P = Math.PI / 2 - k, F = Math.PI / 2 - j;
1209
+ e.moveTo(n + D, r), e.lineTo(n + E, r + O), e.lineTo(n + C, r + O);
1210
+ let I = p(e, n + C, r + O, h, a, P, N);
1211
+ p(e, I.x, I.y, h, a, F, M), e.lineTo(n + T, r + O), e.closePath();
1212
+ break;
1213
+ }
1214
+ case "curveddownarrow": {
1215
+ let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, m = t * d / 1e5, h = l - (f + m) / 4, g = (2 * h) ** 2 - f ** 2, _ = Math.sqrt(Math.max(0, g)) * a / (2 * h), v = 1e5 * _ / t, y = t * Math.min(v, Math.max(0, c ?? 25e3)) / 1e5, b = Math.sqrt(Math.max(0, a * a - y * y)) * h / a, x = h + f, S = h + b, C = x + b, w = (m - f) / 2, T = S - w, E = C + w, D = i - m / 2, O = a - y, k = Math.atan2(y, b), A = f / 2, j = Math.atan2(A, _), M = 3 * Math.PI / 2 + k;
1216
+ 3 * Math.PI / 2 - j, j - Math.PI / 2, Math.PI / 2 - j, e.moveTo(n + D, r + a), e.lineTo(n + T, r + O), e.lineTo(n + S, r + O), p(e, n + S, r + O, h, a, M, -k), e.lineTo(n + x, r), p(e, n + x, r, h, a, 3 * Math.PI / 2, k), e.lineTo(n + E, r + O), e.closePath();
1217
+ break;
1218
+ }
1219
+ case "stripedrightarrow": {
1220
+ let t = Math.min(i, a), c = t / 32, l = t / 16, u = t / 8, d = t * (o ?? 5e4) / 1e5, f = i * (s ?? 5e4) / 1e5, p = m - d / 2, h = m + d / 2, g = n + i - f;
1221
+ e.rect(n, p, c, d), e.rect(n + l, p, l, d), e.rect(n + u, p, u, d), e.moveTo(g, p), e.lineTo(g, r), e.lineTo(n + i, m), e.lineTo(g, r + a), e.lineTo(g, h), e.lineTo(n + u * 2, h), e.lineTo(n + u * 2, p), e.closePath();
1222
+ break;
1223
+ }
1224
+ case "flowchartpreparation": {
1225
+ let t = i * .2;
1226
+ e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.lineTo(n + i, m), e.lineTo(n + i - t, r + a), e.lineTo(n + t, r + a), e.lineTo(n, m), e.closePath();
1227
+ break;
1228
+ }
1229
+ case "flowchartcollate":
1230
+ e.moveTo(n, r), e.lineTo(n + i, r), e.lineTo(n, r + a), e.lineTo(n + i, r + a), e.closePath();
1231
+ break;
1232
+ case "flowchartmagneticdisk": {
1233
+ let t = a * .15;
1234
+ e.moveTo(n, r + t), e.ellipse(u, r + t, i / 2, t, 0, Math.PI, 0), e.lineTo(n + i, r + a - t), e.ellipse(u, 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(u, r + t, i / 2, t, 0, 0, Math.PI);
1235
+ break;
1236
+ }
1237
+ case "flowchartinternalstorage": {
1238
+ e.rect(n, r, i, a);
1239
+ let t = i * .15, o = a * .15;
1240
+ e.moveTo(n + t, r), e.lineTo(n + t, r + a), e.moveTo(n, r + o), e.lineTo(n + i, r + o);
1241
+ break;
1242
+ }
1243
+ case "flowchartmagneticdrum": {
1244
+ let t = i * .15;
1245
+ 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, m, t, a / 2, 0, Math.PI / 2, -Math.PI / 2, !0), e.closePath(), e.moveTo(n + i, r), e.ellipse(n + i, m, t, a / 2, 0, -Math.PI / 2, Math.PI / 2);
1246
+ break;
1247
+ }
1248
+ case "flowchartsumingjunction":
1249
+ case "flowchartsummingjunction": {
1250
+ e.ellipse(u, m, i / 2, a / 2, 0, 0, Math.PI * 2);
1251
+ let t = Math.min(i, a) / 2 * .65;
1252
+ e.moveTo(u - t, m - t), e.lineTo(u + t, m + t), e.moveTo(u + t, m - t), e.lineTo(u - t, m + t);
1253
+ break;
1254
+ }
1255
+ case "flowchartmagnetictape": {
1256
+ let t = Math.min(i, a) / 2, n = u + t * .5;
1257
+ e.moveTo(u, r + a), e.arc(u, m, t, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), e.lineTo(n, m + t * .5), e.lineTo(n, r + a), e.closePath();
1258
+ break;
1259
+ }
1260
+ case "flowchartpunchedtape": {
1261
+ let t = a * .12;
1262
+ 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);
1263
+ break;
1264
+ }
1265
+ case "flowchartmanualoperation": {
1266
+ let t = i * .15;
1267
+ e.moveTo(n + t, r), e.lineTo(n + i - t, r), e.lineTo(n + i, r + a), e.lineTo(n, r + a), e.closePath();
1268
+ break;
1269
+ }
1270
+ case "flowchartmultidocument": {
1271
+ let t = a * .1, o = i * .04;
1272
+ 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();
1273
+ break;
1274
+ }
1275
+ case "rttriangle":
1276
+ e.moveTo(n, r), e.lineTo(n, r + a), e.lineTo(n + i, r + a), e.closePath();
1277
+ break;
1278
+ default:
1279
+ e.rect(n, r, i, a);
1280
+ break;
1281
+ }
1282
+ }
1283
+ //#endregion
1284
+ export { e as a, o as i, u as n, a as r, m as t };